diff options
233 files changed, 29615 insertions, 6 deletions
diff --git a/meta-oe/classes/gitpkgv.bbclass b/meta-oe/classes/gitpkgv.bbclass new file mode 100644 index 000000000..bedceb9d6 --- /dev/null +++ b/meta-oe/classes/gitpkgv.bbclass | |||
@@ -0,0 +1,84 @@ | |||
1 | # gitpkgv.bbclass provides a GITPKGV and GITPKGVTAG variables to be | ||
2 | # used in PKGV, as described bellow: | ||
3 | # | ||
4 | # - GITPKGV which is a sortable version with the format NN+GITHASH, to | ||
5 | # be used in PKGV, where | ||
6 | # | ||
7 | # NN equals the total number of revs up to SRCREV | ||
8 | # GITHASH is SRCREV's (full) hash | ||
9 | # | ||
10 | # - GITPKGVTAG which is the output of 'git describe' allowing for | ||
11 | # automatic versioning | ||
12 | # | ||
13 | # gitpkgv.bbclass assumes the git repository has been cloned, and | ||
14 | # contains SRCREV. So ${GITPKGV} and ${GITPKGVTAG} should never be | ||
15 | # used in PV, only in PKGV. It can handle SRCREV = ${AUTOREV}, as | ||
16 | # well as SRCREV = "<some fixed git hash>". | ||
17 | # | ||
18 | # WARNING: if upstream repository is always using consistent and | ||
19 | # sortable tag name scheme you can get sortable version including tag | ||
20 | # name with ${GITPKGVTAG}, but be aware that ie tag sequence "v1.0, | ||
21 | # v1.2, xtest, v2.0" will force you to increment PE to get upgradeable | ||
22 | # path to v2.0 revisions | ||
23 | # | ||
24 | # use example: | ||
25 | # | ||
26 | # inherit gitpkgv | ||
27 | # | ||
28 | # PV = "1.0+gitr${SRCPV}" # expands to something like 1.0+gitr3+4c1c21d7dbbf93b0df336994524313dfe0d4963b | ||
29 | # PKGV = "1.0+gitr${GITPKGV}" # expands also to something like 1.0+gitr31337+4c1c21d7d | ||
30 | # | ||
31 | # or | ||
32 | # | ||
33 | # inherit gitpkgv | ||
34 | # | ||
35 | # PV = "1.0+gitr${SRCPV}" # expands to something like 1.0+gitr3+4c1c21d7dbbf93b0df336994524313dfe0d4963b | ||
36 | # PKGV = "${GITPKGVTAG}" # expands to something like 1.0-31337+g4c1c21d | ||
37 | # if there is tag v1.0 before this revision or | ||
38 | # ver1.0-31337+g4c1c21d if there is tag ver1.0 | ||
39 | |||
40 | GITPKGV = "${@get_git_pkgv(d, False)}" | ||
41 | GITPKGVTAG = "${@get_git_pkgv(d, True)}" | ||
42 | |||
43 | def gitpkgv_drop_tag_prefix(version): | ||
44 | import re | ||
45 | if re.match("v\d", version): | ||
46 | return version[1:] | ||
47 | else: | ||
48 | return version | ||
49 | |||
50 | def get_git_pkgv(d, use_tags): | ||
51 | import os | ||
52 | import bb | ||
53 | |||
54 | urls = bb.data.getVar('SRC_URI', d, 1).split() | ||
55 | |||
56 | for url in urls: | ||
57 | (type, host, path, user, pswd, parm) = bb.decodeurl(bb.data.expand(url, d)) | ||
58 | if type in ['git']: | ||
59 | |||
60 | gitsrcname = '%s%s' % (host, path.replace('/', '.')) | ||
61 | repodir = os.path.join(bb.data.expand('${GITDIR}', d), gitsrcname) | ||
62 | if not os.path.exists(repodir): | ||
63 | return None | ||
64 | |||
65 | rev = bb.fetch.get_srcrev(d).split('+')[1] | ||
66 | |||
67 | cwd = os.getcwd() | ||
68 | os.chdir(repodir) | ||
69 | |||
70 | commits = bb.fetch.runfetchcmd("git rev-list %s -- 2> /dev/null | wc -l" % rev, d, quiet=True).strip() | ||
71 | |||
72 | if use_tags: | ||
73 | try: | ||
74 | ver = gitpkgv_drop_tag_prefix(bb.fetch.runfetchcmd("git describe %s 2>/dev/null" % rev, d, quiet=True).strip()) | ||
75 | except Exception: | ||
76 | ver = "0.0-%s-g%s" % (commits, rev[:7]) | ||
77 | else: | ||
78 | ver = "%s+%s" % (commits, rev[:7]) | ||
79 | |||
80 | os.chdir(cwd) | ||
81 | |||
82 | return ver | ||
83 | |||
84 | return "0+0" | ||
diff --git a/meta-oe/classes/gitver.bbclass b/meta-oe/classes/gitver.bbclass new file mode 100644 index 000000000..ee8323d6f --- /dev/null +++ b/meta-oe/classes/gitver.bbclass | |||
@@ -0,0 +1,80 @@ | |||
1 | # Copyright (C) 2009 Chris Larson <clarson@kergoth.com> | ||
2 | # Released under the MIT license (see COPYING.MIT for the terms) | ||
3 | # | ||
4 | # gitver.bbclass provides a GITVER variable which is a (fairly) sane version, | ||
5 | # for use in ${PV}, extracted from the ${S} git checkout, assuming it is one. | ||
6 | # This is most useful in concert with srctree.bbclass. | ||
7 | |||
8 | def git_drop_tag_prefix(version): | ||
9 | import re | ||
10 | if re.match("v\d", version): | ||
11 | return version[1:] | ||
12 | else: | ||
13 | return version | ||
14 | |||
15 | GIT_TAGADJUST = "git_drop_tag_prefix(version)" | ||
16 | GITVER = "${@get_git_pv('${S}', d, tagadjust=lambda version:${GIT_TAGADJUST})}" | ||
17 | GITSHA = "${@get_git_hash('${S}', d)}" | ||
18 | |||
19 | def get_git_hash(path, d): | ||
20 | return oe_run(d, ["git", "rev-parse", "--short", "HEAD"], cwd=path).rstrip() | ||
21 | |||
22 | def get_git_pv(path, d, tagadjust=None): | ||
23 | import os | ||
24 | import oe.process | ||
25 | |||
26 | gitdir = os.path.abspath(os.path.join(d.getVar("S", True), ".git")) | ||
27 | def git(cmd): | ||
28 | try: | ||
29 | return oe_run(d, ["git"] + cmd, cwd=gitdir).rstrip() | ||
30 | except oe.process.CmdError, exc: | ||
31 | bb.fatal(str(exc)) | ||
32 | |||
33 | try: | ||
34 | ver = oe_run(d, ["git", "describe", "--tags"], cwd=gitdir).rstrip() | ||
35 | except Exception, exc: | ||
36 | bb.fatal(str(exc)) | ||
37 | |||
38 | if not ver: | ||
39 | try: | ||
40 | ver = get_git_hash(gitdir, d) | ||
41 | except Exception, exc: | ||
42 | bb.fatal(str(exc)) | ||
43 | |||
44 | if ver: | ||
45 | return "0.0+%s" % ver | ||
46 | else: | ||
47 | return "0.0" | ||
48 | else: | ||
49 | if tagadjust: | ||
50 | ver = tagadjust(ver) | ||
51 | return ver | ||
52 | |||
53 | def mark_recipe_dependencies(path, d): | ||
54 | from bb.parse import mark_dependency | ||
55 | |||
56 | gitdir = os.path.join(path, ".git") | ||
57 | |||
58 | # Force the recipe to be reparsed so the version gets bumped | ||
59 | # if the active branch is switched, or if the branch changes. | ||
60 | mark_dependency(d, os.path.join(gitdir, "HEAD")) | ||
61 | |||
62 | # Force a reparse if anything in the index changes. | ||
63 | mark_dependency(d, os.path.join(gitdir, "index")) | ||
64 | |||
65 | try: | ||
66 | ref = oe_run(d, ["git", "symbolic-ref", "-q", "HEAD"], cwd=gitdir).rstrip() | ||
67 | except oe.process.CmdError: | ||
68 | pass | ||
69 | else: | ||
70 | if ref: | ||
71 | mark_dependency(d, os.path.join(gitdir, ref)) | ||
72 | |||
73 | # Catch new tags. | ||
74 | tagdir = os.path.join(gitdir, "refs", "tags") | ||
75 | if os.path.exists(tagdir): | ||
76 | mark_dependency(d, tagdir) | ||
77 | |||
78 | python () { | ||
79 | mark_recipe_dependencies(d.getVar("S", True), d) | ||
80 | } | ||
diff --git a/meta-oe/classes/glx-use-tls.bbclass b/meta-oe/classes/glx-use-tls.bbclass new file mode 100644 index 000000000..7530872fa --- /dev/null +++ b/meta-oe/classes/glx-use-tls.bbclass | |||
@@ -0,0 +1,7 @@ | |||
1 | def get_tls_setting(bb, d): | ||
2 | # until we have no prober TLS support in uclibc disable it | ||
3 | if bb.data.getVar('TARGET_OS', d, 1).find('uclibc') >= 0 : | ||
4 | return "" | ||
5 | return "--enable-glx-tls" | ||
6 | |||
7 | EXTRA_OECONF += "${@get_tls_setting(bb, d)}" | ||
diff --git a/meta-oe/classes/gpe.bbclass b/meta-oe/classes/gpe.bbclass new file mode 100644 index 000000000..7e042ee93 --- /dev/null +++ b/meta-oe/classes/gpe.bbclass | |||
@@ -0,0 +1,17 @@ | |||
1 | DEPENDS_prepend = "virtual/libintl intltool-native " | ||
2 | GPE_TARBALL_SUFFIX ?= "gz" | ||
3 | SRC_URI = "${GPE_MIRROR}/${PN}-${PV}.tar.${GPE_TARBALL_SUFFIX}" | ||
4 | FILES_${PN} += "${datadir}/gpe ${datadir}/application-registry" | ||
5 | SECTION ?= "gpe" | ||
6 | |||
7 | inherit gettext | ||
8 | |||
9 | gpe_do_compile() { | ||
10 | oe_runmake PREFIX=${prefix} | ||
11 | } | ||
12 | |||
13 | gpe_do_install() { | ||
14 | oe_runmake PREFIX=${prefix} DESTDIR=${D} install | ||
15 | } | ||
16 | |||
17 | EXPORT_FUNCTIONS do_compile do_install | ||
diff --git a/meta-oe/classes/srctree.bbclass b/meta-oe/classes/srctree.bbclass new file mode 100644 index 000000000..1457e5618 --- /dev/null +++ b/meta-oe/classes/srctree.bbclass | |||
@@ -0,0 +1,123 @@ | |||
1 | # Copyright (C) 2009 Chris Larson <clarson@kergoth.com> | ||
2 | # Released under the MIT license (see COPYING.MIT for the terms) | ||
3 | # | ||
4 | # srctree.bbclass enables operation inside of an existing source tree for a | ||
5 | # project, rather than using the fetch/unpack/patch idiom. | ||
6 | # | ||
7 | # By default, it expects that you're keeping the recipe(s) inside the | ||
8 | # aforementioned source tree, but you could override S to point at an external | ||
9 | # directory and place the recipes in a normal collection/overlay, if you so | ||
10 | # chose. | ||
11 | # | ||
12 | # It also provides some convenience python functions for assembling your | ||
13 | # do_clean, if you want to leverage things like 'git clean' to simplify the | ||
14 | # operation. | ||
15 | |||
16 | |||
17 | # Grab convenience methods & sane default for do_clean | ||
18 | inherit clean | ||
19 | |||
20 | # Build here | ||
21 | S = "${FILE_DIRNAME}" | ||
22 | SRC_URI = "" | ||
23 | |||
24 | def remove_tasks(deltasks, d): | ||
25 | for task in filter(lambda k: d.getVarFlag(k, "task"), d.keys()): | ||
26 | deps = d.getVarFlag(task, "deps") | ||
27 | for preptask in deltasks: | ||
28 | if preptask in deps: | ||
29 | deps.remove(preptask) | ||
30 | d.setVarFlag(task, "deps", deps) | ||
31 | |||
32 | addtask configure after do_setscene | ||
33 | |||
34 | def merge_tasks(d): | ||
35 | """ | ||
36 | Merges all of the operations that occur prior to do_populate_sysroot | ||
37 | into do_populate_sysroot. | ||
38 | |||
39 | This is necessary because of recipe variants (normal, native, cross, | ||
40 | sdk). If a bitbake run happens to want to build more than one of | ||
41 | these variants in a single run, it's possible for them to step on one | ||
42 | another's toes, due to the shared ${S}. Interleaved | ||
43 | configure/compile/install amongst variants will break things badly. | ||
44 | """ | ||
45 | from itertools import chain | ||
46 | from bb import note | ||
47 | |||
48 | def __gather_taskdeps(task, seen): | ||
49 | for dep in d.getVarFlag(task, "deps"): | ||
50 | if not dep in seen: | ||
51 | __gather_taskdeps(dep, seen) | ||
52 | if not task in seen: | ||
53 | seen.append(task) | ||
54 | |||
55 | def gather_taskdeps(task): | ||
56 | items = [] | ||
57 | __gather_taskdeps(task, items) | ||
58 | return items | ||
59 | |||
60 | newtask = "do_populate_sysroot_post" | ||
61 | mergedtasks = gather_taskdeps(newtask) | ||
62 | mergedtasks.pop() | ||
63 | |||
64 | for task in (key for key in d.keys() | ||
65 | if d.getVarFlag(key, "task") and | ||
66 | not key in mergedtasks): | ||
67 | deps = d.getVarFlag(task, "deps") | ||
68 | for mergetask in mergedtasks: | ||
69 | if mergetask in (d.getVarFlag(task, "recrdeptask"), | ||
70 | d.getVarFlag(task, "recdeptask"), | ||
71 | d.getVarFlag(task, "deptask")): | ||
72 | continue | ||
73 | |||
74 | if mergetask in deps: | ||
75 | deps.remove(mergetask) | ||
76 | #note("removing dep on %s from %s" % (mergetask, task)) | ||
77 | |||
78 | if not newtask in deps: | ||
79 | #note("adding dep on %s to %s" % (newtask, task)) | ||
80 | deps.append(newtask) | ||
81 | d.setVarFlag(task, "deps", deps) | ||
82 | |||
83 | # Pull cross recipe task deps over | ||
84 | depends = [] | ||
85 | deptask = [] | ||
86 | for task in mergedtasks[:-1]: | ||
87 | depends.append(d.getVarFlag(task, "depends") or "") | ||
88 | deptask.append(d.getVarFlag(task, "deptask") or "") | ||
89 | |||
90 | d.setVarFlag("do_populate_sysroot_post", "depends", " ".join(depends)) | ||
91 | d.setVarFlag("do_populate_sysroot_post", "deptask", " ".join(deptask)) | ||
92 | |||
93 | python () { | ||
94 | remove_tasks(["do_patch", "do_unpack", "do_fetch"], d) | ||
95 | b = d.getVar("B", True) | ||
96 | if not b or b == d.getVar("S", True): | ||
97 | merge_tasks(d) | ||
98 | } | ||
99 | |||
100 | # Manually run do_install & all of its deps | ||
101 | python do_populate_sysroot_post () { | ||
102 | from os.path import exists | ||
103 | from bb.build import exec_func, make_stamp | ||
104 | from bb import note | ||
105 | |||
106 | stamp = d.getVar("STAMP", True) | ||
107 | |||
108 | def rec_exec_task(task, seen): | ||
109 | for dep in d.getVarFlag(task, "deps"): | ||
110 | if not dep in seen: | ||
111 | rec_exec_task(dep, seen) | ||
112 | seen.add(task) | ||
113 | if not exists("%s.%s" % (stamp, task)): | ||
114 | note("%s: executing task %s" % (d.getVar("PF", True), task)) | ||
115 | exec_func(task, d) | ||
116 | flags = d.getVarFlags(task) | ||
117 | if not flags.get('nostamp') and not flags.get('selfstamp'): | ||
118 | make_stamp(task, d) | ||
119 | |||
120 | rec_exec_task("do_populate_sysroot", set()) | ||
121 | } | ||
122 | addtask populate_sysroot_post after do_populate_sysroot | ||
123 | do_populate_sysroot_post[lockfiles] += "${S}/.lock" | ||
diff --git a/meta-oe/recipes-connectivity/bluez/bluez4.inc b/meta-oe/recipes-connectivity/bluez/bluez4.inc new file mode 100644 index 000000000..747ae77e6 --- /dev/null +++ b/meta-oe/recipes-connectivity/bluez/bluez4.inc | |||
@@ -0,0 +1,71 @@ | |||
1 | DESCRIPTION = "Linux Bluetooth Stack Userland V4" | ||
2 | HOMEPAGE = "http://www.bluez.org" | ||
3 | SECTION = "libs" | ||
4 | PRIORITY = "optional" | ||
5 | LICENSE = "GPLv2/LGPLv2.1" | ||
6 | LIC_FILES_CHKSUM = "file://COPYING;md5=12f884d2ae1ff87c09e5b7ccc2c4ca7e \ | ||
7 | file://COPYING.LIB;md5=fb504b67c50331fc78734fed90fb0e09 \ | ||
8 | " | ||
9 | DEPENDS = "gst-plugins-base alsa-lib virtual/libusb0 dbus-glib" | ||
10 | INC_PR = "r8" | ||
11 | |||
12 | # temporary solution until bug 5176 is properly fixed | ||
13 | PROVIDES += "bluez-utils bluez-libs bluez-utils-dbus" | ||
14 | RPROVIDES_bluez4 += "bluez-utils bluez-libs bluez-utils-dbus" | ||
15 | RPROVIDES_bluez4-dev = "bluez-libs-dev" | ||
16 | |||
17 | SRC_URI = "\ | ||
18 | http://www.kernel.org/pub/linux/bluetooth/bluez-${PV}.tar.gz \ | ||
19 | file://fix-dfutool-usb-declaration-mismatch.patch \ | ||
20 | file://bluetooth.conf \ | ||
21 | " | ||
22 | S = "${WORKDIR}/bluez-${PV}" | ||
23 | |||
24 | inherit autotools update-rc.d | ||
25 | |||
26 | EXTRA_OECONF = "\ | ||
27 | --enable-gstreamer \ | ||
28 | --enable-alsa \ | ||
29 | --enable-usb \ | ||
30 | --enable-netlink \ | ||
31 | --enable-tools \ | ||
32 | --enable-bccmd \ | ||
33 | --enable-hid2hci \ | ||
34 | --enable-dfutool \ | ||
35 | --enable-hidd \ | ||
36 | --enable-pand \ | ||
37 | --enable-dund \ | ||
38 | --disable-cups \ | ||
39 | --enable-test \ | ||
40 | --enable-manpages \ | ||
41 | --enable-configfiles \ | ||
42 | --enable-initscripts \ | ||
43 | --disable-pcmciarules \ | ||
44 | " | ||
45 | |||
46 | do_install_append() { | ||
47 | install -m 0644 ${S}/audio/audio.conf ${D}/${sysconfdir}/bluetooth/ | ||
48 | install -m 0644 ${S}/network/network.conf ${D}/${sysconfdir}/bluetooth/ | ||
49 | install -m 0644 ${S}/input/input.conf ${D}/${sysconfdir}/bluetooth/ | ||
50 | # at_console doesn't really work with the current state of OE, so punch some more holes so people can actually use BT | ||
51 | install -m 0644 ${WORKDIR}/bluetooth.conf ${D}/${sysconfdir}/dbus-1/system.d/ | ||
52 | } | ||
53 | |||
54 | INITSCRIPT_NAME = "bluetooth" | ||
55 | INITSCRIPT_PARAMS = "defaults 23 19" | ||
56 | |||
57 | PACKAGES =+ "gst-plugin-bluez libasound-module-bluez" | ||
58 | |||
59 | FILES_gst-plugin-bluez = "${libdir}/gstreamer-0.10/lib*.so" | ||
60 | FILES_libasound-module-bluez = "${libdir}/alsa-lib/lib*.so ${datadir}/alsa/bluetooth.conf" | ||
61 | FILES_${PN} += "${libdir}/bluetooth/plugins/*.so ${base_libdir}/udev" | ||
62 | FILES_${PN}-dev += "\ | ||
63 | ${libdir}/bluetooth/plugins/*.la \ | ||
64 | ${libdir}/alsa-lib/*.la \ | ||
65 | ${libdir}/gstreamer-0.10/*.la \ | ||
66 | " | ||
67 | |||
68 | FILES_${PN}-dbg += "\ | ||
69 | ${libdir}/bluetooth/plugins/.debug \ | ||
70 | ${libdir}/*/.debug \ | ||
71 | " | ||
diff --git a/meta-oe/recipes-connectivity/bluez/bluez4/bluetooth.conf b/meta-oe/recipes-connectivity/bluez/bluez4/bluetooth.conf new file mode 100644 index 000000000..ca5e9e4f2 --- /dev/null +++ b/meta-oe/recipes-connectivity/bluez/bluez4/bluetooth.conf | |||
@@ -0,0 +1,16 @@ | |||
1 | <!-- This configuration file specifies the required security policies | ||
2 | for Bluetooth core daemon to work. --> | ||
3 | |||
4 | <!DOCTYPE busconfig PUBLIC "-//freedesktop//DTD D-BUS Bus Configuration 1.0//EN" | ||
5 | "http://www.freedesktop.org/standards/dbus/1.0/busconfig.dtd"> | ||
6 | <busconfig> | ||
7 | |||
8 | <!-- ../system.conf have denied everything, so we just punch some holes --> | ||
9 | |||
10 | <policy context="default"> | ||
11 | <allow own="org.bluez"/> | ||
12 | <allow send_destination="org.bluez"/> | ||
13 | <allow send_interface="org.bluez.Agent"/> | ||
14 | </policy> | ||
15 | |||
16 | </busconfig> | ||
diff --git a/meta-oe/recipes-connectivity/bluez/bluez4/fix-dfutool-usb-declaration-mismatch.patch b/meta-oe/recipes-connectivity/bluez/bluez4/fix-dfutool-usb-declaration-mismatch.patch new file mode 100644 index 000000000..b1ee510e8 --- /dev/null +++ b/meta-oe/recipes-connectivity/bluez/bluez4/fix-dfutool-usb-declaration-mismatch.patch | |||
@@ -0,0 +1,13 @@ | |||
1 | Index: bluez-4.27/tools/dfutool.c | ||
2 | =================================================================== | ||
3 | --- bluez-4.27.orig/tools/dfutool.c | ||
4 | +++ bluez-4.27/tools/dfutool.c | ||
5 | @@ -59,7 +59,7 @@ | ||
6 | #endif | ||
7 | |||
8 | #ifdef NEED_USB_GET_BUSSES | ||
9 | -static inline struct usb_bus *usb_get_busses(void) | ||
10 | +inline struct usb_bus *usb_get_busses(void) | ||
11 | { | ||
12 | return usb_busses; | ||
13 | } | ||
diff --git a/meta-oe/recipes-connectivity/bluez/bluez4/hid2hci_usb_init.patch b/meta-oe/recipes-connectivity/bluez/bluez4/hid2hci_usb_init.patch new file mode 100644 index 000000000..ed15fd5a1 --- /dev/null +++ b/meta-oe/recipes-connectivity/bluez/bluez4/hid2hci_usb_init.patch | |||
@@ -0,0 +1,33 @@ | |||
1 | # Signed-off-by: Khem Raj <raj.khem@gmail.com> | ||
2 | # | ||
3 | # Use the new usb1 API for usb_init() and check for fails from | ||
4 | # usb_init (). Currently we see a crash on a system which does | ||
5 | # not have USB because usb_init() fails and it cleans up all initialized | ||
6 | # data (e.g. ctx) which is used in subsequent calls to libusb | ||
7 | # We return immediately if usb_init() fails for some reason. | ||
8 | |||
9 | Index: bluez-4.24/tools/hid2hci.c | ||
10 | =================================================================== | ||
11 | --- bluez-4.24.orig/tools/hid2hci.c 2008-10-25 23:40:34.000000000 -0700 | ||
12 | +++ bluez-4.24/tools/hid2hci.c 2008-12-29 22:06:04.000000000 -0800 | ||
13 | @@ -337,7 +337,7 @@ | ||
14 | int main(int argc, char *argv[]) | ||
15 | { | ||
16 | struct device_info dev[16]; | ||
17 | - int i, opt, num, quiet = 0, mode = HCI; | ||
18 | + int i, ret, opt, num, quiet = 0, mode = HCI; | ||
19 | |||
20 | while ((opt = getopt_long(argc, argv, "+01qh", main_options, NULL)) != -1) { | ||
21 | switch (opt) { | ||
22 | @@ -361,8 +361,9 @@ | ||
23 | argc -= optind; | ||
24 | argv += optind; | ||
25 | optind = 0; | ||
26 | - | ||
27 | - usb_init(); | ||
28 | + ret = libusb_init(); | ||
29 | + if (ret < 0) | ||
30 | + return ret; | ||
31 | |||
32 | num = find_devices(mode, dev, sizeof(dev) / sizeof(dev[0])); | ||
33 | if (num <= 0) { | ||
diff --git a/meta-oe/recipes-connectivity/bluez/bluez4/sbc-thumb.patch b/meta-oe/recipes-connectivity/bluez/bluez4/sbc-thumb.patch new file mode 100644 index 000000000..350542605 --- /dev/null +++ b/meta-oe/recipes-connectivity/bluez/bluez4/sbc-thumb.patch | |||
@@ -0,0 +1,11 @@ | |||
1 | --- bluez/sbc/sbc_math.h~ 2008-03-05 20:18:03.000000000 +0000 | ||
2 | +++ bluez/sbc/sbc_math.h 2008-10-27 13:39:27.000000000 +0000 | ||
3 | @@ -59,7 +59,7 @@ | ||
4 | |||
5 | #define SBC_FIXED_0(val) { val = 0; } | ||
6 | #define MUL(a, b) ((a) * (b)) | ||
7 | -#ifdef __arm__ | ||
8 | +#if defined(__arm__) && !defined(__thumb__) | ||
9 | #define MULA(a, b, res) ({ \ | ||
10 | int tmp = res; \ | ||
11 | __asm__( \ | ||
diff --git a/meta-oe/recipes-connectivity/bluez/bluez4_4.91.bb b/meta-oe/recipes-connectivity/bluez/bluez4_4.91.bb new file mode 100644 index 000000000..ebb2dab58 --- /dev/null +++ b/meta-oe/recipes-connectivity/bluez/bluez4_4.91.bb | |||
@@ -0,0 +1,15 @@ | |||
1 | require bluez4.inc | ||
2 | |||
3 | SRC_URI[md5sum] = "3059b7ef5168c84cd0c6a67034ce79f9" | ||
4 | SRC_URI[sha256sum] = "11e9279e2669db996afd464b96d2c68f41f157f6eb9b8842a0bbcad8a4eac18d" | ||
5 | |||
6 | DEPENDS += "libsndfile1" | ||
7 | |||
8 | PR = "${INC_PR}.0" | ||
9 | |||
10 | # Not all distros have a recent enough udev | ||
11 | BTUDEV = " --disable-udevrules" | ||
12 | BTUDEV_angstrom = " --enable-udevrules" | ||
13 | BTUDEV_shr = " --enable-udevrules" | ||
14 | |||
15 | EXTRA_OECONF += "${BTUDEV}" | ||
diff --git a/meta-oe/recipes-connectivity/connman/connman.inc b/meta-oe/recipes-connectivity/connman/connman.inc new file mode 100644 index 000000000..69f91b3a3 --- /dev/null +++ b/meta-oe/recipes-connectivity/connman/connman.inc | |||
@@ -0,0 +1,79 @@ | |||
1 | SUMMARY = "A daemon for managing internet connections within embedded devices" | ||
2 | DESCRIPTION = "The ConnMan project provides a daemon for managing \ | ||
3 | internet connections within embedded devices running the Linux \ | ||
4 | operating system. The Connection Manager is designed to be slim and \ | ||
5 | to use as few resources as possible, so it can be easily integrated. \ | ||
6 | It is a fully modular system that can be extended, through plug-ins, \ | ||
7 | to support all kinds of wired or wireless technologies. Also, \ | ||
8 | configuration methods, like DHCP and domain name resolving, are \ | ||
9 | implemented using plug-ins." | ||
10 | HOMEPAGE = "http://connman.net/" | ||
11 | BUGTRACKER = "http://bugs.meego.com/buglist.cgi?quicksearch=connman" | ||
12 | LICENSE = "GPLv2" | ||
13 | LIC_FILES_CHKSUM = "file://COPYING;md5=12f884d2ae1ff87c09e5b7ccc2c4ca7e \ | ||
14 | file://src/main.c;beginline=1;endline=20;md5=4b55b550fa6b33cc2055ef30dd262b3e" | ||
15 | |||
16 | # we need to define the depends here, the dynamic stuff is too late | ||
17 | DEPENDS = "libnl wpa-supplicant dbus glib-2.0 ppp busybox dhcp resolvconf bluez4" | ||
18 | |||
19 | EXTRA_OECONF += "\ | ||
20 | ac_cv_path_WPASUPPLICANT=/usr/sbin/wpa_supplicant \ | ||
21 | ac_cv_path_DHCLIENT=/sbin/dhclient \ | ||
22 | ac_cv_path_UDHCPC=/sbin/udhcpc \ | ||
23 | ac_cv_path_RESOLVCONF=/sbin/resolvconf \ | ||
24 | ac_cv_path_PPPD=/usr/sbin/pppd \ | ||
25 | " | ||
26 | |||
27 | INITSCRIPT_NAME = "connman" | ||
28 | INITSCRIPT_PARAMS = "start 05 5 2 . stop 22 0 1 6 ." | ||
29 | |||
30 | PARALLEL_MAKE = "" | ||
31 | |||
32 | inherit autotools pkgconfig update-rc.d | ||
33 | |||
34 | do_configure_append() { | ||
35 | ln -sf . include/connman | ||
36 | } | ||
37 | |||
38 | do_compile_append() { | ||
39 | sed -i -e s:deny:allow:g src/connman-dbus.conf | ||
40 | } | ||
41 | |||
42 | do_install_append() { | ||
43 | install -d ${D}${sysconfdir}/init.d | ||
44 | install -m 0755 ${WORKDIR}/connman ${D}${sysconfdir}/init.d/connman | ||
45 | } | ||
46 | |||
47 | python populate_packages_prepend() { | ||
48 | depmap = dict( pppd="ppp", udhcp="busybox connman-scripts", dhclient="dhcp-client", wifi="wpa-supplicant", resolvconf="resolvconf", bluetooth="bluez4" ) | ||
49 | packages = [] | ||
50 | hook = lambda file,pkg,b,c,d:packages.append((file,pkg)) | ||
51 | plugin_dir = bb.data.expand('${libdir}/connman/plugins/', d) | ||
52 | plugin_name = bb.data.expand('${PN}-plugin-%s', d) | ||
53 | do_split_packages(d, plugin_dir, '^(.*).so$', plugin_name, '${PN} plugin for %s', extra_depends='', hook=hook ) | ||
54 | for (file, package) in packages: | ||
55 | plugintype = package.split( '-' )[-1] | ||
56 | if plugintype in depmap: | ||
57 | rdepends = bb.data.getVar( "RDEPENDS_%s" % package, d ) | ||
58 | bb.note( "Adding rdependency on %s to package %s" % ( depmap[plugintype], package ) ) | ||
59 | bb.data.setVar("RDEPENDS_%s" % package, depmap[plugintype], d) | ||
60 | } | ||
61 | |||
62 | PACKAGES_DYNAMIC = "${PN}-plugin-*" | ||
63 | |||
64 | PACKAGES += "${PN}-scripts ${PN}-test-utils" | ||
65 | |||
66 | FILES_${PN} = "${bindir}/* ${sbindir}/* ${libexecdir}/* ${libdir}/lib*.so.* \ | ||
67 | ${sysconfdir} ${sharedstatedir} ${localstatedir} \ | ||
68 | ${base_bindir}/* ${base_sbindir}/* ${base_libdir}/*.so* ${datadir}/${PN} \ | ||
69 | ${datadir}/pixmaps ${datadir}/applications \ | ||
70 | ${datadir}/idl ${datadir}/omf ${datadir}/sounds \ | ||
71 | ${libdir}/bonobo/servers \ | ||
72 | ${datadir}/dbus-1/system-services/*" | ||
73 | |||
74 | FILES_${PN}-test-utils += "${libdir}/connman/test/*" | ||
75 | |||
76 | FILES_${PN}-scripts += "${libdir}/connman/scripts" | ||
77 | FILES_${PN}-dbg += "${libdir}/connman/*/.debug" | ||
78 | FILES_${PN}-dev += "${libdir}/connman/*/*.la" | ||
79 | |||
diff --git a/meta-oe/recipes-connectivity/connman/connman/connman b/meta-oe/recipes-connectivity/connman/connman/connman new file mode 100755 index 000000000..f8154f68f --- /dev/null +++ b/meta-oe/recipes-connectivity/connman/connman/connman | |||
@@ -0,0 +1,42 @@ | |||
1 | #!/bin/sh | ||
2 | |||
3 | DAEMON=/usr/sbin/connmand | ||
4 | PIDFILE=/var/run/connmand.pid | ||
5 | DESC="Connection Manager" | ||
6 | |||
7 | if [ -f /etc/default/connman ] ; then | ||
8 | . /etc/default/connman | ||
9 | fi | ||
10 | |||
11 | set -e | ||
12 | |||
13 | do_start() { | ||
14 | $DAEMON | ||
15 | } | ||
16 | |||
17 | do_stop() { | ||
18 | start-stop-daemon --stop --name connmand --quiet | ||
19 | } | ||
20 | |||
21 | case "$1" in | ||
22 | start) | ||
23 | echo "Starting $DESC" | ||
24 | do_start | ||
25 | ;; | ||
26 | stop) | ||
27 | echo "Stopping $DESC" | ||
28 | do_stop | ||
29 | ;; | ||
30 | restart|force-reload) | ||
31 | echo "Restarting $DESC" | ||
32 | do_stop | ||
33 | sleep 1 | ||
34 | do_start | ||
35 | ;; | ||
36 | *) | ||
37 | echo "Usage: $0 {start|stop|restart|force-reload}" >&2 | ||
38 | exit 1 | ||
39 | ;; | ||
40 | esac | ||
41 | |||
42 | exit 0 | ||
diff --git a/meta-oe/recipes-connectivity/connman/connman/link-against-libnl2.patch b/meta-oe/recipes-connectivity/connman/connman/link-against-libnl2.patch new file mode 100644 index 000000000..5be161820 --- /dev/null +++ b/meta-oe/recipes-connectivity/connman/connman/link-against-libnl2.patch | |||
@@ -0,0 +1,13 @@ | |||
1 | Index: connman-0.46/configure.ac | ||
2 | =================================================================== | ||
3 | --- connman-0.46.orig/configure.ac | ||
4 | +++ connman-0.46/configure.ac | ||
5 | @@ -326,7 +326,7 @@ | ||
6 | AC_ARG_ENABLE(tools, AC_HELP_STRING([--enable-tools], | ||
7 | [enable testing tools]), [enable_tools=${enableval}]) | ||
8 | if (test "${enable_tools}" = "yes"); then | ||
9 | - PKG_CHECK_MODULES(NETLINK, libnl-1, dummy=yes, | ||
10 | + PKG_CHECK_MODULES(NETLINK, libnl-2.0, dummy=yes, | ||
11 | AC_MSG_ERROR(Netlink library is required)) | ||
12 | AC_SUBST(NETLINK_CFLAGS) | ||
13 | AC_SUBST(NETLINK_LIBS) | ||
diff --git a/meta-oe/recipes-connectivity/connman/connman/shr/connman b/meta-oe/recipes-connectivity/connman/connman/shr/connman new file mode 100755 index 000000000..708b1b4cd --- /dev/null +++ b/meta-oe/recipes-connectivity/connman/connman/shr/connman | |||
@@ -0,0 +1,42 @@ | |||
1 | #!/bin/sh | ||
2 | |||
3 | DAEMON="/usr/sbin/connmand -I usb0" | ||
4 | PIDFILE=/var/run/connmand.pid | ||
5 | DESC="Connection Manager" | ||
6 | |||
7 | if [ -f /etc/default/connman ] ; then | ||
8 | . /etc/default/connman | ||
9 | fi | ||
10 | |||
11 | set -e | ||
12 | |||
13 | do_start() { | ||
14 | $DAEMON | ||
15 | } | ||
16 | |||
17 | do_stop() { | ||
18 | start-stop-daemon --stop --name connmand --quiet | ||
19 | } | ||
20 | |||
21 | case "$1" in | ||
22 | start) | ||
23 | echo "Starting $DESC" | ||
24 | do_start | ||
25 | ;; | ||
26 | stop) | ||
27 | echo "Stopping $DESC" | ||
28 | do_stop | ||
29 | ;; | ||
30 | restart|force-reload) | ||
31 | echo "Restarting $DESC" | ||
32 | do_stop | ||
33 | sleep 1 | ||
34 | do_start | ||
35 | ;; | ||
36 | *) | ||
37 | echo "Usage: $0 {start|stop|restart|force-reload}" >&2 | ||
38 | exit 1 | ||
39 | ;; | ||
40 | esac | ||
41 | |||
42 | exit 0 | ||
diff --git a/meta-oe/recipes-connectivity/connman/connman_0.72.bb b/meta-oe/recipes-connectivity/connman/connman_0.72.bb new file mode 100644 index 000000000..8eb1e147f --- /dev/null +++ b/meta-oe/recipes-connectivity/connman/connman_0.72.bb | |||
@@ -0,0 +1,31 @@ | |||
1 | require connman.inc | ||
2 | # connman requires libXtables now | ||
3 | DEPENDS += "iptables" | ||
4 | PR = "r0" | ||
5 | |||
6 | EXTRA_OECONF += "\ | ||
7 | --disable-gtk-doc \ | ||
8 | --enable-debug \ | ||
9 | --enable-threads \ | ||
10 | --enable-loopback \ | ||
11 | --enable-ethernet \ | ||
12 | --enable-wifi \ | ||
13 | --disable-wimax \ | ||
14 | --enable-bluetooth \ | ||
15 | --enable-ofono \ | ||
16 | --enable-resolvconf \ | ||
17 | --enable-dnsproxy \ | ||
18 | --enable-tools \ | ||
19 | --disable-polkit \ | ||
20 | --enable-client \ | ||
21 | --enable-fake \ | ||
22 | " | ||
23 | |||
24 | SRC_URI = "\ | ||
25 | http://www.kernel.org/pub/linux/network/connman/connman-${PV}.tar.gz \ | ||
26 | file://link-against-libnl2.patch \ | ||
27 | file://connman \ | ||
28 | " | ||
29 | |||
30 | SRC_URI[md5sum] = "800f9356e0471c88819eee7184713a1f" | ||
31 | SRC_URI[sha256sum] = "9c8ad312573683fc9f50d5042d4a87ddc8e0700b27ac1b0fb8dc2e8b7424a60f" | ||
diff --git a/meta-oe/recipes-connectivity/phonet-utils/phonet-utils_git.bb b/meta-oe/recipes-connectivity/phonet-utils/phonet-utils_git.bb new file mode 100644 index 000000000..257f0121a --- /dev/null +++ b/meta-oe/recipes-connectivity/phonet-utils/phonet-utils_git.bb | |||
@@ -0,0 +1,18 @@ | |||
1 | DESCRIPTION = "This small package provides a few command line tools for Linux Phonet" | ||
2 | HOMEPAGE = "" | ||
3 | LICENSE = "GPLv2" | ||
4 | LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe" | ||
5 | SRC_URI = "git://gitorious.org/meego-cellular/phonet-utils.git;branch=master;protocol=git" | ||
6 | PR = "r0" | ||
7 | S = "${WORKDIR}/git" | ||
8 | SRCREV = "4acfa720fd37d178a048fc2be17180137d4a70ea" | ||
9 | PV = "0.0.0+gitr${SRCPV}" | ||
10 | |||
11 | do_compile () { | ||
12 | make | ||
13 | } | ||
14 | |||
15 | do_install () { | ||
16 | DESTDIR=${D} oe_runmake install | ||
17 | } | ||
18 | |||
diff --git a/meta-oe/recipes-core/meta/distro-feed-configs.bb b/meta-oe/recipes-core/meta/distro-feed-configs.bb new file mode 100644 index 000000000..4da2b1441 --- /dev/null +++ b/meta-oe/recipes-core/meta/distro-feed-configs.bb | |||
@@ -0,0 +1,32 @@ | |||
1 | DESCRIPTION = "Configuration files for online package repositories aka feeds" | ||
2 | PR = "r1" | ||
3 | LICENSE = "MIT" | ||
4 | LIC_FILES_CHKSUM = "file://${TOPDIR}/meta-shr/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420" | ||
5 | |||
6 | DISTRO_FEED_PREFIX ?= "remote" | ||
7 | DISTRO_FEED_URI ?= "http://my-distribution.example/remote-feed/" | ||
8 | |||
9 | do_compile() { | ||
10 | mkdir -p ${S}/${sysconfdir}/opkg | ||
11 | for feed in all ${PACKAGE_EXTRA_ARCHS} ${MACHINE_ARCH}; do | ||
12 | echo "src/gz ${DISTRO_FEED_PREFIX}-${feed} ${DISTRO_FEED_URI}/${feed}" > ${S}/${sysconfdir}/opkg/${feed}-feed.conf | ||
13 | done | ||
14 | } | ||
15 | do_install () { | ||
16 | install -d ${D}${sysconfdir}/opkg | ||
17 | install -m 0644 ${S}/${sysconfdir}/opkg/* ${D}${sysconfdir}/opkg/ | ||
18 | } | ||
19 | |||
20 | PACKAGE_ARCH = "${MACHINE_ARCH}" | ||
21 | |||
22 | #def distro_feed_configs(d): | ||
23 | # import bb | ||
24 | # parchs = bb.data.getVar( "PACKAGE_EXTRA_ARCHS", d, 1 ).split() | ||
25 | # march = bb.data.getVar( "MACHINE_ARCH", d, 1 ).split() | ||
26 | # archs = [ "all" ] + parchs + march | ||
27 | # confs = [ ( "${sysconfdir}/opkg/%s-feed.conf" % feed ) for feed in archs ] | ||
28 | # return " ".join( confs ) | ||
29 | # | ||
30 | #CONFFILES_${PN} += '${@distro_feed_configs(d)}' | ||
31 | |||
32 | CONFFILES_${PN} += '${@ " ".join( [ ( "${sysconfdir}/opkg/%s-feed.conf" % feed ) for feed in "all ${PACKAGE_EXTRA_ARCHS} ${MACHINE_ARCH}".split() ] ) }' | ||
diff --git a/meta-oe/recipes-core/tasks/task-cli-tools.bb b/meta-oe/recipes-core/tasks/task-cli-tools.bb new file mode 100644 index 000000000..c271f711e --- /dev/null +++ b/meta-oe/recipes-core/tasks/task-cli-tools.bb | |||
@@ -0,0 +1,52 @@ | |||
1 | DESCRIPTION = "A set of useful command line tools" | ||
2 | DESCRIPTION_${PN}-debug = "A set of command line tools useful for debugging" | ||
3 | SECTION = "console" | ||
4 | LICENSE = "MIT" | ||
5 | LIC_FILES_CHKSUM = "file://${TOPDIR}/meta-shr/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420" | ||
6 | PV = "1.0" | ||
7 | PR = "r18" | ||
8 | |||
9 | inherit task | ||
10 | |||
11 | PACKAGES += "${PN}-debug" | ||
12 | |||
13 | def get_ltrace(bb, d): | ||
14 | if bb.data.getVar('TARGET_ARCH', d, 1) in [ 'sh4', 'sh3' ] : | ||
15 | return "" | ||
16 | return "ltrace" | ||
17 | |||
18 | RDEPENDS_${PN} = "\ | ||
19 | dbus-daemon-proxy \ | ||
20 | dosfstools \ | ||
21 | htop \ | ||
22 | iptables \ | ||
23 | lsof \ | ||
24 | mbuffer \ | ||
25 | mdbus2 \ | ||
26 | mtd-utils \ | ||
27 | mterm2 \ | ||
28 | nano \ | ||
29 | nfs-utils-client \ | ||
30 | nmon \ | ||
31 | powertop \ | ||
32 | screen \ | ||
33 | socat \ | ||
34 | sysstat \ | ||
35 | " | ||
36 | |||
37 | RDEPENDS_${PN}-debug = "\ | ||
38 | evtest \ | ||
39 | devmem2 \ | ||
40 | i2c-tools \ | ||
41 | gdb \ | ||
42 | ${@get_ltrace(bb, d)} \ | ||
43 | mkdump \ | ||
44 | mioctl \ | ||
45 | procps \ | ||
46 | pxaregs \ | ||
47 | s3c24xx-gpio \ | ||
48 | s3c64xx-gpio \ | ||
49 | serial-forward \ | ||
50 | strace \ | ||
51 | tcpdump \ | ||
52 | " | ||
diff --git a/meta-oe/recipes-core/tasks/task-x11.bb b/meta-oe/recipes-core/tasks/task-x11.bb new file mode 100644 index 000000000..208b16859 --- /dev/null +++ b/meta-oe/recipes-core/tasks/task-x11.bb | |||
@@ -0,0 +1,43 @@ | |||
1 | DESCRIPTION = "The X Window System -- install this task to get a client/server based display multiplexer." | ||
2 | SECTION = "x11/server" | ||
3 | LICENSE = "MIT" | ||
4 | LIC_FILES_CHKSUM = "file://${TOPDIR}/meta-shr/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420" | ||
5 | PV = "1.0" | ||
6 | PR = "r7" | ||
7 | |||
8 | # WORK IN PROGRESS | ||
9 | |||
10 | inherit task | ||
11 | |||
12 | PACKAGES += "\ | ||
13 | ${PN}-server \ | ||
14 | ${PN}-utils \ | ||
15 | " | ||
16 | |||
17 | RRECOMMENDS_${PN} = "\ | ||
18 | ${PN}-server \ | ||
19 | ${PN}-utils \ | ||
20 | " | ||
21 | |||
22 | # Some machines don't set a *runtime* provider for X, so default to Xfbdev here | ||
23 | # virtual/xserver won't work, since the kdrive recipes will build multiple xserver packages | ||
24 | XSERVER ?= "xserver-kdrive-fbdev" | ||
25 | XSERVER_COMMON ?= "xserver-kdrive-common" | ||
26 | XSERVER_COMMON_shr = "xserver-common" | ||
27 | |||
28 | # This is also the reason why we have to make this package machine specific :/ | ||
29 | PACKAGE_ARCH_${PN}-server = "${MACHINE_ARCH}" | ||
30 | |||
31 | RDEPENDS_${PN}-server = "\ | ||
32 | ${XSERVER} \ | ||
33 | " | ||
34 | |||
35 | RDEPENDS_${PN}-utils = "\ | ||
36 | ${XSERVER_COMMON} \ | ||
37 | xserver-nodm-init \ | ||
38 | xauth \ | ||
39 | xhost \ | ||
40 | xset \ | ||
41 | xrandr \ | ||
42 | " | ||
43 | |||
diff --git a/meta-oe/recipes-devtools/gdbus-binding-tool/gdbus-binding-tool/COPYING b/meta-oe/recipes-devtools/gdbus-binding-tool/gdbus-binding-tool/COPYING new file mode 100644 index 000000000..bf50f20de --- /dev/null +++ b/meta-oe/recipes-devtools/gdbus-binding-tool/gdbus-binding-tool/COPYING | |||
@@ -0,0 +1,482 @@ | |||
1 | GNU LIBRARY GENERAL PUBLIC LICENSE | ||
2 | Version 2, June 1991 | ||
3 | |||
4 | Copyright (C) 1991 Free Software Foundation, Inc. | ||
5 | 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA | ||
6 | Everyone is permitted to copy and distribute verbatim copies | ||
7 | of this license document, but changing it is not allowed. | ||
8 | |||
9 | [This is the first released version of the library GPL. It is | ||
10 | numbered 2 because it goes with version 2 of the ordinary GPL.] | ||
11 | |||
12 | Preamble | ||
13 | |||
14 | The licenses for most software are designed to take away your | ||
15 | freedom to share and change it. By contrast, the GNU General Public | ||
16 | Licenses are intended to guarantee your freedom to share and change | ||
17 | free software--to make sure the software is free for all its users. | ||
18 | |||
19 | This license, the Library General Public License, applies to some | ||
20 | specially designated Free Software Foundation software, and to any | ||
21 | other libraries whose authors decide to use it. You can use it for | ||
22 | your libraries, too. | ||
23 | |||
24 | When we speak of free software, we are referring to freedom, not | ||
25 | price. Our General Public Licenses are designed to make sure that you | ||
26 | have the freedom to distribute copies of free software (and charge for | ||
27 | this service if you wish), that you receive source code or can get it | ||
28 | if you want it, that you can change the software or use pieces of it | ||
29 | in new free programs; and that you know you can do these things. | ||
30 | |||
31 | To protect your rights, we need to make restrictions that forbid | ||
32 | anyone to deny you these rights or to ask you to surrender the rights. | ||
33 | These restrictions translate to certain responsibilities for you if | ||
34 | you distribute copies of the library, or if you modify it. | ||
35 | |||
36 | For example, if you distribute copies of the library, whether gratis | ||
37 | or for a fee, you must give the recipients all the rights that we gave | ||
38 | you. You must make sure that they, too, receive or can get the source | ||
39 | code. If you link a program with the library, you must provide | ||
40 | complete object files to the recipients so that they can relink them | ||
41 | with the library, after making changes to the library and recompiling | ||
42 | it. And you must show them these terms so they know their rights. | ||
43 | |||
44 | Our method of protecting your rights has two steps: (1) copyright | ||
45 | the library, and (2) offer you this license which gives you legal | ||
46 | permission to copy, distribute and/or modify the library. | ||
47 | |||
48 | Also, for each distributor's protection, we want to make certain | ||
49 | that everyone understands that there is no warranty for this free | ||
50 | library. If the library is modified by someone else and passed on, we | ||
51 | want its recipients to know that what they have is not the original | ||
52 | version, so that any problems introduced by others will not reflect on | ||
53 | the original authors' reputations. | ||
54 | |||
55 | Finally, any free program is threatened constantly by software | ||
56 | patents. We wish to avoid the danger that companies distributing free | ||
57 | software will individually obtain patent licenses, thus in effect | ||
58 | transforming the program into proprietary software. To prevent this, | ||
59 | we have made it clear that any patent must be licensed for everyone's | ||
60 | free use or not licensed at all. | ||
61 | |||
62 | Most GNU software, including some libraries, is covered by the ordinary | ||
63 | GNU General Public License, which was designed for utility programs. This | ||
64 | license, the GNU Library General Public License, applies to certain | ||
65 | designated libraries. This license is quite different from the ordinary | ||
66 | one; be sure to read it in full, and don't assume that anything in it is | ||
67 | the same as in the ordinary license. | ||
68 | |||
69 | The reason we have a separate public license for some libraries is that | ||
70 | they blur the distinction we usually make between modifying or adding to a | ||
71 | program and simply using it. Linking a program with a library, without | ||
72 | changing the library, is in some sense simply using the library, and is | ||
73 | analogous to running a utility program or application program. However, in | ||
74 | a textual and legal sense, the linked executable is a combined work, a | ||
75 | derivative of the original library, and the ordinary General Public License | ||
76 | treats it as such. | ||
77 | |||
78 | Because of this blurred distinction, using the ordinary General | ||
79 | Public License for libraries did not effectively promote software | ||
80 | sharing, because most developers did not use the libraries. We | ||
81 | concluded that weaker conditions might promote sharing better. | ||
82 | |||
83 | However, unrestricted linking of non-free programs would deprive the | ||
84 | users of those programs of all benefit from the free status of the | ||
85 | libraries themselves. This Library General Public License is intended to | ||
86 | permit developers of non-free programs to use free libraries, while | ||
87 | preserving your freedom as a user of such programs to change the free | ||
88 | libraries that are incorporated in them. (We have not seen how to achieve | ||
89 | this as regards changes in header files, but we have achieved it as regards | ||
90 | changes in the actual functions of the Library.) The hope is that this | ||
91 | will lead to faster development of free libraries. | ||
92 | |||
93 | The precise terms and conditions for copying, distribution and | ||
94 | modification follow. Pay close attention to the difference between a | ||
95 | "work based on the library" and a "work that uses the library". The | ||
96 | former contains code derived from the library, while the latter only | ||
97 | works together with the library. | ||
98 | |||
99 | Note that it is possible for a library to be covered by the ordinary | ||
100 | General Public License rather than by this special one. | ||
101 | |||
102 | GNU LIBRARY GENERAL PUBLIC LICENSE | ||
103 | TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION | ||
104 | |||
105 | 0. This License Agreement applies to any software library which | ||
106 | contains a notice placed by the copyright holder or other authorized | ||
107 | party saying it may be distributed under the terms of this Library | ||
108 | General Public License (also called "this License"). Each licensee is | ||
109 | addressed as "you". | ||
110 | |||
111 | A "library" means a collection of software functions and/or data | ||
112 | prepared so as to be conveniently linked with application programs | ||
113 | (which use some of those functions and data) to form executables. | ||
114 | |||
115 | The "Library", below, refers to any such software library or work | ||
116 | which has been distributed under these terms. A "work based on the | ||
117 | Library" means either the Library or any derivative work under | ||
118 | copyright law: that is to say, a work containing the Library or a | ||
119 | portion of it, either verbatim or with modifications and/or translated | ||
120 | straightforwardly into another language. (Hereinafter, translation is | ||
121 | included without limitation in the term "modification".) | ||
122 | |||
123 | "Source code" for a work means the preferred form of the work for | ||
124 | making modifications to it. For a library, complete source code means | ||
125 | all the source code for all modules it contains, plus any associated | ||
126 | interface definition files, plus the scripts used to control compilation | ||
127 | and installation of the library. | ||
128 | |||
129 | Activities other than copying, distribution and modification are not | ||
130 | covered by this License; they are outside its scope. The act of | ||
131 | running a program using the Library is not restricted, and output from | ||
132 | such a program is covered only if its contents constitute a work based | ||
133 | on the Library (independent of the use of the Library in a tool for | ||
134 | writing it). Whether that is true depends on what the Library does | ||
135 | and what the program that uses the Library does. | ||
136 | |||
137 | 1. You may copy and distribute verbatim copies of the Library's | ||
138 | complete source code as you receive it, in any medium, provided that | ||
139 | you conspicuously and appropriately publish on each copy an | ||
140 | appropriate copyright notice and disclaimer of warranty; keep intact | ||
141 | all the notices that refer to this License and to the absence of any | ||
142 | warranty; and distribute a copy of this License along with the | ||
143 | Library. | ||
144 | |||
145 | You may charge a fee for the physical act of transferring a copy, | ||
146 | and you may at your option offer warranty protection in exchange for a | ||
147 | fee. | ||
148 | |||
149 | 2. You may modify your copy or copies of the Library or any portion | ||
150 | of it, thus forming a work based on the Library, and copy and | ||
151 | distribute such modifications or work under the terms of Section 1 | ||
152 | above, provided that you also meet all of these conditions: | ||
153 | |||
154 | a) The modified work must itself be a software library. | ||
155 | |||
156 | b) You must cause the files modified to carry prominent notices | ||
157 | stating that you changed the files and the date of any change. | ||
158 | |||
159 | c) You must cause the whole of the work to be licensed at no | ||
160 | charge to all third parties under the terms of this License. | ||
161 | |||
162 | d) If a facility in the modified Library refers to a function or a | ||
163 | table of data to be supplied by an application program that uses | ||
164 | the facility, other than as an argument passed when the facility | ||
165 | is invoked, then you must make a good faith effort to ensure that, | ||
166 | in the event an application does not supply such function or | ||
167 | table, the facility still operates, and performs whatever part of | ||
168 | its purpose remains meaningful. | ||
169 | |||
170 | (For example, a function in a library to compute square roots has | ||
171 | a purpose that is entirely well-defined independent of the | ||
172 | application. Therefore, Subsection 2d requires that any | ||
173 | application-supplied function or table used by this function must | ||
174 | be optional: if the application does not supply it, the square | ||
175 | root function must still compute square roots.) | ||
176 | |||
177 | These requirements apply to the modified work as a whole. If | ||
178 | identifiable sections of that work are not derived from the Library, | ||
179 | and can be reasonably considered independent and separate works in | ||
180 | themselves, then this License, and its terms, do not apply to those | ||
181 | sections when you distribute them as separate works. But when you | ||
182 | distribute the same sections as part of a whole which is a work based | ||
183 | on the Library, the distribution of the whole must be on the terms of | ||
184 | this License, whose permissions for other licensees extend to the | ||
185 | entire whole, and thus to each and every part regardless of who wrote | ||
186 | it. | ||
187 | |||
188 | Thus, it is not the intent of this section to claim rights or contest | ||
189 | your rights to work written entirely by you; rather, the intent is to | ||
190 | exercise the right to control the distribution of derivative or | ||
191 | collective works based on the Library. | ||
192 | |||
193 | In addition, mere aggregation of another work not based on the Library | ||
194 | with the Library (or with a work based on the Library) on a volume of | ||
195 | a storage or distribution medium does not bring the other work under | ||
196 | the scope of this License. | ||
197 | |||
198 | 3. You may opt to apply the terms of the ordinary GNU General Public | ||
199 | License instead of this License to a given copy of the Library. To do | ||
200 | this, you must alter all the notices that refer to this License, so | ||
201 | that they refer to the ordinary GNU General Public License, version 2, | ||
202 | instead of to this License. (If a newer version than version 2 of the | ||
203 | ordinary GNU General Public License has appeared, then you can specify | ||
204 | that version instead if you wish.) Do not make any other change in | ||
205 | these notices. | ||
206 | |||
207 | Once this change is made in a given copy, it is irreversible for | ||
208 | that copy, so the ordinary GNU General Public License applies to all | ||
209 | subsequent copies and derivative works made from that copy. | ||
210 | |||
211 | This option is useful when you wish to copy part of the code of | ||
212 | the Library into a program that is not a library. | ||
213 | |||
214 | 4. You may copy and distribute the Library (or a portion or | ||
215 | derivative of it, under Section 2) in object code or executable form | ||
216 | under the terms of Sections 1 and 2 above provided that you accompany | ||
217 | it with the complete corresponding machine-readable source code, which | ||
218 | must be distributed under the terms of Sections 1 and 2 above on a | ||
219 | medium customarily used for software interchange. | ||
220 | |||
221 | If distribution of object code is made by offering access to copy | ||
222 | from a designated place, then offering equivalent access to copy the | ||
223 | source code from the same place satisfies the requirement to | ||
224 | distribute the source code, even though third parties are not | ||
225 | compelled to copy the source along with the object code. | ||
226 | |||
227 | 5. A program that contains no derivative of any portion of the | ||
228 | Library, but is designed to work with the Library by being compiled or | ||
229 | linked with it, is called a "work that uses the Library". Such a | ||
230 | work, in isolation, is not a derivative work of the Library, and | ||
231 | therefore falls outside the scope of this License. | ||
232 | |||
233 | However, linking a "work that uses the Library" with the Library | ||
234 | creates an executable that is a derivative of the Library (because it | ||
235 | contains portions of the Library), rather than a "work that uses the | ||
236 | library". The executable is therefore covered by this License. | ||
237 | Section 6 states terms for distribution of such executables. | ||
238 | |||
239 | When a "work that uses the Library" uses material from a header file | ||
240 | that is part of the Library, the object code for the work may be a | ||
241 | derivative work of the Library even though the source code is not. | ||
242 | Whether this is true is especially significant if the work can be | ||
243 | linked without the Library, or if the work is itself a library. The | ||
244 | threshold for this to be true is not precisely defined by law. | ||
245 | |||
246 | If such an object file uses only numerical parameters, data | ||
247 | structure layouts and accessors, and small macros and small inline | ||
248 | functions (ten lines or less in length), then the use of the object | ||
249 | file is unrestricted, regardless of whether it is legally a derivative | ||
250 | work. (Executables containing this object code plus portions of the | ||
251 | Library will still fall under Section 6.) | ||
252 | |||
253 | Otherwise, if the work is a derivative of the Library, you may | ||
254 | distribute the object code for the work under the terms of Section 6. | ||
255 | Any executables containing that work also fall under Section 6, | ||
256 | whether or not they are linked directly with the Library itself. | ||
257 | |||
258 | 6. As an exception to the Sections above, you may also compile or | ||
259 | link a "work that uses the Library" with the Library to produce a | ||
260 | work containing portions of the Library, and distribute that work | ||
261 | under terms of your choice, provided that the terms permit | ||
262 | modification of the work for the customer's own use and reverse | ||
263 | engineering for debugging such modifications. | ||
264 | |||
265 | You must give prominent notice with each copy of the work that the | ||
266 | Library is used in it and that the Library and its use are covered by | ||
267 | this License. You must supply a copy of this License. If the work | ||
268 | during execution displays copyright notices, you must include the | ||
269 | copyright notice for the Library among them, as well as a reference | ||
270 | directing the user to the copy of this License. Also, you must do one | ||
271 | of these things: | ||
272 | |||
273 | a) Accompany the work with the complete corresponding | ||
274 | machine-readable source code for the Library including whatever | ||
275 | changes were used in the work (which must be distributed under | ||
276 | Sections 1 and 2 above); and, if the work is an executable linked | ||
277 | with the Library, with the complete machine-readable "work that | ||
278 | uses the Library", as object code and/or source code, so that the | ||
279 | user can modify the Library and then relink to produce a modified | ||
280 | executable containing the modified Library. (It is understood | ||
281 | that the user who changes the contents of definitions files in the | ||
282 | Library will not necessarily be able to recompile the application | ||
283 | to use the modified definitions.) | ||
284 | |||
285 | b) Accompany the work with a written offer, valid for at | ||
286 | least three years, to give the same user the materials | ||
287 | specified in Subsection 6a, above, for a charge no more | ||
288 | than the cost of performing this distribution. | ||
289 | |||
290 | c) If distribution of the work is made by offering access to copy | ||
291 | from a designated place, offer equivalent access to copy the above | ||
292 | specified materials from the same place. | ||
293 | |||
294 | d) Verify that the user has already received a copy of these | ||
295 | materials or that you have already sent this user a copy. | ||
296 | |||
297 | For an executable, the required form of the "work that uses the | ||
298 | Library" must include any data and utility programs needed for | ||
299 | reproducing the executable from it. However, as a special exception, | ||
300 | the source code distributed need not include anything that is normally | ||
301 | distributed (in either source or binary form) with the major | ||
302 | components (compiler, kernel, and so on) of the operating system on | ||
303 | which the executable runs, unless that component itself accompanies | ||
304 | the executable. | ||
305 | |||
306 | It may happen that this requirement contradicts the license | ||
307 | restrictions of other proprietary libraries that do not normally | ||
308 | accompany the operating system. Such a contradiction means you cannot | ||
309 | use both them and the Library together in an executable that you | ||
310 | distribute. | ||
311 | |||
312 | 7. You may place library facilities that are a work based on the | ||
313 | Library side-by-side in a single library together with other library | ||
314 | facilities not covered by this License, and distribute such a combined | ||
315 | library, provided that the separate distribution of the work based on | ||
316 | the Library and of the other library facilities is otherwise | ||
317 | permitted, and provided that you do these two things: | ||
318 | |||
319 | a) Accompany the combined library with a copy of the same work | ||
320 | based on the Library, uncombined with any other library | ||
321 | facilities. This must be distributed under the terms of the | ||
322 | Sections above. | ||
323 | |||
324 | b) Give prominent notice with the combined library of the fact | ||
325 | that part of it is a work based on the Library, and explaining | ||
326 | where to find the accompanying uncombined form of the same work. | ||
327 | |||
328 | 8. You may not copy, modify, sublicense, link with, or distribute | ||
329 | the Library except as expressly provided under this License. Any | ||
330 | attempt otherwise to copy, modify, sublicense, link with, or | ||
331 | distribute the Library is void, and will automatically terminate your | ||
332 | rights under this License. However, parties who have received copies, | ||
333 | or rights, from you under this License will not have their licenses | ||
334 | terminated so long as such parties remain in full compliance. | ||
335 | |||
336 | 9. You are not required to accept this License, since you have not | ||
337 | signed it. However, nothing else grants you permission to modify or | ||
338 | distribute the Library or its derivative works. These actions are | ||
339 | prohibited by law if you do not accept this License. Therefore, by | ||
340 | modifying or distributing the Library (or any work based on the | ||
341 | Library), you indicate your acceptance of this License to do so, and | ||
342 | all its terms and conditions for copying, distributing or modifying | ||
343 | the Library or works based on it. | ||
344 | |||
345 | 10. Each time you redistribute the Library (or any work based on the | ||
346 | Library), the recipient automatically receives a license from the | ||
347 | original licensor to copy, distribute, link with or modify the Library | ||
348 | subject to these terms and conditions. You may not impose any further | ||
349 | restrictions on the recipients' exercise of the rights granted herein. | ||
350 | You are not responsible for enforcing compliance by third parties to | ||
351 | this License. | ||
352 | |||
353 | 11. If, as a consequence of a court judgment or allegation of patent | ||
354 | infringement or for any other reason (not limited to patent issues), | ||
355 | conditions are imposed on you (whether by court order, agreement or | ||
356 | otherwise) that contradict the conditions of this License, they do not | ||
357 | excuse you from the conditions of this License. If you cannot | ||
358 | distribute so as to satisfy simultaneously your obligations under this | ||
359 | License and any other pertinent obligations, then as a consequence you | ||
360 | may not distribute the Library at all. For example, if a patent | ||
361 | license would not permit royalty-free redistribution of the Library by | ||
362 | all those who receive copies directly or indirectly through you, then | ||
363 | the only way you could satisfy both it and this License would be to | ||
364 | refrain entirely from distribution of the Library. | ||
365 | |||
366 | If any portion of this section is held invalid or unenforceable under any | ||
367 | particular circumstance, the balance of the section is intended to apply, | ||
368 | and the section as a whole is intended to apply in other circumstances. | ||
369 | |||
370 | It is not the purpose of this section to induce you to infringe any | ||
371 | patents or other property right claims or to contest validity of any | ||
372 | such claims; this section has the sole purpose of protecting the | ||
373 | integrity of the free software distribution system which is | ||
374 | implemented by public license practices. Many people have made | ||
375 | generous contributions to the wide range of software distributed | ||
376 | through that system in reliance on consistent application of that | ||
377 | system; it is up to the author/donor to decide if he or she is willing | ||
378 | to distribute software through any other system and a licensee cannot | ||
379 | impose that choice. | ||
380 | |||
381 | This section is intended to make thoroughly clear what is believed to | ||
382 | be a consequence of the rest of this License. | ||
383 | |||
384 | 12. If the distribution and/or use of the Library is restricted in | ||
385 | certain countries either by patents or by copyrighted interfaces, the | ||
386 | original copyright holder who places the Library under this License may add | ||
387 | an explicit geographical distribution limitation excluding those countries, | ||
388 | so that distribution is permitted only in or among countries not thus | ||
389 | excluded. In such case, this License incorporates the limitation as if | ||
390 | written in the body of this License. | ||
391 | |||
392 | 13. The Free Software Foundation may publish revised and/or new | ||
393 | versions of the Library General Public License from time to time. | ||
394 | Such new versions will be similar in spirit to the present version, | ||
395 | but may differ in detail to address new problems or concerns. | ||
396 | |||
397 | Each version is given a distinguishing version number. If the Library | ||
398 | specifies a version number of this License which applies to it and | ||
399 | "any later version", you have the option of following the terms and | ||
400 | conditions either of that version or of any later version published by | ||
401 | the Free Software Foundation. If the Library does not specify a | ||
402 | license version number, you may choose any version ever published by | ||
403 | the Free Software Foundation. | ||
404 | |||
405 | 14. If you wish to incorporate parts of the Library into other free | ||
406 | programs whose distribution conditions are incompatible with these, | ||
407 | write to the author to ask for permission. For software which is | ||
408 | copyrighted by the Free Software Foundation, write to the Free | ||
409 | Software Foundation; we sometimes make exceptions for this. Our | ||
410 | decision will be guided by the two goals of preserving the free status | ||
411 | of all derivatives of our free software and of promoting the sharing | ||
412 | and reuse of software generally. | ||
413 | |||
414 | NO WARRANTY | ||
415 | |||
416 | 15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO | ||
417 | WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW. | ||
418 | EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR | ||
419 | OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY | ||
420 | KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE | ||
421 | IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR | ||
422 | PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE | ||
423 | LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME | ||
424 | THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. | ||
425 | |||
426 | 16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN | ||
427 | WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY | ||
428 | AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU | ||
429 | FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR | ||
430 | CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE | ||
431 | LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING | ||
432 | RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A | ||
433 | FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF | ||
434 | SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH | ||
435 | DAMAGES. | ||
436 | |||
437 | END OF TERMS AND CONDITIONS | ||
438 | |||
439 | How to Apply These Terms to Your New Libraries | ||
440 | |||
441 | If you develop a new library, and you want it to be of the greatest | ||
442 | possible use to the public, we recommend making it free software that | ||
443 | everyone can redistribute and change. You can do so by permitting | ||
444 | redistribution under these terms (or, alternatively, under the terms of the | ||
445 | ordinary General Public License). | ||
446 | |||
447 | To apply these terms, attach the following notices to the library. It is | ||
448 | safest to attach them to the start of each source file to most effectively | ||
449 | convey the exclusion of warranty; and each file should have at least the | ||
450 | "copyright" line and a pointer to where the full notice is found. | ||
451 | |||
452 | <one line to give the library's name and a brief idea of what it does.> | ||
453 | Copyright (C) <year> <name of author> | ||
454 | |||
455 | This library is free software; you can redistribute it and/or | ||
456 | modify it under the terms of the GNU Library General Public | ||
457 | License as published by the Free Software Foundation; either | ||
458 | version 2 of the License, or (at your option) any later version. | ||
459 | |||
460 | This library is distributed in the hope that it will be useful, | ||
461 | but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
462 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | ||
463 | Library General Public License for more details. | ||
464 | |||
465 | You should have received a copy of the GNU Library General Public | ||
466 | License along with this library; if not, write to the | ||
467 | Free Software Foundation, Inc., 59 Temple Place - Suite 330, | ||
468 | Boston, MA 02111-1307 USA. | ||
469 | |||
470 | Also add information on how to contact you by electronic and paper mail. | ||
471 | |||
472 | You should also get your employer (if you work as a programmer) or your | ||
473 | school, if any, to sign a "copyright disclaimer" for the library, if | ||
474 | necessary. Here is a sample; alter the names: | ||
475 | |||
476 | Yoyodyne, Inc., hereby disclaims all copyright interest in the | ||
477 | library `Frob' (a library for tweaking knobs) written by James Random Hacker. | ||
478 | |||
479 | <signature of Ty Coon>, 1 April 1990 | ||
480 | Ty Coon, President of Vice | ||
481 | |||
482 | That's all there is to it! | ||
diff --git a/meta-oe/recipes-devtools/gdbus-binding-tool/gdbus-binding-tool_git.bb b/meta-oe/recipes-devtools/gdbus-binding-tool/gdbus-binding-tool_git.bb new file mode 100644 index 000000000..286434de6 --- /dev/null +++ b/meta-oe/recipes-devtools/gdbus-binding-tool/gdbus-binding-tool_git.bb | |||
@@ -0,0 +1,37 @@ | |||
1 | DESCRIPTION = "gdbus-binding-tool is used to generate C code for interacting with remote objects using D-Bus." | ||
2 | DEPENDS = "glib-2.0 gdbus-binding-tool-native" | ||
3 | DEPENDS_virtclass-native = "glib-2.0-native" | ||
4 | RDEPENDS_${PN} = "glib-2.0-utils" | ||
5 | # taken from glib where this is supposed to be moved later | ||
6 | LICENSE = "LGPLv2+ & BSD & public domain" | ||
7 | LIC_FILES_CHKSUM = "file://${WORKDIR}/COPYING;md5=3bf50002aefd002f49e7bb854063f7e7" | ||
8 | |||
9 | PR = "r2" | ||
10 | |||
11 | inherit autotools pkgconfig | ||
12 | |||
13 | SRC_URI = "git://anongit.freedesktop.org/~david/${BPN};protocol=git;branch=master \ | ||
14 | file://COPYING" | ||
15 | SRCREV = "229fd9adbb6bd9d824b38a3bd092229016540f41" | ||
16 | PV = "0.1+gitr${SRCPV}" | ||
17 | S = "${WORKDIR}/git" | ||
18 | |||
19 | do_configure() { | ||
20 | # missing ${topdir}/gtk-doc.make and --disable-gtk-doc* is not enough | ||
21 | sed -i '/^doc\/Makefile/d' ${S}/configure.ac | ||
22 | sed -i 's/SUBDIRS = src doc/SUBDIRS = src/g' ${S}/Makefile.am | ||
23 | |||
24 | # cannot execute target binary, so use staged native | ||
25 | sed -i "s#\$(top_builddir)/src/gdbus-codegen#${STAGING_BINDIR_NATIVE}/gdbus-codegen#g" ${S}/src/Makefile.am | ||
26 | |||
27 | autotools_do_configure | ||
28 | } | ||
29 | do_configure_virtclass-native() { | ||
30 | # missing ${topdir}/gtk-doc.make and --disable-gtk-doc* is not enough | ||
31 | sed -i '/^doc\/Makefile/d' ${S}/configure.ac | ||
32 | sed -i 's/SUBDIRS = src doc/SUBDIRS = src/g' ${S}/Makefile.am | ||
33 | |||
34 | autotools_do_configure | ||
35 | } | ||
36 | |||
37 | BBCLASSEXTEND = "native" | ||
diff --git a/meta-oe/recipes-devtools/gobject-introspection/gobject-introspection/use-usr-bin-env-for-python.patch b/meta-oe/recipes-devtools/gobject-introspection/gobject-introspection/use-usr-bin-env-for-python.patch new file mode 100644 index 000000000..67b85470d --- /dev/null +++ b/meta-oe/recipes-devtools/gobject-introspection/gobject-introspection/use-usr-bin-env-for-python.patch | |||
@@ -0,0 +1,20 @@ | |||
1 | Index: gobject-introspection-0.9.10/tools/g-ir-annotation-tool.in | ||
2 | =================================================================== | ||
3 | --- gobject-introspection-0.9.10.orig/tools/g-ir-annotation-tool.in | ||
4 | +++ gobject-introspection-0.9.10/tools/g-ir-annotation-tool.in | ||
5 | @@ -1,4 +1,4 @@ | ||
6 | -#!@PYTHON@ | ||
7 | +#!/usr/bin/env python | ||
8 | # -*- Mode: Python -*- | ||
9 | # GObject-Introspection - a framework for introspecting GObject libraries | ||
10 | # Copyright (C) 2008 Johan Dahlin | ||
11 | Index: gobject-introspection-0.9.10/tools/g-ir-scanner.in | ||
12 | =================================================================== | ||
13 | --- gobject-introspection-0.9.10.orig/tools/g-ir-scanner.in | ||
14 | +++ gobject-introspection-0.9.10/tools/g-ir-scanner.in | ||
15 | @@ -1,4 +1,4 @@ | ||
16 | -#!@PYTHON@ | ||
17 | +#!/usr/bin/env python | ||
18 | # -*- Mode: Python -*- | ||
19 | # GObject-Introspection - a framework for introspecting GObject libraries | ||
20 | # Copyright (C) 2008 Johan Dahlin | ||
diff --git a/meta-oe/recipes-devtools/gobject-introspection/gobject-introspection_0.9.10.bb b/meta-oe/recipes-devtools/gobject-introspection/gobject-introspection_0.9.10.bb new file mode 100644 index 000000000..f1a46a10b --- /dev/null +++ b/meta-oe/recipes-devtools/gobject-introspection/gobject-introspection_0.9.10.bb | |||
@@ -0,0 +1,32 @@ | |||
1 | # NOTE: WIP! This recipe does not cross-compile atm., only -native | ||
2 | SECTION = "libs" | ||
3 | DEPENDS = "glib-2.0 libffi bison-native" | ||
4 | BBCLASSEXTEND = "native" | ||
5 | PR = "r1" | ||
6 | |||
7 | LICENSE = "GPLv2+ & LGPLv2+" | ||
8 | LIC_FILES_CHKSUM = "file://COPYING;md5=90d577535a3898e1ae5dbf0ae3509a8c \ | ||
9 | file://COPYING.GPL;md5=94d55d512a9ba36caa9b7df079bae19f \ | ||
10 | file://COPYING.LGPL;md5=3bf50002aefd002f49e7bb854063f7e7" | ||
11 | |||
12 | SRC_URI[md5sum] = "e5cd63d6bcc5c105e898e7c33cf42175" | ||
13 | SRC_URI[sha256sum] = "4bf244db75df04499dea704e7734376c0fc5a3a17fb59be2123c8d76111e6fb8" | ||
14 | |||
15 | SRC_URI = "\ | ||
16 | ${GNOME_MIRROR}/gobject-introspection/0.9/${BPN}-${PV}.tar.bz2 \ | ||
17 | file://use-usr-bin-env-for-python.patch \ | ||
18 | " | ||
19 | S = "${WORKDIR}/${BPN}-${PV}" | ||
20 | |||
21 | inherit autotools | ||
22 | |||
23 | do_configure_prepend() { | ||
24 | touch -f gtk-doc.make | ||
25 | } | ||
26 | |||
27 | EXTRA_OECONF = "\ | ||
28 | --disable-gtk-doc \ | ||
29 | --disable-gtk-doc-html \ | ||
30 | --disable-gtk-doc-pdf \ | ||
31 | --disable-tests \ | ||
32 | " | ||
diff --git a/meta-oe/recipes-devtools/json-glib/json-glib_0.10.4.bb b/meta-oe/recipes-devtools/json-glib/json-glib_0.10.4.bb new file mode 100644 index 000000000..87c60cb4b --- /dev/null +++ b/meta-oe/recipes-devtools/json-glib/json-glib_0.10.4.bb | |||
@@ -0,0 +1,14 @@ | |||
1 | DESCRIPTION = "JSON-GLib is a library providing serialization and deserialization support for the JavaScript Object Notation (JSON) format" | ||
2 | LICENSE = "LGPLv2.1" | ||
3 | LIC_FILES_CHKSUM = "file://COPYING;md5=7fbc338309ac38fefcd64b04bb903e34" | ||
4 | DEPENDS = "glib-2.0" | ||
5 | |||
6 | PR = "r1" | ||
7 | |||
8 | EXTRA_OECONF = "--enable-introspection=no" | ||
9 | |||
10 | inherit autotools | ||
11 | SRC_URI = "http://ftp.gnome.org/pub/GNOME/sources/json-glib/0.10/json-glib-0.10.4.tar.gz" | ||
12 | |||
13 | SRC_URI[md5sum] = "87677e939a4b3d42e1c56b2a3046b9bb" | ||
14 | SRC_URI[sha256sum] = "9561b3c58b350c89333d154f1e8669b8ece611c9c724252aed0e6273cda9cc6f" | ||
diff --git a/meta-oe/recipes-devtools/libcanberra/libcanberra/libcanberra-increase-buffer-size.patch b/meta-oe/recipes-devtools/libcanberra/libcanberra/libcanberra-increase-buffer-size.patch new file mode 100644 index 000000000..1005d7868 --- /dev/null +++ b/meta-oe/recipes-devtools/libcanberra/libcanberra/libcanberra-increase-buffer-size.patch | |||
@@ -0,0 +1,13 @@ | |||
1 | Index: libcanberra-0.14/src/alsa.c | ||
2 | =================================================================== | ||
3 | --- libcanberra-0.14.orig/src/alsa.c | ||
4 | +++ libcanberra-0.14/src/alsa.c | ||
5 | @@ -272,7 +272,7 @@ | ||
6 | return translate_error(ret); | ||
7 | } | ||
8 | |||
9 | -#define BUFSIZE (16*1024) | ||
10 | +#define BUFSIZE (128*1024) | ||
11 | |||
12 | static void* thread_func(void *userdata) { | ||
13 | struct outstanding *out = userdata; | ||
diff --git a/meta-oe/recipes-devtools/libcanberra/libcanberra_0.26.bb b/meta-oe/recipes-devtools/libcanberra/libcanberra_0.26.bb new file mode 100644 index 000000000..09e11f997 --- /dev/null +++ b/meta-oe/recipes-devtools/libcanberra/libcanberra_0.26.bb | |||
@@ -0,0 +1,56 @@ | |||
1 | DESCRIPTION = "Libcanberra is an implementation of the XDG Sound Theme and Name \ | ||
2 | Specifications, for generating event sounds on free desktops." | ||
3 | LICENSE = "LGPLv2.1+" | ||
4 | LIC_FILES_CHKSUM = "file://LGPL;md5=2d5025d4aa3495befef8f17206a5b0a1" | ||
5 | DEPENDS = "alsa-lib gstreamer gtk+ libtool libvorbis gconf" | ||
6 | SECTION = "libs/multimedia" | ||
7 | AUTHOR = "Lennart Poettering" | ||
8 | HOMEPAGE = "http://0pointer.de/lennart/projects/libcanberra" | ||
9 | PR = "r1" | ||
10 | |||
11 | inherit autotools vala | ||
12 | |||
13 | SRC_URI = "http://0pointer.de/lennart/projects/libcanberra/libcanberra-${PV}.tar.gz \ | ||
14 | file://libcanberra-increase-buffer-size.patch" | ||
15 | |||
16 | SRC_URI[md5sum] = "ee2c66ada7c851a4e7b6eb1682285a24" | ||
17 | SRC_URI[sha256sum] = "4b5d8d2c2835133620adbc53745dd107b6e58b9a2963059e8f457143fee00982" | ||
18 | |||
19 | EXTRA_OECONF = "\ | ||
20 | --enable-alsa \ | ||
21 | --enable-gstreamer \ | ||
22 | --enable-gtk \ | ||
23 | --enable-multi \ | ||
24 | --enable-null \ | ||
25 | --disable-oss \ | ||
26 | --disable-pulse \ | ||
27 | --disable-tdb \ | ||
28 | " | ||
29 | # enable pulse again when pulseaudio >= 0.9.11 is the default in OE | ||
30 | |||
31 | python populate_packages_prepend() { | ||
32 | plugindir = bb.data.expand('${libdir}/${P}/', d) | ||
33 | do_split_packages(d, plugindir, '^libcanberra-(.*)\.so$', 'libcanberra-%s', '%s support library', extra_depends='' ) | ||
34 | } | ||
35 | |||
36 | PACKAGES =+ "${PN}-gtk" | ||
37 | |||
38 | PACKAGES_DYNAMIC = "libcanberra-*" | ||
39 | |||
40 | FILES_${PN}-gtk = "\ | ||
41 | ${sysconfdir}/gconf \ | ||
42 | ${bindir}/* \ | ||
43 | ${libdir}/libcanberra-gtk.so.* \ | ||
44 | ${libdir}/gtk-2.0/modules/* \ | ||
45 | ${datadir}/gnome \ | ||
46 | ${datadir}/gdm \ | ||
47 | " | ||
48 | |||
49 | FILES_${PN}-dev += "\ | ||
50 | ${libdir}/${P}/*.la \ | ||
51 | " | ||
52 | |||
53 | FILES_${PN}-dbg += "\ | ||
54 | ${libdir}/gtk-2.0/modules/.debug \ | ||
55 | ${libdir}/${P}/.debug \ | ||
56 | " | ||
diff --git a/meta-oe/recipes-devtools/libgee/libgee.inc b/meta-oe/recipes-devtools/libgee/libgee.inc new file mode 100644 index 000000000..8542cde5a --- /dev/null +++ b/meta-oe/recipes-devtools/libgee/libgee.inc | |||
@@ -0,0 +1,18 @@ | |||
1 | DESCRIPTION = "libgee is a collection library providing GObject-based interfaces \ | ||
2 | and classes for commonly used data structures." | ||
3 | HOMEPAGE = "http://live.gnome.org/Libgee" | ||
4 | SECTION = "libs" | ||
5 | DEPENDS = "glib-2.0" | ||
6 | BBCLASSEXTEND = "native" | ||
7 | LICENSE = "LGPLv2.1" | ||
8 | LIC_FILES_CHKSUM = "file://COPYING;md5=fbc093901857fcd118f065f900982c24" | ||
9 | INC_PR = "r6" | ||
10 | PE = "1" | ||
11 | |||
12 | inherit autotools vala | ||
13 | do_configure_prepend() { | ||
14 | MACROS="libtool.m4 lt~obsolete.m4 ltoptions.m4 ltsugar.m4 ltversion.m4" | ||
15 | for i in ${MACROS}; do | ||
16 | rm -f m4/$i | ||
17 | done | ||
18 | } | ||
diff --git a/meta-oe/recipes-devtools/libgee/libgee_0.6.0.bb b/meta-oe/recipes-devtools/libgee/libgee_0.6.0.bb new file mode 100644 index 000000000..4e305b604 --- /dev/null +++ b/meta-oe/recipes-devtools/libgee/libgee_0.6.0.bb | |||
@@ -0,0 +1,12 @@ | |||
1 | require libgee.inc | ||
2 | PE = "1" | ||
3 | PR = "${INC_PR}.1" | ||
4 | #autoreconf needs introspection.m4 (staged by gobject-introspection-native) after http://git.gnome.org/browse/libgee/commit/?id=d026a29b38ca1a3388981c6e75a92602212373d8 | ||
5 | DEPENDS += "gobject-introspection-native" | ||
6 | DEPENDS_virtclass-native += "gobject-introspection-native" | ||
7 | |||
8 | SRC_URI = "http://ftp.gnome.org/pub/GNOME/sources/libgee/0.6/${BPN}-${PV}.tar.bz2" | ||
9 | S = "${WORKDIR}/${BPN}-${PV}" | ||
10 | |||
11 | SRC_URI[md5sum] = "4eb513b23ab6ea78884989518a4acf6f" | ||
12 | SRC_URI[sha256sum] = "e586678d0a88637abeaaf850b62231000772e79ea6d9c4b45dc3cea99f778a7a" | ||
diff --git a/meta-oe/recipes-devtools/python/python-dateutil_1.4.1.bb b/meta-oe/recipes-devtools/python/python-dateutil_1.4.1.bb new file mode 100644 index 000000000..8cde2886e --- /dev/null +++ b/meta-oe/recipes-devtools/python/python-dateutil_1.4.1.bb | |||
@@ -0,0 +1,24 @@ | |||
1 | DESCRIPTION = "Extensions to the standard Python date/time support" | ||
2 | HOMEPAGE = "http://labix.org/python-dateutil" | ||
3 | SECTION = "devel/python" | ||
4 | PRIORITY = "optional" | ||
5 | LICENSE = "PSF" | ||
6 | LIC_FILES_CHKSUM = "file://LICENSE;md5=d82268718c68bda0b091006ec6e583c6" | ||
7 | SRCNAME = "${PN}" | ||
8 | PR = "r1" | ||
9 | |||
10 | SRC_URI = "http://labix.org/download/python-dateutil/${SRCNAME}-${PV}.tar.gz" | ||
11 | S = "${WORKDIR}/${SRCNAME}-${PV}" | ||
12 | |||
13 | inherit setuptools | ||
14 | |||
15 | PACKAGES =+ "${PN}-zoneinfo" | ||
16 | FILES_${PN}-zoneinfo = "${libdir}/${PYTHON_DIR}/site-packages/dateutil/zoneinfo" | ||
17 | |||
18 | RDEPENDS_${PN} = "\ | ||
19 | python-core \ | ||
20 | python-datetime \ | ||
21 | " | ||
22 | |||
23 | SRC_URI[md5sum] = "2a5f25ab12fcefcf0b21348f2d47595a" | ||
24 | SRC_URI[sha256sum] = "74b615c6a55b4421187feba1633fc233e7c5ebdd7abe9b092447a32946823357" | ||
diff --git a/meta-oe/recipes-devtools/python/python-numeric/no-lapack.patch b/meta-oe/recipes-devtools/python/python-numeric/no-lapack.patch new file mode 100644 index 000000000..c1916b8b9 --- /dev/null +++ b/meta-oe/recipes-devtools/python/python-numeric/no-lapack.patch | |||
@@ -0,0 +1,33 @@ | |||
1 | |||
2 | # | ||
3 | # Patch managed by http://www.holgerschurig.de/patcher.html | ||
4 | # | ||
5 | |||
6 | --- Numeric-23.7/setup.py~nolapack | ||
7 | +++ Numeric-23.7/setup.py | ||
8 | @@ -32,7 +32,7 @@ | ||
9 | mathlibs = [] | ||
10 | |||
11 | # delete all but the first one in this list if using your own LAPACK/BLAS | ||
12 | -sourcelist = [os.path.join('Src', 'lapack_litemodule.c'), | ||
13 | +sourcelist = [ | ||
14 | #os.path.join('Src', 'blas_lite.c'), | ||
15 | #os.path.join('Src', 'f2c_lite.c'), | ||
16 | #os.path.join('Src', 'zlapack_lite.c'), | ||
17 | @@ -40,12 +40,12 @@ | ||
18 | ] | ||
19 | # set these to use your own BLAS; | ||
20 | |||
21 | -library_dirs_list = ['/usr/lib/atlas'] | ||
22 | -libraries_list = ['lapack', 'cblas', 'f77blas', 'atlas', 'g2c'] | ||
23 | +library_dirs_list = [] | ||
24 | +libraries_list = [] | ||
25 | |||
26 | # set to true (1), if you also want BLAS optimized matrixmultiply/dot/innerproduct | ||
27 | -use_dotblas = 1 | ||
28 | -include_dirs = ['/usr/include/atlas'] | ||
29 | +use_dotblas = 0 | ||
30 | +include_dirs = [] | ||
31 | # You may need to set this to find cblas.h | ||
32 | # e.g. on UNIX using ATLAS this should be ['/usr/include/atlas'] | ||
33 | extra_link_args = [] | ||
diff --git a/meta-oe/recipes-devtools/python/python-numeric_24.2.bb b/meta-oe/recipes-devtools/python/python-numeric_24.2.bb new file mode 100644 index 000000000..436718f46 --- /dev/null +++ b/meta-oe/recipes-devtools/python/python-numeric_24.2.bb | |||
@@ -0,0 +1,15 @@ | |||
1 | DESCRIPTION = "A sophisticated Numeric Processing Package for Python" | ||
2 | SECTION = "devel/python" | ||
3 | PRIORITY = "optional" | ||
4 | LICENSE = "PSF & LLNL" | ||
5 | LIC_FILES_CHKSUM = "file://Legal.htm;md5=e3ce75dedd4043918d15979ae43e312e" | ||
6 | |||
7 | PR = "ml1" | ||
8 | |||
9 | SRC_URI = "${SOURCEFORGE_MIRROR}/numpy/Numeric-${PV}.tar.gz" | ||
10 | S = "${WORKDIR}/Numeric-${PV}" | ||
11 | |||
12 | inherit distutils | ||
13 | |||
14 | SRC_URI[md5sum] = "2ae672656e06716a149acb048cca3093" | ||
15 | SRC_URI[sha256sum] = "5f72e729eb6ff57442f2a38bfc9931738b59e5077928e2e70d22b4610ff15258" | ||
diff --git a/meta-oe/recipes-devtools/python/python-pexpect_2.3.bb b/meta-oe/recipes-devtools/python/python-pexpect_2.3.bb new file mode 100644 index 000000000..8111ba3f0 --- /dev/null +++ b/meta-oe/recipes-devtools/python/python-pexpect_2.3.bb | |||
@@ -0,0 +1,24 @@ | |||
1 | DESCRIPTION = "A Pure Python Expect like Module for Python" | ||
2 | SECTION = "devel/python" | ||
3 | PRIORITY = "optional" | ||
4 | LICENSE = "PSF" | ||
5 | LIC_FILES_CHKSUM = "file://LICENSE;md5=04a2bf11b85ce49d4a8c0c413fd34404" | ||
6 | SRCNAME = "pexpect" | ||
7 | PR = "ml1" | ||
8 | |||
9 | SRC_URI = "${SOURCEFORGE_MIRROR}/${SRCNAME}/${SRCNAME}-${PV}.tar.gz" | ||
10 | S = "${WORKDIR}/${SRCNAME}-${PV}" | ||
11 | |||
12 | inherit distutils | ||
13 | |||
14 | RDEPENDS_${PN} = "\ | ||
15 | python-core \ | ||
16 | python-io \ | ||
17 | python-terminal \ | ||
18 | python-resource \ | ||
19 | python-fcntl \ | ||
20 | " | ||
21 | |||
22 | |||
23 | SRC_URI[md5sum] = "bf107cf54e67bc6dec5bea1f3e6a65c3" | ||
24 | SRC_URI[sha256sum] = "d315e7f3a8544fd85034d7e17fd7c5854e8f0828f5791f83cf313f8fa5740b75" | ||
diff --git a/meta-oe/recipes-devtools/python/python-phoneutils_git.bb b/meta-oe/recipes-devtools/python/python-phoneutils_git.bb new file mode 100644 index 000000000..b46a772a6 --- /dev/null +++ b/meta-oe/recipes-devtools/python/python-phoneutils_git.bb | |||
@@ -0,0 +1,15 @@ | |||
1 | DESCRIPTION = "Python Bindings for libphone-utils" | ||
2 | SECTION = "devel/python" | ||
3 | DEPENDS = "libphone-utils python-cython-native python-pyrex-native" | ||
4 | RDEPENDS_${PN} = "libphone-utils" | ||
5 | LICENSE = "LGPLv2.1+" | ||
6 | LIC_FILES_CHKSUM = "file://phoneutils/c_phoneutils.pyx;endline=18;md5=ca321e4ec3a30a44469b23ebca782665" | ||
7 | |||
8 | SRCREV = "8a7c719e0c3f1f8c10f77f17422da02d7177f0dd" | ||
9 | PV = "0.0.2+gitr${SRCPV}" | ||
10 | PR = "r3" | ||
11 | |||
12 | SRC_URI = "git://git.shr-project.org/repo/libphone-utils.git;protocol=http;branch=master" | ||
13 | S = "${WORKDIR}/git/src/python" | ||
14 | |||
15 | inherit setuptools | ||
diff --git a/meta-oe/recipes-devtools/python/python-pyalsaaudio_0.4.bb b/meta-oe/recipes-devtools/python/python-pyalsaaudio_0.4.bb new file mode 100644 index 000000000..5a6dd5496 --- /dev/null +++ b/meta-oe/recipes-devtools/python/python-pyalsaaudio_0.4.bb | |||
@@ -0,0 +1,16 @@ | |||
1 | DESCRIPTION = "Support for the Linux 2.6.x ALSA Sound System" | ||
2 | SECTION = "devel/python" | ||
3 | DEPENDS = "alsa-lib" | ||
4 | PRIORITY = "optional" | ||
5 | LICENSE = "PSF" | ||
6 | LIC_FILES_CHKSUM = "file://LICENSE;md5=1a3b161aa0fcec32a0c8907a2219ad9d" | ||
7 | SRCNAME = "pyalsaaudio" | ||
8 | PR = "ml0" | ||
9 | |||
10 | SRC_URI = "${SOURCEFORGE_MIRROR}/pyalsaaudio/${SRCNAME}-${PV}.tar.gz" | ||
11 | S = "${WORKDIR}/${SRCNAME}-${PV}" | ||
12 | |||
13 | inherit distutils | ||
14 | |||
15 | SRC_URI[md5sum] = "b312c28efba7db0494836a79f0a49898" | ||
16 | SRC_URI[sha256sum] = "07148ce16024724b17cc24c51d0f4fb78af214b09b7dc8dcb7b06e5647f4c582" | ||
diff --git a/meta-oe/recipes-devtools/python/python-pyserial_2.4.bb b/meta-oe/recipes-devtools/python/python-pyserial_2.4.bb new file mode 100644 index 000000000..cc138d196 --- /dev/null +++ b/meta-oe/recipes-devtools/python/python-pyserial_2.4.bb | |||
@@ -0,0 +1,23 @@ | |||
1 | DESCRIPTION = "Serial Port Support for Python" | ||
2 | SECTION = "devel/python" | ||
3 | PRIORITY = "optional" | ||
4 | LICENSE = "PSF" | ||
5 | LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=7424386ffe323e815ee62ee9ad591dd8" | ||
6 | SRCNAME = "pyserial" | ||
7 | PR = "ml2" | ||
8 | |||
9 | SRC_URI = "${SOURCEFORGE_MIRROR}/${SRCNAME}/${SRCNAME}-${PV}.tar.gz" | ||
10 | S = "${WORKDIR}/${SRCNAME}-${PV}" | ||
11 | |||
12 | inherit setuptools | ||
13 | |||
14 | # FIXME might stop packaging serialwin32 and serialjava files | ||
15 | |||
16 | RDEPENDS_${PN} = "\ | ||
17 | python-fcntl \ | ||
18 | python-io \ | ||
19 | python-stringold \ | ||
20 | " | ||
21 | |||
22 | SRC_URI[md5sum] = "eec19df59fd75ba5a136992897f8e468" | ||
23 | SRC_URI[sha256sum] = "6b6a9e3d2fd5978c92c843e0109918a4bcac481eecae316254481c0e0f7e73c8" | ||
diff --git a/meta-oe/recipes-devtools/python/python-pyyaml/setup.py b/meta-oe/recipes-devtools/python/python-pyyaml/setup.py new file mode 100644 index 000000000..fb6498341 --- /dev/null +++ b/meta-oe/recipes-devtools/python/python-pyyaml/setup.py | |||
@@ -0,0 +1,64 @@ | |||
1 | NAME = 'PyYAML' | ||
2 | VERSION = '3.06' | ||
3 | DESCRIPTION = "YAML parser and emitter for Python" | ||
4 | LONG_DESCRIPTION = """\ | ||
5 | YAML is a data serialization format designed for human readability and | ||
6 | interaction with scripting languages. PyYAML is a YAML parser and | ||
7 | emitter for Python. | ||
8 | |||
9 | PyYAML features a complete YAML 1.1 parser, Unicode support, pickle | ||
10 | support, capable extension API, and sensible error messages. PyYAML | ||
11 | supports standard YAML tags and provides Python-specific tags that allow | ||
12 | to represent an arbitrary Python object. | ||
13 | |||
14 | PyYAML is applicable for a broad range of tasks from complex | ||
15 | configuration files to object serialization and persistance.""" | ||
16 | AUTHOR = "Kirill Simonov" | ||
17 | AUTHOR_EMAIL = 'xi@resolvent.net' | ||
18 | LICENSE = "MIT" | ||
19 | PLATFORMS = "Any" | ||
20 | URL = "http://pyyaml.org/wiki/PyYAML" | ||
21 | DOWNLOAD_URL = "http://pyyaml.org/download/pyyaml/%s-%s.tar.gz" % (NAME, VERSION) | ||
22 | CLASSIFIERS = [ | ||
23 | "Development Status :: 5 - Production/Stable", | ||
24 | "Intended Audience :: Developers", | ||
25 | "License :: OSI Approved :: MIT License", | ||
26 | "Operating System :: OS Independent", | ||
27 | "Programming Language :: Python", | ||
28 | "Topic :: Software Development :: Libraries :: Python Modules", | ||
29 | "Topic :: Text Processing :: Markup", | ||
30 | ] | ||
31 | |||
32 | from distutils.core import setup | ||
33 | from distutils.extension import Extension | ||
34 | from Cython.Distutils import build_ext | ||
35 | |||
36 | import sys, os.path | ||
37 | |||
38 | |||
39 | if __name__ == '__main__': | ||
40 | |||
41 | setup( | ||
42 | name=NAME, | ||
43 | version=VERSION, | ||
44 | description=DESCRIPTION, | ||
45 | long_description=LONG_DESCRIPTION, | ||
46 | author=AUTHOR, | ||
47 | author_email=AUTHOR_EMAIL, | ||
48 | license=LICENSE, | ||
49 | platforms=PLATFORMS, | ||
50 | url=URL, | ||
51 | download_url=DOWNLOAD_URL, | ||
52 | classifiers=CLASSIFIERS, | ||
53 | |||
54 | package_dir={'': 'lib'}, | ||
55 | packages=['yaml'], | ||
56 | |||
57 | ext_modules = [ | ||
58 | Extension( "_yaml", ["ext/_yaml.pyx"], libraries = ["yaml"] ) | ||
59 | ], | ||
60 | |||
61 | cmdclass={ | ||
62 | 'build_ext': build_ext, | ||
63 | }, | ||
64 | ) | ||
diff --git a/meta-oe/recipes-devtools/python/python-pyyaml_svn.bb b/meta-oe/recipes-devtools/python/python-pyyaml_svn.bb new file mode 100644 index 000000000..965b1cc11 --- /dev/null +++ b/meta-oe/recipes-devtools/python/python-pyyaml_svn.bb | |||
@@ -0,0 +1,22 @@ | |||
1 | DESCRIPTION = "Python support for YAML" | ||
2 | HOMEPAGE = "http://www.pyyaml.org" | ||
3 | SECTION = "devel/python" | ||
4 | LICENSE = "MIT" | ||
5 | LIC_FILES_CHKSUM = "file://LICENSE;md5=6015f088759b10e0bc2bf64898d4ae17" | ||
6 | DEPENDS = "libyaml python-cython-native" | ||
7 | SRCREV = "344" | ||
8 | PV = "3.08+svnr${SRCPV}" | ||
9 | PR = "ml0" | ||
10 | |||
11 | SRC_URI = "\ | ||
12 | svn://svn.pyyaml.org/pyyaml;module=trunk;proto=http \ | ||
13 | file://setup.py \ | ||
14 | " | ||
15 | S = "${WORKDIR}/trunk" | ||
16 | |||
17 | inherit distutils | ||
18 | |||
19 | do_configure_prepend() { | ||
20 | # upstream setup.py overcomplicated, use ours | ||
21 | install -m 0644 ${WORKDIR}/setup.py ${S} | ||
22 | } | ||
diff --git a/meta-oe/recipes-devtools/python/python-vobject_0.8.1c.bb b/meta-oe/recipes-devtools/python/python-vobject_0.8.1c.bb new file mode 100644 index 000000000..6b7e7a481 --- /dev/null +++ b/meta-oe/recipes-devtools/python/python-vobject_0.8.1c.bb | |||
@@ -0,0 +1,17 @@ | |||
1 | DESCRIPTION = "Python package for parsing and generating vCard and vCalendar files" | ||
2 | SECTION = "devel/python" | ||
3 | PRIORITY = "optional" | ||
4 | LICENSE = "Apache License V2.0" | ||
5 | LIC_FILES_CHKSUM = "file://LICENSE-2.0.txt;md5=3b83ef96387f14655fc854ddc3c6bd57" | ||
6 | HOMEPAGE = "http://vobject.skyhouseconsulting.com/" | ||
7 | SRCNAME = "vobject" | ||
8 | RDEPENDS_${PN} = "python python-dateutil" | ||
9 | PR = "r2" | ||
10 | |||
11 | SRC_URI = "http://vobject.skyhouseconsulting.com/${SRCNAME}-${PV}.tar.gz" | ||
12 | S = "${WORKDIR}/${SRCNAME}-${PV}" | ||
13 | |||
14 | inherit setuptools | ||
15 | |||
16 | SRC_URI[md5sum] = "c9686dd74d39fdae140890d9c694c076" | ||
17 | SRC_URI[sha256sum] = "594113117f2017ed837c8f3ce727616f9053baa5a5463a7420c8249b8fc556f5" | ||
diff --git a/meta-oe/recipes-devtools/vala-dbus-binding-tool/vala-dbus-binding-tool.inc b/meta-oe/recipes-devtools/vala-dbus-binding-tool/vala-dbus-binding-tool.inc new file mode 100644 index 000000000..d86e92375 --- /dev/null +++ b/meta-oe/recipes-devtools/vala-dbus-binding-tool/vala-dbus-binding-tool.inc | |||
@@ -0,0 +1,16 @@ | |||
1 | DESCRIPTION = "Vala DBus Binding Tool" | ||
2 | SECTION = "devel" | ||
3 | DEPENDS = "vala libgee libxml2 intltool-native" | ||
4 | HOMEPAGE = "http://wiki.freesmartphone.org/index.php/Implementations/vala-dbus-binding-tool" | ||
5 | LICENSE = "GPLv3" | ||
6 | LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504" | ||
7 | PE = "1" | ||
8 | INC_PR = "r3" | ||
9 | |||
10 | export XDG_DATA_DIRS = "${STAGING_DATADIR}" | ||
11 | |||
12 | SRC_URI = "http://downloads.freesmartphone.org/sources/vala-dbus-binding-tool-${PV}.tar.bz2;name=archive" | ||
13 | |||
14 | inherit autotools | ||
15 | |||
16 | BBCLASSEXTEND = "native" | ||
diff --git a/meta-oe/recipes-devtools/vala-dbus-binding-tool/vala-dbus-binding-tool_git.bb b/meta-oe/recipes-devtools/vala-dbus-binding-tool/vala-dbus-binding-tool_git.bb new file mode 100644 index 000000000..66df4edaf --- /dev/null +++ b/meta-oe/recipes-devtools/vala-dbus-binding-tool/vala-dbus-binding-tool_git.bb | |||
@@ -0,0 +1,6 @@ | |||
1 | require vala-dbus-binding-tool.inc | ||
2 | SRCREV = "fd89af4941d6478575900128d09029fa5549e0db" | ||
3 | PV = "0.3.2+gitr${SRCPV}" | ||
4 | |||
5 | SRC_URI = "${FREESMARTPHONE_GIT}/vala-dbus-binding-tool.git;protocol=git;branch=master" | ||
6 | S = "${WORKDIR}/git" | ||
diff --git a/meta-oe/recipes-devtools/vala/vala.inc b/meta-oe/recipes-devtools/vala/vala.inc new file mode 100644 index 000000000..b63cdfacd --- /dev/null +++ b/meta-oe/recipes-devtools/vala/vala.inc | |||
@@ -0,0 +1,25 @@ | |||
1 | DESCRIPTION = "Vala is a C#-like language dedicated to ease GObject programming. \ | ||
2 | Vala compiles to plain C and has no runtime environment nor penalities whatsoever." | ||
3 | SECTION = "devel" | ||
4 | DEPENDS = "glib-2.0 dbus" | ||
5 | BBCLASSEXTEND = "native" | ||
6 | DEPENDS_virtclass-native = "glib-2.0-native dbus-native" | ||
7 | HOMEPAGE = "http://vala-project.org" | ||
8 | LICENSE = "LGPLv2.1" | ||
9 | LIC_FILES_CHKSUM = "file://COPYING;md5=fbc093901857fcd118f065f900982c24" | ||
10 | INC_PR = "r0" | ||
11 | |||
12 | # | ||
13 | # WARNING: This source release has specifically been built for OpenEmbedded. | ||
14 | # Don't update to any upstream release without consulting the recipe maintainer. | ||
15 | # | ||
16 | |||
17 | SRC_URI = "\ | ||
18 | http://downloads.freesmartphone.org/sources/vala-${PV}.tar.bz2;name=archive \ | ||
19 | " | ||
20 | |||
21 | inherit autotools | ||
22 | |||
23 | EXTRA_OECONF = "--disable-vapigen" | ||
24 | |||
25 | FILES_${PN}-doc += ${datadir}/devhelp | ||
diff --git a/meta-oe/recipes-devtools/vala/vala_0.12.0.bb b/meta-oe/recipes-devtools/vala/vala_0.12.0.bb new file mode 100644 index 000000000..9ca89db78 --- /dev/null +++ b/meta-oe/recipes-devtools/vala/vala_0.12.0.bb | |||
@@ -0,0 +1,7 @@ | |||
1 | require vala.inc | ||
2 | SRC_URI = "ftp://ftp.gnome.org/pub/GNOME/sources/vala/0.12/vala-0.12.0.tar.bz2" | ||
3 | |||
4 | FILES_${PN} += "${datadir}/vala-0.12/vapi" | ||
5 | |||
6 | SRC_URI[md5sum] = "b11fafaa705085342156312e356b6ff2" | ||
7 | SRC_URI[sha256sum] = "9a398e16fba2c78c9bcadb05e489c9bc318e34901d43451ac5d2ce4bc46b1225" | ||
diff --git a/meta-oe/recipes-extended/tzcode/tzcode-native.inc b/meta-oe/recipes-extended/tzcode/tzcode-native.inc new file mode 100644 index 000000000..b946e71fb --- /dev/null +++ b/meta-oe/recipes-extended/tzcode/tzcode-native.inc | |||
@@ -0,0 +1,18 @@ | |||
1 | DESCRIPTION = "tzcode, timezone zoneinfo utils -- zic, zdump, tzselect" | ||
2 | INC_PR = "r4" | ||
3 | |||
4 | SRC_URI = " \ | ||
5 | ftp://elsie.nci.nih.gov/pub/tzcode${PV}.tar.gz;name=tzcode-${PV};subdir=${BPN}-${PV} \ | ||
6 | ftp://elsie.nci.nih.gov/pub/tzdata${TZDATA_PV}.tar.gz;name=tzdata-${TZDATA_PV};subdir=${BPN}-${PV} \ | ||
7 | " | ||
8 | |||
9 | inherit native | ||
10 | |||
11 | do_install () { | ||
12 | install -d ${D}${bindir} | ||
13 | install -m 755 zic ${D}${bindir}/ | ||
14 | install -m 755 zdump ${D}${bindir}/ | ||
15 | install -m 755 tzselect ${D}${bindir}/ | ||
16 | } | ||
17 | |||
18 | NATIVE_INSTALL_WORKS = "1" | ||
diff --git a/meta-oe/recipes-extended/tzcode/tzcode-native_2011e.bb b/meta-oe/recipes-extended/tzcode/tzcode-native_2011e.bb new file mode 100644 index 000000000..280840c99 --- /dev/null +++ b/meta-oe/recipes-extended/tzcode/tzcode-native_2011e.bb | |||
@@ -0,0 +1,19 @@ | |||
1 | require tzcode-native.inc | ||
2 | |||
3 | LICENSE = "PD" | ||
4 | LIC_FILES_CHKSUM = "file://README;md5=3ae8198f82258417ce29066d3b034035" | ||
5 | |||
6 | # Note that elsie.nci.nih.gov removes old versions when new is coming out | ||
7 | # So if this doesn't build for you because of missing source file, just | ||
8 | # bump it to the latest available version, removing old one | ||
9 | # Also, tzdata (and it is needed to build tzcode) version can differ from | ||
10 | # tzcode version, thus this variable | ||
11 | |||
12 | TZDATA_PV = "2011e" | ||
13 | |||
14 | PR = "${INC_PR}.0" | ||
15 | |||
16 | SRC_URI[tzcode-2011e.md5sum] = "fbfc05dbf9ebcfe7c4bba18549870173" | ||
17 | SRC_URI[tzcode-2011e.sha256sum] = "8fb00f8763aa51d83d6f3190d144124bb7176ca829fc08823d6205297bf0426b" | ||
18 | SRC_URI[tzdata-2011e.md5sum] = "044a07072300a0ee72b046e5a9a4ec90" | ||
19 | SRC_URI[tzdata-2011e.sha256sum] = "44fef01de4589a4979eb6b5fdbbfd21a3b135852af1ecbfb9e0368ae47392c79" | ||
diff --git a/meta-oe/recipes-extended/tzdata/tzdata.inc b/meta-oe/recipes-extended/tzdata/tzdata.inc new file mode 100644 index 000000000..732ebb376 --- /dev/null +++ b/meta-oe/recipes-extended/tzdata/tzdata.inc | |||
@@ -0,0 +1,178 @@ | |||
1 | DESCRIPTION = "Timezone data" | ||
2 | SECTION = "base" | ||
3 | PRIORITY = "optional" | ||
4 | DEPENDS = "tzcode-native" | ||
5 | |||
6 | INC_PR = "r9" | ||
7 | |||
8 | DEFAULT_TIMEZONE ?= "Europe/London" | ||
9 | |||
10 | RCONFLICTS_${PN} = "timezones timezone-africa timezone-america timezone-antarctica \ | ||
11 | timezone-arctic timezone-asia timezone-atlantic \ | ||
12 | timezone-australia timezone-europe timezone-indian \ | ||
13 | timezone-iso3166.tab timezone-pacific timezone-zone.tab" | ||
14 | |||
15 | SRC_URI = "ftp://elsie.nci.nih.gov/pub/tzdata${PV}.tar.gz;subdir=${BPN}-${PV}" | ||
16 | |||
17 | TZONES= "africa antarctica asia australasia europe northamerica southamerica \ | ||
18 | factory solar87 solar88 solar89 etcetera backward systemv \ | ||
19 | " | ||
20 | # pacificnew \ | ||
21 | |||
22 | CONFFILES_${PN} = "${sysconfdir}/timezone ${sysconfdir}/localtime" | ||
23 | |||
24 | do_compile () { | ||
25 | mkdir -p build | ||
26 | for zone in ${TZONES}; do \ | ||
27 | ${STAGING_BINDIR_NATIVE}/zic -d ${S}/build${datadir}/zoneinfo -L /dev/null \ | ||
28 | -y ${S}/yearistype.sh ${S}/${zone} ; \ | ||
29 | ${STAGING_BINDIR_NATIVE}/zic -d ${S}/build${datadir}/zoneinfo/posix -L /dev/null \ | ||
30 | -y ${S}/yearistype.sh ${S}/${zone} ; \ | ||
31 | ${STAGING_BINDIR_NATIVE}/zic -d ${S}/build${datadir}/zoneinfo/right -L ${S}/leapseconds \ | ||
32 | -y ${S}/yearistype.sh ${S}/${zone} ; \ | ||
33 | done | ||
34 | } | ||
35 | |||
36 | do_install () { | ||
37 | install -d ${D}${prefix} ${D}${datadir}/zoneinfo | ||
38 | cp -pPR ${S}/build${prefix}/* ${D}${prefix} | ||
39 | # Only eglibc is removing zoneinfo files from package | ||
40 | if [ "${LIBC}"x = "eglibc"x ] ; then | ||
41 | cp -pP "${S}/zone.tab" ${D}${datadir}/zoneinfo | ||
42 | cp -pP "${S}/iso3166.tab" ${D}${datadir}/zoneinfo | ||
43 | fi | ||
44 | |||
45 | # Install a sane default for timezones | ||
46 | install -d ${D}${sysconfdir} | ||
47 | echo ${DEFAULT_TIMEZONE} > ${D}${sysconfdir}/timezone | ||
48 | cp -pPR ${S}/build${datadir}/zoneinfo/${DEFAULT_TIMEZONE} ${D}${sysconfdir}/localtime | ||
49 | } | ||
50 | |||
51 | PACKAGE_ARCH = "all" | ||
52 | # Packages primarily organized by directory with a major city | ||
53 | # in most time zones in the base package | ||
54 | |||
55 | PACKAGES = "${PN}-dbg tzdata tzdata-misc tzdata-posix tzdata-right tzdata-africa \ | ||
56 | tzdata-americas tzdata-antarctica tzdata-arctic tzdata-asia \ | ||
57 | tzdata-atlantic tzdata-australia tzdata-europe tzdata-pacific" | ||
58 | |||
59 | ALLOW_EMPTY_${PN}-dbg = "1" | ||
60 | |||
61 | FILES_tzdata-africa += "${datadir}/zoneinfo/Africa/*" | ||
62 | RPROVIDES_tzdata-africa = "tzdata-africa" | ||
63 | |||
64 | FILES_tzdata-americas += "${datadir}/zoneinfo/America/* \ | ||
65 | ${datadir}/zoneinfo/US/* \ | ||
66 | ${datadir}/zoneinfo/Brazil/* \ | ||
67 | ${datadir}/zoneinfo/Canada/* \ | ||
68 | ${datadir}/zoneinfo/Mexico/* \ | ||
69 | ${datadir}/zoneinfo/Chile/*" | ||
70 | RPROVIDES_tzdata-americas = "tzdata-americas" | ||
71 | |||
72 | FILES_tzdata-antarctica += "${datadir}/zoneinfo/Antarctica/*" | ||
73 | RPROVIDES_tzdata-antarctica = "tzdata-antarctica" | ||
74 | |||
75 | FILES_tzdata-arctic += "${datadir}/zoneinfo/Arctic/*" | ||
76 | RPROVIDES_tzdata-arctic = "tzdata-arctic" | ||
77 | |||
78 | FILES_tzdata-asia += "${datadir}/zoneinfo/Asia/* \ | ||
79 | ${datadir}/zoneinfo/Indian/* \ | ||
80 | ${datadir}/zoneinfo/Mideast/*" | ||
81 | RPROVIDES_tzdata-asia = "tzdata-asia" | ||
82 | |||
83 | FILES_tzdata-atlantic += "${datadir}/zoneinfo/Atlantic/*" | ||
84 | RPROVIDES_tzdata-atlantic = "tzdata-atlantic" | ||
85 | |||
86 | FILES_tzdata-australia += "${datadir}/zoneinfo/Australia/*" | ||
87 | RPROVIDES_tzdata-australia = "tzdata-australia" | ||
88 | |||
89 | FILES_tzdata-europe += "${datadir}/zoneinfo/Europe/*" | ||
90 | RPROVIDES_tzdata-europe = "tzdata-europe" | ||
91 | |||
92 | FILES_tzdata-pacific += "${datadir}/zoneinfo/Pacific/*" | ||
93 | RPROVIDES_tzdata-pacific = "tzdata-pacific" | ||
94 | |||
95 | FILES_tzdata-posix += "${datadir}/zoneinfo/posix/*" | ||
96 | RPROVIDES_tzdata-posix = "tzdata-posix" | ||
97 | |||
98 | FILES_tzdata-right += "${datadir}/zoneinfo/right/*" | ||
99 | RPROVIDES_tzdata-right = "tzdata-right" | ||
100 | |||
101 | |||
102 | FILES_tzdata-misc += "${datadir}/zoneinfo/Cuba \ | ||
103 | ${datadir}/zoneinfo/Egypt \ | ||
104 | ${datadir}/zoneinfo/Eire \ | ||
105 | ${datadir}/zoneinfo/Factory \ | ||
106 | ${datadir}/zoneinfo/GB-Eire \ | ||
107 | ${datadir}/zoneinfo/Hongkong \ | ||
108 | ${datadir}/zoneinfo/Iceland \ | ||
109 | ${datadir}/zoneinfo/Iran \ | ||
110 | ${datadir}/zoneinfo/Israel \ | ||
111 | ${datadir}/zoneinfo/Jamaica \ | ||
112 | ${datadir}/zoneinfo/Japan \ | ||
113 | ${datadir}/zoneinfo/Kwajalein \ | ||
114 | ${datadir}/zoneinfo/Libya \ | ||
115 | ${datadir}/zoneinfo/Navajo \ | ||
116 | ${datadir}/zoneinfo/Poland \ | ||
117 | ${datadir}/zoneinfo/Portugal \ | ||
118 | ${datadir}/zoneinfo/Singapore \ | ||
119 | ${datadir}/zoneinfo/Turkey" | ||
120 | RPROVIDES_tzdata-misc = "tzdata-misc" | ||
121 | |||
122 | |||
123 | FILES_${PN} += "${datadir}/zoneinfo/Pacific/Honolulu \ | ||
124 | ${datadir}/zoneinfo/America/Anchorage \ | ||
125 | ${datadir}/zoneinfo/America/Los_Angeles \ | ||
126 | ${datadir}/zoneinfo/America/Denver \ | ||
127 | ${datadir}/zoneinfo/America/Chicago \ | ||
128 | ${datadir}/zoneinfo/America/New_York \ | ||
129 | ${datadir}/zoneinfo/America/Caracas \ | ||
130 | ${datadir}/zoneinfo/America/Sao_Paulo \ | ||
131 | ${datadir}/zoneinfo/Europe/London \ | ||
132 | ${datadir}/zoneinfo/Europe/Paris \ | ||
133 | ${datadir}/zoneinfo/Africa/Cairo \ | ||
134 | ${datadir}/zoneinfo/Europe/Moscow \ | ||
135 | ${datadir}/zoneinfo/Asia/Dubai \ | ||
136 | ${datadir}/zoneinfo/Asia/Karachi \ | ||
137 | ${datadir}/zoneinfo/Asia/Dhaka \ | ||
138 | ${datadir}/zoneinfo/Asia/Bankok \ | ||
139 | ${datadir}/zoneinfo/Asia/Hong_Kong \ | ||
140 | ${datadir}/zoneinfo/Asia/Tokyo \ | ||
141 | ${datadir}/zoneinfo/Australia/Perth \ | ||
142 | ${datadir}/zoneinfo/Australia/Darwin \ | ||
143 | ${datadir}/zoneinfo/Australia/Adelaide \ | ||
144 | ${datadir}/zoneinfo/Australia/Brisbane \ | ||
145 | ${datadir}/zoneinfo/Australia/Sydney \ | ||
146 | ${datadir}/zoneinfo/Pacific/Noumea \ | ||
147 | ${datadir}/zoneinfo/CET \ | ||
148 | ${datadir}/zoneinfo/CST6CDT \ | ||
149 | ${datadir}/zoneinfo/EET \ | ||
150 | ${datadir}/zoneinfo/EST \ | ||
151 | ${datadir}/zoneinfo/EST5EDT \ | ||
152 | ${datadir}/zoneinfo/GB \ | ||
153 | ${datadir}/zoneinfo/GMT \ | ||
154 | ${datadir}/zoneinfo/GMT+0 \ | ||
155 | ${datadir}/zoneinfo/GMT-0 \ | ||
156 | ${datadir}/zoneinfo/GMT0 \ | ||
157 | ${datadir}/zoneinfo/Greenwich \ | ||
158 | ${datadir}/zoneinfo/HST \ | ||
159 | ${datadir}/zoneinfo/MET \ | ||
160 | ${datadir}/zoneinfo/MST \ | ||
161 | ${datadir}/zoneinfo/MST7MDT \ | ||
162 | ${datadir}/zoneinfo/NZ \ | ||
163 | ${datadir}/zoneinfo/NZ-CHAT \ | ||
164 | ${datadir}/zoneinfo/PRC \ | ||
165 | ${datadir}/zoneinfo/PST8PDT \ | ||
166 | ${datadir}/zoneinfo/ROC \ | ||
167 | ${datadir}/zoneinfo/ROK \ | ||
168 | ${datadir}/zoneinfo/UCT \ | ||
169 | ${datadir}/zoneinfo/UTC \ | ||
170 | ${datadir}/zoneinfo/Universal \ | ||
171 | ${datadir}/zoneinfo/W-SU \ | ||
172 | ${datadir}/zoneinfo/WET \ | ||
173 | ${datadir}/zoneinfo/Zulu \ | ||
174 | ${datadir}/zoneinfo/Etc/* \ | ||
175 | ${datadir}/zoneinfo/iso3166.tab \ | ||
176 | ${datadir}/zoneinfo/zone.tab \ | ||
177 | ${sysconfdir}/localtime \ | ||
178 | ${sysconfdir}/timezone " | ||
diff --git a/meta-oe/recipes-extended/tzdata/tzdata_2011e.bb b/meta-oe/recipes-extended/tzdata/tzdata_2011e.bb new file mode 100644 index 000000000..c0f5291ee --- /dev/null +++ b/meta-oe/recipes-extended/tzdata/tzdata_2011e.bb | |||
@@ -0,0 +1,13 @@ | |||
1 | require tzdata.inc | ||
2 | |||
3 | LICENSE = "PD" | ||
4 | LIC_FILES_CHKSUM = "file://asia;beginline=2;endline=3;md5=06468c0e84ef4d4c97045a4a29b08234" | ||
5 | |||
6 | # Note that elsie.nci.nih.gov removes old archives after a new one is | ||
7 | # released. So if this doesn't build for you because of missing source file | ||
8 | # just bump it to the latest available version, removing the old one | ||
9 | |||
10 | PR = "${INC_PR}.0" | ||
11 | |||
12 | SRC_URI[md5sum] = "044a07072300a0ee72b046e5a9a4ec90" | ||
13 | SRC_URI[sha256sum] = "44fef01de4589a4979eb6b5fdbbfd21a3b135852af1ecbfb9e0368ae47392c79" | ||
diff --git a/meta-oe/recipes-graphics/drm/libdrm-2.4.24/glamo.patch b/meta-oe/recipes-graphics/drm/libdrm-2.4.24/glamo.patch new file mode 100644 index 000000000..b397ded58 --- /dev/null +++ b/meta-oe/recipes-graphics/drm/libdrm-2.4.24/glamo.patch | |||
@@ -0,0 +1,1095 @@ | |||
1 | diff --git a/Makefile.am b/Makefile.am | ||
2 | index 25d1747..f384228 100644 | ||
3 | --- a/Makefile.am | ||
4 | +++ b/Makefile.am | ||
5 | @@ -41,7 +41,11 @@ if HAVE_RADEON | ||
6 | RADEON_SUBDIR = radeon | ||
7 | endif | ||
8 | |||
9 | -SUBDIRS = . $(LIBKMS_SUBDIR) $(INTEL_SUBDIR) $(NOUVEAU_SUBDIR) $(RADEON_SUBDIR) tests include | ||
10 | +if HAVE_GLAMO | ||
11 | +GLAMO_SUBDIR = glamo | ||
12 | +endif | ||
13 | + | ||
14 | +SUBDIRS = . $(LIBKMS_SUBDIR) $(INTEL_SUBDIR) $(NOUVEAU_SUBDIR) $(RADEON_SUBDIR) $(GLAMO_SUBDIR) tests include | ||
15 | |||
16 | libdrm_la_LTLIBRARIES = libdrm.la | ||
17 | libdrm_ladir = $(libdir) | ||
18 | diff --git a/configure.ac b/configure.ac | ||
19 | index 62db817..0b2a33e 100644 | ||
20 | --- a/configure.ac | ||
21 | +++ b/configure.ac | ||
22 | @@ -73,6 +73,11 @@ AC_ARG_ENABLE(nouveau-experimental-api, | ||
23 | [NOUVEAU=$enableval], [NOUVEAU=no]) | ||
24 | |||
25 | |||
26 | +AC_ARG_ENABLE(glamo-experimental-api, | ||
27 | + AS_HELP_STRING([--enable-glamo-experimental-api], | ||
28 | + [Enable support for Glamo's KMS API (default: disabled)]), | ||
29 | + [GLAMO=$enableval], [GLAMO=no]) | ||
30 | + | ||
31 | dnl =========================================================================== | ||
32 | dnl check compiler flags | ||
33 | AC_DEFUN([LIBDRM_CC_TRY_FLAG], [ | ||
34 | @@ -169,6 +174,11 @@ if test "x$NOUVEAU" = xyes; then | ||
35 | AC_DEFINE(HAVE_NOUVEAU, 1, [Have nouveau (nvidia) support]) | ||
36 | fi | ||
37 | |||
38 | +AM_CONDITIONAL(HAVE_GLAMO, [test "x$GLAMO" = xyes]) | ||
39 | +if test "x$GLAMO" = xyes; then | ||
40 | + AC_DEFINE(HAVE_GLAMO, 1, [Have glamo support]) | ||
41 | +fi | ||
42 | + | ||
43 | PKG_CHECK_MODULES(CAIRO, cairo, [HAVE_CAIRO=yes], [HAVE_CAIRO=no]) | ||
44 | if test "x$HAVE_CAIRO" = xyes; then | ||
45 | AC_DEFINE(HAVE_CAIRO, 1, [Have cairo support]) | ||
46 | @@ -262,6 +272,8 @@ AC_OUTPUT([ | ||
47 | radeon/libdrm_radeon.pc | ||
48 | nouveau/Makefile | ||
49 | nouveau/libdrm_nouveau.pc | ||
50 | + glamo/Makefile | ||
51 | + glamo/libdrm_glamo.pc | ||
52 | tests/Makefile | ||
53 | tests/modeprint/Makefile | ||
54 | tests/modetest/Makefile | ||
55 | diff --git a/glamo/Makefile.am b/glamo/Makefile.am | ||
56 | new file mode 100644 | ||
57 | index 0000000..1f17aa3 | ||
58 | --- /dev/null | ||
59 | +++ b/glamo/Makefile.am | ||
60 | @@ -0,0 +1,52 @@ | ||
61 | +# Copyright (c) 2009 Thomas Whtie <taw@bitwiz.org.uk> | ||
62 | +# Based on libdrm-glamo Copyright © 2008 Jérôme Glisse | ||
63 | +# | ||
64 | +# Permission is hereby granted, free of charge, to any person obtaining a | ||
65 | +# copy of this software and associated documentation files (the "Software"), | ||
66 | +# to deal in the Software without restriction, including without limitation | ||
67 | +# the rights to use, copy, modify, merge, publish, distribute, sublicense, | ||
68 | +# and/or sell copies of the Software, and to permit persons to whom the | ||
69 | +# Software is furnished to do so, subject to the following conditions: | ||
70 | +# | ||
71 | +# The above copyright notice and this permission notice (including the next | ||
72 | +# paragraph) shall be included in all copies or substantial portions of the | ||
73 | +# Software. | ||
74 | +# | ||
75 | +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR | ||
76 | +# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, | ||
77 | +# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL | ||
78 | +# THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER | ||
79 | +# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING | ||
80 | +# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS | ||
81 | +# IN THE SOFTWARE. | ||
82 | +# | ||
83 | +# Authors: | ||
84 | +# Jérôme Glisse <glisse@freedesktop.org> | ||
85 | +# Thomas White <taw@bitwiz.org.uk> | ||
86 | + | ||
87 | +AM_CFLAGS = \ | ||
88 | + $(WARN_CFLAGS) \ | ||
89 | + -I$(top_srcdir) \ | ||
90 | + -I$(top_srcdir)/glamo \ | ||
91 | + $(PTHREADSTUBS_CFLAGS) \ | ||
92 | + -I$(top_srcdir)/include/drm | ||
93 | + | ||
94 | +libdrm_glamo_la_LTLIBRARIES = libdrm_glamo.la | ||
95 | +libdrm_glamo_ladir = $(libdir) | ||
96 | +libdrm_glamo_la_LDFLAGS = -version-number 1:0:0 -no-undefined | ||
97 | +libdrm_glamo_la_LIBADD = ../libdrm.la @PTHREADSTUBS_LIBS@ | ||
98 | + | ||
99 | +libdrm_glamo_la_SOURCES = \ | ||
100 | + glamo_bo_gem.c \ | ||
101 | + glamo_track.c | ||
102 | + | ||
103 | +libdrm_glamoincludedir = ${includedir}/libdrm | ||
104 | +libdrm_glamoinclude_HEADERS = \ | ||
105 | + glamo_bo.h \ | ||
106 | + glamo_bo_gem.h \ | ||
107 | + glamo_track.h | ||
108 | + | ||
109 | +pkgconfigdir = @pkgconfigdir@ | ||
110 | +pkgconfig_DATA = libdrm_glamo.pc | ||
111 | + | ||
112 | +EXTRA_DIST = libdrm_glamo.pc.in | ||
113 | diff --git a/glamo/glamo_bo.h b/glamo/glamo_bo.h | ||
114 | new file mode 100644 | ||
115 | index 0000000..8ef2a18 | ||
116 | --- /dev/null | ||
117 | +++ b/glamo/glamo_bo.h | ||
118 | @@ -0,0 +1,183 @@ | ||
119 | +/* | ||
120 | + * Copyright (c) 2009 Thomas White | ||
121 | + * | ||
122 | + * Heavily based on radeon_bo.h | ||
123 | + * Copyright © 2008 Jérôme Glisse | ||
124 | + * All Rights Reserved. | ||
125 | + * | ||
126 | + * Permission is hereby granted, free of charge, to any person obtaining | ||
127 | + * a copy of this software and associated documentation files (the | ||
128 | + * "Software"), to deal in the Software without restriction, including | ||
129 | + * without limitation the rights to use, copy, modify, merge, publish, | ||
130 | + * distribute, sub license, and/or sell copies of the Software, and to | ||
131 | + * permit persons to whom the Software is furnished to do so, subject to | ||
132 | + * the following conditions: | ||
133 | + * | ||
134 | + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, | ||
135 | + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES | ||
136 | + * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND | ||
137 | + * NON-INFRINGEMENT. IN NO EVENT SHALL THE COPYRIGHT HOLDERS, AUTHORS | ||
138 | + * AND/OR ITS SUPPLIERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER | ||
139 | + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, | ||
140 | + * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE | ||
141 | + * USE OR OTHER DEALINGS IN THE SOFTWARE. | ||
142 | + * | ||
143 | + * The above copyright notice and this permission notice (including the | ||
144 | + * next paragraph) shall be included in all copies or substantial portions | ||
145 | + * of the Software. | ||
146 | + */ | ||
147 | +/* | ||
148 | + * Authors: | ||
149 | + * Jérôme Glisse <glisse@freedesktop.org> | ||
150 | + * Thomas White <taw@bitwiz.org.uk> | ||
151 | + */ | ||
152 | +#ifndef GLAMO_BO_H | ||
153 | +#define GLAMO_BO_H | ||
154 | + | ||
155 | +#include <stdio.h> | ||
156 | +#include <stdint.h> | ||
157 | +#include "glamo_track.h" | ||
158 | + | ||
159 | +/* bo object */ | ||
160 | +#define GLAMO_BO_FLAGS_MACRO_TILE 1 | ||
161 | +#define GLAMO_BO_FLAGS_MICRO_TILE 2 | ||
162 | + | ||
163 | +struct glamo_bo_manager; | ||
164 | + | ||
165 | +struct glamo_bo { | ||
166 | + uint32_t alignment; | ||
167 | + uint32_t handle; | ||
168 | + uint32_t size; | ||
169 | + uint32_t domains; | ||
170 | + uint32_t flags; | ||
171 | + unsigned cref; | ||
172 | +#ifdef GLAMO_BO_TRACK | ||
173 | + struct glamo_track *track; | ||
174 | +#endif | ||
175 | + struct glamo_bo_manager *bom; | ||
176 | + void *virtual; | ||
177 | + uint32_t space_accounted; | ||
178 | +}; | ||
179 | + | ||
180 | +/* bo functions */ | ||
181 | +struct glamo_bo_funcs { | ||
182 | + struct glamo_bo *(*bo_open)(struct glamo_bo_manager *bom, | ||
183 | + uint32_t handle, | ||
184 | + uint32_t size, | ||
185 | + uint32_t alignment, | ||
186 | + uint32_t domains, | ||
187 | + uint32_t flags); | ||
188 | + void (*bo_ref)(struct glamo_bo *bo); | ||
189 | + struct glamo_bo *(*bo_unref)(struct glamo_bo *bo); | ||
190 | + int (*bo_map)(struct glamo_bo *bo, int write); | ||
191 | + int (*bo_unmap)(struct glamo_bo *bo); | ||
192 | + int (*bo_wait)(struct glamo_bo *bo); | ||
193 | +}; | ||
194 | + | ||
195 | +struct glamo_bo_manager { | ||
196 | + struct glamo_bo_funcs *funcs; | ||
197 | + int fd; | ||
198 | + struct glamo_tracker tracker; | ||
199 | +}; | ||
200 | + | ||
201 | +static inline void _glamo_bo_debug(struct glamo_bo *bo, | ||
202 | + const char *op, | ||
203 | + const char *file, | ||
204 | + const char *func, | ||
205 | + int line) | ||
206 | +{ | ||
207 | + fprintf(stderr, "%s %p 0x%08X 0x%08X 0x%08X [%s %s %d]\n", | ||
208 | + op, (void *)bo, bo->handle, bo->size, bo->cref, file, func, line); | ||
209 | +} | ||
210 | + | ||
211 | +static inline struct glamo_bo *_glamo_bo_open(struct glamo_bo_manager *bom, | ||
212 | + uint32_t handle, | ||
213 | + uint32_t size, | ||
214 | + uint32_t alignment, | ||
215 | + uint32_t domains, | ||
216 | + uint32_t flags, | ||
217 | + const char *file, | ||
218 | + const char *func, | ||
219 | + int line) | ||
220 | +{ | ||
221 | + struct glamo_bo *bo; | ||
222 | + | ||
223 | + bo = bom->funcs->bo_open(bom, handle, size, alignment, domains, flags); | ||
224 | +#ifdef GLAMO_BO_TRACK | ||
225 | + if (bo) { | ||
226 | + bo->track = glamo_tracker_add_track(&bom->tracker, bo->handle); | ||
227 | + glamo_track_add_event(bo->track, file, func, "open", line); | ||
228 | + } | ||
229 | +#endif | ||
230 | + return bo; | ||
231 | +} | ||
232 | + | ||
233 | +static inline void _glamo_bo_ref(struct glamo_bo *bo, | ||
234 | + const char *file, | ||
235 | + const char *func, | ||
236 | + int line) | ||
237 | +{ | ||
238 | + bo->cref++; | ||
239 | +#ifdef GLAMO_BO_TRACK | ||
240 | + glamo_track_add_event(bo->track, file, func, "ref", line); | ||
241 | +#endif | ||
242 | + bo->bom->funcs->bo_ref(bo); | ||
243 | +} | ||
244 | + | ||
245 | +static inline struct glamo_bo *_glamo_bo_unref(struct glamo_bo *bo, | ||
246 | + const char *file, | ||
247 | + const char *func, | ||
248 | + int line) | ||
249 | +{ | ||
250 | + bo->cref--; | ||
251 | +#ifdef GLAMO_BO_TRACK | ||
252 | + glamo_track_add_event(bo->track, file, func, "unref", line); | ||
253 | + if (bo->cref <= 0) { | ||
254 | + glamo_tracker_remove_track(&bo->bom->tracker, bo->track); | ||
255 | + bo->track = NULL; | ||
256 | + } | ||
257 | +#endif | ||
258 | + return bo->bom->funcs->bo_unref(bo); | ||
259 | +} | ||
260 | + | ||
261 | +static inline int _glamo_bo_map(struct glamo_bo *bo, | ||
262 | + int write, | ||
263 | + const char *file, | ||
264 | + const char *func, | ||
265 | + int line) | ||
266 | +{ | ||
267 | + return bo->bom->funcs->bo_map(bo, write); | ||
268 | +} | ||
269 | + | ||
270 | +static inline int _glamo_bo_unmap(struct glamo_bo *bo, | ||
271 | + const char *file, | ||
272 | + const char *func, | ||
273 | + int line) | ||
274 | +{ | ||
275 | + return bo->bom->funcs->bo_unmap(bo); | ||
276 | +} | ||
277 | + | ||
278 | +static inline int _glamo_bo_wait(struct glamo_bo *bo, | ||
279 | + const char *file, | ||
280 | + const char *func, | ||
281 | + int line) | ||
282 | +{ | ||
283 | + return bo->bom->funcs->bo_wait(bo); | ||
284 | +} | ||
285 | + | ||
286 | +#define glamo_bo_open(bom, h, s, a, d, f)\ | ||
287 | + _glamo_bo_open(bom, h, s, a, d, f, __FILE__, __FUNCTION__, __LINE__) | ||
288 | +#define glamo_bo_ref(bo)\ | ||
289 | + _glamo_bo_ref(bo, __FILE__, __FUNCTION__, __LINE__) | ||
290 | +#define glamo_bo_unref(bo)\ | ||
291 | + _glamo_bo_unref(bo, __FILE__, __FUNCTION__, __LINE__) | ||
292 | +#define glamo_bo_map(bo, w)\ | ||
293 | + _glamo_bo_map(bo, w, __FILE__, __FUNCTION__, __LINE__) | ||
294 | +#define glamo_bo_unmap(bo)\ | ||
295 | + _glamo_bo_unmap(bo, __FILE__, __FUNCTION__, __LINE__) | ||
296 | +#define glamo_bo_debug(bo, opcode)\ | ||
297 | + _glamo_bo_debug(bo, opcode, __FILE__, __FUNCTION__, __LINE__) | ||
298 | +#define glamo_bo_wait(bo) \ | ||
299 | + _glamo_bo_wait(bo, __FILE__, __func__, __LINE__) | ||
300 | + | ||
301 | +#endif | ||
302 | diff --git a/glamo/glamo_bo_gem.c b/glamo/glamo_bo_gem.c | ||
303 | new file mode 100644 | ||
304 | index 0000000..38a4436 | ||
305 | --- /dev/null | ||
306 | +++ b/glamo/glamo_bo_gem.c | ||
307 | @@ -0,0 +1,336 @@ | ||
308 | +/* | ||
309 | + * Copyright © 2009 Thomas White | ||
310 | + * | ||
311 | + * Based on radeon_bo_gem.c, to which the following notice applies: | ||
312 | + * | ||
313 | + * Copyright © 2008 Dave Airlie | ||
314 | + * Copyright © 2008 Jérôme Glisse | ||
315 | + * All Rights Reserved. | ||
316 | + * | ||
317 | + * Permission is hereby granted, free of charge, to any person obtaining | ||
318 | + * a copy of this software and associated documentation files (the | ||
319 | + * "Software"), to deal in the Software without restriction, including | ||
320 | + * without limitation the rights to use, copy, modify, merge, publish, | ||
321 | + * distribute, sub license, and/or sell copies of the Software, and to | ||
322 | + * permit persons to whom the Software is furnished to do so, subject to | ||
323 | + * the following conditions: | ||
324 | + * | ||
325 | + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, | ||
326 | + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES | ||
327 | + * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND | ||
328 | + * NON-INFRINGEMENT. IN NO EVENT SHALL THE COPYRIGHT HOLDERS, AUTHORS | ||
329 | + * AND/OR ITS SUPPLIERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER | ||
330 | + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, | ||
331 | + * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE | ||
332 | + * USE OR OTHER DEALINGS IN THE SOFTWARE. | ||
333 | + * | ||
334 | + * The above copyright notice and this permission notice (including the | ||
335 | + * next paragraph) shall be included in all copies or substantial portions | ||
336 | + * of the Software. | ||
337 | + */ | ||
338 | +/* | ||
339 | + * Authors: | ||
340 | + * Dave Airlie | ||
341 | + * Jérôme Glisse <glisse@freedesktop.org> | ||
342 | + * | ||
343 | + * | ||
344 | + * Memory mapping functions are based on intel_bufmgr_gem.c, to which the | ||
345 | + * following notice applies: | ||
346 | + * | ||
347 | + * Copyright © 2007 Red Hat Inc. | ||
348 | + * Copyright © 2007 Intel Corporation | ||
349 | + * Copyright 2006 Tungsten Graphics, Inc., Bismarck, ND., USA | ||
350 | + * All Rights Reserved. | ||
351 | + * | ||
352 | + * Permission is hereby granted, free of charge, to any person obtaining a | ||
353 | + * copy of this software and associated documentation files (the | ||
354 | + * "Software"), to deal in the Software without restriction, including | ||
355 | + * without limitation the rights to use, copy, modify, merge, publish, | ||
356 | + * distribute, sub license, and/or sell copies of the Software, and to | ||
357 | + * permit persons to whom the Software is furnished to do so, subject to | ||
358 | + * the following conditions: | ||
359 | + * | ||
360 | + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR | ||
361 | + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, | ||
362 | + * FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL | ||
363 | + * THE COPYRIGHT HOLDERS, AUTHORS AND/OR ITS SUPPLIERS BE LIABLE FOR ANY CLAIM, | ||
364 | + * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR | ||
365 | + * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE | ||
366 | + * USE OR OTHER DEALINGS IN THE SOFTWARE. | ||
367 | + * | ||
368 | + * The above copyright notice and this permission notice (including the | ||
369 | + * next paragraph) shall be included in all copies or substantial portions | ||
370 | + * of the Software. | ||
371 | + * | ||
372 | + * | ||
373 | + **************************************************************************/ | ||
374 | +/* | ||
375 | + * Authors: Thomas Hellström <thomas-at-tungstengraphics-dot-com> | ||
376 | + * Keith Whitwell <keithw-at-tungstengraphics-dot-com> | ||
377 | + * Eric Anholt <eric@anholt.net> | ||
378 | + * Dave Airlie <airlied@linux.ie> | ||
379 | + */ | ||
380 | + | ||
381 | +#ifdef HAVE_CONFIG_H | ||
382 | +#include "config.h" | ||
383 | +#endif | ||
384 | + | ||
385 | +#include <stdio.h> | ||
386 | +#include <stdint.h> | ||
387 | +#include <stdlib.h> | ||
388 | +#include <string.h> | ||
389 | +#include <sys/mman.h> | ||
390 | +#include <sys/ioctl.h> | ||
391 | +#include <errno.h> | ||
392 | + | ||
393 | +#include "xf86drm.h" | ||
394 | +#include "drm.h" | ||
395 | +#include "glamo_drm.h" | ||
396 | +#include "glamo_bo.h" | ||
397 | +#include "glamo_bo_gem.h" | ||
398 | + | ||
399 | +struct glamo_bo_gem { | ||
400 | + struct glamo_bo base; | ||
401 | + uint32_t name; | ||
402 | + int map_count; | ||
403 | +}; | ||
404 | + | ||
405 | +struct bo_manager_gem { | ||
406 | + struct glamo_bo_manager base; | ||
407 | +}; | ||
408 | + | ||
409 | +static struct glamo_bo *bo_open(struct glamo_bo_manager *bom, | ||
410 | + uint32_t handle, | ||
411 | + uint32_t size, | ||
412 | + uint32_t alignment, | ||
413 | + uint32_t domains, | ||
414 | + uint32_t flags) | ||
415 | +{ | ||
416 | + struct glamo_bo_gem *bo; | ||
417 | + int r; | ||
418 | + | ||
419 | + bo = (struct glamo_bo_gem*)calloc(1, sizeof(struct glamo_bo_gem)); | ||
420 | + if (bo == NULL) { | ||
421 | + return NULL; | ||
422 | + } | ||
423 | + | ||
424 | + bo->base.bom = bom; | ||
425 | + bo->base.handle = 0; | ||
426 | + bo->base.size = size; | ||
427 | + bo->base.alignment = alignment; | ||
428 | + bo->base.domains = domains; | ||
429 | + bo->base.flags = flags; | ||
430 | + bo->base.cref = 0; | ||
431 | + bo->map_count = 0; | ||
432 | + bo->base.virtual = NULL; | ||
433 | + if (handle) { | ||
434 | + struct drm_gem_open open_arg; | ||
435 | + | ||
436 | + memset(&open_arg, 0, sizeof(open_arg)); | ||
437 | + open_arg.name = handle; | ||
438 | + r = ioctl(bom->fd, DRM_IOCTL_GEM_OPEN, &open_arg); | ||
439 | + if (r != 0) { | ||
440 | + free(bo); | ||
441 | + return NULL; | ||
442 | + } | ||
443 | + bo->base.handle = open_arg.handle; | ||
444 | + bo->base.size = open_arg.size; | ||
445 | + bo->name = handle; | ||
446 | + } else { | ||
447 | + struct drm_glamo_gem_create args; | ||
448 | + | ||
449 | + args.size = size; | ||
450 | + args.alignment = alignment; | ||
451 | + args.initial_domain = bo->base.domains; | ||
452 | + args.no_backing_store = 0; | ||
453 | + args.handle = 0; | ||
454 | + r = drmCommandWriteRead(bom->fd, DRM_GLAMO_GEM_CREATE, | ||
455 | + &args, sizeof(args)); | ||
456 | + bo->base.handle = args.handle; | ||
457 | + if (r) { | ||
458 | + fprintf(stderr, "Failed to allocate :\n"); | ||
459 | + fprintf(stderr, " size : %d bytes\n", size); | ||
460 | + fprintf(stderr, " alignment : %d bytes\n", alignment); | ||
461 | + free(bo); | ||
462 | + return NULL; | ||
463 | + } | ||
464 | + } | ||
465 | + glamo_bo_ref((struct glamo_bo*)bo); | ||
466 | + return (struct glamo_bo*)bo; | ||
467 | +} | ||
468 | + | ||
469 | +static void bo_ref(struct glamo_bo *bo) | ||
470 | +{ | ||
471 | +} | ||
472 | + | ||
473 | +static struct glamo_bo *bo_unref(struct glamo_bo *bo) | ||
474 | +{ | ||
475 | + struct glamo_bo_gem *bo_gem = (struct glamo_bo_gem*)bo; | ||
476 | + struct drm_gem_close args; | ||
477 | + | ||
478 | + if (bo == NULL) { | ||
479 | + return NULL; | ||
480 | + } | ||
481 | + if (bo->cref) { | ||
482 | + return bo; | ||
483 | + } | ||
484 | + if (bo_gem->map_count) { | ||
485 | + munmap(bo->virtual, bo->size); | ||
486 | + } | ||
487 | + | ||
488 | + /* close object */ | ||
489 | + args.handle = bo->handle; | ||
490 | + ioctl(bo->bom->fd, DRM_IOCTL_GEM_CLOSE, &args); | ||
491 | + memset(bo_gem, 0, sizeof(struct glamo_bo_gem)); | ||
492 | + free(bo_gem); | ||
493 | + return NULL; | ||
494 | +} | ||
495 | + | ||
496 | +static int bo_map(struct glamo_bo *bo, int write) | ||
497 | +{ | ||
498 | + struct glamo_bo_gem *bo_gem; | ||
499 | + struct glamo_bo_manager *bufmgr; | ||
500 | + int ret; | ||
501 | + | ||
502 | + bo_gem = (struct glamo_bo_gem *)bo; | ||
503 | + bufmgr = (struct glamo_bo_manager*)bo->bom; | ||
504 | + | ||
505 | + /* Get a mapping of the buffer if we haven't before. */ | ||
506 | + if (bo->virtual == NULL) { | ||
507 | + | ||
508 | + struct drm_glamo_gem_mmap mmap_arg; | ||
509 | + | ||
510 | + memset(&mmap_arg, 0, sizeof(mmap_arg)); | ||
511 | + mmap_arg.handle = bo->handle; | ||
512 | + | ||
513 | + /* Get the fake offset back... */ | ||
514 | + ret = ioctl(bufmgr->fd, DRM_IOCTL_GLAMO_GEM_MMAP, &mmap_arg); | ||
515 | + if (ret != 0) { | ||
516 | + fprintf(stderr, | ||
517 | + "%s:%d: Error preparing BO map %d (%d): %s .\n", | ||
518 | + __FILE__, __LINE__, | ||
519 | + bo->handle, bo_gem->name, | ||
520 | + strerror(errno)); | ||
521 | + return ret; | ||
522 | + } | ||
523 | + /* and mmap it */ | ||
524 | + bo->virtual = mmap(0, bo->size, PROT_READ | PROT_WRITE, | ||
525 | + MAP_SHARED, bufmgr->fd, | ||
526 | + mmap_arg.offset); | ||
527 | + if (bo->virtual == MAP_FAILED) { | ||
528 | + fprintf(stderr, | ||
529 | + "%s:%d: Error mapping buffer %d (%d): %s .\n", | ||
530 | + __FILE__, __LINE__, | ||
531 | + bo->handle, bo_gem->name, | ||
532 | + strerror(errno)); | ||
533 | + return errno; | ||
534 | + } | ||
535 | + } | ||
536 | + bo_gem->map_count++; | ||
537 | + | ||
538 | + return 0; | ||
539 | +} | ||
540 | + | ||
541 | +static int bo_unmap(struct glamo_bo *bo) | ||
542 | +{ | ||
543 | + struct glamo_bo_gem *bo_gem = (struct glamo_bo_gem*)bo; | ||
544 | + | ||
545 | + if ( bo_gem->map_count == 0 ) { | ||
546 | + fprintf(stderr, "Not unmapping %p, because its map count" | ||
547 | + " is already zero.\n", bo_gem); | ||
548 | + return 0; | ||
549 | + } | ||
550 | + | ||
551 | + if (--bo_gem->map_count > 0) { | ||
552 | + return 0; | ||
553 | + } | ||
554 | + munmap(bo->virtual, bo->size); | ||
555 | + bo->virtual = NULL; | ||
556 | + return 0; | ||
557 | +} | ||
558 | + | ||
559 | +static int bo_wait(struct glamo_bo *bo) | ||
560 | +{ | ||
561 | + struct drm_glamo_gem_wait_rendering args; | ||
562 | + int ret; | ||
563 | + | ||
564 | + args.handle = bo->handle; | ||
565 | + args.have_handle = 1; | ||
566 | + do { | ||
567 | + ret = drmCommandWriteRead(bo->bom->fd, | ||
568 | + DRM_GLAMO_GEM_WAIT_RENDERING, | ||
569 | + &args, sizeof(args)); | ||
570 | + } while (ret == -EAGAIN); | ||
571 | + return ret; | ||
572 | +} | ||
573 | + | ||
574 | +static struct glamo_bo_funcs bo_gem_funcs = { | ||
575 | + bo_open, | ||
576 | + bo_ref, | ||
577 | + bo_unref, | ||
578 | + bo_map, | ||
579 | + bo_unmap, | ||
580 | + bo_wait | ||
581 | +}; | ||
582 | + | ||
583 | +struct glamo_bo_manager *glamo_bo_manager_gem_ctor(int fd) | ||
584 | +{ | ||
585 | + struct bo_manager_gem *bomg; | ||
586 | + | ||
587 | + bomg = (struct bo_manager_gem*)calloc(1, sizeof(struct bo_manager_gem)); | ||
588 | + if (bomg == NULL) return NULL; | ||
589 | + | ||
590 | + bomg->base.funcs = &bo_gem_funcs; | ||
591 | + bomg->base.fd = fd; | ||
592 | + return (struct glamo_bo_manager*)bomg; | ||
593 | +} | ||
594 | + | ||
595 | +void glamo_bo_manager_gem_dtor(struct glamo_bo_manager *bom) | ||
596 | +{ | ||
597 | + struct bo_manager_gem *bomg = (struct bo_manager_gem*)bom; | ||
598 | + | ||
599 | + if (bom == NULL) return; | ||
600 | + free(bomg); | ||
601 | +} | ||
602 | + | ||
603 | +uint32_t glamo_gem_get_name(struct glamo_bo *bo) | ||
604 | +{ | ||
605 | + struct glamo_bo_gem *bo_gem = (struct glamo_bo_gem*)bo; | ||
606 | + return bo_gem->name; | ||
607 | +} | ||
608 | + | ||
609 | +int glamo_gem_name_buffer(struct glamo_bo *bo, uint32_t *name) | ||
610 | +{ | ||
611 | + struct drm_gem_flink flink; | ||
612 | + int r; | ||
613 | + | ||
614 | + if ( !bo ) { | ||
615 | + fprintf(stderr, "No buffer object!\n"); | ||
616 | + return -1; | ||
617 | + } | ||
618 | + | ||
619 | + flink.handle = bo->handle; | ||
620 | + r = ioctl(bo->bom->fd, DRM_IOCTL_GEM_FLINK, &flink); | ||
621 | + if (r) return r; | ||
622 | + | ||
623 | + *name = flink.name; | ||
624 | + return 0; | ||
625 | +} | ||
626 | + | ||
627 | +int glamo_bo_subdata(struct glamo_bo *bo, unsigned long offset, | ||
628 | + unsigned long size, const void *data) | ||
629 | +{ | ||
630 | + int ret; | ||
631 | + | ||
632 | + if (size == 0 || data == NULL) | ||
633 | + return 0; | ||
634 | + | ||
635 | + ret = bo_map(bo, 1); | ||
636 | + if ( ret ) return ret; | ||
637 | + | ||
638 | + memcpy((unsigned char *)bo->virtual + offset, data, size); | ||
639 | + | ||
640 | + bo_unmap(bo); | ||
641 | + | ||
642 | + return 0; | ||
643 | +} | ||
644 | diff --git a/glamo/glamo_bo_gem.h b/glamo/glamo_bo_gem.h | ||
645 | new file mode 100644 | ||
646 | index 0000000..05b5fb9 | ||
647 | --- /dev/null | ||
648 | +++ b/glamo/glamo_bo_gem.h | ||
649 | @@ -0,0 +1,43 @@ | ||
650 | +/* | ||
651 | + * Copyright © 2008 Dave Airlie | ||
652 | + * Copyright © 2008 Jérôme Glisse | ||
653 | + * All Rights Reserved. | ||
654 | + * | ||
655 | + * Permission is hereby granted, free of charge, to any person obtaining | ||
656 | + * a copy of this software and associated documentation files (the | ||
657 | + * "Software"), to deal in the Software without restriction, including | ||
658 | + * without limitation the rights to use, copy, modify, merge, publish, | ||
659 | + * distribute, sub license, and/or sell copies of the Software, and to | ||
660 | + * permit persons to whom the Software is furnished to do so, subject to | ||
661 | + * the following conditions: | ||
662 | + * | ||
663 | + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, | ||
664 | + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES | ||
665 | + * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND | ||
666 | + * NON-INFRINGEMENT. IN NO EVENT SHALL THE COPYRIGHT HOLDERS, AUTHORS | ||
667 | + * AND/OR ITS SUPPLIERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER | ||
668 | + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, | ||
669 | + * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE | ||
670 | + * USE OR OTHER DEALINGS IN THE SOFTWARE. | ||
671 | + * | ||
672 | + * The above copyright notice and this permission notice (including the | ||
673 | + * next paragraph) shall be included in all copies or substantial portions | ||
674 | + * of the Software. | ||
675 | + */ | ||
676 | +/* | ||
677 | + * Authors: | ||
678 | + * Dave Airlie | ||
679 | + * Jérôme Glisse <glisse@freedesktop.org> | ||
680 | + */ | ||
681 | +#ifndef GLAMO_BO_GEM_H | ||
682 | +#define GLAMO_BO_GEM_H | ||
683 | + | ||
684 | +#include "glamo_bo.h" | ||
685 | + | ||
686 | +struct glamo_bo_manager *glamo_bo_manager_gem_ctor(int fd); | ||
687 | +void glamo_bo_manager_gem_dtor(struct glamo_bo_manager *bom); | ||
688 | +int glamo_gem_name_buffer(struct glamo_bo *bo, uint32_t *name); | ||
689 | +uint32_t glamo_gem_get_name(struct glamo_bo *bo); | ||
690 | +extern int glamo_bo_subdata(struct glamo_bo *bo, unsigned long offset, | ||
691 | + unsigned long size, const void *data); | ||
692 | +#endif | ||
693 | diff --git a/glamo/glamo_track.c b/glamo/glamo_track.c | ||
694 | new file mode 100644 | ||
695 | index 0000000..27ffe41 | ||
696 | --- /dev/null | ||
697 | +++ b/glamo/glamo_track.c | ||
698 | @@ -0,0 +1,140 @@ | ||
699 | +/* | ||
700 | + * Copyright © 2008 Jérôme Glisse | ||
701 | + * All Rights Reserved. | ||
702 | + * | ||
703 | + * Permission is hereby granted, free of charge, to any person obtaining | ||
704 | + * a copy of this software and associated documentation files (the | ||
705 | + * "Software"), to deal in the Software without restriction, including | ||
706 | + * without limitation the rights to use, copy, modify, merge, publish, | ||
707 | + * distribute, sub license, and/or sell copies of the Software, and to | ||
708 | + * permit persons to whom the Software is furnished to do so, subject to | ||
709 | + * the following conditions: | ||
710 | + * | ||
711 | + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, | ||
712 | + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES | ||
713 | + * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND | ||
714 | + * NON-INFRINGEMENT. IN NO EVENT SHALL THE COPYRIGHT HOLDERS, AUTHORS | ||
715 | + * AND/OR ITS SUPPLIERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER | ||
716 | + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, | ||
717 | + * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE | ||
718 | + * USE OR OTHER DEALINGS IN THE SOFTWARE. | ||
719 | + * | ||
720 | + * The above copyright notice and this permission notice (including the | ||
721 | + * next paragraph) shall be included in all copies or substantial portions | ||
722 | + * of the Software. | ||
723 | + */ | ||
724 | +/* | ||
725 | + * Authors: | ||
726 | + * Jérôme Glisse <glisse@freedesktop.org> | ||
727 | + */ | ||
728 | +#include <stdio.h> | ||
729 | +#include <stdlib.h> | ||
730 | +#include <string.h> | ||
731 | +#include "glamo_track.h" | ||
732 | + | ||
733 | +void glamo_track_add_event(struct glamo_track *track, | ||
734 | + const char *file, | ||
735 | + const char *func, | ||
736 | + const char *op, | ||
737 | + unsigned line) | ||
738 | +{ | ||
739 | + struct glamo_track_event *event; | ||
740 | + | ||
741 | + if (track == NULL) { | ||
742 | + return; | ||
743 | + } | ||
744 | + event = (void*)calloc(1,sizeof(struct glamo_track_event)); | ||
745 | + if (event == NULL) { | ||
746 | + return; | ||
747 | + } | ||
748 | + event->line = line; | ||
749 | + event->file = strdup(file); | ||
750 | + event->func = strdup(func); | ||
751 | + event->op = strdup(op); | ||
752 | + if (event->file == NULL || event->func == NULL || event->op == NULL) { | ||
753 | + free(event->file); | ||
754 | + free(event->func); | ||
755 | + free(event->op); | ||
756 | + free(event); | ||
757 | + return; | ||
758 | + } | ||
759 | + event->next = track->events; | ||
760 | + track->events = event; | ||
761 | +} | ||
762 | + | ||
763 | +struct glamo_track *glamo_tracker_add_track(struct glamo_tracker *tracker, | ||
764 | + unsigned key) | ||
765 | +{ | ||
766 | + struct glamo_track *track; | ||
767 | + | ||
768 | + track = (struct glamo_track*)calloc(1, sizeof(struct glamo_track)); | ||
769 | + if (track) { | ||
770 | + track->next = tracker->tracks.next; | ||
771 | + track->prev = &tracker->tracks; | ||
772 | + tracker->tracks.next = track; | ||
773 | + if (track->next) { | ||
774 | + track->next->prev = track; | ||
775 | + } | ||
776 | + track->key = key; | ||
777 | + track->events = NULL; | ||
778 | + } | ||
779 | + return track; | ||
780 | +} | ||
781 | + | ||
782 | +void glamo_tracker_remove_track(struct glamo_tracker *tracker, | ||
783 | + struct glamo_track *track) | ||
784 | +{ | ||
785 | + struct glamo_track_event *event; | ||
786 | + void *tmp; | ||
787 | + | ||
788 | + if (track == NULL) { | ||
789 | + return; | ||
790 | + } | ||
791 | + track->prev->next = track->next; | ||
792 | + if (track->next) { | ||
793 | + track->next->prev = track->prev; | ||
794 | + } | ||
795 | + track->next = track->prev = NULL; | ||
796 | + event = track->events; | ||
797 | + while (event) { | ||
798 | + tmp = event; | ||
799 | + free(event->file); | ||
800 | + free(event->func); | ||
801 | + free(event->op); | ||
802 | + event = event->next; | ||
803 | + free(tmp); | ||
804 | + } | ||
805 | + track->events = NULL; | ||
806 | + free(track); | ||
807 | +} | ||
808 | + | ||
809 | +void glamo_tracker_print(struct glamo_tracker *tracker, FILE *file) | ||
810 | +{ | ||
811 | + struct glamo_track *track; | ||
812 | + struct glamo_track_event *event; | ||
813 | + void *tmp; | ||
814 | + | ||
815 | + track = tracker->tracks.next; | ||
816 | + while (track) { | ||
817 | + event = track->events; | ||
818 | + fprintf(file, "[0x%08X] :\n", track->key); | ||
819 | + while (event) { | ||
820 | + tmp = event; | ||
821 | + fprintf(file, " [0x%08X:%s](%s:%s:%d)\n", | ||
822 | + track->key, event->op, event->file, | ||
823 | + event->func, event->line); | ||
824 | + free(event->file); | ||
825 | + free(event->func); | ||
826 | + free(event->op); | ||
827 | + event->file = NULL; | ||
828 | + event->func = NULL; | ||
829 | + event->op = NULL; | ||
830 | + event = event->next; | ||
831 | + free(tmp); | ||
832 | + } | ||
833 | + track->events = NULL; | ||
834 | + tmp = track; | ||
835 | + track = track->next; | ||
836 | + free(tmp); | ||
837 | + } | ||
838 | +} | ||
839 | diff --git a/glamo/glamo_track.h b/glamo/glamo_track.h | ||
840 | new file mode 100644 | ||
841 | index 0000000..fedead7 | ||
842 | --- /dev/null | ||
843 | +++ b/glamo/glamo_track.h | ||
844 | @@ -0,0 +1,64 @@ | ||
845 | +/* | ||
846 | + * Copyright © 2008 Jérôme Glisse | ||
847 | + * All Rights Reserved. | ||
848 | + * | ||
849 | + * Permission is hereby granted, free of charge, to any person obtaining | ||
850 | + * a copy of this software and associated documentation files (the | ||
851 | + * "Software"), to deal in the Software without restriction, including | ||
852 | + * without limitation the rights to use, copy, modify, merge, publish, | ||
853 | + * distribute, sub license, and/or sell copies of the Software, and to | ||
854 | + * permit persons to whom the Software is furnished to do so, subject to | ||
855 | + * the following conditions: | ||
856 | + * | ||
857 | + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, | ||
858 | + * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES | ||
859 | + * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND | ||
860 | + * NON-INFRINGEMENT. IN NO EVENT SHALL THE COPYRIGHT HOLDERS, AUTHORS | ||
861 | + * AND/OR ITS SUPPLIERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER | ||
862 | + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, | ||
863 | + * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE | ||
864 | + * USE OR OTHER DEALINGS IN THE SOFTWARE. | ||
865 | + * | ||
866 | + * The above copyright notice and this permission notice (including the | ||
867 | + * next paragraph) shall be included in all copies or substantial portions | ||
868 | + * of the Software. | ||
869 | + */ | ||
870 | +/* | ||
871 | + * Authors: | ||
872 | + * Jérôme Glisse <glisse@freedesktop.org> | ||
873 | + */ | ||
874 | +#ifndef GLAMO_TRACK_H | ||
875 | +#define GLAMO_TRACK_H | ||
876 | + | ||
877 | +struct glamo_track_event { | ||
878 | + struct glamo_track_event *next; | ||
879 | + char *file; | ||
880 | + char *func; | ||
881 | + char *op; | ||
882 | + unsigned line; | ||
883 | +}; | ||
884 | + | ||
885 | +struct glamo_track { | ||
886 | + struct glamo_track *next; | ||
887 | + struct glamo_track *prev; | ||
888 | + unsigned key; | ||
889 | + struct glamo_track_event *events; | ||
890 | +}; | ||
891 | + | ||
892 | +struct glamo_tracker { | ||
893 | + struct glamo_track tracks; | ||
894 | +}; | ||
895 | + | ||
896 | +void glamo_track_add_event(struct glamo_track *track, | ||
897 | + const char *file, | ||
898 | + const char *func, | ||
899 | + const char *op, | ||
900 | + unsigned line); | ||
901 | +struct glamo_track *glamo_tracker_add_track(struct glamo_tracker *tracker, | ||
902 | + unsigned key); | ||
903 | +void glamo_tracker_remove_track(struct glamo_tracker *tracker, | ||
904 | + struct glamo_track *track); | ||
905 | +void glamo_tracker_print(struct glamo_tracker *tracker, | ||
906 | + FILE *file); | ||
907 | + | ||
908 | +#endif | ||
909 | diff --git a/glamo/libdrm_glamo.pc.in b/glamo/libdrm_glamo.pc.in | ||
910 | new file mode 100644 | ||
911 | index 0000000..d4d8e70 | ||
912 | --- /dev/null | ||
913 | +++ b/glamo/libdrm_glamo.pc.in | ||
914 | @@ -0,0 +1,10 @@ | ||
915 | +prefix=@prefix@ | ||
916 | +exec_prefix=@exec_prefix@ | ||
917 | +libdir=@libdir@ | ||
918 | +includedir=@includedir@ | ||
919 | + | ||
920 | +Name: libdrm_glamo | ||
921 | +Description: Userspace interface to kernel DRM services for Glamo | ||
922 | +Version: 1.0.1 | ||
923 | +Libs: -L${libdir} -ldrm_glamo | ||
924 | +Cflags: -I${includedir} -I${includedir}/libdrm | ||
925 | diff --git a/include/drm/Makefile.am b/include/drm/Makefile.am | ||
926 | index 43695bd..f3f7edf 100644 | ||
927 | --- a/include/drm/Makefile.am | ||
928 | +++ b/include/drm/Makefile.am | ||
929 | @@ -35,6 +35,7 @@ klibdrminclude_HEADERS = \ | ||
930 | savage_drm.h \ | ||
931 | sis_drm.h \ | ||
932 | via_drm.h \ | ||
933 | + glamo_drm.h \ | ||
934 | mach64_drm.h | ||
935 | |||
936 | |||
937 | diff --git a/include/drm/glamo_drm.h b/include/drm/glamo_drm.h | ||
938 | new file mode 100644 | ||
939 | index 0000000..7629ebc | ||
940 | --- /dev/null | ||
941 | +++ b/include/drm/glamo_drm.h | ||
942 | @@ -0,0 +1,153 @@ | ||
943 | +/* glamo_drm.h -- Public header for the Glamo driver | ||
944 | + * | ||
945 | + * Copyright 2009 Thomas White | ||
946 | + * Copyright 2000 Precision Insight, Inc., Cedar Park, Texas. | ||
947 | + * Copyright 2000 VA Linux Systems, Inc., Fremont, California. | ||
948 | + * Copyright 2002 Tungsten Graphics, Inc., Cedar Park, Texas. | ||
949 | + * All rights reserved. | ||
950 | + * | ||
951 | + * Permission is hereby granted, free of charge, to any person obtaining a | ||
952 | + * copy of this software and associated documentation files (the "Software"), | ||
953 | + * to deal in the Software without restriction, including without limitation | ||
954 | + * the rights to use, copy, modify, merge, publish, distribute, sublicense, | ||
955 | + * and/or sell copies of the Software, and to permit persons to whom the | ||
956 | + * Software is furnished to do so, subject to the following conditions: | ||
957 | + * | ||
958 | + * The above copyright notice and this permission notice (including the next | ||
959 | + * paragraph) shall be included in all copies or substantial portions of the | ||
960 | + * Software. | ||
961 | + * | ||
962 | + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR | ||
963 | + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, | ||
964 | + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL | ||
965 | + * PRECISION INSIGHT AND/OR ITS SUPPLIERS BE LIABLE FOR ANY CLAIM, DAMAGES OR | ||
966 | + * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, | ||
967 | + * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER | ||
968 | + * DEALINGS IN THE SOFTWARE. | ||
969 | + * | ||
970 | + * Authors: | ||
971 | + * Thomas White <taw@bitwiz.org.uk> | ||
972 | + * Kevin E. Martin <martin@valinux.com> | ||
973 | + * Gareth Hughes <gareth@valinux.com> | ||
974 | + * Keith Whitwell <keith@tungstengraphics.com> | ||
975 | + */ | ||
976 | + | ||
977 | +#ifndef __GLAMO_DRM_H__ | ||
978 | +#define __GLAMO_DRM_H__ | ||
979 | + | ||
980 | +#include "drm.h" | ||
981 | + | ||
982 | +#define GLAMO_GEM_DOMAIN_VRAM (0x1) | ||
983 | + | ||
984 | +/* Glamo specific ioctls */ | ||
985 | +#define DRM_GLAMO_CMDBUF 0x01 | ||
986 | +#define DRM_GLAMO_SWAP 0x02 | ||
987 | +#define DRM_GLAMO_CMDBURST 0x03 | ||
988 | + | ||
989 | +#define DRM_GLAMO_GEM_INFO 0x1c | ||
990 | +#define DRM_GLAMO_GEM_CREATE 0x1d | ||
991 | +#define DRM_GLAMO_GEM_MMAP 0x1e | ||
992 | +#define DRM_GLAMO_GEM_PIN 0x1f | ||
993 | +#define DRM_GLAMO_GEM_UNPIN 0x20 | ||
994 | +#define DRM_GLAMO_GEM_PREAD 0x21 | ||
995 | +#define DRM_GLAMO_GEM_PWRITE 0x22 | ||
996 | +#define DRM_GLAMO_GEM_WAIT_RENDERING 0x24 | ||
997 | + | ||
998 | +#define DRM_IOCTL_GLAMO_CMDBUF DRM_IOW(DRM_COMMAND_BASE + DRM_GLAMO_CMDBUF, drm_glamo_cmd_buffer_t) | ||
999 | +#define DRM_IOCTL_GLAMO_SWAP DRM_IO(DRM_COMMAND_BASE + DRM_GLAMO_SWAP) | ||
1000 | +#define DRM_IOCTL_GLAMO_CMDBURST DRM_IOW(DRM_COMMAND_BASE + DRM_GLAMO_CMDBURST, drm_glamo_cmd_burst_t) | ||
1001 | + | ||
1002 | +#define DRM_IOCTL_GLAMO_GEM_INFO DRM_IOWR(DRM_COMMAND_BASE + DRM_GLAMO_GEM_INFO, struct drm_glamo_gem_info) | ||
1003 | +#define DRM_IOCTL_GLAMO_GEM_CREATE DRM_IOWR(DRM_COMMAND_BASE + DRM_GLAMO_GEM_CREATE, struct drm_glamo_gem_create) | ||
1004 | +#define DRM_IOCTL_GLAMO_GEM_MMAP DRM_IOWR(DRM_COMMAND_BASE + DRM_GLAMO_GEM_MMAP, struct drm_glamo_gem_mmap) | ||
1005 | +#define DRM_IOCTL_GLAMO_GEM_PIN DRM_IOWR(DRM_COMMAND_BASE + DRM_GLAMO_GEM_PIN, struct drm_glamo_gem_pin) | ||
1006 | +#define DRM_IOCTL_GLAMO_GEM_UNPIN DRM_IOWR(DRM_COMMAND_BASE + DRM_GLAMO_GEM_UNPIN, struct drm_glamo_gem_unpin) | ||
1007 | +#define DRM_IOCTL_GLAMO_GEM_PREAD DRM_IOWR(DRM_COMMAND_BASE + DRM_GLAMO_GEM_PREAD, struct drm_glamo_gem_pread) | ||
1008 | +#define DRM_IOCTL_GLAMO_GEM_PWRITE DRM_IOWR(DRM_COMMAND_BASE + DRM_GLAMO_GEM_PWRITE, struct drm_glamo_gem_pwrite) | ||
1009 | +#define DRM_IOCTL_GLAMO_GEM_WAIT_RENDERING DRM_IOW(DRM_COMMAND_BASE + DRM_GLAMO_GEM_WAIT_RENDERING, struct drm_glamo_gem_wait_rendering) | ||
1010 | + | ||
1011 | + | ||
1012 | +/* Simple command submission - a list of 16-bit address-data pairs */ | ||
1013 | +typedef struct drm_glamo_cmd_buffer { | ||
1014 | + unsigned int bufsz; /* Size of buffer, in bytes */ | ||
1015 | + char *buf; /* Buffer of stuff to go onto the ring buffer */ | ||
1016 | + unsigned int *obj_pos; /* Offsets (in bytes) at which to put objs */ | ||
1017 | + uint32_t *objs; /* List of buffer object (handles) to use */ | ||
1018 | + unsigned int nobjs; /* Number of objects referenced */ | ||
1019 | + int nbox; | ||
1020 | + struct drm_clip_rect *boxes; | ||
1021 | +} drm_glamo_cmd_buffer_t; | ||
1022 | + | ||
1023 | + | ||
1024 | +/* Burst command submission - base address and data: | ||
1025 | + * - Data can be 32-bit (more easily) | ||
1026 | + * - Easier for the kernel to validate */ | ||
1027 | +typedef struct drm_glamo_cmd_burst { | ||
1028 | + uint16_t base; /* Base address (command) */ | ||
1029 | + int bufsz; /* Size of data, in bytes */ | ||
1030 | + uint16_t *data; /* Pointer to data */ | ||
1031 | + unsigned int *obj_pos; /* Offsets (in bytes) at which to put objs */ | ||
1032 | + uint32_t *objs; /* List of buffer object (handles) to use */ | ||
1033 | + unsigned int nobjs; /* Number of objects referenced */ | ||
1034 | +} drm_glamo_cmd_burst_t; | ||
1035 | + | ||
1036 | +struct drm_glamo_gem_info { | ||
1037 | + uint64_t vram_start; | ||
1038 | + uint64_t vram_size; | ||
1039 | +}; | ||
1040 | + | ||
1041 | +struct drm_glamo_gem_create { | ||
1042 | + uint64_t size; | ||
1043 | + uint64_t alignment; | ||
1044 | + uint32_t handle; | ||
1045 | + uint32_t initial_domain; // to allow VRAM to be created | ||
1046 | + uint32_t no_backing_store; | ||
1047 | +}; | ||
1048 | + | ||
1049 | +struct drm_glamo_gem_mmap { | ||
1050 | + uint32_t handle; /* Handle goes in... */ | ||
1051 | + uint64_t offset; /* ...offset comes out */ | ||
1052 | +}; | ||
1053 | + | ||
1054 | +struct drm_glamo_gem_wait_rendering { | ||
1055 | + uint32_t handle; | ||
1056 | + int have_handle; | ||
1057 | +}; | ||
1058 | + | ||
1059 | +struct drm_glamo_gem_pin { | ||
1060 | + uint32_t handle; | ||
1061 | + uint32_t pin_domain; | ||
1062 | + uint64_t alignment; | ||
1063 | + uint64_t offset; | ||
1064 | +}; | ||
1065 | + | ||
1066 | +struct drm_glamo_gem_unpin { | ||
1067 | + uint32_t handle; | ||
1068 | + uint32_t pad; | ||
1069 | +}; | ||
1070 | + | ||
1071 | +struct drm_glamo_gem_pread { | ||
1072 | + /** Handle for the object being read. */ | ||
1073 | + uint32_t handle; | ||
1074 | + uint32_t pad; | ||
1075 | + /** Offset into the object to read from */ | ||
1076 | + uint64_t offset; | ||
1077 | + /** Length of data to read */ | ||
1078 | + uint64_t size; | ||
1079 | + /** Pointer to write the data into. */ | ||
1080 | + uint64_t data_ptr; /* void *, but pointers are not 32/64 compatible */ | ||
1081 | +}; | ||
1082 | + | ||
1083 | +struct drm_glamo_gem_pwrite { | ||
1084 | + /** Handle for the object being written to. */ | ||
1085 | + uint32_t handle; | ||
1086 | + uint32_t pad; | ||
1087 | + /** Offset into the object to write to */ | ||
1088 | + uint64_t offset; | ||
1089 | + /** Length of data to write */ | ||
1090 | + uint64_t size; | ||
1091 | + /** Pointer to read the data from. */ | ||
1092 | + uint64_t data_ptr; /* void *, but pointers are not 32/64 compatible */ | ||
1093 | +}; | ||
1094 | + | ||
1095 | +#endif | ||
diff --git a/meta-oe/recipes-graphics/drm/libdrm-2.4.24/installtests.patch b/meta-oe/recipes-graphics/drm/libdrm-2.4.24/installtests.patch new file mode 100644 index 000000000..9d6a168bb --- /dev/null +++ b/meta-oe/recipes-graphics/drm/libdrm-2.4.24/installtests.patch | |||
@@ -0,0 +1,43 @@ | |||
1 | Index: libdrm-2.4.7/tests/Makefile.am | ||
2 | =================================================================== | ||
3 | --- libdrm-2.4.7.orig/tests/Makefile.am 2009-04-09 20:16:35.000000000 +0100 | ||
4 | +++ libdrm-2.4.7/tests/Makefile.am 2009-04-17 12:35:14.000000000 +0100 | ||
5 | @@ -6,10 +6,11 @@ | ||
6 | |||
7 | LDADD = $(top_builddir)/libdrm.la | ||
8 | |||
9 | -check_PROGRAMS = \ | ||
10 | +bin_PROGRAMS = \ | ||
11 | dristat \ | ||
12 | drmstat | ||
13 | |||
14 | +check_PROGRAMS = | ||
15 | SUBDIRS = | ||
16 | |||
17 | if HAVE_LIBKMS | ||
18 | Index: libdrm-2.4.7/tests/modeprint/Makefile.am | ||
19 | =================================================================== | ||
20 | --- libdrm-2.4.7.orig/tests/modeprint/Makefile.am 2009-02-17 19:52:37.000000000 +0000 | ||
21 | +++ libdrm-2.4.7/tests/modeprint/Makefile.am 2009-04-17 12:35:32.000000000 +0100 | ||
22 | @@ -3,7 +3,7 @@ | ||
23 | -I$(top_srcdir)/libdrm/intel/ \ | ||
24 | -I$(top_srcdir)/libdrm | ||
25 | |||
26 | -noinst_PROGRAMS = \ | ||
27 | +bin_PROGRAMS = \ | ||
28 | modeprint | ||
29 | |||
30 | modeprint_SOURCES = \ | ||
31 | Index: libdrm-2.4.7/tests/modetest/Makefile.am | ||
32 | =================================================================== | ||
33 | --- libdrm-2.4.7.orig/tests/modetest/Makefile.am 2009-02-17 19:52:37.000000000 +0000 | ||
34 | +++ libdrm-2.4.7/tests/modetest/Makefile.am 2009-04-17 12:35:42.000000000 +0100 | ||
35 | @@ -4,7 +4,7 @@ | ||
36 | -I$(top_srcdir)/libdrm \ | ||
37 | $(CAIRO_CFLAGS) | ||
38 | |||
39 | -noinst_PROGRAMS = \ | ||
40 | +bin_PROGRAMS = \ | ||
41 | modetest | ||
42 | |||
43 | modetest_SOURCES = \ | ||
diff --git a/meta-oe/recipes-graphics/drm/libdrm_2.4.24.bb b/meta-oe/recipes-graphics/drm/libdrm_2.4.24.bb new file mode 100644 index 000000000..0a2365ec3 --- /dev/null +++ b/meta-oe/recipes-graphics/drm/libdrm_2.4.24.bb | |||
@@ -0,0 +1,39 @@ | |||
1 | SUMMARY = "Userspace interface to the kernel DRM services" | ||
2 | DESCRIPTION = "The runtime library for accessing the kernel DRM services. DRM \ | ||
3 | stands for \"Direct Rendering Manager\", which is the kernel portion of the \ | ||
4 | \"Direct Rendering Infrastructure\" (DRI). DRI is required for many hardware \ | ||
5 | accelerated OpenGL drivers." | ||
6 | HOMEPAGE = "http://dri.freedesktop.org" | ||
7 | SECTION = "x11/base" | ||
8 | LICENSE = "MIT" | ||
9 | LIC_FILES_CHKSUM = "file://xf86drm.c;beginline=9;endline=32;md5=c8a3b961af7667c530816761e949dc71" | ||
10 | SRC_URI = "http://dri.freedesktop.org/libdrm/libdrm-${PV}.tar.bz2" | ||
11 | PROVIDES = "drm" | ||
12 | DEPENDS = "libpthread-stubs udev cairo virtual/libx11" | ||
13 | |||
14 | inherit autotools pkgconfig | ||
15 | |||
16 | PACKAGES =+ "${PN}-tests ${PN}-drivers ${PN}-kms ${@base_contains('MACHINE_FEATURES', 'x86', '${PN}-intel', '',d)}" | ||
17 | FILES_${PN}-tests = "${bindir}/dr* ${bindir}/mode*" | ||
18 | FILES_${PN}-drivers = "${libdir}/libdrm_*.so.*" | ||
19 | FILES_${PN}-intel = "${libdir}/libdrm_intel.so.*" | ||
20 | FILES_${PN}-kms = "${libdir}/libkms*.so.*" | ||
21 | |||
22 | LEAD_SONAME = "libdrm.so" | ||
23 | |||
24 | EXTRA_OECONF_append = " ${@base_contains('MACHINE_FEATURES', 'x86', '', '--disable-intel --disable-radeon',d)}" | ||
25 | EXTRA_OECONF_append_shr = " --enable-glamo-experimental-api" | ||
26 | |||
27 | PR = "r8" | ||
28 | |||
29 | SRC_URI += "file://installtests.patch" | ||
30 | SRC_URI += "file://glamo.patch" | ||
31 | |||
32 | SRC_URI[md5sum] = "8d802bf3b368f9fac0d7d17516a9436f" | ||
33 | SRC_URI[sha256sum] = "c7012381f64458af9f291d913309448aac7dd23a28dc86c6970e4bf38effb6a5" | ||
34 | |||
35 | do_compile_prepend_libc-uclibc() { | ||
36 | eval "${@base_contains('DISTRO_FEATURES', 'largefile', '', 'sed -i -e "/_FILE_OFFSET_BITS/d" ${S}/libkms/intel.c', d)}" | ||
37 | eval "${@base_contains('DISTRO_FEATURES', 'largefile', '', 'sed -i -e "/_FILE_OFFSET_BITS/d" ${S}/libkms/vmwgfx.c', d)}" | ||
38 | eval "${@base_contains('DISTRO_FEATURES', 'largefile', '', 'sed -i -e "/_FILE_OFFSET_BITS/d" ${S}/libkms/nouveau.c', d)}" | ||
39 | } | ||
diff --git a/meta-oe/recipes-graphics/mesa/README b/meta-oe/recipes-graphics/mesa/README new file mode 100644 index 000000000..3c6de3ee4 --- /dev/null +++ b/meta-oe/recipes-graphics/mesa/README | |||
@@ -0,0 +1,12 @@ | |||
1 | mesa-common.inc | ||
2 | * Settings shared by ALL recipes | ||
3 | |||
4 | mesa-${PV}.inc | ||
5 | * Settings for particular version, mostly checksums and additional patches | ||
6 | * Patches are stored mesa-${PV} dir and -dri and xlib has adjusted FILESPATHPKG | ||
7 | |||
8 | mesa-dri.inc | ||
9 | * Setting shared by ALL dri recipes - defines what is mesa-dri | ||
10 | |||
11 | mesa-xlib.inc | ||
12 | * Setting shared by ALL xlib recipes - defines what is mesa-xlib | ||
diff --git a/meta-oe/recipes-graphics/mesa/mesa-7.10.2.inc b/meta-oe/recipes-graphics/mesa/mesa-7.10.2.inc new file mode 100644 index 000000000..f49f49598 --- /dev/null +++ b/meta-oe/recipes-graphics/mesa/mesa-7.10.2.inc | |||
@@ -0,0 +1,19 @@ | |||
1 | SRC_URI = "ftp://ftp.freedesktop.org/pub/mesa/${PV}/MesaLib-${PV}.tar.bz2;name=archive \ | ||
2 | file://glamo.patch \ | ||
3 | file://uclibc.patch \ | ||
4 | " | ||
5 | |||
6 | DEPENDS += "talloc" | ||
7 | |||
8 | SRC_URI[archive.md5sum] = "f5de82852f1243f42cc004039e10b771" | ||
9 | SRC_URI[archive.sha256sum] = "8ced2678ce11cf30804694a92ea3ca6b82f158ae8995bdc626c7e85aac71c7c1" | ||
10 | |||
11 | EXTRA_OECONF += " --disable-gallium" | ||
12 | |||
13 | #needs more testing and updated glamo.patch before making default | ||
14 | DEFAULT_PREFERENCE = "-2" | ||
15 | |||
16 | do_configure_prepend() { | ||
17 | #check for python not python2, because python-native does not stage python2 binary/link | ||
18 | sed -i 's/AC_CHECK_PROGS(\[PYTHON2\], \[python2 python\])/AC_CHECK_PROGS(\[PYTHON2\], \[python python\])/g' ${S}/configure.ac | ||
19 | } | ||
diff --git a/meta-oe/recipes-graphics/mesa/mesa-7.10.2/glamo.patch b/meta-oe/recipes-graphics/mesa/mesa-7.10.2/glamo.patch new file mode 100644 index 000000000..5aa45d57e --- /dev/null +++ b/meta-oe/recipes-graphics/mesa/mesa-7.10.2/glamo.patch | |||
@@ -0,0 +1,2425 @@ | |||
1 | git diff upstream/7.10 and gitorious/7.10 | ||
2 | |||
3 | http://gitorious.org/mesa/mesa/commits/7.10 | ||
4 | |||
5 | diff --git a/configs/autoconf.in b/configs/autoconf.in | ||
6 | index e2d70c6..5874955 100644 | ||
7 | --- a/configs/autoconf.in | ||
8 | +++ b/configs/autoconf.in | ||
9 | @@ -120,7 +120,7 @@ OSMESA_LIB_DEPS = -L$(TOP)/$(LIB_DIR) @OSMESA_MESA_DEPS@ \ | ||
10 | $(EXTRA_LIB_PATH) @OSMESA_LIB_DEPS@ | ||
11 | EGL_LIB_DEPS = $(EXTRA_LIB_PATH) @EGL_LIB_DEPS@ | ||
12 | GLU_LIB_DEPS = -L$(TOP)/$(LIB_DIR) @GLU_MESA_DEPS@ \ | ||
13 | - $(EXTRA_LIB_PATH) @GLU_LIB_DEPS@ | ||
14 | + $(EXTRA_LIB_PATH) @GLU_LIB_DEPS@ -lstdc++ | ||
15 | GLUT_LIB_DEPS = -L$(TOP)/$(LIB_DIR) @GLUT_MESA_DEPS@ \ | ||
16 | $(EXTRA_LIB_PATH) @GLUT_LIB_DEPS@ | ||
17 | GLW_LIB_DEPS = -L$(TOP)/$(LIB_DIR) @GLW_MESA_DEPS@ \ | ||
18 | diff --git a/src/mesa/drivers/dri/glamo/Makefile b/src/mesa/drivers/dri/glamo/Makefile | ||
19 | new file mode 100644 | ||
20 | index 0000000..e77193d | ||
21 | --- /dev/null | ||
22 | +++ b/src/mesa/drivers/dri/glamo/Makefile | ||
23 | @@ -0,0 +1,22 @@ | ||
24 | +# src/mesa/drivers/dri/glamo/Makefile | ||
25 | + | ||
26 | +TOP = ../../../../.. | ||
27 | +include $(TOP)/configs/current | ||
28 | + | ||
29 | +LIBNAME = glamo_dri.so | ||
30 | + | ||
31 | +DRIVER_SOURCES = \ | ||
32 | + glamo_screen.c glamo_context.c glamo_state.c glamo_fbo.c glamo_tris.c \ | ||
33 | + glamo_cmdq.c glamo_render.c | ||
34 | + | ||
35 | +C_SOURCES = \ | ||
36 | + $(COMMON_SOURCES) \ | ||
37 | + $(DRIVER_SOURCES) | ||
38 | + | ||
39 | +ASM_SOURCES = | ||
40 | + | ||
41 | +DRI_LIB_DEPS += -ldrm_glamo | ||
42 | + | ||
43 | +include ../Makefile.template | ||
44 | + | ||
45 | +symlinks: | ||
46 | diff --git a/src/mesa/drivers/dri/glamo/glamo_cmdq.c b/src/mesa/drivers/dri/glamo/glamo_cmdq.c | ||
47 | new file mode 100644 | ||
48 | index 0000000..1334f8e | ||
49 | --- /dev/null | ||
50 | +++ b/src/mesa/drivers/dri/glamo/glamo_cmdq.c | ||
51 | @@ -0,0 +1,110 @@ | ||
52 | +/* | ||
53 | + * Command queue submission via DRM | ||
54 | + * | ||
55 | + * Copyright 2009 Thomas White <taw@bitwiz.org.uk> | ||
56 | + * | ||
57 | + * This program is free software; you can redistribute it and/or | ||
58 | + * modify it under the terms of the GNU General Public License as | ||
59 | + * published by the Free Software Foundation; either version 2 of | ||
60 | + * the License, or (at your option) any later version. | ||
61 | + * | ||
62 | + * This program is distributed in the hope that it will be useful, | ||
63 | + * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
64 | + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
65 | + * GNU General Public License for more details. | ||
66 | + * | ||
67 | + * You should have received a copy of the GNU General Public License | ||
68 | + * along with this program; if not, write to the Free Software | ||
69 | + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, | ||
70 | + * MA 02111-1307 USA | ||
71 | + */ | ||
72 | + | ||
73 | + | ||
74 | +#include <stdint.h> | ||
75 | +#include <stdlib.h> | ||
76 | +#include <drm.h> | ||
77 | +#include <glamo_drm.h> | ||
78 | +#include <glamo_bo.h> | ||
79 | + | ||
80 | +#include "glamo_context.h" | ||
81 | +#include "glamo_cmdq.h" | ||
82 | + | ||
83 | + | ||
84 | +/* Submit the prepared command sequence to the kernel */ | ||
85 | +void glamoDRMDispatch(glamoContext *gCtx) | ||
86 | +{ | ||
87 | + drm_glamo_cmd_burst_t burst; | ||
88 | + int r; | ||
89 | + | ||
90 | + burst.base = gCtx->cmd_burst_base; | ||
91 | + burst.data = gCtx->cmdq_drm; | ||
92 | + burst.bufsz = gCtx->cmdq_drm_used * 2; /* -> bytes */ | ||
93 | + burst.nobjs = gCtx->cmdq_obj_used; | ||
94 | + burst.objs = gCtx->cmdq_objs; | ||
95 | + burst.obj_pos = gCtx->cmdq_obj_pos; | ||
96 | + | ||
97 | + r = drmCommandWrite(gCtx->drm_fd, DRM_GLAMO_CMDBURST, | ||
98 | + &burst, sizeof(burst)); | ||
99 | + if ( r != 0 ) { | ||
100 | + fprintf(stderr, "DRM_GLAMO_CMDBURST failed\n"); | ||
101 | + } | ||
102 | + | ||
103 | + /* Reset counts to zero for the next sequence */ | ||
104 | + gCtx->cmdq_obj_used = 0; | ||
105 | + gCtx->cmdq_drm_used = 0; | ||
106 | +} | ||
107 | + | ||
108 | + | ||
109 | +void glamoDRMAddData(glamoContext *gCtx, uint32_t val, int len) | ||
110 | +{ | ||
111 | + if ( gCtx->cmdq_drm_used+4 > gCtx->cmdq_drm_size ) { | ||
112 | + fprintf(stderr, "Burst command too large\n"); | ||
113 | + return; | ||
114 | + } | ||
115 | + | ||
116 | + /* Record command */ | ||
117 | + if ( len == 2 ) { | ||
118 | + gCtx->cmdq_drm[gCtx->cmdq_drm_used++] = val & 0xffff; | ||
119 | + } else if ( len == 4 ) { | ||
120 | + gCtx->cmdq_drm[gCtx->cmdq_drm_used++] = val & 0x0000ffff; | ||
121 | + gCtx->cmdq_drm[gCtx->cmdq_drm_used++] = val & 0xffff0000; | ||
122 | + } else { | ||
123 | + fprintf(stderr, "Wrong command length!\n"); | ||
124 | + } | ||
125 | +} | ||
126 | + | ||
127 | + | ||
128 | +void glamoDRMAddBO(glamoContext *gCtx, struct glamo_bo *bo) | ||
129 | +{ | ||
130 | + if ( gCtx->cmdq_drm_used+4 > gCtx->cmdq_drm_size ) { | ||
131 | + fprintf(stderr, "Burst command too large\n"); | ||
132 | + return; | ||
133 | + } | ||
134 | + | ||
135 | + /* Record object position */ | ||
136 | + gCtx->cmdq_objs[gCtx->cmdq_obj_used] = bo->handle; | ||
137 | + /* -> bytes */ | ||
138 | + gCtx->cmdq_obj_pos[gCtx->cmdq_obj_used] = gCtx->cmdq_drm_used * 2; | ||
139 | + gCtx->cmdq_obj_used++; | ||
140 | + | ||
141 | + /* Record command */ | ||
142 | + gCtx->cmdq_drm[gCtx->cmdq_drm_used++] = 0x0000; | ||
143 | + gCtx->cmdq_drm[gCtx->cmdq_drm_used++] = 0x0000; | ||
144 | +} | ||
145 | + | ||
146 | + | ||
147 | +void glamoDRMStartBurst(glamoContext *gCtx, uint16_t base) | ||
148 | +{ | ||
149 | + gCtx->cmd_burst_base = base; | ||
150 | +} | ||
151 | + | ||
152 | + | ||
153 | +void glamoInitCmdqCache(glamoContext *gCtx) | ||
154 | +{ | ||
155 | + gCtx->cmdq_objs = malloc(1024); | ||
156 | + gCtx->cmdq_obj_pos = malloc(1024); | ||
157 | + gCtx->cmdq_obj_used = 0; | ||
158 | + gCtx->cmdq_drm_used = 0; | ||
159 | + gCtx->cmdq_drm_size = 4 * 1024; | ||
160 | + gCtx->cmdq_drm = malloc(gCtx->cmdq_drm_size); | ||
161 | +} | ||
162 | diff --git a/src/mesa/drivers/dri/glamo/glamo_cmdq.h b/src/mesa/drivers/dri/glamo/glamo_cmdq.h | ||
163 | new file mode 100644 | ||
164 | index 0000000..7420d7b | ||
165 | --- /dev/null | ||
166 | +++ b/src/mesa/drivers/dri/glamo/glamo_cmdq.h | ||
167 | @@ -0,0 +1,33 @@ | ||
168 | +/* | ||
169 | + * Command queue submission via DRM | ||
170 | + * | ||
171 | + * Copyright 2009 Thomas White <taw@bitwiz.org.uk> | ||
172 | + * | ||
173 | + * This program is free software; you can redistribute it and/or | ||
174 | + * modify it under the terms of the GNU General Public License as | ||
175 | + * published by the Free Software Foundation; either version 2 of | ||
176 | + * the License, or (at your option) any later version. | ||
177 | + * | ||
178 | + * This program is distributed in the hope that it will be useful, | ||
179 | + * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
180 | + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
181 | + * GNU General Public License for more details. | ||
182 | + * | ||
183 | + * You should have received a copy of the GNU General Public License | ||
184 | + * along with this program; if not, write to the Free Software | ||
185 | + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, | ||
186 | + * MA 02111-1307 USA | ||
187 | + */ | ||
188 | + | ||
189 | + | ||
190 | +#include <stdint.h> | ||
191 | +#include <glamo_bo.h> | ||
192 | + | ||
193 | +#include "glamo_context.h" | ||
194 | + | ||
195 | + | ||
196 | +extern void glamoDRMDispatch(glamoContext *gCtx); | ||
197 | +extern void glamoDRMAddBO(glamoContext *gCtx, struct glamo_bo *bo); | ||
198 | +extern void glamoDRMAddData(glamoContext *gCtx, uint32_t val, int len); | ||
199 | +extern void glamoDRMStartBurst(glamoContext *gCtx, uint16_t base); | ||
200 | +extern void glamoInitCmdqCache(glamoContext *gCtx); | ||
201 | diff --git a/src/mesa/drivers/dri/glamo/glamo_context.c b/src/mesa/drivers/dri/glamo/glamo_context.c | ||
202 | new file mode 100644 | ||
203 | index 0000000..39eb4e7 | ||
204 | --- /dev/null | ||
205 | +++ b/src/mesa/drivers/dri/glamo/glamo_context.c | ||
206 | @@ -0,0 +1,360 @@ | ||
207 | +/* | ||
208 | + * Direct Rendering Support for SMedia Glamo 336x/337x | ||
209 | + * | ||
210 | + * (c) 2009 Thomas White <taw@bitwiz.org.uk> | ||
211 | + * Roughly based on sis_context.c (c) 2003 Eric Anholt | ||
212 | + * and radeon_common_context.c | ||
213 | + * | ||
214 | + * Permission is hereby granted, free of charge, to any person obtaining a | ||
215 | + * copy of this software and associated documentation files (the "Software"), | ||
216 | + * to deal in the Software without restriction, including without limitation | ||
217 | + * the rights to use, copy, modify, merge, publish, distribute, sublicense, | ||
218 | + * and/or sell copies of the Software, and to permit persons to whom the | ||
219 | + * Software is furnished to do so, subject to the following conditions: | ||
220 | + * | ||
221 | + * The above copyright notice and this permission notice shall be included | ||
222 | + * in all copies or substantial portions of the Software. | ||
223 | + * | ||
224 | + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS | ||
225 | + * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, | ||
226 | + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL | ||
227 | + * THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN | ||
228 | + * AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN | ||
229 | + * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. | ||
230 | + */ | ||
231 | + | ||
232 | + | ||
233 | +#include "dri_util.h" | ||
234 | +#include "drirenderbuffer.h" | ||
235 | +#include "utils.h" | ||
236 | + | ||
237 | +#include "swrast/swrast.h" | ||
238 | +#include "swrast_setup/swrast_setup.h" | ||
239 | +#include "drivers/common/driverfuncs.h" | ||
240 | +#include "vbo/vbo.h" | ||
241 | +#include "tnl/tnl.h" | ||
242 | +#include "tnl/t_pipeline.h" | ||
243 | +#include "main/state.h" | ||
244 | + | ||
245 | +#include "glamo_context.h" | ||
246 | +#include "glamo_screen.h" | ||
247 | +#include "glamo_state.h" | ||
248 | +#include "glamo_fbo.h" | ||
249 | +#include "glamo_tris.h" | ||
250 | +#include "glamo_render.h" | ||
251 | +#include "glamo_cmdq.h" | ||
252 | + | ||
253 | +#include <glamo_bo.h> | ||
254 | +#include <glamo_bo_gem.h> | ||
255 | +#include <glamo_drm.h> | ||
256 | + | ||
257 | + | ||
258 | +#define DRIVER_DATE "20090913" | ||
259 | + | ||
260 | + | ||
261 | +static inline struct glamo_renderbuffer *glamo_get_renderbuffer( | ||
262 | + struct gl_framebuffer *fb, | ||
263 | + int att_index) | ||
264 | +{ | ||
265 | + if ( att_index >= 0 ) { | ||
266 | + struct glamo_renderbuffer *gr; | ||
267 | + gr = glamo_renderbuffer(fb->Attachment[att_index].Renderbuffer); | ||
268 | + return gr; | ||
269 | + } else { | ||
270 | + return NULL; | ||
271 | + } | ||
272 | +} | ||
273 | + | ||
274 | + | ||
275 | +static const GLubyte *glamoGetString(struct gl_context *ctx, GLenum name) | ||
276 | +{ | ||
277 | + static char buffer[128]; | ||
278 | + | ||
279 | + switch (name) { | ||
280 | + case GL_VENDOR: | ||
281 | + return (GLubyte *)"Thomas White"; | ||
282 | + case GL_RENDERER: { | ||
283 | + driGetRendererString(buffer, "Glamo", DRIVER_DATE, 0); | ||
284 | + return (GLubyte *) buffer; | ||
285 | + } | ||
286 | + default: | ||
287 | + return 0; | ||
288 | + } | ||
289 | +} | ||
290 | + | ||
291 | + | ||
292 | +/* Called when Mesa needs to know the size of the framebuffer */ | ||
293 | +static void glamoBufferSize(struct gl_framebuffer *buffer, | ||
294 | + GLuint *width, GLuint *height) | ||
295 | +{ | ||
296 | + GET_CURRENT_CONTEXT(ctx); | ||
297 | + glamoContextPtr glamo = GLAMO_CONTEXT(ctx); | ||
298 | + | ||
299 | + *width = glamo->driDrawable->w; | ||
300 | + *height = glamo->driDrawable->h; | ||
301 | +} | ||
302 | + | ||
303 | + | ||
304 | +GLboolean glamoCreateContext(const struct gl_config *glVisual, | ||
305 | + __DRIcontext *driContextPriv, | ||
306 | + void *sharedContextPrivate) | ||
307 | +{ | ||
308 | + struct gl_context *ctx, *shareCtx; | ||
309 | + __DRIscreen *sPriv = driContextPriv->driScreenPriv; | ||
310 | + glamoContextPtr context; | ||
311 | + glamoScreenPtr glamoScreen; | ||
312 | + struct dd_function_table functions; | ||
313 | + | ||
314 | + context = (glamoContextPtr)CALLOC(sizeof(*context)); | ||
315 | + if ( context == NULL ) return GL_FALSE; | ||
316 | + | ||
317 | + _mesa_init_driver_functions(&functions); | ||
318 | + | ||
319 | + /* Allocate the Mesa context */ | ||
320 | + if ( sharedContextPrivate ) | ||
321 | + shareCtx = ((glamoContextPtr)sharedContextPrivate)->glCtx; | ||
322 | + else | ||
323 | + shareCtx = NULL; | ||
324 | + context->glCtx = _mesa_create_context(glVisual, shareCtx, | ||
325 | + &functions, (void *)context); | ||
326 | + if ( context->glCtx == NULL ) { | ||
327 | + FREE(context); | ||
328 | + return GL_FALSE; | ||
329 | + } | ||
330 | + driContextPriv->driverPrivate = context; | ||
331 | + ctx = context->glCtx; | ||
332 | + | ||
333 | + glamoScreen = context->glamoScreen = (glamoScreenPtr)sPriv->private; | ||
334 | + | ||
335 | + ctx->Driver.GetString = glamoGetString; | ||
336 | + ctx->Driver.GetBufferSize = glamoBufferSize; | ||
337 | + | ||
338 | + context->driContext = driContextPriv; | ||
339 | + context->driScreen = sPriv; | ||
340 | + context->driDrawable = NULL; | ||
341 | + context->drm_fd = sPriv->fd; | ||
342 | + | ||
343 | + /* Initialize the software rasterizer and helper modules. */ | ||
344 | + _swrast_CreateContext(ctx); | ||
345 | + _vbo_CreateContext(ctx); | ||
346 | + _tnl_CreateContext(ctx); | ||
347 | + _swsetup_CreateContext(ctx); | ||
348 | + | ||
349 | + /* Install our pipeline (see glamo_render.c) */ | ||
350 | + _tnl_install_pipeline(ctx, glamo_pipeline); | ||
351 | + | ||
352 | + _swrast_allow_pixel_fog(ctx, GL_TRUE); | ||
353 | + _swrast_allow_vertex_fog(ctx, GL_FALSE); | ||
354 | + _tnl_allow_pixel_fog(ctx, GL_TRUE); | ||
355 | + _tnl_allow_vertex_fog(ctx, GL_FALSE); | ||
356 | + | ||
357 | + glamoInitCmdqCache(context); | ||
358 | + glamoInitStateFuncs(ctx); | ||
359 | + glamoInitTriFuncs(ctx); | ||
360 | + | ||
361 | + return GL_TRUE; | ||
362 | +} | ||
363 | + | ||
364 | + | ||
365 | +void glamoDestroyContext(__DRIcontext *driContextPriv) | ||
366 | +{ | ||
367 | + glamoContextPtr context; | ||
368 | + | ||
369 | + context = (glamoContextPtr)driContextPriv->driverPrivate; | ||
370 | + assert(context != NULL); | ||
371 | + | ||
372 | + if ( context != NULL ) { | ||
373 | + | ||
374 | + _swsetup_DestroyContext(context->glCtx); | ||
375 | + _tnl_DestroyContext(context->glCtx); | ||
376 | + _vbo_DestroyContext(context->glCtx); | ||
377 | + _swrast_DestroyContext(context->glCtx); | ||
378 | + | ||
379 | + _mesa_destroy_context(context->glCtx); | ||
380 | + | ||
381 | + } | ||
382 | + | ||
383 | + FREE(context); | ||
384 | +} | ||
385 | + | ||
386 | + | ||
387 | +void glamo_update_renderbuffers(__DRIcontext *context, | ||
388 | + __DRIdrawable *drawable) | ||
389 | +{ | ||
390 | + unsigned int attachments[10]; | ||
391 | + __DRIbuffer *buffers; | ||
392 | + __DRIscreen *screen; | ||
393 | + int i, count; | ||
394 | + struct glamo_framebuffer *draw; | ||
395 | + glamoContextPtr glamo; | ||
396 | + struct glamo_bo *bo; | ||
397 | + | ||
398 | + draw = drawable->driverPrivate; | ||
399 | + screen = context->driScreenPriv; | ||
400 | + glamo = (glamoContextPtr)context->driverPrivate; | ||
401 | + i = 0; | ||
402 | + if ( draw->color_rb[0] ) { | ||
403 | + attachments[i++] = __DRI_BUFFER_FRONT_LEFT; | ||
404 | + } | ||
405 | + if ( draw->color_rb[1] ) { | ||
406 | + attachments[i++] = __DRI_BUFFER_BACK_LEFT; | ||
407 | + } | ||
408 | + | ||
409 | + buffers = screen->dri2.loader->getBuffers(drawable, | ||
410 | + &drawable->w, | ||
411 | + &drawable->h, | ||
412 | + attachments, i, | ||
413 | + &count, | ||
414 | + drawable->loaderPrivate); | ||
415 | + if ( buffers == NULL ) return; | ||
416 | + | ||
417 | + /* Set one cliprect to cover the whole drawable */ | ||
418 | + drawable->x = 0; | ||
419 | + drawable->y = 0; | ||
420 | + drawable->backX = 0; | ||
421 | + drawable->backY = 0; | ||
422 | + drawable->numClipRects = 1; | ||
423 | + drawable->pClipRects[0].x1 = 0; | ||
424 | + drawable->pClipRects[0].y1 = 0; | ||
425 | + drawable->pClipRects[0].x2 = drawable->w; | ||
426 | + drawable->pClipRects[0].y2 = drawable->h; | ||
427 | + drawable->numBackClipRects = 1; | ||
428 | + drawable->pBackClipRects[0].x1 = 0; | ||
429 | + drawable->pBackClipRects[0].y1 = 0; | ||
430 | + drawable->pBackClipRects[0].x2 = drawable->w; | ||
431 | + drawable->pBackClipRects[0].y2 = drawable->h; | ||
432 | + | ||
433 | + /* For each attachment */ | ||
434 | + for ( i=0; i<count; i++ ) { | ||
435 | + | ||
436 | + struct glamo_renderbuffer *grb; | ||
437 | + | ||
438 | + switch ( buffers[i].attachment ) { | ||
439 | + case __DRI_BUFFER_FRONT_LEFT: | ||
440 | + grb = draw->color_rb[0]; | ||
441 | + break; | ||
442 | + case __DRI_BUFFER_BACK_LEFT: | ||
443 | + grb = draw->color_rb[1]; | ||
444 | + break; | ||
445 | + case __DRI_BUFFER_DEPTH: | ||
446 | + grb = glamo_get_renderbuffer(&draw->base, BUFFER_DEPTH); | ||
447 | + break; | ||
448 | + case __DRI_BUFFER_STENCIL: | ||
449 | + grb = glamo_get_renderbuffer(&draw->base, | ||
450 | + BUFFER_STENCIL); | ||
451 | + break; | ||
452 | + case __DRI_BUFFER_FAKE_FRONT_LEFT: | ||
453 | + grb = draw->color_rb[0]; | ||
454 | + break; | ||
455 | + case __DRI_BUFFER_ACCUM: | ||
456 | + default: | ||
457 | + fprintf(stderr, | ||
458 | + "Unhandled buffer attach event," | ||
459 | + " attachment type %d\n", buffers[i].attachment); | ||
460 | + return; | ||
461 | + } | ||
462 | + | ||
463 | + if ( grb == NULL ) { | ||
464 | + /* Don't know how to handle this type of buffer */ | ||
465 | + continue; | ||
466 | + } | ||
467 | + | ||
468 | + if ( grb->bo ) { | ||
469 | + uint32_t name = glamo_gem_get_name(grb->bo); | ||
470 | + if ( name == buffers[i].name ) { | ||
471 | + /* Buffer already attached. No action needed */ | ||
472 | + continue; | ||
473 | + } | ||
474 | + } | ||
475 | + | ||
476 | + grb->cpp = buffers[i].cpp; | ||
477 | + grb->pitch = buffers[i].pitch; | ||
478 | + grb->width = drawable->w; | ||
479 | + grb->height = drawable->h; | ||
480 | + | ||
481 | + bo = glamo_bo_open(glamo->glamoScreen->bom, buffers[i].name, | ||
482 | + 0, 0, GLAMO_GEM_DOMAIN_VRAM, | ||
483 | + buffers[i].flags); | ||
484 | + if ( bo == NULL ) { | ||
485 | + fprintf(stderr, "Failed to attach buffer %d\n", | ||
486 | + buffers[i].name); | ||
487 | + } | ||
488 | + | ||
489 | + glamo_renderbuffer_set_bo(grb, bo); | ||
490 | + glamo_bo_unref(bo); | ||
491 | + | ||
492 | + } | ||
493 | + | ||
494 | + driUpdateFramebufferSize(glamo->glCtx, drawable); | ||
495 | +} | ||
496 | + | ||
497 | + | ||
498 | +GLboolean glamoMakeCurrent(__DRIcontext *driContextPriv, | ||
499 | + __DRIdrawable *driDrawPriv, | ||
500 | + __DRIdrawable *driReadPriv) | ||
501 | +{ | ||
502 | + struct glamo_framebuffer *draw_fb; | ||
503 | + struct gl_framebuffer *read_fb; | ||
504 | + glamoContextPtr glamo; | ||
505 | + | ||
506 | + if ( driContextPriv == NULL ) { | ||
507 | + _mesa_make_current(NULL, NULL, NULL); | ||
508 | + return GL_TRUE; | ||
509 | + } | ||
510 | + | ||
511 | + /* The Glamo context we're switching to */ | ||
512 | + glamo = (glamoContextPtr)driContextPriv->driverPrivate; | ||
513 | + | ||
514 | + glamo->driDrawable = driDrawPriv; | ||
515 | + | ||
516 | + /* These two will probably be the same */ | ||
517 | + draw_fb = (struct glamo_framebuffer *)driDrawPriv->driverPrivate; | ||
518 | + read_fb = (struct gl_framebuffer *)driReadPriv->driverPrivate; | ||
519 | + | ||
520 | + glamo_update_renderbuffers(driContextPriv, driDrawPriv); | ||
521 | + if (driDrawPriv != driReadPriv) | ||
522 | + glamo_update_renderbuffers(driContextPriv, driReadPriv); | ||
523 | + | ||
524 | + _mesa_make_current(glamo->glCtx, &draw_fb->base, read_fb); | ||
525 | + _mesa_update_state(glamo->glCtx); | ||
526 | + | ||
527 | + return GL_TRUE; | ||
528 | +} | ||
529 | + | ||
530 | + | ||
531 | +GLboolean glamoUnbindContext(__DRIcontext *driContextPriv) | ||
532 | +{ | ||
533 | + return GL_TRUE; | ||
534 | +} | ||
535 | + | ||
536 | + | ||
537 | +/* Convert IEEE754 32-bit float to Glamo's signed 24-bit float */ | ||
538 | +uint32_t float7s16(GLfloat in) | ||
539 | +{ | ||
540 | + uint32_t a, b; | ||
541 | + uint32_t sign, expo, mant; /* Sign, exponent, significand */ | ||
542 | + | ||
543 | + a = *(uint32_t *)∈ | ||
544 | + | ||
545 | + /* This is bad */ | ||
546 | + if ( a & 0x40000000 ) { | ||
547 | + printf(stderr, "Warning: Exponent won't fit into 7 bits\n"); | ||
548 | + } | ||
549 | + | ||
550 | + /* This hopefully isn't a big problem */ | ||
551 | + if ( a & 0x0000007f ) { | ||
552 | + printf(stderr, "Warning: Precision lost in FP conversion\n"); | ||
553 | + } | ||
554 | + | ||
555 | + /* Separate out the right bits */ | ||
556 | + mant = a & 0x007fff80; /* Bits 7-22 (bits 0-6 are lost) */ | ||
557 | + expo = a & 0x3f800000; /* Bits 23-29 (bit 30 is lost) */ | ||
558 | + sign = a & 0x80000000; /* Bit 31 */ | ||
559 | + | ||
560 | + /* Shift and recombine */ | ||
561 | + b = sign >> 8; /* Fills bit 23 */ | ||
562 | + b |= expo >> 7; /* Fills bits 16-22 */ | ||
563 | + b |= mant >> 7; /* Fills bits 0-15 */ | ||
564 | + | ||
565 | + return b; | ||
566 | +} | ||
567 | diff --git a/src/mesa/drivers/dri/glamo/glamo_context.h b/src/mesa/drivers/dri/glamo/glamo_context.h | ||
568 | new file mode 100644 | ||
569 | index 0000000..8de3946 | ||
570 | --- /dev/null | ||
571 | +++ b/src/mesa/drivers/dri/glamo/glamo_context.h | ||
572 | @@ -0,0 +1,106 @@ | ||
573 | +/* | ||
574 | + * Direct Rendering Support for SMedia Glamo 336x/337x | ||
575 | + * | ||
576 | + * (c) 2009 Thomas White <taw@bitwiz.org.uk> | ||
577 | + * Roughly based on sis_context.h (c) 2003 Eric Anholt | ||
578 | + * | ||
579 | + * Permission is hereby granted, free of charge, to any person obtaining a | ||
580 | + * copy of this software and associated documentation files (the "Software"), | ||
581 | + * to deal in the Software without restriction, including without limitation | ||
582 | + * the rights to use, copy, modify, merge, publish, distribute, sublicense, | ||
583 | + * and/or sell copies of the Software, and to permit persons to whom the | ||
584 | + * Software is furnished to do so, subject to the following conditions: | ||
585 | + * | ||
586 | + * The above copyright notice and this permission notice shall be included | ||
587 | + * in all copies or substantial portions of the Software. | ||
588 | + * | ||
589 | + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS | ||
590 | + * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, | ||
591 | + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL | ||
592 | + * THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN | ||
593 | + * AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN | ||
594 | + * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. | ||
595 | + */ | ||
596 | + | ||
597 | +#ifndef __GLAMO_CONTEXT_H | ||
598 | +#define __GLAMO_CONTEXT_H | ||
599 | + | ||
600 | + | ||
601 | +#include "dri_util.h" | ||
602 | +#include "utils.h" | ||
603 | +#include "tnl/t_vertex.h" | ||
604 | + | ||
605 | +#include "glamo_screen.h" | ||
606 | + | ||
607 | + | ||
608 | +typedef struct glamo_context glamoContext; | ||
609 | +typedef struct glamo_context *glamoContextPtr; | ||
610 | + | ||
611 | +struct glamo_context { | ||
612 | + | ||
613 | + struct gl_context *glCtx; /* Must be first in this structure */ | ||
614 | + | ||
615 | + int drm_fd; /* DRM fd */ | ||
616 | + | ||
617 | + __DRIcontext *driContext; /* DRI context */ | ||
618 | + __DRIscreen *driScreen; /* DRI screen */ | ||
619 | + __DRIdrawable *driDrawable; /* DRI drawable bound to this ctx */ | ||
620 | + | ||
621 | + glamoScreenPtr glamoScreen; /* Screen private DRI data */ | ||
622 | + | ||
623 | + driOptionCache optionCache; | ||
624 | + | ||
625 | + uint16_t *cmdq_drm; /* Command queue cache */ | ||
626 | + uint16_t cmd_burst_base; | ||
627 | + int cmdq_drm_used; | ||
628 | + int cmdq_drm_size; | ||
629 | + int cmdq_obj_used; | ||
630 | + uint32_t *cmdq_objs; | ||
631 | + unsigned int *cmdq_obj_pos; | ||
632 | + | ||
633 | + /* Information about the current primitive */ | ||
634 | + struct { | ||
635 | + GLuint id; | ||
636 | + uint32_t primitive; /* Current hardware primitive type */ | ||
637 | + struct glamo_bo *vb_bo; | ||
638 | + uint8_t *vb; | ||
639 | + unsigned int start_offset; /* Byte offset of start */ | ||
640 | + unsigned int current_offset; /* Byte offset of next vertex */ | ||
641 | + unsigned int count; /* Number of vertices */ | ||
642 | + } prim; | ||
643 | + | ||
644 | + /* Current vertex format and attributes */ | ||
645 | + int vertex_size; | ||
646 | + struct tnl_attr_map vertex_attrs[VERT_ATTRIB_MAX]; | ||
647 | + | ||
648 | + /* State */ | ||
649 | + GLuint new_state; /* State which must be updated */ | ||
650 | + uint16_t col_clear; | ||
651 | + | ||
652 | +}; | ||
653 | + | ||
654 | +#define GLAMO_CONTEXT(ctx) ((glamoContextPtr)(ctx->DriverCtx)) | ||
655 | + | ||
656 | +#define TAG(x) glamo##x | ||
657 | +#include "tnl_dd/t_dd_vertex.h" | ||
658 | +#undef TAG | ||
659 | + | ||
660 | +extern GLboolean glamoCreateContext(const struct gl_config *glVis, | ||
661 | + __DRIcontext *driContextPriv, | ||
662 | + void *sharedContextPrivate); | ||
663 | +extern void glamoDestroyContext(__DRIcontext *dcp); | ||
664 | +extern GLboolean glamoMakeCurrent(__DRIcontext *driContextPriv, | ||
665 | + __DRIdrawable *driDrawPriv, | ||
666 | + __DRIdrawable *driReadPriv); | ||
667 | +extern GLboolean glamoUnbindContext(__DRIcontext *driContextPriv); | ||
668 | +extern void glamo_update_renderbuffers(__DRIcontext *context, | ||
669 | + __DRIdrawable *drawable); | ||
670 | + | ||
671 | +#define GLAMO_PACKCOLOR565(r, g, b) \ | ||
672 | + ((((r) & 0xf8) << 8) \ | ||
673 | + | (((g) & 0xfc) << 3) \ | ||
674 | + | (((b) & 0xf8) >> 3)) | ||
675 | + | ||
676 | +extern uint32_t float7s16(GLfloat in); | ||
677 | + | ||
678 | +#endif /* __GLAMO_CONTEXT_H */ | ||
679 | diff --git a/src/mesa/drivers/dri/glamo/glamo_fbo.c b/src/mesa/drivers/dri/glamo/glamo_fbo.c | ||
680 | new file mode 100644 | ||
681 | index 0000000..e25ca31 | ||
682 | --- /dev/null | ||
683 | +++ b/src/mesa/drivers/dri/glamo/glamo_fbo.c | ||
684 | @@ -0,0 +1,130 @@ | ||
685 | +/* | ||
686 | + * Direct Rendering Support for SMedia Glamo 336x/337x | ||
687 | + * | ||
688 | + * (c) 2009 Thomas White <taw@bitwiz.org.uk> | ||
689 | + * Roughly based on radeon_fbo.c (c) 2008 Red Hat Inc | ||
690 | + * | ||
691 | + * Permission is hereby granted, free of charge, to any person obtaining a | ||
692 | + * copy of this software and associated documentation files (the "Software"), | ||
693 | + * to deal in the Software without restriction, including without limitation | ||
694 | + * the rights to use, copy, modify, merge, publish, distribute, sublicense, | ||
695 | + * and/or sell copies of the Software, and to permit persons to whom the | ||
696 | + * Software is furnished to do so, subject to the following conditions: | ||
697 | + * | ||
698 | + * The above copyright notice and this permission notice shall be included | ||
699 | + * in all copies or substantial portions of the Software. | ||
700 | + * | ||
701 | + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS | ||
702 | + * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, | ||
703 | + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL | ||
704 | + * THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN | ||
705 | + * AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN | ||
706 | + * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. | ||
707 | + */ | ||
708 | + | ||
709 | + | ||
710 | +#include "main/imports.h" | ||
711 | +#include "main/macros.h" | ||
712 | +#include "main/mtypes.h" | ||
713 | +#include "main/formats.h" | ||
714 | +#include "main/fbobject.h" | ||
715 | +#include "main/framebuffer.h" | ||
716 | +#include "main/renderbuffer.h" | ||
717 | +#include "main/context.h" | ||
718 | +#include "dri_util.h" | ||
719 | + | ||
720 | +/* This comes from libdrm_glamo */ | ||
721 | +#include <glamo_bo.h> | ||
722 | + | ||
723 | +#include "glamo_fbo.h" | ||
724 | + | ||
725 | + | ||
726 | +static void glamo_delete_renderbuffer(struct gl_renderbuffer *rb) | ||
727 | +{ | ||
728 | + struct glamo_renderbuffer *grb = glamo_renderbuffer(rb); | ||
729 | + | ||
730 | + ASSERT(grb); | ||
731 | + | ||
732 | + if ( grb && grb->bo ) { | ||
733 | + glamo_bo_unref(grb->bo); | ||
734 | + } | ||
735 | + free(grb); | ||
736 | +} | ||
737 | + | ||
738 | + | ||
739 | +static void *glamo_get_pointer(struct gl_context *ctx, struct gl_renderbuffer *rb, | ||
740 | + GLint x, GLint y) | ||
741 | +{ | ||
742 | + return NULL; /* Can't be directly addressed */ | ||
743 | +} | ||
744 | + | ||
745 | + | ||
746 | +/* Called for each hardware renderbuffer when a _window_ is resized. | ||
747 | + * Just update fields. | ||
748 | + * Not used for user-created renderbuffers! | ||
749 | + */ | ||
750 | +static GLboolean glamo_alloc_window_storage(struct gl_context *ctx, | ||
751 | + struct gl_renderbuffer *rb, | ||
752 | + GLenum internalFormat, | ||
753 | + GLuint width, GLuint height) | ||
754 | +{ | ||
755 | + ASSERT(rb->Name == 0); | ||
756 | + rb->Width = width; | ||
757 | + rb->Height = height; | ||
758 | + rb->Format = internalFormat; | ||
759 | + return GL_TRUE; | ||
760 | +} | ||
761 | + | ||
762 | + | ||
763 | +/* Create a buffer, such as a colour or depth buffer */ | ||
764 | +struct glamo_renderbuffer *glamo_create_renderbuffer(GLenum format, | ||
765 | + __DRIdrawable *driDrawPriv) | ||
766 | +{ | ||
767 | + struct glamo_renderbuffer *grb; | ||
768 | + | ||
769 | + grb = CALLOC_STRUCT(glamo_renderbuffer); | ||
770 | + if ( !grb ) return NULL; | ||
771 | + | ||
772 | + _mesa_init_renderbuffer(&grb->base, 0); | ||
773 | + grb->base.ClassID = GLAMO_RB_CLASS; | ||
774 | + | ||
775 | + switch (format) { | ||
776 | + case GL_RGB5: | ||
777 | + grb->base.Format = MESA_FORMAT_RGB565; | ||
778 | + grb->base._BaseFormat = GL_RGB; | ||
779 | + | ||
780 | + grb->base.DataType = GL_UNSIGNED_BYTE; | ||
781 | + break; | ||
782 | + case GL_DEPTH_COMPONENT16: | ||
783 | + grb->base.DataType = GL_UNSIGNED_SHORT; | ||
784 | + grb->base._BaseFormat = GL_DEPTH_COMPONENT; | ||
785 | + break; | ||
786 | + default: | ||
787 | + fprintf(stderr, "%s: Unknown format 0x%04x\n", __FUNCTION__, format); | ||
788 | + _mesa_delete_renderbuffer(&grb->base); | ||
789 | + return NULL; | ||
790 | + } | ||
791 | + | ||
792 | + grb->dPriv = driDrawPriv; | ||
793 | + grb->base.InternalFormat = format; | ||
794 | + | ||
795 | + grb->base.Delete = glamo_delete_renderbuffer; | ||
796 | + grb->base.AllocStorage = glamo_alloc_window_storage; | ||
797 | + grb->base.GetPointer = glamo_get_pointer; | ||
798 | + | ||
799 | + return grb; | ||
800 | +} | ||
801 | + | ||
802 | + | ||
803 | +void glamo_renderbuffer_set_bo(struct glamo_renderbuffer *grb, | ||
804 | + struct glamo_bo *bo) | ||
805 | +{ | ||
806 | + struct glamo_bo *old; | ||
807 | + old = grb->bo; | ||
808 | + grb->bo = bo; | ||
809 | + glamo_bo_ref(bo); | ||
810 | + if ( old ) glamo_bo_unref(old); | ||
811 | +} | ||
812 | + | ||
813 | + | ||
814 | +/* kate: space-indent on; indent-width 3; mixedindent off; indent-mode cstyle; */ | ||
815 | diff --git a/src/mesa/drivers/dri/glamo/glamo_fbo.h b/src/mesa/drivers/dri/glamo/glamo_fbo.h | ||
816 | new file mode 100644 | ||
817 | index 0000000..48210dd | ||
818 | --- /dev/null | ||
819 | +++ b/src/mesa/drivers/dri/glamo/glamo_fbo.h | ||
820 | @@ -0,0 +1,77 @@ | ||
821 | +/* | ||
822 | + * Direct Rendering Support for SMedia Glamo 336x/337x | ||
823 | + * | ||
824 | + * (c) 2009 Thomas White <taw@bitwiz.org.uk> | ||
825 | + * | ||
826 | + * Permission is hereby granted, free of charge, to any person obtaining a | ||
827 | + * copy of this software and associated documentation files (the "Software"), | ||
828 | + * to deal in the Software without restriction, including without limitation | ||
829 | + * the rights to use, copy, modify, merge, publish, distribute, sublicense, | ||
830 | + * and/or sell copies of the Software, and to permit persons to whom the | ||
831 | + * Software is furnished to do so, subject to the following conditions: | ||
832 | + * | ||
833 | + * The above copyright notice and this permission notice shall be included | ||
834 | + * in all copies or substantial portions of the Software. | ||
835 | + * | ||
836 | + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS | ||
837 | + * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, | ||
838 | + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL | ||
839 | + * THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN | ||
840 | + * AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN | ||
841 | + * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. | ||
842 | + */ | ||
843 | + | ||
844 | +#ifndef __GLAMO_FBO_H | ||
845 | +#define __GLAMO_FBO_H | ||
846 | + | ||
847 | + | ||
848 | +#include "main/mtypes.h" | ||
849 | +#include "dri_util.h" | ||
850 | + | ||
851 | + | ||
852 | +/* This is just a marker so we can tell a Glamo renderbuffer from a Mesa one */ | ||
853 | +#define GLAMO_RB_CLASS (0xdeadbeef) | ||
854 | + | ||
855 | + | ||
856 | +struct glamo_renderbuffer | ||
857 | +{ | ||
858 | + struct gl_renderbuffer base; /* Must be first */ | ||
859 | + struct glamo_bo *bo; | ||
860 | + unsigned int cpp; | ||
861 | + unsigned int pitch; | ||
862 | + unsigned int width; | ||
863 | + unsigned int height; | ||
864 | + | ||
865 | + __DRIdrawable *dPriv; | ||
866 | +}; | ||
867 | + | ||
868 | + | ||
869 | +struct glamo_framebuffer | ||
870 | +{ | ||
871 | + struct gl_framebuffer base; | ||
872 | + struct glamo_renderbuffer *color_rb[2]; | ||
873 | +}; | ||
874 | + | ||
875 | + | ||
876 | +/* This is just a small wrapper function to return NULL if the gl_renderbuffer | ||
877 | + * is not a glamo_renderbuffer */ | ||
878 | +static inline struct glamo_renderbuffer | ||
879 | + *glamo_renderbuffer(struct gl_renderbuffer *rb) | ||
880 | +{ | ||
881 | + struct glamo_renderbuffer *grb = (struct glamo_renderbuffer *)rb; | ||
882 | + if ( grb && grb->base.ClassID == GLAMO_RB_CLASS ) | ||
883 | + return grb; | ||
884 | + else | ||
885 | + return NULL; | ||
886 | +} | ||
887 | + | ||
888 | + | ||
889 | +extern struct glamo_renderbuffer *glamo_create_renderbuffer(GLenum format, | ||
890 | + __DRIdrawable *driDrawPriv); | ||
891 | + | ||
892 | +extern void glamo_renderbuffer_set_bo(struct glamo_renderbuffer *grb, | ||
893 | + struct glamo_bo *bo); | ||
894 | + | ||
895 | +#endif /* __GLAMO_FBO_H */ | ||
896 | + | ||
897 | +/* kate: space-indent on; indent-width 3; mixedindent off; indent-mode cstyle; */ | ||
898 | diff --git a/src/mesa/drivers/dri/glamo/glamo_regs.h b/src/mesa/drivers/dri/glamo/glamo_regs.h | ||
899 | new file mode 100644 | ||
900 | index 0000000..02b2294 | ||
901 | --- /dev/null | ||
902 | +++ b/src/mesa/drivers/dri/glamo/glamo_regs.h | ||
903 | @@ -0,0 +1,174 @@ | ||
904 | +#ifndef _GLAMO_REGS_H | ||
905 | +#define _GLAMO_REGS_H | ||
906 | + | ||
907 | +/* Smedia Glamo 336x/337x driver | ||
908 | + * | ||
909 | + * (C) 2007 by OpenMoko, Inc. | ||
910 | + * Author: Harald Welte <laforge@openmoko.org> | ||
911 | + * All rights reserved. | ||
912 | + * | ||
913 | + * Modified for Glamo Mesa driver by Thomas White <taw@bitwiz.org.uk> | ||
914 | + * | ||
915 | + * This program is free software; you can redistribute it and/or | ||
916 | + * modify it under the terms of the GNU General Public License as | ||
917 | + * published by the Free Software Foundation; either version 2 of | ||
918 | + * the License, or (at your option) any later version. | ||
919 | + * | ||
920 | + * This program is distributed in the hope that it will be useful, | ||
921 | + * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
922 | + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
923 | + * GNU General Public License for more details. | ||
924 | + * | ||
925 | + * You should have received a copy of the GNU General Public License | ||
926 | + * along with this program; if not, write to the Free Software | ||
927 | + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, | ||
928 | + * MA 02111-1307 USA | ||
929 | + */ | ||
930 | + | ||
931 | +enum glamo_regster_offsets { | ||
932 | + GLAMO_REGOFS_GENERIC = 0x0000, | ||
933 | + GLAMO_REGOFS_HOSTBUS = 0x0200, | ||
934 | + GLAMO_REGOFS_MEMORY = 0x0300, | ||
935 | + GLAMO_REGOFS_VIDCAP = 0x0400, | ||
936 | + GLAMO_REGOFS_ISP = 0x0500, | ||
937 | + GLAMO_REGOFS_JPEG = 0x0800, | ||
938 | + GLAMO_REGOFS_MPEG = 0x0c00, | ||
939 | + GLAMO_REGOFS_LCD = 0x1100, | ||
940 | + GLAMO_REGOFS_MMC = 0x1400, | ||
941 | + GLAMO_REGOFS_MPROC0 = 0x1500, | ||
942 | + GLAMO_REGOFS_MPROC1 = 0x1580, | ||
943 | + GLAMO_REGOFS_CMDQUEUE = 0x1600, | ||
944 | + GLAMO_REGOFS_RISC = 0x1680, | ||
945 | + GLAMO_REGOFS_2D = 0x1700, | ||
946 | + GLAMO_REGOFS_3D = 0x1b00, | ||
947 | +}; | ||
948 | + | ||
949 | + | ||
950 | +#define REG_MPEG(x) (GLAMO_REGOFS_MPEG+(x)) | ||
951 | + | ||
952 | +enum glamo_register_mpeg { | ||
953 | + // | ||
954 | + GLAMO_REG_MPEG_DC_ADDRL = REG_MPEG(0x3c), | ||
955 | + GLAMO_REG_MPEG_DC_ADDRH = REG_MPEG(0x3e), | ||
956 | + GLAMO_REG_MPEG_AC_ADDRL = REG_MPEG(0x40), | ||
957 | + GLAMO_REG_MPEG_AC_ADDRH = REG_MPEG(0x42), | ||
958 | + // | ||
959 | + GLAMO_REG_MPEG_SAFE_1 = REG_MPEG(0x60), | ||
960 | + GLAMO_REG_MPEG_SAFE_2 = REG_MPEG(0x62), | ||
961 | + GLAMO_REG_MPEG_SAFE_3 = REG_MPEG(0x64), | ||
962 | + // | ||
963 | + GLAMO_REG_MPEG_DEC_OUT0_Y_ADDRL = REG_MPEG(0x6e), | ||
964 | + GLAMO_REG_MPEG_DEC_OUT0_Y_ADDRH = REG_MPEG(0x70), | ||
965 | + GLAMO_REG_MPEG_DEC_OUT0_U_ADDRL = REG_MPEG(0x72), | ||
966 | + GLAMO_REG_MPEG_DEC_OUT0_U_ADDRH = REG_MPEG(0x74), | ||
967 | + GLAMO_REG_MPEG_DEC_OUT0_V_ADDRL = REG_MPEG(0x76), | ||
968 | + GLAMO_REG_MPEG_DEC_OUT0_V_ADDRH = REG_MPEG(0x78), | ||
969 | + GLAMO_REG_MPEG_DEC_OUT1_Y_ADDRL = REG_MPEG(0x7a), | ||
970 | + GLAMO_REG_MPEG_DEC_OUT1_Y_ADDRH = REG_MPEG(0x7c), | ||
971 | + GLAMO_REG_MPEG_DEC_OUT1_U_ADDRL = REG_MPEG(0x7e), | ||
972 | + GLAMO_REG_MPEG_DEC_OUT1_U_ADDRH = REG_MPEG(0x80), | ||
973 | + GLAMO_REG_MPEG_DEC_OUT1_V_ADDRL = REG_MPEG(0x82), | ||
974 | + GLAMO_REG_MPEG_DEC_OUT1_V_ADDRH = REG_MPEG(0x84), | ||
975 | + GLAMO_REG_MPEG_DEC_OUT2_Y_ADDRL = REG_MPEG(0x86), | ||
976 | + GLAMO_REG_MPEG_DEC_OUT2_Y_ADDRH = REG_MPEG(0x88), | ||
977 | + GLAMO_REG_MPEG_DEC_OUT2_U_ADDRL = REG_MPEG(0x8a), | ||
978 | + GLAMO_REG_MPEG_DEC_OUT2_U_ADDRH = REG_MPEG(0x8c), | ||
979 | + GLAMO_REG_MPEG_DEC_OUT2_V_ADDRL = REG_MPEG(0x8e), | ||
980 | + GLAMO_REG_MPEG_DEC_OUT2_V_ADDRH = REG_MPEG(0x90), | ||
981 | + GLAMO_REG_MPEG_DEC_WIDTH = REG_MPEG(0x92), | ||
982 | + GLAMO_REG_MPEG_DEC_HEIGHT = REG_MPEG(0x94), | ||
983 | + GLAMO_REG_MPEG_SPECIAL = REG_MPEG(0x96), | ||
984 | + GLAMO_REG_MPEG_DEC_IN_ADDRL = REG_MPEG(0x98), | ||
985 | + GLAMO_REG_MPEG_DEC_IN_ADDRH = REG_MPEG(0x9a), | ||
986 | + // | ||
987 | + GLAMO_REG_MPEG_DEBLK_THRESHOLD = REG_MPEG(0xc0), | ||
988 | + // | ||
989 | + GLAMO_REG_MPEG_DEC_STATUS = REG_MPEG(0xc8), | ||
990 | + GLAMO_REG_MPEG_DEC_RB0 = REG_MPEG(0xca), | ||
991 | + GLAMO_REG_MPEG_DEC_RB1 = REG_MPEG(0xcc), | ||
992 | +}; | ||
993 | + | ||
994 | + | ||
995 | +#define REG_2D(x) (GLAMO_REGOFS_2D+(x)) | ||
996 | + | ||
997 | +enum glamo_register_2d { | ||
998 | + GLAMO_REG_2D_SRC_ADDRL = REG_2D(0x00), | ||
999 | + GLAMO_REG_2D_SRC_ADDRH = REG_2D(0x02), | ||
1000 | + GLAMO_REG_2D_SRC_PITCH = REG_2D(0x04), | ||
1001 | + GLAMO_REG_2D_SRC_X = REG_2D(0x06), | ||
1002 | + GLAMO_REG_2D_SRC_Y = REG_2D(0x08), | ||
1003 | + GLAMO_REG_2D_DST_X = REG_2D(0x0a), | ||
1004 | + GLAMO_REG_2D_DST_Y = REG_2D(0x0c), | ||
1005 | + GLAMO_REG_2D_DST_ADDRL = REG_2D(0x0e), | ||
1006 | + GLAMO_REG_2D_DST_ADDRH = REG_2D(0x10), | ||
1007 | + GLAMO_REG_2D_DST_PITCH = REG_2D(0x12), | ||
1008 | + GLAMO_REG_2D_DST_HEIGHT = REG_2D(0x14), | ||
1009 | + GLAMO_REG_2D_RECT_WIDTH = REG_2D(0x16), | ||
1010 | + GLAMO_REG_2D_RECT_HEIGHT = REG_2D(0x18), | ||
1011 | + GLAMO_REG_2D_PAT_ADDRL = REG_2D(0x1a), | ||
1012 | + GLAMO_REG_2D_PAT_ADDRH = REG_2D(0x1c), | ||
1013 | + GLAMO_REG_2D_PAT_FG = REG_2D(0x1e), | ||
1014 | + GLAMO_REG_2D_PAT_BG = REG_2D(0x20), | ||
1015 | + GLAMO_REG_2D_SRC_FG = REG_2D(0x22), | ||
1016 | + GLAMO_REG_2D_SRC_BG = REG_2D(0x24), | ||
1017 | + GLAMO_REG_2D_MASK1 = REG_2D(0x26), | ||
1018 | + GLAMO_REG_2D_MASK2 = REG_2D(0x28), | ||
1019 | + GLAMO_REG_2D_MASK3 = REG_2D(0x2a), | ||
1020 | + GLAMO_REG_2D_MASK4 = REG_2D(0x2c), | ||
1021 | + GLAMO_REG_2D_ROT_X = REG_2D(0x2e), | ||
1022 | + GLAMO_REG_2D_ROT_Y = REG_2D(0x30), | ||
1023 | + GLAMO_REG_2D_LEFT_CLIP = REG_2D(0x32), | ||
1024 | + GLAMO_REG_2D_TOP_CLIP = REG_2D(0x34), | ||
1025 | + GLAMO_REG_2D_RIGHT_CLIP = REG_2D(0x36), | ||
1026 | + GLAMO_REG_2D_BOTTOM_CLIP = REG_2D(0x38), | ||
1027 | + GLAMO_REG_2D_COMMAND1 = REG_2D(0x3A), | ||
1028 | + GLAMO_REG_2D_COMMAND2 = REG_2D(0x3C), | ||
1029 | + GLAMO_REG_2D_COMMAND3 = REG_2D(0x3E), | ||
1030 | + GLAMO_REG_2D_SAFE = REG_2D(0x40), | ||
1031 | + GLAMO_REG_2D_STATUS = REG_2D(0x42), | ||
1032 | + GLAMO_REG_2D_ID1 = REG_2D(0x44), | ||
1033 | + GLAMO_REG_2D_ID2 = REG_2D(0x46), | ||
1034 | + GLAMO_REG_2D_ID3 = REG_2D(0x48), | ||
1035 | +}; | ||
1036 | + | ||
1037 | + | ||
1038 | +/* No offset this time */ | ||
1039 | +#define REG_3D(x) (x) | ||
1040 | + | ||
1041 | +enum glamo_register_3d | ||
1042 | +{ | ||
1043 | + /* Fire the engine */ | ||
1044 | + G3D_FIRE = REG_3D(0x2058), | ||
1045 | + | ||
1046 | + /* Streams of vertex/colour/normal/texcoord data */ | ||
1047 | + G3D_ACTIVE_STREAMS = REG_3D(0x1f00), | ||
1048 | + G3D_LAST_STREAM__VCOLFMT = REG_3D(0x2030), | ||
1049 | + G3D_STREAM_MODE_0 = REG_3D(0x1f10), | ||
1050 | + G3D_STREAM_BASE_0 = REG_3D(0x1f14), | ||
1051 | + G3D_STREAM_MODE_1 = REG_3D(0x1f18), | ||
1052 | + G3D_STREAM_BASE_1 = REG_3D(0x1f1c), | ||
1053 | + G3D_STREAM_MODE_2 = REG_3D(0x1f20), | ||
1054 | + G3D_STREAM_BASE_2 = REG_3D(0x1f24), | ||
1055 | + G3D_STREAM_MODE_3 = REG_3D(0x1f28), | ||
1056 | + G3D_STREAM_BASE_3 = REG_3D(0x1f2c), | ||
1057 | + G3D_STREAM_MODE_4 = REG_3D(0x1f30), | ||
1058 | + G3D_STREAM_BASE_4 = REG_3D(0x1f34), | ||
1059 | + G3D_STREAM_MODE_5 = REG_3D(0x1f38), | ||
1060 | + G3D_STREAM_BASE_5 = REG_3D(0x1f3c), | ||
1061 | + G3D_STREAM_MODE_6 = REG_3D(0x1f40), | ||
1062 | + G3D_STREAM_BASE_6 = REG_3D(0x1f44), | ||
1063 | + G3D_STREAM_MODE_7 = REG_3D(0x1f48), | ||
1064 | + G3D_STREAM_BASE_7 = REG_3D(0x1f4c), | ||
1065 | + | ||
1066 | + /* Modelview*projection matrix */ | ||
1067 | + G3D_MATRIX_MVP = REG_3D(0x26a0), /* .. 0x27df */ | ||
1068 | + | ||
1069 | + /* Modelview matrix */ | ||
1070 | + G3D_MATRIX_MV = REG_3D(0x26e0), /* .. 0x270f */ | ||
1071 | + | ||
1072 | + /* Inverse MVP, 3x3 only */ | ||
1073 | + G3D_MATRIX_IMVP = REG_3D(0x2710), /* .. 0x2733 */ | ||
1074 | + | ||
1075 | +}; | ||
1076 | + | ||
1077 | +#endif /* _GLAMO_REGS_H */ | ||
1078 | diff --git a/src/mesa/drivers/dri/glamo/glamo_render.c b/src/mesa/drivers/dri/glamo/glamo_render.c | ||
1079 | new file mode 100644 | ||
1080 | index 0000000..d8b21d5 | ||
1081 | --- /dev/null | ||
1082 | +++ b/src/mesa/drivers/dri/glamo/glamo_render.c | ||
1083 | @@ -0,0 +1,230 @@ | ||
1084 | +/* | ||
1085 | + * Direct Rendering Support for SMedia Glamo 336x/337x | ||
1086 | + * | ||
1087 | + * (c) 2009 Thomas White <taw@bitwiz.org.uk> | ||
1088 | + * | ||
1089 | + * Permission is hereby granted, free of charge, to any person obtaining a | ||
1090 | + * copy of this software and associated documentation files (the "Software"), | ||
1091 | + * to deal in the Software without restriction, including without limitation | ||
1092 | + * the rights to use, copy, modify, merge, publish, distribute, sublicense, | ||
1093 | + * and/or sell copies of the Software, and to permit persons to whom the | ||
1094 | + * Software is furnished to do so, subject to the following conditions: | ||
1095 | + * | ||
1096 | + * The above copyright notice and this permission notice shall be included | ||
1097 | + * in all copies or substantial portions of the Software. | ||
1098 | + * | ||
1099 | + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS | ||
1100 | + * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, | ||
1101 | + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL | ||
1102 | + * THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN | ||
1103 | + * AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN | ||
1104 | + * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. | ||
1105 | + * | ||
1106 | + * | ||
1107 | + * Based on intel_render.c, to which the following notice applies: | ||
1108 | + * | ||
1109 | + * Copyright 2003 Tungsten Graphics, Inc., Cedar Park, Texas. | ||
1110 | + * All Rights Reserved. | ||
1111 | + * | ||
1112 | + * Permission is hereby granted, free of charge, to any person obtaining a | ||
1113 | + * copy of this software and associated documentation files (the | ||
1114 | + * "Software"), to deal in the Software without restriction, including | ||
1115 | + * without limitation the rights to use, copy, modify, merge, publish, | ||
1116 | + * distribute, sub license, and/or sell copies of the Software, and to | ||
1117 | + * permit persons to whom the Software is furnished to do so, subject to | ||
1118 | + * the following conditions: | ||
1119 | + * | ||
1120 | + * The above copyright notice and this permission notice (including the | ||
1121 | + * next paragraph) shall be included in all copies or substantial portions | ||
1122 | + * of the Software. | ||
1123 | + * | ||
1124 | + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS | ||
1125 | + * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF | ||
1126 | + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. | ||
1127 | + * IN NO EVENT SHALL TUNGSTEN GRAPHICS AND/OR ITS SUPPLIERS BE LIABLE FOR | ||
1128 | + * ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, | ||
1129 | + * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE | ||
1130 | + * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. | ||
1131 | + * | ||
1132 | + */ | ||
1133 | + | ||
1134 | + | ||
1135 | +/* | ||
1136 | + * Render unclipped vertex buffers by emitting vertices directly to | ||
1137 | + * dma buffers. Use strip/fan hardware acceleration where possible. | ||
1138 | + * | ||
1139 | + */ | ||
1140 | +#include "main/glheader.h" | ||
1141 | +#include "main/context.h" | ||
1142 | +#include "main/macros.h" | ||
1143 | +#include "main/imports.h" | ||
1144 | +#include "main/mtypes.h" | ||
1145 | +#include "main/enums.h" | ||
1146 | + | ||
1147 | +#include "tnl/t_context.h" | ||
1148 | +#include "tnl/t_vertex.h" | ||
1149 | +#include "tnl/t_pipeline.h" | ||
1150 | +#include "math/m_xform.h" | ||
1151 | + | ||
1152 | +#include "glamo_context.h" | ||
1153 | +#include "glamo_tris.h" | ||
1154 | +#include "glamo_regs.h" | ||
1155 | + | ||
1156 | +/* | ||
1157 | + * Render unclipped vertex buffers by emitting vertices directly to | ||
1158 | + * VRAM buffers. Use strip/fan hardware primitives where possible. | ||
1159 | + * Try to simulate missing primitives with indexed vertices. | ||
1160 | + */ | ||
1161 | +#define HAVE_POINTS 1 | ||
1162 | +#define HAVE_LINES 1 | ||
1163 | +#define HAVE_LINE_STRIPS 0 | ||
1164 | +#define HAVE_TRIANGLES 1 | ||
1165 | +#define HAVE_TRI_STRIPS 0 | ||
1166 | +#define HAVE_TRI_STRIP_1 0 | ||
1167 | +#define HAVE_TRI_FANS 0 | ||
1168 | +#define HAVE_POLYGONS 0 | ||
1169 | +#define HAVE_QUADS 0 | ||
1170 | +#define HAVE_QUAD_STRIPS 0 | ||
1171 | +#define HAVE_ELTS 0 | ||
1172 | + | ||
1173 | + | ||
1174 | +static void glamoFlushPrim(struct glamo_context *gCtx) | ||
1175 | +{ | ||
1176 | + printf("glamoFlushPrim: %i vertices, %i %i\n", gCtx->prim.count, | ||
1177 | + gCtx->prim.start_offset, gCtx->prim.current_offset); | ||
1178 | + | ||
1179 | + if ( gCtx->prim.vb_bo == NULL ) return; | ||
1180 | + | ||
1181 | + /* Upload to hardware */ | ||
1182 | + glamo_bo_subdata(gCtx->prim.vb_bo, 0, gCtx->prim.current_offset, | ||
1183 | + gCtx->prim.vb); | ||
1184 | + | ||
1185 | + /* Dispatch to the hardware */ | ||
1186 | + glamoDRMStartBurst(gCtx, G3D_STREAM_MODE_0); | ||
1187 | + glamoDRMAddData(gCtx, 0x000f0300, 4); | ||
1188 | + glamoDRMAddBO(gCtx, gCtx->prim.vb_bo); | ||
1189 | + glamoDRMDispatch(gCtx); | ||
1190 | + | ||
1191 | + /* Please use a new BO for the next buffer */ | ||
1192 | + gCtx->prim.vb_bo = NULL; | ||
1193 | + | ||
1194 | + /* Continue from new start */ | ||
1195 | + gCtx->prim.start_offset = gCtx->prim.current_offset; | ||
1196 | +} | ||
1197 | + | ||
1198 | + | ||
1199 | +static inline GLuint glamoGetVBMax(struct glamo_context *gCtx) | ||
1200 | +{ | ||
1201 | + return GLAMO_VB_SIZE / gCtx->vertex_size; | ||
1202 | +} | ||
1203 | + | ||
1204 | + | ||
1205 | +static inline GLuint glamoGetCurrentMax(struct glamo_context *gCtx) | ||
1206 | +{ | ||
1207 | + /* How many more vertices can be accommodated? | ||
1208 | + * Each vertex takes up 4x 32-bit fixed point values */ | ||
1209 | + return (GLAMO_VB_SIZE - gCtx->prim.current_offset) / gCtx->vertex_size; | ||
1210 | +} | ||
1211 | + | ||
1212 | + | ||
1213 | +#define LOCAL_VARS \ | ||
1214 | + struct glamo_context *gCtx = GLAMO_CONTEXT(ctx); | ||
1215 | + | ||
1216 | +#define INIT(prim) | ||
1217 | + | ||
1218 | +#define FLUSH() glamoFlushPrim(gCtx) | ||
1219 | + | ||
1220 | +#define GET_SUBSEQUENT_VB_MAX_VERTS() glamoGetVBMax(gCtx) | ||
1221 | +#define GET_CURRENT_VB_MAX_VERTS() glamoGetCurrentMax(gCtx) | ||
1222 | + | ||
1223 | +#define ALLOC_VERTS(nr) glamoGetPrimSpace(gCtx, nr) | ||
1224 | + | ||
1225 | +#define EMIT_VERTS(ctx, j, nr, buf) \ | ||
1226 | + _tnl_emit_vertices_to_buffer(ctx, j, (j)+(nr), buf) | ||
1227 | + | ||
1228 | +#define TAG(x) glamo_##x | ||
1229 | +#include "tnl_dd/t_dd_dmatmp.h" | ||
1230 | + | ||
1231 | + | ||
1232 | +/**********************************************************************/ | ||
1233 | +/* Render pipeline stage */ | ||
1234 | +/**********************************************************************/ | ||
1235 | + | ||
1236 | +static void glamoFireEngine(struct glamo_context *gCtx) | ||
1237 | +{ | ||
1238 | + glamoDRMStartBurst(gCtx, G3D_FIRE); | ||
1239 | + glamoDRMAddData(gCtx, 0, 2); /* Fire! */ | ||
1240 | + glamoDRMDispatch(gCtx); | ||
1241 | +} | ||
1242 | + | ||
1243 | + | ||
1244 | +static GLboolean glamoRunRender(struct gl_context *ctx, | ||
1245 | + struct tnl_pipeline_stage *stage) | ||
1246 | +{ | ||
1247 | + TNLcontext *tnl = TNL_CONTEXT(ctx); | ||
1248 | + struct glamo_context *gCtx = GLAMO_CONTEXT(ctx); | ||
1249 | + struct vertex_buffer *VB = &tnl->vb; | ||
1250 | + GLuint i; | ||
1251 | + | ||
1252 | + printf("glamoRunRender\n"); | ||
1253 | + | ||
1254 | + /* Don't handle clipping */ | ||
1255 | + if ( !glamo_validate_render(ctx, VB) ) { | ||
1256 | + return GL_TRUE; /* Failed */ | ||
1257 | + } | ||
1258 | + | ||
1259 | + /* Validate GPU state */ | ||
1260 | + if ( gCtx->new_state ) { | ||
1261 | + if ( !glamoValidateState(ctx, gCtx->new_state) ) { | ||
1262 | + printf("Couldn't validate state...\n"); | ||
1263 | + } | ||
1264 | + } /* else nothing to update */ | ||
1265 | + | ||
1266 | + tnl->clipspace.new_inputs |= VERT_BIT_POS; | ||
1267 | + | ||
1268 | + tnl->Driver.Render.Start(ctx); | ||
1269 | + | ||
1270 | + for ( i=0; i<VB->PrimitiveCount; i++ ) { | ||
1271 | + | ||
1272 | + GLuint prim = _tnl_translate_prim(&VB->Primitive[i]); | ||
1273 | + GLuint start = VB->Primitive[i].start; | ||
1274 | + GLuint length = VB->Primitive[i].count; | ||
1275 | + | ||
1276 | + if (!length) continue; | ||
1277 | + | ||
1278 | + glamo_render_tab_verts[prim & PRIM_MODE_MASK](ctx, start, | ||
1279 | + start + length, prim); | ||
1280 | + | ||
1281 | + } | ||
1282 | + | ||
1283 | + tnl->Driver.Render.Finish(ctx); | ||
1284 | + | ||
1285 | + glamoFireEngine(gCtx); | ||
1286 | + | ||
1287 | + return GL_FALSE; /* Ok */ | ||
1288 | +} | ||
1289 | + | ||
1290 | + | ||
1291 | +static const struct tnl_pipeline_stage _glamo_render_stage = { | ||
1292 | + "glamo render", | ||
1293 | + NULL, | ||
1294 | + NULL, | ||
1295 | + NULL, | ||
1296 | + NULL, | ||
1297 | + glamoRunRender | ||
1298 | +}; | ||
1299 | + | ||
1300 | + | ||
1301 | +const struct tnl_pipeline_stage *glamo_pipeline[] = { | ||
1302 | + &_tnl_vertex_transform_stage, | ||
1303 | + &_tnl_normal_transform_stage, | ||
1304 | + &_tnl_lighting_stage, | ||
1305 | + &_tnl_fog_coordinate_stage, | ||
1306 | + &_tnl_texgen_stage, | ||
1307 | + &_tnl_texture_transform_stage, | ||
1308 | + &_tnl_point_attenuation_stage, | ||
1309 | + &_tnl_vertex_program_stage, | ||
1310 | + &_glamo_render_stage, /* ADD: unclipped rastersetup-to-dma */ | ||
1311 | + &_tnl_render_stage, | ||
1312 | + 0, | ||
1313 | +}; | ||
1314 | diff --git a/src/mesa/drivers/dri/glamo/glamo_render.h b/src/mesa/drivers/dri/glamo/glamo_render.h | ||
1315 | new file mode 100644 | ||
1316 | index 0000000..99c36a8 | ||
1317 | --- /dev/null | ||
1318 | +++ b/src/mesa/drivers/dri/glamo/glamo_render.h | ||
1319 | @@ -0,0 +1,31 @@ | ||
1320 | +/* | ||
1321 | + * Direct Rendering Support for SMedia Glamo 336x/337x | ||
1322 | + * | ||
1323 | + * (c) 2009 Thomas White <taw@bitwiz.org.uk> | ||
1324 | + * | ||
1325 | + * Permission is hereby granted, free of charge, to any person obtaining a | ||
1326 | + * copy of this software and associated documentation files (the "Software"), | ||
1327 | + * to deal in the Software without restriction, including without limitation | ||
1328 | + * the rights to use, copy, modify, merge, publish, distribute, sublicense, | ||
1329 | + * and/or sell copies of the Software, and to permit persons to whom the | ||
1330 | + * Software is furnished to do so, subject to the following conditions: | ||
1331 | + * | ||
1332 | + * The above copyright notice and this permission notice shall be included | ||
1333 | + * in all copies or substantial portions of the Software. | ||
1334 | + * | ||
1335 | + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS | ||
1336 | + * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, | ||
1337 | + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL | ||
1338 | + * THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN | ||
1339 | + * AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN | ||
1340 | + * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. | ||
1341 | + */ | ||
1342 | + | ||
1343 | +#ifndef __GLAMO_RENDER_H | ||
1344 | +#define __GLAMO_RENDER_H | ||
1345 | + | ||
1346 | +#include "main/mtypes.h" | ||
1347 | + | ||
1348 | +extern const struct tnl_pipeline_stage *glamo_pipeline[]; | ||
1349 | + | ||
1350 | +#endif /* __GLAMO_RENDER_H */ | ||
1351 | diff --git a/src/mesa/drivers/dri/glamo/glamo_screen.c b/src/mesa/drivers/dri/glamo/glamo_screen.c | ||
1352 | new file mode 100644 | ||
1353 | index 0000000..cc8a730 | ||
1354 | --- /dev/null | ||
1355 | +++ b/src/mesa/drivers/dri/glamo/glamo_screen.c | ||
1356 | @@ -0,0 +1,250 @@ | ||
1357 | +/* | ||
1358 | + * Direct Rendering Support for SMedia Glamo 336x/337x | ||
1359 | + * | ||
1360 | + * (c) 2009 Thomas White <taw@bitwiz.org.uk> | ||
1361 | + * Roughly based on sis_screen.c (c) 2003 Eric Anholt | ||
1362 | + * | ||
1363 | + * Permission is hereby granted, free of charge, to any person obtaining a | ||
1364 | + * copy of this software and associated documentation files (the "Software"), | ||
1365 | + * to deal in the Software without restriction, including without limitation | ||
1366 | + * the rights to use, copy, modify, merge, publish, distribute, sublicense, | ||
1367 | + * and/or sell copies of the Software, and to permit persons to whom the | ||
1368 | + * Software is furnished to do so, subject to the following conditions: | ||
1369 | + * | ||
1370 | + * The above copyright notice and this permission notice shall be included | ||
1371 | + * in all copies or substantial portions of the Software. | ||
1372 | + * | ||
1373 | + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS | ||
1374 | + * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, | ||
1375 | + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL | ||
1376 | + * THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN | ||
1377 | + * AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN | ||
1378 | + * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. | ||
1379 | + */ | ||
1380 | + | ||
1381 | + | ||
1382 | +#include "dri_util.h" | ||
1383 | +#include "utils.h" | ||
1384 | +#include "xmlconfig.h" | ||
1385 | +#include "GL/internal/dri_interface.h" | ||
1386 | +#include "main/framebuffer.h" | ||
1387 | +#include "main/renderbuffer.h" | ||
1388 | + | ||
1389 | +#include "glamo_screen.h" | ||
1390 | +#include "glamo_context.h" | ||
1391 | +#include "glamo_fbo.h" | ||
1392 | + | ||
1393 | +/* This comes from libdrm_glamo */ | ||
1394 | +#include <glamo_bo_gem.h> | ||
1395 | + | ||
1396 | + | ||
1397 | +static int glamoInitDriver(__DRIscreen *psp) | ||
1398 | +{ | ||
1399 | + return 0; | ||
1400 | +} | ||
1401 | + | ||
1402 | + | ||
1403 | +static glamoScreenPtr glamoCreateScreen(__DRIscreen *sPriv) | ||
1404 | +{ | ||
1405 | + glamoScreenPtr glamoScreen; | ||
1406 | + | ||
1407 | + /* Allocate the private area */ | ||
1408 | + glamoScreen = (glamoScreenPtr)CALLOC(sizeof(*glamoScreen)); | ||
1409 | + if ( glamoScreen == NULL ) | ||
1410 | + return NULL; | ||
1411 | + | ||
1412 | + glamoScreen->driScreen = sPriv; | ||
1413 | + | ||
1414 | + /* This is our link to the kernel's memory manager, via libdrm */ | ||
1415 | + glamoScreen->bom = glamo_bo_manager_gem_ctor(sPriv->fd); | ||
1416 | + | ||
1417 | + return glamoScreen; | ||
1418 | +} | ||
1419 | + | ||
1420 | + | ||
1421 | +static void glamoDestroyScreen(__DRIscreen *sPriv) | ||
1422 | +{ | ||
1423 | + glamoScreenPtr glamoScreen = (glamoScreenPtr)sPriv->private; | ||
1424 | + | ||
1425 | + if ( glamoScreen == NULL ) | ||
1426 | + return; | ||
1427 | + | ||
1428 | + FREE(glamoScreen); | ||
1429 | + sPriv->private = NULL; | ||
1430 | +} | ||
1431 | + | ||
1432 | + | ||
1433 | +static const __DRIconfig **glamoInitScreen(__DRIscreen *sPriv) | ||
1434 | +{ | ||
1435 | + __DRIconfig **configs; | ||
1436 | + uint8_t depth_bits_array[2]; | ||
1437 | + uint8_t stencil_bits_array[2]; | ||
1438 | + uint8_t msaa_samples_array[1]; | ||
1439 | + static const GLenum db_modes[] = { GLX_SWAP_COPY_OML, GLX_NONE }; | ||
1440 | + | ||
1441 | + /* Driver initialisation */ | ||
1442 | + if ( glamoInitDriver(sPriv) ) { | ||
1443 | + return NULL; | ||
1444 | + } | ||
1445 | + | ||
1446 | + /* Screen-specific initialisation */ | ||
1447 | + sPriv->private = glamoCreateScreen(sPriv); | ||
1448 | + if ( !sPriv->private ) { | ||
1449 | + glamoDestroyScreen(sPriv); | ||
1450 | + return NULL; | ||
1451 | + } | ||
1452 | + | ||
1453 | + depth_bits_array[0] = 0; | ||
1454 | + stencil_bits_array[0] = 0; | ||
1455 | + depth_bits_array[1] = 16; | ||
1456 | + stencil_bits_array[1] = 0; | ||
1457 | + msaa_samples_array[0] = 0; | ||
1458 | + | ||
1459 | + configs = driCreateConfigs(GL_RGB, GL_UNSIGNED_SHORT_5_6_5, | ||
1460 | + depth_bits_array, stencil_bits_array, 2, | ||
1461 | + db_modes, 2, msaa_samples_array, 1, GL_TRUE); | ||
1462 | + | ||
1463 | + if ( configs == NULL ) { | ||
1464 | + fprintf(stderr, "[%s:%u] Error creating FBConfig!\n", __func__, __LINE__); | ||
1465 | + return NULL; | ||
1466 | + } | ||
1467 | + | ||
1468 | + return (const __DRIconfig **)configs; | ||
1469 | +} | ||
1470 | + | ||
1471 | + | ||
1472 | +static const __DRIconfig **glamoInitScreen2(__DRIscreen *sPriv) | ||
1473 | +{ | ||
1474 | + __DRIconfig **configs; | ||
1475 | + uint8_t depth_bits_array[2]; | ||
1476 | + uint8_t stencil_bits_array[2]; | ||
1477 | + uint8_t msaa_samples_array[1]; | ||
1478 | + static const GLenum db_modes[] = { GLX_SWAP_COPY_OML, GLX_NONE }; | ||
1479 | + | ||
1480 | + /* Driver initialisation */ | ||
1481 | + if ( glamoInitDriver(sPriv) ) { | ||
1482 | + return NULL; | ||
1483 | + } | ||
1484 | + | ||
1485 | + /* Screen-specific initialisation */ | ||
1486 | + sPriv->private = glamoCreateScreen(sPriv); | ||
1487 | + if ( !sPriv->private ) { | ||
1488 | + glamoDestroyScreen(sPriv); | ||
1489 | + return NULL; | ||
1490 | + } | ||
1491 | + | ||
1492 | + depth_bits_array[0] = 0; | ||
1493 | + stencil_bits_array[0] = 0; | ||
1494 | + depth_bits_array[1] = 16; | ||
1495 | + stencil_bits_array[1] = 0; | ||
1496 | + msaa_samples_array[0] = 0; | ||
1497 | + | ||
1498 | + configs = driCreateConfigs(GL_RGB, GL_UNSIGNED_SHORT_5_6_5, | ||
1499 | + depth_bits_array, stencil_bits_array, 2, | ||
1500 | + db_modes, 2, msaa_samples_array, 1, GL_TRUE); | ||
1501 | + | ||
1502 | + if ( configs == NULL ) { | ||
1503 | + fprintf(stderr, "[%s:%u] Error creating FBConfig!\n", __func__, __LINE__); | ||
1504 | + return NULL; | ||
1505 | + } | ||
1506 | + | ||
1507 | + return (const __DRIconfig **)configs; | ||
1508 | +} | ||
1509 | + | ||
1510 | + | ||
1511 | +/* Allocate buffers for a context. This is where the fun starts... */ | ||
1512 | +static GLboolean glamoCreateBuffer(__DRIscreen *driScrnPriv, | ||
1513 | + __DRIdrawable *driDrawPriv, | ||
1514 | + const struct gl_config *mesaVis, | ||
1515 | + GLboolean isPixmap) | ||
1516 | +{ | ||
1517 | + struct glamo_framebuffer *gfb; | ||
1518 | + GLenum rgbFormat; | ||
1519 | + | ||
1520 | + if ( isPixmap ) return GL_FALSE; /* not implemented */ | ||
1521 | + | ||
1522 | + gfb = CALLOC_STRUCT(glamo_framebuffer); | ||
1523 | + if ( !gfb ) return GL_FALSE; | ||
1524 | + | ||
1525 | + _mesa_initialize_window_framebuffer(&gfb->base, mesaVis); | ||
1526 | + | ||
1527 | + /* we only support this one format at the moment */ | ||
1528 | + rgbFormat = GL_RGB5; | ||
1529 | + | ||
1530 | + /* Front color renderbuffer */ | ||
1531 | + gfb->color_rb[0] = glamo_create_renderbuffer(rgbFormat, driDrawPriv); | ||
1532 | + _mesa_add_renderbuffer(&gfb->base, BUFFER_FRONT_LEFT, | ||
1533 | + &gfb->color_rb[0]->base); | ||
1534 | + | ||
1535 | + /* Back color renderbuffer, if requested */ | ||
1536 | + if ( mesaVis->doubleBufferMode ) { | ||
1537 | + gfb->color_rb[1] = glamo_create_renderbuffer(rgbFormat, driDrawPriv); | ||
1538 | + _mesa_add_renderbuffer(&gfb->base, BUFFER_BACK_LEFT, | ||
1539 | + &gfb->color_rb[1]->base); | ||
1540 | + } | ||
1541 | + | ||
1542 | + if ( mesaVis->depthBits == 16 ) { | ||
1543 | + struct glamo_renderbuffer *depth; | ||
1544 | + depth = glamo_create_renderbuffer(GL_DEPTH_COMPONENT16, driDrawPriv); | ||
1545 | + _mesa_add_renderbuffer(&gfb->base, BUFFER_DEPTH, &depth->base); | ||
1546 | + } | ||
1547 | + | ||
1548 | + /* Add software renderbuffers for the things we can't support in hardware */ | ||
1549 | + _mesa_add_soft_renderbuffers(&gfb->base, | ||
1550 | + GL_FALSE, /* color */ | ||
1551 | + GL_FALSE, /* depth */ | ||
1552 | + mesaVis->stencilBits > 0, /* stencil, if required */ | ||
1553 | + mesaVis->accumRedBits > 0, /* accum, if required */ | ||
1554 | + GL_FALSE, /* alpha */ | ||
1555 | + GL_FALSE /* aux */ | ||
1556 | + ); | ||
1557 | + driDrawPriv->driverPrivate = (void *)gfb; | ||
1558 | + | ||
1559 | + return (driDrawPriv->driverPrivate != NULL); | ||
1560 | +} | ||
1561 | + | ||
1562 | + | ||
1563 | +static void glamoDestroyBuffer(__DRIdrawable *driDrawPriv) | ||
1564 | +{ | ||
1565 | +} | ||
1566 | + | ||
1567 | + | ||
1568 | +static void glamoSwapBuffers(__DRIdrawable *driDrawPriv) | ||
1569 | +{ | ||
1570 | + printf("glamoSwapBuffers\n"); fflush(stdout); | ||
1571 | +} | ||
1572 | + | ||
1573 | + | ||
1574 | +/* | ||
1575 | + * Mesa entry points | ||
1576 | + * | ||
1577 | + * See src/mesa/drivers/dri/common/dri_util.h for information about these | ||
1578 | + */ | ||
1579 | +const struct __DriverAPIRec driDriverAPI = { | ||
1580 | + .InitScreen = glamoInitScreen, | ||
1581 | + .DestroyScreen = glamoDestroyScreen, | ||
1582 | + .CreateContext = glamoCreateContext, | ||
1583 | + .DestroyContext = glamoDestroyContext, | ||
1584 | + .CreateBuffer = glamoCreateBuffer, | ||
1585 | + .DestroyBuffer = glamoDestroyBuffer, | ||
1586 | + .SwapBuffers = glamoSwapBuffers, | ||
1587 | + .MakeCurrent = glamoMakeCurrent, | ||
1588 | + .UnbindContext = glamoUnbindContext, | ||
1589 | + .GetSwapInfo = NULL, /* Not used */ | ||
1590 | + .WaitForMSC = NULL, | ||
1591 | + .WaitForSBC = NULL, | ||
1592 | + .SwapBuffersMSC = NULL, | ||
1593 | + .CopySubBuffer = NULL, | ||
1594 | + .GetDrawableMSC = NULL, /* Not used */ | ||
1595 | + .InitScreen2 = glamoInitScreen2, /* For DRI2 */ | ||
1596 | +}; | ||
1597 | + | ||
1598 | +/* This is the table of extensions that the loader will dlsym() for. */ | ||
1599 | +PUBLIC const __DRIextension *__driDriverExtensions[] = { | ||
1600 | + &driCoreExtension.base, | ||
1601 | + &driLegacyExtension.base, | ||
1602 | + &driDRI2Extension.base, | ||
1603 | + NULL | ||
1604 | +}; | ||
1605 | + | ||
1606 | +/* kate: space-indent on; indent-width 3; mixedindent off; indent-mode cstyle; */ | ||
1607 | diff --git a/src/mesa/drivers/dri/glamo/glamo_screen.h b/src/mesa/drivers/dri/glamo/glamo_screen.h | ||
1608 | new file mode 100644 | ||
1609 | index 0000000..3f2eb5f | ||
1610 | --- /dev/null | ||
1611 | +++ b/src/mesa/drivers/dri/glamo/glamo_screen.h | ||
1612 | @@ -0,0 +1,44 @@ | ||
1613 | +/* | ||
1614 | + * Direct Rendering Support for SMedia Glamo 336x/337x | ||
1615 | + * | ||
1616 | + * (c) 2009 Thomas White <taw@bitwiz.org.uk> | ||
1617 | + * Roughly based on sis_screen.h (c) 2003 Eric Anholt | ||
1618 | + * | ||
1619 | + * Permission is hereby granted, free of charge, to any person obtaining a | ||
1620 | + * copy of this software and associated documentation files (the "Software"), | ||
1621 | + * to deal in the Software without restriction, including without limitation | ||
1622 | + * the rights to use, copy, modify, merge, publish, distribute, sublicense, | ||
1623 | + * and/or sell copies of the Software, and to permit persons to whom the | ||
1624 | + * Software is furnished to do so, subject to the following conditions: | ||
1625 | + * | ||
1626 | + * The above copyright notice and this permission notice shall be included | ||
1627 | + * in all copies or substantial portions of the Software. | ||
1628 | + * | ||
1629 | + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS | ||
1630 | + * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, | ||
1631 | + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL | ||
1632 | + * THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN | ||
1633 | + * AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN | ||
1634 | + * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. | ||
1635 | + */ | ||
1636 | + | ||
1637 | +#ifndef __GLAMO_SCREEN_H | ||
1638 | +#define __GLAMO_SCREEN_H | ||
1639 | + | ||
1640 | +#include "xmlconfig.h" | ||
1641 | +#include "dri_util.h" | ||
1642 | + | ||
1643 | +#include <glamo_bo_gem.h> | ||
1644 | + | ||
1645 | +typedef struct { | ||
1646 | + | ||
1647 | + __DRIscreen *driScreen; | ||
1648 | + driOptionCache optionCache; | ||
1649 | + | ||
1650 | + struct glamo_bo_manager *bom; | ||
1651 | + | ||
1652 | +} glamoScreenRec, *glamoScreenPtr; | ||
1653 | + | ||
1654 | +#endif /* __GLAMO_SCREEN_H */ | ||
1655 | + | ||
1656 | +/* kate: space-indent on; indent-width 3; mixedindent off; indent-mode cstyle; */ | ||
1657 | diff --git a/src/mesa/drivers/dri/glamo/glamo_state.c b/src/mesa/drivers/dri/glamo/glamo_state.c | ||
1658 | new file mode 100644 | ||
1659 | index 0000000..3aa2f8b | ||
1660 | --- /dev/null | ||
1661 | +++ b/src/mesa/drivers/dri/glamo/glamo_state.c | ||
1662 | @@ -0,0 +1,305 @@ | ||
1663 | +/* | ||
1664 | + * Direct Rendering Support for SMedia Glamo 336x/337x | ||
1665 | + * | ||
1666 | + * (c) 2009-2010 Thomas White <taw@bitwiz.org.uk> | ||
1667 | + * Roughly based on sis_state.c (c) 2003 Eric Anholt | ||
1668 | + * | ||
1669 | + * Permission is hereby granted, free of charge, to any person obtaining a | ||
1670 | + * copy of this software and associated documentation files (the "Software"), | ||
1671 | + * to deal in the Software without restriction, including without limitation | ||
1672 | + * the rights to use, copy, modify, merge, publish, distribute, sublicense, | ||
1673 | + * and/or sell copies of the Software, and to permit persons to whom the | ||
1674 | + * Software is furnished to do so, subject to the following conditions: | ||
1675 | + * | ||
1676 | + * The above copyright notice and this permission notice shall be included | ||
1677 | + * in all copies or substantial portions of the Software. | ||
1678 | + * | ||
1679 | + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS | ||
1680 | + * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, | ||
1681 | + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL | ||
1682 | + * THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN | ||
1683 | + * AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN | ||
1684 | + * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. | ||
1685 | + * | ||
1686 | + * | ||
1687 | + * Also partially based on intel_fbo.c, to which the following notice applies: | ||
1688 | + * | ||
1689 | + * Copyright 2006 Tungsten Graphics, Inc., Cedar Park, Texas. | ||
1690 | + * All Rights Reserved. | ||
1691 | + * | ||
1692 | + * Permission is hereby granted, free of charge, to any person obtaining a | ||
1693 | + * copy of this software and associated documentation files (the | ||
1694 | + * "Software"), to deal in the Software without restriction, including | ||
1695 | + * without limitation the rights to use, copy, modify, merge, publish, | ||
1696 | + * distribute, sub license, and/or sell copies of the Software, and to | ||
1697 | + * permit persons to whom the Software is furnished to do so, subject to | ||
1698 | + * the following conditions: | ||
1699 | + * | ||
1700 | + * The above copyright notice and this permission notice (including the | ||
1701 | + * next paragraph) shall be included in all copies or substantial portions | ||
1702 | + * of the Software. | ||
1703 | + * | ||
1704 | + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS | ||
1705 | + * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF | ||
1706 | + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. | ||
1707 | + * IN NO EVENT SHALL TUNGSTEN GRAPHICS AND/OR ITS SUPPLIERS BE LIABLE FOR | ||
1708 | + * ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, | ||
1709 | + * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE | ||
1710 | + * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. | ||
1711 | + */ | ||
1712 | + | ||
1713 | + | ||
1714 | +#include "main/context.h" | ||
1715 | +#include "main/framebuffer.h" | ||
1716 | +#include "main/api_arrayelt.h" | ||
1717 | +#include "main/macros.h" | ||
1718 | +#include "swrast/swrast.h" | ||
1719 | +#include "swrast_setup/swrast_setup.h" | ||
1720 | +#include "tnl/tnl.h" | ||
1721 | + | ||
1722 | +#include "glamo_fbo.h" | ||
1723 | +#include "glamo_state.h" | ||
1724 | +#include "glamo_context.h" | ||
1725 | +#include "glamo_cmdq.h" | ||
1726 | +#include "glamo_regs.h" | ||
1727 | + | ||
1728 | + | ||
1729 | +static void glamoResizeBuffers(struct gl_context *ctx, struct gl_framebuffer *fb, | ||
1730 | + GLuint width, GLuint height) | ||
1731 | +{ | ||
1732 | + struct glamo_framebuffer *glamo_fb = (struct glamo_framebuffer *)fb; | ||
1733 | + int i; | ||
1734 | + | ||
1735 | + _mesa_resize_framebuffer(ctx, fb, width, height); | ||
1736 | + | ||
1737 | + fb->Initialized = GL_TRUE; /* XXX remove someday */ | ||
1738 | + | ||
1739 | + if (fb->Name != 0) { | ||
1740 | + return; | ||
1741 | + } | ||
1742 | + | ||
1743 | + /* Make sure all window system renderbuffers are up to date */ | ||
1744 | + for (i = 0; i < 2; i++) { | ||
1745 | + struct gl_renderbuffer *rb = &glamo_fb->color_rb[i]->base; | ||
1746 | + | ||
1747 | + /* only resize if size is changing */ | ||
1748 | + if (rb && (rb->Width != width || rb->Height != height)) { | ||
1749 | + rb->AllocStorage(ctx, rb, rb->InternalFormat, | ||
1750 | + width, height); | ||
1751 | + } | ||
1752 | + } | ||
1753 | +} | ||
1754 | + | ||
1755 | + | ||
1756 | +static void glamoClear(struct gl_context *ctx, GLbitfield mask) | ||
1757 | +{ | ||
1758 | + glamoContext *gCtx; | ||
1759 | + struct gl_framebuffer *fb; | ||
1760 | + int i; | ||
1761 | + | ||
1762 | + gCtx = GLAMO_CONTEXT(ctx); | ||
1763 | + fb = ctx->DrawBuffer; | ||
1764 | + | ||
1765 | + printf("glamoClear (%f %f %f %f)\n", ctx->Color.ClearColor[0], | ||
1766 | + ctx->Color.ClearColor[1], ctx->Color.ClearColor[2], | ||
1767 | + ctx->Color.ClearColor[3]); fflush(stdout); | ||
1768 | + | ||
1769 | + for (i = 0; i < fb->_NumColorDrawBuffers; i++) { | ||
1770 | + | ||
1771 | + struct glamo_renderbuffer *grb; | ||
1772 | + | ||
1773 | + grb = glamo_renderbuffer(fb->_ColorDrawBuffers[i]); | ||
1774 | + | ||
1775 | + glamoDRMStartBurst(gCtx, GLAMO_REG_2D_DST_X); | ||
1776 | + glamoDRMAddData(gCtx, fb->_Xmin, 2); /* dest X */ | ||
1777 | + glamoDRMAddData(gCtx, fb->_Ymin, 2); /* dest Y */ | ||
1778 | + glamoDRMAddBO(gCtx, grb->bo); /* dest L/H */ | ||
1779 | + glamoDRMAddData(gCtx, grb->pitch & 0x7ff, 2); /* dest pitch */ | ||
1780 | + glamoDRMAddData(gCtx, grb->height, 2); /* dest height */ | ||
1781 | + glamoDRMAddData(gCtx, fb->_Xmax-fb->_Xmin, 2); /* width */ | ||
1782 | + glamoDRMAddData(gCtx, fb->_Ymax-fb->_Ymin, 2); /* height */ | ||
1783 | + glamoDRMAddData(gCtx, 0x0000, 2); /* patt L */ | ||
1784 | + glamoDRMAddData(gCtx, 0x0000, 2); /* patt H */ | ||
1785 | + glamoDRMAddData(gCtx, gCtx->col_clear, 2); /* FG colour */ | ||
1786 | + glamoDRMDispatch(gCtx); | ||
1787 | + | ||
1788 | + glamoDRMStartBurst(gCtx, GLAMO_REG_2D_COMMAND1); | ||
1789 | + glamoDRMAddData(gCtx, 0x0000, 2); /* Cmd param 1 */ | ||
1790 | + glamoDRMAddData(gCtx, 0xf0 << 8, 2); /* Cmd param 2 */ | ||
1791 | + glamoDRMAddData(gCtx, 0x0000, 2); /* Cmd param 3 */ | ||
1792 | + glamoDRMDispatch(gCtx); | ||
1793 | + | ||
1794 | + } | ||
1795 | +} | ||
1796 | + | ||
1797 | + | ||
1798 | +static void glamoClearColor(struct gl_context *ctx, const GLfloat color[4]) | ||
1799 | +{ | ||
1800 | + struct glamo_context *gCtx = GLAMO_CONTEXT(ctx); | ||
1801 | + GLubyte col_byte[4]; | ||
1802 | + | ||
1803 | + printf("glamoClearColor (%f %f %f %f)\n", color[0], color[1], color[2], | ||
1804 | + color[3]); fflush(stdout); | ||
1805 | + | ||
1806 | + CLAMPED_FLOAT_TO_UBYTE(col_byte[0], color[0]); | ||
1807 | + CLAMPED_FLOAT_TO_UBYTE(col_byte[1], color[1]); | ||
1808 | + CLAMPED_FLOAT_TO_UBYTE(col_byte[2], color[2]); | ||
1809 | + CLAMPED_FLOAT_TO_UBYTE(col_byte[3], color[3]); | ||
1810 | + | ||
1811 | + gCtx->col_clear = GLAMO_PACKCOLOR565(col_byte[0], col_byte[1], | ||
1812 | + col_byte[2]); | ||
1813 | +} | ||
1814 | + | ||
1815 | + | ||
1816 | +static void glamoShadeModel(struct gl_context *ctx, GLenum mode) | ||
1817 | +{ | ||
1818 | + printf("glamoShadeModel\n"); fflush(stdout); | ||
1819 | +} | ||
1820 | + | ||
1821 | + | ||
1822 | +static void glamoViewport(struct gl_context *ctx, GLint x, GLint y, | ||
1823 | + GLsizei width, GLsizei height ) | ||
1824 | +{ | ||
1825 | + struct glamo_context *gCtx = GLAMO_CONTEXT(ctx); | ||
1826 | + __DRIcontext *driContext = gCtx->driContext; | ||
1827 | + void (*old_viewport)(struct gl_context *ctx, GLint x, GLint y, | ||
1828 | + GLsizei w, GLsizei h); | ||
1829 | + | ||
1830 | + if ( !driContext->driScreenPriv->dri2.enabled ) return; | ||
1831 | + | ||
1832 | + /* TODO: Flush before fiddling with fake front buffer */ | ||
1833 | + | ||
1834 | + if ( ctx->DrawBuffer->Name == 0 ) { | ||
1835 | + | ||
1836 | + glamo_update_renderbuffers(driContext, | ||
1837 | + driContext->driDrawablePriv); | ||
1838 | + if ( driContext->driDrawablePriv | ||
1839 | + != driContext->driReadablePriv ) { | ||
1840 | + glamo_update_renderbuffers(driContext, | ||
1841 | + driContext->driReadablePriv); | ||
1842 | + } | ||
1843 | + | ||
1844 | + } | ||
1845 | + | ||
1846 | + old_viewport = ctx->Driver.Viewport; | ||
1847 | + ctx->Driver.Viewport = NULL; | ||
1848 | + gCtx->driDrawable = driContext->driDrawablePriv; | ||
1849 | + ctx->Driver.Viewport = old_viewport; | ||
1850 | +} | ||
1851 | + | ||
1852 | + | ||
1853 | +static void glamoUploadMatrix(struct glamo_context *gCtx, uint16_t mreg, | ||
1854 | + GLfloat *matrix) | ||
1855 | +{ | ||
1856 | + int i; | ||
1857 | + char *type; | ||
1858 | + | ||
1859 | + switch ( mreg ) { | ||
1860 | + case G3D_MATRIX_MVP : | ||
1861 | + type = "MVP"; break; | ||
1862 | + case G3D_MATRIX_MV : | ||
1863 | + type = "MV"; break; | ||
1864 | + case G3D_MATRIX_IMVP : | ||
1865 | + type = "inverse MVP"; break; | ||
1866 | + default : | ||
1867 | + type = "unknown"; break; | ||
1868 | + } | ||
1869 | + printf("Uploading %s matrix...\n", type); | ||
1870 | + | ||
1871 | + glamoDRMStartBurst(gCtx, mreg); | ||
1872 | + if ( mreg != G3D_MATRIX_IMVP ) { | ||
1873 | + for ( i=0; i<16; i++ ) { | ||
1874 | + glamoDRMAddData(gCtx, float7s16(matrix[i]), 4); | ||
1875 | + } | ||
1876 | + } else { | ||
1877 | + /* Normal matrix needs special treatment */ | ||
1878 | + for ( i=0; i<3; i++ ) { | ||
1879 | + glamoDRMAddData(gCtx, float7s16(matrix[4*i]), 4); | ||
1880 | + glamoDRMAddData(gCtx, float7s16(matrix[4*i+1]), 4); | ||
1881 | + glamoDRMAddData(gCtx, float7s16(matrix[4*i+2]), 4); | ||
1882 | + } | ||
1883 | + } | ||
1884 | + glamoDRMDispatch(gCtx); | ||
1885 | +} | ||
1886 | + | ||
1887 | + | ||
1888 | +GLboolean glamoValidateState(struct gl_context *ctx, GLuint new_state) | ||
1889 | +{ | ||
1890 | + struct glamo_context *gCtx = GLAMO_CONTEXT(ctx); | ||
1891 | + | ||
1892 | + if ( new_state & (_NEW_MODELVIEW|_NEW_PROJECTION) ) { | ||
1893 | + | ||
1894 | + glamoUploadMatrix(gCtx, G3D_MATRIX_MVP, | ||
1895 | + ctx->_ModelProjectMatrix.m); | ||
1896 | + | ||
1897 | + /* FIXME: The following two aren't needed unless lighting | ||
1898 | + * is in use... */ | ||
1899 | + glamoUploadMatrix(gCtx, G3D_MATRIX_MV, | ||
1900 | + ctx->ModelviewMatrixStack.Top->m); | ||
1901 | + _math_matrix_alloc_inv(&(ctx->_ModelProjectMatrix)); | ||
1902 | + _math_matrix_analyse(&(ctx->_ModelProjectMatrix)); | ||
1903 | + glamoUploadMatrix(gCtx, G3D_MATRIX_IMVP, | ||
1904 | + ctx->_ModelProjectMatrix.inv); | ||
1905 | + } | ||
1906 | + | ||
1907 | + gCtx->new_state = 0; | ||
1908 | + return GL_TRUE; | ||
1909 | +} | ||
1910 | + | ||
1911 | + | ||
1912 | +static void glamoUpdateState(struct gl_context *ctx, GLbitfield new_state) | ||
1913 | +{ | ||
1914 | + struct glamo_context *gCtx = GLAMO_CONTEXT(ctx); | ||
1915 | + | ||
1916 | + printf("glamoUpdateState\n"); | ||
1917 | + | ||
1918 | + _swrast_InvalidateState(ctx, new_state); | ||
1919 | + _swsetup_InvalidateState(ctx, new_state); | ||
1920 | + _vbo_InvalidateState(ctx, new_state); | ||
1921 | + _tnl_InvalidateState(ctx, new_state); | ||
1922 | + _ae_invalidate_state(ctx, new_state); | ||
1923 | + | ||
1924 | + /* Make a note that some state has changed, | ||
1925 | + * so that it can be sent to the GPU later. */ | ||
1926 | + gCtx->new_state |= new_state; | ||
1927 | +} | ||
1928 | + | ||
1929 | + | ||
1930 | +static void glamoFlush(struct gl_context *ctx) | ||
1931 | +{ | ||
1932 | + printf("glamoFlush\n"); | ||
1933 | +} | ||
1934 | + | ||
1935 | + | ||
1936 | +void glamoInitStateFuncs(struct gl_context *ctx) | ||
1937 | +{ | ||
1938 | + ctx->Driver.UpdateState = glamoUpdateState; | ||
1939 | + ctx->Driver.Clear = glamoClear; | ||
1940 | + ctx->Driver.ClearColor = glamoClearColor; | ||
1941 | + ctx->Driver.ClearDepth = NULL; | ||
1942 | + ctx->Driver.ClearStencil = NULL; | ||
1943 | + ctx->Driver.AlphaFunc = NULL; | ||
1944 | + ctx->Driver.BlendFuncSeparate = NULL; | ||
1945 | + ctx->Driver.ColorMask = NULL; | ||
1946 | + ctx->Driver.CullFace = NULL; | ||
1947 | + ctx->Driver.DepthMask = NULL; | ||
1948 | + ctx->Driver.DepthFunc = NULL; | ||
1949 | + ctx->Driver.DepthRange = NULL; | ||
1950 | + ctx->Driver.DrawBuffer = NULL; | ||
1951 | + ctx->Driver.Enable = NULL; | ||
1952 | + ctx->Driver.FrontFace = NULL; | ||
1953 | + ctx->Driver.Fogfv = NULL; | ||
1954 | + ctx->Driver.Hint = NULL; | ||
1955 | + ctx->Driver.Lightfv = NULL; | ||
1956 | + ctx->Driver.LogicOpcode = NULL; | ||
1957 | + ctx->Driver.PolygonMode = NULL; | ||
1958 | + ctx->Driver.PolygonStipple = NULL; | ||
1959 | + ctx->Driver.ReadBuffer = NULL; | ||
1960 | + ctx->Driver.RenderMode = NULL; | ||
1961 | + ctx->Driver.Scissor = NULL; | ||
1962 | + ctx->Driver.ShadeModel = glamoShadeModel; | ||
1963 | + ctx->Driver.LightModelfv = NULL; | ||
1964 | + ctx->Driver.Viewport = glamoViewport; | ||
1965 | + ctx->Driver.ResizeBuffers = glamoResizeBuffers; | ||
1966 | + ctx->Driver.Flush = glamoFlush; | ||
1967 | +} | ||
1968 | diff --git a/src/mesa/drivers/dri/glamo/glamo_state.h b/src/mesa/drivers/dri/glamo/glamo_state.h | ||
1969 | new file mode 100644 | ||
1970 | index 0000000..c3872c0 | ||
1971 | --- /dev/null | ||
1972 | +++ b/src/mesa/drivers/dri/glamo/glamo_state.h | ||
1973 | @@ -0,0 +1,34 @@ | ||
1974 | +/* | ||
1975 | + * Direct Rendering Support for SMedia Glamo 336x/337x | ||
1976 | + * | ||
1977 | + * (c) 2009 Thomas White <taw@bitwiz.org.uk> | ||
1978 | + * Roughly based on sis_state.h (c) 2003 Eric Anholt | ||
1979 | + * | ||
1980 | + * Permission is hereby granted, free of charge, to any person obtaining a | ||
1981 | + * copy of this software and associated documentation files (the "Software"), | ||
1982 | + * to deal in the Software without restriction, including without limitation | ||
1983 | + * the rights to use, copy, modify, merge, publish, distribute, sublicense, | ||
1984 | + * and/or sell copies of the Software, and to permit persons to whom the | ||
1985 | + * Software is furnished to do so, subject to the following conditions: | ||
1986 | + * | ||
1987 | + * The above copyright notice and this permission notice shall be included | ||
1988 | + * in all copies or substantial portions of the Software. | ||
1989 | + * | ||
1990 | + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS | ||
1991 | + * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, | ||
1992 | + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL | ||
1993 | + * THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN | ||
1994 | + * AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN | ||
1995 | + * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. | ||
1996 | + */ | ||
1997 | + | ||
1998 | +#ifndef __GLAMO_STATE_H | ||
1999 | +#define __GLAMO_STATE_H | ||
2000 | + | ||
2001 | +#include "main/context.h" | ||
2002 | + | ||
2003 | +extern void glamoInitStateFuncs(struct gl_context *ctx); | ||
2004 | + | ||
2005 | +#endif /* __GLAMO_STATE_H */ | ||
2006 | + | ||
2007 | +/* kate: space-indent on; indent-width 3; mixedindent off; indent-mode cstyle; */ | ||
2008 | diff --git a/src/mesa/drivers/dri/glamo/glamo_tris.c b/src/mesa/drivers/dri/glamo/glamo_tris.c | ||
2009 | new file mode 100644 | ||
2010 | index 0000000..c45fe53 | ||
2011 | --- /dev/null | ||
2012 | +++ b/src/mesa/drivers/dri/glamo/glamo_tris.c | ||
2013 | @@ -0,0 +1,310 @@ | ||
2014 | +/* | ||
2015 | + * Direct Rendering Support for SMedia Glamo 336x/337x | ||
2016 | + * | ||
2017 | + * (c) 2009 Thomas White <taw@bitwiz.org.uk> | ||
2018 | + * | ||
2019 | + * Permission is hereby granted, free of charge, to any person obtaining a | ||
2020 | + * copy of this software and associated documentation files (the "Software"), | ||
2021 | + * to deal in the Software without restriction, including without limitation | ||
2022 | + * the rights to use, copy, modify, merge, publish, distribute, sublicense, | ||
2023 | + * and/or sell copies of the Software, and to permit persons to whom the | ||
2024 | + * Software is furnished to do so, subject to the following conditions: | ||
2025 | + * | ||
2026 | + * The above copyright notice and this permission notice shall be included | ||
2027 | + * in all copies or substantial portions of the Software. | ||
2028 | + * | ||
2029 | + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS | ||
2030 | + * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, | ||
2031 | + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL | ||
2032 | + * THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN | ||
2033 | + * AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN | ||
2034 | + * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. | ||
2035 | + * | ||
2036 | + * | ||
2037 | + * Based on intel_tris.c, to which the following notice applies: | ||
2038 | + * | ||
2039 | + * Copyright 2003 Tungsten Graphics, Inc., Cedar Park, Texas. | ||
2040 | + * All Rights Reserved. | ||
2041 | + * | ||
2042 | + * Permission is hereby granted, free of charge, to any person obtaining a | ||
2043 | + * copy of this software and associated documentation files (the | ||
2044 | + * "Software"), to deal in the Software without restriction, including | ||
2045 | + * without limitation the rights to use, copy, modify, merge, publish, | ||
2046 | + * distribute, sub license, and/or sell copies of the Software, and to | ||
2047 | + * permit persons to whom the Software is furnished to do so, subject to | ||
2048 | + * the following conditions: | ||
2049 | + * | ||
2050 | + * The above copyright notice and this permission notice (including the | ||
2051 | + * next paragraph) shall be included in all copies or substantial portions | ||
2052 | + * of the Software. | ||
2053 | + * | ||
2054 | + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS | ||
2055 | + * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF | ||
2056 | + * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. | ||
2057 | + * IN NO EVENT SHALL TUNGSTEN GRAPHICS AND/OR ITS SUPPLIERS BE LIABLE FOR | ||
2058 | + * ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, | ||
2059 | + * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE | ||
2060 | + * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. | ||
2061 | + * | ||
2062 | + */ | ||
2063 | + | ||
2064 | + | ||
2065 | +#include <glamo_bo.h> | ||
2066 | +#include <glamo_bo_gem.h> | ||
2067 | +#include <glamo_drm.h> | ||
2068 | + | ||
2069 | +#include "main/mtypes.h" | ||
2070 | +#include "swrast/swrast.h" | ||
2071 | +#include "tnl/t_context.h" | ||
2072 | +#include "tnl/t_vertex.h" | ||
2073 | +#include "tnl/t_pipeline.h" | ||
2074 | + | ||
2075 | +#include "glamo_tris.h" | ||
2076 | +#include "glamo_context.h" | ||
2077 | + | ||
2078 | + | ||
2079 | +static void glamoRunPipeline(struct gl_context *ctx) | ||
2080 | +{ | ||
2081 | + printf("glamoRunPipeline\n"); | ||
2082 | + | ||
2083 | + /* TODO: Emit state */ | ||
2084 | + | ||
2085 | + _tnl_run_pipeline(ctx); | ||
2086 | +} | ||
2087 | + | ||
2088 | + | ||
2089 | +static void glamoRenderStart(struct gl_context *ctx) | ||
2090 | +{ | ||
2091 | + struct glamo_context *gCtx = GLAMO_CONTEXT(ctx); | ||
2092 | + | ||
2093 | + /* Decide which attributes will be used */ | ||
2094 | + gCtx->vertex_attrs[0].attrib = _TNL_ATTRIB_POS; | ||
2095 | + gCtx->vertex_attrs[0].format = EMIT_4F; | ||
2096 | + | ||
2097 | + gCtx->vertex_size = _tnl_install_attrs(ctx, gCtx->vertex_attrs, 1, | ||
2098 | + NULL, 0); | ||
2099 | +} | ||
2100 | + | ||
2101 | + | ||
2102 | +static void glamoRenderFinish(struct gl_context *ctx) | ||
2103 | +{ | ||
2104 | + printf("glamoRenderFinish\n"); | ||
2105 | +} | ||
2106 | + | ||
2107 | + | ||
2108 | +static void glamoPrimitiveNotify(struct gl_context *ctx, GLenum prim) | ||
2109 | +{ | ||
2110 | + printf("glamoPrimitiveNotify\n"); | ||
2111 | +} | ||
2112 | + | ||
2113 | + | ||
2114 | +uint32_t *glamoGetPrimSpace(struct glamo_context *gCtx, unsigned int count) | ||
2115 | +{ | ||
2116 | + uint32_t *addr; | ||
2117 | + | ||
2118 | + printf("glamoGetPrimSpace\n"); | ||
2119 | + | ||
2120 | + /* Check for space in the existing VB */ | ||
2121 | + if (gCtx->prim.vb_bo == NULL || (gCtx->prim.current_offset + | ||
2122 | + count * gCtx->vertex_size) > GLAMO_VB_SIZE) { | ||
2123 | + | ||
2124 | + /* Not enough space, or no VB existing. Start a new one... */ | ||
2125 | + if (gCtx->prim.vb == NULL) { | ||
2126 | + printf("Allocated %i bytes\n", GLAMO_VB_SIZE); | ||
2127 | + gCtx->prim.vb = malloc(GLAMO_VB_SIZE); | ||
2128 | + } | ||
2129 | + gCtx->prim.vb_bo = glamo_bo_open(gCtx->glamoScreen->bom, 0, | ||
2130 | + GLAMO_VB_SIZE, 4, | ||
2131 | + GLAMO_GEM_DOMAIN_VRAM, 0); | ||
2132 | + gCtx->prim.start_offset = 0; | ||
2133 | + gCtx->prim.current_offset = 0; | ||
2134 | + } | ||
2135 | + | ||
2136 | + addr = (uint32_t *)(gCtx->prim.vb + gCtx->prim.current_offset); | ||
2137 | + gCtx->prim.current_offset += gCtx->vertex_size * count; | ||
2138 | + gCtx->prim.count += count; | ||
2139 | + | ||
2140 | + return addr; | ||
2141 | +} | ||
2142 | + | ||
2143 | + | ||
2144 | +#define COPY_DWORDS( j, vb, vertsize, v ) \ | ||
2145 | +do { \ | ||
2146 | + for ( j = 0 ; j < vertsize ; j++ ) { \ | ||
2147 | + vb[j] = ((GLuint *)v)[j]; \ | ||
2148 | + } \ | ||
2149 | + vb += vertsize; \ | ||
2150 | +} while (0) | ||
2151 | + | ||
2152 | + | ||
2153 | +static void glamo_draw_triangle(struct glamo_context *gCtx, | ||
2154 | + glamoVertexPtr v0, glamoVertexPtr v1, | ||
2155 | + glamoVertexPtr v2) | ||
2156 | +{ | ||
2157 | + GLuint *vb = glamoGetPrimSpace(gCtx, 3); | ||
2158 | + int j; | ||
2159 | + | ||
2160 | + COPY_DWORDS(j, vb, gCtx->vertex_size, v0); | ||
2161 | + COPY_DWORDS(j, vb, gCtx->vertex_size, v1); | ||
2162 | + COPY_DWORDS(j, vb, gCtx->vertex_size, v2); | ||
2163 | +} | ||
2164 | + | ||
2165 | + | ||
2166 | +static void glamo_draw_line(struct glamo_context *gCtx, | ||
2167 | + glamoVertexPtr v0, glamoVertexPtr v1) | ||
2168 | +{ | ||
2169 | + GLuint *vb = glamoGetPrimSpace(gCtx, 2); | ||
2170 | + int j; | ||
2171 | + | ||
2172 | + COPY_DWORDS(j, vb, gCtx->vertex_size, v0); | ||
2173 | + COPY_DWORDS(j, vb, gCtx->vertex_size, v1); | ||
2174 | +} | ||
2175 | + | ||
2176 | + | ||
2177 | +static void glamo_draw_point(struct glamo_context *gCtx, glamoVertexPtr v0) | ||
2178 | +{ | ||
2179 | + GLuint *vb = glamoGetPrimSpace(gCtx, 2); | ||
2180 | + int j; | ||
2181 | + | ||
2182 | + COPY_DWORDS(j, vb, gCtx->vertex_size, v0); | ||
2183 | +} | ||
2184 | + | ||
2185 | + | ||
2186 | +#define TRI( a, b, c ) \ | ||
2187 | +do { \ | ||
2188 | + glamo_draw_triangle(gCtx, a, b, c ); \ | ||
2189 | +} while (0) | ||
2190 | + | ||
2191 | + | ||
2192 | +#define QUAD( a, b, c, d ) \ | ||
2193 | +printf("Drawing a quad\n"); \ | ||
2194 | +do { \ | ||
2195 | + glamo_draw_triangle(gCtx, a, b, d); \ | ||
2196 | + glamo_draw_triangle(gCtx, b, c, d); \ | ||
2197 | +} while (0) | ||
2198 | + | ||
2199 | + | ||
2200 | +#define LINE(v0, v1) \ | ||
2201 | +do { \ | ||
2202 | + glamo_draw_line(gCtx, v0, v1); \ | ||
2203 | +} while (0) | ||
2204 | + | ||
2205 | + | ||
2206 | +#define POINT(v0) \ | ||
2207 | +do { \ | ||
2208 | + glamo_draw_point(gCtx, v0); \ | ||
2209 | +} while (0) | ||
2210 | + | ||
2211 | + | ||
2212 | +#define IND (0) | ||
2213 | +#define TAG(x) x | ||
2214 | +#include "tnl_dd/t_dd_tritmp.h" | ||
2215 | + | ||
2216 | +#define IND (0) | ||
2217 | +#define TAG(x) x##_offset | ||
2218 | +#include "tnl_dd/t_dd_tritmp.h" | ||
2219 | + | ||
2220 | +#define IND (0) | ||
2221 | +#define TAG(x) x##_twoside | ||
2222 | +#include "tnl_dd/t_dd_tritmp.h" | ||
2223 | + | ||
2224 | +#define IND (0) | ||
2225 | +#define TAG(x) x##_twoside_offset | ||
2226 | +#include "tnl_dd/t_dd_tritmp.h" | ||
2227 | + | ||
2228 | +#define IND (0) | ||
2229 | +#define TAG(x) x##_unfilled | ||
2230 | +#include "tnl_dd/t_dd_tritmp.h" | ||
2231 | + | ||
2232 | +#define IND (0) | ||
2233 | +#define TAG(x) x##_offset_unfilled | ||
2234 | +#include "tnl_dd/t_dd_tritmp.h" | ||
2235 | + | ||
2236 | +#define IND (0) | ||
2237 | +#define TAG(x) x##_twoside_unfilled | ||
2238 | +#include "tnl_dd/t_dd_tritmp.h" | ||
2239 | + | ||
2240 | +#define IND (0) | ||
2241 | +#define TAG(x) x##_twoside_offset_unfilled | ||
2242 | +#include "tnl_dd/t_dd_tritmp.h" | ||
2243 | + | ||
2244 | +#define IND (0) | ||
2245 | +#define TAG(x) x##_fallback | ||
2246 | +#include "tnl_dd/t_dd_tritmp.h" | ||
2247 | + | ||
2248 | +#define IND (0) | ||
2249 | +#define TAG(x) x##_offset_fallback | ||
2250 | +#include "tnl_dd/t_dd_tritmp.h" | ||
2251 | + | ||
2252 | +#define IND (0) | ||
2253 | +#define TAG(x) x##_twoside_fallback | ||
2254 | +#include "tnl_dd/t_dd_tritmp.h" | ||
2255 | + | ||
2256 | +#define IND (0) | ||
2257 | +#define TAG(x) x##_twoside_offset_fallback | ||
2258 | +#include "tnl_dd/t_dd_tritmp.h" | ||
2259 | + | ||
2260 | +#define IND (0) | ||
2261 | +#define TAG(x) x##_unfilled_fallback | ||
2262 | +#include "tnl_dd/t_dd_tritmp.h" | ||
2263 | + | ||
2264 | +#define IND (0) | ||
2265 | +#define TAG(x) x##_offset_unfilled_fallback | ||
2266 | +#include "tnl_dd/t_dd_tritmp.h" | ||
2267 | + | ||
2268 | +#define IND (0) | ||
2269 | +#define TAG(x) x##_twoside_unfilled_fallback | ||
2270 | +#include "tnl_dd/t_dd_tritmp.h" | ||
2271 | + | ||
2272 | +#define IND (0) | ||
2273 | +#define TAG(x) x##_twoside_offset_unfilled_fallback | ||
2274 | +#include "tnl_dd/t_dd_tritmp.h" | ||
2275 | + | ||
2276 | + | ||
2277 | +static void init_rast_tab() | ||
2278 | +{ | ||
2279 | + init(); | ||
2280 | + init_offset(); | ||
2281 | + init_twoside(); | ||
2282 | + init_twoside_offset(); | ||
2283 | + init_unfilled(); | ||
2284 | + init_offset_unfilled(); | ||
2285 | + init_twoside_unfilled(); | ||
2286 | + init_twoside_offset_unfilled(); | ||
2287 | + init_fallback(); | ||
2288 | + init_offset_fallback(); | ||
2289 | + init_twoside_fallback(); | ||
2290 | + init_twoside_offset_fallback(); | ||
2291 | + init_unfilled_fallback(); | ||
2292 | + init_offset_unfilled_fallback(); | ||
2293 | + init_twoside_unfilled_fallback(); | ||
2294 | + init_twoside_offset_unfilled_fallback(); | ||
2295 | +} | ||
2296 | + | ||
2297 | + | ||
2298 | +void glamoInitTriFuncs(struct gl_context *ctx) | ||
2299 | +{ | ||
2300 | + TNLcontext *tnl = TNL_CONTEXT(ctx); | ||
2301 | + struct glamo_context *gCtx = GLAMO_CONTEXT(ctx); | ||
2302 | + static int firsttime = 1; | ||
2303 | + | ||
2304 | + if (firsttime) { | ||
2305 | + init_rast_tab(); | ||
2306 | + firsttime = 0; | ||
2307 | + } | ||
2308 | + | ||
2309 | + gCtx->prim.start_offset = 0; | ||
2310 | + gCtx->prim.current_offset = 0; | ||
2311 | + gCtx->prim.vb_bo = NULL; | ||
2312 | + gCtx->prim.vb = NULL; | ||
2313 | + gCtx->prim.count = 0; | ||
2314 | + | ||
2315 | + tnl->Driver.RunPipeline = glamoRunPipeline; | ||
2316 | + tnl->Driver.Render.Start = glamoRenderStart; | ||
2317 | + tnl->Driver.Render.Finish = glamoRenderFinish; | ||
2318 | + tnl->Driver.Render.PrimitiveNotify = glamoPrimitiveNotify; | ||
2319 | + tnl->Driver.Render.ResetLineStipple = _swrast_ResetLineStipple; | ||
2320 | + tnl->Driver.Render.BuildVertices = _tnl_build_vertices; | ||
2321 | + tnl->Driver.Render.CopyPV = _tnl_copy_pv; | ||
2322 | + tnl->Driver.Render.Interp = _tnl_interp; | ||
2323 | +} | ||
2324 | diff --git a/src/mesa/drivers/dri/glamo/glamo_tris.h b/src/mesa/drivers/dri/glamo/glamo_tris.h | ||
2325 | new file mode 100644 | ||
2326 | index 0000000..ea396c1 | ||
2327 | --- /dev/null | ||
2328 | +++ b/src/mesa/drivers/dri/glamo/glamo_tris.h | ||
2329 | @@ -0,0 +1,38 @@ | ||
2330 | +/* | ||
2331 | + * Direct Rendering Support for SMedia Glamo 336x/337x | ||
2332 | + * | ||
2333 | + * (c) 2009 Thomas White <taw@bitwiz.org.uk> | ||
2334 | + * | ||
2335 | + * Permission is hereby granted, free of charge, to any person obtaining a | ||
2336 | + * copy of this software and associated documentation files (the "Software"), | ||
2337 | + * to deal in the Software without restriction, including without limitation | ||
2338 | + * the rights to use, copy, modify, merge, publish, distribute, sublicense, | ||
2339 | + * and/or sell copies of the Software, and to permit persons to whom the | ||
2340 | + * Software is furnished to do so, subject to the following conditions: | ||
2341 | + * | ||
2342 | + * The above copyright notice and this permission notice shall be included | ||
2343 | + * in all copies or substantial portions of the Software. | ||
2344 | + * | ||
2345 | + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS | ||
2346 | + * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, | ||
2347 | + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL | ||
2348 | + * THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN | ||
2349 | + * AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN | ||
2350 | + * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. | ||
2351 | + */ | ||
2352 | + | ||
2353 | +#ifndef __GLAMO_TRIS_H | ||
2354 | +#define __GLAMO_TRIS_H | ||
2355 | + | ||
2356 | +#include "main/mtypes.h" | ||
2357 | + | ||
2358 | +#include "glamo_context.h" | ||
2359 | + | ||
2360 | +/* Amount of space reserved for vertex submission */ | ||
2361 | +#define GLAMO_VB_SIZE (32*1024) | ||
2362 | + | ||
2363 | +extern void glamoInitTriFuncs(struct gl_context *ctx); | ||
2364 | +extern uint32_t *glamoGetPrimSpace(struct glamo_context *gCtx, | ||
2365 | + unsigned int count); | ||
2366 | + | ||
2367 | +#endif /* __GLAMO_TRIS_H */ | ||
2368 | diff --git a/src/mesa/tnl_dd/t_dd_dmatmp.h b/src/mesa/tnl_dd/t_dd_dmatmp.h | ||
2369 | index 997fc0b..e3c9119 100644 | ||
2370 | --- a/src/mesa/tnl_dd/t_dd_dmatmp.h | ||
2371 | +++ b/src/mesa/tnl_dd/t_dd_dmatmp.h | ||
2372 | @@ -127,6 +127,8 @@ static void TAG(render_points_verts)( struct gl_context *ctx, | ||
2373 | currentsz = dmasz; | ||
2374 | } | ||
2375 | |||
2376 | + FLUSH(); | ||
2377 | + | ||
2378 | } else { | ||
2379 | fprintf(stderr, "%s - cannot draw primitive\n", __FUNCTION__); | ||
2380 | return; | ||
2381 | @@ -162,6 +164,8 @@ static void TAG(render_lines_verts)( struct gl_context *ctx, | ||
2382 | currentsz = dmasz; | ||
2383 | } | ||
2384 | |||
2385 | + FLUSH(); | ||
2386 | + | ||
2387 | } else { | ||
2388 | fprintf(stderr, "%s - cannot draw primitive\n", __FUNCTION__); | ||
2389 | return; | ||
2390 | @@ -191,7 +195,7 @@ static void TAG(render_line_strip_verts)( struct gl_context *ctx, | ||
2391 | TAG(emit_verts)( ctx, j, nr, ALLOC_VERTS(nr) ); | ||
2392 | currentsz = dmasz; | ||
2393 | } | ||
2394 | - | ||
2395 | + | ||
2396 | FLUSH(); | ||
2397 | |||
2398 | } else { | ||
2399 | @@ -294,6 +298,8 @@ static void TAG(render_triangles_verts)( struct gl_context *ctx, | ||
2400 | TAG(emit_verts)( ctx, j, nr, ALLOC_VERTS(nr) ); | ||
2401 | currentsz = dmasz; | ||
2402 | } | ||
2403 | + | ||
2404 | + FLUSH(); | ||
2405 | } | ||
2406 | |||
2407 | |||
2408 | @@ -567,6 +573,8 @@ static void TAG(render_quads_verts)( struct gl_context *ctx, | ||
2409 | TAG(emit_verts)( ctx, j, nr, ALLOC_VERTS(nr) ); | ||
2410 | currentsz = dmasz; | ||
2411 | } | ||
2412 | + | ||
2413 | + FLUSH(); | ||
2414 | } | ||
2415 | else if (HAVE_ELTS) { | ||
2416 | /* Hardware doesn't have a quad primitive type -- try to | ||
2417 | @@ -640,6 +648,8 @@ static void TAG(render_quads_verts)( struct gl_context *ctx, | ||
2418 | tmp = EMIT_VERTS(ctx, j + 1, 3, tmp); | ||
2419 | (void) tmp; | ||
2420 | } | ||
2421 | + | ||
2422 | + FLUSH(); | ||
2423 | } | ||
2424 | else { | ||
2425 | /* Vertices won't fit in a single buffer, should never happen. | ||
diff --git a/meta-oe/recipes-graphics/mesa/mesa-7.10.2/uclibc.patch b/meta-oe/recipes-graphics/mesa/mesa-7.10.2/uclibc.patch new file mode 100644 index 000000000..0508112df --- /dev/null +++ b/meta-oe/recipes-graphics/mesa/mesa-7.10.2/uclibc.patch | |||
@@ -0,0 +1,26 @@ | |||
1 | Index: Mesa-7.9.1/src/mesa/main/imports.c | ||
2 | =================================================================== | ||
3 | --- Mesa-7.9.1.orig/src/mesa/main/imports.c 2010-12-15 13:50:00.000000000 -0800 | ||
4 | +++ Mesa-7.9.1/src/mesa/main/imports.c 2011-01-10 12:23:48.848656001 -0800 | ||
5 | @@ -757,7 +757,7 @@ | ||
6 | float | ||
7 | _mesa_strtof( const char *s, char **end ) | ||
8 | { | ||
9 | -#if defined(_GNU_SOURCE) && !defined(__CYGWIN__) && !defined(__FreeBSD__) | ||
10 | +#if defined(_GNU_SOURCE) && !defined(__CYGWIN__) && !defined(__FreeBSD__) && !defined(__UCLIBC__) | ||
11 | static locale_t loc = NULL; | ||
12 | if (!loc) { | ||
13 | loc = newlocale(LC_CTYPE_MASK, "C", NULL); | ||
14 | Index: Mesa-7.9.1/src/glsl/strtod.c | ||
15 | =================================================================== | ||
16 | --- Mesa-7.9.1.orig/src/glsl/strtod.c 2011-01-10 20:08:01.568656001 -0800 | ||
17 | +++ Mesa-7.9.1/src/glsl/strtod.c 2011-01-10 20:08:39.898656001 -0800 | ||
18 | @@ -44,7 +44,7 @@ | ||
19 | double | ||
20 | glsl_strtod(const char *s, char **end) | ||
21 | { | ||
22 | -#if defined(_GNU_SOURCE) && !defined(__CYGWIN__) && !defined(__FreeBSD__) | ||
23 | +#if defined(_GNU_SOURCE) && !defined(__CYGWIN__) && !defined(__FreeBSD__) && !defined(__UCLIBC__) | ||
24 | static locale_t loc = NULL; | ||
25 | if (!loc) { | ||
26 | loc = newlocale(LC_CTYPE_MASK, "C", NULL); | ||
diff --git a/meta-oe/recipes-graphics/mesa/mesa-common.inc b/meta-oe/recipes-graphics/mesa/mesa-common.inc new file mode 100644 index 000000000..4073d6ffe --- /dev/null +++ b/meta-oe/recipes-graphics/mesa/mesa-common.inc | |||
@@ -0,0 +1,53 @@ | |||
1 | SECTION = "x11" | ||
2 | |||
3 | DESCRIPTION = "An open source implementation of the OpenGL spec" | ||
4 | HOMEPAGE = "http://mesa3d.org" | ||
5 | LICENSE = "MIT" | ||
6 | LIC_FILES_CHKSUM = "file://docs/license.html;md5=7a3373c039b6b925c427755a4f779c1d" | ||
7 | |||
8 | INC_PR = "r11" | ||
9 | PE = "2" | ||
10 | |||
11 | PROTO_DEPS = "xf86driproto glproto" | ||
12 | LIB_DEPS = "virtual/libx11 libxext libxxf86vm libxdamage libxfixes" | ||
13 | |||
14 | DEPENDS = "${PROTO_DEPS} ${LIB_DEPS}" | ||
15 | |||
16 | SRC_URI = "ftp://ftp.freedesktop.org/pub/mesa/${PV}/MesaLib-${PV}.tar.bz2;name=archive \ | ||
17 | " | ||
18 | S = "${WORKDIR}/Mesa-${PV}" | ||
19 | |||
20 | PROVIDES = "virtual/libgl" | ||
21 | |||
22 | inherit autotools pkgconfig | ||
23 | |||
24 | EXTRA_OECONF = "--enable-glu \ | ||
25 | --disable-glw \ | ||
26 | --disable-glut \ | ||
27 | " | ||
28 | |||
29 | inherit glx-use-tls | ||
30 | |||
31 | # Package contents vary according to ${MACHINE_DRI_MODULES}. | ||
32 | PACKAGE_ARCH = "${MACHINE_ARCH}" | ||
33 | |||
34 | PACKAGES =+ "libegl libegl-dev libegl-dbg libglu libglu-dev libosmesa libosmesa-dev libgl libgl-dev" | ||
35 | FILES_${PN} += "${libdir}/dri/*.so" | ||
36 | FILES_libegl = "${libdir}/libEGL.so.* ${libdir}/egl/*.so" | ||
37 | FILES_libgl = "${libdir}/libGL.so.*" | ||
38 | FILES_libglu = "${libdir}/libGLU.so.*" | ||
39 | FILES_libosmesa = "${libdir}/libOSMesa.so.*" | ||
40 | |||
41 | FILES_libegl-dev = "${libdir}/libEGL.* ${includedir}/EGL" | ||
42 | FILES_libgl-dev = "${libdir}/libGL.* ${includedir}/GL" | ||
43 | FILES_libglu-dev = "${libdir}/libGLU.* ${includedir}/GL/glu*.h" | ||
44 | FILES_libosmesa-dev = "${libdir}/libOSMesa.* ${includedir}/osmesa.h" | ||
45 | |||
46 | FILES_${PN}-dbg += "${libdir}/dri/.debug/*" | ||
47 | FILES_libegl-dbg += "${libdir}/egl/.debug/*" | ||
48 | |||
49 | NATIVE_INSTALL_WORKS = "1" | ||
50 | do_install_append () { | ||
51 | install -d ${D}/${includedir}/GL | ||
52 | cp -pPr ${S}/include/GL/internal* ${D}/${includedir}/GL | ||
53 | } | ||
diff --git a/meta-oe/recipes-graphics/mesa/mesa-dri.inc b/meta-oe/recipes-graphics/mesa/mesa-dri.inc new file mode 100644 index 000000000..4f42b7930 --- /dev/null +++ b/meta-oe/recipes-graphics/mesa/mesa-dri.inc | |||
@@ -0,0 +1,10 @@ | |||
1 | DEPENDS += "dri2proto expat libdrm makedepend-native" | ||
2 | |||
3 | #not supported in oe-core base.bbclass | ||
4 | #FILESPATHPKG =. "mesa-${PV}:mesa:" | ||
5 | FILESPATH =. "${FILE_DIRNAME}/mesa:${FILE_DIRNAME}/mesa-${PV}:" | ||
6 | |||
7 | # most of our targets do not have DRI so will use mesa-xlib | ||
8 | DEFAULT_PREFERENCE = "-1" | ||
9 | |||
10 | EXTRA_OECONF += " --with-driver=dri --with-dri-drivers=swrast,${MACHINE_DRI_MODULES}" | ||
diff --git a/meta-oe/recipes-graphics/mesa/mesa-dri_7.10.2.bb b/meta-oe/recipes-graphics/mesa/mesa-dri_7.10.2.bb new file mode 100644 index 000000000..26b56e426 --- /dev/null +++ b/meta-oe/recipes-graphics/mesa/mesa-dri_7.10.2.bb | |||
@@ -0,0 +1,4 @@ | |||
1 | require mesa-common.inc | ||
2 | require mesa-${PV}.inc | ||
3 | require mesa-dri.inc | ||
4 | PR = "${INC_PR}.0" | ||
diff --git a/meta-oe/recipes-graphics/mesa/mesa-xlib.inc b/meta-oe/recipes-graphics/mesa/mesa-xlib.inc new file mode 100644 index 000000000..cabe6e5ec --- /dev/null +++ b/meta-oe/recipes-graphics/mesa/mesa-xlib.inc | |||
@@ -0,0 +1,2 @@ | |||
1 | FILESPATHPKG =. "mesa-${PV}:mesa:" | ||
2 | EXTRA_OECONF += " --with-driver=xlib" | ||
diff --git a/meta-oe/recipes-graphics/mesa/mesa-xlib_7.10.2.bb b/meta-oe/recipes-graphics/mesa/mesa-xlib_7.10.2.bb new file mode 100644 index 000000000..93bb8cd19 --- /dev/null +++ b/meta-oe/recipes-graphics/mesa/mesa-xlib_7.10.2.bb | |||
@@ -0,0 +1,4 @@ | |||
1 | require mesa-common.inc | ||
2 | require mesa-${PV}.inc | ||
3 | require mesa-xlib.inc | ||
4 | PR = "${INC_PR}.0" | ||
diff --git a/meta-oe/recipes-graphics/mesa/mesa_7.10.2.bb b/meta-oe/recipes-graphics/mesa/mesa_7.10.2.bb new file mode 100644 index 000000000..4cb8db7f7 --- /dev/null +++ b/meta-oe/recipes-graphics/mesa/mesa_7.10.2.bb | |||
@@ -0,0 +1,6 @@ | |||
1 | # This is a dummy package so OE can use the poky mesa files | ||
2 | require mesa-dri_${PV}.bb | ||
3 | |||
4 | PR = "${INC_PR}.0" | ||
5 | |||
6 | EXTRA_OECONF += "--disable-egl" | ||
diff --git a/meta-oe/recipes-graphics/tasks/task-fonts-truetype.bb b/meta-oe/recipes-graphics/tasks/task-fonts-truetype.bb new file mode 100644 index 000000000..8ffa88b64 --- /dev/null +++ b/meta-oe/recipes-graphics/tasks/task-fonts-truetype.bb | |||
@@ -0,0 +1,40 @@ | |||
1 | DESCRIPTION = "Install one of these tasks to get support for truetype fonts." | ||
2 | SECTION = "fonts" | ||
3 | LICENSE = "MIT" | ||
4 | LIC_FILES_CHKSUM = "file://${TOPDIR}/meta-shr/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420" | ||
5 | PV = "1.0" | ||
6 | PR = "r0" | ||
7 | |||
8 | inherit task | ||
9 | |||
10 | PACKAGES += "\ | ||
11 | ${PN}-core \ | ||
12 | ${PN}-chinese \ | ||
13 | ${PN}-japanese \ | ||
14 | " | ||
15 | |||
16 | RRECOMMENDS_task-fonts-truetype = "\ | ||
17 | ${PN}-core \ | ||
18 | ${PN}-chinese \ | ||
19 | ${PN}-japanese \ | ||
20 | " | ||
21 | |||
22 | RDEPENDS_task-fonts-truetype-core = "\ | ||
23 | fontconfig-utils \ | ||
24 | \ | ||
25 | ttf-dejavu-common \ | ||
26 | ttf-dejavu-sans \ | ||
27 | ttf-dejavu-sans-mono \ | ||
28 | " | ||
29 | # ttf-dejavu-serif \ | ||
30 | |||
31 | RDEPENDS_task-fonts-truetype-chinese = "\ | ||
32 | ${PN}-core \ | ||
33 | ttf-arphic-uming \ | ||
34 | " | ||
35 | |||
36 | RDEPENDS_task-fonts-truetype-japanese = "\ | ||
37 | ${PN}-core \ | ||
38 | ttf-sazanami-gothic \ | ||
39 | ttf-sazanami-mincho \ | ||
40 | " | ||
diff --git a/meta-oe/recipes-graphics/ttf-fonts/ttf-liberation_0.2.bb b/meta-oe/recipes-graphics/ttf-fonts/ttf-liberation_0.2.bb new file mode 100644 index 000000000..5ebb25751 --- /dev/null +++ b/meta-oe/recipes-graphics/ttf-fonts/ttf-liberation_0.2.bb | |||
@@ -0,0 +1,23 @@ | |||
1 | require ttf.inc | ||
2 | |||
3 | DESCRIPTION = "Liberation fonts - TTF Version" | ||
4 | HOMEPAGE = "https://www.redhat.com/promo/fonts/" | ||
5 | LICENSE = "GPLv2" | ||
6 | LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f \ | ||
7 | file://License.txt;md5=5b171c5100029d884fcea21d9a2b7543 \ | ||
8 | " | ||
9 | |||
10 | PR = "r3" | ||
11 | |||
12 | SRC_URI = "http://fedorahosted.org/liberation-fonts/export/807b6dfd069b998cd9b4d3158da98817ef23c79d/F-9/liberation-fonts-ttf-3.tar.gz" | ||
13 | S = "${WORKDIR}/liberation-fonts-${PV}" | ||
14 | |||
15 | PACKAGES = "${PN}-dbg ttf-liberation-mono ttf-liberation-sans ttf-liberation-serif" | ||
16 | RRECOMMENDS_${PN}-dbg = "" | ||
17 | |||
18 | FILES_ttf-liberation-mono = "${datadir}/fonts/truetype/*Mono*" | ||
19 | FILES_ttf-liberation-sans = "${datadir}/fonts/truetype/*Sans*" | ||
20 | FILES_ttf-liberation-serif = "${datadir}/fonts/truetype/*Serif*" | ||
21 | |||
22 | SRC_URI[md5sum] = "77728078a17e39f7c242b42c3bf6feb8" | ||
23 | SRC_URI[sha256sum] = "174cf27c57612971434ec8cc4a52bfd37bad8408e9b9219539c6d5113df6ff8f" | ||
diff --git a/meta-oe/recipes-graphics/xinput-calibrator/pointercal-xinput/iphone3g/pointercal.xinput b/meta-oe/recipes-graphics/xinput-calibrator/pointercal-xinput/iphone3g/pointercal.xinput new file mode 100644 index 000000000..d6ce56b82 --- /dev/null +++ b/meta-oe/recipes-graphics/xinput-calibrator/pointercal-xinput/iphone3g/pointercal.xinput | |||
@@ -0,0 +1 @@ | |||
xinput set-int-prop "Touchscreen" "Evdev Axis Calibration" 32 -102 4739 6 7321; | |||
diff --git a/meta-oe/recipes-graphics/xinput-calibrator/pointercal-xinput/nokia900/pointercal.xinput b/meta-oe/recipes-graphics/xinput-calibrator/pointercal-xinput/nokia900/pointercal.xinput new file mode 100644 index 000000000..66bb32cab --- /dev/null +++ b/meta-oe/recipes-graphics/xinput-calibrator/pointercal-xinput/nokia900/pointercal.xinput | |||
@@ -0,0 +1,2 @@ | |||
1 | xinput set-int-prop "Touchscreen" "Evdev Axis Calibration" 32 204 3897 3763 178; | ||
2 | |||
diff --git a/meta-oe/recipes-graphics/xinput-calibrator/pointercal-xinput/om-gta01/pointercal.xinput b/meta-oe/recipes-graphics/xinput-calibrator/pointercal-xinput/om-gta01/pointercal.xinput new file mode 100644 index 000000000..be25da352 --- /dev/null +++ b/meta-oe/recipes-graphics/xinput-calibrator/pointercal-xinput/om-gta01/pointercal.xinput | |||
@@ -0,0 +1,2 @@ | |||
1 | xinput set-int-prop "Touchscreen" "Evdev Axis Calibration" 32 107 918 911 98 | ||
2 | xinput set-int-prop "Touchscreen" "Evdev Axes Swap" 8 1 | ||
diff --git a/meta-oe/recipes-graphics/xinput-calibrator/pointercal-xinput/om-gta02/pointercal.xinput b/meta-oe/recipes-graphics/xinput-calibrator/pointercal-xinput/om-gta02/pointercal.xinput new file mode 100644 index 000000000..be25da352 --- /dev/null +++ b/meta-oe/recipes-graphics/xinput-calibrator/pointercal-xinput/om-gta02/pointercal.xinput | |||
@@ -0,0 +1,2 @@ | |||
1 | xinput set-int-prop "Touchscreen" "Evdev Axis Calibration" 32 107 918 911 98 | ||
2 | xinput set-int-prop "Touchscreen" "Evdev Axes Swap" 8 1 | ||
diff --git a/meta-oe/recipes-graphics/xinput-calibrator/pointercal-xinput/pointercal.xinput b/meta-oe/recipes-graphics/xinput-calibrator/pointercal-xinput/pointercal.xinput new file mode 100644 index 000000000..9633fc5f3 --- /dev/null +++ b/meta-oe/recipes-graphics/xinput-calibrator/pointercal-xinput/pointercal.xinput | |||
@@ -0,0 +1 @@ | |||
# replace with valid machine specific pointercal.xinput | |||
diff --git a/meta-oe/recipes-graphics/xinput-calibrator/pointercal-xinput_0.0.bb b/meta-oe/recipes-graphics/xinput-calibrator/pointercal-xinput_0.0.bb new file mode 100644 index 000000000..e611862a4 --- /dev/null +++ b/meta-oe/recipes-graphics/xinput-calibrator/pointercal-xinput_0.0.bb | |||
@@ -0,0 +1,21 @@ | |||
1 | DESCRIPTION = "Touchscreen calibration data from xinput-calibrator" | ||
2 | LICENSE = "MIT" | ||
3 | LIC_FILES_CHKSUM = "file://${TOPDIR}/meta-shr/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420" | ||
4 | |||
5 | SECTION = "base" | ||
6 | |||
7 | PR = "r2" | ||
8 | SRC_URI = "file://pointercal.xinput" | ||
9 | S = "${WORKDIR}" | ||
10 | |||
11 | do_install() { | ||
12 | # Only install file if it has a contents | ||
13 | if [ -s ${S}/pointercal.xinput ]; then | ||
14 | install -d ${D}${sysconfdir}/ | ||
15 | install -m 0644 ${S}/pointercal.xinput ${D}${sysconfdir}/ | ||
16 | fi | ||
17 | } | ||
18 | |||
19 | ALLOW_EMPTY_${PN} = "1" | ||
20 | PACKAGE_ARCH = "${MACHINE_ARCH}" | ||
21 | CONFFILES_${PN} = "${sysconfdir}/pointercal.xinput" | ||
diff --git a/meta-oe/recipes-graphics/xinput-calibrator/xinput-calibrator.inc b/meta-oe/recipes-graphics/xinput-calibrator/xinput-calibrator.inc new file mode 100644 index 000000000..357b0e5c0 --- /dev/null +++ b/meta-oe/recipes-graphics/xinput-calibrator/xinput-calibrator.inc | |||
@@ -0,0 +1,8 @@ | |||
1 | DESCRIPTION = "A generic touchscreen calibration program for X.Org" | ||
2 | HOMEPAGE = "http://www.freedesktop.org/wiki/Software/xinput_calibrator" | ||
3 | LICENSE = "MIT/X11" | ||
4 | DEPENDS = "virtual/libx11 libxi" | ||
5 | RDEPENDS_${PN} = "xinput pointercal-xinput" | ||
6 | INC_PR = "r7" | ||
7 | |||
8 | inherit autotools | ||
diff --git a/meta-oe/recipes-graphics/xinput-calibrator/xinput-calibrator_0.6.1.bb b/meta-oe/recipes-graphics/xinput-calibrator/xinput-calibrator_0.6.1.bb new file mode 100644 index 000000000..2eb3cc942 --- /dev/null +++ b/meta-oe/recipes-graphics/xinput-calibrator/xinput-calibrator_0.6.1.bb | |||
@@ -0,0 +1,17 @@ | |||
1 | require xinput-calibrator.inc | ||
2 | |||
3 | LIC_FILES_CHKSUM = "file://src/calibrator.cpp;endline=22;md5=998e238a7638a7446eaeb02398f691fc" | ||
4 | SRC_URI = "git://github.com/tias/xinput_calibrator.git;protocol=git" | ||
5 | |||
6 | SRCREV = "d2ce98b3f638667dd64b6d718721379b2dc750a7" | ||
7 | PR = "${INC_PR}.0" | ||
8 | S = "${WORKDIR}/git/" | ||
9 | |||
10 | do_install_append() { | ||
11 | install -d ${D}${bindir} | ||
12 | install -m 0755 scripts/xinput_calibrator_pointercal.sh ${D}${bindir}/xinput_calibrator_once.sh | ||
13 | ln -s ${bindir}/xinput_calibrator_x11 ${D}${bindir}/xinput_calibrator | ||
14 | install -d ${D}${datadir}/applications/ | ||
15 | install -m 0755 scripts/xinput_calibrator.desktop ${D}${datadir}/applications/xinput-calibrator.desktop | ||
16 | install -m 0755 scripts/xinput_calibrator_get_hal_calibration.sh ${D}${bindir}/xinput_calibrator_get_hal_calibration.sh | ||
17 | } | ||
diff --git a/meta-oe/recipes-graphics/xorg-app/rgb_1.0.4.bb b/meta-oe/recipes-graphics/xorg-app/rgb_1.0.4.bb new file mode 100644 index 000000000..59dca2ac7 --- /dev/null +++ b/meta-oe/recipes-graphics/xorg-app/rgb_1.0.4.bb | |||
@@ -0,0 +1,10 @@ | |||
1 | require xorg-app-common.inc | ||
2 | DEPENDS += " xproto util-macros" | ||
3 | LIC_FILES_CHKSUM = "file://COPYING;md5=ef598adbe241bd0b0b9113831f6e249a" | ||
4 | PE = "1" | ||
5 | PR = "${INC_PR}.0" | ||
6 | |||
7 | SRC_URI[md5sum] = "35c6cccbf25a872bdd62bfcb1a73d951" | ||
8 | SRC_URI[sha256sum] = "80887da011ad086fff88bfd16c6d9d5ac7da45ef1bc9d0c192a6f370423370f1" | ||
9 | |||
10 | FILES_${PN} += "${datadir}/X11" | ||
diff --git a/meta-oe/recipes-graphics/xorg-app/xinput_1.5.3.bb b/meta-oe/recipes-graphics/xorg-app/xinput_1.5.3.bb new file mode 100644 index 000000000..c1acc983d --- /dev/null +++ b/meta-oe/recipes-graphics/xorg-app/xinput_1.5.3.bb | |||
@@ -0,0 +1,8 @@ | |||
1 | require xorg-app-common.inc | ||
2 | LIC_FILES_CHKSUM = "file://COPYING;md5=22c34ea36136407a77702a8b784f9bd0" | ||
3 | DESCRIPTION = "a utility to configure and test XInput devices" | ||
4 | DEPENDS += " libxi" | ||
5 | PR = "${INC_PR}.0" | ||
6 | |||
7 | SRC_URI[md5sum] = "1e2f0ad4f3fa833b65c568907f171d28" | ||
8 | SRC_URI[sha256sum] = "6aade131cecddaeefc39ddce1dd5e8473f6039c2e4efbfd9fbb5ee2a75885c76" | ||
diff --git a/meta-oe/recipes-graphics/xorg-app/xorg-app-common.inc b/meta-oe/recipes-graphics/xorg-app/xorg-app-common.inc new file mode 100644 index 000000000..8358af4d5 --- /dev/null +++ b/meta-oe/recipes-graphics/xorg-app/xorg-app-common.inc | |||
@@ -0,0 +1,15 @@ | |||
1 | DESCRIPTION = "X application" | ||
2 | HOMEPAGE = "http://www.x.org/" | ||
3 | SECTION = "x11/apps" | ||
4 | LICENSE = "MIT-X" | ||
5 | DEPENDS = "util-macros-native virtual/libx11" | ||
6 | |||
7 | INC_PR = "r5" | ||
8 | |||
9 | SRC_URI = "${XORG_MIRROR}/individual/app/${BPN}-${PV}.tar.bz2" | ||
10 | |||
11 | S = "${WORKDIR}/${BPN}-${PV}" | ||
12 | |||
13 | inherit autotools pkgconfig | ||
14 | |||
15 | FILES_${PN} += " /usr/lib/X11/${BPN} /usr/share/X11/app-defaults/" | ||
diff --git a/meta-oe/recipes-graphics/xorg-doc/xorg-doc-common.inc b/meta-oe/recipes-graphics/xorg-doc/xorg-doc-common.inc new file mode 100644 index 000000000..f4b8b00de --- /dev/null +++ b/meta-oe/recipes-graphics/xorg-doc/xorg-doc-common.inc | |||
@@ -0,0 +1,12 @@ | |||
1 | DESCRIPTION = "X documentation" | ||
2 | HOMEPAGE = "http://www.x.org" | ||
3 | SECTION = "x11/docs" | ||
4 | LICENSE = "MIT-X" | ||
5 | |||
6 | SRC_URI = "${XORG_MIRROR}/individual/doc/${BPN}-${PV}.tar.bz2" | ||
7 | |||
8 | S = "${WORKDIR}/${BPN}-${PV}" | ||
9 | |||
10 | INC_PR = "r1" | ||
11 | |||
12 | inherit autotools pkgconfig | ||
diff --git a/meta-oe/recipes-graphics/xorg-doc/xorg-sgml-doctools_1.7.bb b/meta-oe/recipes-graphics/xorg-doc/xorg-sgml-doctools_1.7.bb new file mode 100644 index 000000000..55f4bacc2 --- /dev/null +++ b/meta-oe/recipes-graphics/xorg-doc/xorg-sgml-doctools_1.7.bb | |||
@@ -0,0 +1,8 @@ | |||
1 | require xorg-doc-common.inc | ||
2 | PE = "1" | ||
3 | PR = "${INC_PR}.0" | ||
4 | |||
5 | SRC_URI[md5sum] = "2588efb3f49f7fc6ecf41ce42e0b2e5e" | ||
6 | SRC_URI[sha256sum] = "84fd94e5c50556e6f77501485f8a48724cf3c95c6d58480bc280258ba14580c8" | ||
7 | |||
8 | FILES_${PN} += " /usr/share/sgml/X11" | ||
diff --git a/meta-oe/recipes-graphics/xorg-driver/xf86-input-keyboard_1.6.0.bb b/meta-oe/recipes-graphics/xorg-driver/xf86-input-keyboard_1.6.0.bb new file mode 100644 index 000000000..cbbc7c717 --- /dev/null +++ b/meta-oe/recipes-graphics/xorg-driver/xf86-input-keyboard_1.6.0.bb | |||
@@ -0,0 +1,17 @@ | |||
1 | require xorg-driver-input.inc | ||
2 | |||
3 | SUMMARY = "X.Org X server -- keyboard input driver" | ||
4 | |||
5 | DESCRIPTION = "keyboard is an Xorg input driver for keyboards. The \ | ||
6 | driver supports the standard OS-provided keyboard interface. The driver \ | ||
7 | functions as a keyboard input device, and may be used as the X server's \ | ||
8 | core keyboard." | ||
9 | |||
10 | LIC_FILES_CHKSUM = "file://COPYING;md5=ea2099d24ac9e316a6d4b9f20b3d4e10" | ||
11 | |||
12 | DEPENDS += " kbproto" | ||
13 | PE = "1" | ||
14 | PR = "${INC_PR}.0" | ||
15 | |||
16 | SRC_URI[md5sum] = "e2abe9f13e526a73cb68a7d257546eba" | ||
17 | SRC_URI[sha256sum] = "c46c790fec905d696573b7a374b10ab8b4389112a8f69993fe011006c99e858e" | ||
diff --git a/meta-oe/recipes-graphics/xorg-driver/xf86-input-mouse_1.7.0.bb b/meta-oe/recipes-graphics/xorg-driver/xf86-input-mouse_1.7.0.bb new file mode 100644 index 000000000..88b304ffa --- /dev/null +++ b/meta-oe/recipes-graphics/xorg-driver/xf86-input-mouse_1.7.0.bb | |||
@@ -0,0 +1,17 @@ | |||
1 | require xorg-driver-input.inc | ||
2 | |||
3 | SUMMARY = "X.Org X server -- mouse input driver" | ||
4 | |||
5 | DESCRIPTION = "mouse is an Xorg input driver for mice. The driver \ | ||
6 | supports most available mouse types and interfaces. The mouse driver \ | ||
7 | functions as a pointer input device, and may be used as the X server's \ | ||
8 | core pointer. Multiple mice are supported by multiple instances of this \ | ||
9 | driver." | ||
10 | |||
11 | LIC_FILES_CHKSUM = "file://COPYING;md5=237eb1d1a602d29ef2af62d8fba60f19" | ||
12 | |||
13 | PE = "1" | ||
14 | PR = "${INC_PR}.0" | ||
15 | |||
16 | SRC_URI[md5sum] = "7f31472689c15b6de62eff04d0fb57d7" | ||
17 | SRC_URI[sha256sum] = "4e989542b5e9e0c5f9087288b18e70de1064dd27c83a4bc6dce58f3ea9d74994" | ||
diff --git a/meta-oe/recipes-graphics/xorg-driver/xf86-input-tslib/10-x11-input-tslib.fdi b/meta-oe/recipes-graphics/xorg-driver/xf86-input-tslib/10-x11-input-tslib.fdi new file mode 100644 index 000000000..906043947 --- /dev/null +++ b/meta-oe/recipes-graphics/xorg-driver/xf86-input-tslib/10-x11-input-tslib.fdi | |||
@@ -0,0 +1,11 @@ | |||
1 | <?xml version="1.0" encoding="UTF-8"?> | ||
2 | <deviceinfo version="0.2"> | ||
3 | <device> | ||
4 | <match key="info.capabilities" contains="input.touchpad"> | ||
5 | <merge key="input.x11_driver" type="string">tslib</merge> | ||
6 | </match> | ||
7 | <match key="info.capabilities" contains="input.touchscreen"> | ||
8 | <merge key="input.x11_driver" type="string">tslib</merge> | ||
9 | </match> | ||
10 | </device> | ||
11 | </deviceinfo> | ||
diff --git a/meta-oe/recipes-graphics/xorg-driver/xf86-input-tslib/99-xf86-input-tslib.rules b/meta-oe/recipes-graphics/xorg-driver/xf86-input-tslib/99-xf86-input-tslib.rules new file mode 100644 index 000000000..ec130c257 --- /dev/null +++ b/meta-oe/recipes-graphics/xorg-driver/xf86-input-tslib/99-xf86-input-tslib.rules | |||
@@ -0,0 +1,5 @@ | |||
1 | # create /dev/input/touchscreenX symlink, tag xf86-input-tslib as driver | ||
2 | SUBSYSTEM=="input", KERNEL=="event[0-9]*", ATTRS{modalias}=="input:*-e0*,3,*a0,1,*18,*", SYMLINK+="input/touchscreen%n", ENV{x11_driver}="tslib" | ||
3 | SUBSYSTEM=="input", KERNEL=="event[0-9]*", ATTRS{modalias}=="ads7846", SYMLINK+="input/touchscreen%n", ENV{x11_driver}="tslib" | ||
4 | |||
5 | |||
diff --git a/meta-oe/recipes-graphics/xorg-driver/xf86-input-tslib/double-free-crash.patch b/meta-oe/recipes-graphics/xorg-driver/xf86-input-tslib/double-free-crash.patch new file mode 100644 index 000000000..07754731d --- /dev/null +++ b/meta-oe/recipes-graphics/xorg-driver/xf86-input-tslib/double-free-crash.patch | |||
@@ -0,0 +1,20 @@ | |||
1 | xorg-server-1.7.3/hw/xfree86/common/xf86Helper.c contains this code | ||
2 | causing a double free crash on chvt or exit: | ||
3 | |||
4 | /* This should *really* be handled in drv->UnInit(dev) call instead, but | ||
5 | * if the driver forgets about it make sure we free it or at least crash | ||
6 | * with flying colors */ | ||
7 | if (pInp->private) | ||
8 | xfree(pInp->private); | ||
9 | Index: xf86-input-tslib-0.0.6/src/tslib.c | ||
10 | =================================================================== | ||
11 | --- xf86-input-tslib-0.0.6.orig/src/tslib.c | ||
12 | +++ xf86-input-tslib-0.0.6/src/tslib.c | ||
13 | @@ -435,6 +435,7 @@ xf86TslibUninit(InputDriverPtr drv, Inpu | ||
14 | xf86TslibControlProc(pInfo->dev, DEVICE_OFF); | ||
15 | ts_close(priv->ts); | ||
16 | xfree(pInfo->private); | ||
17 | + pInfo->private = NULL; | ||
18 | xf86DeleteInput(pInfo, 0); | ||
19 | } | ||
20 | |||
diff --git a/meta-oe/recipes-graphics/xorg-driver/xf86-input-tslib/xserver-174-XGetPointerControl.patch b/meta-oe/recipes-graphics/xorg-driver/xf86-input-tslib/xserver-174-XGetPointerControl.patch new file mode 100644 index 000000000..a1f6ba8f9 --- /dev/null +++ b/meta-oe/recipes-graphics/xorg-driver/xf86-input-tslib/xserver-174-XGetPointerControl.patch | |||
@@ -0,0 +1,34 @@ | |||
1 | From Grazvydas Ignotas | ||
2 | |||
3 | At least xserver 1.7.4 crashes on XGetPointerControl request because of xf86-input-tslib: | ||
4 | |||
5 | Program received signal SIGSEGV, Segmentation fault. | ||
6 | #0 0x000355e0 in ProcGetPointerControl (client=0x4a2e58) at devices.c:2122 | ||
7 | #1 0x00062fa8 in Dispatch () at dispatch.c:439 | ||
8 | #2 0x00022444 in main (argc=4, argv=0xbeebedc4, envp=0xbeebedd8) at main.c:285 | ||
9 | |||
10 | This happens because ptrfeed field is not set in device structure from tslib. | ||
11 | To fix this, call InitPtrFeedbackClassDeviceStruct() during DEVICE_INIT to get necessary setup done (as done in other input drivers). | ||
12 | |||
13 | --- | ||
14 | diff -ur xf86-input-tslib-0.0.6/src/tslib.c xf86-input-tslib-0.0.6_/src/tslib.c | ||
15 | --- xf86-input-tslib-0.0.6/src/tslib.c 2010-02-09 12:23:22.000000000 +0200 | ||
16 | +++ xf86-input-tslib-0.0.6_/src/tslib.c 2010-02-09 12:37:33.000000000 +0200 | ||
17 | @@ -103,8 +103,6 @@ | ||
18 | static void | ||
19 | PointerControlProc(DeviceIntPtr dev, PtrCtrl * ctrl) | ||
20 | { | ||
21 | - ErrorF("%s\n", __FUNCTION__); | ||
22 | - return; | ||
23 | } | ||
24 | |||
25 | static Bool | ||
26 | @@ -406,6 +404,8 @@ | ||
27 | xf86MotionHistoryAllocate(pInfo); | ||
28 | #endif | ||
29 | |||
30 | + if (!InitPtrFeedbackClassDeviceStruct(device, PointerControlProc)) | ||
31 | + return !Success; | ||
32 | break; | ||
33 | |||
34 | case DEVICE_ON: | ||
diff --git a/meta-oe/recipes-graphics/xorg-driver/xf86-input-tslib_0.0.6.bb b/meta-oe/recipes-graphics/xorg-driver/xf86-input-tslib_0.0.6.bb new file mode 100644 index 000000000..d5d11ce15 --- /dev/null +++ b/meta-oe/recipes-graphics/xorg-driver/xf86-input-tslib_0.0.6.bb | |||
@@ -0,0 +1,32 @@ | |||
1 | require xorg-driver-input.inc | ||
2 | DESCRIPTION = "X.Org X server -- tslib input driver" | ||
3 | DEPENDS += "tslib" | ||
4 | RRECOMMENDS_${PN} += "tslib-calibrate" | ||
5 | RSUGGESTS_${PN} += "hal" | ||
6 | |||
7 | # derived from xf86-input-void, that's why I kept MIT-X, but it's not clear, see COPYING | ||
8 | LIC_FILES_CHKSUM = "file://src/tslib.c;endline=28;md5=bd62eaef222dcf5cd59e490a12bd795e \ | ||
9 | file://COPYING;md5=4641deddaa80fe7ca88e944e1fd94a94" | ||
10 | |||
11 | PR = "${INC_PR}.1" | ||
12 | |||
13 | SRC_URI = "http://www.pengutronix.de/software/xf86-input-tslib/download/xf86-input-tslib-${PV}.tar.bz2;name=archive \ | ||
14 | file://double-free-crash.patch \ | ||
15 | file://10-x11-input-tslib.fdi \ | ||
16 | file://xserver-174-XGetPointerControl.patch \ | ||
17 | file://99-xf86-input-tslib.rules \ | ||
18 | " | ||
19 | SRC_URI[md5sum] = "b7a4d2f11637ee3fcf432e044b1d017f" | ||
20 | SRC_URI[sha256sum] = "5f46fdef095a6e44a69e0f0b57c7d665224b26d990d006611236d8332e85b105" | ||
21 | |||
22 | do_configure_prepend() { | ||
23 | rm -rf ${S}/m4/ || true | ||
24 | } | ||
25 | do_install_append() { | ||
26 | install -d ${D}/${datadir}/hal/fdi/policy/20thirdparty | ||
27 | install -m 0644 ${WORKDIR}/10-x11-input-tslib.fdi ${D}/${datadir}/hal/fdi/policy/20thirdparty | ||
28 | install -d ${D}/lib/udev/rules.d | ||
29 | install -m 0644 ${WORKDIR}/99-xf86-input-tslib.rules ${D}/lib/udev/rules.d/ | ||
30 | } | ||
31 | |||
32 | FILES_${PN} += "${datadir}/hal /lib/udev" | ||
diff --git a/meta-oe/recipes-graphics/xorg-driver/xf86-video-fbdev_0.4.2.bb b/meta-oe/recipes-graphics/xorg-driver/xf86-video-fbdev_0.4.2.bb new file mode 100644 index 000000000..d555fbc4b --- /dev/null +++ b/meta-oe/recipes-graphics/xorg-driver/xf86-video-fbdev_0.4.2.bb | |||
@@ -0,0 +1,9 @@ | |||
1 | require xorg-driver-video.inc | ||
2 | LIC_FILES_CHKSUM = "file://COPYING;md5=d8cbd99fff773f92e844948f74ef0df8" | ||
3 | |||
4 | DESCRIPTION = "X.Org X server -- fbdev display driver" | ||
5 | PE = "1" | ||
6 | PR = "${INC_PR}.1" | ||
7 | |||
8 | SRC_URI[md5sum] = "53a533d9e0c2da50962282526bace074" | ||
9 | SRC_URI[sha256sum] = "93b271b4b41d7e5ca108849a583b9523e96c51813d046282285355b7001f82d5" | ||
diff --git a/meta-oe/recipes-graphics/xorg-driver/xf86-video-glamo/0001-glamo-drm-define-GLAMO_CMDQ_MAX_COUNT-instead-of-mag.patch b/meta-oe/recipes-graphics/xorg-driver/xf86-video-glamo/0001-glamo-drm-define-GLAMO_CMDQ_MAX_COUNT-instead-of-mag.patch new file mode 100644 index 000000000..0c7350fc1 --- /dev/null +++ b/meta-oe/recipes-graphics/xorg-driver/xf86-video-glamo/0001-glamo-drm-define-GLAMO_CMDQ_MAX_COUNT-instead-of-mag.patch | |||
@@ -0,0 +1,66 @@ | |||
1 | From e2d0f9a3ba7f36b0b8ac8d736dd76da6e5e07f38 Mon Sep 17 00:00:00 2001 | ||
2 | From: Martin Jansa <Martin.Jansa@gmail.com> | ||
3 | Date: Fri, 29 Oct 2010 11:19:08 +0200 | ||
4 | Subject: [PATCH] glamo-drm: define GLAMO_CMDQ_MAX_COUNT instead of magic constant 1024 | ||
5 | |||
6 | * fix check for full queue, because size != count here | ||
7 | * make sure we have enough space in queue for 2 resp. 4 more commands in | ||
8 | GlamoDRMAddCommand resp. GlamoDRMAddCommandBO | ||
9 | |||
10 | Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> | ||
11 | --- | ||
12 | src/glamo-drm.c | 16 +++++++++++----- | ||
13 | 1 files changed, 11 insertions(+), 5 deletions(-) | ||
14 | |||
15 | diff --git a/src/glamo-drm.c b/src/glamo-drm.c | ||
16 | index aac93bb..01e8510 100644 | ||
17 | --- a/src/glamo-drm.c | ||
18 | +++ b/src/glamo-drm.c | ||
19 | @@ -32,6 +32,8 @@ | ||
20 | |||
21 | #include "glamo.h" | ||
22 | |||
23 | +/* How many commands can be stored before forced dispatch */ | ||
24 | +#define GLAMO_CMDQ_MAX_COUNT 1024 | ||
25 | |||
26 | /* Submit the prepared command sequence to the kernel */ | ||
27 | void GlamoDRMDispatch(GlamoPtr pGlamo) | ||
28 | @@ -60,7 +62,7 @@ void GlamoDRMDispatch(GlamoPtr pGlamo) | ||
29 | |||
30 | void GlamoDRMAddCommand(GlamoPtr pGlamo, uint16_t reg, uint16_t val) | ||
31 | { | ||
32 | - if ( pGlamo->cmdq_drm_used == pGlamo->cmdq_drm_size ) { | ||
33 | + if ( pGlamo->cmdq_drm_used >= GLAMO_CMDQ_MAX_COUNT - 2 ) { | ||
34 | xf86DrvMsg(pGlamo->pScreen->myNum, X_INFO, | ||
35 | "Forced command cache flush.\n"); | ||
36 | GlamoDRMDispatch(pGlamo); | ||
37 | @@ -74,7 +76,8 @@ void GlamoDRMAddCommand(GlamoPtr pGlamo, uint16_t reg, uint16_t val) | ||
38 | |||
39 | void GlamoDRMAddCommandBO(GlamoPtr pGlamo, uint16_t reg, struct glamo_bo *bo) | ||
40 | { | ||
41 | - if ( pGlamo->cmdq_drm_used == pGlamo->cmdq_drm_size ) { | ||
42 | + if ( pGlamo->cmdq_drm_used >= GLAMO_CMDQ_MAX_COUNT - 4 || | ||
43 | + pGlamo->cmdq_obj_used >= GLAMO_CMDQ_MAX_COUNT) { | ||
44 | xf86DrvMsg(pGlamo->pScreen->myNum, X_INFO, | ||
45 | "Forced command cache flush.\n"); | ||
46 | GlamoDRMDispatch(pGlamo); | ||
47 | @@ -98,10 +101,13 @@ void GlamoDRMAddCommandBO(GlamoPtr pGlamo, uint16_t reg, struct glamo_bo *bo) | ||
48 | |||
49 | void GlamoDRMInit(GlamoPtr pGlamo) | ||
50 | { | ||
51 | - pGlamo->cmdq_objs = malloc(1024); | ||
52 | - pGlamo->cmdq_obj_pos = malloc(1024); | ||
53 | + pGlamo->cmdq_objs = malloc(GLAMO_CMDQ_MAX_COUNT); | ||
54 | + pGlamo->cmdq_obj_pos = malloc(GLAMO_CMDQ_MAX_COUNT); | ||
55 | pGlamo->cmdq_obj_used = 0; | ||
56 | pGlamo->cmdq_drm_used = 0; | ||
57 | - pGlamo->cmdq_drm_size = 4 * 1024; | ||
58 | + /* we're using 2bytes per entry (uint16_t) that's why we need to allocate | ||
59 | + * GLAMO_CMDQ_MAX_COUNT * 2 bytes | ||
60 | + */ | ||
61 | + pGlamo->cmdq_drm_size = 2 * GLAMO_CMDQ_MAX_COUNT; | ||
62 | pGlamo->cmdq_drm = malloc(pGlamo->cmdq_drm_size); | ||
63 | } | ||
64 | -- | ||
65 | 1.7.3.2 | ||
66 | |||
diff --git a/meta-oe/recipes-graphics/xorg-driver/xf86-video-glamo_git.bb b/meta-oe/recipes-graphics/xorg-driver/xf86-video-glamo_git.bb new file mode 100644 index 000000000..c9e1d5699 --- /dev/null +++ b/meta-oe/recipes-graphics/xorg-driver/xf86-video-glamo_git.bb | |||
@@ -0,0 +1,19 @@ | |||
1 | require xorg-driver-video.inc | ||
2 | DESCRIPTION = "X.Org X server -- Glamo display driver with KMS support" | ||
3 | DEPENDS += "libdrm" | ||
4 | |||
5 | LIC_FILES_CHKSUM = "file://COPYING;md5=d8cbd99fff773f92e844948f74ef0df8" | ||
6 | |||
7 | RDEPENDS_${PN} = "xserver-xorg-extension-dri xserver-xorg-extension-dri2 xserver-xorg-extension-glx mesa-dri" | ||
8 | PE = "2" | ||
9 | PV = "1.0.0+gitr${SRCPV}" | ||
10 | PR = "${INC_PR}.5" | ||
11 | |||
12 | SRC_URI = "git://git.openmoko.org/git/xf86-video-glamo.git;protocol=git;branch=master \ | ||
13 | file://0001-glamo-drm-define-GLAMO_CMDQ_MAX_COUNT-instead-of-mag.patch \ | ||
14 | " | ||
15 | |||
16 | S = "${WORKDIR}/git" | ||
17 | SRCREV = "16af3c00195adc68cbd508e3613be4b2349260b3" | ||
18 | |||
19 | EXTRA_OECONF = " --enable-kms " | ||
diff --git a/meta-oe/recipes-graphics/xorg-driver/xorg-driver-common.inc b/meta-oe/recipes-graphics/xorg-driver/xorg-driver-common.inc new file mode 100644 index 000000000..970b0d176 --- /dev/null +++ b/meta-oe/recipes-graphics/xorg-driver/xorg-driver-common.inc | |||
@@ -0,0 +1,40 @@ | |||
1 | DESCRIPTION = "X driver" | ||
2 | HOMEPAGE = "http://www.x.org" | ||
3 | SECTION = "x11/drivers" | ||
4 | LICENSE = "MIT-X" | ||
5 | INC_PR = "r15" | ||
6 | |||
7 | DEPENDS = "randrproto xorg-server xproto" | ||
8 | |||
9 | SRC_URI = "${XORG_MIRROR}/individual/driver/${BPN}-${PV}.tar.bz2" | ||
10 | |||
11 | S = "${WORKDIR}/${BPN}-${PV}" | ||
12 | |||
13 | FILES_${PN} += " ${libdir}/xorg/modules" | ||
14 | FILES_${PN}-dbg += "${libdir}/xorg/modules/*/.debug" | ||
15 | |||
16 | inherit autotools pkgconfig | ||
17 | |||
18 | TARGET_CPPFLAGS += "-I${STAGING_DIR_HOST}/usr/include/xorg" | ||
19 | |||
20 | # Another sucky behavor from Xorg configure scripts. | ||
21 | # They use AC_CHECK_FILE to check for DRI headers. Yuck! | ||
22 | # Of course this will blow up when cross compiling. | ||
23 | |||
24 | do_configure_prepend() { | ||
25 | incdir=${layout_includedir}/xorg | ||
26 | for f in dri.h sarea.h dristruct.h exa.h damage.h xf86Module.h; do | ||
27 | path="$incdir/$f" | ||
28 | if [ -f "${STAGING_DIR_HOST}/$path" ]; then | ||
29 | p=`echo "$path" | sed 'y%*+%pp%;s%[^_[:alnum:]]%_%g'` | ||
30 | eval "export ac_cv_file_$p=yes" | ||
31 | fi | ||
32 | done | ||
33 | } | ||
34 | |||
35 | # FIXME: We don't want to include the libtool archives (*.la) from modules | ||
36 | # directory, as they serve no useful purpose. Upstream should fix Makefile.am | ||
37 | do_install_append() { | ||
38 | find ${D}${libdir}/xorg/modules -regex ".*\.la$" | xargs rm -f -- | ||
39 | } | ||
40 | |||
diff --git a/meta-oe/recipes-graphics/xorg-driver/xorg-driver-input.inc b/meta-oe/recipes-graphics/xorg-driver/xorg-driver-input.inc new file mode 100644 index 000000000..e44dbd58f --- /dev/null +++ b/meta-oe/recipes-graphics/xorg-driver/xorg-driver-input.inc | |||
@@ -0,0 +1,4 @@ | |||
1 | include xorg-driver-common.inc | ||
2 | |||
3 | DEPENDS = "randrproto inputproto xserver-xorg xproto" | ||
4 | |||
diff --git a/meta-oe/recipes-graphics/xorg-driver/xorg-driver-video.inc b/meta-oe/recipes-graphics/xorg-driver/xorg-driver-video.inc new file mode 100644 index 000000000..36b5b7595 --- /dev/null +++ b/meta-oe/recipes-graphics/xorg-driver/xorg-driver-video.inc | |||
@@ -0,0 +1,4 @@ | |||
1 | include xorg-driver-common.inc | ||
2 | |||
3 | DEPENDS = "randrproto renderproto videoproto xextproto fontsproto xserver-xorg xproto" | ||
4 | |||
diff --git a/meta-oe/recipes-graphics/xorg-lib/liblbxutil-1.1.0/mkg3states-1.1.patch b/meta-oe/recipes-graphics/xorg-lib/liblbxutil-1.1.0/mkg3states-1.1.patch new file mode 100644 index 000000000..f9f4a6382 --- /dev/null +++ b/meta-oe/recipes-graphics/xorg-lib/liblbxutil-1.1.0/mkg3states-1.1.patch | |||
@@ -0,0 +1,55 @@ | |||
1 | diff -uNr liblbxutil-1.1.0.orig/configure.ac liblbxutil-1.1.0/configure.ac | ||
2 | --- liblbxutil-1.1.0.orig/configure.ac 2009-12-04 23:52:04.000000000 +0100 | ||
3 | +++ liblbxutil-1.1.0/configure.ac 2009-12-16 10:45:00.000000000 +0100 | ||
4 | @@ -50,4 +50,5 @@ | ||
5 | |||
6 | AC_OUTPUT([Makefile | ||
7 | src/Makefile | ||
8 | + src/image/Makefile | ||
9 | lbxutil.pc]) | ||
10 | diff -uNr liblbxutil-1.1.0.orig/src/image/Makefile.am liblbxutil-1.1.0/src/image/Makefile.am | ||
11 | --- liblbxutil-1.1.0.orig/src/image/Makefile.am 1970-01-01 01:00:00.000000000 +0100 | ||
12 | +++ liblbxutil-1.1.0/src/image/Makefile.am 2009-12-16 10:45:00.000000000 +0100 | ||
13 | @@ -0,0 +1,15 @@ | ||
14 | +# evil hack | ||
15 | +CFLAGS=$(CFLAGS_FOR_BUILD) | ||
16 | +CPPFLAGS=$(CPPFLAGS_FOR_BUILD) | ||
17 | +LDFLAGS=$(LDFLAGS_FOR_BUILD) | ||
18 | + | ||
19 | +CC=$(CC_FOR_BUILD) | ||
20 | +LIBTOOL = @LIBTOOL@ --tag=CC | ||
21 | + | ||
22 | +noinst_PROGRAMS = mkg3states | ||
23 | + | ||
24 | +mkg3states_SOURCES = \ | ||
25 | + mkg3states.c | ||
26 | + | ||
27 | +mkg3states_CFLAGS=$(CFLAGS_FOR_BUILD) | ||
28 | +mkg3states_LDFLAGS=$(LDFLAGS_FOR_BUILD) | ||
29 | diff -uNr liblbxutil-1.1.0.orig/src/Makefile.am liblbxutil-1.1.0/src/Makefile.am | ||
30 | --- liblbxutil-1.1.0.orig/src/Makefile.am 2009-12-16 10:48:11.000000000 +0100 | ||
31 | +++ liblbxutil-1.1.0/src/Makefile.am 2009-12-16 10:46:47.000000000 +0100 | ||
32 | @@ -3,10 +3,7 @@ | ||
33 | AM_CFLAGS = $(CWARNFLAGS) $(LBXUTIL_CFLAGS) | ||
34 | INCLUDES = -I$(top_srcdir)/include | ||
35 | |||
36 | -noinst_PROGRAMS = mkg3states | ||
37 | - | ||
38 | -mkg3states_SOURCES = \ | ||
39 | - $(srcdir)/image/mkg3states.c | ||
40 | +SUBDIRS = image | ||
41 | |||
42 | liblbxutil_la_SOURCES = \ | ||
43 | $(srcdir)/lbx_zlib/reqstats.h \ | ||
44 | @@ -38,9 +35,8 @@ | ||
45 | |||
46 | $(srcdir)/image/dfaxg42d.c: g3states.h | ||
47 | |||
48 | -g3states.h: mkg3states | ||
49 | - -rm -f g3states.h | ||
50 | - $(AM_V_GEN) ./mkg3states -c > g3states.h_ && mv g3states.h_ g3states.h | ||
51 | +g3states.h: image/mkg3states | ||
52 | + $(AM_V_GEN) ./image/mkg3states -c > g3states.h_ && mv g3states.h_ g3states.h | ||
53 | |||
54 | liblbxutil_la_LDFLAGS = -version-number 1:0:0 -no-undefined | ||
55 | |||
diff --git a/meta-oe/recipes-graphics/xorg-lib/liblbxutil_1.1.0.bb b/meta-oe/recipes-graphics/xorg-lib/liblbxutil_1.1.0.bb new file mode 100644 index 000000000..52235866e --- /dev/null +++ b/meta-oe/recipes-graphics/xorg-lib/liblbxutil_1.1.0.bb | |||
@@ -0,0 +1,14 @@ | |||
1 | require xorg-lib-common.inc | ||
2 | |||
3 | LIC_FILES_CHKSUM = "file://COPYING;md5=b0d5bdc98f7ebab3b6c3791d9bf40907" | ||
4 | |||
5 | DESCRIPTION = "XFIXES Extension" | ||
6 | DEPENDS += " xextproto xproto zlib" | ||
7 | PE = "1" | ||
8 | PR = "${INC_PR}.0" | ||
9 | |||
10 | SRC_URI += "file://mkg3states-1.1.patch" | ||
11 | SRC_URI[md5sum] = "273329a78c2e9ea189ac416c7fde94a1" | ||
12 | SRC_URI[sha256sum] = "c6b6ff7858ec619cafa8205debca6bf78c5610a2844a782ed643c7fd017cf8ae" | ||
13 | |||
14 | export CC_FOR_BUILD = "gcc" | ||
diff --git a/meta-oe/recipes-graphics/xorg-lib/libx11-1.4.1/keysymdef_include.patch b/meta-oe/recipes-graphics/xorg-lib/libx11-1.4.1/keysymdef_include.patch new file mode 100644 index 000000000..1a30e345f --- /dev/null +++ b/meta-oe/recipes-graphics/xorg-lib/libx11-1.4.1/keysymdef_include.patch | |||
@@ -0,0 +1,19 @@ | |||
1 | diff -uNr libX11-1.3.6.orig//configure.ac libX11-1.3.6/configure.ac | ||
2 | --- libX11-1.3.6.orig//configure.ac 2010-09-20 08:04:16.000000000 +0200 | ||
3 | +++ libX11-1.3.6/configure.ac 2010-09-28 16:29:26.000000000 +0200 | ||
4 | @@ -355,7 +355,14 @@ | ||
5 | # Find keysymdef.h | ||
6 | # | ||
7 | AC_MSG_CHECKING([keysym definitions]) | ||
8 | -KEYSYMDEFDIR=`$PKG_CONFIG --variable=includedir xproto`/X11 | ||
9 | +AC_ARG_WITH(keysymdefdir, | ||
10 | + AC_HELP_STRING([--with-keysymdefdir=DIR], [The location of keysymdef.h]), | ||
11 | + KEYSYMDEFDIR=$withval, KEYSYMDEFDIR="") | ||
12 | + | ||
13 | +if test x$KEYSYMDEFDIR = x; then | ||
14 | + KEYSYMDEFDIR=`$PKG_CONFIG --variable=includedir xproto`/X11 | ||
15 | +fi | ||
16 | + | ||
17 | FILES="keysymdef.h XF86keysym.h Sunkeysym.h DECkeysym.h HPkeysym.h" | ||
18 | for i in $FILES; do | ||
19 | if test -f "$KEYSYMDEFDIR/$i"; then | ||
diff --git a/meta-oe/recipes-graphics/xorg-lib/libx11-1.4.1/x11_disable_makekeys.patch b/meta-oe/recipes-graphics/xorg-lib/libx11-1.4.1/x11_disable_makekeys.patch new file mode 100644 index 000000000..976331397 --- /dev/null +++ b/meta-oe/recipes-graphics/xorg-lib/libx11-1.4.1/x11_disable_makekeys.patch | |||
@@ -0,0 +1,29 @@ | |||
1 | Index: libX11-1.3.4/src/util/Makefile.am | ||
2 | =================================================================== | ||
3 | --- libX11-1.3.4.orig/src/util/Makefile.am | ||
4 | +++ libX11-1.3.4/src/util/Makefile.am | ||
5 | @@ -1,24 +1 @@ | ||
6 | - | ||
7 | -noinst_PROGRAMS=makekeys | ||
8 | - | ||
9 | -makekeys_CFLAGS = \ | ||
10 | - $(X11_CFLAGS) \ | ||
11 | - $(CWARNFLAGS) | ||
12 | - | ||
13 | -CC = @CC_FOR_BUILD@ | ||
14 | -CPPFLAGS = @CPPFLAGS_FOR_BUILD@ | ||
15 | -CFLAGS = @CFLAGS_FOR_BUILD@ | ||
16 | -LDFLAGS = @LDFLAGS_FOR_BUILD@ | ||
17 | - | ||
18 | EXTRA_DIST = mkks.sh | ||
19 | - | ||
20 | -if LINT | ||
21 | -# Check source code with tools like lint & sparse | ||
22 | - | ||
23 | -ALL_LINT_FLAGS=$(LINT_FLAGS) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ | ||
24 | - $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) | ||
25 | - | ||
26 | -lint: | ||
27 | - $(LINT) $(ALL_LINT_FLAGS) makekeys.c | ||
28 | - | ||
29 | -endif LINT | ||
diff --git a/meta-oe/recipes-graphics/xorg-lib/libx11-1.4.3/keysymdef_include.patch b/meta-oe/recipes-graphics/xorg-lib/libx11-1.4.3/keysymdef_include.patch new file mode 100644 index 000000000..1a30e345f --- /dev/null +++ b/meta-oe/recipes-graphics/xorg-lib/libx11-1.4.3/keysymdef_include.patch | |||
@@ -0,0 +1,19 @@ | |||
1 | diff -uNr libX11-1.3.6.orig//configure.ac libX11-1.3.6/configure.ac | ||
2 | --- libX11-1.3.6.orig//configure.ac 2010-09-20 08:04:16.000000000 +0200 | ||
3 | +++ libX11-1.3.6/configure.ac 2010-09-28 16:29:26.000000000 +0200 | ||
4 | @@ -355,7 +355,14 @@ | ||
5 | # Find keysymdef.h | ||
6 | # | ||
7 | AC_MSG_CHECKING([keysym definitions]) | ||
8 | -KEYSYMDEFDIR=`$PKG_CONFIG --variable=includedir xproto`/X11 | ||
9 | +AC_ARG_WITH(keysymdefdir, | ||
10 | + AC_HELP_STRING([--with-keysymdefdir=DIR], [The location of keysymdef.h]), | ||
11 | + KEYSYMDEFDIR=$withval, KEYSYMDEFDIR="") | ||
12 | + | ||
13 | +if test x$KEYSYMDEFDIR = x; then | ||
14 | + KEYSYMDEFDIR=`$PKG_CONFIG --variable=includedir xproto`/X11 | ||
15 | +fi | ||
16 | + | ||
17 | FILES="keysymdef.h XF86keysym.h Sunkeysym.h DECkeysym.h HPkeysym.h" | ||
18 | for i in $FILES; do | ||
19 | if test -f "$KEYSYMDEFDIR/$i"; then | ||
diff --git a/meta-oe/recipes-graphics/xorg-lib/libx11-1.4.3/x11_disable_makekeys.patch b/meta-oe/recipes-graphics/xorg-lib/libx11-1.4.3/x11_disable_makekeys.patch new file mode 100644 index 000000000..976331397 --- /dev/null +++ b/meta-oe/recipes-graphics/xorg-lib/libx11-1.4.3/x11_disable_makekeys.patch | |||
@@ -0,0 +1,29 @@ | |||
1 | Index: libX11-1.3.4/src/util/Makefile.am | ||
2 | =================================================================== | ||
3 | --- libX11-1.3.4.orig/src/util/Makefile.am | ||
4 | +++ libX11-1.3.4/src/util/Makefile.am | ||
5 | @@ -1,24 +1 @@ | ||
6 | - | ||
7 | -noinst_PROGRAMS=makekeys | ||
8 | - | ||
9 | -makekeys_CFLAGS = \ | ||
10 | - $(X11_CFLAGS) \ | ||
11 | - $(CWARNFLAGS) | ||
12 | - | ||
13 | -CC = @CC_FOR_BUILD@ | ||
14 | -CPPFLAGS = @CPPFLAGS_FOR_BUILD@ | ||
15 | -CFLAGS = @CFLAGS_FOR_BUILD@ | ||
16 | -LDFLAGS = @LDFLAGS_FOR_BUILD@ | ||
17 | - | ||
18 | EXTRA_DIST = mkks.sh | ||
19 | - | ||
20 | -if LINT | ||
21 | -# Check source code with tools like lint & sparse | ||
22 | - | ||
23 | -ALL_LINT_FLAGS=$(LINT_FLAGS) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ | ||
24 | - $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) | ||
25 | - | ||
26 | -lint: | ||
27 | - $(LINT) $(ALL_LINT_FLAGS) makekeys.c | ||
28 | - | ||
29 | -endif LINT | ||
diff --git a/meta-oe/recipes-graphics/xorg-lib/libx11.inc b/meta-oe/recipes-graphics/xorg-lib/libx11.inc new file mode 100644 index 000000000..d1e646af0 --- /dev/null +++ b/meta-oe/recipes-graphics/xorg-lib/libx11.inc | |||
@@ -0,0 +1,52 @@ | |||
1 | require xorg-lib-common.inc | ||
2 | |||
3 | DESCRIPTION = "Base X libs." | ||
4 | COMMON_DEPENDS = "util-macros xtrans libxdmcp libxau \ | ||
5 | bigreqsproto xproto xextproto xcmiscproto \ | ||
6 | xf86bigfontproto kbproto inputproto xproto-native" | ||
7 | |||
8 | DEPENDS = "libxcb ${COMMON_DEPENDS}" | ||
9 | DEPENDS_virtclass-native = "${COMMON_DEPENDS}" | ||
10 | DEPENDS_virtclass-nativesdk = "${COMMON_DEPENDS}" | ||
11 | |||
12 | FILESPATHPKG .= ":libx11-${PV}:libx11" | ||
13 | BBCLASSEXTEND = "native nativesdk" | ||
14 | PROVIDES = "virtual/libx11" | ||
15 | PE = "1" | ||
16 | |||
17 | PACKAGES =+ "${PN}-xcb" | ||
18 | |||
19 | FILES_${PN} += "${datadir}/X11/XKeysymDB ${datadir}/X11/XErrorDB ${libdir}/X11/Xcms.txt" | ||
20 | FILES_${PN}-xcb += "${libdir}/libX11-xcb.so.*" | ||
21 | FILES_${PN}-locale += "${datadir}/X11/locale ${libdir}/X11/locale" | ||
22 | |||
23 | XORG_PN = "libX11" | ||
24 | |||
25 | EXTRA_OECONF += " --with-xcb --with-keysymdefdir=${STAGING_INCDIR}/X11 --with-groff=no --with-ps2pdf=no --with-fop=no" | ||
26 | EXTRA_OECONF_virtclass-native = " --without-xcb --with-groff=no --with-ps2pdf=no --with-fop=no" | ||
27 | EXTRA_OECONF_virtclass-nativesdk = " --without-xcb --with-groff=no --with-ps2pdf=no --with-fop=no" | ||
28 | |||
29 | # Below option is added to overcome the GCC bug on ARM | ||
30 | # see http://gcc.gnu.org/PR42981 for further details. | ||
31 | # We could potentially take it off when its fixed in gcc 4.5 | ||
32 | |||
33 | CFLAGS_append_arm = " -fforward-propagate " | ||
34 | |||
35 | SRC_URI += " file://keysymdef_include.patch \ | ||
36 | file://x11_disable_makekeys.patch \ | ||
37 | " | ||
38 | |||
39 | do_compile_prepend() { | ||
40 | ( | ||
41 | unset CC LD CXX CCLD CFLAGS CPPFLAGS LDFLAGS CXXFLAGS | ||
42 | cd src/util; | ||
43 | mv makekeys.c.orig makekeys.c || true | ||
44 | # MIN_REHASH 10 is only in 1.0.1 | ||
45 | sed -i -e 's:MIN_REHASH 10:MIN_REHASH 16:g' makekeys.c | ||
46 | sed -i -e 's:MIN_REHASH 15:MIN_REHASH 16:g' makekeys.c | ||
47 | touch makekeys-makekeys.o ; ${BUILD_CC} ${BUILD_CFLAGS} -I${STAGING_INCDIR_NATIVE} makekeys.c -o makekeys | ||
48 | # mv to stop it getting rebuilt | ||
49 | mv makekeys.c makekeys.c.orig | ||
50 | cd ../../ | ||
51 | ) || exit 1 | ||
52 | } | ||
diff --git a/meta-oe/recipes-graphics/xorg-lib/libx11_1.4.1.bb b/meta-oe/recipes-graphics/xorg-lib/libx11_1.4.1.bb new file mode 100644 index 000000000..a4423305e --- /dev/null +++ b/meta-oe/recipes-graphics/xorg-lib/libx11_1.4.1.bb | |||
@@ -0,0 +1,12 @@ | |||
1 | require libx11.inc | ||
2 | |||
3 | LICENSE = "MIT & MIT-style & BSD" | ||
4 | LIC_FILES_CHKSUM = "file://COPYING;md5=172255dee66bb0151435b2d5d709fcf7" | ||
5 | |||
6 | #--without-xcb is not an option anymore | ||
7 | #http://cgit.freedesktop.org/xorg/lib/libX11/commit/?id=15e5eaf62897b3179d1fbe457cb19f886f0449f8 | ||
8 | DEPENDS_virtclass-native = "libxcb-native ${COMMON_DEPENDS}" | ||
9 | PR = "${INC_PR}.0" | ||
10 | |||
11 | SRC_URI[md5sum] = "4603bdbce1bd73cbc140de402fe6ed24" | ||
12 | SRC_URI[sha256sum] = "70f4e0f798645a0f269f362bfdbd4c7934dae3a2dd9ecbad28d6ede414f63ce2" | ||
diff --git a/meta-oe/recipes-graphics/xorg-lib/libx11_1.4.3.bb b/meta-oe/recipes-graphics/xorg-lib/libx11_1.4.3.bb new file mode 100644 index 000000000..481b90f38 --- /dev/null +++ b/meta-oe/recipes-graphics/xorg-lib/libx11_1.4.3.bb | |||
@@ -0,0 +1,12 @@ | |||
1 | require libx11.inc | ||
2 | |||
3 | LICENSE = "MIT & MIT-style & BSD" | ||
4 | LIC_FILES_CHKSUM = "file://COPYING;md5=172255dee66bb0151435b2d5d709fcf7" | ||
5 | |||
6 | #--without-xcb is not an option anymore | ||
7 | #http://cgit.freedesktop.org/xorg/lib/libX11/commit/?id=15e5eaf62897b3179d1fbe457cb19f886f0449f8 | ||
8 | DEPENDS_virtclass-native = "libxcb-native ${COMMON_DEPENDS}" | ||
9 | PR = "${INC_PR}.0" | ||
10 | |||
11 | SRC_URI[md5sum] = "85e942627aaa020813e0eb8433353563" | ||
12 | SRC_URI[sha256sum] = "38b5ddd93291714a46a02cb8a5dd94b995a04ed76a608551c44d1598e113635a" | ||
diff --git a/meta-oe/recipes-graphics/xorg-lib/libxaw_1.0.9.bb b/meta-oe/recipes-graphics/xorg-lib/libxaw_1.0.9.bb new file mode 100644 index 000000000..980de3a30 --- /dev/null +++ b/meta-oe/recipes-graphics/xorg-lib/libxaw_1.0.9.bb | |||
@@ -0,0 +1,28 @@ | |||
1 | require xorg-lib-common.inc | ||
2 | DESCRIPTION = "X Athena Widget Set" | ||
3 | DEPENDS += "xproto virtual/libx11 libxext xextproto libxt libxmu libxpm libxp printproto libxau" | ||
4 | |||
5 | LIC_FILES_CHKSUM = "file://COPYING;md5=f1beacbc336a5a256bb28dbfcf01c2be" | ||
6 | |||
7 | PE = "1" | ||
8 | PR = "${INC_PR}.0" | ||
9 | |||
10 | SRC_URI[md5sum] = "ccc57478c41b7a75b9702241b889b1d4" | ||
11 | SRC_URI[sha256sum] = "a83977546b78e24ac5dca86affc10b6404a87c16272405b05386feca1a2db037" | ||
12 | |||
13 | # disable docs as groff detection doesn't work on some hosts while cross compilling | ||
14 | EXTRA_OECONF += " --disable-docs " | ||
15 | |||
16 | do_install_append () { | ||
17 | ln -sf libXaw6.so.6 ${D}${libdir}/libXaw.so.6 | ||
18 | ln -sf libXaw7.so.7 ${D}${libdir}/libXaw.so.7 | ||
19 | ln -sf libXaw7.so.7 ${D}${libdir}/libXaw.so | ||
20 | } | ||
21 | |||
22 | PACKAGES =+ "libxaw6 libxaw7 libxaw8" | ||
23 | |||
24 | FILES_libxaw6 = "${libdir}/libXaw*.so.6*" | ||
25 | FILES_libxaw7 = "${libdir}/libXaw*.so.7*" | ||
26 | FILES_libxaw8 = "${libdir}/libXaw8.so.8*" | ||
27 | |||
28 | XORG_PN = "libXaw" | ||
diff --git a/meta-oe/recipes-graphics/xorg-lib/libxfixes_5.0.bb b/meta-oe/recipes-graphics/xorg-lib/libxfixes_5.0.bb new file mode 100644 index 000000000..4ca1ea284 --- /dev/null +++ b/meta-oe/recipes-graphics/xorg-lib/libxfixes_5.0.bb | |||
@@ -0,0 +1,22 @@ | |||
1 | SUMMARY = "XFixes: X Fixes extension library." | ||
2 | |||
3 | DESCRIPTION = "X applications have often needed to work around various \ | ||
4 | shortcomings in the core X window system. This extension is designed to \ | ||
5 | provide the minimal server-side support necessary to eliminate problems \ | ||
6 | caused by these workarounds." | ||
7 | |||
8 | require xorg-lib-common.inc | ||
9 | |||
10 | LICENSE = "MIT-style" | ||
11 | LIC_FILES_CHKSUM = "file://COPYING;md5=3c1ce42c334a6f5cccb0277556a053e0" | ||
12 | |||
13 | DEPENDS += "virtual/libx11 xproto fixesproto xextproto" | ||
14 | PE = "1" | ||
15 | PR = "${INC_PR}.0" | ||
16 | |||
17 | SRC_URI[md5sum] = "678071bd7f9f7467e2fc712d81022318" | ||
18 | SRC_URI[sha256sum] = "537a2446129242737a35db40081be4bbcc126e56c03bf5f2b142b10a79cda2e3" | ||
19 | |||
20 | BBCLASSEXTEND = "native" | ||
21 | |||
22 | XORG_PN = "libXfixes" | ||
diff --git a/meta-oe/recipes-graphics/xorg-lib/libxi_1.4.2.bb b/meta-oe/recipes-graphics/xorg-lib/libxi_1.4.2.bb new file mode 100644 index 000000000..94299c091 --- /dev/null +++ b/meta-oe/recipes-graphics/xorg-lib/libxi_1.4.2.bb | |||
@@ -0,0 +1,21 @@ | |||
1 | require xorg-lib-common.inc | ||
2 | |||
3 | SUMMARY = "XI: X Input extension library" | ||
4 | |||
5 | DESCRIPTION = "libxi is an extension to the X11 protocol to support \ | ||
6 | input devices other than the core X keyboard and pointer. It allows \ | ||
7 | client programs to select input from these devices independently from \ | ||
8 | each other and independently from the core devices." | ||
9 | |||
10 | LICENSE = "MIT & MIT-style" | ||
11 | LIC_FILES_CHKSUM = "file://COPYING;md5=17b064789fab936a1c58c4e13d965b0f \ | ||
12 | file://src/XIGetDevFocus.c;endline=23;md5=cdfb0d435a33ec57ea0d1e8e395b729f" | ||
13 | |||
14 | DEPENDS += "libxext inputproto" | ||
15 | PE = "1" | ||
16 | PR = "${INC_PR}.0" | ||
17 | |||
18 | SRC_URI[md5sum] = "3d14f7bfc4a4335cf0144de9b67a5444" | ||
19 | SRC_URI[sha256sum] = "272b8041efc0a0203fb0ba33481ddec989539aed862181b58c8c3e410e325691" | ||
20 | |||
21 | XORG_PN = "libXi" | ||
diff --git a/meta-oe/recipes-graphics/xorg-lib/libxkbui_1.0.2.bb b/meta-oe/recipes-graphics/xorg-lib/libxkbui_1.0.2.bb new file mode 100644 index 000000000..499caf16c --- /dev/null +++ b/meta-oe/recipes-graphics/xorg-lib/libxkbui_1.0.2.bb | |||
@@ -0,0 +1,10 @@ | |||
1 | require xorg-lib-common.inc | ||
2 | DESCRIPTION = "X11 keyboard UI presentation library" | ||
3 | LICENSE = "GPL" | ||
4 | LIC_FILES_CHKSUM = "file://COPYING;md5=4641deddaa80fe7ca88e944e1fd94a94" | ||
5 | DEPENDS += "virtual/libx11 libxt libxkbfile" | ||
6 | PE = "1" | ||
7 | PR = "${INC_PR}.0" | ||
8 | |||
9 | SRC_URI[md5sum] = "1143e456f7429e18e88f2eadb2f2b6b1" | ||
10 | SRC_URI[sha256sum] = "20c23101d63234ee5f6d696dfa069b29c6c58e39eff433bcd7705b50b3ffa214" | ||
diff --git a/meta-oe/recipes-graphics/xorg-lib/libxt_1.1.1.bb b/meta-oe/recipes-graphics/xorg-lib/libxt_1.1.1.bb new file mode 100644 index 000000000..8c22f62ec --- /dev/null +++ b/meta-oe/recipes-graphics/xorg-lib/libxt_1.1.1.bb | |||
@@ -0,0 +1,37 @@ | |||
1 | require xorg-lib-common.inc | ||
2 | |||
3 | SUMMARY = "Xt: X Toolkit Intrinsics library" | ||
4 | |||
5 | DESCRIPTION = "The Intrinsics are a programming library tailored to the \ | ||
6 | special requirements of user interface construction within a network \ | ||
7 | window system, specifically the X Window System. The Intrinsics and a \ | ||
8 | widget set make up an X Toolkit. The Intrinsics provide the base \ | ||
9 | mechanism necessary to build a wide variety of interoperating widget \ | ||
10 | sets and application environments. The Intrinsics are a layer on top of \ | ||
11 | Xlib, the C Library X Interface. They extend the fundamental \ | ||
12 | abstractions provided by the X Window System while still remaining \ | ||
13 | independent of any particular user interface policy or style." | ||
14 | |||
15 | LICENSE = "MIT & MIT-style" | ||
16 | LIC_FILES_CHKSUM = "file://COPYING;md5=3239170e81427c5948287df07691f03f" | ||
17 | |||
18 | DEPENDS += "libsm virtual/libx11 kbproto" | ||
19 | PE = "1" | ||
20 | PR = "${INC_PR}.0" | ||
21 | |||
22 | SRC_URI[md5sum] = "eb22c0a1f172b06b97a3f5ae89768412" | ||
23 | SRC_URI[sha256sum] = "a2a1c29c684e3c9082cdb920b5aea802b179d19107b9ab2170fda07575559da7" | ||
24 | |||
25 | EXTRA_OECONF += "--disable-install-makestrs --disable-xkb" | ||
26 | |||
27 | do_compile() { | ||
28 | ( | ||
29 | unset CC LD CXX CCLD | ||
30 | oe_runmake -C util 'XT_CFLAGS=' 'CC=${BUILD_CC}' 'LD=${BUILD_LD}' 'CXX=${BUILD_CXX}' 'CCLD=${BUILD_CCLD}' 'CFLAGS=-D_GNU_SOURCE -I${STAGING_INCDIR_NATIVE} ${BUILD_CFLAGS}' 'LDFLAGS=${BUILD_LDFLAGS}' 'CXXFLAGS=${BUILD_CXXFLAGS}' 'CPPFLAGS=${BUILD_CPPFLAGS}' makestrs | ||
31 | ) || exit 1 | ||
32 | oe_runmake | ||
33 | } | ||
34 | |||
35 | BBCLASSEXTEND = "native" | ||
36 | |||
37 | XORG_PN = "libXt" | ||
diff --git a/meta-oe/recipes-graphics/xorg-lib/pixman_0.20.0.bb b/meta-oe/recipes-graphics/xorg-lib/pixman_0.20.0.bb index b3fbd4f15..b66bc2a73 100644 --- a/meta-oe/recipes-graphics/xorg-lib/pixman_0.20.0.bb +++ b/meta-oe/recipes-graphics/xorg-lib/pixman_0.20.0.bb | |||
@@ -1,7 +1,7 @@ | |||
1 | require pixman.inc | 1 | require pixman.inc |
2 | 2 | ||
3 | SRC_URI[archive.md5sum] = "c1a31d5cedfa97c5af7148a2d1fd4356" | 3 | SRC_URI[md5sum] = "c1a31d5cedfa97c5af7148a2d1fd4356" |
4 | SRC_URI[archive.sha256sum] = "9c02c22c6cc3f28f3633d02ef6f0cac130518f621edb011ebbbf08cd1a81251a" | 4 | SRC_URI[sha256sum] = "9c02c22c6cc3f28f3633d02ef6f0cac130518f621edb011ebbbf08cd1a81251a" |
5 | 5 | ||
6 | PR = "${INC_PR}.0" | 6 | PR = "${INC_PR}.0" |
7 | 7 | ||
diff --git a/meta-oe/recipes-graphics/xorg-lib/pixman_0.21.4.bb b/meta-oe/recipes-graphics/xorg-lib/pixman_0.21.4.bb index f0e9e388b..237e4efa6 100644 --- a/meta-oe/recipes-graphics/xorg-lib/pixman_0.21.4.bb +++ b/meta-oe/recipes-graphics/xorg-lib/pixman_0.21.4.bb | |||
@@ -1,7 +1,7 @@ | |||
1 | require pixman.inc | 1 | require pixman.inc |
2 | 2 | ||
3 | SRC_URI[archive.md5sum] = "e50975ace979cd416a505827c15191b4" | 3 | SRC_URI[md5sum] = "e50975ace979cd416a505827c15191b4" |
4 | SRC_URI[archive.sha256sum] = "57783330ee2f96121dc267b7f25b98356fd09fe9de185cd39e72e906b6444013" | 4 | SRC_URI[sha256sum] = "57783330ee2f96121dc267b7f25b98356fd09fe9de185cd39e72e906b6444013" |
5 | 5 | ||
6 | LICENSE = "MIT & MIT-style & Public Domain" | 6 | LICENSE = "MIT & MIT-style & Public Domain" |
7 | LIC_FILES_CHKSUM = "file://COPYING;md5=14096c769ae0cbb5fcb94ec468be11b3\ | 7 | LIC_FILES_CHKSUM = "file://COPYING;md5=14096c769ae0cbb5fcb94ec468be11b3\ |
diff --git a/meta-oe/recipes-graphics/xorg-lib/xorg-lib-common.inc b/meta-oe/recipes-graphics/xorg-lib/xorg-lib-common.inc index 93212c591..2f7337507 100644 --- a/meta-oe/recipes-graphics/xorg-lib/xorg-lib-common.inc +++ b/meta-oe/recipes-graphics/xorg-lib/xorg-lib-common.inc | |||
@@ -1,6 +1,5 @@ | |||
1 | HOMEPAGE = "http://www.x.org" | 1 | HOMEPAGE = "http://www.x.org" |
2 | BUGTRACKER = "https://bugs.freedesktop.org/enter_bug.cgi?product=xorg" | 2 | BUGTRACKER = "https://bugs.freedesktop.org/enter_bug.cgi?product=xorg" |
3 | |||
4 | SECTION = "x11/libs" | 3 | SECTION = "x11/libs" |
5 | LICENSE = "MIT-X" | 4 | LICENSE = "MIT-X" |
6 | DEPENDS = "util-macros" | 5 | DEPENDS = "util-macros" |
diff --git a/meta-oe/recipes-graphics/xorg-proto/fixesproto_5.0.bb b/meta-oe/recipes-graphics/xorg-proto/fixesproto_5.0.bb new file mode 100644 index 000000000..004813f66 --- /dev/null +++ b/meta-oe/recipes-graphics/xorg-proto/fixesproto_5.0.bb | |||
@@ -0,0 +1,21 @@ | |||
1 | require xorg-proto-common.inc | ||
2 | SUMMARY = "XFixes: X Fixes extension headers" | ||
3 | |||
4 | DESCRIPTION = "This package provides the wire protocol for the X Fixes \ | ||
5 | extension. This extension is designed to provide server-side support \ | ||
6 | for application work arounds to shortcomings in the core X window \ | ||
7 | system." | ||
8 | |||
9 | |||
10 | LICENSE = "MIT & MIT-style" | ||
11 | LIC_FILES_CHKSUM = "file://COPYING;md5=262a7a87da56e66dd639bf7334a110c6 \ | ||
12 | file://xfixesproto.h;endline=44;md5=3deb31fbde34b96c9f19072b8d854fea" | ||
13 | |||
14 | PE = "1" | ||
15 | PR = "${INC_PR}.0" | ||
16 | |||
17 | SRC_URI[md5sum] = "e7431ab84d37b2678af71e29355e101d" | ||
18 | SRC_URI[sha256sum] = "ba2f3f31246bdd3f2a0acf8bd3b09ba99cab965c7fb2c2c92b7dc72870e424ce" | ||
19 | |||
20 | |||
21 | CONFLICTS = "fixesext" | ||
diff --git a/meta-oe/recipes-graphics/xorg-proto/xextproto_7.2.0.bb b/meta-oe/recipes-graphics/xorg-proto/xextproto_7.2.0.bb new file mode 100644 index 000000000..9272ac1ff --- /dev/null +++ b/meta-oe/recipes-graphics/xorg-proto/xextproto_7.2.0.bb | |||
@@ -0,0 +1,19 @@ | |||
1 | require xorg-proto-common.inc | ||
2 | SUMMARY = "XExt: X Extension headers" | ||
3 | |||
4 | DESCRIPTION = "This package provides the wire protocol for several X \ | ||
5 | extensions. These protocol extensions include DOUBLE-BUFFER, DPMS, \ | ||
6 | Extended-Visual-Information, LBX, MIT_SHM, MIT_SUNDRY-NONSTANDARD, \ | ||
7 | Multi-Buffering, SECURITY, SHAPE, SYNC, TOG-CUP, XC-APPGROUP, XC-MISC, \ | ||
8 | XTEST. In addition a small set of utility functions are also \ | ||
9 | available." | ||
10 | |||
11 | LICENSE = "MIT & MIT-style" | ||
12 | LIC_FILES_CHKSUM = "file://COPYING;md5=86f273291759d0ba2a22585cd1c06c53" | ||
13 | |||
14 | PE = "1" | ||
15 | PR = "${INC_PR}.0" | ||
16 | |||
17 | SRC_URI[md5sum] = "220732210ceffb01bf1caf970e3b1bfb" | ||
18 | SRC_URI[sha256sum] = "d2bc4208c6b1883ebe00bc5c0048e5d825038cda56775f74bb4aa89afdc576d5" | ||
19 | |||
diff --git a/meta-oe/recipes-graphics/xorg-proto/xorg-proto-common.inc b/meta-oe/recipes-graphics/xorg-proto/xorg-proto-common.inc index 3e7c701c7..dc6fedf16 100644 --- a/meta-oe/recipes-graphics/xorg-proto/xorg-proto-common.inc +++ b/meta-oe/recipes-graphics/xorg-proto/xorg-proto-common.inc | |||
@@ -1,5 +1,6 @@ | |||
1 | DESCRIPTION = "X protocol headers: ${BPN}" | 1 | DESCRIPTION = "X protocol headers: ${BPN}" |
2 | HOMEPAGE = "http://www.x.org" | 2 | HOMEPAGE = "http://www.x.org" |
3 | BUGTRACKER = "https://bugs.freedesktop.org/enter_bug.cgi?product=xorg" | ||
3 | SECTION = "x11/libs" | 4 | SECTION = "x11/libs" |
4 | LICENSE = "MIT-X" | 5 | LICENSE = "MIT-X" |
5 | 6 | ||
@@ -9,9 +10,10 @@ ALLOW_EMPTY = "1" | |||
9 | 10 | ||
10 | INC_PR = "r2" | 11 | INC_PR = "r2" |
11 | 12 | ||
12 | SRC_URI = "${XORG_MIRROR}/individual/proto/${BPN}-${PV}.tar.bz2;name=archive" | 13 | SRC_URI = "${XORG_MIRROR}/individual/proto/${BPN}-${PV}.tar.bz2" |
13 | 14 | ||
14 | S = "${WORKDIR}/${BPN}-${PV}" | 15 | S = "${WORKDIR}/${BPN}-${PV}" |
15 | 16 | ||
16 | inherit autotools pkgconfig | 17 | inherit autotools pkgconfig |
17 | 18 | ||
19 | BBCLASSEXTEND = "native nativesdk" | ||
diff --git a/meta-oe/recipes-graphics/xorg-proto/xproto_7.0.21.bb b/meta-oe/recipes-graphics/xorg-proto/xproto_7.0.21.bb new file mode 100644 index 000000000..2bc95097d --- /dev/null +++ b/meta-oe/recipes-graphics/xorg-proto/xproto_7.0.21.bb | |||
@@ -0,0 +1,16 @@ | |||
1 | require xorg-proto-common.inc | ||
2 | |||
3 | SUMMARY = "Xlib: C Language X interface headers" | ||
4 | |||
5 | DESCRIPTION = "This package provides the basic headers for the X Window \ | ||
6 | System." | ||
7 | |||
8 | LICENSE = "MIT & MIT-style" | ||
9 | LIC_FILES_CHKSUM = "file://COPYING;md5=b9e051107d5628966739a0b2e9b32676" | ||
10 | |||
11 | PE = "1" | ||
12 | PR = "${INC_PR}.0" | ||
13 | |||
14 | SRC_URI[md5sum] = "c5a93a69b701cf81925fab02b35b0d0e" | ||
15 | SRC_URI[sha256sum] = "38ee2f032c3a9e30504593f8b5e6c1161a6629daba93748a71c6f70c16f65548" | ||
16 | |||
diff --git a/meta-oe/recipes-graphics/xorg-util/util-macros_1.13.0.bb b/meta-oe/recipes-graphics/xorg-util/util-macros_1.13.0.bb new file mode 100644 index 000000000..3f4471aee --- /dev/null +++ b/meta-oe/recipes-graphics/xorg-util/util-macros_1.13.0.bb | |||
@@ -0,0 +1,15 @@ | |||
1 | require xorg-util-common.inc | ||
2 | |||
3 | DESCRIPTION = "X autotools macros" | ||
4 | PE = "1" | ||
5 | |||
6 | LICENSE = "MIT & MIT-style" | ||
7 | LIC_FILES_CHKSUM = "file://COPYING;md5=1970511fddd439b07a6ba789d28ff662" | ||
8 | |||
9 | ALLOW_EMPTY = "1" | ||
10 | BBCLASSEXTEND = "native nativesdk" | ||
11 | |||
12 | PR = "${INC_PR}.0" | ||
13 | |||
14 | SRC_URI[md5sum] = "31e9ddcbc1d8bc8c09ab180443974dd1" | ||
15 | SRC_URI[sha256sum] = "7bff944fb120192e7fe1706e9c0b7e41666e7983ce3e2bdef0b7734392d9e695" | ||
diff --git a/meta-oe/recipes-graphics/xorg-util/xorg-util-common.inc b/meta-oe/recipes-graphics/xorg-util/xorg-util-common.inc new file mode 100644 index 000000000..e5c8ce930 --- /dev/null +++ b/meta-oe/recipes-graphics/xorg-util/xorg-util-common.inc | |||
@@ -0,0 +1,11 @@ | |||
1 | HOMEPAGE = "http://www.x.org" | ||
2 | SECTION = "x11/utils" | ||
3 | LICENSE = "MIT-X" | ||
4 | |||
5 | INC_PR = "r2" | ||
6 | |||
7 | SRC_URI = "${XORG_MIRROR}/individual/util/${BPN}-${PV}.tar.gz" | ||
8 | |||
9 | S = "${WORKDIR}/${BPN}-${PV}" | ||
10 | |||
11 | inherit autotools pkgconfig | ||
diff --git a/meta-oe/recipes-graphics/xorg-xserver/xorg-xserver-common.inc b/meta-oe/recipes-graphics/xorg-xserver/xorg-xserver-common.inc new file mode 100644 index 000000000..79f13fc13 --- /dev/null +++ b/meta-oe/recipes-graphics/xorg-xserver/xorg-xserver-common.inc | |||
@@ -0,0 +1,112 @@ | |||
1 | HOMEPAGE = "http://www.x.org" | ||
2 | SECTION = "x11/base" | ||
3 | LICENSE = "MIT-X" | ||
4 | LIC_FILES_CHKSUM = "file://COPYING;md5=3dd2bbe3563837f80ed8926b06c1c353" | ||
5 | |||
6 | INC_PR = "r18" | ||
7 | |||
8 | PROVIDES = "virtual/xserver" | ||
9 | |||
10 | # Config manager for xserver, options are: hal, udev, empty (for configuration in xorg.conf) | ||
11 | DISTRO_XORG_CONFIG_MANAGER ?= "hal" | ||
12 | DISTRO_XORG_CONFIG_MANAGER_shr ?= "udev" | ||
13 | |||
14 | # default none, enabled by DISTRO_XORG_CONFIG_MANAGER setting | ||
15 | CONFIG_MANAGER_OPTION += "${@['--disable-config-hal','--enable-config-hal',''][bb.data.getVar('DISTRO_XORG_CONFIG_MANAGER',d) in ['hal']]}" | ||
16 | CONFIG_MANAGER_OPTION += "${@['--disable-config-udev','--enable-config-udev',''][bb.data.getVar('DISTRO_XORG_CONFIG_MANAGER',d) in ['udev']]}" | ||
17 | |||
18 | DEPENDS = "fontconfig freetype flex-native liblbxutil kbproto \ | ||
19 | xf86driproto drm glproto randrproto renderproto fixesproto damageproto \ | ||
20 | xcmiscproto xextproto xproto xf86miscproto xf86vidmodeproto xf86bigfontproto \ | ||
21 | scrnsaverproto bigreqsproto resourceproto fontsproto inputproto \ | ||
22 | xf86dgaproto videoproto compositeproto trapproto recordproto dmxproto \ | ||
23 | resourceproto xineramaproto xtrans evieext libxkbfile libxfont libxau \ | ||
24 | libfontenc libxdmcp libxxf86vm libxaw libxmu libxt libxpm libxext libx11 \ | ||
25 | libxkbui libxxf86misc libxi libdmx libxtst libxres virtual/libgl libxcalibrate \ | ||
26 | libxv ${DISTRO_XORG_CONFIG_MANAGER}" | ||
27 | |||
28 | RRECOMMENDS_${PN} = "libpciaccess" | ||
29 | |||
30 | XORG_PN = "xorg-server" | ||
31 | SRC_URI = "${XORG_MIRROR}/individual/xserver/${XORG_PN}-${PV}.tar.bz2" | ||
32 | |||
33 | S = "${WORKDIR}/${XORG_PN}-${PV}" | ||
34 | |||
35 | inherit autotools pkgconfig glx-use-tls | ||
36 | |||
37 | EXTRA_OECONF += " --enable-xcalibrate \ | ||
38 | --enable-kdrive \ | ||
39 | --enable-xephyr \ | ||
40 | --disable-xfbdev \ | ||
41 | --disable-xnest \ | ||
42 | --disable-kdrive-vesa \ | ||
43 | --with-default-font-path="/usr/share/fonts/X11/misc" \ | ||
44 | ac_cv_file__usr_share_sgml_X11_defs_ent=no" | ||
45 | |||
46 | # CONFIG_MANAGER_OPTION is used only in recipes which support those options | ||
47 | |||
48 | EXTRA_OECONF_append_arm = " ac_cv_header_linux_apm_bios_h=no " | ||
49 | |||
50 | PACKAGES =+ "xserver-security-policy" | ||
51 | FILES_xserver-security-policy += "${libdir}/xserver/SecurityPolicy" | ||
52 | RRECOMMENDS_${PN} += "xserver-security-policy xkeyboard-config rgb xserver-xorg-conf" | ||
53 | |||
54 | PACKAGES =+ "${PN}-sdl ${PN}-fbdev ${PN}-xprint ${PN}-xvfb ${PN}-utils ${PN}-xephyr" | ||
55 | |||
56 | RDEPENDS_${PN}-xvfb += "xkeyboard-config" | ||
57 | |||
58 | FILES_${PN}-fbdev = "${bindir}/Xfbdev" | ||
59 | FILES_${PN}-sdl = "${bindir}/Xsdl" | ||
60 | FILES_${PN}-xprint = "${libdir}/X11/xserver/*/print" | ||
61 | FILES_${PN}-xvfb = "${bindir}/Xvfb" | ||
62 | FILES_${PN}-utils = "${bindir}/scanpci ${bindir}/pcitweak ${bindir}/ioport ${bindir}/in[bwl] ${bindir}/out[bwl] ${bindir}/mmap[rw] ${bindir}/gtf ${bindir}/getconfig ${bindir}/getconfig.pl" | ||
63 | FILES_${PN} = "${bindir} ${libdir}/X11/Options ${libdir}/X11/Cards ${libdir}/X11/getconfig ${libdir}/X11/etc ${libdir}/modules ${libdir}/xorg/modules /etc/X11 ${libdir}/xorg/protocol.txt ${datadir}/X11/xorg.conf.d" | ||
64 | FILES_${PN}-doc += "${libdir}/X11/doc /usr/share/X11/xkb/compiled/README.compiled" | ||
65 | FILES_${PN}-xephyr = "${bindir}/Xephyr" | ||
66 | |||
67 | FILES_${PN}-dbg += "${libdir}/xorg/modules/.debug \ | ||
68 | ${libdir}/xorg/modules/*/.debug \ | ||
69 | ${libdir}/xorg/modules/*/*/.debug \ | ||
70 | " | ||
71 | |||
72 | # Split out some modules and extensions from the main package | ||
73 | # These aren't needed for basic operations and only take up space: | ||
74 | # 32.0k libdri.so | ||
75 | # 336.0k libglx.so | ||
76 | # 1360k libint10.so | ||
77 | # 180.0k libwfb.so | ||
78 | # 320.0k libxaa.so | ||
79 | # 124.0k libxf1bpp.so | ||
80 | # 84.0k libxf4bpp.so | ||
81 | |||
82 | PACKAGES =+ "${PN}-extension-dri \ | ||
83 | ${PN}-extension-dri2 \ | ||
84 | ${PN}-extension-glx \ | ||
85 | ${PN}-module-libint10 \ | ||
86 | ${PN}-module-libafb \ | ||
87 | ${PN}-module-libwfb \ | ||
88 | ${PN}-module-libmfb \ | ||
89 | ${PN}-module-libcfb \ | ||
90 | ${PN}-module-xaa \ | ||
91 | ${PN}-module-libxf1bpp \ | ||
92 | ${PN}-module-libxf4bpp" | ||
93 | |||
94 | FILES_${PN}-extension-dri = "${libdir}/xorg/modules/extensions/libdri.so" | ||
95 | FILES_${PN}-extension-dri2 = "${libdir}/xorg/modules/extensions/libdri2.so" | ||
96 | FILES_${PN}-extension-glx = "${libdir}/xorg/modules/extensions/libglx.so" | ||
97 | FILES_${PN}-module-libint10 = "${libdir}/xorg/modules/libint10.so" | ||
98 | FILES_${PN}-module-libafb = "${libdir}/xorg/modules/libafb.so" | ||
99 | FILES_${PN}-module-libwfb = "${libdir}/xorg/modules/libwfb.so" | ||
100 | FILES_${PN}-module-libmfb = "${libdir}/xorg/modules/libmfb.so" | ||
101 | FILES_${PN}-module-libcfb = "${libdir}/xorg/modules/libcfb.so" | ||
102 | FILES_${PN}-module-xaa = "${libdir}/xorg/modules/libxaa.so" | ||
103 | FILES_${PN}-module-libxf1bpp = "${libdir}/xorg/modules/libxf1bpp.so" | ||
104 | FILES_${PN}-module-libxf4bpp = "${libdir}/xorg/modules/libxf4bpp.so" | ||
105 | |||
106 | PACKAGES =+ "${PN}-multimedia-modules" | ||
107 | |||
108 | FILES_${PN}-multimedia-modules = "${libdir}/xorg/modules/multimedia/*drv*" | ||
109 | |||
110 | do_install_append () { | ||
111 | ln -sf ${datadir}/fonts/X11 ${D}/${libdir}/X11/fonts | ||
112 | } | ||
diff --git a/meta-oe/recipes-graphics/xorg-xserver/xserver-xorg-1.10.0.901/hack-assume-pixman-supports-overlapped-blt.patch b/meta-oe/recipes-graphics/xorg-xserver/xserver-xorg-1.10.0.901/hack-assume-pixman-supports-overlapped-blt.patch new file mode 100644 index 000000000..a947582f1 --- /dev/null +++ b/meta-oe/recipes-graphics/xorg-xserver/xserver-xorg-1.10.0.901/hack-assume-pixman-supports-overlapped-blt.patch | |||
@@ -0,0 +1,14 @@ | |||
1 | diff --git a/fb/fbcopy.c b/fb/fbcopy.c | ||
2 | index 07eb663..ba394b7 100644 | ||
3 | --- a/fb/fbcopy.c | ||
4 | +++ b/fb/fbcopy.c | ||
5 | @@ -91,8 +91,7 @@ fbCopyNtoN (DrawablePtr pSrcDrawable, | ||
6 | while (nbox--) | ||
7 | { | ||
8 | #ifndef FB_ACCESS_WRAPPER /* pixman_blt() doesn't support accessors yet */ | ||
9 | - if (pm == FB_ALLONES && alu == GXcopy && !reverse && | ||
10 | - !upsidedown) | ||
11 | + if (pm == FB_ALLONES && alu == GXcopy) | ||
12 | { | ||
13 | if (!pixman_blt ((uint32_t *)src, (uint32_t *)dst, srcStride, dstStride, srcBpp, dstBpp, | ||
14 | (pbox->x1 + dx + srcXoff), | ||
diff --git a/meta-oe/recipes-graphics/xorg-xserver/xserver-xorg-1.10.0.901/hack-fbdev-ignore-return-mode.patch b/meta-oe/recipes-graphics/xorg-xserver/xserver-xorg-1.10.0.901/hack-fbdev-ignore-return-mode.patch new file mode 100644 index 000000000..d3661cbea --- /dev/null +++ b/meta-oe/recipes-graphics/xorg-xserver/xserver-xorg-1.10.0.901/hack-fbdev-ignore-return-mode.patch | |||
@@ -0,0 +1,39 @@ | |||
1 | Ugly hack that prevents server termination with xf86-video-fbdev-0.4.1 | ||
2 | (and probably other) while returning from chvt or resume on some | ||
3 | hardware (e. g. zaurus). | ||
4 | |||
5 | Correct fix would require debugging of fbdev mode during LeaveVT and | ||
6 | EnterVT. | ||
7 | |||
8 | This patch may cause staying in incorrect or corrupted display mode | ||
9 | after EnterVT, but on man affected devices it does not cause any visible | ||
10 | problems. | ||
11 | |||
12 | Hacked code is never called on properly written drivers. | ||
13 | |||
14 | Devices affected and testers involved for future patch removal: | ||
15 | Sharp Zaurus (spitz/akita): Stanislav Brabec <utx@penguin.cz> | ||
16 | |||
17 | See also: | ||
18 | https://bugzilla.redhat.com/show_bug.cgi?id=238451 | ||
19 | |||
20 | The bug (first line indicates that your device is affected): | ||
21 | |||
22 | (EE) FBDEV(0): FBIOPUT_VSCREENINFO succeeded but modified mode | ||
23 | |||
24 | Fatal server error: | ||
25 | EnterVT failed for screen 0 | ||
26 | |||
27 | Index: xorg-server-1.7.3/hw/xfree86/fbdevhw/fbdevhw.c | ||
28 | =================================================================== | ||
29 | --- xorg-server-1.7.3.orig/hw/xfree86/fbdevhw/fbdevhw.c | ||
30 | +++ xorg-server-1.7.3/hw/xfree86/fbdevhw/fbdevhw.c | ||
31 | @@ -571,7 +571,7 @@ fbdevHWSetMode(ScrnInfoPtr pScrn, Displa | ||
32 | #if DEBUG | ||
33 | print_fbdev_mode("returned", &set_var); | ||
34 | #endif | ||
35 | - return FALSE; | ||
36 | + /* return FALSE; UGLY HACK to allow return from chvt */ | ||
37 | } | ||
38 | |||
39 | if (!check) | ||
diff --git a/meta-oe/recipes-graphics/xorg-xserver/xserver-xorg-1.9.4/dolt-fix.patch b/meta-oe/recipes-graphics/xorg-xserver/xserver-xorg-1.9.4/dolt-fix.patch new file mode 100644 index 000000000..e332ce0bb --- /dev/null +++ b/meta-oe/recipes-graphics/xorg-xserver/xserver-xorg-1.9.4/dolt-fix.patch | |||
@@ -0,0 +1,22 @@ | |||
1 | Index: xorg-server/m4/dolt.m4 | ||
2 | =================================================================== | ||
3 | --- xorg-server.orig/m4/dolt.m4 2009-04-14 21:14:56.000000000 +0400 | ||
4 | +++ xorg-server/m4/dolt.m4 2009-07-15 12:38:33.796848843 +0400 | ||
5 | @@ -147,7 +147,7 @@ | ||
6 | cat <<__DOLTLIBTOOL__EOF__ > doltlibtool | ||
7 | #!$DOLT_BASH | ||
8 | __DOLTLIBTOOL__EOF__ | ||
9 | - cat <<'__DOLTLIBTOOL__EOF__' >>doltlibtool | ||
10 | + cat <<'__DOLTLIBTOOL__EOF__' | sed -e "s/@host_alias@/$host_alias/g" >>doltlibtool | ||
11 | top_builddir_slash="${0%%doltlibtool}" | ||
12 | : ${top_builddir_slash:=./} | ||
13 | args=() | ||
14 | @@ -163,7 +163,7 @@ | ||
15 | if $modeok && $tagok ; then | ||
16 | . ${top_builddir_slash}doltcompile "${args@<:@@@:>@}" | ||
17 | else | ||
18 | - exec ${top_builddir_slash}libtool "$[]@" | ||
19 | + exec ${top_builddir_slash}@host_alias@-libtool "$[]@" | ||
20 | fi | ||
21 | __DOLTLIBTOOL__EOF__ | ||
22 | |||
diff --git a/meta-oe/recipes-graphics/xorg-xserver/xserver-xorg-1.9.4/hack-assume-pixman-supports-overlapped-blt.patch b/meta-oe/recipes-graphics/xorg-xserver/xserver-xorg-1.9.4/hack-assume-pixman-supports-overlapped-blt.patch new file mode 100644 index 000000000..a947582f1 --- /dev/null +++ b/meta-oe/recipes-graphics/xorg-xserver/xserver-xorg-1.9.4/hack-assume-pixman-supports-overlapped-blt.patch | |||
@@ -0,0 +1,14 @@ | |||
1 | diff --git a/fb/fbcopy.c b/fb/fbcopy.c | ||
2 | index 07eb663..ba394b7 100644 | ||
3 | --- a/fb/fbcopy.c | ||
4 | +++ b/fb/fbcopy.c | ||
5 | @@ -91,8 +91,7 @@ fbCopyNtoN (DrawablePtr pSrcDrawable, | ||
6 | while (nbox--) | ||
7 | { | ||
8 | #ifndef FB_ACCESS_WRAPPER /* pixman_blt() doesn't support accessors yet */ | ||
9 | - if (pm == FB_ALLONES && alu == GXcopy && !reverse && | ||
10 | - !upsidedown) | ||
11 | + if (pm == FB_ALLONES && alu == GXcopy) | ||
12 | { | ||
13 | if (!pixman_blt ((uint32_t *)src, (uint32_t *)dst, srcStride, dstStride, srcBpp, dstBpp, | ||
14 | (pbox->x1 + dx + srcXoff), | ||
diff --git a/meta-oe/recipes-graphics/xorg-xserver/xserver-xorg-1.9.4/hack-fbdev-ignore-return-mode.patch b/meta-oe/recipes-graphics/xorg-xserver/xserver-xorg-1.9.4/hack-fbdev-ignore-return-mode.patch new file mode 100644 index 000000000..d3661cbea --- /dev/null +++ b/meta-oe/recipes-graphics/xorg-xserver/xserver-xorg-1.9.4/hack-fbdev-ignore-return-mode.patch | |||
@@ -0,0 +1,39 @@ | |||
1 | Ugly hack that prevents server termination with xf86-video-fbdev-0.4.1 | ||
2 | (and probably other) while returning from chvt or resume on some | ||
3 | hardware (e. g. zaurus). | ||
4 | |||
5 | Correct fix would require debugging of fbdev mode during LeaveVT and | ||
6 | EnterVT. | ||
7 | |||
8 | This patch may cause staying in incorrect or corrupted display mode | ||
9 | after EnterVT, but on man affected devices it does not cause any visible | ||
10 | problems. | ||
11 | |||
12 | Hacked code is never called on properly written drivers. | ||
13 | |||
14 | Devices affected and testers involved for future patch removal: | ||
15 | Sharp Zaurus (spitz/akita): Stanislav Brabec <utx@penguin.cz> | ||
16 | |||
17 | See also: | ||
18 | https://bugzilla.redhat.com/show_bug.cgi?id=238451 | ||
19 | |||
20 | The bug (first line indicates that your device is affected): | ||
21 | |||
22 | (EE) FBDEV(0): FBIOPUT_VSCREENINFO succeeded but modified mode | ||
23 | |||
24 | Fatal server error: | ||
25 | EnterVT failed for screen 0 | ||
26 | |||
27 | Index: xorg-server-1.7.3/hw/xfree86/fbdevhw/fbdevhw.c | ||
28 | =================================================================== | ||
29 | --- xorg-server-1.7.3.orig/hw/xfree86/fbdevhw/fbdevhw.c | ||
30 | +++ xorg-server-1.7.3/hw/xfree86/fbdevhw/fbdevhw.c | ||
31 | @@ -571,7 +571,7 @@ fbdevHWSetMode(ScrnInfoPtr pScrn, Displa | ||
32 | #if DEBUG | ||
33 | print_fbdev_mode("returned", &set_var); | ||
34 | #endif | ||
35 | - return FALSE; | ||
36 | + /* return FALSE; UGLY HACK to allow return from chvt */ | ||
37 | } | ||
38 | |||
39 | if (!check) | ||
diff --git a/meta-oe/recipes-graphics/xorg-xserver/xserver-xorg-1.9.4/randr-support.patch b/meta-oe/recipes-graphics/xorg-xserver/xserver-xorg-1.9.4/randr-support.patch new file mode 100644 index 000000000..abc7db41e --- /dev/null +++ b/meta-oe/recipes-graphics/xorg-xserver/xserver-xorg-1.9.4/randr-support.patch | |||
@@ -0,0 +1,102 @@ | |||
1 | diff -uNr xorg-server-1.9.0.orig//hw/xfree86/common/xf86Xinput.c xorg-server-1.9.0/hw/xfree86/common/xf86Xinput.c | ||
2 | --- xorg-server-1.9.0.orig//hw/xfree86/common/xf86Xinput.c 2010-08-13 07:53:48.000000000 +0200 | ||
3 | +++ xorg-server-1.9.0/hw/xfree86/common/xf86Xinput.c 2010-08-28 21:31:10.000000000 +0200 | ||
4 | @@ -106,6 +106,8 @@ | ||
5 | |||
6 | #include "os.h" | ||
7 | |||
8 | +#define RR_Rotate_All (RR_Rotate_0|RR_Rotate_90|RR_Rotate_180|RR_Rotate_270) | ||
9 | + | ||
10 | EventListPtr xf86Events = NULL; | ||
11 | |||
12 | /** | ||
13 | @@ -1359,4 +1361,73 @@ | ||
14 | EnableDevice(dev, TRUE); | ||
15 | } | ||
16 | |||
17 | +/* Taken from evdev-properties.h. */ | ||
18 | +#define EVDEV_PROP_SWAP_AXES "Evdev Axes Swap" | ||
19 | +#define EVDEV_PROP_INVERT_AXES "Evdev Axis Inversion" | ||
20 | + | ||
21 | +/* This is a hack until we get device -> CRTC association. */ | ||
22 | +void | ||
23 | +xf86InputRotationNotify(Rotation rotation) | ||
24 | +{ | ||
25 | + DeviceIntPtr dev; | ||
26 | + LocalDevicePtr local; | ||
27 | + int ret; | ||
28 | + int swap_axes = 0; | ||
29 | + CARD8 invert[2] = { 0, 0 }; | ||
30 | + static Atom prop_swap = 0, prop_invert = 0; | ||
31 | + static int atom_generation = -1; | ||
32 | + | ||
33 | + if (atom_generation != serverGeneration) { | ||
34 | + prop_swap = 0; | ||
35 | + prop_invert = 0; | ||
36 | + } | ||
37 | + | ||
38 | + switch (rotation & RR_Rotate_All) { | ||
39 | + case RR_Rotate_0: | ||
40 | + swap_axes = 1; | ||
41 | + invert[0] = 0; | ||
42 | + invert[1] = 0; | ||
43 | + break; | ||
44 | + case RR_Rotate_90: | ||
45 | + swap_axes = 0; | ||
46 | + invert[0] = 0; | ||
47 | + invert[1] = 1; | ||
48 | + break; | ||
49 | + case RR_Rotate_180: | ||
50 | + swap_axes = 1; | ||
51 | + invert[0] = 0; | ||
52 | + invert[1] = 0; | ||
53 | + break; | ||
54 | + case RR_Rotate_270: | ||
55 | + swap_axes = 0; | ||
56 | + invert[0] = 0; | ||
57 | + invert[1] = 1; | ||
58 | + break; | ||
59 | + } | ||
60 | + | ||
61 | + if (!prop_swap) | ||
62 | + prop_swap = MakeAtom(EVDEV_PROP_SWAP_AXES, | ||
63 | + strlen(EVDEV_PROP_SWAP_AXES), TRUE); | ||
64 | + if (!prop_invert) | ||
65 | + prop_invert = MakeAtom(EVDEV_PROP_INVERT_AXES, | ||
66 | + strlen(EVDEV_PROP_INVERT_AXES), TRUE); | ||
67 | + | ||
68 | + for (dev = inputInfo.devices; dev; dev = dev->next) { | ||
69 | + local = dev->public.devicePrivate; | ||
70 | + ret = XIChangeDeviceProperty(dev, prop_swap, XA_INTEGER, 8, | ||
71 | + PropModeReplace, 1, &swap_axes, FALSE); | ||
72 | + if (ret != Success) { | ||
73 | + xf86Msg(X_ERROR, "Changing swap_xy property failed!\n"); | ||
74 | + continue; | ||
75 | + } | ||
76 | + ret = XIChangeDeviceProperty(dev, prop_invert, XA_INTEGER, 8, | ||
77 | + PropModeReplace, 2, invert, FALSE); | ||
78 | + if (ret != Success) { | ||
79 | + xf86Msg(X_ERROR, "Changing invert property failed!\n"); | ||
80 | + continue; | ||
81 | + } | ||
82 | + } | ||
83 | +} | ||
84 | + | ||
85 | + | ||
86 | /* end of xf86Xinput.c */ | ||
87 | diff -uNr xorg-server-1.9.0.orig//hw/xfree86/modes/xf86Crtc.c xorg-server-1.9.0/hw/xfree86/modes/xf86Crtc.c | ||
88 | --- xorg-server-1.9.0.orig//hw/xfree86/modes/xf86Crtc.c 2010-07-20 05:24:12.000000000 +0200 | ||
89 | +++ xorg-server-1.9.0/hw/xfree86/modes/xf86Crtc.c 2010-08-28 21:28:48.000000000 +0200 | ||
90 | @@ -387,6 +387,12 @@ | ||
91 | if (didLock) | ||
92 | crtc->funcs->unlock (crtc); | ||
93 | |||
94 | + /* | ||
95 | + * Rotate Touchscreen | ||
96 | + */ | ||
97 | + xf86InputRotationNotify(crtc->rotation); | ||
98 | + | ||
99 | + | ||
100 | return ret; | ||
101 | } | ||
102 | |||
diff --git a/meta-oe/recipes-graphics/xorg-xserver/xserver-xorg-conf/am3517-evm/xorg.conf b/meta-oe/recipes-graphics/xorg-xserver/xserver-xorg-conf/am3517-evm/xorg.conf new file mode 100644 index 000000000..983bb0823 --- /dev/null +++ b/meta-oe/recipes-graphics/xorg-xserver/xserver-xorg-conf/am3517-evm/xorg.conf | |||
@@ -0,0 +1,29 @@ | |||
1 | Section "Module" | ||
2 | Load "extmod" | ||
3 | Load "dbe" | ||
4 | Load "glx" | ||
5 | Load "freetype" | ||
6 | Load "type1" | ||
7 | Load "record" | ||
8 | Load "dri" | ||
9 | EndSection | ||
10 | |||
11 | Section "Monitor" | ||
12 | Identifier "Builtin Default Monitor" | ||
13 | EndSection | ||
14 | |||
15 | Section "Device" | ||
16 | Identifier "Builtin Default fbdev Device 0" | ||
17 | Driver "omapfb" | ||
18 | EndSection | ||
19 | |||
20 | Section "Screen" | ||
21 | Identifier "Builtin Default fbdev Screen 0" | ||
22 | Device "Builtin Default fbdev Device 0" | ||
23 | Monitor "Builtin Default Monitor" | ||
24 | EndSection | ||
25 | |||
26 | Section "ServerLayout" | ||
27 | Identifier "Builtin Default Layout" | ||
28 | Screen "Builtin Default fbdev Screen 0" | ||
29 | EndSection | ||
diff --git a/meta-oe/recipes-graphics/xorg-xserver/xserver-xorg-conf/am37x-evm/xorg.conf b/meta-oe/recipes-graphics/xorg-xserver/xserver-xorg-conf/am37x-evm/xorg.conf new file mode 100644 index 000000000..983bb0823 --- /dev/null +++ b/meta-oe/recipes-graphics/xorg-xserver/xserver-xorg-conf/am37x-evm/xorg.conf | |||
@@ -0,0 +1,29 @@ | |||
1 | Section "Module" | ||
2 | Load "extmod" | ||
3 | Load "dbe" | ||
4 | Load "glx" | ||
5 | Load "freetype" | ||
6 | Load "type1" | ||
7 | Load "record" | ||
8 | Load "dri" | ||
9 | EndSection | ||
10 | |||
11 | Section "Monitor" | ||
12 | Identifier "Builtin Default Monitor" | ||
13 | EndSection | ||
14 | |||
15 | Section "Device" | ||
16 | Identifier "Builtin Default fbdev Device 0" | ||
17 | Driver "omapfb" | ||
18 | EndSection | ||
19 | |||
20 | Section "Screen" | ||
21 | Identifier "Builtin Default fbdev Screen 0" | ||
22 | Device "Builtin Default fbdev Device 0" | ||
23 | Monitor "Builtin Default Monitor" | ||
24 | EndSection | ||
25 | |||
26 | Section "ServerLayout" | ||
27 | Identifier "Builtin Default Layout" | ||
28 | Screen "Builtin Default fbdev Screen 0" | ||
29 | EndSection | ||
diff --git a/meta-oe/recipes-graphics/xorg-xserver/xserver-xorg-conf/archos5/xorg.conf b/meta-oe/recipes-graphics/xorg-xserver/xserver-xorg-conf/archos5/xorg.conf new file mode 100644 index 000000000..983bb0823 --- /dev/null +++ b/meta-oe/recipes-graphics/xorg-xserver/xserver-xorg-conf/archos5/xorg.conf | |||
@@ -0,0 +1,29 @@ | |||
1 | Section "Module" | ||
2 | Load "extmod" | ||
3 | Load "dbe" | ||
4 | Load "glx" | ||
5 | Load "freetype" | ||
6 | Load "type1" | ||
7 | Load "record" | ||
8 | Load "dri" | ||
9 | EndSection | ||
10 | |||
11 | Section "Monitor" | ||
12 | Identifier "Builtin Default Monitor" | ||
13 | EndSection | ||
14 | |||
15 | Section "Device" | ||
16 | Identifier "Builtin Default fbdev Device 0" | ||
17 | Driver "omapfb" | ||
18 | EndSection | ||
19 | |||
20 | Section "Screen" | ||
21 | Identifier "Builtin Default fbdev Screen 0" | ||
22 | Device "Builtin Default fbdev Device 0" | ||
23 | Monitor "Builtin Default Monitor" | ||
24 | EndSection | ||
25 | |||
26 | Section "ServerLayout" | ||
27 | Identifier "Builtin Default Layout" | ||
28 | Screen "Builtin Default fbdev Screen 0" | ||
29 | EndSection | ||
diff --git a/meta-oe/recipes-graphics/xorg-xserver/xserver-xorg-conf/archos5it/xorg.conf b/meta-oe/recipes-graphics/xorg-xserver/xserver-xorg-conf/archos5it/xorg.conf new file mode 100644 index 000000000..983bb0823 --- /dev/null +++ b/meta-oe/recipes-graphics/xorg-xserver/xserver-xorg-conf/archos5it/xorg.conf | |||
@@ -0,0 +1,29 @@ | |||
1 | Section "Module" | ||
2 | Load "extmod" | ||
3 | Load "dbe" | ||
4 | Load "glx" | ||
5 | Load "freetype" | ||
6 | Load "type1" | ||
7 | Load "record" | ||
8 | Load "dri" | ||
9 | EndSection | ||
10 | |||
11 | Section "Monitor" | ||
12 | Identifier "Builtin Default Monitor" | ||
13 | EndSection | ||
14 | |||
15 | Section "Device" | ||
16 | Identifier "Builtin Default fbdev Device 0" | ||
17 | Driver "omapfb" | ||
18 | EndSection | ||
19 | |||
20 | Section "Screen" | ||
21 | Identifier "Builtin Default fbdev Screen 0" | ||
22 | Device "Builtin Default fbdev Device 0" | ||
23 | Monitor "Builtin Default Monitor" | ||
24 | EndSection | ||
25 | |||
26 | Section "ServerLayout" | ||
27 | Identifier "Builtin Default Layout" | ||
28 | Screen "Builtin Default fbdev Screen 0" | ||
29 | EndSection | ||
diff --git a/meta-oe/recipes-graphics/xorg-xserver/xserver-xorg-conf/at91sam9263ek/xorg.conf b/meta-oe/recipes-graphics/xorg-xserver/xserver-xorg-conf/at91sam9263ek/xorg.conf new file mode 100644 index 000000000..7f3eb7797 --- /dev/null +++ b/meta-oe/recipes-graphics/xorg-xserver/xserver-xorg-conf/at91sam9263ek/xorg.conf | |||
@@ -0,0 +1,11 @@ | |||
1 | Section "ServerLayout" | ||
2 | Identifier "default" | ||
3 | InputDevice "atmel-ts" "CorePointer" | ||
4 | EndSection | ||
5 | |||
6 | Section "InputDevice" | ||
7 | Identifier "atmel-ts" | ||
8 | Driver "evdev" | ||
9 | Option "SwapAxes" "1" | ||
10 | Option "Device" "/dev/input/touchscreen0" | ||
11 | EndSection | ||
diff --git a/meta-oe/recipes-graphics/xorg-xserver/xserver-xorg-conf/at91sam9g45ek/xorg.conf b/meta-oe/recipes-graphics/xorg-xserver/xserver-xorg-conf/at91sam9g45ek/xorg.conf new file mode 100644 index 000000000..0502f8737 --- /dev/null +++ b/meta-oe/recipes-graphics/xorg-xserver/xserver-xorg-conf/at91sam9g45ek/xorg.conf | |||
@@ -0,0 +1,23 @@ | |||
1 | Section "ServerLayout" | ||
2 | Identifier "default" | ||
3 | InputDevice "atmel-tsadcc" "CorePointer" | ||
4 | EndSection | ||
5 | |||
6 | Section "InputDevice" | ||
7 | Identifier "atmel-tsadcc" | ||
8 | Driver "evdev" | ||
9 | Option "Device" "/dev/input/touchscreen0" | ||
10 | EndSection | ||
11 | |||
12 | Section "InputDevice" | ||
13 | Driver "mouse" | ||
14 | Identifier "Mouse[1]" | ||
15 | Option "Buttons" "10" | ||
16 | Option "Device" "/dev/input/mice" | ||
17 | EndSection | ||
18 | |||
19 | Section "InputDevice" | ||
20 | Driver "kbd" | ||
21 | Identifier "Keyboard[0]" | ||
22 | Option "Protocol" "Standard" | ||
23 | EndSection | ||
diff --git a/meta-oe/recipes-graphics/xorg-xserver/xserver-xorg-conf/babbage/xorg.conf b/meta-oe/recipes-graphics/xorg-xserver/xserver-xorg-conf/babbage/xorg.conf new file mode 100644 index 000000000..d4d41db42 --- /dev/null +++ b/meta-oe/recipes-graphics/xorg-xserver/xserver-xorg-conf/babbage/xorg.conf | |||
@@ -0,0 +1,56 @@ | |||
1 | # | ||
2 | # X11 configuration for i.MX51 Babbage EVK | ||
3 | # Based on pm9263 by Koan sas | ||
4 | # | ||
5 | |||
6 | Section "Monitor" | ||
7 | Identifier "Display" | ||
8 | EndSection | ||
9 | |||
10 | Section "Device" | ||
11 | Identifier "fbdevice" | ||
12 | Driver "fbdev" | ||
13 | Option "fbdev" "/dev/fb0" | ||
14 | Option "shadowfb" "true" | ||
15 | EndSection | ||
16 | |||
17 | Section "Screen" | ||
18 | Identifier "fbscreen" | ||
19 | Device "fbdevice" | ||
20 | Monitor "Display" | ||
21 | EndSection | ||
22 | |||
23 | Section "InputDevice" | ||
24 | Identifier "mxc_ts" | ||
25 | Driver "evdev" | ||
26 | Option "SwapAxes" "0" | ||
27 | Option "Device" "/dev/input/touchscreen0" | ||
28 | EndSection | ||
29 | |||
30 | Section "InputDevice" | ||
31 | Identifier "Generic Mouse" | ||
32 | Driver "mouse" | ||
33 | Option "CorePointer" | ||
34 | EndSection | ||
35 | |||
36 | Section "InputDevice" | ||
37 | Identifier "Keypad" | ||
38 | Driver "evdev" | ||
39 | Option "Device" "/dev/input/event0" | ||
40 | # Option "XkbModel" "nokiarx51" | ||
41 | # Option "XkbLayout" "us" | ||
42 | EndSection | ||
43 | |||
44 | Section "ServerLayout" | ||
45 | Identifier "Layout" | ||
46 | Screen "fbscreen" | ||
47 | InputDevice "mxc_ts" "CorePointer" | ||
48 | InputDevice "Keypad" | ||
49 | # Enable mouse only if necessary, it may interfere with touchscreen behaviour | ||
50 | # InputDevice "Generic Mouse" | ||
51 | EndSection | ||
52 | |||
53 | #Section "ServerFlags" | ||
54 | # Option "AutoAddDevices" "false" | ||
55 | #EndSection | ||
56 | |||
diff --git a/meta-oe/recipes-graphics/xorg-xserver/xserver-xorg-conf/beagleboard/xorg.conf b/meta-oe/recipes-graphics/xorg-xserver/xserver-xorg-conf/beagleboard/xorg.conf new file mode 100644 index 000000000..983bb0823 --- /dev/null +++ b/meta-oe/recipes-graphics/xorg-xserver/xserver-xorg-conf/beagleboard/xorg.conf | |||
@@ -0,0 +1,29 @@ | |||
1 | Section "Module" | ||
2 | Load "extmod" | ||
3 | Load "dbe" | ||
4 | Load "glx" | ||
5 | Load "freetype" | ||
6 | Load "type1" | ||
7 | Load "record" | ||
8 | Load "dri" | ||
9 | EndSection | ||
10 | |||
11 | Section "Monitor" | ||
12 | Identifier "Builtin Default Monitor" | ||
13 | EndSection | ||
14 | |||
15 | Section "Device" | ||
16 | Identifier "Builtin Default fbdev Device 0" | ||
17 | Driver "omapfb" | ||
18 | EndSection | ||
19 | |||
20 | Section "Screen" | ||
21 | Identifier "Builtin Default fbdev Screen 0" | ||
22 | Device "Builtin Default fbdev Device 0" | ||
23 | Monitor "Builtin Default Monitor" | ||
24 | EndSection | ||
25 | |||
26 | Section "ServerLayout" | ||
27 | Identifier "Builtin Default Layout" | ||
28 | Screen "Builtin Default fbdev Screen 0" | ||
29 | EndSection | ||
diff --git a/meta-oe/recipes-graphics/xorg-xserver/xserver-xorg-conf/bug/xorg.conf b/meta-oe/recipes-graphics/xorg-xserver/xserver-xorg-conf/bug/xorg.conf new file mode 100644 index 000000000..cf684ec17 --- /dev/null +++ b/meta-oe/recipes-graphics/xorg-xserver/xserver-xorg-conf/bug/xorg.conf | |||
@@ -0,0 +1,75 @@ | |||
1 | # | ||
2 | # Initial version of X11 configuration for BugLabs BUG device. | ||
3 | # | ||
4 | # Up to 2 LCD modules are supported (as DISPLAY=0.0/0.1). | ||
5 | # Touchscreen on both screen works properly (req tslib 0.0.6 driver). | ||
6 | # | ||
7 | # Mouse is not supported yet because the evdev driver need a precise | ||
8 | # dev node and evdev dev nodes are somewhat random | ||
9 | # | ||
10 | |||
11 | Section "Monitor" | ||
12 | Identifier "Monitor 1" | ||
13 | EndSection | ||
14 | |||
15 | Section "Monitor" | ||
16 | Identifier "Monitor 2" | ||
17 | EndSection | ||
18 | |||
19 | Section "Device" | ||
20 | Identifier "fbdev Device 2" | ||
21 | Driver "fbdev" | ||
22 | Option "fbdev" "/dev/fb2" | ||
23 | Option "shadowfb" "true" | ||
24 | EndSection | ||
25 | |||
26 | Section "Device" | ||
27 | Identifier "fbdev Device 1" | ||
28 | Driver "fbdev" | ||
29 | Option "fbdev" "/dev/fb1" | ||
30 | Option "shadowfb" "true" | ||
31 | EndSection | ||
32 | |||
33 | Section "Screen" | ||
34 | Identifier "fbdev Screen 2" | ||
35 | Device "fbdev Device 2" | ||
36 | Monitor "Monitor 2" | ||
37 | EndSection | ||
38 | |||
39 | Section "Screen" | ||
40 | Identifier "fbdev Screen 1" | ||
41 | Device "fbdev Device 1" | ||
42 | Monitor "Monitor 1" | ||
43 | EndSection | ||
44 | |||
45 | Section "ServerLayout" | ||
46 | Identifier "Layout" | ||
47 | Screen "fbdev Screen 1" | ||
48 | Screen "fbdev Screen 2" Below "fbdev Screen 1" | ||
49 | InputDevice "ts4" | ||
50 | InputDevice "ts5" | ||
51 | InputDevice "Keyboard" | ||
52 | EndSection | ||
53 | |||
54 | Section "InputDevice" | ||
55 | Identifier "ts5" | ||
56 | Driver "tslib" | ||
57 | Option "Device" "/dev/input/bmi_lcd_ts5" | ||
58 | Option "ScreenNumber" "1" | ||
59 | EndSection | ||
60 | |||
61 | Section "InputDevice" | ||
62 | Identifier "ts4" | ||
63 | Driver "tslib" | ||
64 | Option "Device" "/dev/input/bmi_lcd_ts4" | ||
65 | Option "ScreenNumber" "0" | ||
66 | EndSection | ||
67 | |||
68 | Section "InputDevice" | ||
69 | Identifier "Keyboard" | ||
70 | Driver "kbd" | ||
71 | EndSection | ||
72 | |||
73 | Section "ServerFlags" | ||
74 | Option "AutoAddDevices" "false" | ||
75 | EndSection | ||
diff --git a/meta-oe/recipes-graphics/xorg-xserver/xserver-xorg-conf/bug20/xorg.conf b/meta-oe/recipes-graphics/xorg-xserver/xserver-xorg-conf/bug20/xorg.conf new file mode 100644 index 000000000..6301d0690 --- /dev/null +++ b/meta-oe/recipes-graphics/xorg-xserver/xserver-xorg-conf/bug20/xorg.conf | |||
@@ -0,0 +1,37 @@ | |||
1 | Section "Module" | ||
2 | Load "extmod" | ||
3 | Load "dbe" | ||
4 | Load "glx" | ||
5 | Load "freetype" | ||
6 | # Load "type1" | ||
7 | # Load "record" | ||
8 | Load "dri" | ||
9 | EndSection | ||
10 | |||
11 | Section "Monitor" | ||
12 | Identifier "Builtin Default Monitor" | ||
13 | EndSection | ||
14 | |||
15 | Section "Device" | ||
16 | Identifier "Builtin Default fbdev Device 0" | ||
17 | Driver "omapfb" | ||
18 | EndSection | ||
19 | |||
20 | Section "Screen" | ||
21 | Identifier "Builtin Default fbdev Screen 0" | ||
22 | Device "Builtin Default fbdev Device 0" | ||
23 | Monitor "Builtin Default Monitor" | ||
24 | EndSection | ||
25 | |||
26 | Section "ServerLayout" | ||
27 | Identifier "Builtin Default Layout" | ||
28 | Screen "Builtin Default fbdev Screen 0" | ||
29 | InputDevice "bmi-lcd-ts" "CorePointer" | ||
30 | EndSection | ||
31 | |||
32 | Section "InputDevice" | ||
33 | Identifier "bmi-lcd-ts" | ||
34 | Driver "tslib" | ||
35 | Option "SwapAxes" "1" | ||
36 | Option "Device" "/dev/input/touchscreen0" | ||
37 | EndSection | ||
diff --git a/meta-oe/recipes-graphics/xorg-xserver/xserver-xorg-conf/cm-t35/xorg.conf b/meta-oe/recipes-graphics/xorg-xserver/xserver-xorg-conf/cm-t35/xorg.conf new file mode 100644 index 000000000..07d849d70 --- /dev/null +++ b/meta-oe/recipes-graphics/xorg-xserver/xserver-xorg-conf/cm-t35/xorg.conf | |||
@@ -0,0 +1,29 @@ | |||
1 | Section "Module" | ||
2 | Load "extmod" | ||
3 | Load "dbe" | ||
4 | Load "glx" | ||
5 | Load "freetype" | ||
6 | Load "type1" | ||
7 | Load "record" | ||
8 | Load "dri" | ||
9 | EndSection | ||
10 | |||
11 | Section "Monitor" | ||
12 | Identifier "Builtin Default Monitor" | ||
13 | EndSection | ||
14 | |||
15 | Section "Device" | ||
16 | Identifier "Builtin Default fbdev Device 0" | ||
17 | Driver "omapfb" | ||
18 | EndSection | ||
19 | |||
20 | Section "Screen" | ||
21 | Identifier "Builtin Default fbdev Screen 0" | ||
22 | Device "Builtin Default fbdev Device 0" | ||
23 | Monitor "Builtin Default Monitor" | ||
24 | EndSection | ||
25 | |||
26 | Section "ServerLayout" | ||
27 | Identifier "Builtin Default Layout" | ||
28 | Screen "Builtin Default fbdev Screen 0" | ||
29 | EndSection | ||
diff --git a/meta-oe/recipes-graphics/xorg-xserver/xserver-xorg-conf/dm37x-evm/xorg.conf b/meta-oe/recipes-graphics/xorg-xserver/xserver-xorg-conf/dm37x-evm/xorg.conf new file mode 100644 index 000000000..983bb0823 --- /dev/null +++ b/meta-oe/recipes-graphics/xorg-xserver/xserver-xorg-conf/dm37x-evm/xorg.conf | |||
@@ -0,0 +1,29 @@ | |||
1 | Section "Module" | ||
2 | Load "extmod" | ||
3 | Load "dbe" | ||
4 | Load "glx" | ||
5 | Load "freetype" | ||
6 | Load "type1" | ||
7 | Load "record" | ||
8 | Load "dri" | ||
9 | EndSection | ||
10 | |||
11 | Section "Monitor" | ||
12 | Identifier "Builtin Default Monitor" | ||
13 | EndSection | ||
14 | |||
15 | Section "Device" | ||
16 | Identifier "Builtin Default fbdev Device 0" | ||
17 | Driver "omapfb" | ||
18 | EndSection | ||
19 | |||
20 | Section "Screen" | ||
21 | Identifier "Builtin Default fbdev Screen 0" | ||
22 | Device "Builtin Default fbdev Device 0" | ||
23 | Monitor "Builtin Default Monitor" | ||
24 | EndSection | ||
25 | |||
26 | Section "ServerLayout" | ||
27 | Identifier "Builtin Default Layout" | ||
28 | Screen "Builtin Default fbdev Screen 0" | ||
29 | EndSection | ||
diff --git a/meta-oe/recipes-graphics/xorg-xserver/xserver-xorg-conf/eee701/xorg.conf b/meta-oe/recipes-graphics/xorg-xserver/xserver-xorg-conf/eee701/xorg.conf new file mode 100644 index 000000000..4ee293b79 --- /dev/null +++ b/meta-oe/recipes-graphics/xorg-xserver/xserver-xorg-conf/eee701/xorg.conf | |||
@@ -0,0 +1,97 @@ | |||
1 | Section "ServerLayout" | ||
2 | Identifier "X.org Configured" | ||
3 | Screen 0 "Screen0" 0 0 | ||
4 | InputDevice "Touchpad" | ||
5 | InputDevice "Keyboard" | ||
6 | InputDevice "Mouse" | ||
7 | Option "AllowEmptyInput" "false" | ||
8 | EndSection | ||
9 | |||
10 | Section "Files" | ||
11 | ModulePath "/usr/lib/xorg/modules" | ||
12 | FontPath "/usr/share/fonts/X11/misc" | ||
13 | EndSection | ||
14 | |||
15 | Section "Module" | ||
16 | Load "dbe" | ||
17 | Load "extmod" | ||
18 | EndSection | ||
19 | |||
20 | Section "InputDevice" | ||
21 | Identifier "Keyboard" | ||
22 | Driver "kbd" | ||
23 | Option "CoreKeyboard" | ||
24 | EndSection | ||
25 | |||
26 | Section "InputDevice" | ||
27 | Identifier "Touchpad" | ||
28 | Driver "synaptics" | ||
29 | Option "TapButton1" "1" | ||
30 | Option "CorePointer" | ||
31 | EndSection | ||
32 | |||
33 | Section "InputDevice" | ||
34 | Identifier "Mouse" | ||
35 | Driver "mouse" | ||
36 | Option "Protocol" "Auto" | ||
37 | EndSection | ||
38 | |||
39 | |||
40 | Section "Monitor" | ||
41 | Identifier "Monitor0" | ||
42 | VendorName "Monitor Vendor" | ||
43 | ModelName "Monitor Model" | ||
44 | EndSection | ||
45 | |||
46 | Section "Device" | ||
47 | ### Available Driver options are:- | ||
48 | ### Values: <i>: integer, <f>: float, <bool>: "True"/"False", | ||
49 | ### <string>: "String", <freq>: "<f> Hz/kHz/MHz" | ||
50 | ### [arg]: arg optional | ||
51 | #Option "NoAccel" # [<bool>] | ||
52 | #Option "SWcursor" # [<bool>] | ||
53 | #Option "ColorKey" # <i> | ||
54 | #Option "CacheLines" # <i> | ||
55 | #Option "Dac6Bit" # [<bool>] | ||
56 | #Option "DRI" # [<bool>] | ||
57 | #Option "NoDDC" # [<bool>] | ||
58 | #Option "ShowCache" # [<bool>] | ||
59 | #Option "XvMCSurfaces" # <i> | ||
60 | #Option "PageFlip" # [<bool>] | ||
61 | Identifier "Card0" | ||
62 | Driver "intel" | ||
63 | VendorName "Unknown Vendor" | ||
64 | BoardName "Unknown Board" | ||
65 | BusID "PCI:0:2:0" | ||
66 | EndSection | ||
67 | |||
68 | Section "Screen" | ||
69 | Identifier "Screen0" | ||
70 | Device "Card0" | ||
71 | Monitor "Monitor0" | ||
72 | SubSection "Display" | ||
73 | Viewport 0 0 | ||
74 | Depth 1 | ||
75 | EndSubSection | ||
76 | SubSection "Display" | ||
77 | Viewport 0 0 | ||
78 | Depth 4 | ||
79 | EndSubSection | ||
80 | SubSection "Display" | ||
81 | Viewport 0 0 | ||
82 | Depth 8 | ||
83 | EndSubSection | ||
84 | SubSection "Display" | ||
85 | Viewport 0 0 | ||
86 | Depth 15 | ||
87 | EndSubSection | ||
88 | SubSection "Display" | ||
89 | Viewport 0 0 | ||
90 | Depth 16 | ||
91 | EndSubSection | ||
92 | SubSection "Display" | ||
93 | Viewport 0 0 | ||
94 | Depth 24 | ||
95 | EndSubSection | ||
96 | EndSection | ||
97 | |||
diff --git a/meta-oe/recipes-graphics/xorg-xserver/xserver-xorg-conf/htcdream/xorg.conf b/meta-oe/recipes-graphics/xorg-xserver/xserver-xorg-conf/htcdream/xorg.conf new file mode 100644 index 000000000..be3c6ec54 --- /dev/null +++ b/meta-oe/recipes-graphics/xorg-xserver/xserver-xorg-conf/htcdream/xorg.conf | |||
@@ -0,0 +1,69 @@ | |||
1 | Section "Monitor" | ||
2 | Identifier "Monitor0" | ||
3 | Mode "320x480" | ||
4 | DotClock 0 | ||
5 | HTimings 320 320 320 320 | ||
6 | VTimings 480 480 480 480 | ||
7 | Flags "-HSync" "-VSync" | ||
8 | EndMode | ||
9 | EndSection | ||
10 | |||
11 | Section "Device" | ||
12 | Identifier "fbdev" | ||
13 | Driver "fbdev" | ||
14 | Option "ShadowFB" "on" | ||
15 | Option "Rotate" "CW" # comment for disabling rotation | ||
16 | EndSection | ||
17 | |||
18 | Section "Screen" | ||
19 | Identifier "Framebuffer" | ||
20 | Device "fbdev" | ||
21 | Monitor "Monitor0" | ||
22 | DefaultFbBpp 16 | ||
23 | SubSection "Display" | ||
24 | Depth 16 | ||
25 | Modes "320x480" | ||
26 | EndSubSection | ||
27 | EndSection | ||
28 | |||
29 | |||
30 | Section "ServerLayout" | ||
31 | Identifier "Builtin Default Layout" | ||
32 | Screen "Framebuffer" | ||
33 | InputDevice "Trackball" | ||
34 | InputDevice "Touchscreen" | ||
35 | InputDevice "Keyboard" | ||
36 | EndSection | ||
37 | |||
38 | Section "InputDevice" | ||
39 | Identifier "Trackball" | ||
40 | Driver "evdev" | ||
41 | Option "Device" "/dev/input/event2" | ||
42 | Option "ScreenNumber" "0" | ||
43 | Option "ReportingMode" "Raw" | ||
44 | Option "SwapAxes" "True" # comment for disabling rotation | ||
45 | Option "InvertY" "True" # comment for disabling rotation | ||
46 | EndSection | ||
47 | |||
48 | |||
49 | Section "InputDevice" | ||
50 | Identifier "Touchscreen" | ||
51 | Driver "evdev" | ||
52 | Option "Device" "/dev/input/event1" | ||
53 | Option "SwapAxes" "True" # comment for disabling rotation | ||
54 | Option "InvertY" "True" # comment for disabling rotation | ||
55 | Option "ReportingMode" "Raw" | ||
56 | EndSection | ||
57 | |||
58 | Section "InputDevice" | ||
59 | Identifier "Keyboard" | ||
60 | Driver "kbd" | ||
61 | Option "XkbLayout" "us" | ||
62 | Option "XkbModel" "htcdream" | ||
63 | EndSection | ||
64 | |||
65 | |||
66 | Section "ServerFlags" | ||
67 | Option "AutoAddDevices" "false" | ||
68 | EndSection | ||
69 | |||
diff --git a/meta-oe/recipes-graphics/xorg-xserver/xserver-xorg-conf/htcleo/xorg.conf b/meta-oe/recipes-graphics/xorg-xserver/xserver-xorg-conf/htcleo/xorg.conf new file mode 100644 index 000000000..4153a2628 --- /dev/null +++ b/meta-oe/recipes-graphics/xorg-xserver/xserver-xorg-conf/htcleo/xorg.conf | |||
@@ -0,0 +1,73 @@ | |||
1 | Section "Monitor" | ||
2 | Identifier "Monitor0" | ||
3 | Mode "480x800" | ||
4 | DotClock 0 | ||
5 | HTimings 480 480 480 480 | ||
6 | VTimings 800 800 800 800 | ||
7 | Flags "-HSync" "-VSync" | ||
8 | EndMode | ||
9 | EndSection | ||
10 | |||
11 | |||
12 | |||
13 | Section "Device" | ||
14 | Identifier "fbdev" | ||
15 | Driver "fbdev" | ||
16 | Option "ShadowFB" "on" | ||
17 | #Option "Rotate" "CW" | ||
18 | EndSection | ||
19 | |||
20 | |||
21 | Section "Screen" | ||
22 | Identifier "Framebuffer" | ||
23 | Device "fbdev" | ||
24 | Monitor "Monitor" | ||
25 | DefaultFbBpp 16 | ||
26 | SubSection "Display" | ||
27 | Depth 16 | ||
28 | Modes "480x800" | ||
29 | EndSubSection | ||
30 | EndSection | ||
31 | |||
32 | Section "Screen" | ||
33 | Identifier "480x800x16" | ||
34 | Device "fbdev" | ||
35 | Monitor "Monitor" | ||
36 | DefaultFbBpp 16 | ||
37 | SubSection "Display" | ||
38 | Depth 16 | ||
39 | Modes "480x800" | ||
40 | EndSubSection | ||
41 | EndSection | ||
42 | |||
43 | |||
44 | Section "ServerLayout" | ||
45 | Identifier "Builtin Default Layout" | ||
46 | Screen "Framebuffer" | ||
47 | InputDevice "Touchscreen" "CorePointer" | ||
48 | InputDevice "Keyboard" "CoreKeyboard" | ||
49 | EndSection | ||
50 | |||
51 | Section "InputDevice" | ||
52 | Identifier "Mouse0" | ||
53 | Driver "mouse" | ||
54 | Option "Protocol" "auto" | ||
55 | Option "Device" "/dev/input/mice" | ||
56 | Option "Emulate3Buttons" "no" | ||
57 | Option "ZAxisMapping" "4 5" | ||
58 | EndSection | ||
59 | |||
60 | |||
61 | Section "InputDevice" | ||
62 | Identifier "Touchscreen" | ||
63 | Driver "tslib" | ||
64 | Option "Protocol" "auto" | ||
65 | Option "Device" "/dev/input/event0" | ||
66 | Option "CorePointer" "true" | ||
67 | EndSection | ||
68 | |||
69 | Section "InputDevice" | ||
70 | Identifier "Keyboard" | ||
71 | Driver "kbd" | ||
72 | Option "XkbLayout" "en_US" | ||
73 | EndSection | ||
diff --git a/meta-oe/recipes-graphics/xorg-xserver/xserver-xorg-conf/igep0020/xorg.conf b/meta-oe/recipes-graphics/xorg-xserver/xserver-xorg-conf/igep0020/xorg.conf new file mode 100644 index 000000000..07d849d70 --- /dev/null +++ b/meta-oe/recipes-graphics/xorg-xserver/xserver-xorg-conf/igep0020/xorg.conf | |||
@@ -0,0 +1,29 @@ | |||
1 | Section "Module" | ||
2 | Load "extmod" | ||
3 | Load "dbe" | ||
4 | Load "glx" | ||
5 | Load "freetype" | ||
6 | Load "type1" | ||
7 | Load "record" | ||
8 | Load "dri" | ||
9 | EndSection | ||
10 | |||
11 | Section "Monitor" | ||
12 | Identifier "Builtin Default Monitor" | ||
13 | EndSection | ||
14 | |||
15 | Section "Device" | ||
16 | Identifier "Builtin Default fbdev Device 0" | ||
17 | Driver "omapfb" | ||
18 | EndSection | ||
19 | |||
20 | Section "Screen" | ||
21 | Identifier "Builtin Default fbdev Screen 0" | ||
22 | Device "Builtin Default fbdev Device 0" | ||
23 | Monitor "Builtin Default Monitor" | ||
24 | EndSection | ||
25 | |||
26 | Section "ServerLayout" | ||
27 | Identifier "Builtin Default Layout" | ||
28 | Screen "Builtin Default fbdev Screen 0" | ||
29 | EndSection | ||
diff --git a/meta-oe/recipes-graphics/xorg-xserver/xserver-xorg-conf/ion/xorg.conf b/meta-oe/recipes-graphics/xorg-xserver/xserver-xorg-conf/ion/xorg.conf new file mode 100644 index 000000000..95a15235b --- /dev/null +++ b/meta-oe/recipes-graphics/xorg-xserver/xserver-xorg-conf/ion/xorg.conf | |||
@@ -0,0 +1,51 @@ | |||
1 | # xorg.conf (X.Org X Window System server configuration file) | ||
2 | # | ||
3 | # This file was generated by dexconf, the Debian X Configuration tool, using | ||
4 | # values from the debconf database. | ||
5 | # | ||
6 | # Edit this file with caution, and see the xorg.conf manual page. | ||
7 | # (Type "man xorg.conf" at the shell prompt.) | ||
8 | # | ||
9 | # This file is automatically updated on xserver-xorg package upgrades *only* | ||
10 | # if it has not been modified since the last upgrade of the xserver-xorg | ||
11 | # package. | ||
12 | # | ||
13 | # Note that some configuration settings that could be done previously | ||
14 | # in this file, now are automatically configured by the server and settings | ||
15 | # here are ignored. | ||
16 | # | ||
17 | # If you have edited this file but would like it to be automatically updated | ||
18 | # again, run the following command: | ||
19 | # sudo dpkg-reconfigure -phigh xserver-xorg | ||
20 | |||
21 | Section "Device" | ||
22 | Identifier "NVidia" | ||
23 | Driver "nvidia" | ||
24 | # Option "NoLogo" "True" | ||
25 | EndSection | ||
26 | |||
27 | Section "Monitor" | ||
28 | Identifier "DELL 2007WFP" | ||
29 | # Option "DPMS" | ||
30 | HorizSync 30.0-83.0 | ||
31 | VertRefresh 56.0-76.0 | ||
32 | ModeLine "1680x1050" 119.0 1680 1728 1760 1840 1050 1053 1059 1080 -HSync +VSync | ||
33 | EndSection | ||
34 | |||
35 | Section "Screen" | ||
36 | Identifier "Default Screen" | ||
37 | Device "NVidia" | ||
38 | Monitor "DELL 2007WFP" | ||
39 | DefaultDepth 24 | ||
40 | SubSection "Display" | ||
41 | Depth 24 | ||
42 | Modes "1680x1050" | ||
43 | ViewPort 0 0 | ||
44 | EndSubSection | ||
45 | EndSection | ||
46 | |||
47 | Section "Module" | ||
48 | Load "glx" | ||
49 | EndSection | ||
50 | |||
51 | |||
diff --git a/meta-oe/recipes-graphics/xorg-xserver/xserver-xorg-conf/iphone3g/xorg.conf b/meta-oe/recipes-graphics/xorg-xserver/xserver-xorg-conf/iphone3g/xorg.conf new file mode 100644 index 000000000..83ac9c148 --- /dev/null +++ b/meta-oe/recipes-graphics/xorg-xserver/xserver-xorg-conf/iphone3g/xorg.conf | |||
@@ -0,0 +1,29 @@ | |||
1 | Section "Device" | ||
2 | Identifier "Builtin Default fbdev Device 0" | ||
3 | Driver "fbdev" | ||
4 | Option "ShadowFB" "on" | ||
5 | EndSection | ||
6 | |||
7 | Section "Screen" | ||
8 | Identifier "Builtin Default fbdev Screen 0" | ||
9 | Device "Builtin Default fbdev Device 0" | ||
10 | EndSection | ||
11 | |||
12 | |||
13 | Section "InputDevice" | ||
14 | Identifier "touchscreen" | ||
15 | Driver "evdev" | ||
16 | Option "Device" "/dev/input/event2" | ||
17 | Option "ReportingMode" "Raw" | ||
18 | Option "SendCoreEvents" "On" | ||
19 | Option "GrabDevices" "True" | ||
20 | Option "InvertY" "0" | ||
21 | Option "SwapAxes" "0" | ||
22 | EndSection | ||
23 | |||
24 | |||
25 | Section "ServerLayout" | ||
26 | Identifier "Builtin Default Layout" | ||
27 | Screen "Builtin Default fbdev Screen 0" | ||
28 | InputDevice "touchscreen" "CorePointer" "AlwaysCore" | ||
29 | EndSection | ||
diff --git a/meta-oe/recipes-graphics/xorg-xserver/xserver-xorg-conf/mh355/xorg.conf b/meta-oe/recipes-graphics/xorg-xserver/xserver-xorg-conf/mh355/xorg.conf new file mode 100644 index 000000000..4c275c9dc --- /dev/null +++ b/meta-oe/recipes-graphics/xorg-xserver/xserver-xorg-conf/mh355/xorg.conf | |||
@@ -0,0 +1,47 @@ | |||
1 | # | ||
2 | # X11 configuration for Microhard MH355 device | ||
3 | # (C)2010 Koan sas - www.KoanSoftware.com | ||
4 | # | ||
5 | |||
6 | Section "Monitor" | ||
7 | Identifier "Display" | ||
8 | EndSection | ||
9 | |||
10 | Section "Device" | ||
11 | Identifier "fbdevice" | ||
12 | Driver "fbdev" | ||
13 | Option "fbdev" "/dev/fb0" | ||
14 | Option "shadowfb" "true" | ||
15 | EndSection | ||
16 | |||
17 | Section "Screen" | ||
18 | Identifier "fbscreen" | ||
19 | Device "fbdevice" | ||
20 | Monitor "Display" | ||
21 | EndSection | ||
22 | |||
23 | Section "InputDevice" | ||
24 | Identifier "mh355-ts" | ||
25 | Driver "evdev" | ||
26 | Option "SwapAxes" "1" | ||
27 | Option "Device" "/dev/input/touchscreen0" | ||
28 | EndSection | ||
29 | |||
30 | Section "InputDevice" | ||
31 | Identifier "Generic Mouse" | ||
32 | Driver "mouse" | ||
33 | Option "CorePointer" | ||
34 | EndSection | ||
35 | |||
36 | Section "ServerLayout" | ||
37 | Identifier "Layout" | ||
38 | Screen "fbscreen" | ||
39 | InputDevice "mh355-ts" "CorePointer" | ||
40 | # Enable mouse only if necessary, it may interfere with touchscreen behaviour | ||
41 | # InputDevice "Generic Mouse" | ||
42 | EndSection | ||
43 | |||
44 | Section "ServerFlags" | ||
45 | Option "AutoAddDevices" "false" | ||
46 | EndSection | ||
47 | |||
diff --git a/meta-oe/recipes-graphics/xorg-xserver/xserver-xorg-conf/nokia800/xorg.conf b/meta-oe/recipes-graphics/xorg-xserver/xserver-xorg-conf/nokia800/xorg.conf new file mode 100644 index 000000000..983bb0823 --- /dev/null +++ b/meta-oe/recipes-graphics/xorg-xserver/xserver-xorg-conf/nokia800/xorg.conf | |||
@@ -0,0 +1,29 @@ | |||
1 | Section "Module" | ||
2 | Load "extmod" | ||
3 | Load "dbe" | ||
4 | Load "glx" | ||
5 | Load "freetype" | ||
6 | Load "type1" | ||
7 | Load "record" | ||
8 | Load "dri" | ||
9 | EndSection | ||
10 | |||
11 | Section "Monitor" | ||
12 | Identifier "Builtin Default Monitor" | ||
13 | EndSection | ||
14 | |||
15 | Section "Device" | ||
16 | Identifier "Builtin Default fbdev Device 0" | ||
17 | Driver "omapfb" | ||
18 | EndSection | ||
19 | |||
20 | Section "Screen" | ||
21 | Identifier "Builtin Default fbdev Screen 0" | ||
22 | Device "Builtin Default fbdev Device 0" | ||
23 | Monitor "Builtin Default Monitor" | ||
24 | EndSection | ||
25 | |||
26 | Section "ServerLayout" | ||
27 | Identifier "Builtin Default Layout" | ||
28 | Screen "Builtin Default fbdev Screen 0" | ||
29 | EndSection | ||
diff --git a/meta-oe/recipes-graphics/xorg-xserver/xserver-xorg-conf/nokia900/xorg.conf b/meta-oe/recipes-graphics/xorg-xserver/xserver-xorg-conf/nokia900/xorg.conf new file mode 100644 index 000000000..d9d742ffb --- /dev/null +++ b/meta-oe/recipes-graphics/xorg-xserver/xserver-xorg-conf/nokia900/xorg.conf | |||
@@ -0,0 +1,62 @@ | |||
1 | Section "Module" | ||
2 | Load "extmod" | ||
3 | Load "dbe" | ||
4 | Load "glx" | ||
5 | Load "freetype" | ||
6 | Load "type1" | ||
7 | Load "record" | ||
8 | Load "dri" | ||
9 | EndSection | ||
10 | |||
11 | Section "Monitor" | ||
12 | Identifier "Default Monitor" | ||
13 | EndSection | ||
14 | |||
15 | Section "Device" | ||
16 | Identifier "Default omapfb Device" | ||
17 | Driver "omapfb" | ||
18 | Option "fb" "/dev/fb0" | ||
19 | |||
20 | EndSection | ||
21 | |||
22 | Section "InputDevice" | ||
23 | Identifier "gpio-keys" | ||
24 | Driver "evdev" | ||
25 | Option "Device" "/dev/input/event0" | ||
26 | EndSection | ||
27 | |||
28 | Section "InputDevice" | ||
29 | Identifier "twl4030_pwrbutton" | ||
30 | Driver "evdev" | ||
31 | Option "Device" "/dev/input/event3" | ||
32 | EndSection | ||
33 | |||
34 | |||
35 | Section "InputDevice" | ||
36 | Identifier "Keyboard" | ||
37 | Driver "evdev" | ||
38 | Option "Device" "/dev/input/event1" | ||
39 | Option "XkbModel" "nokiarx51" | ||
40 | Option "XkbLayout" "us" | ||
41 | Option "CoreKeyboard" | ||
42 | EndSection | ||
43 | |||
44 | Section "InputDevice" | ||
45 | Identifier "Touchscreen" | ||
46 | Driver "evdev" | ||
47 | Option "Device" "/dev/input/event2" | ||
48 | EndSection | ||
49 | |||
50 | Section "Screen" | ||
51 | Identifier "Default Screen" | ||
52 | Device "Default omapfb Device" | ||
53 | EndSection | ||
54 | |||
55 | Section "ServerLayout" | ||
56 | Identifier "Default Layout" | ||
57 | Screen "Default Screen" | ||
58 | InputDevice "Touchscreen" | ||
59 | InputDevice "Keyboard" | ||
60 | InputDevice "gpio-keys" | ||
61 | InputDevice "twl4030_pwrbutton" | ||
62 | EndSection | ||
diff --git a/meta-oe/recipes-graphics/xorg-xserver/xserver-xorg-conf/om-gta01/xorg.conf b/meta-oe/recipes-graphics/xorg-xserver/xserver-xorg-conf/om-gta01/xorg.conf new file mode 100644 index 000000000..edb5e0ee4 --- /dev/null +++ b/meta-oe/recipes-graphics/xorg-xserver/xserver-xorg-conf/om-gta01/xorg.conf | |||
@@ -0,0 +1,49 @@ | |||
1 | Section "Monitor" | ||
2 | Identifier "LCD Panel" | ||
3 | EndSection | ||
4 | |||
5 | |||
6 | Section "Device" | ||
7 | Identifier "Fbdev" | ||
8 | Driver "fbdev" | ||
9 | EndSection | ||
10 | |||
11 | |||
12 | Section "Screen" | ||
13 | Identifier "Default Screen" | ||
14 | Device "Fbdev" | ||
15 | Monitor "LCD Panel" | ||
16 | EndSection | ||
17 | |||
18 | |||
19 | Section "InputDevice" | ||
20 | Identifier "Power Button" | ||
21 | Driver "evdev" | ||
22 | Option "Device" "/dev/input/event2" | ||
23 | EndSection | ||
24 | |||
25 | |||
26 | Section "InputDevice" | ||
27 | Identifier "AUX Button" | ||
28 | Driver "evdev" | ||
29 | Option "Device" "/dev/input/event0" | ||
30 | EndSection | ||
31 | |||
32 | |||
33 | Section "InputDevice" | ||
34 | Identifier "Touchscreen" | ||
35 | Driver "evdev" | ||
36 | Option "Device" "/dev/input/event1" | ||
37 | EndSection | ||
38 | |||
39 | Section "ServerFlags" | ||
40 | Option "AutoAddDevices" "False" | ||
41 | EndSection | ||
42 | |||
43 | Section "ServerLayout" | ||
44 | Identifier "Default Layout" | ||
45 | Screen "Default Screen" | ||
46 | InputDevice "Power Button" | ||
47 | InputDevice "AUX Button" | ||
48 | InputDevice "Touchscreen" | ||
49 | EndSection | ||
diff --git a/meta-oe/recipes-graphics/xorg-xserver/xserver-xorg-conf/om-gta02/xorg.conf b/meta-oe/recipes-graphics/xorg-xserver/xserver-xorg-conf/om-gta02/xorg.conf new file mode 100644 index 000000000..de6ed1c14 --- /dev/null +++ b/meta-oe/recipes-graphics/xorg-xserver/xserver-xorg-conf/om-gta02/xorg.conf | |||
@@ -0,0 +1,55 @@ | |||
1 | Section "Module" | ||
2 | Load "glx" | ||
3 | Load "dri2" | ||
4 | EndSection | ||
5 | |||
6 | |||
7 | Section "Monitor" | ||
8 | Identifier "LCD Panel" | ||
9 | EndSection | ||
10 | |||
11 | |||
12 | Section "Device" | ||
13 | Identifier "Glamo Graphics Chip" | ||
14 | Driver "glamo" | ||
15 | EndSection | ||
16 | |||
17 | |||
18 | Section "Screen" | ||
19 | Identifier "Default Screen" | ||
20 | Device "Glamo Graphics Chip" | ||
21 | Monitor "LCD Panel" | ||
22 | EndSection | ||
23 | |||
24 | |||
25 | Section "InputDevice" | ||
26 | Identifier "Power Button" | ||
27 | Driver "evdev" | ||
28 | Option "Device" "/dev/input/event0" | ||
29 | EndSection | ||
30 | |||
31 | |||
32 | Section "InputDevice" | ||
33 | Identifier "AUX Button" | ||
34 | Driver "evdev" | ||
35 | Option "Device" "/dev/input/event2" | ||
36 | EndSection | ||
37 | |||
38 | |||
39 | Section "InputDevice" | ||
40 | Identifier "Touchscreen" | ||
41 | Driver "evdev" | ||
42 | Option "Device" "/dev/input/event1" | ||
43 | EndSection | ||
44 | |||
45 | Section "ServerFlags" | ||
46 | Option "AutoAddDevices" "False" | ||
47 | EndSection | ||
48 | |||
49 | Section "ServerLayout" | ||
50 | Identifier "Default Layout" | ||
51 | Screen "Default Screen" | ||
52 | InputDevice "Power Button" | ||
53 | InputDevice "AUX Button" | ||
54 | InputDevice "Touchscreen" | ||
55 | EndSection | ||
diff --git a/meta-oe/recipes-graphics/xorg-xserver/xserver-xorg-conf/omap3-pandora/xorg.conf b/meta-oe/recipes-graphics/xorg-xserver/xserver-xorg-conf/omap3-pandora/xorg.conf new file mode 100644 index 000000000..446ac9777 --- /dev/null +++ b/meta-oe/recipes-graphics/xorg-xserver/xserver-xorg-conf/omap3-pandora/xorg.conf | |||
@@ -0,0 +1,24 @@ | |||
1 | Section "Module" | ||
2 | Load "extmod" | ||
3 | Load "dbe" | ||
4 | EndSection | ||
5 | |||
6 | Section "Monitor" | ||
7 | Identifier "Builtin Default Monitor" | ||
8 | EndSection | ||
9 | |||
10 | Section "Device" | ||
11 | Identifier "Builtin Default fbdev Device 0" | ||
12 | Driver "omapfb" | ||
13 | EndSection | ||
14 | |||
15 | Section "Screen" | ||
16 | Identifier "Builtin Default fbdev Screen 0" | ||
17 | Device "Builtin Default fbdev Device 0" | ||
18 | Monitor "Builtin Default Monitor" | ||
19 | EndSection | ||
20 | |||
21 | Section "ServerLayout" | ||
22 | Identifier "Builtin Default Layout" | ||
23 | Screen "Builtin Default fbdev Screen 0" | ||
24 | EndSection | ||
diff --git a/meta-oe/recipes-graphics/xorg-xserver/xserver-xorg-conf/omap3-touchbook/xorg.conf b/meta-oe/recipes-graphics/xorg-xserver/xserver-xorg-conf/omap3-touchbook/xorg.conf new file mode 100644 index 000000000..56425abf8 --- /dev/null +++ b/meta-oe/recipes-graphics/xorg-xserver/xserver-xorg-conf/omap3-touchbook/xorg.conf | |||
@@ -0,0 +1,25 @@ | |||
1 | Section "Module" | ||
2 | Load "extmod" | ||
3 | Load "dbe" | ||
4 | EndSection | ||
5 | |||
6 | Section "Monitor" | ||
7 | Identifier "Builtin Default Monitor" | ||
8 | EndSection | ||
9 | |||
10 | Section "Device" | ||
11 | Identifier "Builtin Default fbdev Device 0" | ||
12 | Driver "fbdev" | ||
13 | Option "ShadowFB" "false" | ||
14 | EndSection | ||
15 | |||
16 | Section "Screen" | ||
17 | Identifier "Builtin Default fbdev Screen 0" | ||
18 | Device "Builtin Default fbdev Device 0" | ||
19 | Monitor "Builtin Default Monitor" | ||
20 | EndSection | ||
21 | |||
22 | Section "ServerLayout" | ||
23 | Identifier "Builtin Default Layout" | ||
24 | Screen "Builtin Default fbdev Screen 0" | ||
25 | EndSection | ||
diff --git a/meta-oe/recipes-graphics/xorg-xserver/xserver-xorg-conf/omap3/xorg.conf b/meta-oe/recipes-graphics/xorg-xserver/xserver-xorg-conf/omap3/xorg.conf new file mode 100644 index 000000000..983bb0823 --- /dev/null +++ b/meta-oe/recipes-graphics/xorg-xserver/xserver-xorg-conf/omap3/xorg.conf | |||
@@ -0,0 +1,29 @@ | |||
1 | Section "Module" | ||
2 | Load "extmod" | ||
3 | Load "dbe" | ||
4 | Load "glx" | ||
5 | Load "freetype" | ||
6 | Load "type1" | ||
7 | Load "record" | ||
8 | Load "dri" | ||
9 | EndSection | ||
10 | |||
11 | Section "Monitor" | ||
12 | Identifier "Builtin Default Monitor" | ||
13 | EndSection | ||
14 | |||
15 | Section "Device" | ||
16 | Identifier "Builtin Default fbdev Device 0" | ||
17 | Driver "omapfb" | ||
18 | EndSection | ||
19 | |||
20 | Section "Screen" | ||
21 | Identifier "Builtin Default fbdev Screen 0" | ||
22 | Device "Builtin Default fbdev Device 0" | ||
23 | Monitor "Builtin Default Monitor" | ||
24 | EndSection | ||
25 | |||
26 | Section "ServerLayout" | ||
27 | Identifier "Builtin Default Layout" | ||
28 | Screen "Builtin Default fbdev Screen 0" | ||
29 | EndSection | ||
diff --git a/meta-oe/recipes-graphics/xorg-xserver/xserver-xorg-conf/omap3evm/xorg.conf b/meta-oe/recipes-graphics/xorg-xserver/xserver-xorg-conf/omap3evm/xorg.conf new file mode 100644 index 000000000..983bb0823 --- /dev/null +++ b/meta-oe/recipes-graphics/xorg-xserver/xserver-xorg-conf/omap3evm/xorg.conf | |||
@@ -0,0 +1,29 @@ | |||
1 | Section "Module" | ||
2 | Load "extmod" | ||
3 | Load "dbe" | ||
4 | Load "glx" | ||
5 | Load "freetype" | ||
6 | Load "type1" | ||
7 | Load "record" | ||
8 | Load "dri" | ||
9 | EndSection | ||
10 | |||
11 | Section "Monitor" | ||
12 | Identifier "Builtin Default Monitor" | ||
13 | EndSection | ||
14 | |||
15 | Section "Device" | ||
16 | Identifier "Builtin Default fbdev Device 0" | ||
17 | Driver "omapfb" | ||
18 | EndSection | ||
19 | |||
20 | Section "Screen" | ||
21 | Identifier "Builtin Default fbdev Screen 0" | ||
22 | Device "Builtin Default fbdev Device 0" | ||
23 | Monitor "Builtin Default Monitor" | ||
24 | EndSection | ||
25 | |||
26 | Section "ServerLayout" | ||
27 | Identifier "Builtin Default Layout" | ||
28 | Screen "Builtin Default fbdev Screen 0" | ||
29 | EndSection | ||
diff --git a/meta-oe/recipes-graphics/xorg-xserver/xserver-xorg-conf/omapzoom/xorg.conf b/meta-oe/recipes-graphics/xorg-xserver/xserver-xorg-conf/omapzoom/xorg.conf new file mode 100644 index 000000000..983bb0823 --- /dev/null +++ b/meta-oe/recipes-graphics/xorg-xserver/xserver-xorg-conf/omapzoom/xorg.conf | |||
@@ -0,0 +1,29 @@ | |||
1 | Section "Module" | ||
2 | Load "extmod" | ||
3 | Load "dbe" | ||
4 | Load "glx" | ||
5 | Load "freetype" | ||
6 | Load "type1" | ||
7 | Load "record" | ||
8 | Load "dri" | ||
9 | EndSection | ||
10 | |||
11 | Section "Monitor" | ||
12 | Identifier "Builtin Default Monitor" | ||
13 | EndSection | ||
14 | |||
15 | Section "Device" | ||
16 | Identifier "Builtin Default fbdev Device 0" | ||
17 | Driver "omapfb" | ||
18 | EndSection | ||
19 | |||
20 | Section "Screen" | ||
21 | Identifier "Builtin Default fbdev Screen 0" | ||
22 | Device "Builtin Default fbdev Device 0" | ||
23 | Monitor "Builtin Default Monitor" | ||
24 | EndSection | ||
25 | |||
26 | Section "ServerLayout" | ||
27 | Identifier "Builtin Default Layout" | ||
28 | Screen "Builtin Default fbdev Screen 0" | ||
29 | EndSection | ||
diff --git a/meta-oe/recipes-graphics/xorg-xserver/xserver-xorg-conf/omapzoom2/xorg.conf b/meta-oe/recipes-graphics/xorg-xserver/xserver-xorg-conf/omapzoom2/xorg.conf new file mode 100644 index 000000000..983bb0823 --- /dev/null +++ b/meta-oe/recipes-graphics/xorg-xserver/xserver-xorg-conf/omapzoom2/xorg.conf | |||
@@ -0,0 +1,29 @@ | |||
1 | Section "Module" | ||
2 | Load "extmod" | ||
3 | Load "dbe" | ||
4 | Load "glx" | ||
5 | Load "freetype" | ||
6 | Load "type1" | ||
7 | Load "record" | ||
8 | Load "dri" | ||
9 | EndSection | ||
10 | |||
11 | Section "Monitor" | ||
12 | Identifier "Builtin Default Monitor" | ||
13 | EndSection | ||
14 | |||
15 | Section "Device" | ||
16 | Identifier "Builtin Default fbdev Device 0" | ||
17 | Driver "omapfb" | ||
18 | EndSection | ||
19 | |||
20 | Section "Screen" | ||
21 | Identifier "Builtin Default fbdev Screen 0" | ||
22 | Device "Builtin Default fbdev Device 0" | ||
23 | Monitor "Builtin Default Monitor" | ||
24 | EndSection | ||
25 | |||
26 | Section "ServerLayout" | ||
27 | Identifier "Builtin Default Layout" | ||
28 | Screen "Builtin Default fbdev Screen 0" | ||
29 | EndSection | ||
diff --git a/meta-oe/recipes-graphics/xorg-xserver/xserver-xorg-conf/omapzoom36x/xorg.conf b/meta-oe/recipes-graphics/xorg-xserver/xserver-xorg-conf/omapzoom36x/xorg.conf new file mode 100644 index 000000000..983bb0823 --- /dev/null +++ b/meta-oe/recipes-graphics/xorg-xserver/xserver-xorg-conf/omapzoom36x/xorg.conf | |||
@@ -0,0 +1,29 @@ | |||
1 | Section "Module" | ||
2 | Load "extmod" | ||
3 | Load "dbe" | ||
4 | Load "glx" | ||
5 | Load "freetype" | ||
6 | Load "type1" | ||
7 | Load "record" | ||
8 | Load "dri" | ||
9 | EndSection | ||
10 | |||
11 | Section "Monitor" | ||
12 | Identifier "Builtin Default Monitor" | ||
13 | EndSection | ||
14 | |||
15 | Section "Device" | ||
16 | Identifier "Builtin Default fbdev Device 0" | ||
17 | Driver "omapfb" | ||
18 | EndSection | ||
19 | |||
20 | Section "Screen" | ||
21 | Identifier "Builtin Default fbdev Screen 0" | ||
22 | Device "Builtin Default fbdev Device 0" | ||
23 | Monitor "Builtin Default Monitor" | ||
24 | EndSection | ||
25 | |||
26 | Section "ServerLayout" | ||
27 | Identifier "Builtin Default Layout" | ||
28 | Screen "Builtin Default fbdev Screen 0" | ||
29 | EndSection | ||
diff --git a/meta-oe/recipes-graphics/xorg-xserver/xserver-xorg-conf/overo/xorg.conf b/meta-oe/recipes-graphics/xorg-xserver/xserver-xorg-conf/overo/xorg.conf new file mode 100644 index 000000000..983bb0823 --- /dev/null +++ b/meta-oe/recipes-graphics/xorg-xserver/xserver-xorg-conf/overo/xorg.conf | |||
@@ -0,0 +1,29 @@ | |||
1 | Section "Module" | ||
2 | Load "extmod" | ||
3 | Load "dbe" | ||
4 | Load "glx" | ||
5 | Load "freetype" | ||
6 | Load "type1" | ||
7 | Load "record" | ||
8 | Load "dri" | ||
9 | EndSection | ||
10 | |||
11 | Section "Monitor" | ||
12 | Identifier "Builtin Default Monitor" | ||
13 | EndSection | ||
14 | |||
15 | Section "Device" | ||
16 | Identifier "Builtin Default fbdev Device 0" | ||
17 | Driver "omapfb" | ||
18 | EndSection | ||
19 | |||
20 | Section "Screen" | ||
21 | Identifier "Builtin Default fbdev Screen 0" | ||
22 | Device "Builtin Default fbdev Device 0" | ||
23 | Monitor "Builtin Default Monitor" | ||
24 | EndSection | ||
25 | |||
26 | Section "ServerLayout" | ||
27 | Identifier "Builtin Default Layout" | ||
28 | Screen "Builtin Default fbdev Screen 0" | ||
29 | EndSection | ||
diff --git a/meta-oe/recipes-graphics/xorg-xserver/xserver-xorg-conf/palmpre/xorg.conf b/meta-oe/recipes-graphics/xorg-xserver/xserver-xorg-conf/palmpre/xorg.conf new file mode 100644 index 000000000..6915b87b9 --- /dev/null +++ b/meta-oe/recipes-graphics/xorg-xserver/xserver-xorg-conf/palmpre/xorg.conf | |||
@@ -0,0 +1,58 @@ | |||
1 | Section "Module" | ||
2 | Load "extmod" | ||
3 | Load "dbe" | ||
4 | Load "freetype" | ||
5 | Load "type1" | ||
6 | Load "record" | ||
7 | Load "dri" | ||
8 | EndSection | ||
9 | |||
10 | Section "Monitor" | ||
11 | Identifier "Builtin Default Monitor" | ||
12 | EndSection | ||
13 | |||
14 | Section "Device" | ||
15 | Identifier "Builtin Default fbdev Device 0" | ||
16 | Driver "omapfb" | ||
17 | Option "fb" "/dev/fb0" | ||
18 | EndSection | ||
19 | |||
20 | Section "Screen" | ||
21 | Identifier "Builtin Default fbdev Screen 0" | ||
22 | Device "Builtin Default fbdev Device 0" | ||
23 | Monitor "Builtin Default Monitor" | ||
24 | EndSection | ||
25 | |||
26 | Section "ServerLayout" | ||
27 | Identifier "Builtin Default Layout" | ||
28 | Screen "Builtin Default fbdev Screen 0" | ||
29 | InputDevice "Touchscreen" "CorePointer" | ||
30 | EndSection | ||
31 | |||
32 | Section "InputDevice" | ||
33 | Identifier "Touchscreen" | ||
34 | Driver "evdev" | ||
35 | Option "Device" "/dev/input/event6" | ||
36 | Option "SendCoreEvents" "true" | ||
37 | Option "Protocol" "Auto" | ||
38 | Option "Width" "320" | ||
39 | Option "Height" "528" | ||
40 | Option "EmulateRightButton" "1" | ||
41 | Option "CorePointer" "true" | ||
42 | EndSection | ||
43 | |||
44 | Section "InputDevice" | ||
45 | Identifier "Keyboard" | ||
46 | Driver "palm-pre" | ||
47 | Option "Device" "/dev/input/event2" | ||
48 | Option "SendCoreEvents" "true" | ||
49 | #Option "XkbModel" "palm-pre" | ||
50 | Option "XkbLayout" "palm-pre" | ||
51 | # Option "XKbOptions" "" | ||
52 | EndSection | ||
53 | |||
54 | #Section "InputDevice" | ||
55 | # Identifier "Keyboard" | ||
56 | # Driver "evdev" | ||
57 | # Option "Device" "/dev/input/event2" | ||
58 | #EndSection | ||
diff --git a/meta-oe/recipes-graphics/xorg-xserver/xserver-xorg-conf/ronetix-pm9263/xorg.conf b/meta-oe/recipes-graphics/xorg-xserver/xserver-xorg-conf/ronetix-pm9263/xorg.conf new file mode 100644 index 000000000..d4651ad87 --- /dev/null +++ b/meta-oe/recipes-graphics/xorg-xserver/xserver-xorg-conf/ronetix-pm9263/xorg.conf | |||
@@ -0,0 +1,47 @@ | |||
1 | # | ||
2 | # X11 configuration for Ronetix PM9263 device. | ||
3 | # (C)2009-2010 Koan sas - www.KoanSoftware.com | ||
4 | # | ||
5 | |||
6 | Section "Monitor" | ||
7 | Identifier "Display" | ||
8 | EndSection | ||
9 | |||
10 | Section "Device" | ||
11 | Identifier "fbdevice" | ||
12 | Driver "fbdev" | ||
13 | Option "fbdev" "/dev/fb0" | ||
14 | Option "shadowfb" "true" | ||
15 | EndSection | ||
16 | |||
17 | Section "Screen" | ||
18 | Identifier "fbscreen" | ||
19 | Device "fbdevice" | ||
20 | Monitor "Display" | ||
21 | EndSection | ||
22 | |||
23 | Section "InputDevice" | ||
24 | Identifier "atmel-ts" | ||
25 | Driver "evdev" | ||
26 | Option "SwapAxes" "1" | ||
27 | Option "Device" "/dev/input/touchscreen0" | ||
28 | EndSection | ||
29 | |||
30 | Section "InputDevice" | ||
31 | Identifier "Generic Mouse" | ||
32 | Driver "mouse" | ||
33 | Option "CorePointer" | ||
34 | EndSection | ||
35 | |||
36 | Section "ServerLayout" | ||
37 | Identifier "Layout" | ||
38 | Screen "fbscreen" | ||
39 | InputDevice "atmel-ts" "CorePointer" | ||
40 | # Enable mouse only if necessary, it may interfere with touchscreen behaviour | ||
41 | # InputDevice "Generic Mouse" | ||
42 | EndSection | ||
43 | |||
44 | Section "ServerFlags" | ||
45 | Option "AutoAddDevices" "false" | ||
46 | EndSection | ||
47 | |||
diff --git a/meta-oe/recipes-graphics/xorg-xserver/xserver-xorg-conf/spitz/xorg.conf b/meta-oe/recipes-graphics/xorg-xserver/xserver-xorg-conf/spitz/xorg.conf new file mode 100644 index 000000000..224df5c8b --- /dev/null +++ b/meta-oe/recipes-graphics/xorg-xserver/xserver-xorg-conf/spitz/xorg.conf | |||
@@ -0,0 +1,49 @@ | |||
1 | Section "Device" | ||
2 | Identifier "Generic Video Card" | ||
3 | Driver "fbdev" | ||
4 | Option "UseFBDev" "true" | ||
5 | Option "Rotate" "CW" | ||
6 | EndSection | ||
7 | |||
8 | Section "Monitor" | ||
9 | Identifier "Generic Monitor" | ||
10 | Option "DPMS" | ||
11 | HorizSync 28-32 | ||
12 | VertRefresh 43-60 | ||
13 | EndSection | ||
14 | |||
15 | Section "Screen" | ||
16 | Identifier "Default Screen" | ||
17 | Device "Generic Video Card" | ||
18 | Monitor "Generic Monitor" | ||
19 | DefaultDepth 16 | ||
20 | SubSection "Display" | ||
21 | Depth 1 | ||
22 | Modes "640x480" | ||
23 | EndSubSection | ||
24 | SubSection "Display" | ||
25 | Depth 4 | ||
26 | Modes "640x480" | ||
27 | EndSubSection | ||
28 | SubSection "Display" | ||
29 | Depth 8 | ||
30 | Modes "640x480" | ||
31 | EndSubSection | ||
32 | SubSection "Display" | ||
33 | Depth 15 | ||
34 | Modes "640x480" | ||
35 | EndSubSection | ||
36 | SubSection "Display" | ||
37 | Depth 16 | ||
38 | Modes "640x480" | ||
39 | EndSubSection | ||
40 | SubSection "Display" | ||
41 | Depth 24 | ||
42 | Modes "640x480" | ||
43 | EndSubSection | ||
44 | EndSection | ||
45 | |||
46 | Section "ServerLayout" | ||
47 | Identifier "Default Layout" | ||
48 | Screen "Default Screen" | ||
49 | EndSection | ||
diff --git a/meta-oe/recipes-graphics/xorg-xserver/xserver-xorg-conf/vortex86sx/xorg.conf b/meta-oe/recipes-graphics/xorg-xserver/xserver-xorg-conf/vortex86sx/xorg.conf new file mode 100644 index 000000000..0f03faf33 --- /dev/null +++ b/meta-oe/recipes-graphics/xorg-xserver/xserver-xorg-conf/vortex86sx/xorg.conf | |||
@@ -0,0 +1,13 @@ | |||
1 | Section "Device" | ||
2 | Identifier "Card0" | ||
3 | Driver "vesa" | ||
4 | EndSection | ||
5 | |||
6 | # SIS driver is proper one for this device but fails with misc errors. | ||
7 | #Section "Device" | ||
8 | # Identifier "Card0" | ||
9 | # Driver "sis" | ||
10 | # | ||
11 | # Disable MMX/SSE tests | ||
12 | # Option "BenchmarkMemCpy" "off" | ||
13 | #EndSection | ||
diff --git a/meta-oe/recipes-graphics/xorg-xserver/xserver-xorg-conf/xilinx-ml507/xorg.conf b/meta-oe/recipes-graphics/xorg-xserver/xserver-xorg-conf/xilinx-ml507/xorg.conf new file mode 100644 index 000000000..2950193ce --- /dev/null +++ b/meta-oe/recipes-graphics/xorg-xserver/xserver-xorg-conf/xilinx-ml507/xorg.conf | |||
@@ -0,0 +1,39 @@ | |||
1 | Section "Monitor" | ||
2 | Identifier "LCD Panel" | ||
3 | EndSection | ||
4 | |||
5 | Section "Device" | ||
6 | Identifier "Xilinx frame buffer" | ||
7 | Driver "fbdev" | ||
8 | EndSection | ||
9 | |||
10 | Section "Screen" | ||
11 | Identifier "Default Screen" | ||
12 | Device "Xilinx frame buffer" | ||
13 | Monitor "LCD Panel" | ||
14 | SubSection "Display" | ||
15 | Depth 24 | ||
16 | Modes "640x480" | ||
17 | EndSubSection | ||
18 | EndSection | ||
19 | |||
20 | Section "InputDevice" | ||
21 | Identifier "Keyboard" | ||
22 | Driver "kbd" | ||
23 | # Option "XkbLayout" "es" | ||
24 | # Option "XkbModel" "pc105" | ||
25 | EndSection | ||
26 | |||
27 | Section "InputDevice" | ||
28 | Identifier "Mouse" | ||
29 | Driver "mouse" | ||
30 | Option "protocol" "auto" | ||
31 | Option "device" "/dev/input/mice" | ||
32 | EndSection | ||
33 | |||
34 | Section "ServerLayout" | ||
35 | Identifier "Default Layout" | ||
36 | Screen "Default Screen" | ||
37 | InputDevice "Keyboard" | ||
38 | InputDevice "Mouse" | ||
39 | EndSection | ||
diff --git a/meta-oe/recipes-graphics/xorg-xserver/xserver-xorg-conf/xilinx-virtex5/xorg.conf b/meta-oe/recipes-graphics/xorg-xserver/xserver-xorg-conf/xilinx-virtex5/xorg.conf new file mode 100644 index 000000000..61f0f9fcd --- /dev/null +++ b/meta-oe/recipes-graphics/xorg-xserver/xserver-xorg-conf/xilinx-virtex5/xorg.conf | |||
@@ -0,0 +1,38 @@ | |||
1 | # Xorg conf file for Xilinx platforms | ||
2 | Section "Monitor" | ||
3 | Identifier "LCD Panel" | ||
4 | EndSection | ||
5 | |||
6 | Section "Device" | ||
7 | Identifier "Xilinx frame buffer" | ||
8 | Driver "fbdev" | ||
9 | EndSection | ||
10 | |||
11 | Section "Screen" | ||
12 | Identifier "Default Screen" | ||
13 | Device "Xilinx frame buffer" | ||
14 | Monitor "LCD Panel" | ||
15 | SubSection "Display" | ||
16 | Depth 24 | ||
17 | Modes "640x480" | ||
18 | EndSubSection | ||
19 | EndSection | ||
20 | |||
21 | Section "InputDevice" | ||
22 | Identifier "Keyboard" | ||
23 | Driver "kbd" | ||
24 | EndSection | ||
25 | |||
26 | Section "InputDevice" | ||
27 | Identifier "Mouse" | ||
28 | Driver "mouse" | ||
29 | Option "protocol" "auto" | ||
30 | Option "device" "/dev/input/mice" | ||
31 | EndSection | ||
32 | |||
33 | Section "ServerLayout" | ||
34 | Identifier "Default Layout" | ||
35 | Screen 0 "Default Screen" 0 0 | ||
36 | InputDevice "Keyboard" | ||
37 | InputDevice "Mouse" | ||
38 | EndSection | ||
diff --git a/meta-oe/recipes-graphics/xorg-xserver/xserver-xorg-conf/xorg.conf b/meta-oe/recipes-graphics/xorg-xserver/xserver-xorg-conf/xorg.conf new file mode 100644 index 000000000..e69de29bb --- /dev/null +++ b/meta-oe/recipes-graphics/xorg-xserver/xserver-xorg-conf/xorg.conf | |||
diff --git a/meta-oe/recipes-graphics/xorg-xserver/xserver-xorg-conf_0.1.bb b/meta-oe/recipes-graphics/xorg-xserver/xserver-xorg-conf_0.1.bb new file mode 100644 index 000000000..ae4493d41 --- /dev/null +++ b/meta-oe/recipes-graphics/xorg-xserver/xserver-xorg-conf_0.1.bb | |||
@@ -0,0 +1,17 @@ | |||
1 | DESCRIPTION = "Machine specific xorg.conf files" | ||
2 | PR = "r43" | ||
3 | LICENSE = "MIT" | ||
4 | LIC_FILES_CHKSUM = "file://${TOPDIR}/meta-shr/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420" | ||
5 | |||
6 | SRC_URI = "file://xorg.conf" | ||
7 | |||
8 | do_install() { | ||
9 | install -d ${D}/${sysconfdir}/X11 | ||
10 | install -m 0644 ${WORKDIR}/xorg.conf ${D}/${sysconfdir}/X11/ | ||
11 | } | ||
12 | |||
13 | # Set some dependencies to make the confs actually work | ||
14 | RDEPENDS_omap3 = "xf86-video-omapfb" | ||
15 | |||
16 | CONFFILES_${PN} += "${sysconfdir}/X11/xorg.conf" | ||
17 | PACKAGE_ARCH = "${MACHINE_ARCH}" | ||
diff --git a/meta-oe/recipes-graphics/xorg-xserver/xserver-xorg_1.10.0.901.bb b/meta-oe/recipes-graphics/xorg-xserver/xserver-xorg_1.10.0.901.bb new file mode 100644 index 000000000..c1d956648 --- /dev/null +++ b/meta-oe/recipes-graphics/xorg-xserver/xserver-xorg_1.10.0.901.bb | |||
@@ -0,0 +1,29 @@ | |||
1 | # Assign it here, since the hal->udev transition happens post 1.7 in angstrom | ||
2 | DISTRO_XORG_CONFIG_MANAGER_angstrom = "udev" | ||
3 | |||
4 | require xorg-xserver-common.inc | ||
5 | |||
6 | DESCRIPTION = "the X.Org X server" | ||
7 | DEPENDS += "pixman libpciaccess openssl dri2proto glproto xorg-minimal-fonts font-util-native" | ||
8 | PE = "2" | ||
9 | PR = "${INC_PR}.0" | ||
10 | |||
11 | SRC_URI += " \ | ||
12 | file://hack-fbdev-ignore-return-mode.patch \ | ||
13 | file://hack-assume-pixman-supports-overlapped-blt.patch \ | ||
14 | " | ||
15 | SRC_URI[md5sum] = "d750cf5f6342b548b7ac2be56e9d1841" | ||
16 | SRC_URI[sha256sum] = "de18f52c35fc3d3f18c7e905296f9de5ac42dc71e4e01da9ae8e154a78c7771c" | ||
17 | |||
18 | do_install_prepend() { | ||
19 | mkdir -p ${D}/${libdir}/X11/fonts | ||
20 | } | ||
21 | |||
22 | # The NVidia driver requires Xinerama support in the X server. Ion uses it. | ||
23 | PACKAGE_ARCH_ion = "${MACHINE_ARCH}" | ||
24 | XINERAMA = "${@['--disable-xinerama','--enable-xinerama'][bb.data.getVar('MACHINE',d) in ['ion']]}" | ||
25 | |||
26 | EXTRA_OECONF += " ${CONFIG_MANAGER_OPTION} ${XINERAMA} --disable-kdrive --disable-xephyr --disable-xsdl --disable-xfake --disable-xfbdev --disable-dmx" | ||
27 | EXTRA_OECONF += " --enable-dri2 --disable-unit-tests --disable-docs --disable-devel-docs" | ||
28 | |||
29 | export LDFLAGS += " -ldl " | ||
diff --git a/meta-oe/recipes-graphics/xorg-xserver/xserver-xorg_1.9.4.bb b/meta-oe/recipes-graphics/xorg-xserver/xserver-xorg_1.9.4.bb new file mode 100644 index 000000000..086ac176f --- /dev/null +++ b/meta-oe/recipes-graphics/xorg-xserver/xserver-xorg_1.9.4.bb | |||
@@ -0,0 +1,31 @@ | |||
1 | # Assign it here, since the hal->udev transition happens post 1.7 in angstrom | ||
2 | DISTRO_XORG_CONFIG_MANAGER_angstrom = "udev" | ||
3 | |||
4 | require xorg-xserver-common.inc | ||
5 | |||
6 | DESCRIPTION = "the X.Org X server" | ||
7 | DEPENDS += "pixman libpciaccess openssl dri2proto glproto xorg-minimal-fonts font-util-native" | ||
8 | PE = "2" | ||
9 | PR = "${INC_PR}.0" | ||
10 | |||
11 | SRC_URI += " \ | ||
12 | file://dolt-fix.patch \ | ||
13 | file://randr-support.patch \ | ||
14 | file://hack-fbdev-ignore-return-mode.patch \ | ||
15 | file://hack-assume-pixman-supports-overlapped-blt.patch \ | ||
16 | " | ||
17 | SRC_URI[md5sum] = "040f091dfdfb4e335116eb0032cc690b" | ||
18 | SRC_URI[sha256sum] = "ad11047ebba58f2e37b03c70c986db3ea0cc0f1a19d2d3612713ab77b8ec2458" | ||
19 | |||
20 | do_install_prepend() { | ||
21 | mkdir -p ${D}/${libdir}/X11/fonts | ||
22 | } | ||
23 | |||
24 | # The NVidia driver requires Xinerama support in the X server. Ion uses it. | ||
25 | PACKAGE_ARCH_ion = "${MACHINE_ARCH}" | ||
26 | XINERAMA = "${@['--disable-xinerama','--enable-xinerama'][bb.data.getVar('MACHINE',d) in ['ion']]}" | ||
27 | |||
28 | EXTRA_OECONF += " ${CONFIG_MANAGER_OPTION} ${XINERAMA} --disable-kdrive --disable-xephyr --disable-xsdl --disable-xfake --disable-xfbdev --disable-dmx" | ||
29 | EXTRA_OECONF += " --enable-dri2 --disable-unit-tests --disable-docs --disable-devel-docs" | ||
30 | |||
31 | export LDFLAGS += " -ldl " | ||
diff --git a/meta-oe/recipes-graphics/xorg-xserver/xserver-xorg_git.bb b/meta-oe/recipes-graphics/xorg-xserver/xserver-xorg_git.bb new file mode 100644 index 000000000..be441a35a --- /dev/null +++ b/meta-oe/recipes-graphics/xorg-xserver/xserver-xorg_git.bb | |||
@@ -0,0 +1,38 @@ | |||
1 | # Assign it here, since the hal->udev transition happens post 1.7 in angstrom | ||
2 | DISTRO_XORG_CONFIG_MANAGER_angstrom = "udev" | ||
3 | |||
4 | require xorg-xserver-common.inc | ||
5 | |||
6 | LICENSE = "MIT-X" | ||
7 | LIC_FILES_CHKSUM = "file://COPYING;md5=74df27b6254cc88d2799b5f4f5949c00" | ||
8 | |||
9 | DESCRIPTION = "the X.Org X server" | ||
10 | DEPENDS += "pixman libpciaccess openssl dri2proto glproto xorg-minimal-fonts font-util-native" | ||
11 | PV = "1.10.0.901" | ||
12 | PR = "${INC_PR}.0" | ||
13 | PR_append = "+gitr${SRCPV}" | ||
14 | PE = "2" | ||
15 | |||
16 | #DEFAULT_PREFERENCE = "-1" | ||
17 | |||
18 | SRCREV = "1f51fe4f748b2997e466863d8387bd6791b32931" | ||
19 | SRC_URI = " \ | ||
20 | git://anongit.freedesktop.org/xorg/xserver;protocol=git;branch=server-1.10-branch \ | ||
21 | file://hack-fbdev-ignore-return-mode.patch \ | ||
22 | file://hack-assume-pixman-supports-overlapped-blt.patch \ | ||
23 | " | ||
24 | |||
25 | S = "${WORKDIR}/git" | ||
26 | |||
27 | do_install_prepend() { | ||
28 | mkdir -p ${D}/${libdir}/X11/fonts | ||
29 | } | ||
30 | |||
31 | # The NVidia driver requires Xinerama support in the X server. Ion uses it. | ||
32 | PACKAGE_ARCH_ion = "${MACHINE_ARCH}" | ||
33 | XINERAMA = "${@['--disable-xinerama','--enable-xinerama'][bb.data.getVar('MACHINE',d) in ['ion']]}" | ||
34 | |||
35 | EXTRA_OECONF += " ${CONFIG_MANAGER_OPTION} ${XINERAMA} --disable-kdrive --disable-xephyr --disable-xsdl --disable-xfake --disable-xfbdev --disable-dmx" | ||
36 | EXTRA_OECONF += " --enable-dri2 --disable-unit-tests --disable-docs --disable-devel-docs" | ||
37 | |||
38 | export LDFLAGS += " -ldl " | ||
diff --git a/meta-oe/recipes-graphics/xserver-common/xserver-common-1.34/89xTs_Calibrate.xinput_calibrator.patch b/meta-oe/recipes-graphics/xserver-common/xserver-common-1.34/89xTs_Calibrate.xinput_calibrator.patch new file mode 100644 index 000000000..c04ad961a --- /dev/null +++ b/meta-oe/recipes-graphics/xserver-common/xserver-common-1.34/89xTs_Calibrate.xinput_calibrator.patch | |||
@@ -0,0 +1,12 @@ | |||
1 | Index: xserver-common/X11/Xsession.d/89xTs_Calibrate_xinput_calibrator | ||
2 | =================================================================== | ||
3 | --- xserver-common/X11/Xsession.d/89xTs_Calibrate_xinput_calibrator (revision 0) | ||
4 | +++ xserver-common/X11/Xsession.d/89xTs_Calibrate_xinput_calibrator (revision 0) | ||
5 | @@ -0,0 +1,7 @@ | ||
6 | +#!/bin/sh | ||
7 | + | ||
8 | +if [ -e /usr/bin/xinput_calibrator_once.sh ] ; then | ||
9 | + if [ -e /etc/pointercal.xinput ] ; then | ||
10 | + /usr/bin/xinput_calibrator_once.sh | ||
11 | + fi | ||
12 | +fi | ||
diff --git a/meta-oe/recipes-graphics/xserver-common/xserver-common-1.34/89xdgautostart.sh b/meta-oe/recipes-graphics/xserver-common/xserver-common-1.34/89xdgautostart.sh new file mode 100644 index 000000000..9886f9fee --- /dev/null +++ b/meta-oe/recipes-graphics/xserver-common/xserver-common-1.34/89xdgautostart.sh | |||
@@ -0,0 +1,9 @@ | |||
1 | #!/bin/sh | ||
2 | |||
3 | XDGAUTOSTART=/etc/xdg/autostart | ||
4 | if [ -d $XDGAUTOSTART ] ; then | ||
5 | for SCRIPT in $XDGAUTOSTART/*; do | ||
6 | CMD=`grep ^Exec= $SCRIPT | cut -d '=' -f 2` | ||
7 | $CMD & | ||
8 | done | ||
9 | fi | ||
diff --git a/meta-oe/recipes-graphics/xserver-common/xserver-common-1.34/90xXWindowManager.patch b/meta-oe/recipes-graphics/xserver-common/xserver-common-1.34/90xXWindowManager.patch new file mode 100644 index 000000000..be5f5ce70 --- /dev/null +++ b/meta-oe/recipes-graphics/xserver-common/xserver-common-1.34/90xXWindowManager.patch | |||
@@ -0,0 +1,11 @@ | |||
1 | Index: xserver-common/X11/Xsession.d/90xXWindowManager | ||
2 | =================================================================== | ||
3 | --- xserver-common/X11/Xsession.d/90xXWindowManager (revision 0) | ||
4 | +++ xserver-common/X11/Xsession.d/90xXWindowManager (revision 0) | ||
5 | @@ -0,0 +1,6 @@ | ||
6 | +#!/bin/sh | ||
7 | +if [ -x $HOME/.Xsession ]; then | ||
8 | + exec $HOME/.Xsession | ||
9 | +else | ||
10 | + exec /usr/bin/x-window-manager | ||
11 | +fi | ||
diff --git a/meta-oe/recipes-graphics/xserver-common/xserver-common-1.34/Xserver.add.dpi.for.gta.patch b/meta-oe/recipes-graphics/xserver-common/xserver-common-1.34/Xserver.add.dpi.for.gta.patch new file mode 100644 index 000000000..f6e36d9e1 --- /dev/null +++ b/meta-oe/recipes-graphics/xserver-common/xserver-common-1.34/Xserver.add.dpi.for.gta.patch | |||
@@ -0,0 +1,29 @@ | |||
1 | xdpyinfo returns 96, but 285 is right value (but 280 is used as it renders 4 columns of illume icons instead of 3 and empty space) | ||
2 | |||
3 | diff -uNr xserver-common-1.33.orig//X11/xserver-common xserver-common-1.33/X11/xserver-common | ||
4 | --- xserver-common-1.33.orig//X11/xserver-common 2010-04-28 23:27:10.000000000 +0200 | ||
5 | +++ xserver-common-1.33/X11/xserver-common 2010-04-28 23:29:07.000000000 +0200 | ||
6 | @@ -133,19 +133,19 @@ | ||
7 | ARGS="$ARGS -screen ${SCREEN_SIZE}" | ||
8 | DPI="225" ;; | ||
9 | "gta01" ) | ||
10 | - DPI="285" | ||
11 | + DPI="280" | ||
12 | if [ "$XSERVER" != "Xorg" ] ; then | ||
13 | ARGS="$ARGS -screen 480x640" | ||
14 | else | ||
15 | - ARGS="$ARGS -nocursor" | ||
16 | + ARGS="$ARGS -dpi ${DPI} -nocursor" | ||
17 | fi | ||
18 | ;; | ||
19 | "gta02") | ||
20 | - DPI="285" | ||
21 | + DPI="280" | ||
22 | if [ "$XSERVER" != "Xorg" ] ; then | ||
23 | ARGS="$ARGS -screen ${SCREEN_SIZE}" | ||
24 | else | ||
25 | - ARGS="$ARGS -nocursor" | ||
26 | + ARGS="$ARGS -dpi ${DPI} -nocursor" | ||
27 | fi | ||
28 | ;; | ||
29 | "motorola_ezx_platform") | ||
diff --git a/meta-oe/recipes-graphics/xserver-common/xserver-common-1.34/Xserver.add.nocursor.for.gta.patch b/meta-oe/recipes-graphics/xserver-common/xserver-common-1.34/Xserver.add.nocursor.for.gta.patch new file mode 100644 index 000000000..bd16efc10 --- /dev/null +++ b/meta-oe/recipes-graphics/xserver-common/xserver-common-1.34/Xserver.add.nocursor.for.gta.patch | |||
@@ -0,0 +1,20 @@ | |||
1 | diff -uNr xserver-common-1.33.orig//X11/xserver-common xserver-common-1.33/X11/xserver-common | ||
2 | --- xserver-common-1.33.orig//X11/xserver-common 2010-04-28 10:44:23.000000000 +0200 | ||
3 | +++ xserver-common-1.33/X11/xserver-common 2010-04-28 10:46:41.000000000 +0200 | ||
4 | @@ -136,12 +136,16 @@ | ||
5 | DPI="285" | ||
6 | if [ "$XSERVER" != "Xorg" ] ; then | ||
7 | ARGS="$ARGS -screen 480x640" | ||
8 | + else | ||
9 | + ARGS="$ARGS -nocursor" | ||
10 | fi | ||
11 | ;; | ||
12 | "gta02") | ||
13 | DPI="285" | ||
14 | if [ "$XSERVER" != "Xorg" ] ; then | ||
15 | ARGS="$ARGS -screen ${SCREEN_SIZE}" | ||
16 | + else | ||
17 | + ARGS="$ARGS -nocursor" | ||
18 | fi | ||
19 | ;; | ||
20 | "motorola_ezx_platform") | ||
diff --git a/meta-oe/recipes-graphics/xserver-common/xserver-common-1.34/Xserver.add.xserver-system.patch b/meta-oe/recipes-graphics/xserver-common/xserver-common-1.34/Xserver.add.xserver-system.patch new file mode 100644 index 000000000..5d9d5d128 --- /dev/null +++ b/meta-oe/recipes-graphics/xserver-common/xserver-common-1.34/Xserver.add.xserver-system.patch | |||
@@ -0,0 +1,12 @@ | |||
1 | diff -uNr xserver-common-1.33.orig//X11/xserver-common xserver-common-1.33/X11/xserver-common | ||
2 | --- xserver-common-1.33.orig//X11/xserver-common 2010-04-28 23:27:10.000000000 +0200 | ||
3 | +++ xserver-common-1.33/X11/xserver-common 2010-04-28 23:29:07.000000000 +0200 | ||
4 | @@ -192,3 +196,8 @@ | ||
5 | if [ "$XSERVER" != "Xorg" ] ; then | ||
6 | ARGS="$ARGS $MOUSE" | ||
7 | fi | ||
8 | + | ||
9 | +# let a local script modify the variables | ||
10 | +if [ -e /etc/X11/xserver-system ] ; then | ||
11 | + . /etc/X11/xserver-system | ||
12 | +fi | ||
diff --git a/meta-oe/recipes-graphics/xserver-common/xserver-common-1.34/Xserver.n900.patch b/meta-oe/recipes-graphics/xserver-common/xserver-common-1.34/Xserver.n900.patch new file mode 100644 index 000000000..4d36f5f71 --- /dev/null +++ b/meta-oe/recipes-graphics/xserver-common/xserver-common-1.34/Xserver.n900.patch | |||
@@ -0,0 +1,17 @@ | |||
1 | diff -uri xserver-common-1.33.orig/X11/xserver-common xserver-common-1.33/X11/xserver-common | ||
2 | --- xserver-common-1.33.orig/X11/xserver-common 2010-09-14 17:10:35.955430177 +0200 | ||
3 | +++ xserver-common-1.33/X11/xserver-common 2010-09-14 17:17:12.484423440 +0200 | ||
4 | @@ -132,6 +132,13 @@ | ||
5 | "nokia_n800" | "nokia_rx-44" | "nokia_n770") | ||
6 | ARGS="$ARGS -screen ${SCREEN_SIZE}" | ||
7 | DPI="225" ;; | ||
8 | + "nokia_rx-51_board" ) | ||
9 | + DPI="267" | ||
10 | + if [ "$XSERVER" != "Xorg" ] ; then | ||
11 | + ARGS="$ARGS -screen ${SCREEN_SIZE}" | ||
12 | + else | ||
13 | + ARGS="$ARGS -dpi ${DPI} -nocursor" | ||
14 | + fi ;; | ||
15 | "gta01" ) | ||
16 | DPI="280" | ||
17 | if [ "$XSERVER" != "Xorg" ] ; then | ||
diff --git a/meta-oe/recipes-graphics/xserver-common/xserver-common-1.34/gplv2-license.patch b/meta-oe/recipes-graphics/xserver-common/xserver-common-1.34/gplv2-license.patch new file mode 100644 index 000000000..ec9325334 --- /dev/null +++ b/meta-oe/recipes-graphics/xserver-common/xserver-common-1.34/gplv2-license.patch | |||
@@ -0,0 +1,353 @@ | |||
1 | COPYING: add GPLv2 license file | ||
2 | |||
3 | this is a local file recipe and the license file is missing.In order | ||
4 | to pass the license checksum checking, the license file is needed. So | ||
5 | this patch add the GPLv2 license file. | ||
6 | |||
7 | Signed-off-by: Yu Ke <ke.yu@intel.com> | ||
8 | |||
9 | diff --git a/COPYING b/COPYING | ||
10 | new file mode 100644 | ||
11 | index 0000000..d511905 | ||
12 | --- /dev/null | ||
13 | +++ b/COPYING | ||
14 | @@ -0,0 +1,339 @@ | ||
15 | + GNU GENERAL PUBLIC LICENSE | ||
16 | + Version 2, June 1991 | ||
17 | + | ||
18 | + Copyright (C) 1989, 1991 Free Software Foundation, Inc., | ||
19 | + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA | ||
20 | + Everyone is permitted to copy and distribute verbatim copies | ||
21 | + of this license document, but changing it is not allowed. | ||
22 | + | ||
23 | + Preamble | ||
24 | + | ||
25 | + The licenses for most software are designed to take away your | ||
26 | +freedom to share and change it. By contrast, the GNU General Public | ||
27 | +License is intended to guarantee your freedom to share and change free | ||
28 | +software--to make sure the software is free for all its users. This | ||
29 | +General Public License applies to most of the Free Software | ||
30 | +Foundation's software and to any other program whose authors commit to | ||
31 | +using it. (Some other Free Software Foundation software is covered by | ||
32 | +the GNU Lesser General Public License instead.) You can apply it to | ||
33 | +your programs, too. | ||
34 | + | ||
35 | + When we speak of free software, we are referring to freedom, not | ||
36 | +price. Our General Public Licenses are designed to make sure that you | ||
37 | +have the freedom to distribute copies of free software (and charge for | ||
38 | +this service if you wish), that you receive source code or can get it | ||
39 | +if you want it, that you can change the software or use pieces of it | ||
40 | +in new free programs; and that you know you can do these things. | ||
41 | + | ||
42 | + To protect your rights, we need to make restrictions that forbid | ||
43 | +anyone to deny you these rights or to ask you to surrender the rights. | ||
44 | +These restrictions translate to certain responsibilities for you if you | ||
45 | +distribute copies of the software, or if you modify it. | ||
46 | + | ||
47 | + For example, if you distribute copies of such a program, whether | ||
48 | +gratis or for a fee, you must give the recipients all the rights that | ||
49 | +you have. You must make sure that they, too, receive or can get the | ||
50 | +source code. And you must show them these terms so they know their | ||
51 | +rights. | ||
52 | + | ||
53 | + We protect your rights with two steps: (1) copyright the software, and | ||
54 | +(2) offer you this license which gives you legal permission to copy, | ||
55 | +distribute and/or modify the software. | ||
56 | + | ||
57 | + Also, for each author's protection and ours, we want to make certain | ||
58 | +that everyone understands that there is no warranty for this free | ||
59 | +software. If the software is modified by someone else and passed on, we | ||
60 | +want its recipients to know that what they have is not the original, so | ||
61 | +that any problems introduced by others will not reflect on the original | ||
62 | +authors' reputations. | ||
63 | + | ||
64 | + Finally, any free program is threatened constantly by software | ||
65 | +patents. We wish to avoid the danger that redistributors of a free | ||
66 | +program will individually obtain patent licenses, in effect making the | ||
67 | +program proprietary. To prevent this, we have made it clear that any | ||
68 | +patent must be licensed for everyone's free use or not licensed at all. | ||
69 | + | ||
70 | + The precise terms and conditions for copying, distribution and | ||
71 | +modification follow. | ||
72 | + | ||
73 | + GNU GENERAL PUBLIC LICENSE | ||
74 | + TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION | ||
75 | + | ||
76 | + 0. This License applies to any program or other work which contains | ||
77 | +a notice placed by the copyright holder saying it may be distributed | ||
78 | +under the terms of this General Public License. The "Program", below, | ||
79 | +refers to any such program or work, and a "work based on the Program" | ||
80 | +means either the Program or any derivative work under copyright law: | ||
81 | +that is to say, a work containing the Program or a portion of it, | ||
82 | +either verbatim or with modifications and/or translated into another | ||
83 | +language. (Hereinafter, translation is included without limitation in | ||
84 | +the term "modification".) Each licensee is addressed as "you". | ||
85 | + | ||
86 | +Activities other than copying, distribution and modification are not | ||
87 | +covered by this License; they are outside its scope. The act of | ||
88 | +running the Program is not restricted, and the output from the Program | ||
89 | +is covered only if its contents constitute a work based on the | ||
90 | +Program (independent of having been made by running the Program). | ||
91 | +Whether that is true depends on what the Program does. | ||
92 | + | ||
93 | + 1. You may copy and distribute verbatim copies of the Program's | ||
94 | +source code as you receive it, in any medium, provided that you | ||
95 | +conspicuously and appropriately publish on each copy an appropriate | ||
96 | +copyright notice and disclaimer of warranty; keep intact all the | ||
97 | +notices that refer to this License and to the absence of any warranty; | ||
98 | +and give any other recipients of the Program a copy of this License | ||
99 | +along with the Program. | ||
100 | + | ||
101 | +You may charge a fee for the physical act of transferring a copy, and | ||
102 | +you may at your option offer warranty protection in exchange for a fee. | ||
103 | + | ||
104 | + 2. You may modify your copy or copies of the Program or any portion | ||
105 | +of it, thus forming a work based on the Program, and copy and | ||
106 | +distribute such modifications or work under the terms of Section 1 | ||
107 | +above, provided that you also meet all of these conditions: | ||
108 | + | ||
109 | + a) You must cause the modified files to carry prominent notices | ||
110 | + stating that you changed the files and the date of any change. | ||
111 | + | ||
112 | + b) You must cause any work that you distribute or publish, that in | ||
113 | + whole or in part contains or is derived from the Program or any | ||
114 | + part thereof, to be licensed as a whole at no charge to all third | ||
115 | + parties under the terms of this License. | ||
116 | + | ||
117 | + c) If the modified program normally reads commands interactively | ||
118 | + when run, you must cause it, when started running for such | ||
119 | + interactive use in the most ordinary way, to print or display an | ||
120 | + announcement including an appropriate copyright notice and a | ||
121 | + notice that there is no warranty (or else, saying that you provide | ||
122 | + a warranty) and that users may redistribute the program under | ||
123 | + these conditions, and telling the user how to view a copy of this | ||
124 | + License. (Exception: if the Program itself is interactive but | ||
125 | + does not normally print such an announcement, your work based on | ||
126 | + the Program is not required to print an announcement.) | ||
127 | + | ||
128 | +These requirements apply to the modified work as a whole. If | ||
129 | +identifiable sections of that work are not derived from the Program, | ||
130 | +and can be reasonably considered independent and separate works in | ||
131 | +themselves, then this License, and its terms, do not apply to those | ||
132 | +sections when you distribute them as separate works. But when you | ||
133 | +distribute the same sections as part of a whole which is a work based | ||
134 | +on the Program, the distribution of the whole must be on the terms of | ||
135 | +this License, whose permissions for other licensees extend to the | ||
136 | +entire whole, and thus to each and every part regardless of who wrote it. | ||
137 | + | ||
138 | +Thus, it is not the intent of this section to claim rights or contest | ||
139 | +your rights to work written entirely by you; rather, the intent is to | ||
140 | +exercise the right to control the distribution of derivative or | ||
141 | +collective works based on the Program. | ||
142 | + | ||
143 | +In addition, mere aggregation of another work not based on the Program | ||
144 | +with the Program (or with a work based on the Program) on a volume of | ||
145 | +a storage or distribution medium does not bring the other work under | ||
146 | +the scope of this License. | ||
147 | + | ||
148 | + 3. You may copy and distribute the Program (or a work based on it, | ||
149 | +under Section 2) in object code or executable form under the terms of | ||
150 | +Sections 1 and 2 above provided that you also do one of the following: | ||
151 | + | ||
152 | + a) Accompany it with the complete corresponding machine-readable | ||
153 | + source code, which must be distributed under the terms of Sections | ||
154 | + 1 and 2 above on a medium customarily used for software interchange; or, | ||
155 | + | ||
156 | + b) Accompany it with a written offer, valid for at least three | ||
157 | + years, to give any third party, for a charge no more than your | ||
158 | + cost of physically performing source distribution, a complete | ||
159 | + machine-readable copy of the corresponding source code, to be | ||
160 | + distributed under the terms of Sections 1 and 2 above on a medium | ||
161 | + customarily used for software interchange; or, | ||
162 | + | ||
163 | + c) Accompany it with the information you received as to the offer | ||
164 | + to distribute corresponding source code. (This alternative is | ||
165 | + allowed only for noncommercial distribution and only if you | ||
166 | + received the program in object code or executable form with such | ||
167 | + an offer, in accord with Subsection b above.) | ||
168 | + | ||
169 | +The source code for a work means the preferred form of the work for | ||
170 | +making modifications to it. For an executable work, complete source | ||
171 | +code means all the source code for all modules it contains, plus any | ||
172 | +associated interface definition files, plus the scripts used to | ||
173 | +control compilation and installation of the executable. However, as a | ||
174 | +special exception, the source code distributed need not include | ||
175 | +anything that is normally distributed (in either source or binary | ||
176 | +form) with the major components (compiler, kernel, and so on) of the | ||
177 | +operating system on which the executable runs, unless that component | ||
178 | +itself accompanies the executable. | ||
179 | + | ||
180 | +If distribution of executable or object code is made by offering | ||
181 | +access to copy from a designated place, then offering equivalent | ||
182 | +access to copy the source code from the same place counts as | ||
183 | +distribution of the source code, even though third parties are not | ||
184 | +compelled to copy the source along with the object code. | ||
185 | + | ||
186 | + 4. You may not copy, modify, sublicense, or distribute the Program | ||
187 | +except as expressly provided under this License. Any attempt | ||
188 | +otherwise to copy, modify, sublicense or distribute the Program is | ||
189 | +void, and will automatically terminate your rights under this License. | ||
190 | +However, parties who have received copies, or rights, from you under | ||
191 | +this License will not have their licenses terminated so long as such | ||
192 | +parties remain in full compliance. | ||
193 | + | ||
194 | + 5. You are not required to accept this License, since you have not | ||
195 | +signed it. However, nothing else grants you permission to modify or | ||
196 | +distribute the Program or its derivative works. These actions are | ||
197 | +prohibited by law if you do not accept this License. Therefore, by | ||
198 | +modifying or distributing the Program (or any work based on the | ||
199 | +Program), you indicate your acceptance of this License to do so, and | ||
200 | +all its terms and conditions for copying, distributing or modifying | ||
201 | +the Program or works based on it. | ||
202 | + | ||
203 | + 6. Each time you redistribute the Program (or any work based on the | ||
204 | +Program), the recipient automatically receives a license from the | ||
205 | +original licensor to copy, distribute or modify the Program subject to | ||
206 | +these terms and conditions. You may not impose any further | ||
207 | +restrictions on the recipients' exercise of the rights granted herein. | ||
208 | +You are not responsible for enforcing compliance by third parties to | ||
209 | +this License. | ||
210 | + | ||
211 | + 7. If, as a consequence of a court judgment or allegation of patent | ||
212 | +infringement or for any other reason (not limited to patent issues), | ||
213 | +conditions are imposed on you (whether by court order, agreement or | ||
214 | +otherwise) that contradict the conditions of this License, they do not | ||
215 | +excuse you from the conditions of this License. If you cannot | ||
216 | +distribute so as to satisfy simultaneously your obligations under this | ||
217 | +License and any other pertinent obligations, then as a consequence you | ||
218 | +may not distribute the Program at all. For example, if a patent | ||
219 | +license would not permit royalty-free redistribution of the Program by | ||
220 | +all those who receive copies directly or indirectly through you, then | ||
221 | +the only way you could satisfy both it and this License would be to | ||
222 | +refrain entirely from distribution of the Program. | ||
223 | + | ||
224 | +If any portion of this section is held invalid or unenforceable under | ||
225 | +any particular circumstance, the balance of the section is intended to | ||
226 | +apply and the section as a whole is intended to apply in other | ||
227 | +circumstances. | ||
228 | + | ||
229 | +It is not the purpose of this section to induce you to infringe any | ||
230 | +patents or other property right claims or to contest validity of any | ||
231 | +such claims; this section has the sole purpose of protecting the | ||
232 | +integrity of the free software distribution system, which is | ||
233 | +implemented by public license practices. Many people have made | ||
234 | +generous contributions to the wide range of software distributed | ||
235 | +through that system in reliance on consistent application of that | ||
236 | +system; it is up to the author/donor to decide if he or she is willing | ||
237 | +to distribute software through any other system and a licensee cannot | ||
238 | +impose that choice. | ||
239 | + | ||
240 | +This section is intended to make thoroughly clear what is believed to | ||
241 | +be a consequence of the rest of this License. | ||
242 | + | ||
243 | + 8. If the distribution and/or use of the Program is restricted in | ||
244 | +certain countries either by patents or by copyrighted interfaces, the | ||
245 | +original copyright holder who places the Program under this License | ||
246 | +may add an explicit geographical distribution limitation excluding | ||
247 | +those countries, so that distribution is permitted only in or among | ||
248 | +countries not thus excluded. In such case, this License incorporates | ||
249 | +the limitation as if written in the body of this License. | ||
250 | + | ||
251 | + 9. The Free Software Foundation may publish revised and/or new versions | ||
252 | +of the General Public License from time to time. Such new versions will | ||
253 | +be similar in spirit to the present version, but may differ in detail to | ||
254 | +address new problems or concerns. | ||
255 | + | ||
256 | +Each version is given a distinguishing version number. If the Program | ||
257 | +specifies a version number of this License which applies to it and "any | ||
258 | +later version", you have the option of following the terms and conditions | ||
259 | +either of that version or of any later version published by the Free | ||
260 | +Software Foundation. If the Program does not specify a version number of | ||
261 | +this License, you may choose any version ever published by the Free Software | ||
262 | +Foundation. | ||
263 | + | ||
264 | + 10. If you wish to incorporate parts of the Program into other free | ||
265 | +programs whose distribution conditions are different, write to the author | ||
266 | +to ask for permission. For software which is copyrighted by the Free | ||
267 | +Software Foundation, write to the Free Software Foundation; we sometimes | ||
268 | +make exceptions for this. Our decision will be guided by the two goals | ||
269 | +of preserving the free status of all derivatives of our free software and | ||
270 | +of promoting the sharing and reuse of software generally. | ||
271 | + | ||
272 | + NO WARRANTY | ||
273 | + | ||
274 | + 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY | ||
275 | +FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN | ||
276 | +OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES | ||
277 | +PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED | ||
278 | +OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF | ||
279 | +MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS | ||
280 | +TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE | ||
281 | +PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, | ||
282 | +REPAIR OR CORRECTION. | ||
283 | + | ||
284 | + 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING | ||
285 | +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR | ||
286 | +REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, | ||
287 | +INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING | ||
288 | +OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED | ||
289 | +TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY | ||
290 | +YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER | ||
291 | +PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE | ||
292 | +POSSIBILITY OF SUCH DAMAGES. | ||
293 | + | ||
294 | + END OF TERMS AND CONDITIONS | ||
295 | + | ||
296 | + How to Apply These Terms to Your New Programs | ||
297 | + | ||
298 | + If you develop a new program, and you want it to be of the greatest | ||
299 | +possible use to the public, the best way to achieve this is to make it | ||
300 | +free software which everyone can redistribute and change under these terms. | ||
301 | + | ||
302 | + To do so, attach the following notices to the program. It is safest | ||
303 | +to attach them to the start of each source file to most effectively | ||
304 | +convey the exclusion of warranty; and each file should have at least | ||
305 | +the "copyright" line and a pointer to where the full notice is found. | ||
306 | + | ||
307 | + <one line to give the program's name and a brief idea of what it does.> | ||
308 | + Copyright (C) <year> <name of author> | ||
309 | + | ||
310 | + This program is free software; you can redistribute it and/or modify | ||
311 | + it under the terms of the GNU General Public License as published by | ||
312 | + the Free Software Foundation; either version 2 of the License, or | ||
313 | + (at your option) any later version. | ||
314 | + | ||
315 | + This program is distributed in the hope that it will be useful, | ||
316 | + but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
317 | + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
318 | + GNU General Public License for more details. | ||
319 | + | ||
320 | + You should have received a copy of the GNU General Public License along | ||
321 | + with this program; if not, write to the Free Software Foundation, Inc., | ||
322 | + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. | ||
323 | + | ||
324 | +Also add information on how to contact you by electronic and paper mail. | ||
325 | + | ||
326 | +If the program is interactive, make it output a short notice like this | ||
327 | +when it starts in an interactive mode: | ||
328 | + | ||
329 | + Gnomovision version 69, Copyright (C) year name of author | ||
330 | + Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. | ||
331 | + This is free software, and you are welcome to redistribute it | ||
332 | + under certain conditions; type `show c' for details. | ||
333 | + | ||
334 | +The hypothetical commands `show w' and `show c' should show the appropriate | ||
335 | +parts of the General Public License. Of course, the commands you use may | ||
336 | +be called something other than `show w' and `show c'; they could even be | ||
337 | +mouse-clicks or menu items--whatever suits your program. | ||
338 | + | ||
339 | +You should also get your employer (if you work as a programmer) or your | ||
340 | +school, if any, to sign a "copyright disclaimer" for the program, if | ||
341 | +necessary. Here is a sample; alter the names: | ||
342 | + | ||
343 | + Yoyodyne, Inc., hereby disclaims all copyright interest in the program | ||
344 | + `Gnomovision' (which makes passes at compilers) written by James Hacker. | ||
345 | + | ||
346 | + <signature of Ty Coon>, 1 April 1989 | ||
347 | + Ty Coon, President of Vice | ||
348 | + | ||
349 | +This General Public License does not permit incorporating your program into | ||
350 | +proprietary programs. If your program is a subroutine library, you may | ||
351 | +consider it more useful to permit linking proprietary applications with the | ||
352 | +library. If this is what you want to do, use the GNU Lesser General | ||
353 | +Public License instead of this License. | ||
diff --git a/meta-oe/recipes-graphics/xserver-common/xserver-common-1.34/setDPI.sh b/meta-oe/recipes-graphics/xserver-common/xserver-common-1.34/setDPI.sh new file mode 100644 index 000000000..04a2edd6c --- /dev/null +++ b/meta-oe/recipes-graphics/xserver-common/xserver-common-1.34/setDPI.sh | |||
@@ -0,0 +1,92 @@ | |||
1 | #! /bin/sh | ||
2 | # | ||
3 | # Copyright Matthias Hentges <devel@hentges.net> (c) 2006 | ||
4 | # License: GPL (see http://www.gnu.org/licenses/gpl.txt for a copy of the license) | ||
5 | # | ||
6 | # Filename: setDPI.sh | ||
7 | # Date: 09-Apr-06 | ||
8 | |||
9 | # This script configures Xft.dpi dependent on your screens DPI. This insures that the same font-size | ||
10 | # setting of 7 can be used on all machines. | ||
11 | |||
12 | |||
13 | XDEFAULTS="/etc/X11/Xdefaults" | ||
14 | |||
15 | |||
16 | |||
17 | set_dpi() { | ||
18 | |||
19 | CURRENT_SETTING="`cat ${XDEFAULTS} | sed -n "/Xft.dpi\:/s/.*\:\(.*\)/\1/p" | sed -n "s/\ //p"`" | ||
20 | |||
21 | if test "$CURRENT_SETTING" != "$1" | ||
22 | then | ||
23 | echo "Using Xft.dpi of $SET_SCREEN_DPI for your $SCREEN_DPI DPI screen" | ||
24 | |||
25 | if grep -q "Xft.dpi" "$XDEFAULTS" | ||
26 | then | ||
27 | cat "${XDEFAULTS}" | sed "s/^Xft.dpi\:.*/Xft.dpi\: $SET_SCREEN_DPI/" > "${XDEFAULTS}_" | ||
28 | mv "${XDEFAULTS}_" "${XDEFAULTS}" | ||
29 | else | ||
30 | echo -e "Xft.dpi: $SET_SCREEN_DPI\n" >> "$XDEFAULTS" | ||
31 | fi | ||
32 | else | ||
33 | echo "Your $SCREEN_DPI DPI screen is already configured." | ||
34 | fi | ||
35 | } | ||
36 | |||
37 | set_rxvt_font() { | ||
38 | |||
39 | CURRENT_SETTING="`cat ${XDEFAULTS} | sed -n "/Rxvt\*font/s/\(.*\pixelsize=\)\(.*\)/\2/p"`" | ||
40 | |||
41 | if test "$1" -gt 100 | ||
42 | then | ||
43 | |||
44 | # Configure the rxvt font-size for your screen here: | ||
45 | test "$1" -gt 180 -a "$1" -lt "221" && RXVT_FONT_SIZE=16 | ||
46 | |||
47 | if test -z "$RXVT_FONT_SIZE" | ||
48 | then | ||
49 | echo "WARNING: No rxvt font-size configured for a $SCREEN_DPI DPI screen!" | ||
50 | echo "Defaulting to size 9" | ||
51 | RXVT_FONT_SIZE=9 | ||
52 | fi | ||
53 | |||
54 | if test "$CURRENT_SETTING" != "$RXVT_FONT_SIZE" | ||
55 | then | ||
56 | echo "Using a rxvt font-size of $RXVT_FONT_SIZE" | ||
57 | cat ${XDEFAULTS} | sed "/Rxvt\*font/s/\(.*\pixelsize\)\(=*.*\)/\1=$RXVT_FONT_SIZE/" > ${XDEFAULTS}_ | ||
58 | mv ${XDEFAULTS}_ ${XDEFAULTS} | ||
59 | else | ||
60 | echo "The rxvt font-size is already configured" | ||
61 | fi | ||
62 | fi | ||
63 | } | ||
64 | |||
65 | if test -z "$DISPLAY" | ||
66 | then | ||
67 | echo "DISPLAY is not set, aborting..." | ||
68 | exit 0 | ||
69 | fi | ||
70 | |||
71 | SCREEN_DPI="`/usr/bin/xdpyinfo | grep "dots per inch" | awk '{print $2}'| sed -n "s/\(.*\)x\(.*\)/\2/p"`" | ||
72 | |||
73 | if test -z "$SCREEN_DPI" | ||
74 | then | ||
75 | echo "WARNING: Couldn't read your screens DPI, defaulting to 100" | ||
76 | SCREEN_DPI=100 | ||
77 | fi | ||
78 | |||
79 | # Configure your screen here: | ||
80 | test "$SCREEN_DPI" -gt 180 -a "$SCREEN_DPI" -lt "221" && SET_SCREEN_DPI=160 | ||
81 | test "$SCREEN_DPI" -gt 90 -a "$SCREEN_DPI" -lt "121" && SET_SCREEN_DPI=100 | ||
82 | |||
83 | |||
84 | if test -z "$SET_SCREEN_DPI" | ||
85 | then | ||
86 | echo "WARNING: No default configuration found for your $SCREEN_DPI DPI screen!" | ||
87 | echo "Using 100 DPI" | ||
88 | SET_SCREEN_DPI=100 | ||
89 | fi | ||
90 | |||
91 | set_dpi "$SET_SCREEN_DPI" | ||
92 | set_rxvt_font "$SCREEN_DPI" | ||
diff --git a/meta-oe/recipes-graphics/xserver-common/xserver-common_1.34.bb b/meta-oe/recipes-graphics/xserver-common/xserver-common_1.34.bb new file mode 100644 index 000000000..8269205b6 --- /dev/null +++ b/meta-oe/recipes-graphics/xserver-common/xserver-common_1.34.bb | |||
@@ -0,0 +1,38 @@ | |||
1 | DESCRIPTION = "Common X11 scripts and support files" | ||
2 | LICENSE = "GPL" | ||
3 | LICENSE = "GPLv2" | ||
4 | LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe" | ||
5 | RDEPENDS_${PN} = "xmodmap xrandr xdpyinfo" | ||
6 | PR = "r0" | ||
7 | |||
8 | PACKAGE_ARCH = "all" | ||
9 | |||
10 | RCONFLICTS_${PN} = "xserver-kdrive-common" | ||
11 | RREPLACES_${PN} = "xserver-kdrive-common" | ||
12 | |||
13 | # we are using a gpe-style Makefile | ||
14 | inherit gpe | ||
15 | |||
16 | SRC_URI[md5sum] = "82f2f84cd96610e8f7b92c700cd31c14" | ||
17 | SRC_URI[sha256sum] = "cd04c33418f776b1e13fcc7af3d6bd0c7cccd03fbabd7dbcd97f88166cc34210" | ||
18 | |||
19 | SRC_URI_append = " \ | ||
20 | file://gplv2-license.patch \ | ||
21 | file://setDPI.sh \ | ||
22 | file://89xdgautostart.sh" | ||
23 | |||
24 | RDEPENDS_${PN}_append_shr = " xinput-calibrator " | ||
25 | |||
26 | SRC_URI_append_shr = " file://89xTs_Calibrate.xinput_calibrator.patch \ | ||
27 | file://90xXWindowManager.patch \ | ||
28 | file://Xserver.add.nocursor.for.gta.patch \ | ||
29 | file://Xserver.add.xserver-system.patch \ | ||
30 | file://Xserver.add.dpi.for.gta.patch \ | ||
31 | file://Xserver.n900.patch" | ||
32 | |||
33 | do_install_append() { | ||
34 | install -m 0755 "${WORKDIR}/setDPI.sh" "${D}/etc/X11/Xinit.d/50setdpi" | ||
35 | install -m 0755 "${WORKDIR}/89xdgautostart.sh" "${D}/etc/X11/Xsession.d/89xdgautostart" | ||
36 | sed -i 's:^BINDIR=.*$:BINDIR=${bindir}:' ${D}/etc/X11/xserver-common | ||
37 | } | ||
38 | |||
diff --git a/meta-oe/recipes-graphics/xserver-nodm-init/xserver-nodm-init-2.0/gplv2-license.patch b/meta-oe/recipes-graphics/xserver-nodm-init/xserver-nodm-init-2.0/gplv2-license.patch new file mode 100644 index 000000000..ec9325334 --- /dev/null +++ b/meta-oe/recipes-graphics/xserver-nodm-init/xserver-nodm-init-2.0/gplv2-license.patch | |||
@@ -0,0 +1,353 @@ | |||
1 | COPYING: add GPLv2 license file | ||
2 | |||
3 | this is a local file recipe and the license file is missing.In order | ||
4 | to pass the license checksum checking, the license file is needed. So | ||
5 | this patch add the GPLv2 license file. | ||
6 | |||
7 | Signed-off-by: Yu Ke <ke.yu@intel.com> | ||
8 | |||
9 | diff --git a/COPYING b/COPYING | ||
10 | new file mode 100644 | ||
11 | index 0000000..d511905 | ||
12 | --- /dev/null | ||
13 | +++ b/COPYING | ||
14 | @@ -0,0 +1,339 @@ | ||
15 | + GNU GENERAL PUBLIC LICENSE | ||
16 | + Version 2, June 1991 | ||
17 | + | ||
18 | + Copyright (C) 1989, 1991 Free Software Foundation, Inc., | ||
19 | + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA | ||
20 | + Everyone is permitted to copy and distribute verbatim copies | ||
21 | + of this license document, but changing it is not allowed. | ||
22 | + | ||
23 | + Preamble | ||
24 | + | ||
25 | + The licenses for most software are designed to take away your | ||
26 | +freedom to share and change it. By contrast, the GNU General Public | ||
27 | +License is intended to guarantee your freedom to share and change free | ||
28 | +software--to make sure the software is free for all its users. This | ||
29 | +General Public License applies to most of the Free Software | ||
30 | +Foundation's software and to any other program whose authors commit to | ||
31 | +using it. (Some other Free Software Foundation software is covered by | ||
32 | +the GNU Lesser General Public License instead.) You can apply it to | ||
33 | +your programs, too. | ||
34 | + | ||
35 | + When we speak of free software, we are referring to freedom, not | ||
36 | +price. Our General Public Licenses are designed to make sure that you | ||
37 | +have the freedom to distribute copies of free software (and charge for | ||
38 | +this service if you wish), that you receive source code or can get it | ||
39 | +if you want it, that you can change the software or use pieces of it | ||
40 | +in new free programs; and that you know you can do these things. | ||
41 | + | ||
42 | + To protect your rights, we need to make restrictions that forbid | ||
43 | +anyone to deny you these rights or to ask you to surrender the rights. | ||
44 | +These restrictions translate to certain responsibilities for you if you | ||
45 | +distribute copies of the software, or if you modify it. | ||
46 | + | ||
47 | + For example, if you distribute copies of such a program, whether | ||
48 | +gratis or for a fee, you must give the recipients all the rights that | ||
49 | +you have. You must make sure that they, too, receive or can get the | ||
50 | +source code. And you must show them these terms so they know their | ||
51 | +rights. | ||
52 | + | ||
53 | + We protect your rights with two steps: (1) copyright the software, and | ||
54 | +(2) offer you this license which gives you legal permission to copy, | ||
55 | +distribute and/or modify the software. | ||
56 | + | ||
57 | + Also, for each author's protection and ours, we want to make certain | ||
58 | +that everyone understands that there is no warranty for this free | ||
59 | +software. If the software is modified by someone else and passed on, we | ||
60 | +want its recipients to know that what they have is not the original, so | ||
61 | +that any problems introduced by others will not reflect on the original | ||
62 | +authors' reputations. | ||
63 | + | ||
64 | + Finally, any free program is threatened constantly by software | ||
65 | +patents. We wish to avoid the danger that redistributors of a free | ||
66 | +program will individually obtain patent licenses, in effect making the | ||
67 | +program proprietary. To prevent this, we have made it clear that any | ||
68 | +patent must be licensed for everyone's free use or not licensed at all. | ||
69 | + | ||
70 | + The precise terms and conditions for copying, distribution and | ||
71 | +modification follow. | ||
72 | + | ||
73 | + GNU GENERAL PUBLIC LICENSE | ||
74 | + TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION | ||
75 | + | ||
76 | + 0. This License applies to any program or other work which contains | ||
77 | +a notice placed by the copyright holder saying it may be distributed | ||
78 | +under the terms of this General Public License. The "Program", below, | ||
79 | +refers to any such program or work, and a "work based on the Program" | ||
80 | +means either the Program or any derivative work under copyright law: | ||
81 | +that is to say, a work containing the Program or a portion of it, | ||
82 | +either verbatim or with modifications and/or translated into another | ||
83 | +language. (Hereinafter, translation is included without limitation in | ||
84 | +the term "modification".) Each licensee is addressed as "you". | ||
85 | + | ||
86 | +Activities other than copying, distribution and modification are not | ||
87 | +covered by this License; they are outside its scope. The act of | ||
88 | +running the Program is not restricted, and the output from the Program | ||
89 | +is covered only if its contents constitute a work based on the | ||
90 | +Program (independent of having been made by running the Program). | ||
91 | +Whether that is true depends on what the Program does. | ||
92 | + | ||
93 | + 1. You may copy and distribute verbatim copies of the Program's | ||
94 | +source code as you receive it, in any medium, provided that you | ||
95 | +conspicuously and appropriately publish on each copy an appropriate | ||
96 | +copyright notice and disclaimer of warranty; keep intact all the | ||
97 | +notices that refer to this License and to the absence of any warranty; | ||
98 | +and give any other recipients of the Program a copy of this License | ||
99 | +along with the Program. | ||
100 | + | ||
101 | +You may charge a fee for the physical act of transferring a copy, and | ||
102 | +you may at your option offer warranty protection in exchange for a fee. | ||
103 | + | ||
104 | + 2. You may modify your copy or copies of the Program or any portion | ||
105 | +of it, thus forming a work based on the Program, and copy and | ||
106 | +distribute such modifications or work under the terms of Section 1 | ||
107 | +above, provided that you also meet all of these conditions: | ||
108 | + | ||
109 | + a) You must cause the modified files to carry prominent notices | ||
110 | + stating that you changed the files and the date of any change. | ||
111 | + | ||
112 | + b) You must cause any work that you distribute or publish, that in | ||
113 | + whole or in part contains or is derived from the Program or any | ||
114 | + part thereof, to be licensed as a whole at no charge to all third | ||
115 | + parties under the terms of this License. | ||
116 | + | ||
117 | + c) If the modified program normally reads commands interactively | ||
118 | + when run, you must cause it, when started running for such | ||
119 | + interactive use in the most ordinary way, to print or display an | ||
120 | + announcement including an appropriate copyright notice and a | ||
121 | + notice that there is no warranty (or else, saying that you provide | ||
122 | + a warranty) and that users may redistribute the program under | ||
123 | + these conditions, and telling the user how to view a copy of this | ||
124 | + License. (Exception: if the Program itself is interactive but | ||
125 | + does not normally print such an announcement, your work based on | ||
126 | + the Program is not required to print an announcement.) | ||
127 | + | ||
128 | +These requirements apply to the modified work as a whole. If | ||
129 | +identifiable sections of that work are not derived from the Program, | ||
130 | +and can be reasonably considered independent and separate works in | ||
131 | +themselves, then this License, and its terms, do not apply to those | ||
132 | +sections when you distribute them as separate works. But when you | ||
133 | +distribute the same sections as part of a whole which is a work based | ||
134 | +on the Program, the distribution of the whole must be on the terms of | ||
135 | +this License, whose permissions for other licensees extend to the | ||
136 | +entire whole, and thus to each and every part regardless of who wrote it. | ||
137 | + | ||
138 | +Thus, it is not the intent of this section to claim rights or contest | ||
139 | +your rights to work written entirely by you; rather, the intent is to | ||
140 | +exercise the right to control the distribution of derivative or | ||
141 | +collective works based on the Program. | ||
142 | + | ||
143 | +In addition, mere aggregation of another work not based on the Program | ||
144 | +with the Program (or with a work based on the Program) on a volume of | ||
145 | +a storage or distribution medium does not bring the other work under | ||
146 | +the scope of this License. | ||
147 | + | ||
148 | + 3. You may copy and distribute the Program (or a work based on it, | ||
149 | +under Section 2) in object code or executable form under the terms of | ||
150 | +Sections 1 and 2 above provided that you also do one of the following: | ||
151 | + | ||
152 | + a) Accompany it with the complete corresponding machine-readable | ||
153 | + source code, which must be distributed under the terms of Sections | ||
154 | + 1 and 2 above on a medium customarily used for software interchange; or, | ||
155 | + | ||
156 | + b) Accompany it with a written offer, valid for at least three | ||
157 | + years, to give any third party, for a charge no more than your | ||
158 | + cost of physically performing source distribution, a complete | ||
159 | + machine-readable copy of the corresponding source code, to be | ||
160 | + distributed under the terms of Sections 1 and 2 above on a medium | ||
161 | + customarily used for software interchange; or, | ||
162 | + | ||
163 | + c) Accompany it with the information you received as to the offer | ||
164 | + to distribute corresponding source code. (This alternative is | ||
165 | + allowed only for noncommercial distribution and only if you | ||
166 | + received the program in object code or executable form with such | ||
167 | + an offer, in accord with Subsection b above.) | ||
168 | + | ||
169 | +The source code for a work means the preferred form of the work for | ||
170 | +making modifications to it. For an executable work, complete source | ||
171 | +code means all the source code for all modules it contains, plus any | ||
172 | +associated interface definition files, plus the scripts used to | ||
173 | +control compilation and installation of the executable. However, as a | ||
174 | +special exception, the source code distributed need not include | ||
175 | +anything that is normally distributed (in either source or binary | ||
176 | +form) with the major components (compiler, kernel, and so on) of the | ||
177 | +operating system on which the executable runs, unless that component | ||
178 | +itself accompanies the executable. | ||
179 | + | ||
180 | +If distribution of executable or object code is made by offering | ||
181 | +access to copy from a designated place, then offering equivalent | ||
182 | +access to copy the source code from the same place counts as | ||
183 | +distribution of the source code, even though third parties are not | ||
184 | +compelled to copy the source along with the object code. | ||
185 | + | ||
186 | + 4. You may not copy, modify, sublicense, or distribute the Program | ||
187 | +except as expressly provided under this License. Any attempt | ||
188 | +otherwise to copy, modify, sublicense or distribute the Program is | ||
189 | +void, and will automatically terminate your rights under this License. | ||
190 | +However, parties who have received copies, or rights, from you under | ||
191 | +this License will not have their licenses terminated so long as such | ||
192 | +parties remain in full compliance. | ||
193 | + | ||
194 | + 5. You are not required to accept this License, since you have not | ||
195 | +signed it. However, nothing else grants you permission to modify or | ||
196 | +distribute the Program or its derivative works. These actions are | ||
197 | +prohibited by law if you do not accept this License. Therefore, by | ||
198 | +modifying or distributing the Program (or any work based on the | ||
199 | +Program), you indicate your acceptance of this License to do so, and | ||
200 | +all its terms and conditions for copying, distributing or modifying | ||
201 | +the Program or works based on it. | ||
202 | + | ||
203 | + 6. Each time you redistribute the Program (or any work based on the | ||
204 | +Program), the recipient automatically receives a license from the | ||
205 | +original licensor to copy, distribute or modify the Program subject to | ||
206 | +these terms and conditions. You may not impose any further | ||
207 | +restrictions on the recipients' exercise of the rights granted herein. | ||
208 | +You are not responsible for enforcing compliance by third parties to | ||
209 | +this License. | ||
210 | + | ||
211 | + 7. If, as a consequence of a court judgment or allegation of patent | ||
212 | +infringement or for any other reason (not limited to patent issues), | ||
213 | +conditions are imposed on you (whether by court order, agreement or | ||
214 | +otherwise) that contradict the conditions of this License, they do not | ||
215 | +excuse you from the conditions of this License. If you cannot | ||
216 | +distribute so as to satisfy simultaneously your obligations under this | ||
217 | +License and any other pertinent obligations, then as a consequence you | ||
218 | +may not distribute the Program at all. For example, if a patent | ||
219 | +license would not permit royalty-free redistribution of the Program by | ||
220 | +all those who receive copies directly or indirectly through you, then | ||
221 | +the only way you could satisfy both it and this License would be to | ||
222 | +refrain entirely from distribution of the Program. | ||
223 | + | ||
224 | +If any portion of this section is held invalid or unenforceable under | ||
225 | +any particular circumstance, the balance of the section is intended to | ||
226 | +apply and the section as a whole is intended to apply in other | ||
227 | +circumstances. | ||
228 | + | ||
229 | +It is not the purpose of this section to induce you to infringe any | ||
230 | +patents or other property right claims or to contest validity of any | ||
231 | +such claims; this section has the sole purpose of protecting the | ||
232 | +integrity of the free software distribution system, which is | ||
233 | +implemented by public license practices. Many people have made | ||
234 | +generous contributions to the wide range of software distributed | ||
235 | +through that system in reliance on consistent application of that | ||
236 | +system; it is up to the author/donor to decide if he or she is willing | ||
237 | +to distribute software through any other system and a licensee cannot | ||
238 | +impose that choice. | ||
239 | + | ||
240 | +This section is intended to make thoroughly clear what is believed to | ||
241 | +be a consequence of the rest of this License. | ||
242 | + | ||
243 | + 8. If the distribution and/or use of the Program is restricted in | ||
244 | +certain countries either by patents or by copyrighted interfaces, the | ||
245 | +original copyright holder who places the Program under this License | ||
246 | +may add an explicit geographical distribution limitation excluding | ||
247 | +those countries, so that distribution is permitted only in or among | ||
248 | +countries not thus excluded. In such case, this License incorporates | ||
249 | +the limitation as if written in the body of this License. | ||
250 | + | ||
251 | + 9. The Free Software Foundation may publish revised and/or new versions | ||
252 | +of the General Public License from time to time. Such new versions will | ||
253 | +be similar in spirit to the present version, but may differ in detail to | ||
254 | +address new problems or concerns. | ||
255 | + | ||
256 | +Each version is given a distinguishing version number. If the Program | ||
257 | +specifies a version number of this License which applies to it and "any | ||
258 | +later version", you have the option of following the terms and conditions | ||
259 | +either of that version or of any later version published by the Free | ||
260 | +Software Foundation. If the Program does not specify a version number of | ||
261 | +this License, you may choose any version ever published by the Free Software | ||
262 | +Foundation. | ||
263 | + | ||
264 | + 10. If you wish to incorporate parts of the Program into other free | ||
265 | +programs whose distribution conditions are different, write to the author | ||
266 | +to ask for permission. For software which is copyrighted by the Free | ||
267 | +Software Foundation, write to the Free Software Foundation; we sometimes | ||
268 | +make exceptions for this. Our decision will be guided by the two goals | ||
269 | +of preserving the free status of all derivatives of our free software and | ||
270 | +of promoting the sharing and reuse of software generally. | ||
271 | + | ||
272 | + NO WARRANTY | ||
273 | + | ||
274 | + 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY | ||
275 | +FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN | ||
276 | +OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES | ||
277 | +PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED | ||
278 | +OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF | ||
279 | +MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS | ||
280 | +TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE | ||
281 | +PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, | ||
282 | +REPAIR OR CORRECTION. | ||
283 | + | ||
284 | + 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING | ||
285 | +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR | ||
286 | +REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, | ||
287 | +INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING | ||
288 | +OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED | ||
289 | +TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY | ||
290 | +YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER | ||
291 | +PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE | ||
292 | +POSSIBILITY OF SUCH DAMAGES. | ||
293 | + | ||
294 | + END OF TERMS AND CONDITIONS | ||
295 | + | ||
296 | + How to Apply These Terms to Your New Programs | ||
297 | + | ||
298 | + If you develop a new program, and you want it to be of the greatest | ||
299 | +possible use to the public, the best way to achieve this is to make it | ||
300 | +free software which everyone can redistribute and change under these terms. | ||
301 | + | ||
302 | + To do so, attach the following notices to the program. It is safest | ||
303 | +to attach them to the start of each source file to most effectively | ||
304 | +convey the exclusion of warranty; and each file should have at least | ||
305 | +the "copyright" line and a pointer to where the full notice is found. | ||
306 | + | ||
307 | + <one line to give the program's name and a brief idea of what it does.> | ||
308 | + Copyright (C) <year> <name of author> | ||
309 | + | ||
310 | + This program is free software; you can redistribute it and/or modify | ||
311 | + it under the terms of the GNU General Public License as published by | ||
312 | + the Free Software Foundation; either version 2 of the License, or | ||
313 | + (at your option) any later version. | ||
314 | + | ||
315 | + This program is distributed in the hope that it will be useful, | ||
316 | + but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
317 | + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
318 | + GNU General Public License for more details. | ||
319 | + | ||
320 | + You should have received a copy of the GNU General Public License along | ||
321 | + with this program; if not, write to the Free Software Foundation, Inc., | ||
322 | + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. | ||
323 | + | ||
324 | +Also add information on how to contact you by electronic and paper mail. | ||
325 | + | ||
326 | +If the program is interactive, make it output a short notice like this | ||
327 | +when it starts in an interactive mode: | ||
328 | + | ||
329 | + Gnomovision version 69, Copyright (C) year name of author | ||
330 | + Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. | ||
331 | + This is free software, and you are welcome to redistribute it | ||
332 | + under certain conditions; type `show c' for details. | ||
333 | + | ||
334 | +The hypothetical commands `show w' and `show c' should show the appropriate | ||
335 | +parts of the General Public License. Of course, the commands you use may | ||
336 | +be called something other than `show w' and `show c'; they could even be | ||
337 | +mouse-clicks or menu items--whatever suits your program. | ||
338 | + | ||
339 | +You should also get your employer (if you work as a programmer) or your | ||
340 | +school, if any, to sign a "copyright disclaimer" for the program, if | ||
341 | +necessary. Here is a sample; alter the names: | ||
342 | + | ||
343 | + Yoyodyne, Inc., hereby disclaims all copyright interest in the program | ||
344 | + `Gnomovision' (which makes passes at compilers) written by James Hacker. | ||
345 | + | ||
346 | + <signature of Ty Coon>, 1 April 1989 | ||
347 | + Ty Coon, President of Vice | ||
348 | + | ||
349 | +This General Public License does not permit incorporating your program into | ||
350 | +proprietary programs. If your program is a subroutine library, you may | ||
351 | +consider it more useful to permit linking proprietary applications with the | ||
352 | +library. If this is what you want to do, use the GNU Lesser General | ||
353 | +Public License instead of this License. | ||
diff --git a/meta-oe/recipes-graphics/xserver-nodm-init/xserver-nodm-init-2.0/xserver-nodm b/meta-oe/recipes-graphics/xserver-nodm-init/xserver-nodm-init-2.0/xserver-nodm new file mode 100755 index 000000000..39ce890fd --- /dev/null +++ b/meta-oe/recipes-graphics/xserver-nodm-init/xserver-nodm-init-2.0/xserver-nodm | |||
@@ -0,0 +1,44 @@ | |||
1 | #!/bin/sh | ||
2 | |||
3 | . /etc/init.d/functions | ||
4 | |||
5 | for x in $(cat /proc/cmdline); do | ||
6 | case $x in | ||
7 | x11=false) | ||
8 | echo "X Server disabled" | ||
9 | exit 0; | ||
10 | ;; | ||
11 | esac | ||
12 | done | ||
13 | |||
14 | case "$1" in | ||
15 | start) | ||
16 | # We don't want this script to block the rest of the boot process | ||
17 | if [ "$2" != "background" ]; then | ||
18 | $0 $1 background & | ||
19 | else | ||
20 | . /etc/profile | ||
21 | |||
22 | echo "Starting Xserver" | ||
23 | . /etc/X11/xserver-common | ||
24 | xinit /etc/X11/Xsession -- `which $XSERVER` $ARGS >/var/log/Xsession.log 2>&1 | ||
25 | fi | ||
26 | ;; | ||
27 | |||
28 | stop) | ||
29 | echo "Stopping XServer" | ||
30 | killproc xinit | ||
31 | ;; | ||
32 | |||
33 | restart) | ||
34 | $0 stop | ||
35 | sleep 1 | ||
36 | $0 start | ||
37 | ;; | ||
38 | |||
39 | *) | ||
40 | echo "usage: $0 { start | stop | restart }" | ||
41 | ;; | ||
42 | esac | ||
43 | |||
44 | exit 0 | ||
diff --git a/meta-oe/recipes-graphics/xserver-nodm-init/xserver-nodm-init_2.0.bb b/meta-oe/recipes-graphics/xserver-nodm-init/xserver-nodm-init_2.0.bb new file mode 100644 index 000000000..8310bcd81 --- /dev/null +++ b/meta-oe/recipes-graphics/xserver-nodm-init/xserver-nodm-init_2.0.bb | |||
@@ -0,0 +1,27 @@ | |||
1 | DESCRIPTION = "Simple Xserver Init Script (no dm)" | ||
2 | LICENSE = "GPLv2" | ||
3 | LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe" | ||
4 | SECTION = "x11" | ||
5 | PRIORITY = "optional" | ||
6 | RDEPENDS_${PN} = "xserver-common (>= 1.30) xinit" | ||
7 | DEFAULT_PREFERENCE = "-1" | ||
8 | PR = "r4" | ||
9 | |||
10 | SRC_URI = "file://xserver-nodm \ | ||
11 | file://gplv2-license.patch \ | ||
12 | " | ||
13 | S = ${WORKDIR} | ||
14 | |||
15 | PACKAGE_ARCH = "all" | ||
16 | |||
17 | do_install() { | ||
18 | install -d ${D}/etc | ||
19 | install -d ${D}/etc/init.d | ||
20 | install xserver-nodm ${D}/etc/init.d | ||
21 | } | ||
22 | |||
23 | inherit update-rc.d | ||
24 | |||
25 | INITSCRIPT_NAME = "xserver-nodm" | ||
26 | INITSCRIPT_PARAMS = "start 01 5 2 . stop 01 0 1 6 ." | ||
27 | INITSCRIPT_PARAMS_shr = "start 90 5 2 . stop 90 0 1 6 ." | ||
diff --git a/meta-oe/recipes-support/ca-certificates/ca-certificates_20090814+nmu2.bb b/meta-oe/recipes-support/ca-certificates/ca-certificates_20090814+nmu2.bb new file mode 100644 index 000000000..7552c6f78 --- /dev/null +++ b/meta-oe/recipes-support/ca-certificates/ca-certificates_20090814+nmu2.bb | |||
@@ -0,0 +1,40 @@ | |||
1 | DESCRIPTION = "Common CA certificates" | ||
2 | HOMEPAGE = "http://packages.debian.org/sid/ca-certificates" | ||
3 | SECTION = "misc" | ||
4 | PRIORITY = "optional" | ||
5 | LICENSE = "GPL" | ||
6 | LIC_FILES_CHKSUM = "file://debian/copyright;md5=6275b491c91b57d92ebe11205ebf4dfe" | ||
7 | |||
8 | SRC_URI = "${DEBIAN_MIRROR}/main/c/ca-certificates/ca-certificates_${PV}.tar.gz \ | ||
9 | file://remove-c-rehash.patch" | ||
10 | SRC_URI[md5sum] = "76a2b0381b0aa7a6892e2340cd2c159a" | ||
11 | SRC_URI[sha256sum] = "b1b144a3732df638e25b84ec6414ca9d1da4898cfd06d86b09f671585ce9c747" | ||
12 | inherit autotools | ||
13 | |||
14 | do_install_prepend() { | ||
15 | mkdir -p ${D}/usr/share/ca-certificates | ||
16 | mkdir -p ${D}/usr/sbin | ||
17 | mkdir -p ${D}/etc/ssl/certs | ||
18 | mkdir -p ${D}/etc/ca-certificates/update.d | ||
19 | } | ||
20 | |||
21 | do_install_append() { | ||
22 | cd ${D}/usr/share/ca-certificates | ||
23 | echo "# Lines starting with # will be ignored" > ${D}/etc/ca-certificates.conf | ||
24 | echo "# Lines starting with ! will remove certificate on next update" >> ${D}/etc/ca-certificates.conf | ||
25 | echo "#" >> ${D}/etc/ca-certificates.conf | ||
26 | for crt in $(find . -type f -name '*.crt' -print) | ||
27 | do | ||
28 | crt=$(echo $crt | sed -e 's/\.\///') | ||
29 | echo $crt >> ${D}/etc/ca-certificates.conf | ||
30 | done | ||
31 | } | ||
32 | |||
33 | PACKAGE_ARCH = "all" | ||
34 | PACKAGES = "${PN}" | ||
35 | |||
36 | pkg_postinst_${PN} () { | ||
37 | /usr/sbin/update-ca-certificates | ||
38 | } | ||
39 | |||
40 | CONFFILES_${PN} = "/etc/ca-certificates.conf" | ||
diff --git a/meta-oe/recipes-support/ca-certificates/files/remove-c-rehash.patch b/meta-oe/recipes-support/ca-certificates/files/remove-c-rehash.patch new file mode 100644 index 000000000..9d9b8ade3 --- /dev/null +++ b/meta-oe/recipes-support/ca-certificates/files/remove-c-rehash.patch | |||
@@ -0,0 +1,29 @@ | |||
1 | --- ca-certificates-20090814/sbin/update-ca-certificates.orig 2010-02-25 19:25:08.272807308 +0100 | ||
2 | +++ ca-certificates-20090814/sbin/update-ca-certificates 2010-02-25 19:25:33.962806273 +0100 | ||
3 | @@ -133,16 +133,16 @@ | ||
4 | ADDED_CNT=$(wc -l < "$ADDED") | ||
5 | REMOVED_CNT=$(wc -l < "$REMOVED") | ||
6 | |||
7 | -if [ "$ADDED_CNT" -gt 0 ] || [ "$REMOVED_CNT" -gt 0 ] | ||
8 | -then | ||
9 | - # only run if set of files has changed | ||
10 | - if [ "$verbose" = 0 ] | ||
11 | - then | ||
12 | - c_rehash . > /dev/null | ||
13 | - else | ||
14 | - c_rehash . | ||
15 | - fi | ||
16 | -fi | ||
17 | +#if [ "$ADDED_CNT" -gt 0 ] || [ "$REMOVED_CNT" -gt 0 ] | ||
18 | +#then | ||
19 | +# # only run if set of files has changed | ||
20 | +# if [ "$verbose" = 0 ] | ||
21 | +# then | ||
22 | +# c_rehash . > /dev/null | ||
23 | +# else | ||
24 | +# c_rehash . | ||
25 | +# fi | ||
26 | +#fi | ||
27 | |||
28 | echo "$ADDED_CNT added, $REMOVED_CNT removed; done." | ||
29 | |||
diff --git a/meta-oe/recipes-support/dfu-util/dfu-util-native_svn.bb b/meta-oe/recipes-support/dfu-util/dfu-util-native_svn.bb new file mode 100644 index 000000000..c103509d1 --- /dev/null +++ b/meta-oe/recipes-support/dfu-util/dfu-util-native_svn.bb | |||
@@ -0,0 +1,16 @@ | |||
1 | require dfu-util_${PV}.bb | ||
2 | |||
3 | inherit native deploy | ||
4 | do_deploy[sstate-outputdirs] = "${DEPLOY_DIR_TOOLS}" | ||
5 | |||
6 | DEPENDS = "libusb-compat usbpath-native" | ||
7 | |||
8 | do_deploy() { | ||
9 | install -d ${DEPLOY_DIR_TOOLS} | ||
10 | install -m 0755 src/dfu-util_static ${DEPLOY_DIR_TOOLS}/dfu-util-${PV} | ||
11 | rm -f ${DEPLOY_DIR_TOOLS}/dfu-util | ||
12 | ln -sf ./dfu-util-${PV} ${DEPLOY_DIR_TOOLS}/dfu-util | ||
13 | |||
14 | } | ||
15 | |||
16 | addtask deploy before do_package after do_install | ||
diff --git a/meta-oe/recipes-support/dfu-util/dfu-util.inc b/meta-oe/recipes-support/dfu-util/dfu-util.inc new file mode 100644 index 000000000..503583243 --- /dev/null +++ b/meta-oe/recipes-support/dfu-util/dfu-util.inc | |||
@@ -0,0 +1,13 @@ | |||
1 | DESCRIPTION = "USB Device Firmware Upgrade utility" | ||
2 | SECTION = "devel" | ||
3 | AUTHOR = "Harald Welte <laforge@openmoko.org>" | ||
4 | LICENSE = "GPLv2" | ||
5 | LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f" | ||
6 | |||
7 | DEPENDS = "virtual/libusb0 usbpath" | ||
8 | |||
9 | SRC_URI = "http://dfu-util.gnumonks.org/releases/dfu-util-${PV}.tar.gz" | ||
10 | |||
11 | BBCLASSEXTEND = "native" | ||
12 | |||
13 | inherit autotools | ||
diff --git a/meta-oe/recipes-support/dfu-util/dfu-util_0.1.bb b/meta-oe/recipes-support/dfu-util/dfu-util_0.1.bb new file mode 100644 index 000000000..7b25b1357 --- /dev/null +++ b/meta-oe/recipes-support/dfu-util/dfu-util_0.1.bb | |||
@@ -0,0 +1,7 @@ | |||
1 | require dfu-util.inc | ||
2 | |||
3 | PV = "0.1" | ||
4 | PR = "r1" | ||
5 | |||
6 | SRC_URI[md5sum] = "454b931249d29e4a6c2a2ade17858490" | ||
7 | SRC_URI[sha256sum] = "a27cc667be9b158fecf0ed066698e30eca0c0b3cd7a85aad2058d47ffe16f0e1" | ||
diff --git a/meta-oe/recipes-support/dfu-util/dfu-util_svn.bb b/meta-oe/recipes-support/dfu-util/dfu-util_svn.bb new file mode 100644 index 000000000..abb85fafc --- /dev/null +++ b/meta-oe/recipes-support/dfu-util/dfu-util_svn.bb | |||
@@ -0,0 +1,16 @@ | |||
1 | DESCRIPTION = "USB Device Firmware Upgrade utility" | ||
2 | SECTION = "devel" | ||
3 | AUTHOR = "Harald Welte <laforge@openmoko.org>" | ||
4 | LICENSE = "GPLv2" | ||
5 | LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f" | ||
6 | SRCREV = "4160" | ||
7 | PV = "0.1+svnr${SRCPV}" | ||
8 | PR = "r2" | ||
9 | |||
10 | DEPENDS = "virtual/libusb0 usbpath" | ||
11 | |||
12 | SRC_URI = "svn://svn.openmoko.org/trunk/src/host/;module=dfu-util;proto=http" | ||
13 | S = "${WORKDIR}/dfu-util" | ||
14 | |||
15 | inherit autotools | ||
16 | |||
diff --git a/meta-oe/recipes-support/farsight/farsight2_0.0.22.bb b/meta-oe/recipes-support/farsight/farsight2_0.0.22.bb new file mode 100644 index 000000000..1eb25aa26 --- /dev/null +++ b/meta-oe/recipes-support/farsight/farsight2_0.0.22.bb | |||
@@ -0,0 +1,23 @@ | |||
1 | DESCRIPTION = "FarSight is an audio/video conferencing framework specifically designed for Instant Messengers." | ||
2 | HOMEPAGE = "http://farsight.sf.net" | ||
3 | SRC_URI = "http://farsight.freedesktop.org/releases/farsight2/${P}.tar.gz" | ||
4 | LICENSE = "unknown" | ||
5 | |||
6 | DEPENDS = "libnice glib-2.0 libxml2 zlib dbus gstreamer gst-plugins-base" | ||
7 | |||
8 | inherit autotools | ||
9 | |||
10 | EXTRA_OECONF = " \ | ||
11 | --disable-debug \ | ||
12 | --disable-gtk-doc \ | ||
13 | --disable-python \ | ||
14 | " | ||
15 | |||
16 | FILES_${PN} += "${libdir}/*/*.so" | ||
17 | FILES_${PN}-dev += "${libdir}/*/*a" | ||
18 | FILES_${PN}-dbg += "${libdir}/*/.debug" | ||
19 | |||
20 | |||
21 | SRC_URI[md5sum] = "e1f540cf3ebab06c3d7db1f46b44ac88" | ||
22 | SRC_URI[sha256sum] = "3ae59aa61a8071c9fad111e5fd606aabc27961eb4192f8729987a27dae6b3974" | ||
23 | |||
diff --git a/meta-oe/recipes-support/farsight/libnice_0.0.13.bb b/meta-oe/recipes-support/farsight/libnice_0.0.13.bb new file mode 100644 index 000000000..81f9c9801 --- /dev/null +++ b/meta-oe/recipes-support/farsight/libnice_0.0.13.bb | |||
@@ -0,0 +1,25 @@ | |||
1 | DESCRIPTION = "Libnice is an implementation of the IETF's draft Interactice Connectivity Establishment standard (ICE)." | ||
2 | HOMEPAGE = "http://nice.freedesktop.org/wiki/" | ||
3 | SRC_URI = "http://nice.freedesktop.org/releases/libnice-${PV}.tar.gz" | ||
4 | |||
5 | LICENSE = "LGPL/MPL" | ||
6 | DEPENDS = "glib-2.0 gstreamer" | ||
7 | |||
8 | inherit autotools | ||
9 | |||
10 | FILES_${PN} += "${libdir}/gstreamer-0.10/*.so" | ||
11 | FILES_${PN}-dev += "${libdir}/gstreamer-0.10/*a" | ||
12 | FILES_${PN}-dbg += "${libdir}/gstreamer-0.10/.debug" | ||
13 | |||
14 | do_compile_append() { | ||
15 | for i in $(find ${S} -name "*.pc") ; do | ||
16 | sed -i -e s:${STAGING_DIR_TARGET}::g \ | ||
17 | -e s:/${TARGET_SYS}::g \ | ||
18 | $i | ||
19 | done | ||
20 | } | ||
21 | |||
22 | |||
23 | SRC_URI[md5sum] = "e5b9f799a57cb939ea2658ec35253ab9" | ||
24 | SRC_URI[sha256sum] = "d8dd260c486a470a6052a5323920878a084e44a19df09b15728b85c9e3d6edf0" | ||
25 | |||
diff --git a/meta-oe/recipes-support/fbset/fbset-2.1/makefile.patch b/meta-oe/recipes-support/fbset/fbset-2.1/makefile.patch new file mode 100644 index 000000000..82b1c61e9 --- /dev/null +++ b/meta-oe/recipes-support/fbset/fbset-2.1/makefile.patch | |||
@@ -0,0 +1,11 @@ | |||
1 | --- fbset-2.1/Makefile.orig 2006-05-28 04:04:27.412095480 +0200 | ||
2 | +++ fbset-2.1/Makefile 2006-05-28 04:14:05.379231120 +0200 | ||
3 | @@ -2,7 +2,7 @@ | ||
4 | # Linux Frame Buffer Device Configuration | ||
5 | # | ||
6 | |||
7 | -CC = gcc -Wall -O2 -I. | ||
8 | +CFLAGS = -Wall -O2 -I. | ||
9 | BISON = bison -d | ||
10 | FLEX = flex | ||
11 | INSTALL = install | ||
diff --git a/meta-oe/recipes-support/fbset/fbset-modes.bb b/meta-oe/recipes-support/fbset/fbset-modes.bb new file mode 100644 index 000000000..415c00bab --- /dev/null +++ b/meta-oe/recipes-support/fbset/fbset-modes.bb | |||
@@ -0,0 +1,17 @@ | |||
1 | DESCRIPTION = "Default display timings and resolutions for fbset" | ||
2 | LICENSE = "MIT" | ||
3 | LIC_FILES_CHKSUM = "file://${TOPDIR}/meta-shr/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420" | ||
4 | |||
5 | PV = "0.1.0" | ||
6 | PR = "r5" | ||
7 | |||
8 | SRC_URI = "file://fb.modes" | ||
9 | |||
10 | do_install() { | ||
11 | install -d ${D}${sysconfdir} | ||
12 | install -m 0644 ${WORKDIR}/fb.modes ${D}${sysconfdir} | ||
13 | } | ||
14 | |||
15 | PACKAGE_ARCH = "all" | ||
16 | CONFFILES_${PN} = "${sysconfdir}/fb.modes" | ||
17 | |||
diff --git a/meta-oe/recipes-support/fbset/fbset-modes/fb.modes b/meta-oe/recipes-support/fbset/fbset-modes/fb.modes new file mode 100644 index 000000000..ba5e6ed71 --- /dev/null +++ b/meta-oe/recipes-support/fbset/fbset-modes/fb.modes | |||
@@ -0,0 +1,3 @@ | |||
1 | # By default there is nothing in this file just a reminder to define some | ||
2 | # modes in OE | ||
3 | |||
diff --git a/meta-oe/recipes-support/fbset/fbset-modes/om-gta01/fb.modes b/meta-oe/recipes-support/fbset/fbset-modes/om-gta01/fb.modes new file mode 100644 index 000000000..446d23dd8 --- /dev/null +++ b/meta-oe/recipes-support/fbset/fbset-modes/om-gta01/fb.modes | |||
@@ -0,0 +1,29 @@ | |||
1 | # Timings for GTA01 VGA and QVGA mode | ||
2 | |||
3 | mode "480x640" | ||
4 | # D: 26.000 MHz, H: 43.334 kHz, V: 65.657 Hz | ||
5 | geometry 480 640 480 640 16 | ||
6 | timings 38461 104 8 2 16 8 2 | ||
7 | accel false | ||
8 | endmode | ||
9 | |||
10 | mode "vga" | ||
11 | # D: 26.000 MHz, H: 43.334 kHz, V: 65.657 Hz | ||
12 | geometry 480 640 480 640 16 | ||
13 | timings 38461 104 8 2 16 8 2 | ||
14 | accel false | ||
15 | endmode | ||
16 | |||
17 | mode "240x320" | ||
18 | # D: 8.475 MHz, H: 24.635 kHz, V: 75.569 Hz | ||
19 | geometry 240 320 240 320 16 | ||
20 | timings 118000 88 8 2 2 8 2 | ||
21 | accel false | ||
22 | endmode | ||
23 | |||
24 | mode "qvga" | ||
25 | # D: 8.475 MHz, H: 24.635 kHz, V: 75.569 Hz | ||
26 | geometry 240 320 240 320 16 | ||
27 | timings 118000 88 8 2 2 8 2 | ||
28 | accel false | ||
29 | endmode | ||
diff --git a/meta-oe/recipes-support/fbset/fbset-modes/omap3-pandora/fb.modes b/meta-oe/recipes-support/fbset/fbset-modes/omap3-pandora/fb.modes new file mode 100644 index 000000000..0c87401b5 --- /dev/null +++ b/meta-oe/recipes-support/fbset/fbset-modes/omap3-pandora/fb.modes | |||
@@ -0,0 +1,6 @@ | |||
1 | mode "800x480-65" | ||
2 | # D: 36.001 MHz, H: 34.124 kHz, V: 64.998 Hz | ||
3 | geometry 800 480 800 480 16 | ||
4 | timings 27777 40 214 10 34 1 1 | ||
5 | rgba 5/11,6/5,5/0,0/0 | ||
6 | endmode | ||
diff --git a/meta-oe/recipes-support/fbset/fbset-modes/qemuarm/fb.modes b/meta-oe/recipes-support/fbset/fbset-modes/qemuarm/fb.modes new file mode 100644 index 000000000..111456479 --- /dev/null +++ b/meta-oe/recipes-support/fbset/fbset-modes/qemuarm/fb.modes | |||
@@ -0,0 +1,17 @@ | |||
1 | # QEMU versatilepb machine, qemuarm in OE | ||
2 | |||
3 | mode "vga" "640x480" | ||
4 | geometry 640 480 640 480 16 | ||
5 | endmode | ||
6 | |||
7 | mode "vga-portrait" "480x640" | ||
8 | geometry 480 640 480 640 16 | ||
9 | endmode | ||
10 | |||
11 | mode "qvga" "320x240" | ||
12 | geometry 320 240 320 240 16 | ||
13 | endmode | ||
14 | |||
15 | mode "qvga-portrait" "240x320" | ||
16 | geometry 240 320 240 320 16 | ||
17 | endmode | ||
diff --git a/meta-oe/recipes-support/fbset/fbset-modes/qemumips/fb.modes b/meta-oe/recipes-support/fbset/fbset-modes/qemumips/fb.modes new file mode 100644 index 000000000..111456479 --- /dev/null +++ b/meta-oe/recipes-support/fbset/fbset-modes/qemumips/fb.modes | |||
@@ -0,0 +1,17 @@ | |||
1 | # QEMU versatilepb machine, qemuarm in OE | ||
2 | |||
3 | mode "vga" "640x480" | ||
4 | geometry 640 480 640 480 16 | ||
5 | endmode | ||
6 | |||
7 | mode "vga-portrait" "480x640" | ||
8 | geometry 480 640 480 640 16 | ||
9 | endmode | ||
10 | |||
11 | mode "qvga" "320x240" | ||
12 | geometry 320 240 320 240 16 | ||
13 | endmode | ||
14 | |||
15 | mode "qvga-portrait" "240x320" | ||
16 | geometry 240 320 240 320 16 | ||
17 | endmode | ||
diff --git a/meta-oe/recipes-support/fbset/fbset_2.1.bb b/meta-oe/recipes-support/fbset/fbset_2.1.bb new file mode 100644 index 000000000..12c1c944e --- /dev/null +++ b/meta-oe/recipes-support/fbset/fbset_2.1.bb | |||
@@ -0,0 +1,38 @@ | |||
1 | # | ||
2 | # Copyright Matthias Hentges <devel@hentges.net> (c) 2006 | ||
3 | # License: MIT (see http://www.opensource.org/licenses/mit-license.php for a copy of the license) | ||
4 | # | ||
5 | # Filename: fbset_2.1.bb | ||
6 | # Date: 28-May-06 | ||
7 | |||
8 | DESCRIPTION = "The fbset console tool" | ||
9 | LICENSE = "GPLv2" | ||
10 | LIC_FILES_CHKSUM = "file://fbset.c;endline=19;md5=bf326f82cdfcac391af208f019c5603f" | ||
11 | RRECOMMENDS_${PN} = "fbset-modes" | ||
12 | DEPENDS = "bison-native" | ||
13 | |||
14 | PR = "r4" | ||
15 | |||
16 | SRC_URI = "http://ftp.debian.org/debian/pool/main/f/fbset/fbset_2.1.orig.tar.gz \ | ||
17 | file://makefile.patch" | ||
18 | |||
19 | inherit autotools update-alternatives | ||
20 | |||
21 | PARALLEL_MAKE = "" | ||
22 | |||
23 | do_install() { | ||
24 | install -d ${D}${sbindir} ${D}${datadir}/man/man8 ${D}${datadir}/man/man5 | ||
25 | install -m 0755 ${WORKDIR}/${P}/fbset ${D}${sbindir}/fbset.real | ||
26 | install -m 0644 ${WORKDIR}/${P}/*.5 ${D}${datadir}/man/man5 | ||
27 | install -m 0644 ${WORKDIR}/${P}/*.8 ${D}${datadir}/man/man8 | ||
28 | } | ||
29 | |||
30 | ALTERNATIVE_NAME = "fbset" | ||
31 | ALTERNATIVE_LINK = "${sbindir}/${ALTERNATIVE_NAME}" | ||
32 | ALTERNATIVE_PATH = "${sbindir}/fbset.real" | ||
33 | ALTERNATIVE_PRIORITY = "55" | ||
34 | |||
35 | |||
36 | |||
37 | SRC_URI[md5sum] = "40ed9608f46d787bfb65fd1269f7f459" | ||
38 | SRC_URI[sha256sum] = "517fa062d7b2d367f931a1c6ebb2bef84907077f0ce3f0c899e34490bbea9338" | ||
diff --git a/meta-oe/recipes-support/lcms/lcms_1.17.bb b/meta-oe/recipes-support/lcms/lcms_1.17.bb new file mode 100644 index 000000000..8ec516dbb --- /dev/null +++ b/meta-oe/recipes-support/lcms/lcms_1.17.bb | |||
@@ -0,0 +1,14 @@ | |||
1 | DESCRIPTION = "Little cms is a small-footprint, speed optimized color management engine." | ||
2 | SECTION = "libs" | ||
3 | LICENSE = "MIT" | ||
4 | LIC_FILES_CHKSUM = "file://COPYING;md5=156745cad721a8783cb847e82b79f586" | ||
5 | SRC_URI = "${SOURCEFORGE_MIRROR}/lcms/lcms-${PV}.tar.gz" | ||
6 | |||
7 | PR = "r2" | ||
8 | |||
9 | BBCLASSEXTEND = "native" | ||
10 | |||
11 | inherit autotools | ||
12 | |||
13 | SRC_URI[md5sum] = "07bdbb4cfb05d21caa58fe3d1c84ddc1" | ||
14 | SRC_URI[sha256sum] = "5ef3b4dab30956772009e29dba33fe1256cf9da161106a1e70b0966c96d14583" | ||
diff --git a/meta-oe/recipes-support/libiconv/libiconv-1.13.1/autoconf.patch b/meta-oe/recipes-support/libiconv/libiconv-1.13.1/autoconf.patch new file mode 100644 index 000000000..435e52816 --- /dev/null +++ b/meta-oe/recipes-support/libiconv/libiconv-1.13.1/autoconf.patch | |||
@@ -0,0 +1,16018 @@ | |||
1 | Index: libiconv-1.13.1/configure.ac | ||
2 | =================================================================== | ||
3 | --- libiconv-1.13.1.orig/configure.ac | ||
4 | +++ libiconv-1.13.1/configure.ac | ||
5 | @@ -23,7 +23,7 @@ AC_CONFIG_AUX_DIR([build-aux]) | ||
6 | AM_INIT_AUTOMAKE([libiconv], [1.13.1]) | ||
7 | AC_CONFIG_HEADERS([config.h lib/config.h]) | ||
8 | AC_PROG_MAKE_SET | ||
9 | - | ||
10 | +AC_CONFIG_MACRO_DIR([m4]) | ||
11 | dnl checks for basic programs | ||
12 | |||
13 | AC_PROG_CC | ||
14 | Index: libiconv-1.13.1/libcharset/configure.ac | ||
15 | =================================================================== | ||
16 | --- libiconv-1.13.1.orig/libcharset/configure.ac | ||
17 | +++ libiconv-1.13.1/libcharset/configure.ac | ||
18 | @@ -16,17 +16,17 @@ dnl along with the GNU CHARSET Library; | ||
19 | dnl write to the Free Software Foundation, Inc., 51 Franklin Street, | ||
20 | dnl Fifth Floor, Boston, MA 02110-1301, USA. | ||
21 | |||
22 | -AC_PREREQ([2.13]) | ||
23 | +AC_PREREQ(2.61) | ||
24 | +AC_INIT([libcharset],[1.4] ) | ||
25 | +AC_CONFIG_SRCDIR([lib/localcharset.c]) | ||
26 | |||
27 | -PACKAGE=libcharset | ||
28 | -VERSION=1.4 | ||
29 | - | ||
30 | -AC_INIT([lib/localcharset.c]) | ||
31 | AC_CONFIG_AUX_DIR([build-aux]) | ||
32 | AC_CONFIG_HEADER([config.h]) | ||
33 | AC_PROG_MAKE_SET | ||
34 | -AC_SUBST([PACKAGE]) | ||
35 | -AC_SUBST([VERSION]) | ||
36 | +dnl AC_SUBST(PACKAGE) | ||
37 | +dnl AC_SUBST(VERSION) | ||
38 | + | ||
39 | +AC_CONFIG_MACRO_DIR([m4]) | ||
40 | |||
41 | dnl checks for basic programs | ||
42 | |||
43 | Index: libiconv-1.13.1/libcharset/m4/libtool.m4 | ||
44 | =================================================================== | ||
45 | --- libiconv-1.13.1.orig/libcharset/m4/libtool.m4 | ||
46 | +++ /dev/null | ||
47 | @@ -1,7357 +0,0 @@ | ||
48 | -# libtool.m4 - Configure libtool for the host system. -*-Autoconf-*- | ||
49 | -# | ||
50 | -# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005, | ||
51 | -# 2006, 2007, 2008 Free Software Foundation, Inc. | ||
52 | -# Written by Gordon Matzigkeit, 1996 | ||
53 | -# | ||
54 | -# This file is free software; the Free Software Foundation gives | ||
55 | -# unlimited permission to copy and/or distribute it, with or without | ||
56 | -# modifications, as long as this notice is preserved. | ||
57 | - | ||
58 | -m4_define([_LT_COPYING], [dnl | ||
59 | -# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005, | ||
60 | -# 2006, 2007, 2008 Free Software Foundation, Inc. | ||
61 | -# Written by Gordon Matzigkeit, 1996 | ||
62 | -# | ||
63 | -# This file is part of GNU Libtool. | ||
64 | -# | ||
65 | -# GNU Libtool is free software; you can redistribute it and/or | ||
66 | -# modify it under the terms of the GNU General Public License as | ||
67 | -# published by the Free Software Foundation; either version 2 of | ||
68 | -# the License, or (at your option) any later version. | ||
69 | -# | ||
70 | -# As a special exception to the GNU General Public License, | ||
71 | -# if you distribute this file as part of a program or library that | ||
72 | -# is built using GNU Libtool, you may include this file under the | ||
73 | -# same distribution terms that you use for the rest of that program. | ||
74 | -# | ||
75 | -# GNU Libtool is distributed in the hope that it will be useful, | ||
76 | -# but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
77 | -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
78 | -# GNU General Public License for more details. | ||
79 | -# | ||
80 | -# You should have received a copy of the GNU General Public License | ||
81 | -# along with GNU Libtool; see the file COPYING. If not, a copy | ||
82 | -# can be downloaded from http://www.gnu.org/licenses/gpl.html, or | ||
83 | -# obtained by writing to the Free Software Foundation, Inc., | ||
84 | -# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. | ||
85 | -]) | ||
86 | - | ||
87 | -# serial 56 LT_INIT | ||
88 | - | ||
89 | - | ||
90 | -# LT_PREREQ(VERSION) | ||
91 | -# ------------------ | ||
92 | -# Complain and exit if this libtool version is less that VERSION. | ||
93 | -m4_defun([LT_PREREQ], | ||
94 | -[m4_if(m4_version_compare(m4_defn([LT_PACKAGE_VERSION]), [$1]), -1, | ||
95 | - [m4_default([$3], | ||
96 | - [m4_fatal([Libtool version $1 or higher is required], | ||
97 | - 63)])], | ||
98 | - [$2])]) | ||
99 | - | ||
100 | - | ||
101 | -# _LT_CHECK_BUILDDIR | ||
102 | -# ------------------ | ||
103 | -# Complain if the absolute build directory name contains unusual characters | ||
104 | -m4_defun([_LT_CHECK_BUILDDIR], | ||
105 | -[case `pwd` in | ||
106 | - *\ * | *\ *) | ||
107 | - AC_MSG_WARN([Libtool does not cope well with whitespace in `pwd`]) ;; | ||
108 | -esac | ||
109 | -]) | ||
110 | - | ||
111 | - | ||
112 | -# LT_INIT([OPTIONS]) | ||
113 | -# ------------------ | ||
114 | -AC_DEFUN([LT_INIT], | ||
115 | -[AC_PREREQ([2.58])dnl We use AC_INCLUDES_DEFAULT | ||
116 | -AC_BEFORE([$0], [LT_LANG])dnl | ||
117 | -AC_BEFORE([$0], [LT_OUTPUT])dnl | ||
118 | -AC_BEFORE([$0], [LTDL_INIT])dnl | ||
119 | -m4_require([_LT_CHECK_BUILDDIR])dnl | ||
120 | - | ||
121 | -dnl Autoconf doesn't catch unexpanded LT_ macros by default: | ||
122 | -m4_pattern_forbid([^_?LT_[A-Z_]+$])dnl | ||
123 | -m4_pattern_allow([^(_LT_EOF|LT_DLGLOBAL|LT_DLLAZY_OR_NOW|LT_MULTI_MODULE)$])dnl | ||
124 | -dnl aclocal doesn't pull ltoptions.m4, ltsugar.m4, or ltversion.m4 | ||
125 | -dnl unless we require an AC_DEFUNed macro: | ||
126 | -AC_REQUIRE([LTOPTIONS_VERSION])dnl | ||
127 | -AC_REQUIRE([LTSUGAR_VERSION])dnl | ||
128 | -AC_REQUIRE([LTVERSION_VERSION])dnl | ||
129 | -AC_REQUIRE([LTOBSOLETE_VERSION])dnl | ||
130 | -m4_require([_LT_PROG_LTMAIN])dnl | ||
131 | - | ||
132 | -dnl Parse OPTIONS | ||
133 | -_LT_SET_OPTIONS([$0], [$1]) | ||
134 | - | ||
135 | -# This can be used to rebuild libtool when needed | ||
136 | -LIBTOOL_DEPS="$ltmain" | ||
137 | - | ||
138 | -# Always use our own libtool. | ||
139 | -LIBTOOL="${CONFIG_SHELL-$SHELL} "'$(top_builddir)/libtool' | ||
140 | -AC_SUBST(LIBTOOL)dnl | ||
141 | - | ||
142 | -_LT_SETUP | ||
143 | - | ||
144 | -# Only expand once: | ||
145 | -m4_define([LT_INIT]) | ||
146 | -])# LT_INIT | ||
147 | - | ||
148 | -# Old names: | ||
149 | -AU_ALIAS([AC_PROG_LIBTOOL], [LT_INIT]) | ||
150 | -AU_ALIAS([AM_PROG_LIBTOOL], [LT_INIT]) | ||
151 | -dnl aclocal-1.4 backwards compatibility: | ||
152 | -dnl AC_DEFUN([AC_PROG_LIBTOOL], []) | ||
153 | -dnl AC_DEFUN([AM_PROG_LIBTOOL], []) | ||
154 | - | ||
155 | - | ||
156 | -# _LT_CC_BASENAME(CC) | ||
157 | -# ------------------- | ||
158 | -# Calculate cc_basename. Skip known compiler wrappers and cross-prefix. | ||
159 | -m4_defun([_LT_CC_BASENAME], | ||
160 | -[for cc_temp in $1""; do | ||
161 | - case $cc_temp in | ||
162 | - compile | *[[\\/]]compile | ccache | *[[\\/]]ccache ) ;; | ||
163 | - distcc | *[[\\/]]distcc | purify | *[[\\/]]purify ) ;; | ||
164 | - \-*) ;; | ||
165 | - *) break;; | ||
166 | - esac | ||
167 | -done | ||
168 | -cc_basename=`$ECHO "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"` | ||
169 | -]) | ||
170 | - | ||
171 | - | ||
172 | -# _LT_FILEUTILS_DEFAULTS | ||
173 | -# ---------------------- | ||
174 | -# It is okay to use these file commands and assume they have been set | ||
175 | -# sensibly after `m4_require([_LT_FILEUTILS_DEFAULTS])'. | ||
176 | -m4_defun([_LT_FILEUTILS_DEFAULTS], | ||
177 | -[: ${CP="cp -f"} | ||
178 | -: ${MV="mv -f"} | ||
179 | -: ${RM="rm -f"} | ||
180 | -])# _LT_FILEUTILS_DEFAULTS | ||
181 | - | ||
182 | - | ||
183 | -# _LT_SETUP | ||
184 | -# --------- | ||
185 | -m4_defun([_LT_SETUP], | ||
186 | -[AC_REQUIRE([AC_CANONICAL_HOST])dnl | ||
187 | -AC_REQUIRE([AC_CANONICAL_BUILD])dnl | ||
188 | -_LT_DECL([], [host_alias], [0], [The host system])dnl | ||
189 | -_LT_DECL([], [host], [0])dnl | ||
190 | -_LT_DECL([], [host_os], [0])dnl | ||
191 | -dnl | ||
192 | -_LT_DECL([], [build_alias], [0], [The build system])dnl | ||
193 | -_LT_DECL([], [build], [0])dnl | ||
194 | -_LT_DECL([], [build_os], [0])dnl | ||
195 | -dnl | ||
196 | -AC_REQUIRE([AC_PROG_CC])dnl | ||
197 | -AC_REQUIRE([LT_PATH_LD])dnl | ||
198 | -AC_REQUIRE([LT_PATH_NM])dnl | ||
199 | -dnl | ||
200 | -AC_REQUIRE([AC_PROG_LN_S])dnl | ||
201 | -test -z "$LN_S" && LN_S="ln -s" | ||
202 | -_LT_DECL([], [LN_S], [1], [Whether we need soft or hard links])dnl | ||
203 | -dnl | ||
204 | -AC_REQUIRE([LT_CMD_MAX_LEN])dnl | ||
205 | -_LT_DECL([objext], [ac_objext], [0], [Object file suffix (normally "o")])dnl | ||
206 | -_LT_DECL([], [exeext], [0], [Executable file suffix (normally "")])dnl | ||
207 | -dnl | ||
208 | -m4_require([_LT_FILEUTILS_DEFAULTS])dnl | ||
209 | -m4_require([_LT_CHECK_SHELL_FEATURES])dnl | ||
210 | -m4_require([_LT_CMD_RELOAD])dnl | ||
211 | -m4_require([_LT_CHECK_MAGIC_METHOD])dnl | ||
212 | -m4_require([_LT_CMD_OLD_ARCHIVE])dnl | ||
213 | -m4_require([_LT_CMD_GLOBAL_SYMBOLS])dnl | ||
214 | - | ||
215 | -_LT_CONFIG_LIBTOOL_INIT([ | ||
216 | -# See if we are running on zsh, and set the options which allow our | ||
217 | -# commands through without removal of \ escapes INIT. | ||
218 | -if test -n "\${ZSH_VERSION+set}" ; then | ||
219 | - setopt NO_GLOB_SUBST | ||
220 | -fi | ||
221 | -]) | ||
222 | -if test -n "${ZSH_VERSION+set}" ; then | ||
223 | - setopt NO_GLOB_SUBST | ||
224 | -fi | ||
225 | - | ||
226 | -_LT_CHECK_OBJDIR | ||
227 | - | ||
228 | -m4_require([_LT_TAG_COMPILER])dnl | ||
229 | -_LT_PROG_ECHO_BACKSLASH | ||
230 | - | ||
231 | -case $host_os in | ||
232 | -aix3*) | ||
233 | - # AIX sometimes has problems with the GCC collect2 program. For some | ||
234 | - # reason, if we set the COLLECT_NAMES environment variable, the problems | ||
235 | - # vanish in a puff of smoke. | ||
236 | - if test "X${COLLECT_NAMES+set}" != Xset; then | ||
237 | - COLLECT_NAMES= | ||
238 | - export COLLECT_NAMES | ||
239 | - fi | ||
240 | - ;; | ||
241 | -esac | ||
242 | - | ||
243 | -# Sed substitution that helps us do robust quoting. It backslashifies | ||
244 | -# metacharacters that are still active within double-quoted strings. | ||
245 | -sed_quote_subst='s/\([["`$\\]]\)/\\\1/g' | ||
246 | - | ||
247 | -# Same as above, but do not quote variable references. | ||
248 | -double_quote_subst='s/\([["`\\]]\)/\\\1/g' | ||
249 | - | ||
250 | -# Sed substitution to delay expansion of an escaped shell variable in a | ||
251 | -# double_quote_subst'ed string. | ||
252 | -delay_variable_subst='s/\\\\\\\\\\\$/\\\\\\$/g' | ||
253 | - | ||
254 | -# Sed substitution to delay expansion of an escaped single quote. | ||
255 | -delay_single_quote_subst='s/'\''/'\'\\\\\\\'\''/g' | ||
256 | - | ||
257 | -# Sed substitution to avoid accidental globbing in evaled expressions | ||
258 | -no_glob_subst='s/\*/\\\*/g' | ||
259 | - | ||
260 | -# Global variables: | ||
261 | -ofile=libtool | ||
262 | -can_build_shared=yes | ||
263 | - | ||
264 | -# All known linkers require a `.a' archive for static linking (except MSVC, | ||
265 | -# which needs '.lib'). | ||
266 | -libext=a | ||
267 | - | ||
268 | -with_gnu_ld="$lt_cv_prog_gnu_ld" | ||
269 | - | ||
270 | -old_CC="$CC" | ||
271 | -old_CFLAGS="$CFLAGS" | ||
272 | - | ||
273 | -# Set sane defaults for various variables | ||
274 | -test -z "$CC" && CC=cc | ||
275 | -test -z "$LTCC" && LTCC=$CC | ||
276 | -test -z "$LTCFLAGS" && LTCFLAGS=$CFLAGS | ||
277 | -test -z "$LD" && LD=ld | ||
278 | -test -z "$ac_objext" && ac_objext=o | ||
279 | - | ||
280 | -_LT_CC_BASENAME([$compiler]) | ||
281 | - | ||
282 | -# Only perform the check for file, if the check method requires it | ||
283 | -test -z "$MAGIC_CMD" && MAGIC_CMD=file | ||
284 | -case $deplibs_check_method in | ||
285 | -file_magic*) | ||
286 | - if test "$file_magic_cmd" = '$MAGIC_CMD'; then | ||
287 | - _LT_PATH_MAGIC | ||
288 | - fi | ||
289 | - ;; | ||
290 | -esac | ||
291 | - | ||
292 | -# Use C for the default configuration in the libtool script | ||
293 | -LT_SUPPORTED_TAG([CC]) | ||
294 | -_LT_LANG_C_CONFIG | ||
295 | -_LT_LANG_DEFAULT_CONFIG | ||
296 | -_LT_CONFIG_COMMANDS | ||
297 | -])# _LT_SETUP | ||
298 | - | ||
299 | - | ||
300 | -# _LT_PROG_LTMAIN | ||
301 | -# --------------- | ||
302 | -# Note that this code is called both from `configure', and `config.status' | ||
303 | -# now that we use AC_CONFIG_COMMANDS to generate libtool. Notably, | ||
304 | -# `config.status' has no value for ac_aux_dir unless we are using Automake, | ||
305 | -# so we pass a copy along to make sure it has a sensible value anyway. | ||
306 | -m4_defun([_LT_PROG_LTMAIN], | ||
307 | -[m4_ifdef([AC_REQUIRE_AUX_FILE], [AC_REQUIRE_AUX_FILE([ltmain.sh])])dnl | ||
308 | -_LT_CONFIG_LIBTOOL_INIT([ac_aux_dir='$ac_aux_dir']) | ||
309 | -ltmain="$ac_aux_dir/ltmain.sh" | ||
310 | -])# _LT_PROG_LTMAIN | ||
311 | - | ||
312 | - | ||
313 | -## ------------------------------------- ## | ||
314 | -## Accumulate code for creating libtool. ## | ||
315 | -## ------------------------------------- ## | ||
316 | - | ||
317 | -# So that we can recreate a full libtool script including additional | ||
318 | -# tags, we accumulate the chunks of code to send to AC_CONFIG_COMMANDS | ||
319 | -# in macros and then make a single call at the end using the `libtool' | ||
320 | -# label. | ||
321 | - | ||
322 | - | ||
323 | -# _LT_CONFIG_LIBTOOL_INIT([INIT-COMMANDS]) | ||
324 | -# ---------------------------------------- | ||
325 | -# Register INIT-COMMANDS to be passed to AC_CONFIG_COMMANDS later. | ||
326 | -m4_define([_LT_CONFIG_LIBTOOL_INIT], | ||
327 | -[m4_ifval([$1], | ||
328 | - [m4_append([_LT_OUTPUT_LIBTOOL_INIT], | ||
329 | - [$1 | ||
330 | -])])]) | ||
331 | - | ||
332 | -# Initialize. | ||
333 | -m4_define([_LT_OUTPUT_LIBTOOL_INIT]) | ||
334 | - | ||
335 | - | ||
336 | -# _LT_CONFIG_LIBTOOL([COMMANDS]) | ||
337 | -# ------------------------------ | ||
338 | -# Register COMMANDS to be passed to AC_CONFIG_COMMANDS later. | ||
339 | -m4_define([_LT_CONFIG_LIBTOOL], | ||
340 | -[m4_ifval([$1], | ||
341 | - [m4_append([_LT_OUTPUT_LIBTOOL_COMMANDS], | ||
342 | - [$1 | ||
343 | -])])]) | ||
344 | - | ||
345 | -# Initialize. | ||
346 | -m4_define([_LT_OUTPUT_LIBTOOL_COMMANDS]) | ||
347 | - | ||
348 | - | ||
349 | -# _LT_CONFIG_SAVE_COMMANDS([COMMANDS], [INIT_COMMANDS]) | ||
350 | -# ----------------------------------------------------- | ||
351 | -m4_defun([_LT_CONFIG_SAVE_COMMANDS], | ||
352 | -[_LT_CONFIG_LIBTOOL([$1]) | ||
353 | -_LT_CONFIG_LIBTOOL_INIT([$2]) | ||
354 | -]) | ||
355 | - | ||
356 | - | ||
357 | -# _LT_FORMAT_COMMENT([COMMENT]) | ||
358 | -# ----------------------------- | ||
359 | -# Add leading comment marks to the start of each line, and a trailing | ||
360 | -# full-stop to the whole comment if one is not present already. | ||
361 | -m4_define([_LT_FORMAT_COMMENT], | ||
362 | -[m4_ifval([$1], [ | ||
363 | -m4_bpatsubst([m4_bpatsubst([$1], [^ *], [# ])], | ||
364 | - [['`$\]], [\\\&])]m4_bmatch([$1], [[!?.]$], [], [.]) | ||
365 | -)]) | ||
366 | - | ||
367 | - | ||
368 | - | ||
369 | -## ------------------------ ## | ||
370 | -## FIXME: Eliminate VARNAME ## | ||
371 | -## ------------------------ ## | ||
372 | - | ||
373 | - | ||
374 | -# _LT_DECL([CONFIGNAME], VARNAME, VALUE, [DESCRIPTION], [IS-TAGGED?]) | ||
375 | -# ------------------------------------------------------------------- | ||
376 | -# CONFIGNAME is the name given to the value in the libtool script. | ||
377 | -# VARNAME is the (base) name used in the configure script. | ||
378 | -# VALUE may be 0, 1 or 2 for a computed quote escaped value based on | ||
379 | -# VARNAME. Any other value will be used directly. | ||
380 | -m4_define([_LT_DECL], | ||
381 | -[lt_if_append_uniq([lt_decl_varnames], [$2], [, ], | ||
382 | - [lt_dict_add_subkey([lt_decl_dict], [$2], [libtool_name], | ||
383 | - [m4_ifval([$1], [$1], [$2])]) | ||
384 | - lt_dict_add_subkey([lt_decl_dict], [$2], [value], [$3]) | ||
385 | - m4_ifval([$4], | ||
386 | - [lt_dict_add_subkey([lt_decl_dict], [$2], [description], [$4])]) | ||
387 | - lt_dict_add_subkey([lt_decl_dict], [$2], | ||
388 | - [tagged?], [m4_ifval([$5], [yes], [no])])]) | ||
389 | -]) | ||
390 | - | ||
391 | - | ||
392 | -# _LT_TAGDECL([CONFIGNAME], VARNAME, VALUE, [DESCRIPTION]) | ||
393 | -# -------------------------------------------------------- | ||
394 | -m4_define([_LT_TAGDECL], [_LT_DECL([$1], [$2], [$3], [$4], [yes])]) | ||
395 | - | ||
396 | - | ||
397 | -# lt_decl_tag_varnames([SEPARATOR], [VARNAME1...]) | ||
398 | -# ------------------------------------------------ | ||
399 | -m4_define([lt_decl_tag_varnames], | ||
400 | -[_lt_decl_filter([tagged?], [yes], $@)]) | ||
401 | - | ||
402 | - | ||
403 | -# _lt_decl_filter(SUBKEY, VALUE, [SEPARATOR], [VARNAME1..]) | ||
404 | -# --------------------------------------------------------- | ||
405 | -m4_define([_lt_decl_filter], | ||
406 | -[m4_case([$#], | ||
407 | - [0], [m4_fatal([$0: too few arguments: $#])], | ||
408 | - [1], [m4_fatal([$0: too few arguments: $#: $1])], | ||
409 | - [2], [lt_dict_filter([lt_decl_dict], [$1], [$2], [], lt_decl_varnames)], | ||
410 | - [3], [lt_dict_filter([lt_decl_dict], [$1], [$2], [$3], lt_decl_varnames)], | ||
411 | - [lt_dict_filter([lt_decl_dict], $@)])[]dnl | ||
412 | -]) | ||
413 | - | ||
414 | - | ||
415 | -# lt_decl_quote_varnames([SEPARATOR], [VARNAME1...]) | ||
416 | -# -------------------------------------------------- | ||
417 | -m4_define([lt_decl_quote_varnames], | ||
418 | -[_lt_decl_filter([value], [1], $@)]) | ||
419 | - | ||
420 | - | ||
421 | -# lt_decl_dquote_varnames([SEPARATOR], [VARNAME1...]) | ||
422 | -# --------------------------------------------------- | ||
423 | -m4_define([lt_decl_dquote_varnames], | ||
424 | -[_lt_decl_filter([value], [2], $@)]) | ||
425 | - | ||
426 | - | ||
427 | -# lt_decl_varnames_tagged([SEPARATOR], [VARNAME1...]) | ||
428 | -# --------------------------------------------------- | ||
429 | -m4_define([lt_decl_varnames_tagged], | ||
430 | -[m4_assert([$# <= 2])dnl | ||
431 | -_$0(m4_quote(m4_default([$1], [[, ]])), | ||
432 | - m4_ifval([$2], [[$2]], [m4_dquote(lt_decl_tag_varnames)]), | ||
433 | - m4_split(m4_normalize(m4_quote(_LT_TAGS)), [ ]))]) | ||
434 | -m4_define([_lt_decl_varnames_tagged], | ||
435 | -[m4_ifval([$3], [lt_combine([$1], [$2], [_], $3)])]) | ||
436 | - | ||
437 | - | ||
438 | -# lt_decl_all_varnames([SEPARATOR], [VARNAME1...]) | ||
439 | -# ------------------------------------------------ | ||
440 | -m4_define([lt_decl_all_varnames], | ||
441 | -[_$0(m4_quote(m4_default([$1], [[, ]])), | ||
442 | - m4_if([$2], [], | ||
443 | - m4_quote(lt_decl_varnames), | ||
444 | - m4_quote(m4_shift($@))))[]dnl | ||
445 | -]) | ||
446 | -m4_define([_lt_decl_all_varnames], | ||
447 | -[lt_join($@, lt_decl_varnames_tagged([$1], | ||
448 | - lt_decl_tag_varnames([[, ]], m4_shift($@))))dnl | ||
449 | -]) | ||
450 | - | ||
451 | - | ||
452 | -# _LT_CONFIG_STATUS_DECLARE([VARNAME]) | ||
453 | -# ------------------------------------ | ||
454 | -# Quote a variable value, and forward it to `config.status' so that its | ||
455 | -# declaration there will have the same value as in `configure'. VARNAME | ||
456 | -# must have a single quote delimited value for this to work. | ||
457 | -m4_define([_LT_CONFIG_STATUS_DECLARE], | ||
458 | -[$1='`$ECHO "X$][$1" | $Xsed -e "$delay_single_quote_subst"`']) | ||
459 | - | ||
460 | - | ||
461 | -# _LT_CONFIG_STATUS_DECLARATIONS | ||
462 | -# ------------------------------ | ||
463 | -# We delimit libtool config variables with single quotes, so when | ||
464 | -# we write them to config.status, we have to be sure to quote all | ||
465 | -# embedded single quotes properly. In configure, this macro expands | ||
466 | -# each variable declared with _LT_DECL (and _LT_TAGDECL) into: | ||
467 | -# | ||
468 | -# <var>='`$ECHO "X$<var>" | $Xsed -e "$delay_single_quote_subst"`' | ||
469 | -m4_defun([_LT_CONFIG_STATUS_DECLARATIONS], | ||
470 | -[m4_foreach([_lt_var], m4_quote(lt_decl_all_varnames), | ||
471 | - [m4_n([_LT_CONFIG_STATUS_DECLARE(_lt_var)])])]) | ||
472 | - | ||
473 | - | ||
474 | -# _LT_LIBTOOL_TAGS | ||
475 | -# ---------------- | ||
476 | -# Output comment and list of tags supported by the script | ||
477 | -m4_defun([_LT_LIBTOOL_TAGS], | ||
478 | -[_LT_FORMAT_COMMENT([The names of the tagged configurations supported by this script])dnl | ||
479 | -available_tags="_LT_TAGS"dnl | ||
480 | -]) | ||
481 | - | ||
482 | - | ||
483 | -# _LT_LIBTOOL_DECLARE(VARNAME, [TAG]) | ||
484 | -# ----------------------------------- | ||
485 | -# Extract the dictionary values for VARNAME (optionally with TAG) and | ||
486 | -# expand to a commented shell variable setting: | ||
487 | -# | ||
488 | -# # Some comment about what VAR is for. | ||
489 | -# visible_name=$lt_internal_name | ||
490 | -m4_define([_LT_LIBTOOL_DECLARE], | ||
491 | -[_LT_FORMAT_COMMENT(m4_quote(lt_dict_fetch([lt_decl_dict], [$1], | ||
492 | - [description])))[]dnl | ||
493 | -m4_pushdef([_libtool_name], | ||
494 | - m4_quote(lt_dict_fetch([lt_decl_dict], [$1], [libtool_name])))[]dnl | ||
495 | -m4_case(m4_quote(lt_dict_fetch([lt_decl_dict], [$1], [value])), | ||
496 | - [0], [_libtool_name=[$]$1], | ||
497 | - [1], [_libtool_name=$lt_[]$1], | ||
498 | - [2], [_libtool_name=$lt_[]$1], | ||
499 | - [_libtool_name=lt_dict_fetch([lt_decl_dict], [$1], [value])])[]dnl | ||
500 | -m4_ifval([$2], [_$2])[]m4_popdef([_libtool_name])[]dnl | ||
501 | -]) | ||
502 | - | ||
503 | - | ||
504 | -# _LT_LIBTOOL_CONFIG_VARS | ||
505 | -# ----------------------- | ||
506 | -# Produce commented declarations of non-tagged libtool config variables | ||
507 | -# suitable for insertion in the LIBTOOL CONFIG section of the `libtool' | ||
508 | -# script. Tagged libtool config variables (even for the LIBTOOL CONFIG | ||
509 | -# section) are produced by _LT_LIBTOOL_TAG_VARS. | ||
510 | -m4_defun([_LT_LIBTOOL_CONFIG_VARS], | ||
511 | -[m4_foreach([_lt_var], | ||
512 | - m4_quote(_lt_decl_filter([tagged?], [no], [], lt_decl_varnames)), | ||
513 | - [m4_n([_LT_LIBTOOL_DECLARE(_lt_var)])])]) | ||
514 | - | ||
515 | - | ||
516 | -# _LT_LIBTOOL_TAG_VARS(TAG) | ||
517 | -# ------------------------- | ||
518 | -m4_define([_LT_LIBTOOL_TAG_VARS], | ||
519 | -[m4_foreach([_lt_var], m4_quote(lt_decl_tag_varnames), | ||
520 | - [m4_n([_LT_LIBTOOL_DECLARE(_lt_var, [$1])])])]) | ||
521 | - | ||
522 | - | ||
523 | -# _LT_TAGVAR(VARNAME, [TAGNAME]) | ||
524 | -# ------------------------------ | ||
525 | -m4_define([_LT_TAGVAR], [m4_ifval([$2], [$1_$2], [$1])]) | ||
526 | - | ||
527 | - | ||
528 | -# _LT_CONFIG_COMMANDS | ||
529 | -# ------------------- | ||
530 | -# Send accumulated output to $CONFIG_STATUS. Thanks to the lists of | ||
531 | -# variables for single and double quote escaping we saved from calls | ||
532 | -# to _LT_DECL, we can put quote escaped variables declarations | ||
533 | -# into `config.status', and then the shell code to quote escape them in | ||
534 | -# for loops in `config.status'. Finally, any additional code accumulated | ||
535 | -# from calls to _LT_CONFIG_LIBTOOL_INIT is expanded. | ||
536 | -m4_defun([_LT_CONFIG_COMMANDS], | ||
537 | -[AC_PROVIDE_IFELSE([LT_OUTPUT], | ||
538 | - dnl If the libtool generation code has been placed in $CONFIG_LT, | ||
539 | - dnl instead of duplicating it all over again into config.status, | ||
540 | - dnl then we will have config.status run $CONFIG_LT later, so it | ||
541 | - dnl needs to know what name is stored there: | ||
542 | - [AC_CONFIG_COMMANDS([libtool], | ||
543 | - [$SHELL $CONFIG_LT || AS_EXIT(1)], [CONFIG_LT='$CONFIG_LT'])], | ||
544 | - dnl If the libtool generation code is destined for config.status, | ||
545 | - dnl expand the accumulated commands and init code now: | ||
546 | - [AC_CONFIG_COMMANDS([libtool], | ||
547 | - [_LT_OUTPUT_LIBTOOL_COMMANDS], [_LT_OUTPUT_LIBTOOL_COMMANDS_INIT])]) | ||
548 | -])#_LT_CONFIG_COMMANDS | ||
549 | - | ||
550 | - | ||
551 | -# Initialize. | ||
552 | -m4_define([_LT_OUTPUT_LIBTOOL_COMMANDS_INIT], | ||
553 | -[ | ||
554 | - | ||
555 | -# The HP-UX ksh and POSIX shell print the target directory to stdout | ||
556 | -# if CDPATH is set. | ||
557 | -(unset CDPATH) >/dev/null 2>&1 && unset CDPATH | ||
558 | - | ||
559 | -sed_quote_subst='$sed_quote_subst' | ||
560 | -double_quote_subst='$double_quote_subst' | ||
561 | -delay_variable_subst='$delay_variable_subst' | ||
562 | -_LT_CONFIG_STATUS_DECLARATIONS | ||
563 | -LTCC='$LTCC' | ||
564 | -LTCFLAGS='$LTCFLAGS' | ||
565 | -compiler='$compiler_DEFAULT' | ||
566 | - | ||
567 | -# Quote evaled strings. | ||
568 | -for var in lt_decl_all_varnames([[ \ | ||
569 | -]], lt_decl_quote_varnames); do | ||
570 | - case \`eval \\\\\$ECHO "X\\\\\$\$var"\` in | ||
571 | - *[[\\\\\\\`\\"\\\$]]*) | ||
572 | - eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"X\\\$\$var\\" | \\\$Xsed -e \\"\\\$sed_quote_subst\\"\\\`\\\\\\"" | ||
573 | - ;; | ||
574 | - *) | ||
575 | - eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\"" | ||
576 | - ;; | ||
577 | - esac | ||
578 | -done | ||
579 | - | ||
580 | -# Double-quote double-evaled strings. | ||
581 | -for var in lt_decl_all_varnames([[ \ | ||
582 | -]], lt_decl_dquote_varnames); do | ||
583 | - case \`eval \\\\\$ECHO "X\\\\\$\$var"\` in | ||
584 | - *[[\\\\\\\`\\"\\\$]]*) | ||
585 | - eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"X\\\$\$var\\" | \\\$Xsed -e \\"\\\$double_quote_subst\\" -e \\"\\\$sed_quote_subst\\" -e \\"\\\$delay_variable_subst\\"\\\`\\\\\\"" | ||
586 | - ;; | ||
587 | - *) | ||
588 | - eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\"" | ||
589 | - ;; | ||
590 | - esac | ||
591 | -done | ||
592 | - | ||
593 | -# Fix-up fallback echo if it was mangled by the above quoting rules. | ||
594 | -case \$lt_ECHO in | ||
595 | -*'\\\[$]0 --fallback-echo"')dnl " | ||
596 | - lt_ECHO=\`\$ECHO "X\$lt_ECHO" | \$Xsed -e 's/\\\\\\\\\\\\\\\[$]0 --fallback-echo"\[$]/\[$]0 --fallback-echo"/'\` | ||
597 | - ;; | ||
598 | -esac | ||
599 | - | ||
600 | -_LT_OUTPUT_LIBTOOL_INIT | ||
601 | -]) | ||
602 | - | ||
603 | - | ||
604 | -# LT_OUTPUT | ||
605 | -# --------- | ||
606 | -# This macro allows early generation of the libtool script (before | ||
607 | -# AC_OUTPUT is called), incase it is used in configure for compilation | ||
608 | -# tests. | ||
609 | -AC_DEFUN([LT_OUTPUT], | ||
610 | -[: ${CONFIG_LT=./config.lt} | ||
611 | -AC_MSG_NOTICE([creating $CONFIG_LT]) | ||
612 | -cat >"$CONFIG_LT" <<_LTEOF | ||
613 | -#! $SHELL | ||
614 | -# Generated by $as_me. | ||
615 | -# Run this file to recreate a libtool stub with the current configuration. | ||
616 | - | ||
617 | -lt_cl_silent=false | ||
618 | -SHELL=\${CONFIG_SHELL-$SHELL} | ||
619 | -_LTEOF | ||
620 | - | ||
621 | -cat >>"$CONFIG_LT" <<\_LTEOF | ||
622 | -AS_SHELL_SANITIZE | ||
623 | -_AS_PREPARE | ||
624 | - | ||
625 | -exec AS_MESSAGE_FD>&1 | ||
626 | -exec AS_MESSAGE_LOG_FD>>config.log | ||
627 | -{ | ||
628 | - echo | ||
629 | - AS_BOX([Running $as_me.]) | ||
630 | -} >&AS_MESSAGE_LOG_FD | ||
631 | - | ||
632 | -lt_cl_help="\ | ||
633 | -\`$as_me' creates a local libtool stub from the current configuration, | ||
634 | -for use in further configure time tests before the real libtool is | ||
635 | -generated. | ||
636 | - | ||
637 | -Usage: $[0] [[OPTIONS]] | ||
638 | - | ||
639 | - -h, --help print this help, then exit | ||
640 | - -V, --version print version number, then exit | ||
641 | - -q, --quiet do not print progress messages | ||
642 | - -d, --debug don't remove temporary files | ||
643 | - | ||
644 | -Report bugs to <bug-libtool@gnu.org>." | ||
645 | - | ||
646 | -lt_cl_version="\ | ||
647 | -m4_ifset([AC_PACKAGE_NAME], [AC_PACKAGE_NAME ])config.lt[]dnl | ||
648 | -m4_ifset([AC_PACKAGE_VERSION], [ AC_PACKAGE_VERSION]) | ||
649 | -configured by $[0], generated by m4_PACKAGE_STRING. | ||
650 | - | ||
651 | -Copyright (C) 2008 Free Software Foundation, Inc. | ||
652 | -This config.lt script is free software; the Free Software Foundation | ||
653 | -gives unlimited permision to copy, distribute and modify it." | ||
654 | - | ||
655 | -while test $[#] != 0 | ||
656 | -do | ||
657 | - case $[1] in | ||
658 | - --version | --v* | -V ) | ||
659 | - echo "$lt_cl_version"; exit 0 ;; | ||
660 | - --help | --h* | -h ) | ||
661 | - echo "$lt_cl_help"; exit 0 ;; | ||
662 | - --debug | --d* | -d ) | ||
663 | - debug=: ;; | ||
664 | - --quiet | --q* | --silent | --s* | -q ) | ||
665 | - lt_cl_silent=: ;; | ||
666 | - | ||
667 | - -*) AC_MSG_ERROR([unrecognized option: $[1] | ||
668 | -Try \`$[0] --help' for more information.]) ;; | ||
669 | - | ||
670 | - *) AC_MSG_ERROR([unrecognized argument: $[1] | ||
671 | -Try \`$[0] --help' for more information.]) ;; | ||
672 | - esac | ||
673 | - shift | ||
674 | -done | ||
675 | - | ||
676 | -if $lt_cl_silent; then | ||
677 | - exec AS_MESSAGE_FD>/dev/null | ||
678 | -fi | ||
679 | -_LTEOF | ||
680 | - | ||
681 | -cat >>"$CONFIG_LT" <<_LTEOF | ||
682 | -_LT_OUTPUT_LIBTOOL_COMMANDS_INIT | ||
683 | -_LTEOF | ||
684 | - | ||
685 | -cat >>"$CONFIG_LT" <<\_LTEOF | ||
686 | -AC_MSG_NOTICE([creating $ofile]) | ||
687 | -_LT_OUTPUT_LIBTOOL_COMMANDS | ||
688 | -AS_EXIT(0) | ||
689 | -_LTEOF | ||
690 | -chmod +x "$CONFIG_LT" | ||
691 | - | ||
692 | -# configure is writing to config.log, but config.lt does its own redirection, | ||
693 | -# appending to config.log, which fails on DOS, as config.log is still kept | ||
694 | -# open by configure. Here we exec the FD to /dev/null, effectively closing | ||
695 | -# config.log, so it can be properly (re)opened and appended to by config.lt. | ||
696 | -if test "$no_create" != yes; then | ||
697 | - lt_cl_success=: | ||
698 | - test "$silent" = yes && | ||
699 | - lt_config_lt_args="$lt_config_lt_args --quiet" | ||
700 | - exec AS_MESSAGE_LOG_FD>/dev/null | ||
701 | - $SHELL "$CONFIG_LT" $lt_config_lt_args || lt_cl_success=false | ||
702 | - exec AS_MESSAGE_LOG_FD>>config.log | ||
703 | - $lt_cl_success || AS_EXIT(1) | ||
704 | -fi | ||
705 | -])# LT_OUTPUT | ||
706 | - | ||
707 | - | ||
708 | -# _LT_CONFIG(TAG) | ||
709 | -# --------------- | ||
710 | -# If TAG is the built-in tag, create an initial libtool script with a | ||
711 | -# default configuration from the untagged config vars. Otherwise add code | ||
712 | -# to config.status for appending the configuration named by TAG from the | ||
713 | -# matching tagged config vars. | ||
714 | -m4_defun([_LT_CONFIG], | ||
715 | -[m4_require([_LT_FILEUTILS_DEFAULTS])dnl | ||
716 | -_LT_CONFIG_SAVE_COMMANDS([ | ||
717 | - m4_define([_LT_TAG], m4_if([$1], [], [C], [$1]))dnl | ||
718 | - m4_if(_LT_TAG, [C], [ | ||
719 | - # See if we are running on zsh, and set the options which allow our | ||
720 | - # commands through without removal of \ escapes. | ||
721 | - if test -n "${ZSH_VERSION+set}" ; then | ||
722 | - setopt NO_GLOB_SUBST | ||
723 | - fi | ||
724 | - | ||
725 | - cfgfile="${ofile}T" | ||
726 | - trap "$RM \"$cfgfile\"; exit 1" 1 2 15 | ||
727 | - $RM "$cfgfile" | ||
728 | - | ||
729 | - cat <<_LT_EOF >> "$cfgfile" | ||
730 | -#! $SHELL | ||
731 | - | ||
732 | -# `$ECHO "$ofile" | sed 's%^.*/%%'` - Provide generalized library-building support services. | ||
733 | -# Generated automatically by $as_me ($PACKAGE$TIMESTAMP) $VERSION | ||
734 | -# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`: | ||
735 | -# NOTE: Changes made to this file will be lost: look at ltmain.sh. | ||
736 | -# | ||
737 | -_LT_COPYING | ||
738 | -_LT_LIBTOOL_TAGS | ||
739 | - | ||
740 | -# ### BEGIN LIBTOOL CONFIG | ||
741 | -_LT_LIBTOOL_CONFIG_VARS | ||
742 | -_LT_LIBTOOL_TAG_VARS | ||
743 | -# ### END LIBTOOL CONFIG | ||
744 | - | ||
745 | -_LT_EOF | ||
746 | - | ||
747 | - case $host_os in | ||
748 | - aix3*) | ||
749 | - cat <<\_LT_EOF >> "$cfgfile" | ||
750 | -# AIX sometimes has problems with the GCC collect2 program. For some | ||
751 | -# reason, if we set the COLLECT_NAMES environment variable, the problems | ||
752 | -# vanish in a puff of smoke. | ||
753 | -if test "X${COLLECT_NAMES+set}" != Xset; then | ||
754 | - COLLECT_NAMES= | ||
755 | - export COLLECT_NAMES | ||
756 | -fi | ||
757 | -_LT_EOF | ||
758 | - ;; | ||
759 | - esac | ||
760 | - | ||
761 | - _LT_PROG_LTMAIN | ||
762 | - | ||
763 | - # We use sed instead of cat because bash on DJGPP gets confused if | ||
764 | - # if finds mixed CR/LF and LF-only lines. Since sed operates in | ||
765 | - # text mode, it properly converts lines to CR/LF. This bash problem | ||
766 | - # is reportedly fixed, but why not run on old versions too? | ||
767 | - sed '/^# Generated shell functions inserted here/q' "$ltmain" >> "$cfgfile" \ | ||
768 | - || (rm -f "$cfgfile"; exit 1) | ||
769 | - | ||
770 | - _LT_PROG_XSI_SHELLFNS | ||
771 | - | ||
772 | - sed -n '/^# Generated shell functions inserted here/,$p' "$ltmain" >> "$cfgfile" \ | ||
773 | - || (rm -f "$cfgfile"; exit 1) | ||
774 | - | ||
775 | - mv -f "$cfgfile" "$ofile" || | ||
776 | - (rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile") | ||
777 | - chmod +x "$ofile" | ||
778 | -], | ||
779 | -[cat <<_LT_EOF >> "$ofile" | ||
780 | - | ||
781 | -dnl Unfortunately we have to use $1 here, since _LT_TAG is not expanded | ||
782 | -dnl in a comment (ie after a #). | ||
783 | -# ### BEGIN LIBTOOL TAG CONFIG: $1 | ||
784 | -_LT_LIBTOOL_TAG_VARS(_LT_TAG) | ||
785 | -# ### END LIBTOOL TAG CONFIG: $1 | ||
786 | -_LT_EOF | ||
787 | -])dnl /m4_if | ||
788 | -], | ||
789 | -[m4_if([$1], [], [ | ||
790 | - PACKAGE='$PACKAGE' | ||
791 | - VERSION='$VERSION' | ||
792 | - TIMESTAMP='$TIMESTAMP' | ||
793 | - RM='$RM' | ||
794 | - ofile='$ofile'], []) | ||
795 | -])dnl /_LT_CONFIG_SAVE_COMMANDS | ||
796 | -])# _LT_CONFIG | ||
797 | - | ||
798 | - | ||
799 | -# LT_SUPPORTED_TAG(TAG) | ||
800 | -# --------------------- | ||
801 | -# Trace this macro to discover what tags are supported by the libtool | ||
802 | -# --tag option, using: | ||
803 | -# autoconf --trace 'LT_SUPPORTED_TAG:$1' | ||
804 | -AC_DEFUN([LT_SUPPORTED_TAG], []) | ||
805 | - | ||
806 | - | ||
807 | -# C support is built-in for now | ||
808 | -m4_define([_LT_LANG_C_enabled], []) | ||
809 | -m4_define([_LT_TAGS], []) | ||
810 | - | ||
811 | - | ||
812 | -# LT_LANG(LANG) | ||
813 | -# ------------- | ||
814 | -# Enable libtool support for the given language if not already enabled. | ||
815 | -AC_DEFUN([LT_LANG], | ||
816 | -[AC_BEFORE([$0], [LT_OUTPUT])dnl | ||
817 | -m4_case([$1], | ||
818 | - [C], [_LT_LANG(C)], | ||
819 | - [C++], [_LT_LANG(CXX)], | ||
820 | - [Java], [_LT_LANG(GCJ)], | ||
821 | - [Fortran 77], [_LT_LANG(F77)], | ||
822 | - [Fortran], [_LT_LANG(FC)], | ||
823 | - [Windows Resource], [_LT_LANG(RC)], | ||
824 | - [m4_ifdef([_LT_LANG_]$1[_CONFIG], | ||
825 | - [_LT_LANG($1)], | ||
826 | - [m4_fatal([$0: unsupported language: "$1"])])])dnl | ||
827 | -])# LT_LANG | ||
828 | - | ||
829 | - | ||
830 | -# _LT_LANG(LANGNAME) | ||
831 | -# ------------------ | ||
832 | -m4_defun([_LT_LANG], | ||
833 | -[m4_ifdef([_LT_LANG_]$1[_enabled], [], | ||
834 | - [LT_SUPPORTED_TAG([$1])dnl | ||
835 | - m4_append([_LT_TAGS], [$1 ])dnl | ||
836 | - m4_define([_LT_LANG_]$1[_enabled], [])dnl | ||
837 | - _LT_LANG_$1_CONFIG($1)])dnl | ||
838 | -])# _LT_LANG | ||
839 | - | ||
840 | - | ||
841 | -# _LT_LANG_DEFAULT_CONFIG | ||
842 | -# ----------------------- | ||
843 | -m4_defun([_LT_LANG_DEFAULT_CONFIG], | ||
844 | -[AC_PROVIDE_IFELSE([AC_PROG_CXX], | ||
845 | - [LT_LANG(CXX)], | ||
846 | - [m4_define([AC_PROG_CXX], defn([AC_PROG_CXX])[LT_LANG(CXX)])]) | ||
847 | - | ||
848 | -AC_PROVIDE_IFELSE([AC_PROG_F77], | ||
849 | - [LT_LANG(F77)], | ||
850 | - [m4_define([AC_PROG_F77], defn([AC_PROG_F77])[LT_LANG(F77)])]) | ||
851 | - | ||
852 | -AC_PROVIDE_IFELSE([AC_PROG_FC], | ||
853 | - [LT_LANG(FC)], | ||
854 | - [m4_define([AC_PROG_FC], defn([AC_PROG_FC])[LT_LANG(FC)])]) | ||
855 | - | ||
856 | -dnl The call to [A][M_PROG_GCJ] is quoted like that to stop aclocal | ||
857 | -dnl pulling things in needlessly. | ||
858 | -AC_PROVIDE_IFELSE([AC_PROG_GCJ], | ||
859 | - [LT_LANG(GCJ)], | ||
860 | - [AC_PROVIDE_IFELSE([A][M_PROG_GCJ], | ||
861 | - [LT_LANG(GCJ)], | ||
862 | - [AC_PROVIDE_IFELSE([LT_PROG_GCJ], | ||
863 | - [LT_LANG(GCJ)], | ||
864 | - [m4_ifdef([AC_PROG_GCJ], | ||
865 | - [m4_define([AC_PROG_GCJ], defn([AC_PROG_GCJ])[LT_LANG(GCJ)])]) | ||
866 | - m4_ifdef([A][M_PROG_GCJ], | ||
867 | - [m4_define([A][M_PROG_GCJ], defn([A][M_PROG_GCJ])[LT_LANG(GCJ)])]) | ||
868 | - m4_ifdef([LT_PROG_GCJ], | ||
869 | - [m4_define([LT_PROG_GCJ], defn([LT_PROG_GCJ])[LT_LANG(GCJ)])])])])]) | ||
870 | - | ||
871 | -AC_PROVIDE_IFELSE([LT_PROG_RC], | ||
872 | - [LT_LANG(RC)], | ||
873 | - [m4_define([LT_PROG_RC], defn([LT_PROG_RC])[LT_LANG(RC)])]) | ||
874 | -])# _LT_LANG_DEFAULT_CONFIG | ||
875 | - | ||
876 | -# Obsolete macros: | ||
877 | -AU_DEFUN([AC_LIBTOOL_CXX], [LT_LANG(C++)]) | ||
878 | -AU_DEFUN([AC_LIBTOOL_F77], [LT_LANG(Fortran 77)]) | ||
879 | -AU_DEFUN([AC_LIBTOOL_FC], [LT_LANG(Fortran)]) | ||
880 | -AU_DEFUN([AC_LIBTOOL_GCJ], [LT_LANG(Java)]) | ||
881 | -dnl aclocal-1.4 backwards compatibility: | ||
882 | -dnl AC_DEFUN([AC_LIBTOOL_CXX], []) | ||
883 | -dnl AC_DEFUN([AC_LIBTOOL_F77], []) | ||
884 | -dnl AC_DEFUN([AC_LIBTOOL_FC], []) | ||
885 | -dnl AC_DEFUN([AC_LIBTOOL_GCJ], []) | ||
886 | - | ||
887 | - | ||
888 | -# _LT_TAG_COMPILER | ||
889 | -# ---------------- | ||
890 | -m4_defun([_LT_TAG_COMPILER], | ||
891 | -[AC_REQUIRE([AC_PROG_CC])dnl | ||
892 | - | ||
893 | -_LT_DECL([LTCC], [CC], [1], [A C compiler])dnl | ||
894 | -_LT_DECL([LTCFLAGS], [CFLAGS], [1], [LTCC compiler flags])dnl | ||
895 | -_LT_TAGDECL([CC], [compiler], [1], [A language specific compiler])dnl | ||
896 | -_LT_TAGDECL([with_gcc], [GCC], [0], [Is the compiler the GNU compiler?])dnl | ||
897 | - | ||
898 | -# If no C compiler was specified, use CC. | ||
899 | -LTCC=${LTCC-"$CC"} | ||
900 | - | ||
901 | -# If no C compiler flags were specified, use CFLAGS. | ||
902 | -LTCFLAGS=${LTCFLAGS-"$CFLAGS"} | ||
903 | - | ||
904 | -# Allow CC to be a program name with arguments. | ||
905 | -compiler=$CC | ||
906 | -])# _LT_TAG_COMPILER | ||
907 | - | ||
908 | - | ||
909 | -# _LT_COMPILER_BOILERPLATE | ||
910 | -# ------------------------ | ||
911 | -# Check for compiler boilerplate output or warnings with | ||
912 | -# the simple compiler test code. | ||
913 | -m4_defun([_LT_COMPILER_BOILERPLATE], | ||
914 | -[m4_require([_LT_DECL_SED])dnl | ||
915 | -ac_outfile=conftest.$ac_objext | ||
916 | -echo "$lt_simple_compile_test_code" >conftest.$ac_ext | ||
917 | -eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err | ||
918 | -_lt_compiler_boilerplate=`cat conftest.err` | ||
919 | -$RM conftest* | ||
920 | -])# _LT_COMPILER_BOILERPLATE | ||
921 | - | ||
922 | - | ||
923 | -# _LT_LINKER_BOILERPLATE | ||
924 | -# ---------------------- | ||
925 | -# Check for linker boilerplate output or warnings with | ||
926 | -# the simple link test code. | ||
927 | -m4_defun([_LT_LINKER_BOILERPLATE], | ||
928 | -[m4_require([_LT_DECL_SED])dnl | ||
929 | -ac_outfile=conftest.$ac_objext | ||
930 | -echo "$lt_simple_link_test_code" >conftest.$ac_ext | ||
931 | -eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err | ||
932 | -_lt_linker_boilerplate=`cat conftest.err` | ||
933 | -$RM -r conftest* | ||
934 | -])# _LT_LINKER_BOILERPLATE | ||
935 | - | ||
936 | -# _LT_REQUIRED_DARWIN_CHECKS | ||
937 | -# ------------------------- | ||
938 | -m4_defun_once([_LT_REQUIRED_DARWIN_CHECKS],[ | ||
939 | - case $host_os in | ||
940 | - rhapsody* | darwin*) | ||
941 | - AC_CHECK_TOOL([DSYMUTIL], [dsymutil], [:]) | ||
942 | - AC_CHECK_TOOL([NMEDIT], [nmedit], [:]) | ||
943 | - AC_CHECK_TOOL([LIPO], [lipo], [:]) | ||
944 | - AC_CHECK_TOOL([OTOOL], [otool], [:]) | ||
945 | - AC_CHECK_TOOL([OTOOL64], [otool64], [:]) | ||
946 | - _LT_DECL([], [DSYMUTIL], [1], | ||
947 | - [Tool to manipulate archived DWARF debug symbol files on Mac OS X]) | ||
948 | - _LT_DECL([], [NMEDIT], [1], | ||
949 | - [Tool to change global to local symbols on Mac OS X]) | ||
950 | - _LT_DECL([], [LIPO], [1], | ||
951 | - [Tool to manipulate fat objects and archives on Mac OS X]) | ||
952 | - _LT_DECL([], [OTOOL], [1], | ||
953 | - [ldd/readelf like tool for Mach-O binaries on Mac OS X]) | ||
954 | - _LT_DECL([], [OTOOL64], [1], | ||
955 | - [ldd/readelf like tool for 64 bit Mach-O binaries on Mac OS X 10.4]) | ||
956 | - | ||
957 | - AC_CACHE_CHECK([for -single_module linker flag],[lt_cv_apple_cc_single_mod], | ||
958 | - [lt_cv_apple_cc_single_mod=no | ||
959 | - if test -z "${LT_MULTI_MODULE}"; then | ||
960 | - # By default we will add the -single_module flag. You can override | ||
961 | - # by either setting the environment variable LT_MULTI_MODULE | ||
962 | - # non-empty at configure time, or by adding -multi_module to the | ||
963 | - # link flags. | ||
964 | - rm -rf libconftest.dylib* | ||
965 | - echo "int foo(void){return 1;}" > conftest.c | ||
966 | - echo "$LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \ | ||
967 | --dynamiclib -Wl,-single_module conftest.c" >&AS_MESSAGE_LOG_FD | ||
968 | - $LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \ | ||
969 | - -dynamiclib -Wl,-single_module conftest.c 2>conftest.err | ||
970 | - _lt_result=$? | ||
971 | - if test -f libconftest.dylib && test ! -s conftest.err && test $_lt_result = 0; then | ||
972 | - lt_cv_apple_cc_single_mod=yes | ||
973 | - else | ||
974 | - cat conftest.err >&AS_MESSAGE_LOG_FD | ||
975 | - fi | ||
976 | - rm -rf libconftest.dylib* | ||
977 | - rm -f conftest.* | ||
978 | - fi]) | ||
979 | - AC_CACHE_CHECK([for -exported_symbols_list linker flag], | ||
980 | - [lt_cv_ld_exported_symbols_list], | ||
981 | - [lt_cv_ld_exported_symbols_list=no | ||
982 | - save_LDFLAGS=$LDFLAGS | ||
983 | - echo "_main" > conftest.sym | ||
984 | - LDFLAGS="$LDFLAGS -Wl,-exported_symbols_list,conftest.sym" | ||
985 | - AC_LINK_IFELSE([AC_LANG_PROGRAM([],[])], | ||
986 | - [lt_cv_ld_exported_symbols_list=yes], | ||
987 | - [lt_cv_ld_exported_symbols_list=no]) | ||
988 | - LDFLAGS="$save_LDFLAGS" | ||
989 | - ]) | ||
990 | - case $host_os in | ||
991 | - rhapsody* | darwin1.[[012]]) | ||
992 | - _lt_dar_allow_undefined='${wl}-undefined ${wl}suppress' ;; | ||
993 | - darwin1.*) | ||
994 | - _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;; | ||
995 | - darwin*) # darwin 5.x on | ||
996 | - # if running on 10.5 or later, the deployment target defaults | ||
997 | - # to the OS version, if on x86, and 10.4, the deployment | ||
998 | - # target defaults to 10.4. Don't you love it? | ||
999 | - case ${MACOSX_DEPLOYMENT_TARGET-10.0},$host in | ||
1000 | - 10.0,*86*-darwin8*|10.0,*-darwin[[91]]*) | ||
1001 | - _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;; | ||
1002 | - 10.[[012]]*) | ||
1003 | - _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;; | ||
1004 | - 10.*) | ||
1005 | - _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;; | ||
1006 | - esac | ||
1007 | - ;; | ||
1008 | - esac | ||
1009 | - if test "$lt_cv_apple_cc_single_mod" = "yes"; then | ||
1010 | - _lt_dar_single_mod='$single_module' | ||
1011 | - fi | ||
1012 | - if test "$lt_cv_ld_exported_symbols_list" = "yes"; then | ||
1013 | - _lt_dar_export_syms=' ${wl}-exported_symbols_list,$output_objdir/${libname}-symbols.expsym' | ||
1014 | - else | ||
1015 | - _lt_dar_export_syms='~$NMEDIT -s $output_objdir/${libname}-symbols.expsym ${lib}' | ||
1016 | - fi | ||
1017 | - if test "$DSYMUTIL" != ":"; then | ||
1018 | - _lt_dsymutil='~$DSYMUTIL $lib || :' | ||
1019 | - else | ||
1020 | - _lt_dsymutil= | ||
1021 | - fi | ||
1022 | - ;; | ||
1023 | - esac | ||
1024 | -]) | ||
1025 | - | ||
1026 | - | ||
1027 | -# _LT_DARWIN_LINKER_FEATURES | ||
1028 | -# -------------------------- | ||
1029 | -# Checks for linker and compiler features on darwin | ||
1030 | -m4_defun([_LT_DARWIN_LINKER_FEATURES], | ||
1031 | -[ | ||
1032 | - m4_require([_LT_REQUIRED_DARWIN_CHECKS]) | ||
1033 | - _LT_TAGVAR(archive_cmds_need_lc, $1)=no | ||
1034 | - _LT_TAGVAR(hardcode_direct, $1)=no | ||
1035 | - _LT_TAGVAR(hardcode_automatic, $1)=yes | ||
1036 | - _LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported | ||
1037 | - _LT_TAGVAR(whole_archive_flag_spec, $1)='' | ||
1038 | - _LT_TAGVAR(link_all_deplibs, $1)=yes | ||
1039 | - _LT_TAGVAR(allow_undefined_flag, $1)="$_lt_dar_allow_undefined" | ||
1040 | - case $cc_basename in | ||
1041 | - ifort*) _lt_dar_can_shared=yes ;; | ||
1042 | - *) _lt_dar_can_shared=$GCC ;; | ||
1043 | - esac | ||
1044 | - if test "$_lt_dar_can_shared" = "yes"; then | ||
1045 | - output_verbose_link_cmd=echo | ||
1046 | - _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}" | ||
1047 | - _LT_TAGVAR(module_cmds, $1)="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}" | ||
1048 | - _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}" | ||
1049 | - _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}" | ||
1050 | - m4_if([$1], [CXX], | ||
1051 | -[ if test "$lt_cv_apple_cc_single_mod" != "yes"; then | ||
1052 | - _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}" | ||
1053 | - _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}" | ||
1054 | - fi | ||
1055 | -],[]) | ||
1056 | - else | ||
1057 | - _LT_TAGVAR(ld_shlibs, $1)=no | ||
1058 | - fi | ||
1059 | -]) | ||
1060 | - | ||
1061 | -# _LT_SYS_MODULE_PATH_AIX | ||
1062 | -# ----------------------- | ||
1063 | -# Links a minimal program and checks the executable | ||
1064 | -# for the system default hardcoded library path. In most cases, | ||
1065 | -# this is /usr/lib:/lib, but when the MPI compilers are used | ||
1066 | -# the location of the communication and MPI libs are included too. | ||
1067 | -# If we don't find anything, use the default library path according | ||
1068 | -# to the aix ld manual. | ||
1069 | -m4_defun([_LT_SYS_MODULE_PATH_AIX], | ||
1070 | -[m4_require([_LT_DECL_SED])dnl | ||
1071 | -AC_LINK_IFELSE(AC_LANG_PROGRAM,[ | ||
1072 | -lt_aix_libpath_sed=' | ||
1073 | - /Import File Strings/,/^$/ { | ||
1074 | - /^0/ { | ||
1075 | - s/^0 *\(.*\)$/\1/ | ||
1076 | - p | ||
1077 | - } | ||
1078 | - }' | ||
1079 | -aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` | ||
1080 | -# Check for a 64-bit object if we didn't find anything. | ||
1081 | -if test -z "$aix_libpath"; then | ||
1082 | - aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` | ||
1083 | -fi],[]) | ||
1084 | -if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi | ||
1085 | -])# _LT_SYS_MODULE_PATH_AIX | ||
1086 | - | ||
1087 | - | ||
1088 | -# _LT_SHELL_INIT(ARG) | ||
1089 | -# ------------------- | ||
1090 | -m4_define([_LT_SHELL_INIT], | ||
1091 | -[ifdef([AC_DIVERSION_NOTICE], | ||
1092 | - [AC_DIVERT_PUSH(AC_DIVERSION_NOTICE)], | ||
1093 | - [AC_DIVERT_PUSH(NOTICE)]) | ||
1094 | -$1 | ||
1095 | -AC_DIVERT_POP | ||
1096 | -])# _LT_SHELL_INIT | ||
1097 | - | ||
1098 | - | ||
1099 | -# _LT_PROG_ECHO_BACKSLASH | ||
1100 | -# ----------------------- | ||
1101 | -# Add some code to the start of the generated configure script which | ||
1102 | -# will find an echo command which doesn't interpret backslashes. | ||
1103 | -m4_defun([_LT_PROG_ECHO_BACKSLASH], | ||
1104 | -[_LT_SHELL_INIT([ | ||
1105 | -# Check that we are running under the correct shell. | ||
1106 | -SHELL=${CONFIG_SHELL-/bin/sh} | ||
1107 | - | ||
1108 | -case X$lt_ECHO in | ||
1109 | -X*--fallback-echo) | ||
1110 | - # Remove one level of quotation (which was required for Make). | ||
1111 | - ECHO=`echo "$lt_ECHO" | sed 's,\\\\\[$]\\[$]0,'[$]0','` | ||
1112 | - ;; | ||
1113 | -esac | ||
1114 | - | ||
1115 | -ECHO=${lt_ECHO-echo} | ||
1116 | -if test "X[$]1" = X--no-reexec; then | ||
1117 | - # Discard the --no-reexec flag, and continue. | ||
1118 | - shift | ||
1119 | -elif test "X[$]1" = X--fallback-echo; then | ||
1120 | - # Avoid inline document here, it may be left over | ||
1121 | - : | ||
1122 | -elif test "X`{ $ECHO '\t'; } 2>/dev/null`" = 'X\t' ; then | ||
1123 | - # Yippee, $ECHO works! | ||
1124 | - : | ||
1125 | -else | ||
1126 | - # Restart under the correct shell. | ||
1127 | - exec $SHELL "[$]0" --no-reexec ${1+"[$]@"} | ||
1128 | -fi | ||
1129 | - | ||
1130 | -if test "X[$]1" = X--fallback-echo; then | ||
1131 | - # used as fallback echo | ||
1132 | - shift | ||
1133 | - cat <<_LT_EOF | ||
1134 | -[$]* | ||
1135 | -_LT_EOF | ||
1136 | - exit 0 | ||
1137 | -fi | ||
1138 | - | ||
1139 | -# The HP-UX ksh and POSIX shell print the target directory to stdout | ||
1140 | -# if CDPATH is set. | ||
1141 | -(unset CDPATH) >/dev/null 2>&1 && unset CDPATH | ||
1142 | - | ||
1143 | -if test -z "$lt_ECHO"; then | ||
1144 | - if test "X${echo_test_string+set}" != Xset; then | ||
1145 | - # find a string as large as possible, as long as the shell can cope with it | ||
1146 | - for cmd in 'sed 50q "[$]0"' 'sed 20q "[$]0"' 'sed 10q "[$]0"' 'sed 2q "[$]0"' 'echo test'; do | ||
1147 | - # expected sizes: less than 2Kb, 1Kb, 512 bytes, 16 bytes, ... | ||
1148 | - if { echo_test_string=`eval $cmd`; } 2>/dev/null && | ||
1149 | - { test "X$echo_test_string" = "X$echo_test_string"; } 2>/dev/null | ||
1150 | - then | ||
1151 | - break | ||
1152 | - fi | ||
1153 | - done | ||
1154 | - fi | ||
1155 | - | ||
1156 | - if test "X`{ $ECHO '\t'; } 2>/dev/null`" = 'X\t' && | ||
1157 | - echo_testing_string=`{ $ECHO "$echo_test_string"; } 2>/dev/null` && | ||
1158 | - test "X$echo_testing_string" = "X$echo_test_string"; then | ||
1159 | - : | ||
1160 | - else | ||
1161 | - # The Solaris, AIX, and Digital Unix default echo programs unquote | ||
1162 | - # backslashes. This makes it impossible to quote backslashes using | ||
1163 | - # echo "$something" | sed 's/\\/\\\\/g' | ||
1164 | - # | ||
1165 | - # So, first we look for a working echo in the user's PATH. | ||
1166 | - | ||
1167 | - lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR | ||
1168 | - for dir in $PATH /usr/ucb; do | ||
1169 | - IFS="$lt_save_ifs" | ||
1170 | - if (test -f $dir/echo || test -f $dir/echo$ac_exeext) && | ||
1171 | - test "X`($dir/echo '\t') 2>/dev/null`" = 'X\t' && | ||
1172 | - echo_testing_string=`($dir/echo "$echo_test_string") 2>/dev/null` && | ||
1173 | - test "X$echo_testing_string" = "X$echo_test_string"; then | ||
1174 | - ECHO="$dir/echo" | ||
1175 | - break | ||
1176 | - fi | ||
1177 | - done | ||
1178 | - IFS="$lt_save_ifs" | ||
1179 | - | ||
1180 | - if test "X$ECHO" = Xecho; then | ||
1181 | - # We didn't find a better echo, so look for alternatives. | ||
1182 | - if test "X`{ print -r '\t'; } 2>/dev/null`" = 'X\t' && | ||
1183 | - echo_testing_string=`{ print -r "$echo_test_string"; } 2>/dev/null` && | ||
1184 | - test "X$echo_testing_string" = "X$echo_test_string"; then | ||
1185 | - # This shell has a builtin print -r that does the trick. | ||
1186 | - ECHO='print -r' | ||
1187 | - elif { test -f /bin/ksh || test -f /bin/ksh$ac_exeext; } && | ||
1188 | - test "X$CONFIG_SHELL" != X/bin/ksh; then | ||
1189 | - # If we have ksh, try running configure again with it. | ||
1190 | - ORIGINAL_CONFIG_SHELL=${CONFIG_SHELL-/bin/sh} | ||
1191 | - export ORIGINAL_CONFIG_SHELL | ||
1192 | - CONFIG_SHELL=/bin/ksh | ||
1193 | - export CONFIG_SHELL | ||
1194 | - exec $CONFIG_SHELL "[$]0" --no-reexec ${1+"[$]@"} | ||
1195 | - else | ||
1196 | - # Try using printf. | ||
1197 | - ECHO='printf %s\n' | ||
1198 | - if test "X`{ $ECHO '\t'; } 2>/dev/null`" = 'X\t' && | ||
1199 | - echo_testing_string=`{ $ECHO "$echo_test_string"; } 2>/dev/null` && | ||
1200 | - test "X$echo_testing_string" = "X$echo_test_string"; then | ||
1201 | - # Cool, printf works | ||
1202 | - : | ||
1203 | - elif echo_testing_string=`($ORIGINAL_CONFIG_SHELL "[$]0" --fallback-echo '\t') 2>/dev/null` && | ||
1204 | - test "X$echo_testing_string" = 'X\t' && | ||
1205 | - echo_testing_string=`($ORIGINAL_CONFIG_SHELL "[$]0" --fallback-echo "$echo_test_string") 2>/dev/null` && | ||
1206 | - test "X$echo_testing_string" = "X$echo_test_string"; then | ||
1207 | - CONFIG_SHELL=$ORIGINAL_CONFIG_SHELL | ||
1208 | - export CONFIG_SHELL | ||
1209 | - SHELL="$CONFIG_SHELL" | ||
1210 | - export SHELL | ||
1211 | - ECHO="$CONFIG_SHELL [$]0 --fallback-echo" | ||
1212 | - elif echo_testing_string=`($CONFIG_SHELL "[$]0" --fallback-echo '\t') 2>/dev/null` && | ||
1213 | - test "X$echo_testing_string" = 'X\t' && | ||
1214 | - echo_testing_string=`($CONFIG_SHELL "[$]0" --fallback-echo "$echo_test_string") 2>/dev/null` && | ||
1215 | - test "X$echo_testing_string" = "X$echo_test_string"; then | ||
1216 | - ECHO="$CONFIG_SHELL [$]0 --fallback-echo" | ||
1217 | - else | ||
1218 | - # maybe with a smaller string... | ||
1219 | - prev=: | ||
1220 | - | ||
1221 | - for cmd in 'echo test' 'sed 2q "[$]0"' 'sed 10q "[$]0"' 'sed 20q "[$]0"' 'sed 50q "[$]0"'; do | ||
1222 | - if { test "X$echo_test_string" = "X`eval $cmd`"; } 2>/dev/null | ||
1223 | - then | ||
1224 | - break | ||
1225 | - fi | ||
1226 | - prev="$cmd" | ||
1227 | - done | ||
1228 | - | ||
1229 | - if test "$prev" != 'sed 50q "[$]0"'; then | ||
1230 | - echo_test_string=`eval $prev` | ||
1231 | - export echo_test_string | ||
1232 | - exec ${ORIGINAL_CONFIG_SHELL-${CONFIG_SHELL-/bin/sh}} "[$]0" ${1+"[$]@"} | ||
1233 | - else | ||
1234 | - # Oops. We lost completely, so just stick with echo. | ||
1235 | - ECHO=echo | ||
1236 | - fi | ||
1237 | - fi | ||
1238 | - fi | ||
1239 | - fi | ||
1240 | - fi | ||
1241 | -fi | ||
1242 | - | ||
1243 | -# Copy echo and quote the copy suitably for passing to libtool from | ||
1244 | -# the Makefile, instead of quoting the original, which is used later. | ||
1245 | -lt_ECHO=$ECHO | ||
1246 | -if test "X$lt_ECHO" = "X$CONFIG_SHELL [$]0 --fallback-echo"; then | ||
1247 | - lt_ECHO="$CONFIG_SHELL \\\$\[$]0 --fallback-echo" | ||
1248 | -fi | ||
1249 | - | ||
1250 | -AC_SUBST(lt_ECHO) | ||
1251 | -]) | ||
1252 | -_LT_DECL([], [SHELL], [1], [Shell to use when invoking shell scripts]) | ||
1253 | -_LT_DECL([], [ECHO], [1], | ||
1254 | - [An echo program that does not interpret backslashes]) | ||
1255 | -])# _LT_PROG_ECHO_BACKSLASH | ||
1256 | - | ||
1257 | - | ||
1258 | -# _LT_ENABLE_LOCK | ||
1259 | -# --------------- | ||
1260 | -m4_defun([_LT_ENABLE_LOCK], | ||
1261 | -[AC_ARG_ENABLE([libtool-lock], | ||
1262 | - [AS_HELP_STRING([--disable-libtool-lock], | ||
1263 | - [avoid locking (might break parallel builds)])]) | ||
1264 | -test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes | ||
1265 | - | ||
1266 | -# Some flags need to be propagated to the compiler or linker for good | ||
1267 | -# libtool support. | ||
1268 | -case $host in | ||
1269 | -ia64-*-hpux*) | ||
1270 | - # Find out which ABI we are using. | ||
1271 | - echo 'int i;' > conftest.$ac_ext | ||
1272 | - if AC_TRY_EVAL(ac_compile); then | ||
1273 | - case `/usr/bin/file conftest.$ac_objext` in | ||
1274 | - *ELF-32*) | ||
1275 | - HPUX_IA64_MODE="32" | ||
1276 | - ;; | ||
1277 | - *ELF-64*) | ||
1278 | - HPUX_IA64_MODE="64" | ||
1279 | - ;; | ||
1280 | - esac | ||
1281 | - fi | ||
1282 | - rm -rf conftest* | ||
1283 | - ;; | ||
1284 | -*-*-irix6*) | ||
1285 | - # Find out which ABI we are using. | ||
1286 | - echo '[#]line __oline__ "configure"' > conftest.$ac_ext | ||
1287 | - if AC_TRY_EVAL(ac_compile); then | ||
1288 | - if test "$lt_cv_prog_gnu_ld" = yes; then | ||
1289 | - case `/usr/bin/file conftest.$ac_objext` in | ||
1290 | - *32-bit*) | ||
1291 | - LD="${LD-ld} -melf32bsmip" | ||
1292 | - ;; | ||
1293 | - *N32*) | ||
1294 | - LD="${LD-ld} -melf32bmipn32" | ||
1295 | - ;; | ||
1296 | - *64-bit*) | ||
1297 | - LD="${LD-ld} -melf64bmip" | ||
1298 | - ;; | ||
1299 | - esac | ||
1300 | - else | ||
1301 | - case `/usr/bin/file conftest.$ac_objext` in | ||
1302 | - *32-bit*) | ||
1303 | - LD="${LD-ld} -32" | ||
1304 | - ;; | ||
1305 | - *N32*) | ||
1306 | - LD="${LD-ld} -n32" | ||
1307 | - ;; | ||
1308 | - *64-bit*) | ||
1309 | - LD="${LD-ld} -64" | ||
1310 | - ;; | ||
1311 | - esac | ||
1312 | - fi | ||
1313 | - fi | ||
1314 | - rm -rf conftest* | ||
1315 | - ;; | ||
1316 | - | ||
1317 | -x86_64-*kfreebsd*-gnu|x86_64-*linux*|ppc*-*linux*|powerpc*-*linux*| \ | ||
1318 | -s390*-*linux*|s390*-*tpf*|sparc*-*linux*) | ||
1319 | - # Find out which ABI we are using. | ||
1320 | - echo 'int i;' > conftest.$ac_ext | ||
1321 | - if AC_TRY_EVAL(ac_compile); then | ||
1322 | - case `/usr/bin/file conftest.o` in | ||
1323 | - *32-bit*) | ||
1324 | - case $host in | ||
1325 | - x86_64-*kfreebsd*-gnu) | ||
1326 | - LD="${LD-ld} -m elf_i386_fbsd" | ||
1327 | - ;; | ||
1328 | - x86_64-*linux*) | ||
1329 | - LD="${LD-ld} -m elf_i386" | ||
1330 | - ;; | ||
1331 | - ppc64-*linux*|powerpc64-*linux*) | ||
1332 | - LD="${LD-ld} -m elf32ppclinux" | ||
1333 | - ;; | ||
1334 | - s390x-*linux*) | ||
1335 | - LD="${LD-ld} -m elf_s390" | ||
1336 | - ;; | ||
1337 | - sparc64-*linux*) | ||
1338 | - LD="${LD-ld} -m elf32_sparc" | ||
1339 | - ;; | ||
1340 | - esac | ||
1341 | - ;; | ||
1342 | - *64-bit*) | ||
1343 | - case $host in | ||
1344 | - x86_64-*kfreebsd*-gnu) | ||
1345 | - LD="${LD-ld} -m elf_x86_64_fbsd" | ||
1346 | - ;; | ||
1347 | - x86_64-*linux*) | ||
1348 | - LD="${LD-ld} -m elf_x86_64" | ||
1349 | - ;; | ||
1350 | - ppc*-*linux*|powerpc*-*linux*) | ||
1351 | - LD="${LD-ld} -m elf64ppc" | ||
1352 | - ;; | ||
1353 | - s390*-*linux*|s390*-*tpf*) | ||
1354 | - LD="${LD-ld} -m elf64_s390" | ||
1355 | - ;; | ||
1356 | - sparc*-*linux*) | ||
1357 | - LD="${LD-ld} -m elf64_sparc" | ||
1358 | - ;; | ||
1359 | - esac | ||
1360 | - ;; | ||
1361 | - esac | ||
1362 | - fi | ||
1363 | - rm -rf conftest* | ||
1364 | - ;; | ||
1365 | - | ||
1366 | -*-*-sco3.2v5*) | ||
1367 | - # On SCO OpenServer 5, we need -belf to get full-featured binaries. | ||
1368 | - SAVE_CFLAGS="$CFLAGS" | ||
1369 | - CFLAGS="$CFLAGS -belf" | ||
1370 | - AC_CACHE_CHECK([whether the C compiler needs -belf], lt_cv_cc_needs_belf, | ||
1371 | - [AC_LANG_PUSH(C) | ||
1372 | - AC_LINK_IFELSE([AC_LANG_PROGRAM([[]],[[]])],[lt_cv_cc_needs_belf=yes],[lt_cv_cc_needs_belf=no]) | ||
1373 | - AC_LANG_POP]) | ||
1374 | - if test x"$lt_cv_cc_needs_belf" != x"yes"; then | ||
1375 | - # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf | ||
1376 | - CFLAGS="$SAVE_CFLAGS" | ||
1377 | - fi | ||
1378 | - ;; | ||
1379 | -sparc*-*solaris*) | ||
1380 | - # Find out which ABI we are using. | ||
1381 | - echo 'int i;' > conftest.$ac_ext | ||
1382 | - if AC_TRY_EVAL(ac_compile); then | ||
1383 | - case `/usr/bin/file conftest.o` in | ||
1384 | - *64-bit*) | ||
1385 | - case $lt_cv_prog_gnu_ld in | ||
1386 | - yes*) LD="${LD-ld} -m elf64_sparc" ;; | ||
1387 | - *) | ||
1388 | - if ${LD-ld} -64 -r -o conftest2.o conftest.o >/dev/null 2>&1; then | ||
1389 | - LD="${LD-ld} -64" | ||
1390 | - fi | ||
1391 | - ;; | ||
1392 | - esac | ||
1393 | - ;; | ||
1394 | - esac | ||
1395 | - fi | ||
1396 | - rm -rf conftest* | ||
1397 | - ;; | ||
1398 | -esac | ||
1399 | - | ||
1400 | -need_locks="$enable_libtool_lock" | ||
1401 | -])# _LT_ENABLE_LOCK | ||
1402 | - | ||
1403 | - | ||
1404 | -# _LT_CMD_OLD_ARCHIVE | ||
1405 | -# ------------------- | ||
1406 | -m4_defun([_LT_CMD_OLD_ARCHIVE], | ||
1407 | -[AC_CHECK_TOOL(AR, ar, false) | ||
1408 | -test -z "$AR" && AR=ar | ||
1409 | -test -z "$AR_FLAGS" && AR_FLAGS=cru | ||
1410 | -_LT_DECL([], [AR], [1], [The archiver]) | ||
1411 | -_LT_DECL([], [AR_FLAGS], [1]) | ||
1412 | - | ||
1413 | -AC_CHECK_TOOL(STRIP, strip, :) | ||
1414 | -test -z "$STRIP" && STRIP=: | ||
1415 | -_LT_DECL([], [STRIP], [1], [A symbol stripping program]) | ||
1416 | - | ||
1417 | -AC_CHECK_TOOL(RANLIB, ranlib, :) | ||
1418 | -test -z "$RANLIB" && RANLIB=: | ||
1419 | -_LT_DECL([], [RANLIB], [1], | ||
1420 | - [Commands used to install an old-style archive]) | ||
1421 | - | ||
1422 | -# Determine commands to create old-style static archives. | ||
1423 | -old_archive_cmds='$AR $AR_FLAGS $oldlib$oldobjs' | ||
1424 | -old_postinstall_cmds='chmod 644 $oldlib' | ||
1425 | -old_postuninstall_cmds= | ||
1426 | - | ||
1427 | -if test -n "$RANLIB"; then | ||
1428 | - case $host_os in | ||
1429 | - openbsd*) | ||
1430 | - old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$oldlib" | ||
1431 | - ;; | ||
1432 | - *) | ||
1433 | - old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$oldlib" | ||
1434 | - ;; | ||
1435 | - esac | ||
1436 | - old_archive_cmds="$old_archive_cmds~\$RANLIB \$oldlib" | ||
1437 | -fi | ||
1438 | -_LT_DECL([], [old_postinstall_cmds], [2]) | ||
1439 | -_LT_DECL([], [old_postuninstall_cmds], [2]) | ||
1440 | -_LT_TAGDECL([], [old_archive_cmds], [2], | ||
1441 | - [Commands used to build an old-style archive]) | ||
1442 | -])# _LT_CMD_OLD_ARCHIVE | ||
1443 | - | ||
1444 | - | ||
1445 | -# _LT_COMPILER_OPTION(MESSAGE, VARIABLE-NAME, FLAGS, | ||
1446 | -# [OUTPUT-FILE], [ACTION-SUCCESS], [ACTION-FAILURE]) | ||
1447 | -# ---------------------------------------------------------------- | ||
1448 | -# Check whether the given compiler option works | ||
1449 | -AC_DEFUN([_LT_COMPILER_OPTION], | ||
1450 | -[m4_require([_LT_FILEUTILS_DEFAULTS])dnl | ||
1451 | -m4_require([_LT_DECL_SED])dnl | ||
1452 | -AC_CACHE_CHECK([$1], [$2], | ||
1453 | - [$2=no | ||
1454 | - m4_if([$4], , [ac_outfile=conftest.$ac_objext], [ac_outfile=$4]) | ||
1455 | - echo "$lt_simple_compile_test_code" > conftest.$ac_ext | ||
1456 | - lt_compiler_flag="$3" | ||
1457 | - # Insert the option either (1) after the last *FLAGS variable, or | ||
1458 | - # (2) before a word containing "conftest.", or (3) at the end. | ||
1459 | - # Note that $ac_compile itself does not contain backslashes and begins | ||
1460 | - # with a dollar sign (not a hyphen), so the echo should work correctly. | ||
1461 | - # The option is referenced via a variable to avoid confusing sed. | ||
1462 | - lt_compile=`echo "$ac_compile" | $SED \ | ||
1463 | - -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ | ||
1464 | - -e 's: [[^ ]]*conftest\.: $lt_compiler_flag&:; t' \ | ||
1465 | - -e 's:$: $lt_compiler_flag:'` | ||
1466 | - (eval echo "\"\$as_me:__oline__: $lt_compile\"" >&AS_MESSAGE_LOG_FD) | ||
1467 | - (eval "$lt_compile" 2>conftest.err) | ||
1468 | - ac_status=$? | ||
1469 | - cat conftest.err >&AS_MESSAGE_LOG_FD | ||
1470 | - echo "$as_me:__oline__: \$? = $ac_status" >&AS_MESSAGE_LOG_FD | ||
1471 | - if (exit $ac_status) && test -s "$ac_outfile"; then | ||
1472 | - # The compiler can only warn and ignore the option if not recognized | ||
1473 | - # So say no if there are warnings other than the usual output. | ||
1474 | - $ECHO "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp | ||
1475 | - $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 | ||
1476 | - if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then | ||
1477 | - $2=yes | ||
1478 | - fi | ||
1479 | - fi | ||
1480 | - $RM conftest* | ||
1481 | -]) | ||
1482 | - | ||
1483 | -if test x"[$]$2" = xyes; then | ||
1484 | - m4_if([$5], , :, [$5]) | ||
1485 | -else | ||
1486 | - m4_if([$6], , :, [$6]) | ||
1487 | -fi | ||
1488 | -])# _LT_COMPILER_OPTION | ||
1489 | - | ||
1490 | -# Old name: | ||
1491 | -AU_ALIAS([AC_LIBTOOL_COMPILER_OPTION], [_LT_COMPILER_OPTION]) | ||
1492 | -dnl aclocal-1.4 backwards compatibility: | ||
1493 | -dnl AC_DEFUN([AC_LIBTOOL_COMPILER_OPTION], []) | ||
1494 | - | ||
1495 | - | ||
1496 | -# _LT_LINKER_OPTION(MESSAGE, VARIABLE-NAME, FLAGS, | ||
1497 | -# [ACTION-SUCCESS], [ACTION-FAILURE]) | ||
1498 | -# ---------------------------------------------------- | ||
1499 | -# Check whether the given linker option works | ||
1500 | -AC_DEFUN([_LT_LINKER_OPTION], | ||
1501 | -[m4_require([_LT_FILEUTILS_DEFAULTS])dnl | ||
1502 | -m4_require([_LT_DECL_SED])dnl | ||
1503 | -AC_CACHE_CHECK([$1], [$2], | ||
1504 | - [$2=no | ||
1505 | - save_LDFLAGS="$LDFLAGS" | ||
1506 | - LDFLAGS="$LDFLAGS $3" | ||
1507 | - echo "$lt_simple_link_test_code" > conftest.$ac_ext | ||
1508 | - if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then | ||
1509 | - # The linker can only warn and ignore the option if not recognized | ||
1510 | - # So say no if there are warnings | ||
1511 | - if test -s conftest.err; then | ||
1512 | - # Append any errors to the config.log. | ||
1513 | - cat conftest.err 1>&AS_MESSAGE_LOG_FD | ||
1514 | - $ECHO "X$_lt_linker_boilerplate" | $Xsed -e '/^$/d' > conftest.exp | ||
1515 | - $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 | ||
1516 | - if diff conftest.exp conftest.er2 >/dev/null; then | ||
1517 | - $2=yes | ||
1518 | - fi | ||
1519 | - else | ||
1520 | - $2=yes | ||
1521 | - fi | ||
1522 | - fi | ||
1523 | - $RM -r conftest* | ||
1524 | - LDFLAGS="$save_LDFLAGS" | ||
1525 | -]) | ||
1526 | - | ||
1527 | -if test x"[$]$2" = xyes; then | ||
1528 | - m4_if([$4], , :, [$4]) | ||
1529 | -else | ||
1530 | - m4_if([$5], , :, [$5]) | ||
1531 | -fi | ||
1532 | -])# _LT_LINKER_OPTION | ||
1533 | - | ||
1534 | -# Old name: | ||
1535 | -AU_ALIAS([AC_LIBTOOL_LINKER_OPTION], [_LT_LINKER_OPTION]) | ||
1536 | -dnl aclocal-1.4 backwards compatibility: | ||
1537 | -dnl AC_DEFUN([AC_LIBTOOL_LINKER_OPTION], []) | ||
1538 | - | ||
1539 | - | ||
1540 | -# LT_CMD_MAX_LEN | ||
1541 | -#--------------- | ||
1542 | -AC_DEFUN([LT_CMD_MAX_LEN], | ||
1543 | -[AC_REQUIRE([AC_CANONICAL_HOST])dnl | ||
1544 | -# find the maximum length of command line arguments | ||
1545 | -AC_MSG_CHECKING([the maximum length of command line arguments]) | ||
1546 | -AC_CACHE_VAL([lt_cv_sys_max_cmd_len], [dnl | ||
1547 | - i=0 | ||
1548 | - teststring="ABCD" | ||
1549 | - | ||
1550 | - case $build_os in | ||
1551 | - msdosdjgpp*) | ||
1552 | - # On DJGPP, this test can blow up pretty badly due to problems in libc | ||
1553 | - # (any single argument exceeding 2000 bytes causes a buffer overrun | ||
1554 | - # during glob expansion). Even if it were fixed, the result of this | ||
1555 | - # check would be larger than it should be. | ||
1556 | - lt_cv_sys_max_cmd_len=12288; # 12K is about right | ||
1557 | - ;; | ||
1558 | - | ||
1559 | - gnu*) | ||
1560 | - # Under GNU Hurd, this test is not required because there is | ||
1561 | - # no limit to the length of command line arguments. | ||
1562 | - # Libtool will interpret -1 as no limit whatsoever | ||
1563 | - lt_cv_sys_max_cmd_len=-1; | ||
1564 | - ;; | ||
1565 | - | ||
1566 | - cygwin* | mingw* | cegcc*) | ||
1567 | - # On Win9x/ME, this test blows up -- it succeeds, but takes | ||
1568 | - # about 5 minutes as the teststring grows exponentially. | ||
1569 | - # Worse, since 9x/ME are not pre-emptively multitasking, | ||
1570 | - # you end up with a "frozen" computer, even though with patience | ||
1571 | - # the test eventually succeeds (with a max line length of 256k). | ||
1572 | - # Instead, let's just punt: use the minimum linelength reported by | ||
1573 | - # all of the supported platforms: 8192 (on NT/2K/XP). | ||
1574 | - lt_cv_sys_max_cmd_len=8192; | ||
1575 | - ;; | ||
1576 | - | ||
1577 | - amigaos*) | ||
1578 | - # On AmigaOS with pdksh, this test takes hours, literally. | ||
1579 | - # So we just punt and use a minimum line length of 8192. | ||
1580 | - lt_cv_sys_max_cmd_len=8192; | ||
1581 | - ;; | ||
1582 | - | ||
1583 | - netbsd* | freebsd* | openbsd* | darwin* | dragonfly*) | ||
1584 | - # This has been around since 386BSD, at least. Likely further. | ||
1585 | - if test -x /sbin/sysctl; then | ||
1586 | - lt_cv_sys_max_cmd_len=`/sbin/sysctl -n kern.argmax` | ||
1587 | - elif test -x /usr/sbin/sysctl; then | ||
1588 | - lt_cv_sys_max_cmd_len=`/usr/sbin/sysctl -n kern.argmax` | ||
1589 | - else | ||
1590 | - lt_cv_sys_max_cmd_len=65536 # usable default for all BSDs | ||
1591 | - fi | ||
1592 | - # And add a safety zone | ||
1593 | - lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4` | ||
1594 | - lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3` | ||
1595 | - ;; | ||
1596 | - | ||
1597 | - interix*) | ||
1598 | - # We know the value 262144 and hardcode it with a safety zone (like BSD) | ||
1599 | - lt_cv_sys_max_cmd_len=196608 | ||
1600 | - ;; | ||
1601 | - | ||
1602 | - osf*) | ||
1603 | - # Dr. Hans Ekkehard Plesser reports seeing a kernel panic running configure | ||
1604 | - # due to this test when exec_disable_arg_limit is 1 on Tru64. It is not | ||
1605 | - # nice to cause kernel panics so lets avoid the loop below. | ||
1606 | - # First set a reasonable default. | ||
1607 | - lt_cv_sys_max_cmd_len=16384 | ||
1608 | - # | ||
1609 | - if test -x /sbin/sysconfig; then | ||
1610 | - case `/sbin/sysconfig -q proc exec_disable_arg_limit` in | ||
1611 | - *1*) lt_cv_sys_max_cmd_len=-1 ;; | ||
1612 | - esac | ||
1613 | - fi | ||
1614 | - ;; | ||
1615 | - sco3.2v5*) | ||
1616 | - lt_cv_sys_max_cmd_len=102400 | ||
1617 | - ;; | ||
1618 | - sysv5* | sco5v6* | sysv4.2uw2*) | ||
1619 | - kargmax=`grep ARG_MAX /etc/conf/cf.d/stune 2>/dev/null` | ||
1620 | - if test -n "$kargmax"; then | ||
1621 | - lt_cv_sys_max_cmd_len=`echo $kargmax | sed 's/.*[[ ]]//'` | ||
1622 | - else | ||
1623 | - lt_cv_sys_max_cmd_len=32768 | ||
1624 | - fi | ||
1625 | - ;; | ||
1626 | - *) | ||
1627 | - lt_cv_sys_max_cmd_len=`(getconf ARG_MAX) 2> /dev/null` | ||
1628 | - if test -n "$lt_cv_sys_max_cmd_len"; then | ||
1629 | - lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4` | ||
1630 | - lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3` | ||
1631 | - else | ||
1632 | - # Make teststring a little bigger before we do anything with it. | ||
1633 | - # a 1K string should be a reasonable start. | ||
1634 | - for i in 1 2 3 4 5 6 7 8 ; do | ||
1635 | - teststring=$teststring$teststring | ||
1636 | - done | ||
1637 | - SHELL=${SHELL-${CONFIG_SHELL-/bin/sh}} | ||
1638 | - # If test is not a shell built-in, we'll probably end up computing a | ||
1639 | - # maximum length that is only half of the actual maximum length, but | ||
1640 | - # we can't tell. | ||
1641 | - while { test "X"`$SHELL [$]0 --fallback-echo "X$teststring$teststring" 2>/dev/null` \ | ||
1642 | - = "XX$teststring$teststring"; } >/dev/null 2>&1 && | ||
1643 | - test $i != 17 # 1/2 MB should be enough | ||
1644 | - do | ||
1645 | - i=`expr $i + 1` | ||
1646 | - teststring=$teststring$teststring | ||
1647 | - done | ||
1648 | - # Only check the string length outside the loop. | ||
1649 | - lt_cv_sys_max_cmd_len=`expr "X$teststring" : ".*" 2>&1` | ||
1650 | - teststring= | ||
1651 | - # Add a significant safety factor because C++ compilers can tack on | ||
1652 | - # massive amounts of additional arguments before passing them to the | ||
1653 | - # linker. It appears as though 1/2 is a usable value. | ||
1654 | - lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 2` | ||
1655 | - fi | ||
1656 | - ;; | ||
1657 | - esac | ||
1658 | -]) | ||
1659 | -if test -n $lt_cv_sys_max_cmd_len ; then | ||
1660 | - AC_MSG_RESULT($lt_cv_sys_max_cmd_len) | ||
1661 | -else | ||
1662 | - AC_MSG_RESULT(none) | ||
1663 | -fi | ||
1664 | -max_cmd_len=$lt_cv_sys_max_cmd_len | ||
1665 | -_LT_DECL([], [max_cmd_len], [0], | ||
1666 | - [What is the maximum length of a command?]) | ||
1667 | -])# LT_CMD_MAX_LEN | ||
1668 | - | ||
1669 | -# Old name: | ||
1670 | -AU_ALIAS([AC_LIBTOOL_SYS_MAX_CMD_LEN], [LT_CMD_MAX_LEN]) | ||
1671 | -dnl aclocal-1.4 backwards compatibility: | ||
1672 | -dnl AC_DEFUN([AC_LIBTOOL_SYS_MAX_CMD_LEN], []) | ||
1673 | - | ||
1674 | - | ||
1675 | -# _LT_HEADER_DLFCN | ||
1676 | -# ---------------- | ||
1677 | -m4_defun([_LT_HEADER_DLFCN], | ||
1678 | -[AC_CHECK_HEADERS([dlfcn.h], [], [], [AC_INCLUDES_DEFAULT])dnl | ||
1679 | -])# _LT_HEADER_DLFCN | ||
1680 | - | ||
1681 | - | ||
1682 | -# _LT_TRY_DLOPEN_SELF (ACTION-IF-TRUE, ACTION-IF-TRUE-W-USCORE, | ||
1683 | -# ACTION-IF-FALSE, ACTION-IF-CROSS-COMPILING) | ||
1684 | -# ---------------------------------------------------------------- | ||
1685 | -m4_defun([_LT_TRY_DLOPEN_SELF], | ||
1686 | -[m4_require([_LT_HEADER_DLFCN])dnl | ||
1687 | -if test "$cross_compiling" = yes; then : | ||
1688 | - [$4] | ||
1689 | -else | ||
1690 | - lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 | ||
1691 | - lt_status=$lt_dlunknown | ||
1692 | - cat > conftest.$ac_ext <<_LT_EOF | ||
1693 | -[#line __oline__ "configure" | ||
1694 | -#include "confdefs.h" | ||
1695 | - | ||
1696 | -#if HAVE_DLFCN_H | ||
1697 | -#include <dlfcn.h> | ||
1698 | -#endif | ||
1699 | - | ||
1700 | -#include <stdio.h> | ||
1701 | - | ||
1702 | -#ifdef RTLD_GLOBAL | ||
1703 | -# define LT_DLGLOBAL RTLD_GLOBAL | ||
1704 | -#else | ||
1705 | -# ifdef DL_GLOBAL | ||
1706 | -# define LT_DLGLOBAL DL_GLOBAL | ||
1707 | -# else | ||
1708 | -# define LT_DLGLOBAL 0 | ||
1709 | -# endif | ||
1710 | -#endif | ||
1711 | - | ||
1712 | -/* We may have to define LT_DLLAZY_OR_NOW in the command line if we | ||
1713 | - find out it does not work in some platform. */ | ||
1714 | -#ifndef LT_DLLAZY_OR_NOW | ||
1715 | -# ifdef RTLD_LAZY | ||
1716 | -# define LT_DLLAZY_OR_NOW RTLD_LAZY | ||
1717 | -# else | ||
1718 | -# ifdef DL_LAZY | ||
1719 | -# define LT_DLLAZY_OR_NOW DL_LAZY | ||
1720 | -# else | ||
1721 | -# ifdef RTLD_NOW | ||
1722 | -# define LT_DLLAZY_OR_NOW RTLD_NOW | ||
1723 | -# else | ||
1724 | -# ifdef DL_NOW | ||
1725 | -# define LT_DLLAZY_OR_NOW DL_NOW | ||
1726 | -# else | ||
1727 | -# define LT_DLLAZY_OR_NOW 0 | ||
1728 | -# endif | ||
1729 | -# endif | ||
1730 | -# endif | ||
1731 | -# endif | ||
1732 | -#endif | ||
1733 | - | ||
1734 | -void fnord() { int i=42;} | ||
1735 | -int main () | ||
1736 | -{ | ||
1737 | - void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW); | ||
1738 | - int status = $lt_dlunknown; | ||
1739 | - | ||
1740 | - if (self) | ||
1741 | - { | ||
1742 | - if (dlsym (self,"fnord")) status = $lt_dlno_uscore; | ||
1743 | - else if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore; | ||
1744 | - /* dlclose (self); */ | ||
1745 | - } | ||
1746 | - else | ||
1747 | - puts (dlerror ()); | ||
1748 | - | ||
1749 | - return status; | ||
1750 | -}] | ||
1751 | -_LT_EOF | ||
1752 | - if AC_TRY_EVAL(ac_link) && test -s conftest${ac_exeext} 2>/dev/null; then | ||
1753 | - (./conftest; exit; ) >&AS_MESSAGE_LOG_FD 2>/dev/null | ||
1754 | - lt_status=$? | ||
1755 | - case x$lt_status in | ||
1756 | - x$lt_dlno_uscore) $1 ;; | ||
1757 | - x$lt_dlneed_uscore) $2 ;; | ||
1758 | - x$lt_dlunknown|x*) $3 ;; | ||
1759 | - esac | ||
1760 | - else : | ||
1761 | - # compilation failed | ||
1762 | - $3 | ||
1763 | - fi | ||
1764 | -fi | ||
1765 | -rm -fr conftest* | ||
1766 | -])# _LT_TRY_DLOPEN_SELF | ||
1767 | - | ||
1768 | - | ||
1769 | -# LT_SYS_DLOPEN_SELF | ||
1770 | -# ------------------ | ||
1771 | -AC_DEFUN([LT_SYS_DLOPEN_SELF], | ||
1772 | -[m4_require([_LT_HEADER_DLFCN])dnl | ||
1773 | -if test "x$enable_dlopen" != xyes; then | ||
1774 | - enable_dlopen=unknown | ||
1775 | - enable_dlopen_self=unknown | ||
1776 | - enable_dlopen_self_static=unknown | ||
1777 | -else | ||
1778 | - lt_cv_dlopen=no | ||
1779 | - lt_cv_dlopen_libs= | ||
1780 | - | ||
1781 | - case $host_os in | ||
1782 | - beos*) | ||
1783 | - lt_cv_dlopen="load_add_on" | ||
1784 | - lt_cv_dlopen_libs= | ||
1785 | - lt_cv_dlopen_self=yes | ||
1786 | - ;; | ||
1787 | - | ||
1788 | - mingw* | pw32* | cegcc*) | ||
1789 | - lt_cv_dlopen="LoadLibrary" | ||
1790 | - lt_cv_dlopen_libs= | ||
1791 | - ;; | ||
1792 | - | ||
1793 | - cygwin*) | ||
1794 | - lt_cv_dlopen="dlopen" | ||
1795 | - lt_cv_dlopen_libs= | ||
1796 | - ;; | ||
1797 | - | ||
1798 | - darwin*) | ||
1799 | - # if libdl is installed we need to link against it | ||
1800 | - AC_CHECK_LIB([dl], [dlopen], | ||
1801 | - [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"],[ | ||
1802 | - lt_cv_dlopen="dyld" | ||
1803 | - lt_cv_dlopen_libs= | ||
1804 | - lt_cv_dlopen_self=yes | ||
1805 | - ]) | ||
1806 | - ;; | ||
1807 | - | ||
1808 | - *) | ||
1809 | - AC_CHECK_FUNC([shl_load], | ||
1810 | - [lt_cv_dlopen="shl_load"], | ||
1811 | - [AC_CHECK_LIB([dld], [shl_load], | ||
1812 | - [lt_cv_dlopen="shl_load" lt_cv_dlopen_libs="-ldld"], | ||
1813 | - [AC_CHECK_FUNC([dlopen], | ||
1814 | - [lt_cv_dlopen="dlopen"], | ||
1815 | - [AC_CHECK_LIB([dl], [dlopen], | ||
1816 | - [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"], | ||
1817 | - [AC_CHECK_LIB([svld], [dlopen], | ||
1818 | - [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-lsvld"], | ||
1819 | - [AC_CHECK_LIB([dld], [dld_link], | ||
1820 | - [lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-ldld"]) | ||
1821 | - ]) | ||
1822 | - ]) | ||
1823 | - ]) | ||
1824 | - ]) | ||
1825 | - ]) | ||
1826 | - ;; | ||
1827 | - esac | ||
1828 | - | ||
1829 | - if test "x$lt_cv_dlopen" != xno; then | ||
1830 | - enable_dlopen=yes | ||
1831 | - else | ||
1832 | - enable_dlopen=no | ||
1833 | - fi | ||
1834 | - | ||
1835 | - case $lt_cv_dlopen in | ||
1836 | - dlopen) | ||
1837 | - save_CPPFLAGS="$CPPFLAGS" | ||
1838 | - test "x$ac_cv_header_dlfcn_h" = xyes && CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H" | ||
1839 | - | ||
1840 | - save_LDFLAGS="$LDFLAGS" | ||
1841 | - wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\" | ||
1842 | - | ||
1843 | - save_LIBS="$LIBS" | ||
1844 | - LIBS="$lt_cv_dlopen_libs $LIBS" | ||
1845 | - | ||
1846 | - AC_CACHE_CHECK([whether a program can dlopen itself], | ||
1847 | - lt_cv_dlopen_self, [dnl | ||
1848 | - _LT_TRY_DLOPEN_SELF( | ||
1849 | - lt_cv_dlopen_self=yes, lt_cv_dlopen_self=yes, | ||
1850 | - lt_cv_dlopen_self=no, lt_cv_dlopen_self=cross) | ||
1851 | - ]) | ||
1852 | - | ||
1853 | - if test "x$lt_cv_dlopen_self" = xyes; then | ||
1854 | - wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $lt_prog_compiler_static\" | ||
1855 | - AC_CACHE_CHECK([whether a statically linked program can dlopen itself], | ||
1856 | - lt_cv_dlopen_self_static, [dnl | ||
1857 | - _LT_TRY_DLOPEN_SELF( | ||
1858 | - lt_cv_dlopen_self_static=yes, lt_cv_dlopen_self_static=yes, | ||
1859 | - lt_cv_dlopen_self_static=no, lt_cv_dlopen_self_static=cross) | ||
1860 | - ]) | ||
1861 | - fi | ||
1862 | - | ||
1863 | - CPPFLAGS="$save_CPPFLAGS" | ||
1864 | - LDFLAGS="$save_LDFLAGS" | ||
1865 | - LIBS="$save_LIBS" | ||
1866 | - ;; | ||
1867 | - esac | ||
1868 | - | ||
1869 | - case $lt_cv_dlopen_self in | ||
1870 | - yes|no) enable_dlopen_self=$lt_cv_dlopen_self ;; | ||
1871 | - *) enable_dlopen_self=unknown ;; | ||
1872 | - esac | ||
1873 | - | ||
1874 | - case $lt_cv_dlopen_self_static in | ||
1875 | - yes|no) enable_dlopen_self_static=$lt_cv_dlopen_self_static ;; | ||
1876 | - *) enable_dlopen_self_static=unknown ;; | ||
1877 | - esac | ||
1878 | -fi | ||
1879 | -_LT_DECL([dlopen_support], [enable_dlopen], [0], | ||
1880 | - [Whether dlopen is supported]) | ||
1881 | -_LT_DECL([dlopen_self], [enable_dlopen_self], [0], | ||
1882 | - [Whether dlopen of programs is supported]) | ||
1883 | -_LT_DECL([dlopen_self_static], [enable_dlopen_self_static], [0], | ||
1884 | - [Whether dlopen of statically linked programs is supported]) | ||
1885 | -])# LT_SYS_DLOPEN_SELF | ||
1886 | - | ||
1887 | -# Old name: | ||
1888 | -AU_ALIAS([AC_LIBTOOL_DLOPEN_SELF], [LT_SYS_DLOPEN_SELF]) | ||
1889 | -dnl aclocal-1.4 backwards compatibility: | ||
1890 | -dnl AC_DEFUN([AC_LIBTOOL_DLOPEN_SELF], []) | ||
1891 | - | ||
1892 | - | ||
1893 | -# _LT_COMPILER_C_O([TAGNAME]) | ||
1894 | -# --------------------------- | ||
1895 | -# Check to see if options -c and -o are simultaneously supported by compiler. | ||
1896 | -# This macro does not hard code the compiler like AC_PROG_CC_C_O. | ||
1897 | -m4_defun([_LT_COMPILER_C_O], | ||
1898 | -[m4_require([_LT_DECL_SED])dnl | ||
1899 | -m4_require([_LT_FILEUTILS_DEFAULTS])dnl | ||
1900 | -m4_require([_LT_TAG_COMPILER])dnl | ||
1901 | -AC_CACHE_CHECK([if $compiler supports -c -o file.$ac_objext], | ||
1902 | - [_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)], | ||
1903 | - [_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)=no | ||
1904 | - $RM -r conftest 2>/dev/null | ||
1905 | - mkdir conftest | ||
1906 | - cd conftest | ||
1907 | - mkdir out | ||
1908 | - echo "$lt_simple_compile_test_code" > conftest.$ac_ext | ||
1909 | - | ||
1910 | - lt_compiler_flag="-o out/conftest2.$ac_objext" | ||
1911 | - # Insert the option either (1) after the last *FLAGS variable, or | ||
1912 | - # (2) before a word containing "conftest.", or (3) at the end. | ||
1913 | - # Note that $ac_compile itself does not contain backslashes and begins | ||
1914 | - # with a dollar sign (not a hyphen), so the echo should work correctly. | ||
1915 | - lt_compile=`echo "$ac_compile" | $SED \ | ||
1916 | - -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ | ||
1917 | - -e 's: [[^ ]]*conftest\.: $lt_compiler_flag&:; t' \ | ||
1918 | - -e 's:$: $lt_compiler_flag:'` | ||
1919 | - (eval echo "\"\$as_me:__oline__: $lt_compile\"" >&AS_MESSAGE_LOG_FD) | ||
1920 | - (eval "$lt_compile" 2>out/conftest.err) | ||
1921 | - ac_status=$? | ||
1922 | - cat out/conftest.err >&AS_MESSAGE_LOG_FD | ||
1923 | - echo "$as_me:__oline__: \$? = $ac_status" >&AS_MESSAGE_LOG_FD | ||
1924 | - if (exit $ac_status) && test -s out/conftest2.$ac_objext | ||
1925 | - then | ||
1926 | - # The compiler can only warn and ignore the option if not recognized | ||
1927 | - # So say no if there are warnings | ||
1928 | - $ECHO "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' > out/conftest.exp | ||
1929 | - $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 | ||
1930 | - if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then | ||
1931 | - _LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)=yes | ||
1932 | - fi | ||
1933 | - fi | ||
1934 | - chmod u+w . 2>&AS_MESSAGE_LOG_FD | ||
1935 | - $RM conftest* | ||
1936 | - # SGI C++ compiler will create directory out/ii_files/ for | ||
1937 | - # template instantiation | ||
1938 | - test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files | ||
1939 | - $RM out/* && rmdir out | ||
1940 | - cd .. | ||
1941 | - $RM -r conftest | ||
1942 | - $RM conftest* | ||
1943 | -]) | ||
1944 | -_LT_TAGDECL([compiler_c_o], [lt_cv_prog_compiler_c_o], [1], | ||
1945 | - [Does compiler simultaneously support -c and -o options?]) | ||
1946 | -])# _LT_COMPILER_C_O | ||
1947 | - | ||
1948 | - | ||
1949 | -# _LT_COMPILER_FILE_LOCKS([TAGNAME]) | ||
1950 | -# ---------------------------------- | ||
1951 | -# Check to see if we can do hard links to lock some files if needed | ||
1952 | -m4_defun([_LT_COMPILER_FILE_LOCKS], | ||
1953 | -[m4_require([_LT_ENABLE_LOCK])dnl | ||
1954 | -m4_require([_LT_FILEUTILS_DEFAULTS])dnl | ||
1955 | -_LT_COMPILER_C_O([$1]) | ||
1956 | - | ||
1957 | -hard_links="nottested" | ||
1958 | -if test "$_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)" = no && test "$need_locks" != no; then | ||
1959 | - # do not overwrite the value of need_locks provided by the user | ||
1960 | - AC_MSG_CHECKING([if we can lock with hard links]) | ||
1961 | - hard_links=yes | ||
1962 | - $RM conftest* | ||
1963 | - ln conftest.a conftest.b 2>/dev/null && hard_links=no | ||
1964 | - touch conftest.a | ||
1965 | - ln conftest.a conftest.b 2>&5 || hard_links=no | ||
1966 | - ln conftest.a conftest.b 2>/dev/null && hard_links=no | ||
1967 | - AC_MSG_RESULT([$hard_links]) | ||
1968 | - if test "$hard_links" = no; then | ||
1969 | - AC_MSG_WARN([`$CC' does not support `-c -o', so `make -j' may be unsafe]) | ||
1970 | - need_locks=warn | ||
1971 | - fi | ||
1972 | -else | ||
1973 | - need_locks=no | ||
1974 | -fi | ||
1975 | -_LT_DECL([], [need_locks], [1], [Must we lock files when doing compilation?]) | ||
1976 | -])# _LT_COMPILER_FILE_LOCKS | ||
1977 | - | ||
1978 | - | ||
1979 | -# _LT_CHECK_OBJDIR | ||
1980 | -# ---------------- | ||
1981 | -m4_defun([_LT_CHECK_OBJDIR], | ||
1982 | -[AC_CACHE_CHECK([for objdir], [lt_cv_objdir], | ||
1983 | -[rm -f .libs 2>/dev/null | ||
1984 | -mkdir .libs 2>/dev/null | ||
1985 | -if test -d .libs; then | ||
1986 | - lt_cv_objdir=.libs | ||
1987 | -else | ||
1988 | - # MS-DOS does not allow filenames that begin with a dot. | ||
1989 | - lt_cv_objdir=_libs | ||
1990 | -fi | ||
1991 | -rmdir .libs 2>/dev/null]) | ||
1992 | -objdir=$lt_cv_objdir | ||
1993 | -_LT_DECL([], [objdir], [0], | ||
1994 | - [The name of the directory that contains temporary libtool files])dnl | ||
1995 | -m4_pattern_allow([LT_OBJDIR])dnl | ||
1996 | -AC_DEFINE_UNQUOTED(LT_OBJDIR, "$lt_cv_objdir/", | ||
1997 | - [Define to the sub-directory in which libtool stores uninstalled libraries.]) | ||
1998 | -])# _LT_CHECK_OBJDIR | ||
1999 | - | ||
2000 | - | ||
2001 | -# _LT_LINKER_HARDCODE_LIBPATH([TAGNAME]) | ||
2002 | -# -------------------------------------- | ||
2003 | -# Check hardcoding attributes. | ||
2004 | -m4_defun([_LT_LINKER_HARDCODE_LIBPATH], | ||
2005 | -[AC_MSG_CHECKING([how to hardcode library paths into programs]) | ||
2006 | -_LT_TAGVAR(hardcode_action, $1)= | ||
2007 | -if test -n "$_LT_TAGVAR(hardcode_libdir_flag_spec, $1)" || | ||
2008 | - test -n "$_LT_TAGVAR(runpath_var, $1)" || | ||
2009 | - test "X$_LT_TAGVAR(hardcode_automatic, $1)" = "Xyes" ; then | ||
2010 | - | ||
2011 | - # We can hardcode non-existent directories. | ||
2012 | - if test "$_LT_TAGVAR(hardcode_direct, $1)" != no && | ||
2013 | - # If the only mechanism to avoid hardcoding is shlibpath_var, we | ||
2014 | - # have to relink, otherwise we might link with an installed library | ||
2015 | - # when we should be linking with a yet-to-be-installed one | ||
2016 | - ## test "$_LT_TAGVAR(hardcode_shlibpath_var, $1)" != no && | ||
2017 | - test "$_LT_TAGVAR(hardcode_minus_L, $1)" != no; then | ||
2018 | - # Linking always hardcodes the temporary library directory. | ||
2019 | - _LT_TAGVAR(hardcode_action, $1)=relink | ||
2020 | - else | ||
2021 | - # We can link without hardcoding, and we can hardcode nonexisting dirs. | ||
2022 | - _LT_TAGVAR(hardcode_action, $1)=immediate | ||
2023 | - fi | ||
2024 | -else | ||
2025 | - # We cannot hardcode anything, or else we can only hardcode existing | ||
2026 | - # directories. | ||
2027 | - _LT_TAGVAR(hardcode_action, $1)=unsupported | ||
2028 | -fi | ||
2029 | -AC_MSG_RESULT([$_LT_TAGVAR(hardcode_action, $1)]) | ||
2030 | - | ||
2031 | -if test "$_LT_TAGVAR(hardcode_action, $1)" = relink || | ||
2032 | - test "$_LT_TAGVAR(inherit_rpath, $1)" = yes; then | ||
2033 | - # Fast installation is not supported | ||
2034 | - enable_fast_install=no | ||
2035 | -elif test "$shlibpath_overrides_runpath" = yes || | ||
2036 | - test "$enable_shared" = no; then | ||
2037 | - # Fast installation is not necessary | ||
2038 | - enable_fast_install=needless | ||
2039 | -fi | ||
2040 | -_LT_TAGDECL([], [hardcode_action], [0], | ||
2041 | - [How to hardcode a shared library path into an executable]) | ||
2042 | -])# _LT_LINKER_HARDCODE_LIBPATH | ||
2043 | - | ||
2044 | - | ||
2045 | -# _LT_CMD_STRIPLIB | ||
2046 | -# ---------------- | ||
2047 | -m4_defun([_LT_CMD_STRIPLIB], | ||
2048 | -[m4_require([_LT_DECL_EGREP]) | ||
2049 | -striplib= | ||
2050 | -old_striplib= | ||
2051 | -AC_MSG_CHECKING([whether stripping libraries is possible]) | ||
2052 | -if test -n "$STRIP" && $STRIP -V 2>&1 | $GREP "GNU strip" >/dev/null; then | ||
2053 | - test -z "$old_striplib" && old_striplib="$STRIP --strip-debug" | ||
2054 | - test -z "$striplib" && striplib="$STRIP --strip-unneeded" | ||
2055 | - AC_MSG_RESULT([yes]) | ||
2056 | -else | ||
2057 | -# FIXME - insert some real tests, host_os isn't really good enough | ||
2058 | - case $host_os in | ||
2059 | - darwin*) | ||
2060 | - if test -n "$STRIP" ; then | ||
2061 | - striplib="$STRIP -x" | ||
2062 | - old_striplib="$STRIP -S" | ||
2063 | - AC_MSG_RESULT([yes]) | ||
2064 | - else | ||
2065 | - AC_MSG_RESULT([no]) | ||
2066 | - fi | ||
2067 | - ;; | ||
2068 | - *) | ||
2069 | - AC_MSG_RESULT([no]) | ||
2070 | - ;; | ||
2071 | - esac | ||
2072 | -fi | ||
2073 | -_LT_DECL([], [old_striplib], [1], [Commands to strip libraries]) | ||
2074 | -_LT_DECL([], [striplib], [1]) | ||
2075 | -])# _LT_CMD_STRIPLIB | ||
2076 | - | ||
2077 | - | ||
2078 | -# _LT_SYS_DYNAMIC_LINKER([TAG]) | ||
2079 | -# ----------------------------- | ||
2080 | -# PORTME Fill in your ld.so characteristics | ||
2081 | -m4_defun([_LT_SYS_DYNAMIC_LINKER], | ||
2082 | -[AC_REQUIRE([AC_CANONICAL_HOST])dnl | ||
2083 | -m4_require([_LT_DECL_EGREP])dnl | ||
2084 | -m4_require([_LT_FILEUTILS_DEFAULTS])dnl | ||
2085 | -m4_require([_LT_DECL_OBJDUMP])dnl | ||
2086 | -m4_require([_LT_DECL_SED])dnl | ||
2087 | -AC_MSG_CHECKING([dynamic linker characteristics]) | ||
2088 | -m4_if([$1], | ||
2089 | - [], [ | ||
2090 | -if test "$GCC" = yes; then | ||
2091 | - case $host_os in | ||
2092 | - darwin*) lt_awk_arg="/^libraries:/,/LR/" ;; | ||
2093 | - *) lt_awk_arg="/^libraries:/" ;; | ||
2094 | - esac | ||
2095 | - lt_search_path_spec=`$CC -print-search-dirs | awk $lt_awk_arg | $SED -e "s/^libraries://" -e "s,=/,/,g"` | ||
2096 | - if $ECHO "$lt_search_path_spec" | $GREP ';' >/dev/null ; then | ||
2097 | - # if the path contains ";" then we assume it to be the separator | ||
2098 | - # otherwise default to the standard path separator (i.e. ":") - it is | ||
2099 | - # assumed that no part of a normal pathname contains ";" but that should | ||
2100 | - # okay in the real world where ";" in dirpaths is itself problematic. | ||
2101 | - lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED -e 's/;/ /g'` | ||
2102 | - else | ||
2103 | - lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` | ||
2104 | - fi | ||
2105 | - # Ok, now we have the path, separated by spaces, we can step through it | ||
2106 | - # and add multilib dir if necessary. | ||
2107 | - lt_tmp_lt_search_path_spec= | ||
2108 | - lt_multi_os_dir=`$CC $CPPFLAGS $CFLAGS $LDFLAGS -print-multi-os-directory 2>/dev/null` | ||
2109 | - for lt_sys_path in $lt_search_path_spec; do | ||
2110 | - if test -d "$lt_sys_path/$lt_multi_os_dir"; then | ||
2111 | - lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path/$lt_multi_os_dir" | ||
2112 | - else | ||
2113 | - test -d "$lt_sys_path" && \ | ||
2114 | - lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path" | ||
2115 | - fi | ||
2116 | - done | ||
2117 | - lt_search_path_spec=`$ECHO $lt_tmp_lt_search_path_spec | awk ' | ||
2118 | -BEGIN {RS=" "; FS="/|\n";} { | ||
2119 | - lt_foo=""; | ||
2120 | - lt_count=0; | ||
2121 | - for (lt_i = NF; lt_i > 0; lt_i--) { | ||
2122 | - if ($lt_i != "" && $lt_i != ".") { | ||
2123 | - if ($lt_i == "..") { | ||
2124 | - lt_count++; | ||
2125 | - } else { | ||
2126 | - if (lt_count == 0) { | ||
2127 | - lt_foo="/" $lt_i lt_foo; | ||
2128 | - } else { | ||
2129 | - lt_count--; | ||
2130 | - } | ||
2131 | - } | ||
2132 | - } | ||
2133 | - } | ||
2134 | - if (lt_foo != "") { lt_freq[[lt_foo]]++; } | ||
2135 | - if (lt_freq[[lt_foo]] == 1) { print lt_foo; } | ||
2136 | -}'` | ||
2137 | - sys_lib_search_path_spec=`$ECHO $lt_search_path_spec` | ||
2138 | -else | ||
2139 | - sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib" | ||
2140 | -fi]) | ||
2141 | -library_names_spec= | ||
2142 | -libname_spec='lib$name' | ||
2143 | -soname_spec= | ||
2144 | -shrext_cmds=".so" | ||
2145 | -postinstall_cmds= | ||
2146 | -postuninstall_cmds= | ||
2147 | -finish_cmds= | ||
2148 | -finish_eval= | ||
2149 | -shlibpath_var= | ||
2150 | -shlibpath_overrides_runpath=unknown | ||
2151 | -version_type=none | ||
2152 | -dynamic_linker="$host_os ld.so" | ||
2153 | -sys_lib_dlsearch_path_spec="/lib /usr/lib" | ||
2154 | -need_lib_prefix=unknown | ||
2155 | -hardcode_into_libs=no | ||
2156 | - | ||
2157 | -# when you set need_version to no, make sure it does not cause -set_version | ||
2158 | -# flags to be left without arguments | ||
2159 | -need_version=unknown | ||
2160 | - | ||
2161 | -case $host_os in | ||
2162 | -aix3*) | ||
2163 | - version_type=linux | ||
2164 | - library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a' | ||
2165 | - shlibpath_var=LIBPATH | ||
2166 | - | ||
2167 | - # AIX 3 has no versioning support, so we append a major version to the name. | ||
2168 | - soname_spec='${libname}${release}${shared_ext}$major' | ||
2169 | - ;; | ||
2170 | - | ||
2171 | -aix[[4-9]]*) | ||
2172 | - version_type=linux | ||
2173 | - need_lib_prefix=no | ||
2174 | - need_version=no | ||
2175 | - hardcode_into_libs=yes | ||
2176 | - if test "$host_cpu" = ia64; then | ||
2177 | - # AIX 5 supports IA64 | ||
2178 | - library_names_spec='${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext}$versuffix $libname${shared_ext}' | ||
2179 | - shlibpath_var=LD_LIBRARY_PATH | ||
2180 | - else | ||
2181 | - # With GCC up to 2.95.x, collect2 would create an import file | ||
2182 | - # for dependence libraries. The import file would start with | ||
2183 | - # the line `#! .'. This would cause the generated library to | ||
2184 | - # depend on `.', always an invalid library. This was fixed in | ||
2185 | - # development snapshots of GCC prior to 3.0. | ||
2186 | - case $host_os in | ||
2187 | - aix4 | aix4.[[01]] | aix4.[[01]].*) | ||
2188 | - if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)' | ||
2189 | - echo ' yes ' | ||
2190 | - echo '#endif'; } | ${CC} -E - | $GREP yes > /dev/null; then | ||
2191 | - : | ||
2192 | - else | ||
2193 | - can_build_shared=no | ||
2194 | - fi | ||
2195 | - ;; | ||
2196 | - esac | ||
2197 | - # AIX (on Power*) has no versioning support, so currently we can not hardcode correct | ||
2198 | - # soname into executable. Probably we can add versioning support to | ||
2199 | - # collect2, so additional links can be useful in future. | ||
2200 | - if test "$aix_use_runtimelinking" = yes; then | ||
2201 | - # If using run time linking (on AIX 4.2 or later) use lib<name>.so | ||
2202 | - # instead of lib<name>.a to let people know that these are not | ||
2203 | - # typical AIX shared libraries. | ||
2204 | - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' | ||
2205 | - else | ||
2206 | - # We preserve .a as extension for shared libraries through AIX4.2 | ||
2207 | - # and later when we are not doing run time linking. | ||
2208 | - library_names_spec='${libname}${release}.a $libname.a' | ||
2209 | - soname_spec='${libname}${release}${shared_ext}$major' | ||
2210 | - fi | ||
2211 | - shlibpath_var=LIBPATH | ||
2212 | - fi | ||
2213 | - ;; | ||
2214 | - | ||
2215 | -amigaos*) | ||
2216 | - case $host_cpu in | ||
2217 | - powerpc) | ||
2218 | - # Since July 2007 AmigaOS4 officially supports .so libraries. | ||
2219 | - # When compiling the executable, add -use-dynld -Lsobjs: to the compileline. | ||
2220 | - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' | ||
2221 | - ;; | ||
2222 | - m68k) | ||
2223 | - library_names_spec='$libname.ixlibrary $libname.a' | ||
2224 | - # Create ${libname}_ixlibrary.a entries in /sys/libs. | ||
2225 | - finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`$ECHO "X$lib" | $Xsed -e '\''s%^.*/\([[^/]]*\)\.ixlibrary$%\1%'\''`; test $RM /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done' | ||
2226 | - ;; | ||
2227 | - esac | ||
2228 | - ;; | ||
2229 | - | ||
2230 | -beos*) | ||
2231 | - library_names_spec='${libname}${shared_ext}' | ||
2232 | - dynamic_linker="$host_os ld.so" | ||
2233 | - shlibpath_var=LIBRARY_PATH | ||
2234 | - ;; | ||
2235 | - | ||
2236 | -bsdi[[45]]*) | ||
2237 | - version_type=linux | ||
2238 | - need_version=no | ||
2239 | - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' | ||
2240 | - soname_spec='${libname}${release}${shared_ext}$major' | ||
2241 | - finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir' | ||
2242 | - shlibpath_var=LD_LIBRARY_PATH | ||
2243 | - sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib" | ||
2244 | - sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib" | ||
2245 | - # the default ld.so.conf also contains /usr/contrib/lib and | ||
2246 | - # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow | ||
2247 | - # libtool to hard-code these into programs | ||
2248 | - ;; | ||
2249 | - | ||
2250 | -cygwin* | mingw* | pw32* | cegcc*) | ||
2251 | - version_type=windows | ||
2252 | - shrext_cmds=".dll" | ||
2253 | - need_version=no | ||
2254 | - need_lib_prefix=no | ||
2255 | - | ||
2256 | - case $GCC,$host_os in | ||
2257 | - yes,cygwin* | yes,mingw* | yes,pw32* | yes,cegcc*) | ||
2258 | - library_names_spec='$libname.dll.a' | ||
2259 | - # DLL is installed to $(libdir)/../bin by postinstall_cmds | ||
2260 | - postinstall_cmds='base_file=`basename \${file}`~ | ||
2261 | - dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i; echo \$dlname'\''`~ | ||
2262 | - dldir=$destdir/`dirname \$dlpath`~ | ||
2263 | - test -d \$dldir || mkdir -p \$dldir~ | ||
2264 | - $install_prog $dir/$dlname \$dldir/$dlname~ | ||
2265 | - chmod a+x \$dldir/$dlname~ | ||
2266 | - if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then | ||
2267 | - eval '\''$striplib \$dldir/$dlname'\'' || exit \$?; | ||
2268 | - fi' | ||
2269 | - postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ | ||
2270 | - dlpath=$dir/\$dldll~ | ||
2271 | - $RM \$dlpath' | ||
2272 | - shlibpath_overrides_runpath=yes | ||
2273 | - | ||
2274 | - case $host_os in | ||
2275 | - cygwin*) | ||
2276 | - # Cygwin DLLs use 'cyg' prefix rather than 'lib' | ||
2277 | - soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}' | ||
2278 | - sys_lib_search_path_spec="/usr/lib /lib/w32api /lib /usr/local/lib" | ||
2279 | - ;; | ||
2280 | - mingw* | cegcc*) | ||
2281 | - # MinGW DLLs use traditional 'lib' prefix | ||
2282 | - soname_spec='${libname}`echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}' | ||
2283 | - sys_lib_search_path_spec=`$CC -print-search-dirs | $GREP "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"` | ||
2284 | - if $ECHO "$sys_lib_search_path_spec" | [$GREP ';[c-zC-Z]:/' >/dev/null]; then | ||
2285 | - # It is most probably a Windows format PATH printed by | ||
2286 | - # mingw gcc, but we are running on Cygwin. Gcc prints its search | ||
2287 | - # path with ; separators, and with drive letters. We can handle the | ||
2288 | - # drive letters (cygwin fileutils understands them), so leave them, | ||
2289 | - # especially as we might pass files found there to a mingw objdump, | ||
2290 | - # which wouldn't understand a cygwinified path. Ahh. | ||
2291 | - sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'` | ||
2292 | - else | ||
2293 | - sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` | ||
2294 | - fi | ||
2295 | - ;; | ||
2296 | - pw32*) | ||
2297 | - # pw32 DLLs use 'pw' prefix rather than 'lib' | ||
2298 | - library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}' | ||
2299 | - ;; | ||
2300 | - esac | ||
2301 | - ;; | ||
2302 | - | ||
2303 | - *) | ||
2304 | - library_names_spec='${libname}`echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext} $libname.lib' | ||
2305 | - ;; | ||
2306 | - esac | ||
2307 | - dynamic_linker='Win32 ld.exe' | ||
2308 | - # FIXME: first we should search . and the directory the executable is in | ||
2309 | - shlibpath_var=PATH | ||
2310 | - ;; | ||
2311 | - | ||
2312 | -darwin* | rhapsody*) | ||
2313 | - dynamic_linker="$host_os dyld" | ||
2314 | - version_type=darwin | ||
2315 | - need_lib_prefix=no | ||
2316 | - need_version=no | ||
2317 | - library_names_spec='${libname}${release}${major}$shared_ext ${libname}$shared_ext' | ||
2318 | - soname_spec='${libname}${release}${major}$shared_ext' | ||
2319 | - shlibpath_overrides_runpath=yes | ||
2320 | - shlibpath_var=DYLD_LIBRARY_PATH | ||
2321 | - shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`' | ||
2322 | -m4_if([$1], [],[ | ||
2323 | - sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/local/lib"]) | ||
2324 | - sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib' | ||
2325 | - ;; | ||
2326 | - | ||
2327 | -dgux*) | ||
2328 | - version_type=linux | ||
2329 | - need_lib_prefix=no | ||
2330 | - need_version=no | ||
2331 | - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext' | ||
2332 | - soname_spec='${libname}${release}${shared_ext}$major' | ||
2333 | - shlibpath_var=LD_LIBRARY_PATH | ||
2334 | - ;; | ||
2335 | - | ||
2336 | -freebsd1*) | ||
2337 | - dynamic_linker=no | ||
2338 | - ;; | ||
2339 | - | ||
2340 | -freebsd* | dragonfly*) | ||
2341 | - # DragonFly does not have aout. When/if they implement a new | ||
2342 | - # versioning mechanism, adjust this. | ||
2343 | - if test -x /usr/bin/objformat; then | ||
2344 | - objformat=`/usr/bin/objformat` | ||
2345 | - else | ||
2346 | - case $host_os in | ||
2347 | - freebsd[[123]]*) objformat=aout ;; | ||
2348 | - *) objformat=elf ;; | ||
2349 | - esac | ||
2350 | - fi | ||
2351 | - version_type=freebsd-$objformat | ||
2352 | - case $version_type in | ||
2353 | - freebsd-elf*) | ||
2354 | - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' | ||
2355 | - need_version=no | ||
2356 | - need_lib_prefix=no | ||
2357 | - ;; | ||
2358 | - freebsd-*) | ||
2359 | - library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix' | ||
2360 | - need_version=yes | ||
2361 | - ;; | ||
2362 | - esac | ||
2363 | - shlibpath_var=LD_LIBRARY_PATH | ||
2364 | - case $host_os in | ||
2365 | - freebsd2*) | ||
2366 | - shlibpath_overrides_runpath=yes | ||
2367 | - ;; | ||
2368 | - freebsd3.[[01]]* | freebsdelf3.[[01]]*) | ||
2369 | - shlibpath_overrides_runpath=yes | ||
2370 | - hardcode_into_libs=yes | ||
2371 | - ;; | ||
2372 | - freebsd3.[[2-9]]* | freebsdelf3.[[2-9]]* | \ | ||
2373 | - freebsd4.[[0-5]] | freebsdelf4.[[0-5]] | freebsd4.1.1 | freebsdelf4.1.1) | ||
2374 | - shlibpath_overrides_runpath=no | ||
2375 | - hardcode_into_libs=yes | ||
2376 | - ;; | ||
2377 | - *) # from 4.6 on, and DragonFly | ||
2378 | - shlibpath_overrides_runpath=yes | ||
2379 | - hardcode_into_libs=yes | ||
2380 | - ;; | ||
2381 | - esac | ||
2382 | - ;; | ||
2383 | - | ||
2384 | -gnu*) | ||
2385 | - version_type=linux | ||
2386 | - need_lib_prefix=no | ||
2387 | - need_version=no | ||
2388 | - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}' | ||
2389 | - soname_spec='${libname}${release}${shared_ext}$major' | ||
2390 | - shlibpath_var=LD_LIBRARY_PATH | ||
2391 | - hardcode_into_libs=yes | ||
2392 | - ;; | ||
2393 | - | ||
2394 | -hpux9* | hpux10* | hpux11*) | ||
2395 | - # Give a soname corresponding to the major version so that dld.sl refuses to | ||
2396 | - # link against other versions. | ||
2397 | - version_type=sunos | ||
2398 | - need_lib_prefix=no | ||
2399 | - need_version=no | ||
2400 | - case $host_cpu in | ||
2401 | - ia64*) | ||
2402 | - shrext_cmds='.so' | ||
2403 | - hardcode_into_libs=yes | ||
2404 | - dynamic_linker="$host_os dld.so" | ||
2405 | - shlibpath_var=LD_LIBRARY_PATH | ||
2406 | - shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. | ||
2407 | - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' | ||
2408 | - soname_spec='${libname}${release}${shared_ext}$major' | ||
2409 | - if test "X$HPUX_IA64_MODE" = X32; then | ||
2410 | - sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib" | ||
2411 | - else | ||
2412 | - sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64" | ||
2413 | - fi | ||
2414 | - sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec | ||
2415 | - ;; | ||
2416 | - hppa*64*) | ||
2417 | - shrext_cmds='.sl' | ||
2418 | - hardcode_into_libs=yes | ||
2419 | - dynamic_linker="$host_os dld.sl" | ||
2420 | - shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH | ||
2421 | - shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. | ||
2422 | - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' | ||
2423 | - soname_spec='${libname}${release}${shared_ext}$major' | ||
2424 | - sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64" | ||
2425 | - sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec | ||
2426 | - ;; | ||
2427 | - *) | ||
2428 | - shrext_cmds='.sl' | ||
2429 | - dynamic_linker="$host_os dld.sl" | ||
2430 | - shlibpath_var=SHLIB_PATH | ||
2431 | - shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH | ||
2432 | - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' | ||
2433 | - soname_spec='${libname}${release}${shared_ext}$major' | ||
2434 | - ;; | ||
2435 | - esac | ||
2436 | - # HP-UX runs *really* slowly unless shared libraries are mode 555. | ||
2437 | - postinstall_cmds='chmod 555 $lib' | ||
2438 | - ;; | ||
2439 | - | ||
2440 | -interix[[3-9]]*) | ||
2441 | - version_type=linux | ||
2442 | - need_lib_prefix=no | ||
2443 | - need_version=no | ||
2444 | - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' | ||
2445 | - soname_spec='${libname}${release}${shared_ext}$major' | ||
2446 | - dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)' | ||
2447 | - shlibpath_var=LD_LIBRARY_PATH | ||
2448 | - shlibpath_overrides_runpath=no | ||
2449 | - hardcode_into_libs=yes | ||
2450 | - ;; | ||
2451 | - | ||
2452 | -irix5* | irix6* | nonstopux*) | ||
2453 | - case $host_os in | ||
2454 | - nonstopux*) version_type=nonstopux ;; | ||
2455 | - *) | ||
2456 | - if test "$lt_cv_prog_gnu_ld" = yes; then | ||
2457 | - version_type=linux | ||
2458 | - else | ||
2459 | - version_type=irix | ||
2460 | - fi ;; | ||
2461 | - esac | ||
2462 | - need_lib_prefix=no | ||
2463 | - need_version=no | ||
2464 | - soname_spec='${libname}${release}${shared_ext}$major' | ||
2465 | - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} $libname${shared_ext}' | ||
2466 | - case $host_os in | ||
2467 | - irix5* | nonstopux*) | ||
2468 | - libsuff= shlibsuff= | ||
2469 | - ;; | ||
2470 | - *) | ||
2471 | - case $LD in # libtool.m4 will add one of these switches to LD | ||
2472 | - *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ") | ||
2473 | - libsuff= shlibsuff= libmagic=32-bit;; | ||
2474 | - *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ") | ||
2475 | - libsuff=32 shlibsuff=N32 libmagic=N32;; | ||
2476 | - *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ") | ||
2477 | - libsuff=64 shlibsuff=64 libmagic=64-bit;; | ||
2478 | - *) libsuff= shlibsuff= libmagic=never-match;; | ||
2479 | - esac | ||
2480 | - ;; | ||
2481 | - esac | ||
2482 | - shlibpath_var=LD_LIBRARY${shlibsuff}_PATH | ||
2483 | - shlibpath_overrides_runpath=no | ||
2484 | - sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}" | ||
2485 | - sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}" | ||
2486 | - hardcode_into_libs=yes | ||
2487 | - ;; | ||
2488 | - | ||
2489 | -# No shared lib support for Linux oldld, aout, or coff. | ||
2490 | -linux*oldld* | linux*aout* | linux*coff*) | ||
2491 | - dynamic_linker=no | ||
2492 | - ;; | ||
2493 | - | ||
2494 | -# This must be Linux ELF. | ||
2495 | -linux* | k*bsd*-gnu) | ||
2496 | - version_type=linux | ||
2497 | - need_lib_prefix=no | ||
2498 | - need_version=no | ||
2499 | - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' | ||
2500 | - soname_spec='${libname}${release}${shared_ext}$major' | ||
2501 | - finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir' | ||
2502 | - shlibpath_var=LD_LIBRARY_PATH | ||
2503 | - shlibpath_overrides_runpath=no | ||
2504 | - # Some binutils ld are patched to set DT_RUNPATH | ||
2505 | - save_LDFLAGS=$LDFLAGS | ||
2506 | - save_libdir=$libdir | ||
2507 | - eval "libdir=/foo; wl=\"$_LT_TAGVAR(lt_prog_compiler_wl, $1)\"; \ | ||
2508 | - LDFLAGS=\"\$LDFLAGS $_LT_TAGVAR(hardcode_libdir_flag_spec, $1)\"" | ||
2509 | - AC_LINK_IFELSE([AC_LANG_PROGRAM([],[])], | ||
2510 | - [AS_IF([ ($OBJDUMP -p conftest$ac_exeext) 2>/dev/null | grep "RUNPATH.*$libdir" >/dev/null], | ||
2511 | - [shlibpath_overrides_runpath=yes])]) | ||
2512 | - LDFLAGS=$save_LDFLAGS | ||
2513 | - libdir=$save_libdir | ||
2514 | - | ||
2515 | - # This implies no fast_install, which is unacceptable. | ||
2516 | - # Some rework will be needed to allow for fast_install | ||
2517 | - # before this can be enabled. | ||
2518 | - hardcode_into_libs=yes | ||
2519 | - | ||
2520 | - # Append ld.so.conf contents to the search path | ||
2521 | - if test -f /etc/ld.so.conf; then | ||
2522 | - 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;/^$/d' | tr '\n' ' '` | ||
2523 | - sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra" | ||
2524 | - fi | ||
2525 | - | ||
2526 | - # We used to test for /lib/ld.so.1 and disable shared libraries on | ||
2527 | - # powerpc, because MkLinux only supported shared libraries with the | ||
2528 | - # GNU dynamic linker. Since this was broken with cross compilers, | ||
2529 | - # most powerpc-linux boxes support dynamic linking these days and | ||
2530 | - # people can always --disable-shared, the test was removed, and we | ||
2531 | - # assume the GNU/Linux dynamic linker is in use. | ||
2532 | - dynamic_linker='GNU/Linux ld.so' | ||
2533 | - ;; | ||
2534 | - | ||
2535 | -netbsd*) | ||
2536 | - version_type=sunos | ||
2537 | - need_lib_prefix=no | ||
2538 | - need_version=no | ||
2539 | - if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then | ||
2540 | - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' | ||
2541 | - finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' | ||
2542 | - dynamic_linker='NetBSD (a.out) ld.so' | ||
2543 | - else | ||
2544 | - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' | ||
2545 | - soname_spec='${libname}${release}${shared_ext}$major' | ||
2546 | - dynamic_linker='NetBSD ld.elf_so' | ||
2547 | - fi | ||
2548 | - shlibpath_var=LD_LIBRARY_PATH | ||
2549 | - shlibpath_overrides_runpath=yes | ||
2550 | - hardcode_into_libs=yes | ||
2551 | - ;; | ||
2552 | - | ||
2553 | -newsos6) | ||
2554 | - version_type=linux | ||
2555 | - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' | ||
2556 | - shlibpath_var=LD_LIBRARY_PATH | ||
2557 | - shlibpath_overrides_runpath=yes | ||
2558 | - ;; | ||
2559 | - | ||
2560 | -*nto* | *qnx*) | ||
2561 | - version_type=qnx | ||
2562 | - need_lib_prefix=no | ||
2563 | - need_version=no | ||
2564 | - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' | ||
2565 | - soname_spec='${libname}${release}${shared_ext}$major' | ||
2566 | - shlibpath_var=LD_LIBRARY_PATH | ||
2567 | - shlibpath_overrides_runpath=no | ||
2568 | - hardcode_into_libs=yes | ||
2569 | - dynamic_linker='ldqnx.so' | ||
2570 | - ;; | ||
2571 | - | ||
2572 | -openbsd*) | ||
2573 | - version_type=sunos | ||
2574 | - sys_lib_dlsearch_path_spec="/usr/lib" | ||
2575 | - need_lib_prefix=no | ||
2576 | - # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs. | ||
2577 | - case $host_os in | ||
2578 | - openbsd3.3 | openbsd3.3.*) need_version=yes ;; | ||
2579 | - *) need_version=no ;; | ||
2580 | - esac | ||
2581 | - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' | ||
2582 | - finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' | ||
2583 | - shlibpath_var=LD_LIBRARY_PATH | ||
2584 | - if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then | ||
2585 | - case $host_os in | ||
2586 | - openbsd2.[[89]] | openbsd2.[[89]].*) | ||
2587 | - shlibpath_overrides_runpath=no | ||
2588 | - ;; | ||
2589 | - *) | ||
2590 | - shlibpath_overrides_runpath=yes | ||
2591 | - ;; | ||
2592 | - esac | ||
2593 | - else | ||
2594 | - shlibpath_overrides_runpath=yes | ||
2595 | - fi | ||
2596 | - ;; | ||
2597 | - | ||
2598 | -os2*) | ||
2599 | - libname_spec='$name' | ||
2600 | - shrext_cmds=".dll" | ||
2601 | - need_lib_prefix=no | ||
2602 | - library_names_spec='$libname${shared_ext} $libname.a' | ||
2603 | - dynamic_linker='OS/2 ld.exe' | ||
2604 | - shlibpath_var=LIBPATH | ||
2605 | - ;; | ||
2606 | - | ||
2607 | -osf3* | osf4* | osf5*) | ||
2608 | - version_type=osf | ||
2609 | - need_lib_prefix=no | ||
2610 | - need_version=no | ||
2611 | - soname_spec='${libname}${release}${shared_ext}$major' | ||
2612 | - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' | ||
2613 | - shlibpath_var=LD_LIBRARY_PATH | ||
2614 | - sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib" | ||
2615 | - sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec" | ||
2616 | - ;; | ||
2617 | - | ||
2618 | -rdos*) | ||
2619 | - dynamic_linker=no | ||
2620 | - ;; | ||
2621 | - | ||
2622 | -solaris*) | ||
2623 | - version_type=linux | ||
2624 | - need_lib_prefix=no | ||
2625 | - need_version=no | ||
2626 | - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' | ||
2627 | - soname_spec='${libname}${release}${shared_ext}$major' | ||
2628 | - shlibpath_var=LD_LIBRARY_PATH | ||
2629 | - shlibpath_overrides_runpath=yes | ||
2630 | - hardcode_into_libs=yes | ||
2631 | - # ldd complains unless libraries are executable | ||
2632 | - postinstall_cmds='chmod +x $lib' | ||
2633 | - ;; | ||
2634 | - | ||
2635 | -sunos4*) | ||
2636 | - version_type=sunos | ||
2637 | - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' | ||
2638 | - finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir' | ||
2639 | - shlibpath_var=LD_LIBRARY_PATH | ||
2640 | - shlibpath_overrides_runpath=yes | ||
2641 | - if test "$with_gnu_ld" = yes; then | ||
2642 | - need_lib_prefix=no | ||
2643 | - fi | ||
2644 | - need_version=yes | ||
2645 | - ;; | ||
2646 | - | ||
2647 | -sysv4 | sysv4.3*) | ||
2648 | - version_type=linux | ||
2649 | - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' | ||
2650 | - soname_spec='${libname}${release}${shared_ext}$major' | ||
2651 | - shlibpath_var=LD_LIBRARY_PATH | ||
2652 | - case $host_vendor in | ||
2653 | - sni) | ||
2654 | - shlibpath_overrides_runpath=no | ||
2655 | - need_lib_prefix=no | ||
2656 | - runpath_var=LD_RUN_PATH | ||
2657 | - ;; | ||
2658 | - siemens) | ||
2659 | - need_lib_prefix=no | ||
2660 | - ;; | ||
2661 | - motorola) | ||
2662 | - need_lib_prefix=no | ||
2663 | - need_version=no | ||
2664 | - shlibpath_overrides_runpath=no | ||
2665 | - sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib' | ||
2666 | - ;; | ||
2667 | - esac | ||
2668 | - ;; | ||
2669 | - | ||
2670 | -sysv4*MP*) | ||
2671 | - if test -d /usr/nec ;then | ||
2672 | - version_type=linux | ||
2673 | - library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}' | ||
2674 | - soname_spec='$libname${shared_ext}.$major' | ||
2675 | - shlibpath_var=LD_LIBRARY_PATH | ||
2676 | - fi | ||
2677 | - ;; | ||
2678 | - | ||
2679 | -sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) | ||
2680 | - version_type=freebsd-elf | ||
2681 | - need_lib_prefix=no | ||
2682 | - need_version=no | ||
2683 | - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' | ||
2684 | - soname_spec='${libname}${release}${shared_ext}$major' | ||
2685 | - shlibpath_var=LD_LIBRARY_PATH | ||
2686 | - shlibpath_overrides_runpath=yes | ||
2687 | - hardcode_into_libs=yes | ||
2688 | - if test "$with_gnu_ld" = yes; then | ||
2689 | - sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib' | ||
2690 | - else | ||
2691 | - sys_lib_search_path_spec='/usr/ccs/lib /usr/lib' | ||
2692 | - case $host_os in | ||
2693 | - sco3.2v5*) | ||
2694 | - sys_lib_search_path_spec="$sys_lib_search_path_spec /lib" | ||
2695 | - ;; | ||
2696 | - esac | ||
2697 | - fi | ||
2698 | - sys_lib_dlsearch_path_spec='/usr/lib' | ||
2699 | - ;; | ||
2700 | - | ||
2701 | -tpf*) | ||
2702 | - # TPF is a cross-target only. Preferred cross-host = GNU/Linux. | ||
2703 | - version_type=linux | ||
2704 | - need_lib_prefix=no | ||
2705 | - need_version=no | ||
2706 | - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' | ||
2707 | - shlibpath_var=LD_LIBRARY_PATH | ||
2708 | - shlibpath_overrides_runpath=no | ||
2709 | - hardcode_into_libs=yes | ||
2710 | - ;; | ||
2711 | - | ||
2712 | -uts4*) | ||
2713 | - version_type=linux | ||
2714 | - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' | ||
2715 | - soname_spec='${libname}${release}${shared_ext}$major' | ||
2716 | - shlibpath_var=LD_LIBRARY_PATH | ||
2717 | - ;; | ||
2718 | - | ||
2719 | -*) | ||
2720 | - dynamic_linker=no | ||
2721 | - ;; | ||
2722 | -esac | ||
2723 | -AC_MSG_RESULT([$dynamic_linker]) | ||
2724 | -test "$dynamic_linker" = no && can_build_shared=no | ||
2725 | - | ||
2726 | -variables_saved_for_relink="PATH $shlibpath_var $runpath_var" | ||
2727 | -if test "$GCC" = yes; then | ||
2728 | - variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH" | ||
2729 | -fi | ||
2730 | - | ||
2731 | -if test "${lt_cv_sys_lib_search_path_spec+set}" = set; then | ||
2732 | - sys_lib_search_path_spec="$lt_cv_sys_lib_search_path_spec" | ||
2733 | -fi | ||
2734 | -if test "${lt_cv_sys_lib_dlsearch_path_spec+set}" = set; then | ||
2735 | - sys_lib_dlsearch_path_spec="$lt_cv_sys_lib_dlsearch_path_spec" | ||
2736 | -fi | ||
2737 | - | ||
2738 | -_LT_DECL([], [variables_saved_for_relink], [1], | ||
2739 | - [Variables whose values should be saved in libtool wrapper scripts and | ||
2740 | - restored at link time]) | ||
2741 | -_LT_DECL([], [need_lib_prefix], [0], | ||
2742 | - [Do we need the "lib" prefix for modules?]) | ||
2743 | -_LT_DECL([], [need_version], [0], [Do we need a version for libraries?]) | ||
2744 | -_LT_DECL([], [version_type], [0], [Library versioning type]) | ||
2745 | -_LT_DECL([], [runpath_var], [0], [Shared library runtime path variable]) | ||
2746 | -_LT_DECL([], [shlibpath_var], [0],[Shared library path variable]) | ||
2747 | -_LT_DECL([], [shlibpath_overrides_runpath], [0], | ||
2748 | - [Is shlibpath searched before the hard-coded library search path?]) | ||
2749 | -_LT_DECL([], [libname_spec], [1], [Format of library name prefix]) | ||
2750 | -_LT_DECL([], [library_names_spec], [1], | ||
2751 | - [[List of archive names. First name is the real one, the rest are links. | ||
2752 | - The last name is the one that the linker finds with -lNAME]]) | ||
2753 | -_LT_DECL([], [soname_spec], [1], | ||
2754 | - [[The coded name of the library, if different from the real name]]) | ||
2755 | -_LT_DECL([], [postinstall_cmds], [2], | ||
2756 | - [Command to use after installation of a shared archive]) | ||
2757 | -_LT_DECL([], [postuninstall_cmds], [2], | ||
2758 | - [Command to use after uninstallation of a shared archive]) | ||
2759 | -_LT_DECL([], [finish_cmds], [2], | ||
2760 | - [Commands used to finish a libtool library installation in a directory]) | ||
2761 | -_LT_DECL([], [finish_eval], [1], | ||
2762 | - [[As "finish_cmds", except a single script fragment to be evaled but | ||
2763 | - not shown]]) | ||
2764 | -_LT_DECL([], [hardcode_into_libs], [0], | ||
2765 | - [Whether we should hardcode library paths into libraries]) | ||
2766 | -_LT_DECL([], [sys_lib_search_path_spec], [2], | ||
2767 | - [Compile-time system search path for libraries]) | ||
2768 | -_LT_DECL([], [sys_lib_dlsearch_path_spec], [2], | ||
2769 | - [Run-time system search path for libraries]) | ||
2770 | -])# _LT_SYS_DYNAMIC_LINKER | ||
2771 | - | ||
2772 | - | ||
2773 | -# _LT_PATH_TOOL_PREFIX(TOOL) | ||
2774 | -# -------------------------- | ||
2775 | -# find a file program which can recognize shared library | ||
2776 | -AC_DEFUN([_LT_PATH_TOOL_PREFIX], | ||
2777 | -[m4_require([_LT_DECL_EGREP])dnl | ||
2778 | -AC_MSG_CHECKING([for $1]) | ||
2779 | -AC_CACHE_VAL(lt_cv_path_MAGIC_CMD, | ||
2780 | -[case $MAGIC_CMD in | ||
2781 | -[[\\/*] | ?:[\\/]*]) | ||
2782 | - lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path. | ||
2783 | - ;; | ||
2784 | -*) | ||
2785 | - lt_save_MAGIC_CMD="$MAGIC_CMD" | ||
2786 | - lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR | ||
2787 | -dnl $ac_dummy forces splitting on constant user-supplied paths. | ||
2788 | -dnl POSIX.2 word splitting is done only on the output of word expansions, | ||
2789 | -dnl not every word. This closes a longstanding sh security hole. | ||
2790 | - ac_dummy="m4_if([$2], , $PATH, [$2])" | ||
2791 | - for ac_dir in $ac_dummy; do | ||
2792 | - IFS="$lt_save_ifs" | ||
2793 | - test -z "$ac_dir" && ac_dir=. | ||
2794 | - if test -f $ac_dir/$1; then | ||
2795 | - lt_cv_path_MAGIC_CMD="$ac_dir/$1" | ||
2796 | - if test -n "$file_magic_test_file"; then | ||
2797 | - case $deplibs_check_method in | ||
2798 | - "file_magic "*) | ||
2799 | - file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"` | ||
2800 | - MAGIC_CMD="$lt_cv_path_MAGIC_CMD" | ||
2801 | - if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null | | ||
2802 | - $EGREP "$file_magic_regex" > /dev/null; then | ||
2803 | - : | ||
2804 | - else | ||
2805 | - cat <<_LT_EOF 1>&2 | ||
2806 | - | ||
2807 | -*** Warning: the command libtool uses to detect shared libraries, | ||
2808 | -*** $file_magic_cmd, produces output that libtool cannot recognize. | ||
2809 | -*** The result is that libtool may fail to recognize shared libraries | ||
2810 | -*** as such. This will affect the creation of libtool libraries that | ||
2811 | -*** depend on shared libraries, but programs linked with such libtool | ||
2812 | -*** libraries will work regardless of this problem. Nevertheless, you | ||
2813 | -*** may want to report the problem to your system manager and/or to | ||
2814 | -*** bug-libtool@gnu.org | ||
2815 | - | ||
2816 | -_LT_EOF | ||
2817 | - fi ;; | ||
2818 | - esac | ||
2819 | - fi | ||
2820 | - break | ||
2821 | - fi | ||
2822 | - done | ||
2823 | - IFS="$lt_save_ifs" | ||
2824 | - MAGIC_CMD="$lt_save_MAGIC_CMD" | ||
2825 | - ;; | ||
2826 | -esac]) | ||
2827 | -MAGIC_CMD="$lt_cv_path_MAGIC_CMD" | ||
2828 | -if test -n "$MAGIC_CMD"; then | ||
2829 | - AC_MSG_RESULT($MAGIC_CMD) | ||
2830 | -else | ||
2831 | - AC_MSG_RESULT(no) | ||
2832 | -fi | ||
2833 | -_LT_DECL([], [MAGIC_CMD], [0], | ||
2834 | - [Used to examine libraries when file_magic_cmd begins with "file"])dnl | ||
2835 | -])# _LT_PATH_TOOL_PREFIX | ||
2836 | - | ||
2837 | -# Old name: | ||
2838 | -AU_ALIAS([AC_PATH_TOOL_PREFIX], [_LT_PATH_TOOL_PREFIX]) | ||
2839 | -dnl aclocal-1.4 backwards compatibility: | ||
2840 | -dnl AC_DEFUN([AC_PATH_TOOL_PREFIX], []) | ||
2841 | - | ||
2842 | - | ||
2843 | -# _LT_PATH_MAGIC | ||
2844 | -# -------------- | ||
2845 | -# find a file program which can recognize a shared library | ||
2846 | -m4_defun([_LT_PATH_MAGIC], | ||
2847 | -[_LT_PATH_TOOL_PREFIX(${ac_tool_prefix}file, /usr/bin$PATH_SEPARATOR$PATH) | ||
2848 | -if test -z "$lt_cv_path_MAGIC_CMD"; then | ||
2849 | - if test -n "$ac_tool_prefix"; then | ||
2850 | - _LT_PATH_TOOL_PREFIX(file, /usr/bin$PATH_SEPARATOR$PATH) | ||
2851 | - else | ||
2852 | - MAGIC_CMD=: | ||
2853 | - fi | ||
2854 | -fi | ||
2855 | -])# _LT_PATH_MAGIC | ||
2856 | - | ||
2857 | - | ||
2858 | -# LT_PATH_LD | ||
2859 | -# ---------- | ||
2860 | -# find the pathname to the GNU or non-GNU linker | ||
2861 | -AC_DEFUN([LT_PATH_LD], | ||
2862 | -[AC_REQUIRE([AC_PROG_CC])dnl | ||
2863 | -AC_REQUIRE([AC_CANONICAL_HOST])dnl | ||
2864 | -AC_REQUIRE([AC_CANONICAL_BUILD])dnl | ||
2865 | -m4_require([_LT_DECL_SED])dnl | ||
2866 | -m4_require([_LT_DECL_EGREP])dnl | ||
2867 | - | ||
2868 | -AC_ARG_WITH([gnu-ld], | ||
2869 | - [AS_HELP_STRING([--with-gnu-ld], | ||
2870 | - [assume the C compiler uses GNU ld @<:@default=no@:>@])], | ||
2871 | - [test "$withval" = no || with_gnu_ld=yes], | ||
2872 | - [with_gnu_ld=no])dnl | ||
2873 | - | ||
2874 | -ac_prog=ld | ||
2875 | -if test "$GCC" = yes; then | ||
2876 | - # Check if gcc -print-prog-name=ld gives a path. | ||
2877 | - AC_MSG_CHECKING([for ld used by $CC]) | ||
2878 | - case $host in | ||
2879 | - *-*-mingw*) | ||
2880 | - # gcc leaves a trailing carriage return which upsets mingw | ||
2881 | - ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;; | ||
2882 | - *) | ||
2883 | - ac_prog=`($CC -print-prog-name=ld) 2>&5` ;; | ||
2884 | - esac | ||
2885 | - case $ac_prog in | ||
2886 | - # Accept absolute paths. | ||
2887 | - [[\\/]]* | ?:[[\\/]]*) | ||
2888 | - re_direlt='/[[^/]][[^/]]*/\.\./' | ||
2889 | - # Canonicalize the pathname of ld | ||
2890 | - ac_prog=`$ECHO "$ac_prog"| $SED 's%\\\\%/%g'` | ||
2891 | - while $ECHO "$ac_prog" | $GREP "$re_direlt" > /dev/null 2>&1; do | ||
2892 | - ac_prog=`$ECHO $ac_prog| $SED "s%$re_direlt%/%"` | ||
2893 | - done | ||
2894 | - test -z "$LD" && LD="$ac_prog" | ||
2895 | - ;; | ||
2896 | - "") | ||
2897 | - # If it fails, then pretend we aren't using GCC. | ||
2898 | - ac_prog=ld | ||
2899 | - ;; | ||
2900 | - *) | ||
2901 | - # If it is relative, then search for the first ld in PATH. | ||
2902 | - with_gnu_ld=unknown | ||
2903 | - ;; | ||
2904 | - esac | ||
2905 | -elif test "$with_gnu_ld" = yes; then | ||
2906 | - AC_MSG_CHECKING([for GNU ld]) | ||
2907 | -else | ||
2908 | - AC_MSG_CHECKING([for non-GNU ld]) | ||
2909 | -fi | ||
2910 | -AC_CACHE_VAL(lt_cv_path_LD, | ||
2911 | -[if test -z "$LD"; then | ||
2912 | - lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR | ||
2913 | - for ac_dir in $PATH; do | ||
2914 | - IFS="$lt_save_ifs" | ||
2915 | - test -z "$ac_dir" && ac_dir=. | ||
2916 | - if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then | ||
2917 | - lt_cv_path_LD="$ac_dir/$ac_prog" | ||
2918 | - # Check to see if the program is GNU ld. I'd rather use --version, | ||
2919 | - # but apparently some variants of GNU ld only accept -v. | ||
2920 | - # Break only if it was the GNU/non-GNU ld that we prefer. | ||
2921 | - case `"$lt_cv_path_LD" -v 2>&1 </dev/null` in | ||
2922 | - *GNU* | *'with BFD'*) | ||
2923 | - test "$with_gnu_ld" != no && break | ||
2924 | - ;; | ||
2925 | - *) | ||
2926 | - test "$with_gnu_ld" != yes && break | ||
2927 | - ;; | ||
2928 | - esac | ||
2929 | - fi | ||
2930 | - done | ||
2931 | - IFS="$lt_save_ifs" | ||
2932 | -else | ||
2933 | - lt_cv_path_LD="$LD" # Let the user override the test with a path. | ||
2934 | -fi]) | ||
2935 | -LD="$lt_cv_path_LD" | ||
2936 | -if test -n "$LD"; then | ||
2937 | - AC_MSG_RESULT($LD) | ||
2938 | -else | ||
2939 | - AC_MSG_RESULT(no) | ||
2940 | -fi | ||
2941 | -test -z "$LD" && AC_MSG_ERROR([no acceptable ld found in \$PATH]) | ||
2942 | -_LT_PATH_LD_GNU | ||
2943 | -AC_SUBST([LD]) | ||
2944 | - | ||
2945 | -_LT_TAGDECL([], [LD], [1], [The linker used to build libraries]) | ||
2946 | -])# LT_PATH_LD | ||
2947 | - | ||
2948 | -# Old names: | ||
2949 | -AU_ALIAS([AM_PROG_LD], [LT_PATH_LD]) | ||
2950 | -AU_ALIAS([AC_PROG_LD], [LT_PATH_LD]) | ||
2951 | -dnl aclocal-1.4 backwards compatibility: | ||
2952 | -dnl AC_DEFUN([AM_PROG_LD], []) | ||
2953 | -dnl AC_DEFUN([AC_PROG_LD], []) | ||
2954 | - | ||
2955 | - | ||
2956 | -# _LT_PATH_LD_GNU | ||
2957 | -#- -------------- | ||
2958 | -m4_defun([_LT_PATH_LD_GNU], | ||
2959 | -[AC_CACHE_CHECK([if the linker ($LD) is GNU ld], lt_cv_prog_gnu_ld, | ||
2960 | -[# I'd rather use --version here, but apparently some GNU lds only accept -v. | ||
2961 | -case `$LD -v 2>&1 </dev/null` in | ||
2962 | -*GNU* | *'with BFD'*) | ||
2963 | - lt_cv_prog_gnu_ld=yes | ||
2964 | - ;; | ||
2965 | -*) | ||
2966 | - lt_cv_prog_gnu_ld=no | ||
2967 | - ;; | ||
2968 | -esac]) | ||
2969 | -with_gnu_ld=$lt_cv_prog_gnu_ld | ||
2970 | -])# _LT_PATH_LD_GNU | ||
2971 | - | ||
2972 | - | ||
2973 | -# _LT_CMD_RELOAD | ||
2974 | -# -------------- | ||
2975 | -# find reload flag for linker | ||
2976 | -# -- PORTME Some linkers may need a different reload flag. | ||
2977 | -m4_defun([_LT_CMD_RELOAD], | ||
2978 | -[AC_CACHE_CHECK([for $LD option to reload object files], | ||
2979 | - lt_cv_ld_reload_flag, | ||
2980 | - [lt_cv_ld_reload_flag='-r']) | ||
2981 | -reload_flag=$lt_cv_ld_reload_flag | ||
2982 | -case $reload_flag in | ||
2983 | -"" | " "*) ;; | ||
2984 | -*) reload_flag=" $reload_flag" ;; | ||
2985 | -esac | ||
2986 | -reload_cmds='$LD$reload_flag -o $output$reload_objs' | ||
2987 | -case $host_os in | ||
2988 | - darwin*) | ||
2989 | - if test "$GCC" = yes; then | ||
2990 | - reload_cmds='$LTCC $LTCFLAGS -nostdlib ${wl}-r -o $output$reload_objs' | ||
2991 | - else | ||
2992 | - reload_cmds='$LD$reload_flag -o $output$reload_objs' | ||
2993 | - fi | ||
2994 | - ;; | ||
2995 | -esac | ||
2996 | -_LT_DECL([], [reload_flag], [1], [How to create reloadable object files])dnl | ||
2997 | -_LT_DECL([], [reload_cmds], [2])dnl | ||
2998 | -])# _LT_CMD_RELOAD | ||
2999 | - | ||
3000 | - | ||
3001 | -# _LT_CHECK_MAGIC_METHOD | ||
3002 | -# ---------------------- | ||
3003 | -# how to check for library dependencies | ||
3004 | -# -- PORTME fill in with the dynamic library characteristics | ||
3005 | -m4_defun([_LT_CHECK_MAGIC_METHOD], | ||
3006 | -[m4_require([_LT_DECL_EGREP]) | ||
3007 | -m4_require([_LT_DECL_OBJDUMP]) | ||
3008 | -AC_CACHE_CHECK([how to recognize dependent libraries], | ||
3009 | -lt_cv_deplibs_check_method, | ||
3010 | -[lt_cv_file_magic_cmd='$MAGIC_CMD' | ||
3011 | -lt_cv_file_magic_test_file= | ||
3012 | -lt_cv_deplibs_check_method='unknown' | ||
3013 | -# Need to set the preceding variable on all platforms that support | ||
3014 | -# interlibrary dependencies. | ||
3015 | -# 'none' -- dependencies not supported. | ||
3016 | -# `unknown' -- same as none, but documents that we really don't know. | ||
3017 | -# 'pass_all' -- all dependencies passed with no checks. | ||
3018 | -# 'test_compile' -- check by making test program. | ||
3019 | -# 'file_magic [[regex]]' -- check by looking for files in library path | ||
3020 | -# which responds to the $file_magic_cmd with a given extended regex. | ||
3021 | -# If you have `file' or equivalent on your system and you're not sure | ||
3022 | -# whether `pass_all' will *always* work, you probably want this one. | ||
3023 | - | ||
3024 | -case $host_os in | ||
3025 | -aix[[4-9]]*) | ||
3026 | - lt_cv_deplibs_check_method=pass_all | ||
3027 | - ;; | ||
3028 | - | ||
3029 | -beos*) | ||
3030 | - lt_cv_deplibs_check_method=pass_all | ||
3031 | - ;; | ||
3032 | - | ||
3033 | -bsdi[[45]]*) | ||
3034 | - lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (shared object|dynamic lib)' | ||
3035 | - lt_cv_file_magic_cmd='/usr/bin/file -L' | ||
3036 | - lt_cv_file_magic_test_file=/shlib/libc.so | ||
3037 | - ;; | ||
3038 | - | ||
3039 | -cygwin*) | ||
3040 | - # func_win32_libid is a shell function defined in ltmain.sh | ||
3041 | - lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL' | ||
3042 | - lt_cv_file_magic_cmd='func_win32_libid' | ||
3043 | - ;; | ||
3044 | - | ||
3045 | -mingw* | pw32*) | ||
3046 | - # Base MSYS/MinGW do not provide the 'file' command needed by | ||
3047 | - # func_win32_libid shell function, so use a weaker test based on 'objdump', | ||
3048 | - # unless we find 'file', for example because we are cross-compiling. | ||
3049 | - if ( file / ) >/dev/null 2>&1; then | ||
3050 | - lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL' | ||
3051 | - lt_cv_file_magic_cmd='func_win32_libid' | ||
3052 | - else | ||
3053 | - lt_cv_deplibs_check_method='file_magic file format pei*-i386(.*architecture: i386)?' | ||
3054 | - lt_cv_file_magic_cmd='$OBJDUMP -f' | ||
3055 | - fi | ||
3056 | - ;; | ||
3057 | - | ||
3058 | -cegcc) | ||
3059 | - # use the weaker test based on 'objdump'. See mingw*. | ||
3060 | - lt_cv_deplibs_check_method='file_magic file format pe-arm-.*little(.*architecture: arm)?' | ||
3061 | - lt_cv_file_magic_cmd='$OBJDUMP -f' | ||
3062 | - ;; | ||
3063 | - | ||
3064 | -darwin* | rhapsody*) | ||
3065 | - lt_cv_deplibs_check_method=pass_all | ||
3066 | - ;; | ||
3067 | - | ||
3068 | -freebsd* | dragonfly*) | ||
3069 | - if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then | ||
3070 | - case $host_cpu in | ||
3071 | - i*86 ) | ||
3072 | - # Not sure whether the presence of OpenBSD here was a mistake. | ||
3073 | - # Let's accept both of them until this is cleared up. | ||
3074 | - lt_cv_deplibs_check_method='file_magic (FreeBSD|OpenBSD|DragonFly)/i[[3-9]]86 (compact )?demand paged shared library' | ||
3075 | - lt_cv_file_magic_cmd=/usr/bin/file | ||
3076 | - lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*` | ||
3077 | - ;; | ||
3078 | - esac | ||
3079 | - else | ||
3080 | - lt_cv_deplibs_check_method=pass_all | ||
3081 | - fi | ||
3082 | - ;; | ||
3083 | - | ||
3084 | -gnu*) | ||
3085 | - lt_cv_deplibs_check_method=pass_all | ||
3086 | - ;; | ||
3087 | - | ||
3088 | -hpux10.20* | hpux11*) | ||
3089 | - lt_cv_file_magic_cmd=/usr/bin/file | ||
3090 | - case $host_cpu in | ||
3091 | - ia64*) | ||
3092 | - lt_cv_deplibs_check_method='file_magic (s[[0-9]][[0-9]][[0-9]]|ELF-[[0-9]][[0-9]]) shared object file - IA64' | ||
3093 | - lt_cv_file_magic_test_file=/usr/lib/hpux32/libc.so | ||
3094 | - ;; | ||
3095 | - hppa*64*) | ||
3096 | - [lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF-[0-9][0-9]) shared object file - PA-RISC [0-9].[0-9]'] | ||
3097 | - lt_cv_file_magic_test_file=/usr/lib/pa20_64/libc.sl | ||
3098 | - ;; | ||
3099 | - *) | ||
3100 | - lt_cv_deplibs_check_method='file_magic (s[[0-9]][[0-9]][[0-9]]|PA-RISC[[0-9]].[[0-9]]) shared library' | ||
3101 | - lt_cv_file_magic_test_file=/usr/lib/libc.sl | ||
3102 | - ;; | ||
3103 | - esac | ||
3104 | - ;; | ||
3105 | - | ||
3106 | -interix[[3-9]]*) | ||
3107 | - # PIC code is broken on Interix 3.x, that's why |\.a not |_pic\.a here | ||
3108 | - lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so|\.a)$' | ||
3109 | - ;; | ||
3110 | - | ||
3111 | -irix5* | irix6* | nonstopux*) | ||
3112 | - case $LD in | ||
3113 | - *-32|*"-32 ") libmagic=32-bit;; | ||
3114 | - *-n32|*"-n32 ") libmagic=N32;; | ||
3115 | - *-64|*"-64 ") libmagic=64-bit;; | ||
3116 | - *) libmagic=never-match;; | ||
3117 | - esac | ||
3118 | - lt_cv_deplibs_check_method=pass_all | ||
3119 | - ;; | ||
3120 | - | ||
3121 | -# This must be Linux ELF. | ||
3122 | -linux* | k*bsd*-gnu) | ||
3123 | - lt_cv_deplibs_check_method=pass_all | ||
3124 | - ;; | ||
3125 | - | ||
3126 | -netbsd*) | ||
3127 | - if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then | ||
3128 | - lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|_pic\.a)$' | ||
3129 | - else | ||
3130 | - lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so|_pic\.a)$' | ||
3131 | - fi | ||
3132 | - ;; | ||
3133 | - | ||
3134 | -newos6*) | ||
3135 | - lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (executable|dynamic lib)' | ||
3136 | - lt_cv_file_magic_cmd=/usr/bin/file | ||
3137 | - lt_cv_file_magic_test_file=/usr/lib/libnls.so | ||
3138 | - ;; | ||
3139 | - | ||
3140 | -*nto* | *qnx*) | ||
3141 | - lt_cv_deplibs_check_method=pass_all | ||
3142 | - ;; | ||
3143 | - | ||
3144 | -openbsd*) | ||
3145 | - if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then | ||
3146 | - lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|\.so|_pic\.a)$' | ||
3147 | - else | ||
3148 | - lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|_pic\.a)$' | ||
3149 | - fi | ||
3150 | - ;; | ||
3151 | - | ||
3152 | -osf3* | osf4* | osf5*) | ||
3153 | - lt_cv_deplibs_check_method=pass_all | ||
3154 | - ;; | ||
3155 | - | ||
3156 | -rdos*) | ||
3157 | - lt_cv_deplibs_check_method=pass_all | ||
3158 | - ;; | ||
3159 | - | ||
3160 | -solaris*) | ||
3161 | - lt_cv_deplibs_check_method=pass_all | ||
3162 | - ;; | ||
3163 | - | ||
3164 | -sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) | ||
3165 | - lt_cv_deplibs_check_method=pass_all | ||
3166 | - ;; | ||
3167 | - | ||
3168 | -sysv4 | sysv4.3*) | ||
3169 | - case $host_vendor in | ||
3170 | - motorola) | ||
3171 | - 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]]' | ||
3172 | - lt_cv_file_magic_test_file=`echo /usr/lib/libc.so*` | ||
3173 | - ;; | ||
3174 | - ncr) | ||
3175 | - lt_cv_deplibs_check_method=pass_all | ||
3176 | - ;; | ||
3177 | - sequent) | ||
3178 | - lt_cv_file_magic_cmd='/bin/file' | ||
3179 | - lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB (shared object|dynamic lib )' | ||
3180 | - ;; | ||
3181 | - sni) | ||
3182 | - lt_cv_file_magic_cmd='/bin/file' | ||
3183 | - lt_cv_deplibs_check_method="file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB dynamic lib" | ||
3184 | - lt_cv_file_magic_test_file=/lib/libc.so | ||
3185 | - ;; | ||
3186 | - siemens) | ||
3187 | - lt_cv_deplibs_check_method=pass_all | ||
3188 | - ;; | ||
3189 | - pc) | ||
3190 | - lt_cv_deplibs_check_method=pass_all | ||
3191 | - ;; | ||
3192 | - esac | ||
3193 | - ;; | ||
3194 | - | ||
3195 | -tpf*) | ||
3196 | - lt_cv_deplibs_check_method=pass_all | ||
3197 | - ;; | ||
3198 | -esac | ||
3199 | -]) | ||
3200 | -file_magic_cmd=$lt_cv_file_magic_cmd | ||
3201 | -deplibs_check_method=$lt_cv_deplibs_check_method | ||
3202 | -test -z "$deplibs_check_method" && deplibs_check_method=unknown | ||
3203 | - | ||
3204 | -_LT_DECL([], [deplibs_check_method], [1], | ||
3205 | - [Method to check whether dependent libraries are shared objects]) | ||
3206 | -_LT_DECL([], [file_magic_cmd], [1], | ||
3207 | - [Command to use when deplibs_check_method == "file_magic"]) | ||
3208 | -])# _LT_CHECK_MAGIC_METHOD | ||
3209 | - | ||
3210 | - | ||
3211 | -# LT_PATH_NM | ||
3212 | -# ---------- | ||
3213 | -# find the pathname to a BSD- or MS-compatible name lister | ||
3214 | -AC_DEFUN([LT_PATH_NM], | ||
3215 | -[AC_REQUIRE([AC_PROG_CC])dnl | ||
3216 | -AC_CACHE_CHECK([for BSD- or MS-compatible name lister (nm)], lt_cv_path_NM, | ||
3217 | -[if test -n "$NM"; then | ||
3218 | - # Let the user override the test. | ||
3219 | - lt_cv_path_NM="$NM" | ||
3220 | -else | ||
3221 | - lt_nm_to_check="${ac_tool_prefix}nm" | ||
3222 | - if test -n "$ac_tool_prefix" && test "$build" = "$host"; then | ||
3223 | - lt_nm_to_check="$lt_nm_to_check nm" | ||
3224 | - fi | ||
3225 | - for lt_tmp_nm in $lt_nm_to_check; do | ||
3226 | - lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR | ||
3227 | - for ac_dir in $PATH /usr/ccs/bin/elf /usr/ccs/bin /usr/ucb /bin; do | ||
3228 | - IFS="$lt_save_ifs" | ||
3229 | - test -z "$ac_dir" && ac_dir=. | ||
3230 | - tmp_nm="$ac_dir/$lt_tmp_nm" | ||
3231 | - if test -f "$tmp_nm" || test -f "$tmp_nm$ac_exeext" ; then | ||
3232 | - # Check to see if the nm accepts a BSD-compat flag. | ||
3233 | - # Adding the `sed 1q' prevents false positives on HP-UX, which says: | ||
3234 | - # nm: unknown option "B" ignored | ||
3235 | - # Tru64's nm complains that /dev/null is an invalid object file | ||
3236 | - case `"$tmp_nm" -B /dev/null 2>&1 | sed '1q'` in | ||
3237 | - */dev/null* | *'Invalid file or object type'*) | ||
3238 | - lt_cv_path_NM="$tmp_nm -B" | ||
3239 | - break | ||
3240 | - ;; | ||
3241 | - *) | ||
3242 | - case `"$tmp_nm" -p /dev/null 2>&1 | sed '1q'` in | ||
3243 | - */dev/null*) | ||
3244 | - lt_cv_path_NM="$tmp_nm -p" | ||
3245 | - break | ||
3246 | - ;; | ||
3247 | - *) | ||
3248 | - lt_cv_path_NM=${lt_cv_path_NM="$tmp_nm"} # keep the first match, but | ||
3249 | - continue # so that we can try to find one that supports BSD flags | ||
3250 | - ;; | ||
3251 | - esac | ||
3252 | - ;; | ||
3253 | - esac | ||
3254 | - fi | ||
3255 | - done | ||
3256 | - IFS="$lt_save_ifs" | ||
3257 | - done | ||
3258 | - : ${lt_cv_path_NM=no} | ||
3259 | -fi]) | ||
3260 | -if test "$lt_cv_path_NM" != "no"; then | ||
3261 | - NM="$lt_cv_path_NM" | ||
3262 | -else | ||
3263 | - # Didn't find any BSD compatible name lister, look for dumpbin. | ||
3264 | - AC_CHECK_TOOLS(DUMPBIN, ["dumpbin -symbols" "link -dump -symbols"], :) | ||
3265 | - AC_SUBST([DUMPBIN]) | ||
3266 | - if test "$DUMPBIN" != ":"; then | ||
3267 | - NM="$DUMPBIN" | ||
3268 | - fi | ||
3269 | -fi | ||
3270 | -test -z "$NM" && NM=nm | ||
3271 | -AC_SUBST([NM]) | ||
3272 | -_LT_DECL([], [NM], [1], [A BSD- or MS-compatible name lister])dnl | ||
3273 | - | ||
3274 | -AC_CACHE_CHECK([the name lister ($NM) interface], [lt_cv_nm_interface], | ||
3275 | - [lt_cv_nm_interface="BSD nm" | ||
3276 | - echo "int some_variable = 0;" > conftest.$ac_ext | ||
3277 | - (eval echo "\"\$as_me:__oline__: $ac_compile\"" >&AS_MESSAGE_LOG_FD) | ||
3278 | - (eval "$ac_compile" 2>conftest.err) | ||
3279 | - cat conftest.err >&AS_MESSAGE_LOG_FD | ||
3280 | - (eval echo "\"\$as_me:__oline__: $NM \\\"conftest.$ac_objext\\\"\"" >&AS_MESSAGE_LOG_FD) | ||
3281 | - (eval "$NM \"conftest.$ac_objext\"" 2>conftest.err > conftest.out) | ||
3282 | - cat conftest.err >&AS_MESSAGE_LOG_FD | ||
3283 | - (eval echo "\"\$as_me:__oline__: output\"" >&AS_MESSAGE_LOG_FD) | ||
3284 | - cat conftest.out >&AS_MESSAGE_LOG_FD | ||
3285 | - if $GREP 'External.*some_variable' conftest.out > /dev/null; then | ||
3286 | - lt_cv_nm_interface="MS dumpbin" | ||
3287 | - fi | ||
3288 | - rm -f conftest*]) | ||
3289 | -])# LT_PATH_NM | ||
3290 | - | ||
3291 | -# Old names: | ||
3292 | -AU_ALIAS([AM_PROG_NM], [LT_PATH_NM]) | ||
3293 | -AU_ALIAS([AC_PROG_NM], [LT_PATH_NM]) | ||
3294 | -dnl aclocal-1.4 backwards compatibility: | ||
3295 | -dnl AC_DEFUN([AM_PROG_NM], []) | ||
3296 | -dnl AC_DEFUN([AC_PROG_NM], []) | ||
3297 | - | ||
3298 | - | ||
3299 | -# LT_LIB_M | ||
3300 | -# -------- | ||
3301 | -# check for math library | ||
3302 | -AC_DEFUN([LT_LIB_M], | ||
3303 | -[AC_REQUIRE([AC_CANONICAL_HOST])dnl | ||
3304 | -LIBM= | ||
3305 | -case $host in | ||
3306 | -*-*-beos* | *-*-cygwin* | *-*-pw32* | *-*-darwin*) | ||
3307 | - # These system don't have libm, or don't need it | ||
3308 | - ;; | ||
3309 | -*-ncr-sysv4.3*) | ||
3310 | - AC_CHECK_LIB(mw, _mwvalidcheckl, LIBM="-lmw") | ||
3311 | - AC_CHECK_LIB(m, cos, LIBM="$LIBM -lm") | ||
3312 | - ;; | ||
3313 | -*) | ||
3314 | - AC_CHECK_LIB(m, cos, LIBM="-lm") | ||
3315 | - ;; | ||
3316 | -esac | ||
3317 | -AC_SUBST([LIBM]) | ||
3318 | -])# LT_LIB_M | ||
3319 | - | ||
3320 | -# Old name: | ||
3321 | -AU_ALIAS([AC_CHECK_LIBM], [LT_LIB_M]) | ||
3322 | -dnl aclocal-1.4 backwards compatibility: | ||
3323 | -dnl AC_DEFUN([AC_CHECK_LIBM], []) | ||
3324 | - | ||
3325 | - | ||
3326 | -# _LT_COMPILER_NO_RTTI([TAGNAME]) | ||
3327 | -# ------------------------------- | ||
3328 | -m4_defun([_LT_COMPILER_NO_RTTI], | ||
3329 | -[m4_require([_LT_TAG_COMPILER])dnl | ||
3330 | - | ||
3331 | -_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)= | ||
3332 | - | ||
3333 | -if test "$GCC" = yes; then | ||
3334 | - _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -fno-builtin' | ||
3335 | - | ||
3336 | - _LT_COMPILER_OPTION([if $compiler supports -fno-rtti -fno-exceptions], | ||
3337 | - lt_cv_prog_compiler_rtti_exceptions, | ||
3338 | - [-fno-rtti -fno-exceptions], [], | ||
3339 | - [_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)="$_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1) -fno-rtti -fno-exceptions"]) | ||
3340 | -fi | ||
3341 | -_LT_TAGDECL([no_builtin_flag], [lt_prog_compiler_no_builtin_flag], [1], | ||
3342 | - [Compiler flag to turn off builtin functions]) | ||
3343 | -])# _LT_COMPILER_NO_RTTI | ||
3344 | - | ||
3345 | - | ||
3346 | -# _LT_CMD_GLOBAL_SYMBOLS | ||
3347 | -# ---------------------- | ||
3348 | -m4_defun([_LT_CMD_GLOBAL_SYMBOLS], | ||
3349 | -[AC_REQUIRE([AC_CANONICAL_HOST])dnl | ||
3350 | -AC_REQUIRE([AC_PROG_CC])dnl | ||
3351 | -AC_REQUIRE([LT_PATH_NM])dnl | ||
3352 | -AC_REQUIRE([LT_PATH_LD])dnl | ||
3353 | -m4_require([_LT_DECL_SED])dnl | ||
3354 | -m4_require([_LT_DECL_EGREP])dnl | ||
3355 | -m4_require([_LT_TAG_COMPILER])dnl | ||
3356 | - | ||
3357 | -# Check for command to grab the raw symbol name followed by C symbol from nm. | ||
3358 | -AC_MSG_CHECKING([command to parse $NM output from $compiler object]) | ||
3359 | -AC_CACHE_VAL([lt_cv_sys_global_symbol_pipe], | ||
3360 | -[ | ||
3361 | -# These are sane defaults that work on at least a few old systems. | ||
3362 | -# [They come from Ultrix. What could be older than Ultrix?!! ;)] | ||
3363 | - | ||
3364 | -# Character class describing NM global symbol codes. | ||
3365 | -symcode='[[BCDEGRST]]' | ||
3366 | - | ||
3367 | -# Regexp to match symbols that can be accessed directly from C. | ||
3368 | -sympat='\([[_A-Za-z]][[_A-Za-z0-9]]*\)' | ||
3369 | - | ||
3370 | -# Define system-specific variables. | ||
3371 | -case $host_os in | ||
3372 | -aix*) | ||
3373 | - symcode='[[BCDT]]' | ||
3374 | - ;; | ||
3375 | -cygwin* | mingw* | pw32* | cegcc*) | ||
3376 | - symcode='[[ABCDGISTW]]' | ||
3377 | - ;; | ||
3378 | -hpux*) | ||
3379 | - if test "$host_cpu" = ia64; then | ||
3380 | - symcode='[[ABCDEGRST]]' | ||
3381 | - fi | ||
3382 | - ;; | ||
3383 | -irix* | nonstopux*) | ||
3384 | - symcode='[[BCDEGRST]]' | ||
3385 | - ;; | ||
3386 | -osf*) | ||
3387 | - symcode='[[BCDEGQRST]]' | ||
3388 | - ;; | ||
3389 | -solaris*) | ||
3390 | - symcode='[[BDRT]]' | ||
3391 | - ;; | ||
3392 | -sco3.2v5*) | ||
3393 | - symcode='[[DT]]' | ||
3394 | - ;; | ||
3395 | -sysv4.2uw2*) | ||
3396 | - symcode='[[DT]]' | ||
3397 | - ;; | ||
3398 | -sysv5* | sco5v6* | unixware* | OpenUNIX*) | ||
3399 | - symcode='[[ABDT]]' | ||
3400 | - ;; | ||
3401 | -sysv4) | ||
3402 | - symcode='[[DFNSTU]]' | ||
3403 | - ;; | ||
3404 | -esac | ||
3405 | - | ||
3406 | -# If we're using GNU nm, then use its standard symbol codes. | ||
3407 | -case `$NM -V 2>&1` in | ||
3408 | -*GNU* | *'with BFD'*) | ||
3409 | - symcode='[[ABCDGIRSTW]]' ;; | ||
3410 | -esac | ||
3411 | - | ||
3412 | -# Transform an extracted symbol line into a proper C declaration. | ||
3413 | -# Some systems (esp. on ia64) link data and code symbols differently, | ||
3414 | -# so use this general approach. | ||
3415 | -lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'" | ||
3416 | - | ||
3417 | -# Transform an extracted symbol line into symbol name and symbol address | ||
3418 | -lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([[^ ]]*\) $/ {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([[^ ]]*\) \([[^ ]]*\)$/ {\"\2\", (void *) \&\2},/p'" | ||
3419 | -lt_cv_sys_global_symbol_to_c_name_address_lib_prefix="sed -n -e 's/^: \([[^ ]]*\) $/ {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([[^ ]]*\) \(lib[[^ ]]*\)$/ {\"\2\", (void *) \&\2},/p' -e 's/^$symcode* \([[^ ]]*\) \([[^ ]]*\)$/ {\"lib\2\", (void *) \&\2},/p'" | ||
3420 | - | ||
3421 | -# Handle CRLF in mingw tool chain | ||
3422 | -opt_cr= | ||
3423 | -case $build_os in | ||
3424 | -mingw*) | ||
3425 | - opt_cr=`$ECHO 'x\{0,1\}' | tr x '\015'` # option cr in regexp | ||
3426 | - ;; | ||
3427 | -esac | ||
3428 | - | ||
3429 | -# Try without a prefix underscore, then with it. | ||
3430 | -for ac_symprfx in "" "_"; do | ||
3431 | - | ||
3432 | - # Transform symcode, sympat, and symprfx into a raw symbol and a C symbol. | ||
3433 | - symxfrm="\\1 $ac_symprfx\\2 \\2" | ||
3434 | - | ||
3435 | - # Write the raw and C identifiers. | ||
3436 | - if test "$lt_cv_nm_interface" = "MS dumpbin"; then | ||
3437 | - # Fake it for dumpbin and say T for any non-static function | ||
3438 | - # and D for any global variable. | ||
3439 | - # Also find C++ and __fastcall symbols from MSVC++, | ||
3440 | - # which start with @ or ?. | ||
3441 | - lt_cv_sys_global_symbol_pipe="$AWK ['"\ | ||
3442 | -" {last_section=section; section=\$ 3};"\ | ||
3443 | -" /Section length .*#relocs.*(pick any)/{hide[last_section]=1};"\ | ||
3444 | -" \$ 0!~/External *\|/{next};"\ | ||
3445 | -" / 0+ UNDEF /{next}; / UNDEF \([^|]\)*()/{next};"\ | ||
3446 | -" {if(hide[section]) next};"\ | ||
3447 | -" {f=0}; \$ 0~/\(\).*\|/{f=1}; {printf f ? \"T \" : \"D \"};"\ | ||
3448 | -" {split(\$ 0, a, /\||\r/); split(a[2], s)};"\ | ||
3449 | -" s[1]~/^[@?]/{print s[1], s[1]; next};"\ | ||
3450 | -" s[1]~prfx {split(s[1],t,\"@\"); print t[1], substr(t[1],length(prfx))}"\ | ||
3451 | -" ' prfx=^$ac_symprfx]" | ||
3452 | - else | ||
3453 | - lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[[ ]]\($symcode$symcode*\)[[ ]][[ ]]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'" | ||
3454 | - fi | ||
3455 | - | ||
3456 | - # Check to see that the pipe works correctly. | ||
3457 | - pipe_works=no | ||
3458 | - | ||
3459 | - rm -f conftest* | ||
3460 | - cat > conftest.$ac_ext <<_LT_EOF | ||
3461 | -#ifdef __cplusplus | ||
3462 | -extern "C" { | ||
3463 | -#endif | ||
3464 | -char nm_test_var; | ||
3465 | -void nm_test_func(void); | ||
3466 | -void nm_test_func(void){} | ||
3467 | -#ifdef __cplusplus | ||
3468 | -} | ||
3469 | -#endif | ||
3470 | -int main(){nm_test_var='a';nm_test_func();return(0);} | ||
3471 | -_LT_EOF | ||
3472 | - | ||
3473 | - if AC_TRY_EVAL(ac_compile); then | ||
3474 | - # Now try to grab the symbols. | ||
3475 | - nlist=conftest.nm | ||
3476 | - if AC_TRY_EVAL(NM conftest.$ac_objext \| $lt_cv_sys_global_symbol_pipe \> $nlist) && test -s "$nlist"; then | ||
3477 | - # Try sorting and uniquifying the output. | ||
3478 | - if sort "$nlist" | uniq > "$nlist"T; then | ||
3479 | - mv -f "$nlist"T "$nlist" | ||
3480 | - else | ||
3481 | - rm -f "$nlist"T | ||
3482 | - fi | ||
3483 | - | ||
3484 | - # Make sure that we snagged all the symbols we need. | ||
3485 | - if $GREP ' nm_test_var$' "$nlist" >/dev/null; then | ||
3486 | - if $GREP ' nm_test_func$' "$nlist" >/dev/null; then | ||
3487 | - cat <<_LT_EOF > conftest.$ac_ext | ||
3488 | -#ifdef __cplusplus | ||
3489 | -extern "C" { | ||
3490 | -#endif | ||
3491 | - | ||
3492 | -_LT_EOF | ||
3493 | - # Now generate the symbol file. | ||
3494 | - eval "$lt_cv_sys_global_symbol_to_cdecl"' < "$nlist" | $GREP -v main >> conftest.$ac_ext' | ||
3495 | - | ||
3496 | - cat <<_LT_EOF >> conftest.$ac_ext | ||
3497 | - | ||
3498 | -/* The mapping between symbol names and symbols. */ | ||
3499 | -const struct { | ||
3500 | - const char *name; | ||
3501 | - void *address; | ||
3502 | -} | ||
3503 | -lt__PROGRAM__LTX_preloaded_symbols[[]] = | ||
3504 | -{ | ||
3505 | - { "@PROGRAM@", (void *) 0 }, | ||
3506 | -_LT_EOF | ||
3507 | - $SED "s/^$symcode$symcode* \(.*\) \(.*\)$/ {\"\2\", (void *) \&\2},/" < "$nlist" | $GREP -v main >> conftest.$ac_ext | ||
3508 | - cat <<\_LT_EOF >> conftest.$ac_ext | ||
3509 | - {0, (void *) 0} | ||
3510 | -}; | ||
3511 | - | ||
3512 | -/* This works around a problem in FreeBSD linker */ | ||
3513 | -#ifdef FREEBSD_WORKAROUND | ||
3514 | -static const void *lt_preloaded_setup() { | ||
3515 | - return lt__PROGRAM__LTX_preloaded_symbols; | ||
3516 | -} | ||
3517 | -#endif | ||
3518 | - | ||
3519 | -#ifdef __cplusplus | ||
3520 | -} | ||
3521 | -#endif | ||
3522 | -_LT_EOF | ||
3523 | - # Now try linking the two files. | ||
3524 | - mv conftest.$ac_objext conftstm.$ac_objext | ||
3525 | - lt_save_LIBS="$LIBS" | ||
3526 | - lt_save_CFLAGS="$CFLAGS" | ||
3527 | - LIBS="conftstm.$ac_objext" | ||
3528 | - CFLAGS="$CFLAGS$_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)" | ||
3529 | - if AC_TRY_EVAL(ac_link) && test -s conftest${ac_exeext}; then | ||
3530 | - pipe_works=yes | ||
3531 | - fi | ||
3532 | - LIBS="$lt_save_LIBS" | ||
3533 | - CFLAGS="$lt_save_CFLAGS" | ||
3534 | - else | ||
3535 | - echo "cannot find nm_test_func in $nlist" >&AS_MESSAGE_LOG_FD | ||
3536 | - fi | ||
3537 | - else | ||
3538 | - echo "cannot find nm_test_var in $nlist" >&AS_MESSAGE_LOG_FD | ||
3539 | - fi | ||
3540 | - else | ||
3541 | - echo "cannot run $lt_cv_sys_global_symbol_pipe" >&AS_MESSAGE_LOG_FD | ||
3542 | - fi | ||
3543 | - else | ||
3544 | - echo "$progname: failed program was:" >&AS_MESSAGE_LOG_FD | ||
3545 | - cat conftest.$ac_ext >&5 | ||
3546 | - fi | ||
3547 | - rm -rf conftest* conftst* | ||
3548 | - | ||
3549 | - # Do not use the global_symbol_pipe unless it works. | ||
3550 | - if test "$pipe_works" = yes; then | ||
3551 | - break | ||
3552 | - else | ||
3553 | - lt_cv_sys_global_symbol_pipe= | ||
3554 | - fi | ||
3555 | -done | ||
3556 | -]) | ||
3557 | -if test -z "$lt_cv_sys_global_symbol_pipe"; then | ||
3558 | - lt_cv_sys_global_symbol_to_cdecl= | ||
3559 | -fi | ||
3560 | -if test -z "$lt_cv_sys_global_symbol_pipe$lt_cv_sys_global_symbol_to_cdecl"; then | ||
3561 | - AC_MSG_RESULT(failed) | ||
3562 | -else | ||
3563 | - AC_MSG_RESULT(ok) | ||
3564 | -fi | ||
3565 | - | ||
3566 | -_LT_DECL([global_symbol_pipe], [lt_cv_sys_global_symbol_pipe], [1], | ||
3567 | - [Take the output of nm and produce a listing of raw symbols and C names]) | ||
3568 | -_LT_DECL([global_symbol_to_cdecl], [lt_cv_sys_global_symbol_to_cdecl], [1], | ||
3569 | - [Transform the output of nm in a proper C declaration]) | ||
3570 | -_LT_DECL([global_symbol_to_c_name_address], | ||
3571 | - [lt_cv_sys_global_symbol_to_c_name_address], [1], | ||
3572 | - [Transform the output of nm in a C name address pair]) | ||
3573 | -_LT_DECL([global_symbol_to_c_name_address_lib_prefix], | ||
3574 | - [lt_cv_sys_global_symbol_to_c_name_address_lib_prefix], [1], | ||
3575 | - [Transform the output of nm in a C name address pair when lib prefix is needed]) | ||
3576 | -]) # _LT_CMD_GLOBAL_SYMBOLS | ||
3577 | - | ||
3578 | - | ||
3579 | -# _LT_COMPILER_PIC([TAGNAME]) | ||
3580 | -# --------------------------- | ||
3581 | -m4_defun([_LT_COMPILER_PIC], | ||
3582 | -[m4_require([_LT_TAG_COMPILER])dnl | ||
3583 | -_LT_TAGVAR(lt_prog_compiler_wl, $1)= | ||
3584 | -_LT_TAGVAR(lt_prog_compiler_pic, $1)= | ||
3585 | -_LT_TAGVAR(lt_prog_compiler_static, $1)= | ||
3586 | - | ||
3587 | -AC_MSG_CHECKING([for $compiler option to produce PIC]) | ||
3588 | -m4_if([$1], [CXX], [ | ||
3589 | - # C++ specific cases for pic, static, wl, etc. | ||
3590 | - if test "$GXX" = yes; then | ||
3591 | - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' | ||
3592 | - _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' | ||
3593 | - | ||
3594 | - case $host_os in | ||
3595 | - aix*) | ||
3596 | - # All AIX code is PIC. | ||
3597 | - if test "$host_cpu" = ia64; then | ||
3598 | - # AIX 5 now supports IA64 processor | ||
3599 | - _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' | ||
3600 | - fi | ||
3601 | - ;; | ||
3602 | - | ||
3603 | - amigaos*) | ||
3604 | - case $host_cpu in | ||
3605 | - powerpc) | ||
3606 | - # see comment about AmigaOS4 .so support | ||
3607 | - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' | ||
3608 | - ;; | ||
3609 | - m68k) | ||
3610 | - # FIXME: we need at least 68020 code to build shared libraries, but | ||
3611 | - # adding the `-m68020' flag to GCC prevents building anything better, | ||
3612 | - # like `-m68040'. | ||
3613 | - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-m68020 -resident32 -malways-restore-a4' | ||
3614 | - ;; | ||
3615 | - esac | ||
3616 | - ;; | ||
3617 | - | ||
3618 | - beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) | ||
3619 | - # PIC is the default for these OSes. | ||
3620 | - ;; | ||
3621 | - mingw* | cygwin* | os2* | pw32* | cegcc*) | ||
3622 | - # This hack is so that the source file can tell whether it is being | ||
3623 | - # built for inclusion in a dll (and should export symbols for example). | ||
3624 | - # Although the cygwin gcc ignores -fPIC, still need this for old-style | ||
3625 | - # (--disable-auto-import) libraries | ||
3626 | - m4_if([$1], [GCJ], [], | ||
3627 | - [_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT']) | ||
3628 | - ;; | ||
3629 | - darwin* | rhapsody*) | ||
3630 | - # PIC is the default on this platform | ||
3631 | - # Common symbols not allowed in MH_DYLIB files | ||
3632 | - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common' | ||
3633 | - ;; | ||
3634 | - *djgpp*) | ||
3635 | - # DJGPP does not support shared libraries at all | ||
3636 | - _LT_TAGVAR(lt_prog_compiler_pic, $1)= | ||
3637 | - ;; | ||
3638 | - interix[[3-9]]*) | ||
3639 | - # Interix 3.x gcc -fpic/-fPIC options generate broken code. | ||
3640 | - # Instead, we relocate shared libraries at runtime. | ||
3641 | - ;; | ||
3642 | - sysv4*MP*) | ||
3643 | - if test -d /usr/nec; then | ||
3644 | - _LT_TAGVAR(lt_prog_compiler_pic, $1)=-Kconform_pic | ||
3645 | - fi | ||
3646 | - ;; | ||
3647 | - hpux*) | ||
3648 | - # PIC is the default for 64-bit PA HP-UX, but not for 32-bit | ||
3649 | - # PA HP-UX. On IA64 HP-UX, PIC is the default but the pic flag | ||
3650 | - # sets the default TLS model and affects inlining. | ||
3651 | - case $host_cpu in | ||
3652 | - hppa*64*) | ||
3653 | - ;; | ||
3654 | - *) | ||
3655 | - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' | ||
3656 | - ;; | ||
3657 | - esac | ||
3658 | - ;; | ||
3659 | - *qnx* | *nto*) | ||
3660 | - # QNX uses GNU C++, but need to define -shared option too, otherwise | ||
3661 | - # it will coredump. | ||
3662 | - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared' | ||
3663 | - ;; | ||
3664 | - *) | ||
3665 | - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' | ||
3666 | - ;; | ||
3667 | - esac | ||
3668 | - else | ||
3669 | - case $host_os in | ||
3670 | - aix[[4-9]]*) | ||
3671 | - # All AIX code is PIC. | ||
3672 | - if test "$host_cpu" = ia64; then | ||
3673 | - # AIX 5 now supports IA64 processor | ||
3674 | - _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' | ||
3675 | - else | ||
3676 | - _LT_TAGVAR(lt_prog_compiler_static, $1)='-bnso -bI:/lib/syscalls.exp' | ||
3677 | - fi | ||
3678 | - ;; | ||
3679 | - chorus*) | ||
3680 | - case $cc_basename in | ||
3681 | - cxch68*) | ||
3682 | - # Green Hills C++ Compiler | ||
3683 | - # _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" | ||
3684 | - ;; | ||
3685 | - esac | ||
3686 | - ;; | ||
3687 | - dgux*) | ||
3688 | - case $cc_basename in | ||
3689 | - ec++*) | ||
3690 | - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' | ||
3691 | - ;; | ||
3692 | - ghcx*) | ||
3693 | - # Green Hills C++ Compiler | ||
3694 | - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic' | ||
3695 | - ;; | ||
3696 | - *) | ||
3697 | - ;; | ||
3698 | - esac | ||
3699 | - ;; | ||
3700 | - freebsd* | dragonfly*) | ||
3701 | - # FreeBSD uses GNU C++ | ||
3702 | - ;; | ||
3703 | - hpux9* | hpux10* | hpux11*) | ||
3704 | - case $cc_basename in | ||
3705 | - CC*) | ||
3706 | - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' | ||
3707 | - _LT_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive' | ||
3708 | - if test "$host_cpu" != ia64; then | ||
3709 | - _LT_TAGVAR(lt_prog_compiler_pic, $1)='+Z' | ||
3710 | - fi | ||
3711 | - ;; | ||
3712 | - aCC*) | ||
3713 | - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' | ||
3714 | - _LT_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive' | ||
3715 | - case $host_cpu in | ||
3716 | - hppa*64*|ia64*) | ||
3717 | - # +Z the default | ||
3718 | - ;; | ||
3719 | - *) | ||
3720 | - _LT_TAGVAR(lt_prog_compiler_pic, $1)='+Z' | ||
3721 | - ;; | ||
3722 | - esac | ||
3723 | - ;; | ||
3724 | - *) | ||
3725 | - ;; | ||
3726 | - esac | ||
3727 | - ;; | ||
3728 | - interix*) | ||
3729 | - # This is c89, which is MS Visual C++ (no shared libs) | ||
3730 | - # Anyone wants to do a port? | ||
3731 | - ;; | ||
3732 | - irix5* | irix6* | nonstopux*) | ||
3733 | - case $cc_basename in | ||
3734 | - CC*) | ||
3735 | - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' | ||
3736 | - _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' | ||
3737 | - # CC pic flag -KPIC is the default. | ||
3738 | - ;; | ||
3739 | - *) | ||
3740 | - ;; | ||
3741 | - esac | ||
3742 | - ;; | ||
3743 | - linux* | k*bsd*-gnu) | ||
3744 | - case $cc_basename in | ||
3745 | - KCC*) | ||
3746 | - # KAI C++ Compiler | ||
3747 | - _LT_TAGVAR(lt_prog_compiler_wl, $1)='--backend -Wl,' | ||
3748 | - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' | ||
3749 | - ;; | ||
3750 | - ecpc* ) | ||
3751 | - # old Intel C++ for x86_64 which still supported -KPIC. | ||
3752 | - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' | ||
3753 | - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' | ||
3754 | - _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' | ||
3755 | - ;; | ||
3756 | - icpc* ) | ||
3757 | - # Intel C++, used to be incompatible with GCC. | ||
3758 | - # ICC 10 doesn't accept -KPIC any more. | ||
3759 | - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' | ||
3760 | - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' | ||
3761 | - _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' | ||
3762 | - ;; | ||
3763 | - pgCC* | pgcpp*) | ||
3764 | - # Portland Group C++ compiler | ||
3765 | - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' | ||
3766 | - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fpic' | ||
3767 | - _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' | ||
3768 | - ;; | ||
3769 | - cxx*) | ||
3770 | - # Compaq C++ | ||
3771 | - # Make sure the PIC flag is empty. It appears that all Alpha | ||
3772 | - # Linux and Compaq Tru64 Unix objects are PIC. | ||
3773 | - _LT_TAGVAR(lt_prog_compiler_pic, $1)= | ||
3774 | - _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' | ||
3775 | - ;; | ||
3776 | - xlc* | xlC*) | ||
3777 | - # IBM XL 8.0 on PPC | ||
3778 | - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' | ||
3779 | - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-qpic' | ||
3780 | - _LT_TAGVAR(lt_prog_compiler_static, $1)='-qstaticlink' | ||
3781 | - ;; | ||
3782 | - *) | ||
3783 | - case `$CC -V 2>&1 | sed 5q` in | ||
3784 | - *Sun\ C*) | ||
3785 | - # Sun C++ 5.9 | ||
3786 | - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' | ||
3787 | - _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' | ||
3788 | - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ' | ||
3789 | - ;; | ||
3790 | - esac | ||
3791 | - ;; | ||
3792 | - esac | ||
3793 | - ;; | ||
3794 | - lynxos*) | ||
3795 | - ;; | ||
3796 | - m88k*) | ||
3797 | - ;; | ||
3798 | - mvs*) | ||
3799 | - case $cc_basename in | ||
3800 | - cxx*) | ||
3801 | - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-W c,exportall' | ||
3802 | - ;; | ||
3803 | - *) | ||
3804 | - ;; | ||
3805 | - esac | ||
3806 | - ;; | ||
3807 | - netbsd*) | ||
3808 | - ;; | ||
3809 | - *qnx* | *nto*) | ||
3810 | - # QNX uses GNU C++, but need to define -shared option too, otherwise | ||
3811 | - # it will coredump. | ||
3812 | - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared' | ||
3813 | - ;; | ||
3814 | - osf3* | osf4* | osf5*) | ||
3815 | - case $cc_basename in | ||
3816 | - KCC*) | ||
3817 | - _LT_TAGVAR(lt_prog_compiler_wl, $1)='--backend -Wl,' | ||
3818 | - ;; | ||
3819 | - RCC*) | ||
3820 | - # Rational C++ 2.4.1 | ||
3821 | - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic' | ||
3822 | - ;; | ||
3823 | - cxx*) | ||
3824 | - # Digital/Compaq C++ | ||
3825 | - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' | ||
3826 | - # Make sure the PIC flag is empty. It appears that all Alpha | ||
3827 | - # Linux and Compaq Tru64 Unix objects are PIC. | ||
3828 | - _LT_TAGVAR(lt_prog_compiler_pic, $1)= | ||
3829 | - _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' | ||
3830 | - ;; | ||
3831 | - *) | ||
3832 | - ;; | ||
3833 | - esac | ||
3834 | - ;; | ||
3835 | - psos*) | ||
3836 | - ;; | ||
3837 | - solaris*) | ||
3838 | - case $cc_basename in | ||
3839 | - CC*) | ||
3840 | - # Sun C++ 4.2, 5.x and Centerline C++ | ||
3841 | - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' | ||
3842 | - _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' | ||
3843 | - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ' | ||
3844 | - ;; | ||
3845 | - gcx*) | ||
3846 | - # Green Hills C++ Compiler | ||
3847 | - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-PIC' | ||
3848 | - ;; | ||
3849 | - *) | ||
3850 | - ;; | ||
3851 | - esac | ||
3852 | - ;; | ||
3853 | - sunos4*) | ||
3854 | - case $cc_basename in | ||
3855 | - CC*) | ||
3856 | - # Sun C++ 4.x | ||
3857 | - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic' | ||
3858 | - _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' | ||
3859 | - ;; | ||
3860 | - lcc*) | ||
3861 | - # Lucid | ||
3862 | - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic' | ||
3863 | - ;; | ||
3864 | - *) | ||
3865 | - ;; | ||
3866 | - esac | ||
3867 | - ;; | ||
3868 | - sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) | ||
3869 | - case $cc_basename in | ||
3870 | - CC*) | ||
3871 | - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' | ||
3872 | - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' | ||
3873 | - _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' | ||
3874 | - ;; | ||
3875 | - esac | ||
3876 | - ;; | ||
3877 | - tandem*) | ||
3878 | - case $cc_basename in | ||
3879 | - NCC*) | ||
3880 | - # NonStop-UX NCC 3.20 | ||
3881 | - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' | ||
3882 | - ;; | ||
3883 | - *) | ||
3884 | - ;; | ||
3885 | - esac | ||
3886 | - ;; | ||
3887 | - vxworks*) | ||
3888 | - ;; | ||
3889 | - *) | ||
3890 | - _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no | ||
3891 | - ;; | ||
3892 | - esac | ||
3893 | - fi | ||
3894 | -], | ||
3895 | -[ | ||
3896 | - if test "$GCC" = yes; then | ||
3897 | - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' | ||
3898 | - _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' | ||
3899 | - | ||
3900 | - case $host_os in | ||
3901 | - aix*) | ||
3902 | - # All AIX code is PIC. | ||
3903 | - if test "$host_cpu" = ia64; then | ||
3904 | - # AIX 5 now supports IA64 processor | ||
3905 | - _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' | ||
3906 | - fi | ||
3907 | - ;; | ||
3908 | - | ||
3909 | - amigaos*) | ||
3910 | - case $host_cpu in | ||
3911 | - powerpc) | ||
3912 | - # see comment about AmigaOS4 .so support | ||
3913 | - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' | ||
3914 | - ;; | ||
3915 | - m68k) | ||
3916 | - # FIXME: we need at least 68020 code to build shared libraries, but | ||
3917 | - # adding the `-m68020' flag to GCC prevents building anything better, | ||
3918 | - # like `-m68040'. | ||
3919 | - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-m68020 -resident32 -malways-restore-a4' | ||
3920 | - ;; | ||
3921 | - esac | ||
3922 | - ;; | ||
3923 | - | ||
3924 | - beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) | ||
3925 | - # PIC is the default for these OSes. | ||
3926 | - ;; | ||
3927 | - | ||
3928 | - mingw* | cygwin* | pw32* | os2* | cegcc*) | ||
3929 | - # This hack is so that the source file can tell whether it is being | ||
3930 | - # built for inclusion in a dll (and should export symbols for example). | ||
3931 | - # Although the cygwin gcc ignores -fPIC, still need this for old-style | ||
3932 | - # (--disable-auto-import) libraries | ||
3933 | - m4_if([$1], [GCJ], [], | ||
3934 | - [_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT']) | ||
3935 | - ;; | ||
3936 | - | ||
3937 | - darwin* | rhapsody*) | ||
3938 | - # PIC is the default on this platform | ||
3939 | - # Common symbols not allowed in MH_DYLIB files | ||
3940 | - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common' | ||
3941 | - ;; | ||
3942 | - | ||
3943 | - hpux*) | ||
3944 | - # PIC is the default for 64-bit PA HP-UX, but not for 32-bit | ||
3945 | - # PA HP-UX. On IA64 HP-UX, PIC is the default but the pic flag | ||
3946 | - # sets the default TLS model and affects inlining. | ||
3947 | - case $host_cpu in | ||
3948 | - hppa*64*) | ||
3949 | - # +Z the default | ||
3950 | - ;; | ||
3951 | - *) | ||
3952 | - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' | ||
3953 | - ;; | ||
3954 | - esac | ||
3955 | - ;; | ||
3956 | - | ||
3957 | - interix[[3-9]]*) | ||
3958 | - # Interix 3.x gcc -fpic/-fPIC options generate broken code. | ||
3959 | - # Instead, we relocate shared libraries at runtime. | ||
3960 | - ;; | ||
3961 | - | ||
3962 | - msdosdjgpp*) | ||
3963 | - # Just because we use GCC doesn't mean we suddenly get shared libraries | ||
3964 | - # on systems that don't support them. | ||
3965 | - _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no | ||
3966 | - enable_shared=no | ||
3967 | - ;; | ||
3968 | - | ||
3969 | - *nto* | *qnx*) | ||
3970 | - # QNX uses GNU C++, but need to define -shared option too, otherwise | ||
3971 | - # it will coredump. | ||
3972 | - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared' | ||
3973 | - ;; | ||
3974 | - | ||
3975 | - sysv4*MP*) | ||
3976 | - if test -d /usr/nec; then | ||
3977 | - _LT_TAGVAR(lt_prog_compiler_pic, $1)=-Kconform_pic | ||
3978 | - fi | ||
3979 | - ;; | ||
3980 | - | ||
3981 | - *) | ||
3982 | - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' | ||
3983 | - ;; | ||
3984 | - esac | ||
3985 | - else | ||
3986 | - # PORTME Check for flag to pass linker flags through the system compiler. | ||
3987 | - case $host_os in | ||
3988 | - aix*) | ||
3989 | - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' | ||
3990 | - if test "$host_cpu" = ia64; then | ||
3991 | - # AIX 5 now supports IA64 processor | ||
3992 | - _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' | ||
3993 | - else | ||
3994 | - _LT_TAGVAR(lt_prog_compiler_static, $1)='-bnso -bI:/lib/syscalls.exp' | ||
3995 | - fi | ||
3996 | - ;; | ||
3997 | - | ||
3998 | - mingw* | cygwin* | pw32* | os2* | cegcc*) | ||
3999 | - # This hack is so that the source file can tell whether it is being | ||
4000 | - # built for inclusion in a dll (and should export symbols for example). | ||
4001 | - m4_if([$1], [GCJ], [], | ||
4002 | - [_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT']) | ||
4003 | - ;; | ||
4004 | - | ||
4005 | - hpux9* | hpux10* | hpux11*) | ||
4006 | - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' | ||
4007 | - # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but | ||
4008 | - # not for PA HP-UX. | ||
4009 | - case $host_cpu in | ||
4010 | - hppa*64*|ia64*) | ||
4011 | - # +Z the default | ||
4012 | - ;; | ||
4013 | - *) | ||
4014 | - _LT_TAGVAR(lt_prog_compiler_pic, $1)='+Z' | ||
4015 | - ;; | ||
4016 | - esac | ||
4017 | - # Is there a better lt_prog_compiler_static that works with the bundled CC? | ||
4018 | - _LT_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive' | ||
4019 | - ;; | ||
4020 | - | ||
4021 | - irix5* | irix6* | nonstopux*) | ||
4022 | - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' | ||
4023 | - # PIC (with -KPIC) is the default. | ||
4024 | - _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' | ||
4025 | - ;; | ||
4026 | - | ||
4027 | - linux* | k*bsd*-gnu) | ||
4028 | - case $cc_basename in | ||
4029 | - # old Intel for x86_64 which still supported -KPIC. | ||
4030 | - ecc*) | ||
4031 | - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' | ||
4032 | - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' | ||
4033 | - _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' | ||
4034 | - ;; | ||
4035 | - # icc used to be incompatible with GCC. | ||
4036 | - # ICC 10 doesn't accept -KPIC any more. | ||
4037 | - icc* | ifort*) | ||
4038 | - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' | ||
4039 | - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' | ||
4040 | - _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' | ||
4041 | - ;; | ||
4042 | - # Lahey Fortran 8.1. | ||
4043 | - lf95*) | ||
4044 | - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' | ||
4045 | - _LT_TAGVAR(lt_prog_compiler_pic, $1)='--shared' | ||
4046 | - _LT_TAGVAR(lt_prog_compiler_static, $1)='--static' | ||
4047 | - ;; | ||
4048 | - pgcc* | pgf77* | pgf90* | pgf95*) | ||
4049 | - # Portland Group compilers (*not* the Pentium gcc compiler, | ||
4050 | - # which looks to be a dead project) | ||
4051 | - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' | ||
4052 | - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fpic' | ||
4053 | - _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' | ||
4054 | - ;; | ||
4055 | - ccc*) | ||
4056 | - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' | ||
4057 | - # All Alpha code is PIC. | ||
4058 | - _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' | ||
4059 | - ;; | ||
4060 | - xl*) | ||
4061 | - # IBM XL C 8.0/Fortran 10.1 on PPC | ||
4062 | - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' | ||
4063 | - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-qpic' | ||
4064 | - _LT_TAGVAR(lt_prog_compiler_static, $1)='-qstaticlink' | ||
4065 | - ;; | ||
4066 | - *) | ||
4067 | - case `$CC -V 2>&1 | sed 5q` in | ||
4068 | - *Sun\ C*) | ||
4069 | - # Sun C 5.9 | ||
4070 | - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' | ||
4071 | - _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' | ||
4072 | - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' | ||
4073 | - ;; | ||
4074 | - *Sun\ F*) | ||
4075 | - # Sun Fortran 8.3 passes all unrecognized flags to the linker | ||
4076 | - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' | ||
4077 | - _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' | ||
4078 | - _LT_TAGVAR(lt_prog_compiler_wl, $1)='' | ||
4079 | - ;; | ||
4080 | - esac | ||
4081 | - ;; | ||
4082 | - esac | ||
4083 | - ;; | ||
4084 | - | ||
4085 | - newsos6) | ||
4086 | - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' | ||
4087 | - _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' | ||
4088 | - ;; | ||
4089 | - | ||
4090 | - *nto* | *qnx*) | ||
4091 | - # QNX uses GNU C++, but need to define -shared option too, otherwise | ||
4092 | - # it will coredump. | ||
4093 | - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared' | ||
4094 | - ;; | ||
4095 | - | ||
4096 | - osf3* | osf4* | osf5*) | ||
4097 | - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' | ||
4098 | - # All OSF/1 code is PIC. | ||
4099 | - _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' | ||
4100 | - ;; | ||
4101 | - | ||
4102 | - rdos*) | ||
4103 | - _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' | ||
4104 | - ;; | ||
4105 | - | ||
4106 | - solaris*) | ||
4107 | - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' | ||
4108 | - _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' | ||
4109 | - case $cc_basename in | ||
4110 | - f77* | f90* | f95*) | ||
4111 | - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ';; | ||
4112 | - *) | ||
4113 | - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,';; | ||
4114 | - esac | ||
4115 | - ;; | ||
4116 | - | ||
4117 | - sunos4*) | ||
4118 | - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ' | ||
4119 | - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-PIC' | ||
4120 | - _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' | ||
4121 | - ;; | ||
4122 | - | ||
4123 | - sysv4 | sysv4.2uw2* | sysv4.3*) | ||
4124 | - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' | ||
4125 | - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' | ||
4126 | - _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' | ||
4127 | - ;; | ||
4128 | - | ||
4129 | - sysv4*MP*) | ||
4130 | - if test -d /usr/nec ;then | ||
4131 | - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-Kconform_pic' | ||
4132 | - _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' | ||
4133 | - fi | ||
4134 | - ;; | ||
4135 | - | ||
4136 | - sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) | ||
4137 | - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' | ||
4138 | - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' | ||
4139 | - _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' | ||
4140 | - ;; | ||
4141 | - | ||
4142 | - unicos*) | ||
4143 | - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' | ||
4144 | - _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no | ||
4145 | - ;; | ||
4146 | - | ||
4147 | - uts4*) | ||
4148 | - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic' | ||
4149 | - _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' | ||
4150 | - ;; | ||
4151 | - | ||
4152 | - *) | ||
4153 | - _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no | ||
4154 | - ;; | ||
4155 | - esac | ||
4156 | - fi | ||
4157 | -]) | ||
4158 | -case $host_os in | ||
4159 | - # For platforms which do not support PIC, -DPIC is meaningless: | ||
4160 | - *djgpp*) | ||
4161 | - _LT_TAGVAR(lt_prog_compiler_pic, $1)= | ||
4162 | - ;; | ||
4163 | - *) | ||
4164 | - _LT_TAGVAR(lt_prog_compiler_pic, $1)="$_LT_TAGVAR(lt_prog_compiler_pic, $1)@&t@m4_if([$1],[],[ -DPIC],[m4_if([$1],[CXX],[ -DPIC],[])])" | ||
4165 | - ;; | ||
4166 | -esac | ||
4167 | -AC_MSG_RESULT([$_LT_TAGVAR(lt_prog_compiler_pic, $1)]) | ||
4168 | -_LT_TAGDECL([wl], [lt_prog_compiler_wl], [1], | ||
4169 | - [How to pass a linker flag through the compiler]) | ||
4170 | - | ||
4171 | -# | ||
4172 | -# Check to make sure the PIC flag actually works. | ||
4173 | -# | ||
4174 | -if test -n "$_LT_TAGVAR(lt_prog_compiler_pic, $1)"; then | ||
4175 | - _LT_COMPILER_OPTION([if $compiler PIC flag $_LT_TAGVAR(lt_prog_compiler_pic, $1) works], | ||
4176 | - [_LT_TAGVAR(lt_cv_prog_compiler_pic_works, $1)], | ||
4177 | - [$_LT_TAGVAR(lt_prog_compiler_pic, $1)@&t@m4_if([$1],[],[ -DPIC],[m4_if([$1],[CXX],[ -DPIC],[])])], [], | ||
4178 | - [case $_LT_TAGVAR(lt_prog_compiler_pic, $1) in | ||
4179 | - "" | " "*) ;; | ||
4180 | - *) _LT_TAGVAR(lt_prog_compiler_pic, $1)=" $_LT_TAGVAR(lt_prog_compiler_pic, $1)" ;; | ||
4181 | - esac], | ||
4182 | - [_LT_TAGVAR(lt_prog_compiler_pic, $1)= | ||
4183 | - _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no]) | ||
4184 | -fi | ||
4185 | -_LT_TAGDECL([pic_flag], [lt_prog_compiler_pic], [1], | ||
4186 | - [Additional compiler flags for building library objects]) | ||
4187 | - | ||
4188 | -# | ||
4189 | -# Check to make sure the static flag actually works. | ||
4190 | -# | ||
4191 | -wl=$_LT_TAGVAR(lt_prog_compiler_wl, $1) eval lt_tmp_static_flag=\"$_LT_TAGVAR(lt_prog_compiler_static, $1)\" | ||
4192 | -_LT_LINKER_OPTION([if $compiler static flag $lt_tmp_static_flag works], | ||
4193 | - _LT_TAGVAR(lt_cv_prog_compiler_static_works, $1), | ||
4194 | - $lt_tmp_static_flag, | ||
4195 | - [], | ||
4196 | - [_LT_TAGVAR(lt_prog_compiler_static, $1)=]) | ||
4197 | -_LT_TAGDECL([link_static_flag], [lt_prog_compiler_static], [1], | ||
4198 | - [Compiler flag to prevent dynamic linking]) | ||
4199 | -])# _LT_COMPILER_PIC | ||
4200 | - | ||
4201 | - | ||
4202 | -# _LT_LINKER_SHLIBS([TAGNAME]) | ||
4203 | -# ---------------------------- | ||
4204 | -# See if the linker supports building shared libraries. | ||
4205 | -m4_defun([_LT_LINKER_SHLIBS], | ||
4206 | -[AC_REQUIRE([LT_PATH_LD])dnl | ||
4207 | -AC_REQUIRE([LT_PATH_NM])dnl | ||
4208 | -m4_require([_LT_FILEUTILS_DEFAULTS])dnl | ||
4209 | -m4_require([_LT_DECL_EGREP])dnl | ||
4210 | -m4_require([_LT_DECL_SED])dnl | ||
4211 | -m4_require([_LT_CMD_GLOBAL_SYMBOLS])dnl | ||
4212 | -m4_require([_LT_TAG_COMPILER])dnl | ||
4213 | -AC_MSG_CHECKING([whether the $compiler linker ($LD) supports shared libraries]) | ||
4214 | -m4_if([$1], [CXX], [ | ||
4215 | - _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' | ||
4216 | - case $host_os in | ||
4217 | - aix[[4-9]]*) | ||
4218 | - # If we're using GNU nm, then we don't want the "-C" option. | ||
4219 | - # -C means demangle to AIX nm, but means don't demangle with GNU nm | ||
4220 | - if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then | ||
4221 | - _LT_TAGVAR(export_symbols_cmds, $1)='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && ([substr](\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols' | ||
4222 | - else | ||
4223 | - _LT_TAGVAR(export_symbols_cmds, $1)='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && ([substr](\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols' | ||
4224 | - fi | ||
4225 | - ;; | ||
4226 | - pw32*) | ||
4227 | - _LT_TAGVAR(export_symbols_cmds, $1)="$ltdll_cmds" | ||
4228 | - ;; | ||
4229 | - cygwin* | mingw* | cegcc*) | ||
4230 | - _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]][[ ]]/s/.*[[ ]]\([[^ ]]*\)/\1 DATA/;/^.*[[ ]]__nm__/s/^.*[[ ]]__nm__\([[^ ]]*\)[[ ]][[^ ]]*/\1 DATA/;/^I[[ ]]/d;/^[[AITW]][[ ]]/s/.* //'\'' | sort | uniq > $export_symbols' | ||
4231 | - ;; | ||
4232 | - *) | ||
4233 | - _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' | ||
4234 | - ;; | ||
4235 | - esac | ||
4236 | - _LT_TAGVAR(exclude_expsyms, $1)=['_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*'] | ||
4237 | -], [ | ||
4238 | - runpath_var= | ||
4239 | - _LT_TAGVAR(allow_undefined_flag, $1)= | ||
4240 | - _LT_TAGVAR(always_export_symbols, $1)=no | ||
4241 | - _LT_TAGVAR(archive_cmds, $1)= | ||
4242 | - _LT_TAGVAR(archive_expsym_cmds, $1)= | ||
4243 | - _LT_TAGVAR(compiler_needs_object, $1)=no | ||
4244 | - _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no | ||
4245 | - _LT_TAGVAR(export_dynamic_flag_spec, $1)= | ||
4246 | - _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' | ||
4247 | - _LT_TAGVAR(hardcode_automatic, $1)=no | ||
4248 | - _LT_TAGVAR(hardcode_direct, $1)=no | ||
4249 | - _LT_TAGVAR(hardcode_direct_absolute, $1)=no | ||
4250 | - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)= | ||
4251 | - _LT_TAGVAR(hardcode_libdir_flag_spec_ld, $1)= | ||
4252 | - _LT_TAGVAR(hardcode_libdir_separator, $1)= | ||
4253 | - _LT_TAGVAR(hardcode_minus_L, $1)=no | ||
4254 | - _LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported | ||
4255 | - _LT_TAGVAR(inherit_rpath, $1)=no | ||
4256 | - _LT_TAGVAR(link_all_deplibs, $1)=unknown | ||
4257 | - _LT_TAGVAR(module_cmds, $1)= | ||
4258 | - _LT_TAGVAR(module_expsym_cmds, $1)= | ||
4259 | - _LT_TAGVAR(old_archive_from_new_cmds, $1)= | ||
4260 | - _LT_TAGVAR(old_archive_from_expsyms_cmds, $1)= | ||
4261 | - _LT_TAGVAR(thread_safe_flag_spec, $1)= | ||
4262 | - _LT_TAGVAR(whole_archive_flag_spec, $1)= | ||
4263 | - # include_expsyms should be a list of space-separated symbols to be *always* | ||
4264 | - # included in the symbol list | ||
4265 | - _LT_TAGVAR(include_expsyms, $1)= | ||
4266 | - # exclude_expsyms can be an extended regexp of symbols to exclude | ||
4267 | - # it will be wrapped by ` (' and `)$', so one must not match beginning or | ||
4268 | - # end of line. Example: `a|bc|.*d.*' will exclude the symbols `a' and `bc', | ||
4269 | - # as well as any symbol that contains `d'. | ||
4270 | - _LT_TAGVAR(exclude_expsyms, $1)=['_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*'] | ||
4271 | - # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out | ||
4272 | - # platforms (ab)use it in PIC code, but their linkers get confused if | ||
4273 | - # the symbol is explicitly referenced. Since portable code cannot | ||
4274 | - # rely on this symbol name, it's probably fine to never include it in | ||
4275 | - # preloaded symbol tables. | ||
4276 | - # Exclude shared library initialization/finalization symbols. | ||
4277 | -dnl Note also adjust exclude_expsyms for C++ above. | ||
4278 | - extract_expsyms_cmds= | ||
4279 | - | ||
4280 | - case $host_os in | ||
4281 | - cygwin* | mingw* | pw32* | cegcc*) | ||
4282 | - # FIXME: the MSVC++ port hasn't been tested in a loooong time | ||
4283 | - # When not using gcc, we currently assume that we are using | ||
4284 | - # Microsoft Visual C++. | ||
4285 | - if test "$GCC" != yes; then | ||
4286 | - with_gnu_ld=no | ||
4287 | - fi | ||
4288 | - ;; | ||
4289 | - interix*) | ||
4290 | - # we just hope/assume this is gcc and not c89 (= MSVC++) | ||
4291 | - with_gnu_ld=yes | ||
4292 | - ;; | ||
4293 | - openbsd*) | ||
4294 | - with_gnu_ld=no | ||
4295 | - ;; | ||
4296 | - esac | ||
4297 | - | ||
4298 | - _LT_TAGVAR(ld_shlibs, $1)=yes | ||
4299 | - if test "$with_gnu_ld" = yes; then | ||
4300 | - # If archive_cmds runs LD, not CC, wlarc should be empty | ||
4301 | - wlarc='${wl}' | ||
4302 | - | ||
4303 | - # Set some defaults for GNU ld with shared library support. These | ||
4304 | - # are reset later if shared libraries are not supported. Putting them | ||
4305 | - # here allows them to be overridden if necessary. | ||
4306 | - runpath_var=LD_RUN_PATH | ||
4307 | - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' | ||
4308 | - _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' | ||
4309 | - # ancient GNU ld didn't support --whole-archive et. al. | ||
4310 | - if $LD --help 2>&1 | $GREP 'no-whole-archive' > /dev/null; then | ||
4311 | - _LT_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' | ||
4312 | - else | ||
4313 | - _LT_TAGVAR(whole_archive_flag_spec, $1)= | ||
4314 | - fi | ||
4315 | - supports_anon_versioning=no | ||
4316 | - case `$LD -v 2>&1` in | ||
4317 | - *\ [[01]].* | *\ 2.[[0-9]].* | *\ 2.10.*) ;; # catch versions < 2.11 | ||
4318 | - *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ... | ||
4319 | - *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ... | ||
4320 | - *\ 2.11.*) ;; # other 2.11 versions | ||
4321 | - *) supports_anon_versioning=yes ;; | ||
4322 | - esac | ||
4323 | - | ||
4324 | - # See if GNU ld supports shared libraries. | ||
4325 | - case $host_os in | ||
4326 | - aix[[3-9]]*) | ||
4327 | - # On AIX/PPC, the GNU linker is very broken | ||
4328 | - if test "$host_cpu" != ia64; then | ||
4329 | - _LT_TAGVAR(ld_shlibs, $1)=no | ||
4330 | - cat <<_LT_EOF 1>&2 | ||
4331 | - | ||
4332 | -*** Warning: the GNU linker, at least up to release 2.9.1, is reported | ||
4333 | -*** to be unable to reliably create shared libraries on AIX. | ||
4334 | -*** Therefore, libtool is disabling shared libraries support. If you | ||
4335 | -*** really care for shared libraries, you may want to modify your PATH | ||
4336 | -*** so that a non-GNU linker is found, and then restart. | ||
4337 | - | ||
4338 | -_LT_EOF | ||
4339 | - fi | ||
4340 | - ;; | ||
4341 | - | ||
4342 | - amigaos*) | ||
4343 | - case $host_cpu in | ||
4344 | - powerpc) | ||
4345 | - # see comment about AmigaOS4 .so support | ||
4346 | - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' | ||
4347 | - _LT_TAGVAR(archive_expsym_cmds, $1)='' | ||
4348 | - ;; | ||
4349 | - m68k) | ||
4350 | - _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)' | ||
4351 | - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' | ||
4352 | - _LT_TAGVAR(hardcode_minus_L, $1)=yes | ||
4353 | - ;; | ||
4354 | - esac | ||
4355 | - ;; | ||
4356 | - | ||
4357 | - beos*) | ||
4358 | - if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then | ||
4359 | - _LT_TAGVAR(allow_undefined_flag, $1)=unsupported | ||
4360 | - # Joseph Beckenbach <jrb3@best.com> says some releases of gcc | ||
4361 | - # support --undefined. This deserves some investigation. FIXME | ||
4362 | - _LT_TAGVAR(archive_cmds, $1)='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' | ||
4363 | - else | ||
4364 | - _LT_TAGVAR(ld_shlibs, $1)=no | ||
4365 | - fi | ||
4366 | - ;; | ||
4367 | - | ||
4368 | - cygwin* | mingw* | pw32* | cegcc*) | ||
4369 | - # _LT_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless, | ||
4370 | - # as there is no search path for DLLs. | ||
4371 | - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' | ||
4372 | - _LT_TAGVAR(allow_undefined_flag, $1)=unsupported | ||
4373 | - _LT_TAGVAR(always_export_symbols, $1)=no | ||
4374 | - _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes | ||
4375 | - _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' | ||
4376 | - | ||
4377 | - if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then | ||
4378 | - _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' | ||
4379 | - # If the export-symbols file already is a .def file (1st line | ||
4380 | - # is EXPORTS), use it as is; otherwise, prepend... | ||
4381 | - _LT_TAGVAR(archive_expsym_cmds, $1)='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then | ||
4382 | - cp $export_symbols $output_objdir/$soname.def; | ||
4383 | - else | ||
4384 | - echo EXPORTS > $output_objdir/$soname.def; | ||
4385 | - cat $export_symbols >> $output_objdir/$soname.def; | ||
4386 | - fi~ | ||
4387 | - $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' | ||
4388 | - else | ||
4389 | - _LT_TAGVAR(ld_shlibs, $1)=no | ||
4390 | - fi | ||
4391 | - ;; | ||
4392 | - | ||
4393 | - interix[[3-9]]*) | ||
4394 | - _LT_TAGVAR(hardcode_direct, $1)=no | ||
4395 | - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no | ||
4396 | - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' | ||
4397 | - _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' | ||
4398 | - # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. | ||
4399 | - # Instead, shared libraries are loaded at an image base (0x10000000 by | ||
4400 | - # default) and relocated if they conflict, which is a slow very memory | ||
4401 | - # consuming and fragmenting process. To avoid this, we pick a random, | ||
4402 | - # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link | ||
4403 | - # time. Moving up from 0x10000000 also allows more sbrk(2) space. | ||
4404 | - _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' | ||
4405 | - _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' | ||
4406 | - ;; | ||
4407 | - | ||
4408 | - gnu* | linux* | tpf* | k*bsd*-gnu) | ||
4409 | - tmp_diet=no | ||
4410 | - if test "$host_os" = linux-dietlibc; then | ||
4411 | - case $cc_basename in | ||
4412 | - diet\ *) tmp_diet=yes;; # linux-dietlibc with static linking (!diet-dyn) | ||
4413 | - esac | ||
4414 | - fi | ||
4415 | - if $LD --help 2>&1 | $EGREP ': supported targets:.* elf' > /dev/null \ | ||
4416 | - && test "$tmp_diet" = no | ||
4417 | - then | ||
4418 | - tmp_addflag= | ||
4419 | - tmp_sharedflag='-shared' | ||
4420 | - case $cc_basename,$host_cpu in | ||
4421 | - pgcc*) # Portland Group C compiler | ||
4422 | - _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $ECHO \"$new_convenience\"` ${wl}--no-whole-archive' | ||
4423 | - tmp_addflag=' $pic_flag' | ||
4424 | - ;; | ||
4425 | - pgf77* | pgf90* | pgf95*) # Portland Group f77 and f90 compilers | ||
4426 | - _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $ECHO \"$new_convenience\"` ${wl}--no-whole-archive' | ||
4427 | - tmp_addflag=' $pic_flag -Mnomain' ;; | ||
4428 | - ecc*,ia64* | icc*,ia64*) # Intel C compiler on ia64 | ||
4429 | - tmp_addflag=' -i_dynamic' ;; | ||
4430 | - efc*,ia64* | ifort*,ia64*) # Intel Fortran compiler on ia64 | ||
4431 | - tmp_addflag=' -i_dynamic -nofor_main' ;; | ||
4432 | - ifc* | ifort*) # Intel Fortran compiler | ||
4433 | - tmp_addflag=' -nofor_main' ;; | ||
4434 | - lf95*) # Lahey Fortran 8.1 | ||
4435 | - _LT_TAGVAR(whole_archive_flag_spec, $1)= | ||
4436 | - tmp_sharedflag='--shared' ;; | ||
4437 | - xl[[cC]]*) # IBM XL C 8.0 on PPC (deal with xlf below) | ||
4438 | - tmp_sharedflag='-qmkshrobj' | ||
4439 | - tmp_addflag= ;; | ||
4440 | - esac | ||
4441 | - case `$CC -V 2>&1 | sed 5q` in | ||
4442 | - *Sun\ C*) # Sun C 5.9 | ||
4443 | - _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; $ECHO \"$new_convenience\"` ${wl}--no-whole-archive' | ||
4444 | - _LT_TAGVAR(compiler_needs_object, $1)=yes | ||
4445 | - tmp_sharedflag='-G' ;; | ||
4446 | - *Sun\ F*) # Sun Fortran 8.3 | ||
4447 | - tmp_sharedflag='-G' ;; | ||
4448 | - esac | ||
4449 | - _LT_TAGVAR(archive_cmds, $1)='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' | ||
4450 | - | ||
4451 | - if test "x$supports_anon_versioning" = xyes; then | ||
4452 | - _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~ | ||
4453 | - cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ | ||
4454 | - echo "local: *; };" >> $output_objdir/$libname.ver~ | ||
4455 | - $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib' | ||
4456 | - fi | ||
4457 | - | ||
4458 | - case $cc_basename in | ||
4459 | - xlf*) | ||
4460 | - # IBM XL Fortran 10.1 on PPC cannot create shared libs itself | ||
4461 | - _LT_TAGVAR(whole_archive_flag_spec, $1)='--whole-archive$convenience --no-whole-archive' | ||
4462 | - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)= | ||
4463 | - _LT_TAGVAR(hardcode_libdir_flag_spec_ld, $1)='-rpath $libdir' | ||
4464 | - _LT_TAGVAR(archive_cmds, $1)='$LD -shared $libobjs $deplibs $compiler_flags -soname $soname -o $lib' | ||
4465 | - if test "x$supports_anon_versioning" = xyes; then | ||
4466 | - _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~ | ||
4467 | - cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ | ||
4468 | - echo "local: *; };" >> $output_objdir/$libname.ver~ | ||
4469 | - $LD -shared $libobjs $deplibs $compiler_flags -soname $soname -version-script $output_objdir/$libname.ver -o $lib' | ||
4470 | - fi | ||
4471 | - ;; | ||
4472 | - esac | ||
4473 | - else | ||
4474 | - _LT_TAGVAR(ld_shlibs, $1)=no | ||
4475 | - fi | ||
4476 | - ;; | ||
4477 | - | ||
4478 | - netbsd*) | ||
4479 | - if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then | ||
4480 | - _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib' | ||
4481 | - wlarc= | ||
4482 | - else | ||
4483 | - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' | ||
4484 | - _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' | ||
4485 | - fi | ||
4486 | - ;; | ||
4487 | - | ||
4488 | - solaris*) | ||
4489 | - if $LD -v 2>&1 | $GREP 'BFD 2\.8' > /dev/null; then | ||
4490 | - _LT_TAGVAR(ld_shlibs, $1)=no | ||
4491 | - cat <<_LT_EOF 1>&2 | ||
4492 | - | ||
4493 | -*** Warning: The releases 2.8.* of the GNU linker cannot reliably | ||
4494 | -*** create shared libraries on Solaris systems. Therefore, libtool | ||
4495 | -*** is disabling shared libraries support. We urge you to upgrade GNU | ||
4496 | -*** binutils to release 2.9.1 or newer. Another option is to modify | ||
4497 | -*** your PATH or compiler configuration so that the native linker is | ||
4498 | -*** used, and then restart. | ||
4499 | - | ||
4500 | -_LT_EOF | ||
4501 | - elif $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then | ||
4502 | - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' | ||
4503 | - _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' | ||
4504 | - else | ||
4505 | - _LT_TAGVAR(ld_shlibs, $1)=no | ||
4506 | - fi | ||
4507 | - ;; | ||
4508 | - | ||
4509 | - sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*) | ||
4510 | - case `$LD -v 2>&1` in | ||
4511 | - *\ [[01]].* | *\ 2.[[0-9]].* | *\ 2.1[[0-5]].*) | ||
4512 | - _LT_TAGVAR(ld_shlibs, $1)=no | ||
4513 | - cat <<_LT_EOF 1>&2 | ||
4514 | - | ||
4515 | -*** Warning: Releases of the GNU linker prior to 2.16.91.0.3 can not | ||
4516 | -*** reliably create shared libraries on SCO systems. Therefore, libtool | ||
4517 | -*** is disabling shared libraries support. We urge you to upgrade GNU | ||
4518 | -*** binutils to release 2.16.91.0.3 or newer. Another option is to modify | ||
4519 | -*** your PATH or compiler configuration so that the native linker is | ||
4520 | -*** used, and then restart. | ||
4521 | - | ||
4522 | -_LT_EOF | ||
4523 | - ;; | ||
4524 | - *) | ||
4525 | - # For security reasons, it is highly recommended that you always | ||
4526 | - # use absolute paths for naming shared libraries, and exclude the | ||
4527 | - # DT_RUNPATH tag from executables and libraries. But doing so | ||
4528 | - # requires that you compile everything twice, which is a pain. | ||
4529 | - if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then | ||
4530 | - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' | ||
4531 | - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' | ||
4532 | - _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' | ||
4533 | - else | ||
4534 | - _LT_TAGVAR(ld_shlibs, $1)=no | ||
4535 | - fi | ||
4536 | - ;; | ||
4537 | - esac | ||
4538 | - ;; | ||
4539 | - | ||
4540 | - sunos4*) | ||
4541 | - _LT_TAGVAR(archive_cmds, $1)='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags' | ||
4542 | - wlarc= | ||
4543 | - _LT_TAGVAR(hardcode_direct, $1)=yes | ||
4544 | - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no | ||
4545 | - ;; | ||
4546 | - | ||
4547 | - *) | ||
4548 | - if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then | ||
4549 | - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' | ||
4550 | - _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' | ||
4551 | - else | ||
4552 | - _LT_TAGVAR(ld_shlibs, $1)=no | ||
4553 | - fi | ||
4554 | - ;; | ||
4555 | - esac | ||
4556 | - | ||
4557 | - if test "$_LT_TAGVAR(ld_shlibs, $1)" = no; then | ||
4558 | - runpath_var= | ||
4559 | - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)= | ||
4560 | - _LT_TAGVAR(export_dynamic_flag_spec, $1)= | ||
4561 | - _LT_TAGVAR(whole_archive_flag_spec, $1)= | ||
4562 | - fi | ||
4563 | - else | ||
4564 | - # PORTME fill in a description of your system's linker (not GNU ld) | ||
4565 | - case $host_os in | ||
4566 | - aix3*) | ||
4567 | - _LT_TAGVAR(allow_undefined_flag, $1)=unsupported | ||
4568 | - _LT_TAGVAR(always_export_symbols, $1)=yes | ||
4569 | - _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' | ||
4570 | - # Note: this linker hardcodes the directories in LIBPATH if there | ||
4571 | - # are no directories specified by -L. | ||
4572 | - _LT_TAGVAR(hardcode_minus_L, $1)=yes | ||
4573 | - if test "$GCC" = yes && test -z "$lt_prog_compiler_static"; then | ||
4574 | - # Neither direct hardcoding nor static linking is supported with a | ||
4575 | - # broken collect2. | ||
4576 | - _LT_TAGVAR(hardcode_direct, $1)=unsupported | ||
4577 | - fi | ||
4578 | - ;; | ||
4579 | - | ||
4580 | - aix[[4-9]]*) | ||
4581 | - if test "$host_cpu" = ia64; then | ||
4582 | - # On IA64, the linker does run time linking by default, so we don't | ||
4583 | - # have to do anything special. | ||
4584 | - aix_use_runtimelinking=no | ||
4585 | - exp_sym_flag='-Bexport' | ||
4586 | - no_entry_flag="" | ||
4587 | - else | ||
4588 | - # If we're using GNU nm, then we don't want the "-C" option. | ||
4589 | - # -C means demangle to AIX nm, but means don't demangle with GNU nm | ||
4590 | - if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then | ||
4591 | - _LT_TAGVAR(export_symbols_cmds, $1)='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && ([substr](\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols' | ||
4592 | - else | ||
4593 | - _LT_TAGVAR(export_symbols_cmds, $1)='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && ([substr](\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols' | ||
4594 | - fi | ||
4595 | - aix_use_runtimelinking=no | ||
4596 | - | ||
4597 | - # Test if we are trying to use run time linking or normal | ||
4598 | - # AIX style linking. If -brtl is somewhere in LDFLAGS, we | ||
4599 | - # need to do runtime linking. | ||
4600 | - case $host_os in aix4.[[23]]|aix4.[[23]].*|aix[[5-9]]*) | ||
4601 | - for ld_flag in $LDFLAGS; do | ||
4602 | - if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then | ||
4603 | - aix_use_runtimelinking=yes | ||
4604 | - break | ||
4605 | - fi | ||
4606 | - done | ||
4607 | - ;; | ||
4608 | - esac | ||
4609 | - | ||
4610 | - exp_sym_flag='-bexport' | ||
4611 | - no_entry_flag='-bnoentry' | ||
4612 | - fi | ||
4613 | - | ||
4614 | - # When large executables or shared objects are built, AIX ld can | ||
4615 | - # have problems creating the table of contents. If linking a library | ||
4616 | - # or program results in "error TOC overflow" add -mminimal-toc to | ||
4617 | - # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not | ||
4618 | - # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. | ||
4619 | - | ||
4620 | - _LT_TAGVAR(archive_cmds, $1)='' | ||
4621 | - _LT_TAGVAR(hardcode_direct, $1)=yes | ||
4622 | - _LT_TAGVAR(hardcode_direct_absolute, $1)=yes | ||
4623 | - _LT_TAGVAR(hardcode_libdir_separator, $1)=':' | ||
4624 | - _LT_TAGVAR(link_all_deplibs, $1)=yes | ||
4625 | - _LT_TAGVAR(file_list_spec, $1)='${wl}-f,' | ||
4626 | - | ||
4627 | - if test "$GCC" = yes; then | ||
4628 | - case $host_os in aix4.[[012]]|aix4.[[012]].*) | ||
4629 | - # We only want to do this on AIX 4.2 and lower, the check | ||
4630 | - # below for broken collect2 doesn't work under 4.3+ | ||
4631 | - collect2name=`${CC} -print-prog-name=collect2` | ||
4632 | - if test -f "$collect2name" && | ||
4633 | - strings "$collect2name" | $GREP resolve_lib_name >/dev/null | ||
4634 | - then | ||
4635 | - # We have reworked collect2 | ||
4636 | - : | ||
4637 | - else | ||
4638 | - # We have old collect2 | ||
4639 | - _LT_TAGVAR(hardcode_direct, $1)=unsupported | ||
4640 | - # It fails to find uninstalled libraries when the uninstalled | ||
4641 | - # path is not listed in the libpath. Setting hardcode_minus_L | ||
4642 | - # to unsupported forces relinking | ||
4643 | - _LT_TAGVAR(hardcode_minus_L, $1)=yes | ||
4644 | - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' | ||
4645 | - _LT_TAGVAR(hardcode_libdir_separator, $1)= | ||
4646 | - fi | ||
4647 | - ;; | ||
4648 | - esac | ||
4649 | - shared_flag='-shared' | ||
4650 | - if test "$aix_use_runtimelinking" = yes; then | ||
4651 | - shared_flag="$shared_flag "'${wl}-G' | ||
4652 | - fi | ||
4653 | - else | ||
4654 | - # not using gcc | ||
4655 | - if test "$host_cpu" = ia64; then | ||
4656 | - # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release | ||
4657 | - # chokes on -Wl,-G. The following line is correct: | ||
4658 | - shared_flag='-G' | ||
4659 | - else | ||
4660 | - if test "$aix_use_runtimelinking" = yes; then | ||
4661 | - shared_flag='${wl}-G' | ||
4662 | - else | ||
4663 | - shared_flag='${wl}-bM:SRE' | ||
4664 | - fi | ||
4665 | - fi | ||
4666 | - fi | ||
4667 | - | ||
4668 | - _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-bexpall' | ||
4669 | - # It seems that -bexpall does not export symbols beginning with | ||
4670 | - # underscore (_), so it is better to generate a list of symbols to export. | ||
4671 | - _LT_TAGVAR(always_export_symbols, $1)=yes | ||
4672 | - if test "$aix_use_runtimelinking" = yes; then | ||
4673 | - # Warning - without using the other runtime loading flags (-brtl), | ||
4674 | - # -berok will link without error, but may produce a broken library. | ||
4675 | - _LT_TAGVAR(allow_undefined_flag, $1)='-berok' | ||
4676 | - # Determine the default libpath from the value encoded in an | ||
4677 | - # empty executable. | ||
4678 | - _LT_SYS_MODULE_PATH_AIX | ||
4679 | - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath" | ||
4680 | - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then $ECHO "X${wl}${allow_undefined_flag}" | $Xsed; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag" | ||
4681 | - else | ||
4682 | - if test "$host_cpu" = ia64; then | ||
4683 | - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $libdir:/usr/lib:/lib' | ||
4684 | - _LT_TAGVAR(allow_undefined_flag, $1)="-z nodefs" | ||
4685 | - _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" | ||
4686 | - else | ||
4687 | - # Determine the default libpath from the value encoded in an | ||
4688 | - # empty executable. | ||
4689 | - _LT_SYS_MODULE_PATH_AIX | ||
4690 | - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath" | ||
4691 | - # Warning - without using the other run time loading flags, | ||
4692 | - # -berok will link without error, but may produce a broken library. | ||
4693 | - _LT_TAGVAR(no_undefined_flag, $1)=' ${wl}-bernotok' | ||
4694 | - _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-berok' | ||
4695 | - # Exported symbols can be pulled into shared objects from archives | ||
4696 | - _LT_TAGVAR(whole_archive_flag_spec, $1)='$convenience' | ||
4697 | - _LT_TAGVAR(archive_cmds_need_lc, $1)=yes | ||
4698 | - # This is similar to how AIX traditionally builds its shared libraries. | ||
4699 | - _LT_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname' | ||
4700 | - fi | ||
4701 | - fi | ||
4702 | - ;; | ||
4703 | - | ||
4704 | - amigaos*) | ||
4705 | - case $host_cpu in | ||
4706 | - powerpc) | ||
4707 | - # see comment about AmigaOS4 .so support | ||
4708 | - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' | ||
4709 | - _LT_TAGVAR(archive_expsym_cmds, $1)='' | ||
4710 | - ;; | ||
4711 | - m68k) | ||
4712 | - _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)' | ||
4713 | - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' | ||
4714 | - _LT_TAGVAR(hardcode_minus_L, $1)=yes | ||
4715 | - ;; | ||
4716 | - esac | ||
4717 | - ;; | ||
4718 | - | ||
4719 | - bsdi[[45]]*) | ||
4720 | - _LT_TAGVAR(export_dynamic_flag_spec, $1)=-rdynamic | ||
4721 | - ;; | ||
4722 | - | ||
4723 | - cygwin* | mingw* | pw32* | cegcc*) | ||
4724 | - # When not using gcc, we currently assume that we are using | ||
4725 | - # Microsoft Visual C++. | ||
4726 | - # hardcode_libdir_flag_spec is actually meaningless, as there is | ||
4727 | - # no search path for DLLs. | ||
4728 | - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=' ' | ||
4729 | - _LT_TAGVAR(allow_undefined_flag, $1)=unsupported | ||
4730 | - # Tell ltmain to make .lib files, not .a files. | ||
4731 | - libext=lib | ||
4732 | - # Tell ltmain to make .dll files, not .so files. | ||
4733 | - shrext_cmds=".dll" | ||
4734 | - # FIXME: Setting linknames here is a bad hack. | ||
4735 | - _LT_TAGVAR(archive_cmds, $1)='$CC -o $lib $libobjs $compiler_flags `$ECHO "X$deplibs" | $Xsed -e '\''s/ -lc$//'\''` -link -dll~linknames=' | ||
4736 | - # The linker will automatically build a .lib file if we build a DLL. | ||
4737 | - _LT_TAGVAR(old_archive_from_new_cmds, $1)='true' | ||
4738 | - # FIXME: Should let the user specify the lib program. | ||
4739 | - _LT_TAGVAR(old_archive_cmds, $1)='lib -OUT:$oldlib$oldobjs$old_deplibs' | ||
4740 | - _LT_TAGVAR(fix_srcfile_path, $1)='`cygpath -w "$srcfile"`' | ||
4741 | - _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes | ||
4742 | - ;; | ||
4743 | - | ||
4744 | - darwin* | rhapsody*) | ||
4745 | - _LT_DARWIN_LINKER_FEATURES($1) | ||
4746 | - ;; | ||
4747 | - | ||
4748 | - dgux*) | ||
4749 | - _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' | ||
4750 | - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' | ||
4751 | - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no | ||
4752 | - ;; | ||
4753 | - | ||
4754 | - freebsd1*) | ||
4755 | - _LT_TAGVAR(ld_shlibs, $1)=no | ||
4756 | - ;; | ||
4757 | - | ||
4758 | - # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor | ||
4759 | - # support. Future versions do this automatically, but an explicit c++rt0.o | ||
4760 | - # does not break anything, and helps significantly (at the cost of a little | ||
4761 | - # extra space). | ||
4762 | - freebsd2.2*) | ||
4763 | - _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o' | ||
4764 | - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' | ||
4765 | - _LT_TAGVAR(hardcode_direct, $1)=yes | ||
4766 | - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no | ||
4767 | - ;; | ||
4768 | - | ||
4769 | - # Unfortunately, older versions of FreeBSD 2 do not have this feature. | ||
4770 | - freebsd2*) | ||
4771 | - _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' | ||
4772 | - _LT_TAGVAR(hardcode_direct, $1)=yes | ||
4773 | - _LT_TAGVAR(hardcode_minus_L, $1)=yes | ||
4774 | - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no | ||
4775 | - ;; | ||
4776 | - | ||
4777 | - # FreeBSD 3 and greater uses gcc -shared to do shared libraries. | ||
4778 | - freebsd* | dragonfly*) | ||
4779 | - _LT_TAGVAR(archive_cmds, $1)='$CC -shared -o $lib $libobjs $deplibs $compiler_flags' | ||
4780 | - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' | ||
4781 | - _LT_TAGVAR(hardcode_direct, $1)=yes | ||
4782 | - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no | ||
4783 | - ;; | ||
4784 | - | ||
4785 | - hpux9*) | ||
4786 | - if test "$GCC" = yes; then | ||
4787 | - _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$CC -shared -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' | ||
4788 | - else | ||
4789 | - _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' | ||
4790 | - fi | ||
4791 | - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' | ||
4792 | - _LT_TAGVAR(hardcode_libdir_separator, $1)=: | ||
4793 | - _LT_TAGVAR(hardcode_direct, $1)=yes | ||
4794 | - | ||
4795 | - # hardcode_minus_L: Not really in the search PATH, | ||
4796 | - # but as the default location of the library. | ||
4797 | - _LT_TAGVAR(hardcode_minus_L, $1)=yes | ||
4798 | - _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' | ||
4799 | - ;; | ||
4800 | - | ||
4801 | - hpux10*) | ||
4802 | - if test "$GCC" = yes -a "$with_gnu_ld" = no; then | ||
4803 | - _LT_TAGVAR(archive_cmds, $1)='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' | ||
4804 | - else | ||
4805 | - _LT_TAGVAR(archive_cmds, $1)='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags' | ||
4806 | - fi | ||
4807 | - if test "$with_gnu_ld" = no; then | ||
4808 | - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' | ||
4809 | - _LT_TAGVAR(hardcode_libdir_flag_spec_ld, $1)='+b $libdir' | ||
4810 | - _LT_TAGVAR(hardcode_libdir_separator, $1)=: | ||
4811 | - _LT_TAGVAR(hardcode_direct, $1)=yes | ||
4812 | - _LT_TAGVAR(hardcode_direct_absolute, $1)=yes | ||
4813 | - _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' | ||
4814 | - # hardcode_minus_L: Not really in the search PATH, | ||
4815 | - # but as the default location of the library. | ||
4816 | - _LT_TAGVAR(hardcode_minus_L, $1)=yes | ||
4817 | - fi | ||
4818 | - ;; | ||
4819 | - | ||
4820 | - hpux11*) | ||
4821 | - if test "$GCC" = yes -a "$with_gnu_ld" = no; then | ||
4822 | - case $host_cpu in | ||
4823 | - hppa*64*) | ||
4824 | - _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' | ||
4825 | - ;; | ||
4826 | - ia64*) | ||
4827 | - _LT_TAGVAR(archive_cmds, $1)='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' | ||
4828 | - ;; | ||
4829 | - *) | ||
4830 | - _LT_TAGVAR(archive_cmds, $1)='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' | ||
4831 | - ;; | ||
4832 | - esac | ||
4833 | - else | ||
4834 | - case $host_cpu in | ||
4835 | - hppa*64*) | ||
4836 | - _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' | ||
4837 | - ;; | ||
4838 | - ia64*) | ||
4839 | - _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' | ||
4840 | - ;; | ||
4841 | - *) | ||
4842 | - _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' | ||
4843 | - ;; | ||
4844 | - esac | ||
4845 | - fi | ||
4846 | - if test "$with_gnu_ld" = no; then | ||
4847 | - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' | ||
4848 | - _LT_TAGVAR(hardcode_libdir_separator, $1)=: | ||
4849 | - | ||
4850 | - case $host_cpu in | ||
4851 | - hppa*64*|ia64*) | ||
4852 | - _LT_TAGVAR(hardcode_direct, $1)=no | ||
4853 | - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no | ||
4854 | - ;; | ||
4855 | - *) | ||
4856 | - _LT_TAGVAR(hardcode_direct, $1)=yes | ||
4857 | - _LT_TAGVAR(hardcode_direct_absolute, $1)=yes | ||
4858 | - _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' | ||
4859 | - | ||
4860 | - # hardcode_minus_L: Not really in the search PATH, | ||
4861 | - # but as the default location of the library. | ||
4862 | - _LT_TAGVAR(hardcode_minus_L, $1)=yes | ||
4863 | - ;; | ||
4864 | - esac | ||
4865 | - fi | ||
4866 | - ;; | ||
4867 | - | ||
4868 | - irix5* | irix6* | nonstopux*) | ||
4869 | - if test "$GCC" = yes; then | ||
4870 | - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' | ||
4871 | - # Try to use the -exported_symbol ld option, if it does not | ||
4872 | - # work, assume that -exports_file does not work either and | ||
4873 | - # implicitly export all symbols. | ||
4874 | - save_LDFLAGS="$LDFLAGS" | ||
4875 | - LDFLAGS="$LDFLAGS -shared ${wl}-exported_symbol ${wl}foo ${wl}-update_registry ${wl}/dev/null" | ||
4876 | - AC_LINK_IFELSE(int foo(void) {}, | ||
4877 | - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations ${wl}-exports_file ${wl}$export_symbols -o $lib' | ||
4878 | - ) | ||
4879 | - LDFLAGS="$save_LDFLAGS" | ||
4880 | - else | ||
4881 | - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib' | ||
4882 | - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -exports_file $export_symbols -o $lib' | ||
4883 | - fi | ||
4884 | - _LT_TAGVAR(archive_cmds_need_lc, $1)='no' | ||
4885 | - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' | ||
4886 | - _LT_TAGVAR(hardcode_libdir_separator, $1)=: | ||
4887 | - _LT_TAGVAR(inherit_rpath, $1)=yes | ||
4888 | - _LT_TAGVAR(link_all_deplibs, $1)=yes | ||
4889 | - ;; | ||
4890 | - | ||
4891 | - netbsd*) | ||
4892 | - if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then | ||
4893 | - _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out | ||
4894 | - else | ||
4895 | - _LT_TAGVAR(archive_cmds, $1)='$LD -shared -o $lib $libobjs $deplibs $linker_flags' # ELF | ||
4896 | - fi | ||
4897 | - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' | ||
4898 | - _LT_TAGVAR(hardcode_direct, $1)=yes | ||
4899 | - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no | ||
4900 | - ;; | ||
4901 | - | ||
4902 | - newsos6) | ||
4903 | - _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' | ||
4904 | - _LT_TAGVAR(hardcode_direct, $1)=yes | ||
4905 | - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' | ||
4906 | - _LT_TAGVAR(hardcode_libdir_separator, $1)=: | ||
4907 | - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no | ||
4908 | - ;; | ||
4909 | - | ||
4910 | - *nto* | *qnx*) | ||
4911 | - ;; | ||
4912 | - | ||
4913 | - openbsd*) | ||
4914 | - if test -f /usr/libexec/ld.so; then | ||
4915 | - _LT_TAGVAR(hardcode_direct, $1)=yes | ||
4916 | - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no | ||
4917 | - _LT_TAGVAR(hardcode_direct_absolute, $1)=yes | ||
4918 | - if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then | ||
4919 | - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' | ||
4920 | - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols' | ||
4921 | - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' | ||
4922 | - _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' | ||
4923 | - else | ||
4924 | - case $host_os in | ||
4925 | - openbsd[[01]].* | openbsd2.[[0-7]] | openbsd2.[[0-7]].*) | ||
4926 | - _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' | ||
4927 | - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' | ||
4928 | - ;; | ||
4929 | - *) | ||
4930 | - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' | ||
4931 | - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' | ||
4932 | - ;; | ||
4933 | - esac | ||
4934 | - fi | ||
4935 | - else | ||
4936 | - _LT_TAGVAR(ld_shlibs, $1)=no | ||
4937 | - fi | ||
4938 | - ;; | ||
4939 | - | ||
4940 | - os2*) | ||
4941 | - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' | ||
4942 | - _LT_TAGVAR(hardcode_minus_L, $1)=yes | ||
4943 | - _LT_TAGVAR(allow_undefined_flag, $1)=unsupported | ||
4944 | - _LT_TAGVAR(archive_cmds, $1)='$ECHO "LIBRARY $libname INITINSTANCE" > $output_objdir/$libname.def~$ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~$ECHO DATA >> $output_objdir/$libname.def~$ECHO " SINGLE NONSHARED" >> $output_objdir/$libname.def~$ECHO EXPORTS >> $output_objdir/$libname.def~emxexp $libobjs >> $output_objdir/$libname.def~$CC -Zdll -Zcrtdll -o $lib $libobjs $deplibs $compiler_flags $output_objdir/$libname.def' | ||
4945 | - _LT_TAGVAR(old_archive_from_new_cmds, $1)='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def' | ||
4946 | - ;; | ||
4947 | - | ||
4948 | - osf3*) | ||
4949 | - if test "$GCC" = yes; then | ||
4950 | - _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*' | ||
4951 | - _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' | ||
4952 | - else | ||
4953 | - _LT_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*' | ||
4954 | - _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib' | ||
4955 | - fi | ||
4956 | - _LT_TAGVAR(archive_cmds_need_lc, $1)='no' | ||
4957 | - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' | ||
4958 | - _LT_TAGVAR(hardcode_libdir_separator, $1)=: | ||
4959 | - ;; | ||
4960 | - | ||
4961 | - osf4* | osf5*) # as osf3* with the addition of -msym flag | ||
4962 | - if test "$GCC" = yes; then | ||
4963 | - _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*' | ||
4964 | - _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' | ||
4965 | - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' | ||
4966 | - else | ||
4967 | - _LT_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*' | ||
4968 | - _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags -msym -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib' | ||
4969 | - _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~ | ||
4970 | - $CC -shared${allow_undefined_flag} ${wl}-input ${wl}$lib.exp $compiler_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib~$RM $lib.exp' | ||
4971 | - | ||
4972 | - # Both c and cxx compiler support -rpath directly | ||
4973 | - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir' | ||
4974 | - fi | ||
4975 | - _LT_TAGVAR(archive_cmds_need_lc, $1)='no' | ||
4976 | - _LT_TAGVAR(hardcode_libdir_separator, $1)=: | ||
4977 | - ;; | ||
4978 | - | ||
4979 | - solaris*) | ||
4980 | - _LT_TAGVAR(no_undefined_flag, $1)=' -z defs' | ||
4981 | - if test "$GCC" = yes; then | ||
4982 | - wlarc='${wl}' | ||
4983 | - _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-z ${wl}text ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' | ||
4984 | - _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ | ||
4985 | - $CC -shared ${wl}-z ${wl}text ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp' | ||
4986 | - else | ||
4987 | - case `$CC -V 2>&1` in | ||
4988 | - *"Compilers 5.0"*) | ||
4989 | - wlarc='' | ||
4990 | - _LT_TAGVAR(archive_cmds, $1)='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags' | ||
4991 | - _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ | ||
4992 | - $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$RM $lib.exp' | ||
4993 | - ;; | ||
4994 | - *) | ||
4995 | - wlarc='${wl}' | ||
4996 | - _LT_TAGVAR(archive_cmds, $1)='$CC -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $compiler_flags' | ||
4997 | - _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ | ||
4998 | - $CC -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp' | ||
4999 | - ;; | ||
5000 | - esac | ||
5001 | - fi | ||
5002 | - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' | ||
5003 | - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no | ||
5004 | - case $host_os in | ||
5005 | - solaris2.[[0-5]] | solaris2.[[0-5]].*) ;; | ||
5006 | - *) | ||
5007 | - # The compiler driver will combine and reorder linker options, | ||
5008 | - # but understands `-z linker_flag'. GCC discards it without `$wl', | ||
5009 | - # but is careful enough not to reorder. | ||
5010 | - # Supported since Solaris 2.6 (maybe 2.5.1?) | ||
5011 | - if test "$GCC" = yes; then | ||
5012 | - _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract' | ||
5013 | - else | ||
5014 | - _LT_TAGVAR(whole_archive_flag_spec, $1)='-z allextract$convenience -z defaultextract' | ||
5015 | - fi | ||
5016 | - ;; | ||
5017 | - esac | ||
5018 | - _LT_TAGVAR(link_all_deplibs, $1)=yes | ||
5019 | - ;; | ||
5020 | - | ||
5021 | - sunos4*) | ||
5022 | - if test "x$host_vendor" = xsequent; then | ||
5023 | - # Use $CC to link under sequent, because it throws in some extra .o | ||
5024 | - # files that make .init and .fini sections work. | ||
5025 | - _LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h $soname -o $lib $libobjs $deplibs $compiler_flags' | ||
5026 | - else | ||
5027 | - _LT_TAGVAR(archive_cmds, $1)='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags' | ||
5028 | - fi | ||
5029 | - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' | ||
5030 | - _LT_TAGVAR(hardcode_direct, $1)=yes | ||
5031 | - _LT_TAGVAR(hardcode_minus_L, $1)=yes | ||
5032 | - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no | ||
5033 | - ;; | ||
5034 | - | ||
5035 | - sysv4) | ||
5036 | - case $host_vendor in | ||
5037 | - sni) | ||
5038 | - _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' | ||
5039 | - _LT_TAGVAR(hardcode_direct, $1)=yes # is this really true??? | ||
5040 | - ;; | ||
5041 | - siemens) | ||
5042 | - ## LD is ld it makes a PLAMLIB | ||
5043 | - ## CC just makes a GrossModule. | ||
5044 | - _LT_TAGVAR(archive_cmds, $1)='$LD -G -o $lib $libobjs $deplibs $linker_flags' | ||
5045 | - _LT_TAGVAR(reload_cmds, $1)='$CC -r -o $output$reload_objs' | ||
5046 | - _LT_TAGVAR(hardcode_direct, $1)=no | ||
5047 | - ;; | ||
5048 | - motorola) | ||
5049 | - _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' | ||
5050 | - _LT_TAGVAR(hardcode_direct, $1)=no #Motorola manual says yes, but my tests say they lie | ||
5051 | - ;; | ||
5052 | - esac | ||
5053 | - runpath_var='LD_RUN_PATH' | ||
5054 | - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no | ||
5055 | - ;; | ||
5056 | - | ||
5057 | - sysv4.3*) | ||
5058 | - _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' | ||
5059 | - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no | ||
5060 | - _LT_TAGVAR(export_dynamic_flag_spec, $1)='-Bexport' | ||
5061 | - ;; | ||
5062 | - | ||
5063 | - sysv4*MP*) | ||
5064 | - if test -d /usr/nec; then | ||
5065 | - _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' | ||
5066 | - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no | ||
5067 | - runpath_var=LD_RUN_PATH | ||
5068 | - hardcode_runpath_var=yes | ||
5069 | - _LT_TAGVAR(ld_shlibs, $1)=yes | ||
5070 | - fi | ||
5071 | - ;; | ||
5072 | - | ||
5073 | - sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[[01]].[[10]]* | unixware7* | sco3.2v5.0.[[024]]*) | ||
5074 | - _LT_TAGVAR(no_undefined_flag, $1)='${wl}-z,text' | ||
5075 | - _LT_TAGVAR(archive_cmds_need_lc, $1)=no | ||
5076 | - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no | ||
5077 | - runpath_var='LD_RUN_PATH' | ||
5078 | - | ||
5079 | - if test "$GCC" = yes; then | ||
5080 | - _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' | ||
5081 | - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' | ||
5082 | - else | ||
5083 | - _LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' | ||
5084 | - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' | ||
5085 | - fi | ||
5086 | - ;; | ||
5087 | - | ||
5088 | - sysv5* | sco3.2v5* | sco5v6*) | ||
5089 | - # Note: We can NOT use -z defs as we might desire, because we do not | ||
5090 | - # link with -lc, and that would cause any symbols used from libc to | ||
5091 | - # always be unresolved, which means just about no library would | ||
5092 | - # ever link correctly. If we're not using GNU ld we use -z text | ||
5093 | - # though, which does catch some bad symbols but isn't as heavy-handed | ||
5094 | - # as -z defs. | ||
5095 | - _LT_TAGVAR(no_undefined_flag, $1)='${wl}-z,text' | ||
5096 | - _LT_TAGVAR(allow_undefined_flag, $1)='${wl}-z,nodefs' | ||
5097 | - _LT_TAGVAR(archive_cmds_need_lc, $1)=no | ||
5098 | - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no | ||
5099 | - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R,$libdir' | ||
5100 | - _LT_TAGVAR(hardcode_libdir_separator, $1)=':' | ||
5101 | - _LT_TAGVAR(link_all_deplibs, $1)=yes | ||
5102 | - _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-Bexport' | ||
5103 | - runpath_var='LD_RUN_PATH' | ||
5104 | - | ||
5105 | - if test "$GCC" = yes; then | ||
5106 | - _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' | ||
5107 | - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' | ||
5108 | - else | ||
5109 | - _LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' | ||
5110 | - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' | ||
5111 | - fi | ||
5112 | - ;; | ||
5113 | - | ||
5114 | - uts4*) | ||
5115 | - _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' | ||
5116 | - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' | ||
5117 | - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no | ||
5118 | - ;; | ||
5119 | - | ||
5120 | - *) | ||
5121 | - _LT_TAGVAR(ld_shlibs, $1)=no | ||
5122 | - ;; | ||
5123 | - esac | ||
5124 | - | ||
5125 | - if test x$host_vendor = xsni; then | ||
5126 | - case $host in | ||
5127 | - sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*) | ||
5128 | - _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-Blargedynsym' | ||
5129 | - ;; | ||
5130 | - esac | ||
5131 | - fi | ||
5132 | - fi | ||
5133 | -]) | ||
5134 | -AC_MSG_RESULT([$_LT_TAGVAR(ld_shlibs, $1)]) | ||
5135 | -test "$_LT_TAGVAR(ld_shlibs, $1)" = no && can_build_shared=no | ||
5136 | - | ||
5137 | -_LT_TAGVAR(with_gnu_ld, $1)=$with_gnu_ld | ||
5138 | - | ||
5139 | -_LT_DECL([], [libext], [0], [Old archive suffix (normally "a")])dnl | ||
5140 | -_LT_DECL([], [shrext_cmds], [1], [Shared library suffix (normally ".so")])dnl | ||
5141 | -_LT_DECL([], [extract_expsyms_cmds], [2], | ||
5142 | - [The commands to extract the exported symbol list from a shared archive]) | ||
5143 | - | ||
5144 | -# | ||
5145 | -# Do we need to explicitly link libc? | ||
5146 | -# | ||
5147 | -case "x$_LT_TAGVAR(archive_cmds_need_lc, $1)" in | ||
5148 | -x|xyes) | ||
5149 | - # Assume -lc should be added | ||
5150 | - _LT_TAGVAR(archive_cmds_need_lc, $1)=yes | ||
5151 | - | ||
5152 | - if test "$enable_shared" = yes && test "$GCC" = yes; then | ||
5153 | - case $_LT_TAGVAR(archive_cmds, $1) in | ||
5154 | - *'~'*) | ||
5155 | - # FIXME: we may have to deal with multi-command sequences. | ||
5156 | - ;; | ||
5157 | - '$CC '*) | ||
5158 | - # Test whether the compiler implicitly links with -lc since on some | ||
5159 | - # systems, -lgcc has to come before -lc. If gcc already passes -lc | ||
5160 | - # to ld, don't add -lc before -lgcc. | ||
5161 | - AC_MSG_CHECKING([whether -lc should be explicitly linked in]) | ||
5162 | - $RM conftest* | ||
5163 | - echo "$lt_simple_compile_test_code" > conftest.$ac_ext | ||
5164 | - | ||
5165 | - if AC_TRY_EVAL(ac_compile) 2>conftest.err; then | ||
5166 | - soname=conftest | ||
5167 | - lib=conftest | ||
5168 | - libobjs=conftest.$ac_objext | ||
5169 | - deplibs= | ||
5170 | - wl=$_LT_TAGVAR(lt_prog_compiler_wl, $1) | ||
5171 | - pic_flag=$_LT_TAGVAR(lt_prog_compiler_pic, $1) | ||
5172 | - compiler_flags=-v | ||
5173 | - linker_flags=-v | ||
5174 | - verstring= | ||
5175 | - output_objdir=. | ||
5176 | - libname=conftest | ||
5177 | - lt_save_allow_undefined_flag=$_LT_TAGVAR(allow_undefined_flag, $1) | ||
5178 | - _LT_TAGVAR(allow_undefined_flag, $1)= | ||
5179 | - if AC_TRY_EVAL(_LT_TAGVAR(archive_cmds, $1) 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1) | ||
5180 | - then | ||
5181 | - _LT_TAGVAR(archive_cmds_need_lc, $1)=no | ||
5182 | - else | ||
5183 | - _LT_TAGVAR(archive_cmds_need_lc, $1)=yes | ||
5184 | - fi | ||
5185 | - _LT_TAGVAR(allow_undefined_flag, $1)=$lt_save_allow_undefined_flag | ||
5186 | - else | ||
5187 | - cat conftest.err 1>&5 | ||
5188 | - fi | ||
5189 | - $RM conftest* | ||
5190 | - AC_MSG_RESULT([$_LT_TAGVAR(archive_cmds_need_lc, $1)]) | ||
5191 | - ;; | ||
5192 | - esac | ||
5193 | - fi | ||
5194 | - ;; | ||
5195 | -esac | ||
5196 | - | ||
5197 | -_LT_TAGDECL([build_libtool_need_lc], [archive_cmds_need_lc], [0], | ||
5198 | - [Whether or not to add -lc for building shared libraries]) | ||
5199 | -_LT_TAGDECL([allow_libtool_libs_with_static_runtimes], | ||
5200 | - [enable_shared_with_static_runtimes], [0], | ||
5201 | - [Whether or not to disallow shared libs when runtime libs are static]) | ||
5202 | -_LT_TAGDECL([], [export_dynamic_flag_spec], [1], | ||
5203 | - [Compiler flag to allow reflexive dlopens]) | ||
5204 | -_LT_TAGDECL([], [whole_archive_flag_spec], [1], | ||
5205 | - [Compiler flag to generate shared objects directly from archives]) | ||
5206 | -_LT_TAGDECL([], [compiler_needs_object], [1], | ||
5207 | - [Whether the compiler copes with passing no objects directly]) | ||
5208 | -_LT_TAGDECL([], [old_archive_from_new_cmds], [2], | ||
5209 | - [Create an old-style archive from a shared archive]) | ||
5210 | -_LT_TAGDECL([], [old_archive_from_expsyms_cmds], [2], | ||
5211 | - [Create a temporary old-style archive to link instead of a shared archive]) | ||
5212 | -_LT_TAGDECL([], [archive_cmds], [2], [Commands used to build a shared archive]) | ||
5213 | -_LT_TAGDECL([], [archive_expsym_cmds], [2]) | ||
5214 | -_LT_TAGDECL([], [module_cmds], [2], | ||
5215 | - [Commands used to build a loadable module if different from building | ||
5216 | - a shared archive.]) | ||
5217 | -_LT_TAGDECL([], [module_expsym_cmds], [2]) | ||
5218 | -_LT_TAGDECL([], [with_gnu_ld], [1], | ||
5219 | - [Whether we are building with GNU ld or not]) | ||
5220 | -_LT_TAGDECL([], [allow_undefined_flag], [1], | ||
5221 | - [Flag that allows shared libraries with undefined symbols to be built]) | ||
5222 | -_LT_TAGDECL([], [no_undefined_flag], [1], | ||
5223 | - [Flag that enforces no undefined symbols]) | ||
5224 | -_LT_TAGDECL([], [hardcode_libdir_flag_spec], [1], | ||
5225 | - [Flag to hardcode $libdir into a binary during linking. | ||
5226 | - This must work even if $libdir does not exist]) | ||
5227 | -_LT_TAGDECL([], [hardcode_libdir_flag_spec_ld], [1], | ||
5228 | - [[If ld is used when linking, flag to hardcode $libdir into a binary | ||
5229 | - during linking. This must work even if $libdir does not exist]]) | ||
5230 | -_LT_TAGDECL([], [hardcode_libdir_separator], [1], | ||
5231 | - [Whether we need a single "-rpath" flag with a separated argument]) | ||
5232 | -_LT_TAGDECL([], [hardcode_direct], [0], | ||
5233 | - [Set to "yes" if using DIR/libNAME${shared_ext} during linking hardcodes | ||
5234 | - DIR into the resulting binary]) | ||
5235 | -_LT_TAGDECL([], [hardcode_direct_absolute], [0], | ||
5236 | - [Set to "yes" if using DIR/libNAME${shared_ext} during linking hardcodes | ||
5237 | - DIR into the resulting binary and the resulting library dependency is | ||
5238 | - "absolute", i.e impossible to change by setting ${shlibpath_var} if the | ||
5239 | - library is relocated]) | ||
5240 | -_LT_TAGDECL([], [hardcode_minus_L], [0], | ||
5241 | - [Set to "yes" if using the -LDIR flag during linking hardcodes DIR | ||
5242 | - into the resulting binary]) | ||
5243 | -_LT_TAGDECL([], [hardcode_shlibpath_var], [0], | ||
5244 | - [Set to "yes" if using SHLIBPATH_VAR=DIR during linking hardcodes DIR | ||
5245 | - into the resulting binary]) | ||
5246 | -_LT_TAGDECL([], [hardcode_automatic], [0], | ||
5247 | - [Set to "yes" if building a shared library automatically hardcodes DIR | ||
5248 | - into the library and all subsequent libraries and executables linked | ||
5249 | - against it]) | ||
5250 | -_LT_TAGDECL([], [inherit_rpath], [0], | ||
5251 | - [Set to yes if linker adds runtime paths of dependent libraries | ||
5252 | - to runtime path list]) | ||
5253 | -_LT_TAGDECL([], [link_all_deplibs], [0], | ||
5254 | - [Whether libtool must link a program against all its dependency libraries]) | ||
5255 | -_LT_TAGDECL([], [fix_srcfile_path], [1], | ||
5256 | - [Fix the shell variable $srcfile for the compiler]) | ||
5257 | -_LT_TAGDECL([], [always_export_symbols], [0], | ||
5258 | - [Set to "yes" if exported symbols are required]) | ||
5259 | -_LT_TAGDECL([], [export_symbols_cmds], [2], | ||
5260 | - [The commands to list exported symbols]) | ||
5261 | -_LT_TAGDECL([], [exclude_expsyms], [1], | ||
5262 | - [Symbols that should not be listed in the preloaded symbols]) | ||
5263 | -_LT_TAGDECL([], [include_expsyms], [1], | ||
5264 | - [Symbols that must always be exported]) | ||
5265 | -_LT_TAGDECL([], [prelink_cmds], [2], | ||
5266 | - [Commands necessary for linking programs (against libraries) with templates]) | ||
5267 | -_LT_TAGDECL([], [file_list_spec], [1], | ||
5268 | - [Specify filename containing input files]) | ||
5269 | -dnl FIXME: Not yet implemented | ||
5270 | -dnl _LT_TAGDECL([], [thread_safe_flag_spec], [1], | ||
5271 | -dnl [Compiler flag to generate thread safe objects]) | ||
5272 | -])# _LT_LINKER_SHLIBS | ||
5273 | - | ||
5274 | - | ||
5275 | -# _LT_LANG_C_CONFIG([TAG]) | ||
5276 | -# ------------------------ | ||
5277 | -# Ensure that the configuration variables for a C compiler are suitably | ||
5278 | -# defined. These variables are subsequently used by _LT_CONFIG to write | ||
5279 | -# the compiler configuration to `libtool'. | ||
5280 | -m4_defun([_LT_LANG_C_CONFIG], | ||
5281 | -[m4_require([_LT_DECL_EGREP])dnl | ||
5282 | -lt_save_CC="$CC" | ||
5283 | -AC_LANG_PUSH(C) | ||
5284 | - | ||
5285 | -# Source file extension for C test sources. | ||
5286 | -ac_ext=c | ||
5287 | - | ||
5288 | -# Object file extension for compiled C test sources. | ||
5289 | -objext=o | ||
5290 | -_LT_TAGVAR(objext, $1)=$objext | ||
5291 | - | ||
5292 | -# Code to be used in simple compile tests | ||
5293 | -lt_simple_compile_test_code="int some_variable = 0;" | ||
5294 | - | ||
5295 | -# Code to be used in simple link tests | ||
5296 | -lt_simple_link_test_code='int main(){return(0);}' | ||
5297 | - | ||
5298 | -_LT_TAG_COMPILER | ||
5299 | -# Save the default compiler, since it gets overwritten when the other | ||
5300 | -# tags are being tested, and _LT_TAGVAR(compiler, []) is a NOP. | ||
5301 | -compiler_DEFAULT=$CC | ||
5302 | - | ||
5303 | -# save warnings/boilerplate of simple test code | ||
5304 | -_LT_COMPILER_BOILERPLATE | ||
5305 | -_LT_LINKER_BOILERPLATE | ||
5306 | - | ||
5307 | -## CAVEAT EMPTOR: | ||
5308 | -## There is no encapsulation within the following macros, do not change | ||
5309 | -## the running order or otherwise move them around unless you know exactly | ||
5310 | -## what you are doing... | ||
5311 | -if test -n "$compiler"; then | ||
5312 | - _LT_COMPILER_NO_RTTI($1) | ||
5313 | - _LT_COMPILER_PIC($1) | ||
5314 | - _LT_COMPILER_C_O($1) | ||
5315 | - _LT_COMPILER_FILE_LOCKS($1) | ||
5316 | - _LT_LINKER_SHLIBS($1) | ||
5317 | - _LT_SYS_DYNAMIC_LINKER($1) | ||
5318 | - _LT_LINKER_HARDCODE_LIBPATH($1) | ||
5319 | - LT_SYS_DLOPEN_SELF | ||
5320 | - _LT_CMD_STRIPLIB | ||
5321 | - | ||
5322 | - # Report which library types will actually be built | ||
5323 | - AC_MSG_CHECKING([if libtool supports shared libraries]) | ||
5324 | - AC_MSG_RESULT([$can_build_shared]) | ||
5325 | - | ||
5326 | - AC_MSG_CHECKING([whether to build shared libraries]) | ||
5327 | - test "$can_build_shared" = "no" && enable_shared=no | ||
5328 | - | ||
5329 | - # On AIX, shared libraries and static libraries use the same namespace, and | ||
5330 | - # are all built from PIC. | ||
5331 | - case $host_os in | ||
5332 | - aix3*) | ||
5333 | - test "$enable_shared" = yes && enable_static=no | ||
5334 | - if test -n "$RANLIB"; then | ||
5335 | - archive_cmds="$archive_cmds~\$RANLIB \$lib" | ||
5336 | - postinstall_cmds='$RANLIB $lib' | ||
5337 | - fi | ||
5338 | - ;; | ||
5339 | - | ||
5340 | - aix[[4-9]]*) | ||
5341 | - if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then | ||
5342 | - test "$enable_shared" = yes && enable_static=no | ||
5343 | - fi | ||
5344 | - ;; | ||
5345 | - esac | ||
5346 | - AC_MSG_RESULT([$enable_shared]) | ||
5347 | - | ||
5348 | - AC_MSG_CHECKING([whether to build static libraries]) | ||
5349 | - # Make sure either enable_shared or enable_static is yes. | ||
5350 | - test "$enable_shared" = yes || enable_static=yes | ||
5351 | - AC_MSG_RESULT([$enable_static]) | ||
5352 | - | ||
5353 | - _LT_CONFIG($1) | ||
5354 | -fi | ||
5355 | -AC_LANG_POP | ||
5356 | -CC="$lt_save_CC" | ||
5357 | -])# _LT_LANG_C_CONFIG | ||
5358 | - | ||
5359 | - | ||
5360 | -# _LT_PROG_CXX | ||
5361 | -# ------------ | ||
5362 | -# Since AC_PROG_CXX is broken, in that it returns g++ if there is no c++ | ||
5363 | -# compiler, we have our own version here. | ||
5364 | -m4_defun([_LT_PROG_CXX], | ||
5365 | -[ | ||
5366 | -pushdef([AC_MSG_ERROR], [_lt_caught_CXX_error=yes]) | ||
5367 | -AC_PROG_CXX | ||
5368 | -if test -n "$CXX" && ( test "X$CXX" != "Xno" && | ||
5369 | - ( (test "X$CXX" = "Xg++" && `g++ -v >/dev/null 2>&1` ) || | ||
5370 | - (test "X$CXX" != "Xg++"))) ; then | ||
5371 | - AC_PROG_CXXCPP | ||
5372 | -else | ||
5373 | - _lt_caught_CXX_error=yes | ||
5374 | -fi | ||
5375 | -popdef([AC_MSG_ERROR]) | ||
5376 | -])# _LT_PROG_CXX | ||
5377 | - | ||
5378 | -dnl aclocal-1.4 backwards compatibility: | ||
5379 | -dnl AC_DEFUN([_LT_PROG_CXX], []) | ||
5380 | - | ||
5381 | - | ||
5382 | -# _LT_LANG_CXX_CONFIG([TAG]) | ||
5383 | -# -------------------------- | ||
5384 | -# Ensure that the configuration variables for a C++ compiler are suitably | ||
5385 | -# defined. These variables are subsequently used by _LT_CONFIG to write | ||
5386 | -# the compiler configuration to `libtool'. | ||
5387 | -m4_defun([_LT_LANG_CXX_CONFIG], | ||
5388 | -[AC_REQUIRE([_LT_PROG_CXX])dnl | ||
5389 | -m4_require([_LT_FILEUTILS_DEFAULTS])dnl | ||
5390 | -m4_require([_LT_DECL_EGREP])dnl | ||
5391 | - | ||
5392 | -AC_LANG_PUSH(C++) | ||
5393 | -_LT_TAGVAR(archive_cmds_need_lc, $1)=no | ||
5394 | -_LT_TAGVAR(allow_undefined_flag, $1)= | ||
5395 | -_LT_TAGVAR(always_export_symbols, $1)=no | ||
5396 | -_LT_TAGVAR(archive_expsym_cmds, $1)= | ||
5397 | -_LT_TAGVAR(compiler_needs_object, $1)=no | ||
5398 | -_LT_TAGVAR(export_dynamic_flag_spec, $1)= | ||
5399 | -_LT_TAGVAR(hardcode_direct, $1)=no | ||
5400 | -_LT_TAGVAR(hardcode_direct_absolute, $1)=no | ||
5401 | -_LT_TAGVAR(hardcode_libdir_flag_spec, $1)= | ||
5402 | -_LT_TAGVAR(hardcode_libdir_flag_spec_ld, $1)= | ||
5403 | -_LT_TAGVAR(hardcode_libdir_separator, $1)= | ||
5404 | -_LT_TAGVAR(hardcode_minus_L, $1)=no | ||
5405 | -_LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported | ||
5406 | -_LT_TAGVAR(hardcode_automatic, $1)=no | ||
5407 | -_LT_TAGVAR(inherit_rpath, $1)=no | ||
5408 | -_LT_TAGVAR(module_cmds, $1)= | ||
5409 | -_LT_TAGVAR(module_expsym_cmds, $1)= | ||
5410 | -_LT_TAGVAR(link_all_deplibs, $1)=unknown | ||
5411 | -_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds | ||
5412 | -_LT_TAGVAR(no_undefined_flag, $1)= | ||
5413 | -_LT_TAGVAR(whole_archive_flag_spec, $1)= | ||
5414 | -_LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no | ||
5415 | - | ||
5416 | -# Source file extension for C++ test sources. | ||
5417 | -ac_ext=cpp | ||
5418 | - | ||
5419 | -# Object file extension for compiled C++ test sources. | ||
5420 | -objext=o | ||
5421 | -_LT_TAGVAR(objext, $1)=$objext | ||
5422 | - | ||
5423 | -# No sense in running all these tests if we already determined that | ||
5424 | -# the CXX compiler isn't working. Some variables (like enable_shared) | ||
5425 | -# are currently assumed to apply to all compilers on this platform, | ||
5426 | -# and will be corrupted by setting them based on a non-working compiler. | ||
5427 | -if test "$_lt_caught_CXX_error" != yes; then | ||
5428 | - # Code to be used in simple compile tests | ||
5429 | - lt_simple_compile_test_code="int some_variable = 0;" | ||
5430 | - | ||
5431 | - # Code to be used in simple link tests | ||
5432 | - lt_simple_link_test_code='int main(int, char *[[]]) { return(0); }' | ||
5433 | - | ||
5434 | - # ltmain only uses $CC for tagged configurations so make sure $CC is set. | ||
5435 | - _LT_TAG_COMPILER | ||
5436 | - | ||
5437 | - # save warnings/boilerplate of simple test code | ||
5438 | - _LT_COMPILER_BOILERPLATE | ||
5439 | - _LT_LINKER_BOILERPLATE | ||
5440 | - | ||
5441 | - # Allow CC to be a program name with arguments. | ||
5442 | - lt_save_CC=$CC | ||
5443 | - lt_save_LD=$LD | ||
5444 | - lt_save_GCC=$GCC | ||
5445 | - GCC=$GXX | ||
5446 | - lt_save_with_gnu_ld=$with_gnu_ld | ||
5447 | - lt_save_path_LD=$lt_cv_path_LD | ||
5448 | - if test -n "${lt_cv_prog_gnu_ldcxx+set}"; then | ||
5449 | - lt_cv_prog_gnu_ld=$lt_cv_prog_gnu_ldcxx | ||
5450 | - else | ||
5451 | - $as_unset lt_cv_prog_gnu_ld | ||
5452 | - fi | ||
5453 | - if test -n "${lt_cv_path_LDCXX+set}"; then | ||
5454 | - lt_cv_path_LD=$lt_cv_path_LDCXX | ||
5455 | - else | ||
5456 | - $as_unset lt_cv_path_LD | ||
5457 | - fi | ||
5458 | - test -z "${LDCXX+set}" || LD=$LDCXX | ||
5459 | - CC=${CXX-"c++"} | ||
5460 | - compiler=$CC | ||
5461 | - _LT_TAGVAR(compiler, $1)=$CC | ||
5462 | - _LT_CC_BASENAME([$compiler]) | ||
5463 | - | ||
5464 | - if test -n "$compiler"; then | ||
5465 | - # We don't want -fno-exception when compiling C++ code, so set the | ||
5466 | - # no_builtin_flag separately | ||
5467 | - if test "$GXX" = yes; then | ||
5468 | - _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -fno-builtin' | ||
5469 | - else | ||
5470 | - _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)= | ||
5471 | - fi | ||
5472 | - | ||
5473 | - if test "$GXX" = yes; then | ||
5474 | - # Set up default GNU C++ configuration | ||
5475 | - | ||
5476 | - LT_PATH_LD | ||
5477 | - | ||
5478 | - # Check if GNU C++ uses GNU ld as the underlying linker, since the | ||
5479 | - # archiving commands below assume that GNU ld is being used. | ||
5480 | - if test "$with_gnu_ld" = yes; then | ||
5481 | - _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib' | ||
5482 | - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' | ||
5483 | - | ||
5484 | - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' | ||
5485 | - _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' | ||
5486 | - | ||
5487 | - # If archive_cmds runs LD, not CC, wlarc should be empty | ||
5488 | - # XXX I think wlarc can be eliminated in ltcf-cxx, but I need to | ||
5489 | - # investigate it a little bit more. (MM) | ||
5490 | - wlarc='${wl}' | ||
5491 | - | ||
5492 | - # ancient GNU ld didn't support --whole-archive et. al. | ||
5493 | - if eval "`$CC -print-prog-name=ld` --help 2>&1" | | ||
5494 | - $GREP 'no-whole-archive' > /dev/null; then | ||
5495 | - _LT_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' | ||
5496 | - else | ||
5497 | - _LT_TAGVAR(whole_archive_flag_spec, $1)= | ||
5498 | - fi | ||
5499 | - else | ||
5500 | - with_gnu_ld=no | ||
5501 | - wlarc= | ||
5502 | - | ||
5503 | - # A generic and very simple default shared library creation | ||
5504 | - # command for GNU C++ for the case where it uses the native | ||
5505 | - # linker, instead of GNU ld. If possible, this setting should | ||
5506 | - # overridden to take advantage of the native linker features on | ||
5507 | - # the platform it is being used on. | ||
5508 | - _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib' | ||
5509 | - fi | ||
5510 | - | ||
5511 | - # Commands to make compiler produce verbose output that lists | ||
5512 | - # what "hidden" libraries, object files and flags are used when | ||
5513 | - # linking a shared library. | ||
5514 | - output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "\-L"' | ||
5515 | - | ||
5516 | - else | ||
5517 | - GXX=no | ||
5518 | - with_gnu_ld=no | ||
5519 | - wlarc= | ||
5520 | - fi | ||
5521 | - | ||
5522 | - # PORTME: fill in a description of your system's C++ link characteristics | ||
5523 | - AC_MSG_CHECKING([whether the $compiler linker ($LD) supports shared libraries]) | ||
5524 | - _LT_TAGVAR(ld_shlibs, $1)=yes | ||
5525 | - case $host_os in | ||
5526 | - aix3*) | ||
5527 | - # FIXME: insert proper C++ library support | ||
5528 | - _LT_TAGVAR(ld_shlibs, $1)=no | ||
5529 | - ;; | ||
5530 | - aix[[4-9]]*) | ||
5531 | - if test "$host_cpu" = ia64; then | ||
5532 | - # On IA64, the linker does run time linking by default, so we don't | ||
5533 | - # have to do anything special. | ||
5534 | - aix_use_runtimelinking=no | ||
5535 | - exp_sym_flag='-Bexport' | ||
5536 | - no_entry_flag="" | ||
5537 | - else | ||
5538 | - aix_use_runtimelinking=no | ||
5539 | - | ||
5540 | - # Test if we are trying to use run time linking or normal | ||
5541 | - # AIX style linking. If -brtl is somewhere in LDFLAGS, we | ||
5542 | - # need to do runtime linking. | ||
5543 | - case $host_os in aix4.[[23]]|aix4.[[23]].*|aix[[5-9]]*) | ||
5544 | - for ld_flag in $LDFLAGS; do | ||
5545 | - case $ld_flag in | ||
5546 | - *-brtl*) | ||
5547 | - aix_use_runtimelinking=yes | ||
5548 | - break | ||
5549 | - ;; | ||
5550 | - esac | ||
5551 | - done | ||
5552 | - ;; | ||
5553 | - esac | ||
5554 | - | ||
5555 | - exp_sym_flag='-bexport' | ||
5556 | - no_entry_flag='-bnoentry' | ||
5557 | - fi | ||
5558 | - | ||
5559 | - # When large executables or shared objects are built, AIX ld can | ||
5560 | - # have problems creating the table of contents. If linking a library | ||
5561 | - # or program results in "error TOC overflow" add -mminimal-toc to | ||
5562 | - # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not | ||
5563 | - # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. | ||
5564 | - | ||
5565 | - _LT_TAGVAR(archive_cmds, $1)='' | ||
5566 | - _LT_TAGVAR(hardcode_direct, $1)=yes | ||
5567 | - _LT_TAGVAR(hardcode_direct_absolute, $1)=yes | ||
5568 | - _LT_TAGVAR(hardcode_libdir_separator, $1)=':' | ||
5569 | - _LT_TAGVAR(link_all_deplibs, $1)=yes | ||
5570 | - _LT_TAGVAR(file_list_spec, $1)='${wl}-f,' | ||
5571 | - | ||
5572 | - if test "$GXX" = yes; then | ||
5573 | - case $host_os in aix4.[[012]]|aix4.[[012]].*) | ||
5574 | - # We only want to do this on AIX 4.2 and lower, the check | ||
5575 | - # below for broken collect2 doesn't work under 4.3+ | ||
5576 | - collect2name=`${CC} -print-prog-name=collect2` | ||
5577 | - if test -f "$collect2name" && | ||
5578 | - strings "$collect2name" | $GREP resolve_lib_name >/dev/null | ||
5579 | - then | ||
5580 | - # We have reworked collect2 | ||
5581 | - : | ||
5582 | - else | ||
5583 | - # We have old collect2 | ||
5584 | - _LT_TAGVAR(hardcode_direct, $1)=unsupported | ||
5585 | - # It fails to find uninstalled libraries when the uninstalled | ||
5586 | - # path is not listed in the libpath. Setting hardcode_minus_L | ||
5587 | - # to unsupported forces relinking | ||
5588 | - _LT_TAGVAR(hardcode_minus_L, $1)=yes | ||
5589 | - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' | ||
5590 | - _LT_TAGVAR(hardcode_libdir_separator, $1)= | ||
5591 | - fi | ||
5592 | - esac | ||
5593 | - shared_flag='-shared' | ||
5594 | - if test "$aix_use_runtimelinking" = yes; then | ||
5595 | - shared_flag="$shared_flag "'${wl}-G' | ||
5596 | - fi | ||
5597 | - else | ||
5598 | - # not using gcc | ||
5599 | - if test "$host_cpu" = ia64; then | ||
5600 | - # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release | ||
5601 | - # chokes on -Wl,-G. The following line is correct: | ||
5602 | - shared_flag='-G' | ||
5603 | - else | ||
5604 | - if test "$aix_use_runtimelinking" = yes; then | ||
5605 | - shared_flag='${wl}-G' | ||
5606 | - else | ||
5607 | - shared_flag='${wl}-bM:SRE' | ||
5608 | - fi | ||
5609 | - fi | ||
5610 | - fi | ||
5611 | - | ||
5612 | - _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-bexpall' | ||
5613 | - # It seems that -bexpall does not export symbols beginning with | ||
5614 | - # underscore (_), so it is better to generate a list of symbols to | ||
5615 | - # export. | ||
5616 | - _LT_TAGVAR(always_export_symbols, $1)=yes | ||
5617 | - if test "$aix_use_runtimelinking" = yes; then | ||
5618 | - # Warning - without using the other runtime loading flags (-brtl), | ||
5619 | - # -berok will link without error, but may produce a broken library. | ||
5620 | - _LT_TAGVAR(allow_undefined_flag, $1)='-berok' | ||
5621 | - # Determine the default libpath from the value encoded in an empty | ||
5622 | - # executable. | ||
5623 | - _LT_SYS_MODULE_PATH_AIX | ||
5624 | - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath" | ||
5625 | - | ||
5626 | - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then $ECHO "X${wl}${allow_undefined_flag}" | $Xsed; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag" | ||
5627 | - else | ||
5628 | - if test "$host_cpu" = ia64; then | ||
5629 | - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $libdir:/usr/lib:/lib' | ||
5630 | - _LT_TAGVAR(allow_undefined_flag, $1)="-z nodefs" | ||
5631 | - _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" | ||
5632 | - else | ||
5633 | - # Determine the default libpath from the value encoded in an | ||
5634 | - # empty executable. | ||
5635 | - _LT_SYS_MODULE_PATH_AIX | ||
5636 | - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath" | ||
5637 | - # Warning - without using the other run time loading flags, | ||
5638 | - # -berok will link without error, but may produce a broken library. | ||
5639 | - _LT_TAGVAR(no_undefined_flag, $1)=' ${wl}-bernotok' | ||
5640 | - _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-berok' | ||
5641 | - # Exported symbols can be pulled into shared objects from archives | ||
5642 | - _LT_TAGVAR(whole_archive_flag_spec, $1)='$convenience' | ||
5643 | - _LT_TAGVAR(archive_cmds_need_lc, $1)=yes | ||
5644 | - # This is similar to how AIX traditionally builds its shared | ||
5645 | - # libraries. | ||
5646 | - _LT_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname' | ||
5647 | - fi | ||
5648 | - fi | ||
5649 | - ;; | ||
5650 | - | ||
5651 | - beos*) | ||
5652 | - if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then | ||
5653 | - _LT_TAGVAR(allow_undefined_flag, $1)=unsupported | ||
5654 | - # Joseph Beckenbach <jrb3@best.com> says some releases of gcc | ||
5655 | - # support --undefined. This deserves some investigation. FIXME | ||
5656 | - _LT_TAGVAR(archive_cmds, $1)='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' | ||
5657 | - else | ||
5658 | - _LT_TAGVAR(ld_shlibs, $1)=no | ||
5659 | - fi | ||
5660 | - ;; | ||
5661 | - | ||
5662 | - chorus*) | ||
5663 | - case $cc_basename in | ||
5664 | - *) | ||
5665 | - # FIXME: insert proper C++ library support | ||
5666 | - _LT_TAGVAR(ld_shlibs, $1)=no | ||
5667 | - ;; | ||
5668 | - esac | ||
5669 | - ;; | ||
5670 | - | ||
5671 | - cygwin* | mingw* | pw32* | cegcc*) | ||
5672 | - # _LT_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless, | ||
5673 | - # as there is no search path for DLLs. | ||
5674 | - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' | ||
5675 | - _LT_TAGVAR(allow_undefined_flag, $1)=unsupported | ||
5676 | - _LT_TAGVAR(always_export_symbols, $1)=no | ||
5677 | - _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes | ||
5678 | - | ||
5679 | - if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then | ||
5680 | - _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' | ||
5681 | - # If the export-symbols file already is a .def file (1st line | ||
5682 | - # is EXPORTS), use it as is; otherwise, prepend... | ||
5683 | - _LT_TAGVAR(archive_expsym_cmds, $1)='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then | ||
5684 | - cp $export_symbols $output_objdir/$soname.def; | ||
5685 | - else | ||
5686 | - echo EXPORTS > $output_objdir/$soname.def; | ||
5687 | - cat $export_symbols >> $output_objdir/$soname.def; | ||
5688 | - fi~ | ||
5689 | - $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' | ||
5690 | - else | ||
5691 | - _LT_TAGVAR(ld_shlibs, $1)=no | ||
5692 | - fi | ||
5693 | - ;; | ||
5694 | - darwin* | rhapsody*) | ||
5695 | - _LT_DARWIN_LINKER_FEATURES($1) | ||
5696 | - ;; | ||
5697 | - | ||
5698 | - dgux*) | ||
5699 | - case $cc_basename in | ||
5700 | - ec++*) | ||
5701 | - # FIXME: insert proper C++ library support | ||
5702 | - _LT_TAGVAR(ld_shlibs, $1)=no | ||
5703 | - ;; | ||
5704 | - ghcx*) | ||
5705 | - # Green Hills C++ Compiler | ||
5706 | - # FIXME: insert proper C++ library support | ||
5707 | - _LT_TAGVAR(ld_shlibs, $1)=no | ||
5708 | - ;; | ||
5709 | - *) | ||
5710 | - # FIXME: insert proper C++ library support | ||
5711 | - _LT_TAGVAR(ld_shlibs, $1)=no | ||
5712 | - ;; | ||
5713 | - esac | ||
5714 | - ;; | ||
5715 | - | ||
5716 | - freebsd[[12]]*) | ||
5717 | - # C++ shared libraries reported to be fairly broken before | ||
5718 | - # switch to ELF | ||
5719 | - _LT_TAGVAR(ld_shlibs, $1)=no | ||
5720 | - ;; | ||
5721 | - | ||
5722 | - freebsd-elf*) | ||
5723 | - _LT_TAGVAR(archive_cmds_need_lc, $1)=no | ||
5724 | - ;; | ||
5725 | - | ||
5726 | - freebsd* | dragonfly*) | ||
5727 | - # FreeBSD 3 and later use GNU C++ and GNU ld with standard ELF | ||
5728 | - # conventions | ||
5729 | - _LT_TAGVAR(ld_shlibs, $1)=yes | ||
5730 | - ;; | ||
5731 | - | ||
5732 | - gnu*) | ||
5733 | - ;; | ||
5734 | - | ||
5735 | - hpux9*) | ||
5736 | - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' | ||
5737 | - _LT_TAGVAR(hardcode_libdir_separator, $1)=: | ||
5738 | - _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' | ||
5739 | - _LT_TAGVAR(hardcode_direct, $1)=yes | ||
5740 | - _LT_TAGVAR(hardcode_minus_L, $1)=yes # Not in the search PATH, | ||
5741 | - # but as the default | ||
5742 | - # location of the library. | ||
5743 | - | ||
5744 | - case $cc_basename in | ||
5745 | - CC*) | ||
5746 | - # FIXME: insert proper C++ library support | ||
5747 | - _LT_TAGVAR(ld_shlibs, $1)=no | ||
5748 | - ;; | ||
5749 | - aCC*) | ||
5750 | - _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 $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' | ||
5751 | - # Commands to make compiler produce verbose output that lists | ||
5752 | - # what "hidden" libraries, object files and flags are used when | ||
5753 | - # linking a shared library. | ||
5754 | - # | ||
5755 | - # There doesn't appear to be a way to prevent this compiler from | ||
5756 | - # explicitly linking system object files so we need to strip them | ||
5757 | - # from the output so that they don't get included in the library | ||
5758 | - # dependencies. | ||
5759 | - 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; $ECHO "X$list" | $Xsed' | ||
5760 | - ;; | ||
5761 | - *) | ||
5762 | - if test "$GXX" = yes; then | ||
5763 | - _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$CC -shared -nostdlib -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' | ||
5764 | - else | ||
5765 | - # FIXME: insert proper C++ library support | ||
5766 | - _LT_TAGVAR(ld_shlibs, $1)=no | ||
5767 | - fi | ||
5768 | - ;; | ||
5769 | - esac | ||
5770 | - ;; | ||
5771 | - | ||
5772 | - hpux10*|hpux11*) | ||
5773 | - if test $with_gnu_ld = no; then | ||
5774 | - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' | ||
5775 | - _LT_TAGVAR(hardcode_libdir_separator, $1)=: | ||
5776 | - | ||
5777 | - case $host_cpu in | ||
5778 | - hppa*64*|ia64*) | ||
5779 | - ;; | ||
5780 | - *) | ||
5781 | - _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' | ||
5782 | - ;; | ||
5783 | - esac | ||
5784 | - fi | ||
5785 | - case $host_cpu in | ||
5786 | - hppa*64*|ia64*) | ||
5787 | - _LT_TAGVAR(hardcode_direct, $1)=no | ||
5788 | - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no | ||
5789 | - ;; | ||
5790 | - *) | ||
5791 | - _LT_TAGVAR(hardcode_direct, $1)=yes | ||
5792 | - _LT_TAGVAR(hardcode_direct_absolute, $1)=yes | ||
5793 | - _LT_TAGVAR(hardcode_minus_L, $1)=yes # Not in the search PATH, | ||
5794 | - # but as the default | ||
5795 | - # location of the library. | ||
5796 | - ;; | ||
5797 | - esac | ||
5798 | - | ||
5799 | - case $cc_basename in | ||
5800 | - CC*) | ||
5801 | - # FIXME: insert proper C++ library support | ||
5802 | - _LT_TAGVAR(ld_shlibs, $1)=no | ||
5803 | - ;; | ||
5804 | - aCC*) | ||
5805 | - case $host_cpu in | ||
5806 | - hppa*64*) | ||
5807 | - _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' | ||
5808 | - ;; | ||
5809 | - ia64*) | ||
5810 | - _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' | ||
5811 | - ;; | ||
5812 | - *) | ||
5813 | - _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' | ||
5814 | - ;; | ||
5815 | - esac | ||
5816 | - # Commands to make compiler produce verbose output that lists | ||
5817 | - # what "hidden" libraries, object files and flags are used when | ||
5818 | - # linking a shared library. | ||
5819 | - # | ||
5820 | - # There doesn't appear to be a way to prevent this compiler from | ||
5821 | - # explicitly linking system object files so we need to strip them | ||
5822 | - # from the output so that they don't get included in the library | ||
5823 | - # dependencies. | ||
5824 | - output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $GREP "\-L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; $ECHO "X$list" | $Xsed' | ||
5825 | - ;; | ||
5826 | - *) | ||
5827 | - if test "$GXX" = yes; then | ||
5828 | - if test $with_gnu_ld = no; then | ||
5829 | - case $host_cpu in | ||
5830 | - hppa*64*) | ||
5831 | - _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' | ||
5832 | - ;; | ||
5833 | - ia64*) | ||
5834 | - _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' | ||
5835 | - ;; | ||
5836 | - *) | ||
5837 | - _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' | ||
5838 | - ;; | ||
5839 | - esac | ||
5840 | - fi | ||
5841 | - else | ||
5842 | - # FIXME: insert proper C++ library support | ||
5843 | - _LT_TAGVAR(ld_shlibs, $1)=no | ||
5844 | - fi | ||
5845 | - ;; | ||
5846 | - esac | ||
5847 | - ;; | ||
5848 | - | ||
5849 | - interix[[3-9]]*) | ||
5850 | - _LT_TAGVAR(hardcode_direct, $1)=no | ||
5851 | - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no | ||
5852 | - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' | ||
5853 | - _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' | ||
5854 | - # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. | ||
5855 | - # Instead, shared libraries are loaded at an image base (0x10000000 by | ||
5856 | - # default) and relocated if they conflict, which is a slow very memory | ||
5857 | - # consuming and fragmenting process. To avoid this, we pick a random, | ||
5858 | - # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link | ||
5859 | - # time. Moving up from 0x10000000 also allows more sbrk(2) space. | ||
5860 | - _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' | ||
5861 | - _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' | ||
5862 | - ;; | ||
5863 | - irix5* | irix6*) | ||
5864 | - case $cc_basename in | ||
5865 | - CC*) | ||
5866 | - # SGI C++ | ||
5867 | - _LT_TAGVAR(archive_cmds, $1)='$CC -shared -all -multigot $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib' | ||
5868 | - | ||
5869 | - # Archives containing C++ object files must be created using | ||
5870 | - # "CC -ar", where "CC" is the IRIX C++ compiler. This is | ||
5871 | - # necessary to make sure instantiated templates are included | ||
5872 | - # in the archive. | ||
5873 | - _LT_TAGVAR(old_archive_cmds, $1)='$CC -ar -WR,-u -o $oldlib $oldobjs' | ||
5874 | - ;; | ||
5875 | - *) | ||
5876 | - if test "$GXX" = yes; then | ||
5877 | - if test "$with_gnu_ld" = no; then | ||
5878 | - _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' | ||
5879 | - else | ||
5880 | - _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` -o $lib' | ||
5881 | - fi | ||
5882 | - fi | ||
5883 | - _LT_TAGVAR(link_all_deplibs, $1)=yes | ||
5884 | - ;; | ||
5885 | - esac | ||
5886 | - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' | ||
5887 | - _LT_TAGVAR(hardcode_libdir_separator, $1)=: | ||
5888 | - _LT_TAGVAR(inherit_rpath, $1)=yes | ||
5889 | - ;; | ||
5890 | - | ||
5891 | - linux* | k*bsd*-gnu) | ||
5892 | - case $cc_basename in | ||
5893 | - KCC*) | ||
5894 | - # Kuck and Associates, Inc. (KAI) C++ Compiler | ||
5895 | - | ||
5896 | - # KCC will only create a shared library if the output file | ||
5897 | - # ends with ".so" (or ".sl" for HP-UX), so rename the library | ||
5898 | - # to its proper name (with version) after linking. | ||
5899 | - _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' | ||
5900 | - _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' | ||
5901 | - # Commands to make compiler produce verbose output that lists | ||
5902 | - # what "hidden" libraries, object files and flags are used when | ||
5903 | - # linking a shared library. | ||
5904 | - # | ||
5905 | - # There doesn't appear to be a way to prevent this compiler from | ||
5906 | - # explicitly linking system object files so we need to strip them | ||
5907 | - # from the output so that they don't get included in the library | ||
5908 | - # dependencies. | ||
5909 | - output_verbose_link_cmd='templist=`$CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1 | $GREP "ld"`; rm -f libconftest$shared_ext; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; $ECHO "X$list" | $Xsed' | ||
5910 | - | ||
5911 | - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' | ||
5912 | - _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' | ||
5913 | - | ||
5914 | - # Archives containing C++ object files must be created using | ||
5915 | - # "CC -Bstatic", where "CC" is the KAI C++ compiler. | ||
5916 | - _LT_TAGVAR(old_archive_cmds, $1)='$CC -Bstatic -o $oldlib $oldobjs' | ||
5917 | - ;; | ||
5918 | - icpc* | ecpc* ) | ||
5919 | - # Intel C++ | ||
5920 | - with_gnu_ld=yes | ||
5921 | - # version 8.0 and above of icpc choke on multiply defined symbols | ||
5922 | - # if we add $predep_objects and $postdep_objects, however 7.1 and | ||
5923 | - # earlier do not add the objects themselves. | ||
5924 | - case `$CC -V 2>&1` in | ||
5925 | - *"Version 7."*) | ||
5926 | - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib' | ||
5927 | - _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' | ||
5928 | - ;; | ||
5929 | - *) # Version 8.0 or newer | ||
5930 | - tmp_idyn= | ||
5931 | - case $host_cpu in | ||
5932 | - ia64*) tmp_idyn=' -i_dynamic';; | ||
5933 | - esac | ||
5934 | - _LT_TAGVAR(archive_cmds, $1)='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' | ||
5935 | - _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' | ||
5936 | - ;; | ||
5937 | - esac | ||
5938 | - _LT_TAGVAR(archive_cmds_need_lc, $1)=no | ||
5939 | - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' | ||
5940 | - _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' | ||
5941 | - _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive$convenience ${wl}--no-whole-archive' | ||
5942 | - ;; | ||
5943 | - pgCC* | pgcpp*) | ||
5944 | - # Portland Group C++ compiler | ||
5945 | - case `$CC -V` in | ||
5946 | - *pgCC\ [[1-5]]* | *pgcpp\ [[1-5]]*) | ||
5947 | - _LT_TAGVAR(prelink_cmds, $1)='tpldir=Template.dir~ | ||
5948 | - rm -rf $tpldir~ | ||
5949 | - $CC --prelink_objects --instantiation_dir $tpldir $objs $libobjs $compile_deplibs~ | ||
5950 | - compile_command="$compile_command `find $tpldir -name \*.o | $NL2SP`"' | ||
5951 | - _LT_TAGVAR(old_archive_cmds, $1)='tpldir=Template.dir~ | ||
5952 | - rm -rf $tpldir~ | ||
5953 | - $CC --prelink_objects --instantiation_dir $tpldir $oldobjs$old_deplibs~ | ||
5954 | - $AR $AR_FLAGS $oldlib$oldobjs$old_deplibs `find $tpldir -name \*.o | $NL2SP`~ | ||
5955 | - $RANLIB $oldlib' | ||
5956 | - _LT_TAGVAR(archive_cmds, $1)='tpldir=Template.dir~ | ||
5957 | - rm -rf $tpldir~ | ||
5958 | - $CC --prelink_objects --instantiation_dir $tpldir $predep_objects $libobjs $deplibs $convenience $postdep_objects~ | ||
5959 | - $CC -shared $pic_flag $predep_objects $libobjs $deplibs `find $tpldir -name \*.o | $NL2SP` $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib' | ||
5960 | - _LT_TAGVAR(archive_expsym_cmds, $1)='tpldir=Template.dir~ | ||
5961 | - rm -rf $tpldir~ | ||
5962 | - $CC --prelink_objects --instantiation_dir $tpldir $predep_objects $libobjs $deplibs $convenience $postdep_objects~ | ||
5963 | - $CC -shared $pic_flag $predep_objects $libobjs $deplibs `find $tpldir -name \*.o | $NL2SP` $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname ${wl}-retain-symbols-file ${wl}$export_symbols -o $lib' | ||
5964 | - ;; | ||
5965 | - *) # Version 6 will use weak symbols | ||
5966 | - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib' | ||
5967 | - _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' | ||
5968 | - ;; | ||
5969 | - esac | ||
5970 | - | ||
5971 | - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}--rpath ${wl}$libdir' | ||
5972 | - _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' | ||
5973 | - _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $ECHO \"$new_convenience\"` ${wl}--no-whole-archive' | ||
5974 | - ;; | ||
5975 | - cxx*) | ||
5976 | - # Compaq C++ | ||
5977 | - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib' | ||
5978 | - _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' | ||
5979 | - | ||
5980 | - runpath_var=LD_RUN_PATH | ||
5981 | - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir' | ||
5982 | - _LT_TAGVAR(hardcode_libdir_separator, $1)=: | ||
5983 | - | ||
5984 | - # Commands to make compiler produce verbose output that lists | ||
5985 | - # what "hidden" libraries, object files and flags are used when | ||
5986 | - # linking a shared library. | ||
5987 | - # | ||
5988 | - # There doesn't appear to be a way to prevent this compiler from | ||
5989 | - # explicitly linking system object files so we need to strip them | ||
5990 | - # from the output so that they don't get included in the library | ||
5991 | - # dependencies. | ||
5992 | - output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "ld"`; templist=`$ECHO "X$templist" | $Xsed -e "s/\(^.*ld.*\)\( .*ld .*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; $ECHO "X$list" | $Xsed' | ||
5993 | - ;; | ||
5994 | - xl*) | ||
5995 | - # IBM XL 8.0 on PPC, with GNU ld | ||
5996 | - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' | ||
5997 | - _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' | ||
5998 | - _LT_TAGVAR(archive_cmds, $1)='$CC -qmkshrobj $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' | ||
5999 | - if test "x$supports_anon_versioning" = xyes; then | ||
6000 | - _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~ | ||
6001 | - cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ | ||
6002 | - echo "local: *; };" >> $output_objdir/$libname.ver~ | ||
6003 | - $CC -qmkshrobj $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib' | ||
6004 | - fi | ||
6005 | - ;; | ||
6006 | - *) | ||
6007 | - case `$CC -V 2>&1 | sed 5q` in | ||
6008 | - *Sun\ C*) | ||
6009 | - # Sun C++ 5.9 | ||
6010 | - _LT_TAGVAR(no_undefined_flag, $1)=' -zdefs' | ||
6011 | - _LT_TAGVAR(archive_cmds, $1)='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' | ||
6012 | - _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' | ||
6013 | - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' | ||
6014 | - _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; $ECHO \"$new_convenience\"` ${wl}--no-whole-archive' | ||
6015 | - _LT_TAGVAR(compiler_needs_object, $1)=yes | ||
6016 | - | ||
6017 | - # Not sure whether something based on | ||
6018 | - # $CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1 | ||
6019 | - # would be better. | ||
6020 | - output_verbose_link_cmd='echo' | ||
6021 | - | ||
6022 | - # Archives containing C++ object files must be created using | ||
6023 | - # "CC -xar", where "CC" is the Sun C++ compiler. This is | ||
6024 | - # necessary to make sure instantiated templates are included | ||
6025 | - # in the archive. | ||
6026 | - _LT_TAGVAR(old_archive_cmds, $1)='$CC -xar -o $oldlib $oldobjs' | ||
6027 | - ;; | ||
6028 | - esac | ||
6029 | - ;; | ||
6030 | - esac | ||
6031 | - ;; | ||
6032 | - | ||
6033 | - lynxos*) | ||
6034 | - # FIXME: insert proper C++ library support | ||
6035 | - _LT_TAGVAR(ld_shlibs, $1)=no | ||
6036 | - ;; | ||
6037 | - | ||
6038 | - m88k*) | ||
6039 | - # FIXME: insert proper C++ library support | ||
6040 | - _LT_TAGVAR(ld_shlibs, $1)=no | ||
6041 | - ;; | ||
6042 | - | ||
6043 | - mvs*) | ||
6044 | - case $cc_basename in | ||
6045 | - cxx*) | ||
6046 | - # FIXME: insert proper C++ library support | ||
6047 | - _LT_TAGVAR(ld_shlibs, $1)=no | ||
6048 | - ;; | ||
6049 | - *) | ||
6050 | - # FIXME: insert proper C++ library support | ||
6051 | - _LT_TAGVAR(ld_shlibs, $1)=no | ||
6052 | - ;; | ||
6053 | - esac | ||
6054 | - ;; | ||
6055 | - | ||
6056 | - netbsd*) | ||
6057 | - if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then | ||
6058 | - _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $predep_objects $libobjs $deplibs $postdep_objects $linker_flags' | ||
6059 | - wlarc= | ||
6060 | - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' | ||
6061 | - _LT_TAGVAR(hardcode_direct, $1)=yes | ||
6062 | - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no | ||
6063 | - fi | ||
6064 | - # Workaround some broken pre-1.5 toolchains | ||
6065 | - output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP conftest.$objext | $SED -e "s:-lgcc -lc -lgcc::"' | ||
6066 | - ;; | ||
6067 | - | ||
6068 | - *nto* | *qnx*) | ||
6069 | - _LT_TAGVAR(ld_shlibs, $1)=yes | ||
6070 | - ;; | ||
6071 | - | ||
6072 | - openbsd2*) | ||
6073 | - # C++ shared libraries are fairly broken | ||
6074 | - _LT_TAGVAR(ld_shlibs, $1)=no | ||
6075 | - ;; | ||
6076 | - | ||
6077 | - openbsd*) | ||
6078 | - if test -f /usr/libexec/ld.so; then | ||
6079 | - _LT_TAGVAR(hardcode_direct, $1)=yes | ||
6080 | - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no | ||
6081 | - _LT_TAGVAR(hardcode_direct_absolute, $1)=yes | ||
6082 | - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib' | ||
6083 | - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' | ||
6084 | - if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then | ||
6085 | - _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' | ||
6086 | - _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' | ||
6087 | - _LT_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' | ||
6088 | - fi | ||
6089 | - output_verbose_link_cmd=echo | ||
6090 | - else | ||
6091 | - _LT_TAGVAR(ld_shlibs, $1)=no | ||
6092 | - fi | ||
6093 | - ;; | ||
6094 | - | ||
6095 | - osf3* | osf4* | osf5*) | ||
6096 | - case $cc_basename in | ||
6097 | - KCC*) | ||
6098 | - # Kuck and Associates, Inc. (KAI) C++ Compiler | ||
6099 | - | ||
6100 | - # KCC will only create a shared library if the output file | ||
6101 | - # ends with ".so" (or ".sl" for HP-UX), so rename the library | ||
6102 | - # to its proper name (with version) after linking. | ||
6103 | - _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' | ||
6104 | - | ||
6105 | - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' | ||
6106 | - _LT_TAGVAR(hardcode_libdir_separator, $1)=: | ||
6107 | - | ||
6108 | - # Archives containing C++ object files must be created using | ||
6109 | - # the KAI C++ compiler. | ||
6110 | - case $host in | ||
6111 | - osf3*) _LT_TAGVAR(old_archive_cmds, $1)='$CC -Bstatic -o $oldlib $oldobjs' ;; | ||
6112 | - *) _LT_TAGVAR(old_archive_cmds, $1)='$CC -o $oldlib $oldobjs' ;; | ||
6113 | - esac | ||
6114 | - ;; | ||
6115 | - RCC*) | ||
6116 | - # Rational C++ 2.4.1 | ||
6117 | - # FIXME: insert proper C++ library support | ||
6118 | - _LT_TAGVAR(ld_shlibs, $1)=no | ||
6119 | - ;; | ||
6120 | - cxx*) | ||
6121 | - case $host in | ||
6122 | - osf3*) | ||
6123 | - _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*' | ||
6124 | - _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $soname `test -n "$verstring" && $ECHO "X${wl}-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib' | ||
6125 | - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' | ||
6126 | - ;; | ||
6127 | - *) | ||
6128 | - _LT_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*' | ||
6129 | - _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib' | ||
6130 | - _LT_TAGVAR(archive_expsym_cmds, $1)='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done~ | ||
6131 | - echo "-hidden">> $lib.exp~ | ||
6132 | - $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 "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib~ | ||
6133 | - $RM $lib.exp' | ||
6134 | - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir' | ||
6135 | - ;; | ||
6136 | - esac | ||
6137 | - | ||
6138 | - _LT_TAGVAR(hardcode_libdir_separator, $1)=: | ||
6139 | - | ||
6140 | - # Commands to make compiler produce verbose output that lists | ||
6141 | - # what "hidden" libraries, object files and flags are used when | ||
6142 | - # linking a shared library. | ||
6143 | - # | ||
6144 | - # There doesn't appear to be a way to prevent this compiler from | ||
6145 | - # explicitly linking system object files so we need to strip them | ||
6146 | - # from the output so that they don't get included in the library | ||
6147 | - # dependencies. | ||
6148 | - output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "ld" | $GREP -v "ld:"`; templist=`$ECHO "X$templist" | $Xsed -e "s/\(^.*ld.*\)\( .*ld.*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; $ECHO "X$list" | $Xsed' | ||
6149 | - ;; | ||
6150 | - *) | ||
6151 | - if test "$GXX" = yes && test "$with_gnu_ld" = no; then | ||
6152 | - _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*' | ||
6153 | - case $host in | ||
6154 | - osf3*) | ||
6155 | - _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" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' | ||
6156 | - ;; | ||
6157 | - *) | ||
6158 | - _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' | ||
6159 | - ;; | ||
6160 | - esac | ||
6161 | - | ||
6162 | - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' | ||
6163 | - _LT_TAGVAR(hardcode_libdir_separator, $1)=: | ||
6164 | - | ||
6165 | - # Commands to make compiler produce verbose output that lists | ||
6166 | - # what "hidden" libraries, object files and flags are used when | ||
6167 | - # linking a shared library. | ||
6168 | - output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "\-L"' | ||
6169 | - | ||
6170 | - else | ||
6171 | - # FIXME: insert proper C++ library support | ||
6172 | - _LT_TAGVAR(ld_shlibs, $1)=no | ||
6173 | - fi | ||
6174 | - ;; | ||
6175 | - esac | ||
6176 | - ;; | ||
6177 | - | ||
6178 | - psos*) | ||
6179 | - # FIXME: insert proper C++ library support | ||
6180 | - _LT_TAGVAR(ld_shlibs, $1)=no | ||
6181 | - ;; | ||
6182 | - | ||
6183 | - sunos4*) | ||
6184 | - case $cc_basename in | ||
6185 | - CC*) | ||
6186 | - # Sun C++ 4.x | ||
6187 | - # FIXME: insert proper C++ library support | ||
6188 | - _LT_TAGVAR(ld_shlibs, $1)=no | ||
6189 | - ;; | ||
6190 | - lcc*) | ||
6191 | - # Lucid | ||
6192 | - # FIXME: insert proper C++ library support | ||
6193 | - _LT_TAGVAR(ld_shlibs, $1)=no | ||
6194 | - ;; | ||
6195 | - *) | ||
6196 | - # FIXME: insert proper C++ library support | ||
6197 | - _LT_TAGVAR(ld_shlibs, $1)=no | ||
6198 | - ;; | ||
6199 | - esac | ||
6200 | - ;; | ||
6201 | - | ||
6202 | - solaris*) | ||
6203 | - case $cc_basename in | ||
6204 | - CC*) | ||
6205 | - # Sun C++ 4.2, 5.x and Centerline C++ | ||
6206 | - _LT_TAGVAR(archive_cmds_need_lc,$1)=yes | ||
6207 | - _LT_TAGVAR(no_undefined_flag, $1)=' -zdefs' | ||
6208 | - _LT_TAGVAR(archive_cmds, $1)='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' | ||
6209 | - _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ | ||
6210 | - $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' | ||
6211 | - | ||
6212 | - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' | ||
6213 | - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no | ||
6214 | - case $host_os in | ||
6215 | - solaris2.[[0-5]] | solaris2.[[0-5]].*) ;; | ||
6216 | - *) | ||
6217 | - # The compiler driver will combine and reorder linker options, | ||
6218 | - # but understands `-z linker_flag'. | ||
6219 | - # Supported since Solaris 2.6 (maybe 2.5.1?) | ||
6220 | - _LT_TAGVAR(whole_archive_flag_spec, $1)='-z allextract$convenience -z defaultextract' | ||
6221 | - ;; | ||
6222 | - esac | ||
6223 | - _LT_TAGVAR(link_all_deplibs, $1)=yes | ||
6224 | - | ||
6225 | - output_verbose_link_cmd='echo' | ||
6226 | - | ||
6227 | - # Archives containing C++ object files must be created using | ||
6228 | - # "CC -xar", where "CC" is the Sun C++ compiler. This is | ||
6229 | - # necessary to make sure instantiated templates are included | ||
6230 | - # in the archive. | ||
6231 | - _LT_TAGVAR(old_archive_cmds, $1)='$CC -xar -o $oldlib $oldobjs' | ||
6232 | - ;; | ||
6233 | - gcx*) | ||
6234 | - # Green Hills C++ Compiler | ||
6235 | - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib' | ||
6236 | - | ||
6237 | - # The C++ compiler must be used to create the archive. | ||
6238 | - _LT_TAGVAR(old_archive_cmds, $1)='$CC $LDFLAGS -archive -o $oldlib $oldobjs' | ||
6239 | - ;; | ||
6240 | - *) | ||
6241 | - # GNU C++ compiler with Solaris linker | ||
6242 | - if test "$GXX" = yes && test "$with_gnu_ld" = no; then | ||
6243 | - _LT_TAGVAR(no_undefined_flag, $1)=' ${wl}-z ${wl}defs' | ||
6244 | - if $CC --version | $GREP -v '^2\.7' > /dev/null; then | ||
6245 | - _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib' | ||
6246 | - _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ | ||
6247 | - $CC -shared -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp' | ||
6248 | - | ||
6249 | - # Commands to make compiler produce verbose output that lists | ||
6250 | - # what "hidden" libraries, object files and flags are used when | ||
6251 | - # linking a shared library. | ||
6252 | - output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "\-L"' | ||
6253 | - else | ||
6254 | - # g++ 2.7 appears to require `-G' NOT `-shared' on this | ||
6255 | - # platform. | ||
6256 | - _LT_TAGVAR(archive_cmds, $1)='$CC -G -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib' | ||
6257 | - _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ | ||
6258 | - $CC -G -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp' | ||
6259 | - | ||
6260 | - # Commands to make compiler produce verbose output that lists | ||
6261 | - # what "hidden" libraries, object files and flags are used when | ||
6262 | - # linking a shared library. | ||
6263 | - output_verbose_link_cmd='$CC -G $CFLAGS -v conftest.$objext 2>&1 | $GREP "\-L"' | ||
6264 | - fi | ||
6265 | - | ||
6266 | - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $wl$libdir' | ||
6267 | - case $host_os in | ||
6268 | - solaris2.[[0-5]] | solaris2.[[0-5]].*) ;; | ||
6269 | - *) | ||
6270 | - _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract' | ||
6271 | - ;; | ||
6272 | - esac | ||
6273 | - fi | ||
6274 | - ;; | ||
6275 | - esac | ||
6276 | - ;; | ||
6277 | - | ||
6278 | - sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[[01]].[[10]]* | unixware7* | sco3.2v5.0.[[024]]*) | ||
6279 | - _LT_TAGVAR(no_undefined_flag, $1)='${wl}-z,text' | ||
6280 | - _LT_TAGVAR(archive_cmds_need_lc, $1)=no | ||
6281 | - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no | ||
6282 | - runpath_var='LD_RUN_PATH' | ||
6283 | - | ||
6284 | - case $cc_basename in | ||
6285 | - CC*) | ||
6286 | - _LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' | ||
6287 | - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' | ||
6288 | - ;; | ||
6289 | - *) | ||
6290 | - _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' | ||
6291 | - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' | ||
6292 | - ;; | ||
6293 | - esac | ||
6294 | - ;; | ||
6295 | - | ||
6296 | - sysv5* | sco3.2v5* | sco5v6*) | ||
6297 | - # Note: We can NOT use -z defs as we might desire, because we do not | ||
6298 | - # link with -lc, and that would cause any symbols used from libc to | ||
6299 | - # always be unresolved, which means just about no library would | ||
6300 | - # ever link correctly. If we're not using GNU ld we use -z text | ||
6301 | - # though, which does catch some bad symbols but isn't as heavy-handed | ||
6302 | - # as -z defs. | ||
6303 | - _LT_TAGVAR(no_undefined_flag, $1)='${wl}-z,text' | ||
6304 | - _LT_TAGVAR(allow_undefined_flag, $1)='${wl}-z,nodefs' | ||
6305 | - _LT_TAGVAR(archive_cmds_need_lc, $1)=no | ||
6306 | - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no | ||
6307 | - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R,$libdir' | ||
6308 | - _LT_TAGVAR(hardcode_libdir_separator, $1)=':' | ||
6309 | - _LT_TAGVAR(link_all_deplibs, $1)=yes | ||
6310 | - _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-Bexport' | ||
6311 | - runpath_var='LD_RUN_PATH' | ||
6312 | - | ||
6313 | - case $cc_basename in | ||
6314 | - CC*) | ||
6315 | - _LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' | ||
6316 | - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' | ||
6317 | - ;; | ||
6318 | - *) | ||
6319 | - _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' | ||
6320 | - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' | ||
6321 | - ;; | ||
6322 | - esac | ||
6323 | - ;; | ||
6324 | - | ||
6325 | - tandem*) | ||
6326 | - case $cc_basename in | ||
6327 | - NCC*) | ||
6328 | - # NonStop-UX NCC 3.20 | ||
6329 | - # FIXME: insert proper C++ library support | ||
6330 | - _LT_TAGVAR(ld_shlibs, $1)=no | ||
6331 | - ;; | ||
6332 | - *) | ||
6333 | - # FIXME: insert proper C++ library support | ||
6334 | - _LT_TAGVAR(ld_shlibs, $1)=no | ||
6335 | - ;; | ||
6336 | - esac | ||
6337 | - ;; | ||
6338 | - | ||
6339 | - vxworks*) | ||
6340 | - # FIXME: insert proper C++ library support | ||
6341 | - _LT_TAGVAR(ld_shlibs, $1)=no | ||
6342 | - ;; | ||
6343 | - | ||
6344 | - *) | ||
6345 | - # FIXME: insert proper C++ library support | ||
6346 | - _LT_TAGVAR(ld_shlibs, $1)=no | ||
6347 | - ;; | ||
6348 | - esac | ||
6349 | - | ||
6350 | - AC_MSG_RESULT([$_LT_TAGVAR(ld_shlibs, $1)]) | ||
6351 | - test "$_LT_TAGVAR(ld_shlibs, $1)" = no && can_build_shared=no | ||
6352 | - | ||
6353 | - _LT_TAGVAR(GCC, $1)="$GXX" | ||
6354 | - _LT_TAGVAR(LD, $1)="$LD" | ||
6355 | - | ||
6356 | - ## CAVEAT EMPTOR: | ||
6357 | - ## There is no encapsulation within the following macros, do not change | ||
6358 | - ## the running order or otherwise move them around unless you know exactly | ||
6359 | - ## what you are doing... | ||
6360 | - _LT_SYS_HIDDEN_LIBDEPS($1) | ||
6361 | - _LT_COMPILER_PIC($1) | ||
6362 | - _LT_COMPILER_C_O($1) | ||
6363 | - _LT_COMPILER_FILE_LOCKS($1) | ||
6364 | - _LT_LINKER_SHLIBS($1) | ||
6365 | - _LT_SYS_DYNAMIC_LINKER($1) | ||
6366 | - _LT_LINKER_HARDCODE_LIBPATH($1) | ||
6367 | - | ||
6368 | - _LT_CONFIG($1) | ||
6369 | - fi # test -n "$compiler" | ||
6370 | - | ||
6371 | - CC=$lt_save_CC | ||
6372 | - LDCXX=$LD | ||
6373 | - LD=$lt_save_LD | ||
6374 | - GCC=$lt_save_GCC | ||
6375 | - with_gnu_ld=$lt_save_with_gnu_ld | ||
6376 | - lt_cv_path_LDCXX=$lt_cv_path_LD | ||
6377 | - lt_cv_path_LD=$lt_save_path_LD | ||
6378 | - lt_cv_prog_gnu_ldcxx=$lt_cv_prog_gnu_ld | ||
6379 | - lt_cv_prog_gnu_ld=$lt_save_with_gnu_ld | ||
6380 | -fi # test "$_lt_caught_CXX_error" != yes | ||
6381 | - | ||
6382 | -AC_LANG_POP | ||
6383 | -])# _LT_LANG_CXX_CONFIG | ||
6384 | - | ||
6385 | - | ||
6386 | -# _LT_SYS_HIDDEN_LIBDEPS([TAGNAME]) | ||
6387 | -# --------------------------------- | ||
6388 | -# Figure out "hidden" library dependencies from verbose | ||
6389 | -# compiler output when linking a shared library. | ||
6390 | -# Parse the compiler output and extract the necessary | ||
6391 | -# objects, libraries and library flags. | ||
6392 | -m4_defun([_LT_SYS_HIDDEN_LIBDEPS], | ||
6393 | -[m4_require([_LT_FILEUTILS_DEFAULTS])dnl | ||
6394 | -# Dependencies to place before and after the object being linked: | ||
6395 | -_LT_TAGVAR(predep_objects, $1)= | ||
6396 | -_LT_TAGVAR(postdep_objects, $1)= | ||
6397 | -_LT_TAGVAR(predeps, $1)= | ||
6398 | -_LT_TAGVAR(postdeps, $1)= | ||
6399 | -_LT_TAGVAR(compiler_lib_search_path, $1)= | ||
6400 | - | ||
6401 | -dnl we can't use the lt_simple_compile_test_code here, | ||
6402 | -dnl because it contains code intended for an executable, | ||
6403 | -dnl not a library. It's possible we should let each | ||
6404 | -dnl tag define a new lt_????_link_test_code variable, | ||
6405 | -dnl but it's only used here... | ||
6406 | -m4_if([$1], [], [cat > conftest.$ac_ext <<_LT_EOF | ||
6407 | -int a; | ||
6408 | -void foo (void) { a = 0; } | ||
6409 | -_LT_EOF | ||
6410 | -], [$1], [CXX], [cat > conftest.$ac_ext <<_LT_EOF | ||
6411 | -class Foo | ||
6412 | -{ | ||
6413 | -public: | ||
6414 | - Foo (void) { a = 0; } | ||
6415 | -private: | ||
6416 | - int a; | ||
6417 | -}; | ||
6418 | -_LT_EOF | ||
6419 | -], [$1], [F77], [cat > conftest.$ac_ext <<_LT_EOF | ||
6420 | - subroutine foo | ||
6421 | - implicit none | ||
6422 | - integer*4 a | ||
6423 | - a=0 | ||
6424 | - return | ||
6425 | - end | ||
6426 | -_LT_EOF | ||
6427 | -], [$1], [FC], [cat > conftest.$ac_ext <<_LT_EOF | ||
6428 | - subroutine foo | ||
6429 | - implicit none | ||
6430 | - integer a | ||
6431 | - a=0 | ||
6432 | - return | ||
6433 | - end | ||
6434 | -_LT_EOF | ||
6435 | -], [$1], [GCJ], [cat > conftest.$ac_ext <<_LT_EOF | ||
6436 | -public class foo { | ||
6437 | - private int a; | ||
6438 | - public void bar (void) { | ||
6439 | - a = 0; | ||
6440 | - } | ||
6441 | -}; | ||
6442 | -_LT_EOF | ||
6443 | -]) | ||
6444 | -dnl Parse the compiler output and extract the necessary | ||
6445 | -dnl objects, libraries and library flags. | ||
6446 | -if AC_TRY_EVAL(ac_compile); then | ||
6447 | - # Parse the compiler output and extract the necessary | ||
6448 | - # objects, libraries and library flags. | ||
6449 | - | ||
6450 | - # Sentinel used to keep track of whether or not we are before | ||
6451 | - # the conftest object file. | ||
6452 | - pre_test_object_deps_done=no | ||
6453 | - | ||
6454 | - for p in `eval "$output_verbose_link_cmd"`; do | ||
6455 | - case $p in | ||
6456 | - | ||
6457 | - -L* | -R* | -l*) | ||
6458 | - # Some compilers place space between "-{L,R}" and the path. | ||
6459 | - # Remove the space. | ||
6460 | - if test $p = "-L" || | ||
6461 | - test $p = "-R"; then | ||
6462 | - prev=$p | ||
6463 | - continue | ||
6464 | - else | ||
6465 | - prev= | ||
6466 | - fi | ||
6467 | - | ||
6468 | - if test "$pre_test_object_deps_done" = no; then | ||
6469 | - case $p in | ||
6470 | - -L* | -R*) | ||
6471 | - # Internal compiler library paths should come after those | ||
6472 | - # provided the user. The postdeps already come after the | ||
6473 | - # user supplied libs so there is no need to process them. | ||
6474 | - if test -z "$_LT_TAGVAR(compiler_lib_search_path, $1)"; then | ||
6475 | - _LT_TAGVAR(compiler_lib_search_path, $1)="${prev}${p}" | ||
6476 | - else | ||
6477 | - _LT_TAGVAR(compiler_lib_search_path, $1)="${_LT_TAGVAR(compiler_lib_search_path, $1)} ${prev}${p}" | ||
6478 | - fi | ||
6479 | - ;; | ||
6480 | - # The "-l" case would never come before the object being | ||
6481 | - # linked, so don't bother handling this case. | ||
6482 | - esac | ||
6483 | - else | ||
6484 | - if test -z "$_LT_TAGVAR(postdeps, $1)"; then | ||
6485 | - _LT_TAGVAR(postdeps, $1)="${prev}${p}" | ||
6486 | - else | ||
6487 | - _LT_TAGVAR(postdeps, $1)="${_LT_TAGVAR(postdeps, $1)} ${prev}${p}" | ||
6488 | - fi | ||
6489 | - fi | ||
6490 | - ;; | ||
6491 | - | ||
6492 | - *.$objext) | ||
6493 | - # This assumes that the test object file only shows up | ||
6494 | - # once in the compiler output. | ||
6495 | - if test "$p" = "conftest.$objext"; then | ||
6496 | - pre_test_object_deps_done=yes | ||
6497 | - continue | ||
6498 | - fi | ||
6499 | - | ||
6500 | - if test "$pre_test_object_deps_done" = no; then | ||
6501 | - if test -z "$_LT_TAGVAR(predep_objects, $1)"; then | ||
6502 | - _LT_TAGVAR(predep_objects, $1)="$p" | ||
6503 | - else | ||
6504 | - _LT_TAGVAR(predep_objects, $1)="$_LT_TAGVAR(predep_objects, $1) $p" | ||
6505 | - fi | ||
6506 | - else | ||
6507 | - if test -z "$_LT_TAGVAR(postdep_objects, $1)"; then | ||
6508 | - _LT_TAGVAR(postdep_objects, $1)="$p" | ||
6509 | - else | ||
6510 | - _LT_TAGVAR(postdep_objects, $1)="$_LT_TAGVAR(postdep_objects, $1) $p" | ||
6511 | - fi | ||
6512 | - fi | ||
6513 | - ;; | ||
6514 | - | ||
6515 | - *) ;; # Ignore the rest. | ||
6516 | - | ||
6517 | - esac | ||
6518 | - done | ||
6519 | - | ||
6520 | - # Clean up. | ||
6521 | - rm -f a.out a.exe | ||
6522 | -else | ||
6523 | - echo "libtool.m4: error: problem compiling $1 test program" | ||
6524 | -fi | ||
6525 | - | ||
6526 | -$RM -f confest.$objext | ||
6527 | - | ||
6528 | -# PORTME: override above test on systems where it is broken | ||
6529 | -m4_if([$1], [CXX], | ||
6530 | -[case $host_os in | ||
6531 | -interix[[3-9]]*) | ||
6532 | - # Interix 3.5 installs completely hosed .la files for C++, so rather than | ||
6533 | - # hack all around it, let's just trust "g++" to DTRT. | ||
6534 | - _LT_TAGVAR(predep_objects,$1)= | ||
6535 | - _LT_TAGVAR(postdep_objects,$1)= | ||
6536 | - _LT_TAGVAR(postdeps,$1)= | ||
6537 | - ;; | ||
6538 | - | ||
6539 | -linux*) | ||
6540 | - case `$CC -V 2>&1 | sed 5q` in | ||
6541 | - *Sun\ C*) | ||
6542 | - # Sun C++ 5.9 | ||
6543 | - | ||
6544 | - # The more standards-conforming stlport4 library is | ||
6545 | - # incompatible with the Cstd library. Avoid specifying | ||
6546 | - # it if it's in CXXFLAGS. Ignore libCrun as | ||
6547 | - # -library=stlport4 depends on it. | ||
6548 | - case " $CXX $CXXFLAGS " in | ||
6549 | - *" -library=stlport4 "*) | ||
6550 | - solaris_use_stlport4=yes | ||
6551 | - ;; | ||
6552 | - esac | ||
6553 | - | ||
6554 | - if test "$solaris_use_stlport4" != yes; then | ||
6555 | - _LT_TAGVAR(postdeps,$1)='-library=Cstd -library=Crun' | ||
6556 | - fi | ||
6557 | - ;; | ||
6558 | - esac | ||
6559 | - ;; | ||
6560 | - | ||
6561 | -solaris*) | ||
6562 | - case $cc_basename in | ||
6563 | - CC*) | ||
6564 | - # The more standards-conforming stlport4 library is | ||
6565 | - # incompatible with the Cstd library. Avoid specifying | ||
6566 | - # it if it's in CXXFLAGS. Ignore libCrun as | ||
6567 | - # -library=stlport4 depends on it. | ||
6568 | - case " $CXX $CXXFLAGS " in | ||
6569 | - *" -library=stlport4 "*) | ||
6570 | - solaris_use_stlport4=yes | ||
6571 | - ;; | ||
6572 | - esac | ||
6573 | - | ||
6574 | - # Adding this requires a known-good setup of shared libraries for | ||
6575 | - # Sun compiler versions before 5.6, else PIC objects from an old | ||
6576 | - # archive will be linked into the output, leading to subtle bugs. | ||
6577 | - if test "$solaris_use_stlport4" != yes; then | ||
6578 | - _LT_TAGVAR(postdeps,$1)='-library=Cstd -library=Crun' | ||
6579 | - fi | ||
6580 | - ;; | ||
6581 | - esac | ||
6582 | - ;; | ||
6583 | -esac | ||
6584 | -]) | ||
6585 | - | ||
6586 | -case " $_LT_TAGVAR(postdeps, $1) " in | ||
6587 | -*" -lc "*) _LT_TAGVAR(archive_cmds_need_lc, $1)=no ;; | ||
6588 | -esac | ||
6589 | - _LT_TAGVAR(compiler_lib_search_dirs, $1)= | ||
6590 | -if test -n "${_LT_TAGVAR(compiler_lib_search_path, $1)}"; then | ||
6591 | - _LT_TAGVAR(compiler_lib_search_dirs, $1)=`echo " ${_LT_TAGVAR(compiler_lib_search_path, $1)}" | ${SED} -e 's! -L! !g' -e 's!^ !!'` | ||
6592 | -fi | ||
6593 | -_LT_TAGDECL([], [compiler_lib_search_dirs], [1], | ||
6594 | - [The directories searched by this compiler when creating a shared library]) | ||
6595 | -_LT_TAGDECL([], [predep_objects], [1], | ||
6596 | - [Dependencies to place before and after the objects being linked to | ||
6597 | - create a shared library]) | ||
6598 | -_LT_TAGDECL([], [postdep_objects], [1]) | ||
6599 | -_LT_TAGDECL([], [predeps], [1]) | ||
6600 | -_LT_TAGDECL([], [postdeps], [1]) | ||
6601 | -_LT_TAGDECL([], [compiler_lib_search_path], [1], | ||
6602 | - [The library search path used internally by the compiler when linking | ||
6603 | - a shared library]) | ||
6604 | -])# _LT_SYS_HIDDEN_LIBDEPS | ||
6605 | - | ||
6606 | - | ||
6607 | -# _LT_PROG_F77 | ||
6608 | -# ------------ | ||
6609 | -# Since AC_PROG_F77 is broken, in that it returns the empty string | ||
6610 | -# if there is no fortran compiler, we have our own version here. | ||
6611 | -m4_defun([_LT_PROG_F77], | ||
6612 | -[ | ||
6613 | -pushdef([AC_MSG_ERROR], [_lt_disable_F77=yes]) | ||
6614 | -AC_PROG_F77 | ||
6615 | -if test -z "$F77" || test "X$F77" = "Xno"; then | ||
6616 | - _lt_disable_F77=yes | ||
6617 | -fi | ||
6618 | -popdef([AC_MSG_ERROR]) | ||
6619 | -])# _LT_PROG_F77 | ||
6620 | - | ||
6621 | -dnl aclocal-1.4 backwards compatibility: | ||
6622 | -dnl AC_DEFUN([_LT_PROG_F77], []) | ||
6623 | - | ||
6624 | - | ||
6625 | -# _LT_LANG_F77_CONFIG([TAG]) | ||
6626 | -# -------------------------- | ||
6627 | -# Ensure that the configuration variables for a Fortran 77 compiler are | ||
6628 | -# suitably defined. These variables are subsequently used by _LT_CONFIG | ||
6629 | -# to write the compiler configuration to `libtool'. | ||
6630 | -m4_defun([_LT_LANG_F77_CONFIG], | ||
6631 | -[AC_REQUIRE([_LT_PROG_F77])dnl | ||
6632 | -AC_LANG_PUSH(Fortran 77) | ||
6633 | - | ||
6634 | -_LT_TAGVAR(archive_cmds_need_lc, $1)=no | ||
6635 | -_LT_TAGVAR(allow_undefined_flag, $1)= | ||
6636 | -_LT_TAGVAR(always_export_symbols, $1)=no | ||
6637 | -_LT_TAGVAR(archive_expsym_cmds, $1)= | ||
6638 | -_LT_TAGVAR(export_dynamic_flag_spec, $1)= | ||
6639 | -_LT_TAGVAR(hardcode_direct, $1)=no | ||
6640 | -_LT_TAGVAR(hardcode_direct_absolute, $1)=no | ||
6641 | -_LT_TAGVAR(hardcode_libdir_flag_spec, $1)= | ||
6642 | -_LT_TAGVAR(hardcode_libdir_flag_spec_ld, $1)= | ||
6643 | -_LT_TAGVAR(hardcode_libdir_separator, $1)= | ||
6644 | -_LT_TAGVAR(hardcode_minus_L, $1)=no | ||
6645 | -_LT_TAGVAR(hardcode_automatic, $1)=no | ||
6646 | -_LT_TAGVAR(inherit_rpath, $1)=no | ||
6647 | -_LT_TAGVAR(module_cmds, $1)= | ||
6648 | -_LT_TAGVAR(module_expsym_cmds, $1)= | ||
6649 | -_LT_TAGVAR(link_all_deplibs, $1)=unknown | ||
6650 | -_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds | ||
6651 | -_LT_TAGVAR(no_undefined_flag, $1)= | ||
6652 | -_LT_TAGVAR(whole_archive_flag_spec, $1)= | ||
6653 | -_LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no | ||
6654 | - | ||
6655 | -# Source file extension for f77 test sources. | ||
6656 | -ac_ext=f | ||
6657 | - | ||
6658 | -# Object file extension for compiled f77 test sources. | ||
6659 | -objext=o | ||
6660 | -_LT_TAGVAR(objext, $1)=$objext | ||
6661 | - | ||
6662 | -# No sense in running all these tests if we already determined that | ||
6663 | -# the F77 compiler isn't working. Some variables (like enable_shared) | ||
6664 | -# are currently assumed to apply to all compilers on this platform, | ||
6665 | -# and will be corrupted by setting them based on a non-working compiler. | ||
6666 | -if test "$_lt_disable_F77" != yes; then | ||
6667 | - # Code to be used in simple compile tests | ||
6668 | - lt_simple_compile_test_code="\ | ||
6669 | - subroutine t | ||
6670 | - return | ||
6671 | - end | ||
6672 | -" | ||
6673 | - | ||
6674 | - # Code to be used in simple link tests | ||
6675 | - lt_simple_link_test_code="\ | ||
6676 | - program t | ||
6677 | - end | ||
6678 | -" | ||
6679 | - | ||
6680 | - # ltmain only uses $CC for tagged configurations so make sure $CC is set. | ||
6681 | - _LT_TAG_COMPILER | ||
6682 | - | ||
6683 | - # save warnings/boilerplate of simple test code | ||
6684 | - _LT_COMPILER_BOILERPLATE | ||
6685 | - _LT_LINKER_BOILERPLATE | ||
6686 | - | ||
6687 | - # Allow CC to be a program name with arguments. | ||
6688 | - lt_save_CC="$CC" | ||
6689 | - lt_save_GCC=$GCC | ||
6690 | - CC=${F77-"f77"} | ||
6691 | - compiler=$CC | ||
6692 | - _LT_TAGVAR(compiler, $1)=$CC | ||
6693 | - _LT_CC_BASENAME([$compiler]) | ||
6694 | - GCC=$G77 | ||
6695 | - if test -n "$compiler"; then | ||
6696 | - AC_MSG_CHECKING([if libtool supports shared libraries]) | ||
6697 | - AC_MSG_RESULT([$can_build_shared]) | ||
6698 | - | ||
6699 | - AC_MSG_CHECKING([whether to build shared libraries]) | ||
6700 | - test "$can_build_shared" = "no" && enable_shared=no | ||
6701 | - | ||
6702 | - # On AIX, shared libraries and static libraries use the same namespace, and | ||
6703 | - # are all built from PIC. | ||
6704 | - case $host_os in | ||
6705 | - aix3*) | ||
6706 | - test "$enable_shared" = yes && enable_static=no | ||
6707 | - if test -n "$RANLIB"; then | ||
6708 | - archive_cmds="$archive_cmds~\$RANLIB \$lib" | ||
6709 | - postinstall_cmds='$RANLIB $lib' | ||
6710 | - fi | ||
6711 | - ;; | ||
6712 | - aix[[4-9]]*) | ||
6713 | - if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then | ||
6714 | - test "$enable_shared" = yes && enable_static=no | ||
6715 | - fi | ||
6716 | - ;; | ||
6717 | - esac | ||
6718 | - AC_MSG_RESULT([$enable_shared]) | ||
6719 | - | ||
6720 | - AC_MSG_CHECKING([whether to build static libraries]) | ||
6721 | - # Make sure either enable_shared or enable_static is yes. | ||
6722 | - test "$enable_shared" = yes || enable_static=yes | ||
6723 | - AC_MSG_RESULT([$enable_static]) | ||
6724 | - | ||
6725 | - _LT_TAGVAR(GCC, $1)="$G77" | ||
6726 | - _LT_TAGVAR(LD, $1)="$LD" | ||
6727 | - | ||
6728 | - ## CAVEAT EMPTOR: | ||
6729 | - ## There is no encapsulation within the following macros, do not change | ||
6730 | - ## the running order or otherwise move them around unless you know exactly | ||
6731 | - ## what you are doing... | ||
6732 | - _LT_COMPILER_PIC($1) | ||
6733 | - _LT_COMPILER_C_O($1) | ||
6734 | - _LT_COMPILER_FILE_LOCKS($1) | ||
6735 | - _LT_LINKER_SHLIBS($1) | ||
6736 | - _LT_SYS_DYNAMIC_LINKER($1) | ||
6737 | - _LT_LINKER_HARDCODE_LIBPATH($1) | ||
6738 | - | ||
6739 | - _LT_CONFIG($1) | ||
6740 | - fi # test -n "$compiler" | ||
6741 | - | ||
6742 | - GCC=$lt_save_GCC | ||
6743 | - CC="$lt_save_CC" | ||
6744 | -fi # test "$_lt_disable_F77" != yes | ||
6745 | - | ||
6746 | -AC_LANG_POP | ||
6747 | -])# _LT_LANG_F77_CONFIG | ||
6748 | - | ||
6749 | - | ||
6750 | -# _LT_PROG_FC | ||
6751 | -# ----------- | ||
6752 | -# Since AC_PROG_FC is broken, in that it returns the empty string | ||
6753 | -# if there is no fortran compiler, we have our own version here. | ||
6754 | -m4_defun([_LT_PROG_FC], | ||
6755 | -[ | ||
6756 | -pushdef([AC_MSG_ERROR], [_lt_disable_FC=yes]) | ||
6757 | -AC_PROG_FC | ||
6758 | -if test -z "$FC" || test "X$FC" = "Xno"; then | ||
6759 | - _lt_disable_FC=yes | ||
6760 | -fi | ||
6761 | -popdef([AC_MSG_ERROR]) | ||
6762 | -])# _LT_PROG_FC | ||
6763 | - | ||
6764 | -dnl aclocal-1.4 backwards compatibility: | ||
6765 | -dnl AC_DEFUN([_LT_PROG_FC], []) | ||
6766 | - | ||
6767 | - | ||
6768 | -# _LT_LANG_FC_CONFIG([TAG]) | ||
6769 | -# ------------------------- | ||
6770 | -# Ensure that the configuration variables for a Fortran compiler are | ||
6771 | -# suitably defined. These variables are subsequently used by _LT_CONFIG | ||
6772 | -# to write the compiler configuration to `libtool'. | ||
6773 | -m4_defun([_LT_LANG_FC_CONFIG], | ||
6774 | -[AC_REQUIRE([_LT_PROG_FC])dnl | ||
6775 | -AC_LANG_PUSH(Fortran) | ||
6776 | - | ||
6777 | -_LT_TAGVAR(archive_cmds_need_lc, $1)=no | ||
6778 | -_LT_TAGVAR(allow_undefined_flag, $1)= | ||
6779 | -_LT_TAGVAR(always_export_symbols, $1)=no | ||
6780 | -_LT_TAGVAR(archive_expsym_cmds, $1)= | ||
6781 | -_LT_TAGVAR(export_dynamic_flag_spec, $1)= | ||
6782 | -_LT_TAGVAR(hardcode_direct, $1)=no | ||
6783 | -_LT_TAGVAR(hardcode_direct_absolute, $1)=no | ||
6784 | -_LT_TAGVAR(hardcode_libdir_flag_spec, $1)= | ||
6785 | -_LT_TAGVAR(hardcode_libdir_flag_spec_ld, $1)= | ||
6786 | -_LT_TAGVAR(hardcode_libdir_separator, $1)= | ||
6787 | -_LT_TAGVAR(hardcode_minus_L, $1)=no | ||
6788 | -_LT_TAGVAR(hardcode_automatic, $1)=no | ||
6789 | -_LT_TAGVAR(inherit_rpath, $1)=no | ||
6790 | -_LT_TAGVAR(module_cmds, $1)= | ||
6791 | -_LT_TAGVAR(module_expsym_cmds, $1)= | ||
6792 | -_LT_TAGVAR(link_all_deplibs, $1)=unknown | ||
6793 | -_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds | ||
6794 | -_LT_TAGVAR(no_undefined_flag, $1)= | ||
6795 | -_LT_TAGVAR(whole_archive_flag_spec, $1)= | ||
6796 | -_LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no | ||
6797 | - | ||
6798 | -# Source file extension for fc test sources. | ||
6799 | -ac_ext=${ac_fc_srcext-f} | ||
6800 | - | ||
6801 | -# Object file extension for compiled fc test sources. | ||
6802 | -objext=o | ||
6803 | -_LT_TAGVAR(objext, $1)=$objext | ||
6804 | - | ||
6805 | -# No sense in running all these tests if we already determined that | ||
6806 | -# the FC compiler isn't working. Some variables (like enable_shared) | ||
6807 | -# are currently assumed to apply to all compilers on this platform, | ||
6808 | -# and will be corrupted by setting them based on a non-working compiler. | ||
6809 | -if test "$_lt_disable_FC" != yes; then | ||
6810 | - # Code to be used in simple compile tests | ||
6811 | - lt_simple_compile_test_code="\ | ||
6812 | - subroutine t | ||
6813 | - return | ||
6814 | - end | ||
6815 | -" | ||
6816 | - | ||
6817 | - # Code to be used in simple link tests | ||
6818 | - lt_simple_link_test_code="\ | ||
6819 | - program t | ||
6820 | - end | ||
6821 | -" | ||
6822 | - | ||
6823 | - # ltmain only uses $CC for tagged configurations so make sure $CC is set. | ||
6824 | - _LT_TAG_COMPILER | ||
6825 | - | ||
6826 | - # save warnings/boilerplate of simple test code | ||
6827 | - _LT_COMPILER_BOILERPLATE | ||
6828 | - _LT_LINKER_BOILERPLATE | ||
6829 | - | ||
6830 | - # Allow CC to be a program name with arguments. | ||
6831 | - lt_save_CC="$CC" | ||
6832 | - lt_save_GCC=$GCC | ||
6833 | - CC=${FC-"f95"} | ||
6834 | - compiler=$CC | ||
6835 | - GCC=$ac_cv_fc_compiler_gnu | ||
6836 | - | ||
6837 | - _LT_TAGVAR(compiler, $1)=$CC | ||
6838 | - _LT_CC_BASENAME([$compiler]) | ||
6839 | - | ||
6840 | - if test -n "$compiler"; then | ||
6841 | - AC_MSG_CHECKING([if libtool supports shared libraries]) | ||
6842 | - AC_MSG_RESULT([$can_build_shared]) | ||
6843 | - | ||
6844 | - AC_MSG_CHECKING([whether to build shared libraries]) | ||
6845 | - test "$can_build_shared" = "no" && enable_shared=no | ||
6846 | - | ||
6847 | - # On AIX, shared libraries and static libraries use the same namespace, and | ||
6848 | - # are all built from PIC. | ||
6849 | - case $host_os in | ||
6850 | - aix3*) | ||
6851 | - test "$enable_shared" = yes && enable_static=no | ||
6852 | - if test -n "$RANLIB"; then | ||
6853 | - archive_cmds="$archive_cmds~\$RANLIB \$lib" | ||
6854 | - postinstall_cmds='$RANLIB $lib' | ||
6855 | - fi | ||
6856 | - ;; | ||
6857 | - aix[[4-9]]*) | ||
6858 | - if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then | ||
6859 | - test "$enable_shared" = yes && enable_static=no | ||
6860 | - fi | ||
6861 | - ;; | ||
6862 | - esac | ||
6863 | - AC_MSG_RESULT([$enable_shared]) | ||
6864 | - | ||
6865 | - AC_MSG_CHECKING([whether to build static libraries]) | ||
6866 | - # Make sure either enable_shared or enable_static is yes. | ||
6867 | - test "$enable_shared" = yes || enable_static=yes | ||
6868 | - AC_MSG_RESULT([$enable_static]) | ||
6869 | - | ||
6870 | - _LT_TAGVAR(GCC, $1)="$ac_cv_fc_compiler_gnu" | ||
6871 | - _LT_TAGVAR(LD, $1)="$LD" | ||
6872 | - | ||
6873 | - ## CAVEAT EMPTOR: | ||
6874 | - ## There is no encapsulation within the following macros, do not change | ||
6875 | - ## the running order or otherwise move them around unless you know exactly | ||
6876 | - ## what you are doing... | ||
6877 | - _LT_SYS_HIDDEN_LIBDEPS($1) | ||
6878 | - _LT_COMPILER_PIC($1) | ||
6879 | - _LT_COMPILER_C_O($1) | ||
6880 | - _LT_COMPILER_FILE_LOCKS($1) | ||
6881 | - _LT_LINKER_SHLIBS($1) | ||
6882 | - _LT_SYS_DYNAMIC_LINKER($1) | ||
6883 | - _LT_LINKER_HARDCODE_LIBPATH($1) | ||
6884 | - | ||
6885 | - _LT_CONFIG($1) | ||
6886 | - fi # test -n "$compiler" | ||
6887 | - | ||
6888 | - GCC=$lt_save_GCC | ||
6889 | - CC="$lt_save_CC" | ||
6890 | -fi # test "$_lt_disable_FC" != yes | ||
6891 | - | ||
6892 | -AC_LANG_POP | ||
6893 | -])# _LT_LANG_FC_CONFIG | ||
6894 | - | ||
6895 | - | ||
6896 | -# _LT_LANG_GCJ_CONFIG([TAG]) | ||
6897 | -# -------------------------- | ||
6898 | -# Ensure that the configuration variables for the GNU Java Compiler compiler | ||
6899 | -# are suitably defined. These variables are subsequently used by _LT_CONFIG | ||
6900 | -# to write the compiler configuration to `libtool'. | ||
6901 | -m4_defun([_LT_LANG_GCJ_CONFIG], | ||
6902 | -[AC_REQUIRE([LT_PROG_GCJ])dnl | ||
6903 | -AC_LANG_SAVE | ||
6904 | - | ||
6905 | -# Source file extension for Java test sources. | ||
6906 | -ac_ext=java | ||
6907 | - | ||
6908 | -# Object file extension for compiled Java test sources. | ||
6909 | -objext=o | ||
6910 | -_LT_TAGVAR(objext, $1)=$objext | ||
6911 | - | ||
6912 | -# Code to be used in simple compile tests | ||
6913 | -lt_simple_compile_test_code="class foo {}" | ||
6914 | - | ||
6915 | -# Code to be used in simple link tests | ||
6916 | -lt_simple_link_test_code='public class conftest { public static void main(String[[]] argv) {}; }' | ||
6917 | - | ||
6918 | -# ltmain only uses $CC for tagged configurations so make sure $CC is set. | ||
6919 | -_LT_TAG_COMPILER | ||
6920 | - | ||
6921 | -# save warnings/boilerplate of simple test code | ||
6922 | -_LT_COMPILER_BOILERPLATE | ||
6923 | -_LT_LINKER_BOILERPLATE | ||
6924 | - | ||
6925 | -# Allow CC to be a program name with arguments. | ||
6926 | -lt_save_CC="$CC" | ||
6927 | -lt_save_GCC=$GCC | ||
6928 | -GCC=yes | ||
6929 | -CC=${GCJ-"gcj"} | ||
6930 | -compiler=$CC | ||
6931 | -_LT_TAGVAR(compiler, $1)=$CC | ||
6932 | -_LT_TAGVAR(LD, $1)="$LD" | ||
6933 | -_LT_CC_BASENAME([$compiler]) | ||
6934 | - | ||
6935 | -# GCJ did not exist at the time GCC didn't implicitly link libc in. | ||
6936 | -_LT_TAGVAR(archive_cmds_need_lc, $1)=no | ||
6937 | - | ||
6938 | -_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds | ||
6939 | - | ||
6940 | -## CAVEAT EMPTOR: | ||
6941 | -## There is no encapsulation within the following macros, do not change | ||
6942 | -## the running order or otherwise move them around unless you know exactly | ||
6943 | -## what you are doing... | ||
6944 | -if test -n "$compiler"; then | ||
6945 | - _LT_COMPILER_NO_RTTI($1) | ||
6946 | - _LT_COMPILER_PIC($1) | ||
6947 | - _LT_COMPILER_C_O($1) | ||
6948 | - _LT_COMPILER_FILE_LOCKS($1) | ||
6949 | - _LT_LINKER_SHLIBS($1) | ||
6950 | - _LT_LINKER_HARDCODE_LIBPATH($1) | ||
6951 | - | ||
6952 | - _LT_CONFIG($1) | ||
6953 | -fi | ||
6954 | - | ||
6955 | -AC_LANG_RESTORE | ||
6956 | - | ||
6957 | -GCC=$lt_save_GCC | ||
6958 | -CC="$lt_save_CC" | ||
6959 | -])# _LT_LANG_GCJ_CONFIG | ||
6960 | - | ||
6961 | - | ||
6962 | -# _LT_LANG_RC_CONFIG([TAG]) | ||
6963 | -# ------------------------- | ||
6964 | -# Ensure that the configuration variables for the Windows resource compiler | ||
6965 | -# are suitably defined. These variables are subsequently used by _LT_CONFIG | ||
6966 | -# to write the compiler configuration to `libtool'. | ||
6967 | -m4_defun([_LT_LANG_RC_CONFIG], | ||
6968 | -[AC_REQUIRE([LT_PROG_RC])dnl | ||
6969 | -AC_LANG_SAVE | ||
6970 | - | ||
6971 | -# Source file extension for RC test sources. | ||
6972 | -ac_ext=rc | ||
6973 | - | ||
6974 | -# Object file extension for compiled RC test sources. | ||
6975 | -objext=o | ||
6976 | -_LT_TAGVAR(objext, $1)=$objext | ||
6977 | - | ||
6978 | -# Code to be used in simple compile tests | ||
6979 | -lt_simple_compile_test_code='sample MENU { MENUITEM "&Soup", 100, CHECKED }' | ||
6980 | - | ||
6981 | -# Code to be used in simple link tests | ||
6982 | -lt_simple_link_test_code="$lt_simple_compile_test_code" | ||
6983 | - | ||
6984 | -# ltmain only uses $CC for tagged configurations so make sure $CC is set. | ||
6985 | -_LT_TAG_COMPILER | ||
6986 | - | ||
6987 | -# save warnings/boilerplate of simple test code | ||
6988 | -_LT_COMPILER_BOILERPLATE | ||
6989 | -_LT_LINKER_BOILERPLATE | ||
6990 | - | ||
6991 | -# Allow CC to be a program name with arguments. | ||
6992 | -lt_save_CC="$CC" | ||
6993 | -lt_save_GCC=$GCC | ||
6994 | -GCC= | ||
6995 | -CC=${RC-"windres"} | ||
6996 | -compiler=$CC | ||
6997 | -_LT_TAGVAR(compiler, $1)=$CC | ||
6998 | -_LT_CC_BASENAME([$compiler]) | ||
6999 | -_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)=yes | ||
7000 | - | ||
7001 | -if test -n "$compiler"; then | ||
7002 | - : | ||
7003 | - _LT_CONFIG($1) | ||
7004 | -fi | ||
7005 | - | ||
7006 | -GCC=$lt_save_GCC | ||
7007 | -AC_LANG_RESTORE | ||
7008 | -CC="$lt_save_CC" | ||
7009 | -])# _LT_LANG_RC_CONFIG | ||
7010 | - | ||
7011 | - | ||
7012 | -# LT_PROG_GCJ | ||
7013 | -# ----------- | ||
7014 | -AC_DEFUN([LT_PROG_GCJ], | ||
7015 | -[m4_ifdef([AC_PROG_GCJ], [AC_PROG_GCJ], | ||
7016 | - [m4_ifdef([A][M_PROG_GCJ], [A][M_PROG_GCJ], | ||
7017 | - [AC_CHECK_TOOL(GCJ, gcj,) | ||
7018 | - test "x${GCJFLAGS+set}" = xset || GCJFLAGS="-g -O2" | ||
7019 | - AC_SUBST(GCJFLAGS)])])[]dnl | ||
7020 | -]) | ||
7021 | - | ||
7022 | -# Old name: | ||
7023 | -AU_ALIAS([LT_AC_PROG_GCJ], [LT_PROG_GCJ]) | ||
7024 | -dnl aclocal-1.4 backwards compatibility: | ||
7025 | -dnl AC_DEFUN([LT_AC_PROG_GCJ], []) | ||
7026 | - | ||
7027 | - | ||
7028 | -# LT_PROG_RC | ||
7029 | -# ---------- | ||
7030 | -AC_DEFUN([LT_PROG_RC], | ||
7031 | -[AC_CHECK_TOOL(RC, windres,) | ||
7032 | -]) | ||
7033 | - | ||
7034 | -# Old name: | ||
7035 | -AU_ALIAS([LT_AC_PROG_RC], [LT_PROG_RC]) | ||
7036 | -dnl aclocal-1.4 backwards compatibility: | ||
7037 | -dnl AC_DEFUN([LT_AC_PROG_RC], []) | ||
7038 | - | ||
7039 | - | ||
7040 | -# _LT_DECL_EGREP | ||
7041 | -# -------------- | ||
7042 | -# If we don't have a new enough Autoconf to choose the best grep | ||
7043 | -# available, choose the one first in the user's PATH. | ||
7044 | -m4_defun([_LT_DECL_EGREP], | ||
7045 | -[AC_REQUIRE([AC_PROG_EGREP])dnl | ||
7046 | -AC_REQUIRE([AC_PROG_FGREP])dnl | ||
7047 | -test -z "$GREP" && GREP=grep | ||
7048 | -_LT_DECL([], [GREP], [1], [A grep program that handles long lines]) | ||
7049 | -_LT_DECL([], [EGREP], [1], [An ERE matcher]) | ||
7050 | -_LT_DECL([], [FGREP], [1], [A literal string matcher]) | ||
7051 | -dnl Non-bleeding-edge autoconf doesn't subst GREP, so do it here too | ||
7052 | -AC_SUBST([GREP]) | ||
7053 | -]) | ||
7054 | - | ||
7055 | - | ||
7056 | -# _LT_DECL_OBJDUMP | ||
7057 | -# -------------- | ||
7058 | -# If we don't have a new enough Autoconf to choose the best objdump | ||
7059 | -# available, choose the one first in the user's PATH. | ||
7060 | -m4_defun([_LT_DECL_OBJDUMP], | ||
7061 | -[AC_CHECK_TOOL(OBJDUMP, objdump, false) | ||
7062 | -test -z "$OBJDUMP" && OBJDUMP=objdump | ||
7063 | -_LT_DECL([], [OBJDUMP], [1], [An object symbol dumper]) | ||
7064 | -AC_SUBST([OBJDUMP]) | ||
7065 | -]) | ||
7066 | - | ||
7067 | - | ||
7068 | -# _LT_DECL_SED | ||
7069 | -# ------------ | ||
7070 | -# Check for a fully-functional sed program, that truncates | ||
7071 | -# as few characters as possible. Prefer GNU sed if found. | ||
7072 | -m4_defun([_LT_DECL_SED], | ||
7073 | -[AC_PROG_SED | ||
7074 | -test -z "$SED" && SED=sed | ||
7075 | -Xsed="$SED -e 1s/^X//" | ||
7076 | -_LT_DECL([], [SED], [1], [A sed program that does not truncate output]) | ||
7077 | -_LT_DECL([], [Xsed], ["\$SED -e 1s/^X//"], | ||
7078 | - [Sed that helps us avoid accidentally triggering echo(1) options like -n]) | ||
7079 | -])# _LT_DECL_SED | ||
7080 | - | ||
7081 | -m4_ifndef([AC_PROG_SED], [ | ||
7082 | -############################################################ | ||
7083 | -# NOTE: This macro has been submitted for inclusion into # | ||
7084 | -# GNU Autoconf as AC_PROG_SED. When it is available in # | ||
7085 | -# a released version of Autoconf we should remove this # | ||
7086 | -# macro and use it instead. # | ||
7087 | -############################################################ | ||
7088 | - | ||
7089 | -m4_defun([AC_PROG_SED], | ||
7090 | -[AC_MSG_CHECKING([for a sed that does not truncate output]) | ||
7091 | -AC_CACHE_VAL(lt_cv_path_SED, | ||
7092 | -[# Loop through the user's path and test for sed and gsed. | ||
7093 | -# Then use that list of sed's as ones to test for truncation. | ||
7094 | -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR | ||
7095 | -for as_dir in $PATH | ||
7096 | -do | ||
7097 | - IFS=$as_save_IFS | ||
7098 | - test -z "$as_dir" && as_dir=. | ||
7099 | - for lt_ac_prog in sed gsed; do | ||
7100 | - for ac_exec_ext in '' $ac_executable_extensions; do | ||
7101 | - if $as_executable_p "$as_dir/$lt_ac_prog$ac_exec_ext"; then | ||
7102 | - lt_ac_sed_list="$lt_ac_sed_list $as_dir/$lt_ac_prog$ac_exec_ext" | ||
7103 | - fi | ||
7104 | - done | ||
7105 | - done | ||
7106 | -done | ||
7107 | -IFS=$as_save_IFS | ||
7108 | -lt_ac_max=0 | ||
7109 | -lt_ac_count=0 | ||
7110 | -# Add /usr/xpg4/bin/sed as it is typically found on Solaris | ||
7111 | -# along with /bin/sed that truncates output. | ||
7112 | -for lt_ac_sed in $lt_ac_sed_list /usr/xpg4/bin/sed; do | ||
7113 | - test ! -f $lt_ac_sed && continue | ||
7114 | - cat /dev/null > conftest.in | ||
7115 | - lt_ac_count=0 | ||
7116 | - echo $ECHO_N "0123456789$ECHO_C" >conftest.in | ||
7117 | - # Check for GNU sed and select it if it is found. | ||
7118 | - if "$lt_ac_sed" --version 2>&1 < /dev/null | grep 'GNU' > /dev/null; then | ||
7119 | - lt_cv_path_SED=$lt_ac_sed | ||
7120 | - break | ||
7121 | - fi | ||
7122 | - while true; do | ||
7123 | - cat conftest.in conftest.in >conftest.tmp | ||
7124 | - mv conftest.tmp conftest.in | ||
7125 | - cp conftest.in conftest.nl | ||
7126 | - echo >>conftest.nl | ||
7127 | - $lt_ac_sed -e 's/a$//' < conftest.nl >conftest.out || break | ||
7128 | - cmp -s conftest.out conftest.nl || break | ||
7129 | - # 10000 chars as input seems more than enough | ||
7130 | - test $lt_ac_count -gt 10 && break | ||
7131 | - lt_ac_count=`expr $lt_ac_count + 1` | ||
7132 | - if test $lt_ac_count -gt $lt_ac_max; then | ||
7133 | - lt_ac_max=$lt_ac_count | ||
7134 | - lt_cv_path_SED=$lt_ac_sed | ||
7135 | - fi | ||
7136 | - done | ||
7137 | -done | ||
7138 | -]) | ||
7139 | -SED=$lt_cv_path_SED | ||
7140 | -AC_SUBST([SED]) | ||
7141 | -AC_MSG_RESULT([$SED]) | ||
7142 | -])#AC_PROG_SED | ||
7143 | -])#m4_ifndef | ||
7144 | - | ||
7145 | -# Old name: | ||
7146 | -AU_ALIAS([LT_AC_PROG_SED], [AC_PROG_SED]) | ||
7147 | -dnl aclocal-1.4 backwards compatibility: | ||
7148 | -dnl AC_DEFUN([LT_AC_PROG_SED], []) | ||
7149 | - | ||
7150 | - | ||
7151 | -# _LT_CHECK_SHELL_FEATURES | ||
7152 | -# ------------------------ | ||
7153 | -# Find out whether the shell is Bourne or XSI compatible, | ||
7154 | -# or has some other useful features. | ||
7155 | -m4_defun([_LT_CHECK_SHELL_FEATURES], | ||
7156 | -[AC_MSG_CHECKING([whether the shell understands some XSI constructs]) | ||
7157 | -# Try some XSI features | ||
7158 | -xsi_shell=no | ||
7159 | -( _lt_dummy="a/b/c" | ||
7160 | - test "${_lt_dummy##*/},${_lt_dummy%/*},"${_lt_dummy%"$_lt_dummy"}, \ | ||
7161 | - = c,a/b,, \ | ||
7162 | - && eval 'test $(( 1 + 1 )) -eq 2 \ | ||
7163 | - && test "${#_lt_dummy}" -eq 5' ) >/dev/null 2>&1 \ | ||
7164 | - && xsi_shell=yes | ||
7165 | -AC_MSG_RESULT([$xsi_shell]) | ||
7166 | -_LT_CONFIG_LIBTOOL_INIT([xsi_shell='$xsi_shell']) | ||
7167 | - | ||
7168 | -AC_MSG_CHECKING([whether the shell understands "+="]) | ||
7169 | -lt_shell_append=no | ||
7170 | -( foo=bar; set foo baz; eval "$[1]+=\$[2]" && test "$foo" = barbaz ) \ | ||
7171 | - >/dev/null 2>&1 \ | ||
7172 | - && lt_shell_append=yes | ||
7173 | -AC_MSG_RESULT([$lt_shell_append]) | ||
7174 | -_LT_CONFIG_LIBTOOL_INIT([lt_shell_append='$lt_shell_append']) | ||
7175 | - | ||
7176 | -if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then | ||
7177 | - lt_unset=unset | ||
7178 | -else | ||
7179 | - lt_unset=false | ||
7180 | -fi | ||
7181 | -_LT_DECL([], [lt_unset], [0], [whether the shell understands "unset"])dnl | ||
7182 | - | ||
7183 | -# test EBCDIC or ASCII | ||
7184 | -case `echo X|tr X '\101'` in | ||
7185 | - A) # ASCII based system | ||
7186 | - # \n is not interpreted correctly by Solaris 8 /usr/ucb/tr | ||
7187 | - lt_SP2NL='tr \040 \012' | ||
7188 | - lt_NL2SP='tr \015\012 \040\040' | ||
7189 | - ;; | ||
7190 | - *) # EBCDIC based system | ||
7191 | - lt_SP2NL='tr \100 \n' | ||
7192 | - lt_NL2SP='tr \r\n \100\100' | ||
7193 | - ;; | ||
7194 | -esac | ||
7195 | -_LT_DECL([SP2NL], [lt_SP2NL], [1], [turn spaces into newlines])dnl | ||
7196 | -_LT_DECL([NL2SP], [lt_NL2SP], [1], [turn newlines into spaces])dnl | ||
7197 | -])# _LT_CHECK_SHELL_FEATURES | ||
7198 | - | ||
7199 | - | ||
7200 | -# _LT_PROG_XSI_SHELLFNS | ||
7201 | -# --------------------- | ||
7202 | -# Bourne and XSI compatible variants of some useful shell functions. | ||
7203 | -m4_defun([_LT_PROG_XSI_SHELLFNS], | ||
7204 | -[case $xsi_shell in | ||
7205 | - yes) | ||
7206 | - cat << \_LT_EOF >> "$cfgfile" | ||
7207 | - | ||
7208 | -# func_dirname file append nondir_replacement | ||
7209 | -# Compute the dirname of FILE. If nonempty, add APPEND to the result, | ||
7210 | -# otherwise set result to NONDIR_REPLACEMENT. | ||
7211 | -func_dirname () | ||
7212 | -{ | ||
7213 | - case ${1} in | ||
7214 | - */*) func_dirname_result="${1%/*}${2}" ;; | ||
7215 | - * ) func_dirname_result="${3}" ;; | ||
7216 | - esac | ||
7217 | -} | ||
7218 | - | ||
7219 | -# func_basename file | ||
7220 | -func_basename () | ||
7221 | -{ | ||
7222 | - func_basename_result="${1##*/}" | ||
7223 | -} | ||
7224 | - | ||
7225 | -# func_dirname_and_basename file append nondir_replacement | ||
7226 | -# perform func_basename and func_dirname in a single function | ||
7227 | -# call: | ||
7228 | -# dirname: Compute the dirname of FILE. If nonempty, | ||
7229 | -# add APPEND to the result, otherwise set result | ||
7230 | -# to NONDIR_REPLACEMENT. | ||
7231 | -# value returned in "$func_dirname_result" | ||
7232 | -# basename: Compute filename of FILE. | ||
7233 | -# value retuned in "$func_basename_result" | ||
7234 | -# Implementation must be kept synchronized with func_dirname | ||
7235 | -# and func_basename. For efficiency, we do not delegate to | ||
7236 | -# those functions but instead duplicate the functionality here. | ||
7237 | -func_dirname_and_basename () | ||
7238 | -{ | ||
7239 | - case ${1} in | ||
7240 | - */*) func_dirname_result="${1%/*}${2}" ;; | ||
7241 | - * ) func_dirname_result="${3}" ;; | ||
7242 | - esac | ||
7243 | - func_basename_result="${1##*/}" | ||
7244 | -} | ||
7245 | - | ||
7246 | -# func_stripname prefix suffix name | ||
7247 | -# strip PREFIX and SUFFIX off of NAME. | ||
7248 | -# PREFIX and SUFFIX must not contain globbing or regex special | ||
7249 | -# characters, hashes, percent signs, but SUFFIX may contain a leading | ||
7250 | -# dot (in which case that matches only a dot). | ||
7251 | -func_stripname () | ||
7252 | -{ | ||
7253 | - # pdksh 5.2.14 does not do ${X%$Y} correctly if both X and Y are | ||
7254 | - # positional parameters, so assign one to ordinary parameter first. | ||
7255 | - func_stripname_result=${3} | ||
7256 | - func_stripname_result=${func_stripname_result#"${1}"} | ||
7257 | - func_stripname_result=${func_stripname_result%"${2}"} | ||
7258 | -} | ||
7259 | - | ||
7260 | -# func_opt_split | ||
7261 | -func_opt_split () | ||
7262 | -{ | ||
7263 | - func_opt_split_opt=${1%%=*} | ||
7264 | - func_opt_split_arg=${1#*=} | ||
7265 | -} | ||
7266 | - | ||
7267 | -# func_lo2o object | ||
7268 | -func_lo2o () | ||
7269 | -{ | ||
7270 | - case ${1} in | ||
7271 | - *.lo) func_lo2o_result=${1%.lo}.${objext} ;; | ||
7272 | - *) func_lo2o_result=${1} ;; | ||
7273 | - esac | ||
7274 | -} | ||
7275 | - | ||
7276 | -# func_xform libobj-or-source | ||
7277 | -func_xform () | ||
7278 | -{ | ||
7279 | - func_xform_result=${1%.*}.lo | ||
7280 | -} | ||
7281 | - | ||
7282 | -# func_arith arithmetic-term... | ||
7283 | -func_arith () | ||
7284 | -{ | ||
7285 | - func_arith_result=$(( $[*] )) | ||
7286 | -} | ||
7287 | - | ||
7288 | -# func_len string | ||
7289 | -# STRING may not start with a hyphen. | ||
7290 | -func_len () | ||
7291 | -{ | ||
7292 | - func_len_result=${#1} | ||
7293 | -} | ||
7294 | - | ||
7295 | -_LT_EOF | ||
7296 | - ;; | ||
7297 | - *) # Bourne compatible functions. | ||
7298 | - cat << \_LT_EOF >> "$cfgfile" | ||
7299 | - | ||
7300 | -# func_dirname file append nondir_replacement | ||
7301 | -# Compute the dirname of FILE. If nonempty, add APPEND to the result, | ||
7302 | -# otherwise set result to NONDIR_REPLACEMENT. | ||
7303 | -func_dirname () | ||
7304 | -{ | ||
7305 | - # Extract subdirectory from the argument. | ||
7306 | - func_dirname_result=`$ECHO "X${1}" | $Xsed -e "$dirname"` | ||
7307 | - if test "X$func_dirname_result" = "X${1}"; then | ||
7308 | - func_dirname_result="${3}" | ||
7309 | - else | ||
7310 | - func_dirname_result="$func_dirname_result${2}" | ||
7311 | - fi | ||
7312 | -} | ||
7313 | - | ||
7314 | -# func_basename file | ||
7315 | -func_basename () | ||
7316 | -{ | ||
7317 | - func_basename_result=`$ECHO "X${1}" | $Xsed -e "$basename"` | ||
7318 | -} | ||
7319 | - | ||
7320 | -dnl func_dirname_and_basename | ||
7321 | -dnl A portable version of this function is already defined in general.m4sh | ||
7322 | -dnl so there is no need for it here. | ||
7323 | - | ||
7324 | -# func_stripname prefix suffix name | ||
7325 | -# strip PREFIX and SUFFIX off of NAME. | ||
7326 | -# PREFIX and SUFFIX must not contain globbing or regex special | ||
7327 | -# characters, hashes, percent signs, but SUFFIX may contain a leading | ||
7328 | -# dot (in which case that matches only a dot). | ||
7329 | -# func_strip_suffix prefix name | ||
7330 | -func_stripname () | ||
7331 | -{ | ||
7332 | - case ${2} in | ||
7333 | - .*) func_stripname_result=`$ECHO "X${3}" \ | ||
7334 | - | $Xsed -e "s%^${1}%%" -e "s%\\\\${2}\$%%"`;; | ||
7335 | - *) func_stripname_result=`$ECHO "X${3}" \ | ||
7336 | - | $Xsed -e "s%^${1}%%" -e "s%${2}\$%%"`;; | ||
7337 | - esac | ||
7338 | -} | ||
7339 | - | ||
7340 | -# sed scripts: | ||
7341 | -my_sed_long_opt='1s/^\(-[[^=]]*\)=.*/\1/;q' | ||
7342 | -my_sed_long_arg='1s/^-[[^=]]*=//' | ||
7343 | - | ||
7344 | -# func_opt_split | ||
7345 | -func_opt_split () | ||
7346 | -{ | ||
7347 | - func_opt_split_opt=`$ECHO "X${1}" | $Xsed -e "$my_sed_long_opt"` | ||
7348 | - func_opt_split_arg=`$ECHO "X${1}" | $Xsed -e "$my_sed_long_arg"` | ||
7349 | -} | ||
7350 | - | ||
7351 | -# func_lo2o object | ||
7352 | -func_lo2o () | ||
7353 | -{ | ||
7354 | - func_lo2o_result=`$ECHO "X${1}" | $Xsed -e "$lo2o"` | ||
7355 | -} | ||
7356 | - | ||
7357 | -# func_xform libobj-or-source | ||
7358 | -func_xform () | ||
7359 | -{ | ||
7360 | - func_xform_result=`$ECHO "X${1}" | $Xsed -e 's/\.[[^.]]*$/.lo/'` | ||
7361 | -} | ||
7362 | - | ||
7363 | -# func_arith arithmetic-term... | ||
7364 | -func_arith () | ||
7365 | -{ | ||
7366 | - func_arith_result=`expr "$[@]"` | ||
7367 | -} | ||
7368 | - | ||
7369 | -# func_len string | ||
7370 | -# STRING may not start with a hyphen. | ||
7371 | -func_len () | ||
7372 | -{ | ||
7373 | - func_len_result=`expr "$[1]" : ".*" 2>/dev/null || echo $max_cmd_len` | ||
7374 | -} | ||
7375 | - | ||
7376 | -_LT_EOF | ||
7377 | -esac | ||
7378 | - | ||
7379 | -case $lt_shell_append in | ||
7380 | - yes) | ||
7381 | - cat << \_LT_EOF >> "$cfgfile" | ||
7382 | - | ||
7383 | -# func_append var value | ||
7384 | -# Append VALUE to the end of shell variable VAR. | ||
7385 | -func_append () | ||
7386 | -{ | ||
7387 | - eval "$[1]+=\$[2]" | ||
7388 | -} | ||
7389 | -_LT_EOF | ||
7390 | - ;; | ||
7391 | - *) | ||
7392 | - cat << \_LT_EOF >> "$cfgfile" | ||
7393 | - | ||
7394 | -# func_append var value | ||
7395 | -# Append VALUE to the end of shell variable VAR. | ||
7396 | -func_append () | ||
7397 | -{ | ||
7398 | - eval "$[1]=\$$[1]\$[2]" | ||
7399 | -} | ||
7400 | - | ||
7401 | -_LT_EOF | ||
7402 | - ;; | ||
7403 | - esac | ||
7404 | -]) | ||
7405 | Index: libiconv-1.13.1/libcharset/m4/ltoptions.m4 | ||
7406 | =================================================================== | ||
7407 | --- libiconv-1.13.1.orig/libcharset/m4/ltoptions.m4 | ||
7408 | +++ /dev/null | ||
7409 | @@ -1,368 +0,0 @@ | ||
7410 | -# Helper functions for option handling. -*- Autoconf -*- | ||
7411 | -# | ||
7412 | -# Copyright (C) 2004, 2005, 2007, 2008 Free Software Foundation, Inc. | ||
7413 | -# Written by Gary V. Vaughan, 2004 | ||
7414 | -# | ||
7415 | -# This file is free software; the Free Software Foundation gives | ||
7416 | -# unlimited permission to copy and/or distribute it, with or without | ||
7417 | -# modifications, as long as this notice is preserved. | ||
7418 | - | ||
7419 | -# serial 6 ltoptions.m4 | ||
7420 | - | ||
7421 | -# This is to help aclocal find these macros, as it can't see m4_define. | ||
7422 | -AC_DEFUN([LTOPTIONS_VERSION], [m4_if([1])]) | ||
7423 | - | ||
7424 | - | ||
7425 | -# _LT_MANGLE_OPTION(MACRO-NAME, OPTION-NAME) | ||
7426 | -# ------------------------------------------ | ||
7427 | -m4_define([_LT_MANGLE_OPTION], | ||
7428 | -[[_LT_OPTION_]m4_bpatsubst($1__$2, [[^a-zA-Z0-9_]], [_])]) | ||
7429 | - | ||
7430 | - | ||
7431 | -# _LT_SET_OPTION(MACRO-NAME, OPTION-NAME) | ||
7432 | -# --------------------------------------- | ||
7433 | -# Set option OPTION-NAME for macro MACRO-NAME, and if there is a | ||
7434 | -# matching handler defined, dispatch to it. Other OPTION-NAMEs are | ||
7435 | -# saved as a flag. | ||
7436 | -m4_define([_LT_SET_OPTION], | ||
7437 | -[m4_define(_LT_MANGLE_OPTION([$1], [$2]))dnl | ||
7438 | -m4_ifdef(_LT_MANGLE_DEFUN([$1], [$2]), | ||
7439 | - _LT_MANGLE_DEFUN([$1], [$2]), | ||
7440 | - [m4_warning([Unknown $1 option `$2'])])[]dnl | ||
7441 | -]) | ||
7442 | - | ||
7443 | - | ||
7444 | -# _LT_IF_OPTION(MACRO-NAME, OPTION-NAME, IF-SET, [IF-NOT-SET]) | ||
7445 | -# ------------------------------------------------------------ | ||
7446 | -# Execute IF-SET if OPTION is set, IF-NOT-SET otherwise. | ||
7447 | -m4_define([_LT_IF_OPTION], | ||
7448 | -[m4_ifdef(_LT_MANGLE_OPTION([$1], [$2]), [$3], [$4])]) | ||
7449 | - | ||
7450 | - | ||
7451 | -# _LT_UNLESS_OPTIONS(MACRO-NAME, OPTION-LIST, IF-NOT-SET) | ||
7452 | -# ------------------------------------------------------- | ||
7453 | -# Execute IF-NOT-SET unless all options in OPTION-LIST for MACRO-NAME | ||
7454 | -# are set. | ||
7455 | -m4_define([_LT_UNLESS_OPTIONS], | ||
7456 | -[m4_foreach([_LT_Option], m4_split(m4_normalize([$2])), | ||
7457 | - [m4_ifdef(_LT_MANGLE_OPTION([$1], _LT_Option), | ||
7458 | - [m4_define([$0_found])])])[]dnl | ||
7459 | -m4_ifdef([$0_found], [m4_undefine([$0_found])], [$3 | ||
7460 | -])[]dnl | ||
7461 | -]) | ||
7462 | - | ||
7463 | - | ||
7464 | -# _LT_SET_OPTIONS(MACRO-NAME, OPTION-LIST) | ||
7465 | -# ---------------------------------------- | ||
7466 | -# OPTION-LIST is a space-separated list of Libtool options associated | ||
7467 | -# with MACRO-NAME. If any OPTION has a matching handler declared with | ||
7468 | -# LT_OPTION_DEFINE, dispatch to that macro; otherwise complain about | ||
7469 | -# the unknown option and exit. | ||
7470 | -m4_defun([_LT_SET_OPTIONS], | ||
7471 | -[# Set options | ||
7472 | -m4_foreach([_LT_Option], m4_split(m4_normalize([$2])), | ||
7473 | - [_LT_SET_OPTION([$1], _LT_Option)]) | ||
7474 | - | ||
7475 | -m4_if([$1],[LT_INIT],[ | ||
7476 | - dnl | ||
7477 | - dnl Simply set some default values (i.e off) if boolean options were not | ||
7478 | - dnl specified: | ||
7479 | - _LT_UNLESS_OPTIONS([LT_INIT], [dlopen], [enable_dlopen=no | ||
7480 | - ]) | ||
7481 | - _LT_UNLESS_OPTIONS([LT_INIT], [win32-dll], [enable_win32_dll=no | ||
7482 | - ]) | ||
7483 | - dnl | ||
7484 | - dnl If no reference was made to various pairs of opposing options, then | ||
7485 | - dnl we run the default mode handler for the pair. For example, if neither | ||
7486 | - dnl `shared' nor `disable-shared' was passed, we enable building of shared | ||
7487 | - dnl archives by default: | ||
7488 | - _LT_UNLESS_OPTIONS([LT_INIT], [shared disable-shared], [_LT_ENABLE_SHARED]) | ||
7489 | - _LT_UNLESS_OPTIONS([LT_INIT], [static disable-static], [_LT_ENABLE_STATIC]) | ||
7490 | - _LT_UNLESS_OPTIONS([LT_INIT], [pic-only no-pic], [_LT_WITH_PIC]) | ||
7491 | - _LT_UNLESS_OPTIONS([LT_INIT], [fast-install disable-fast-install], | ||
7492 | - [_LT_ENABLE_FAST_INSTALL]) | ||
7493 | - ]) | ||
7494 | -])# _LT_SET_OPTIONS | ||
7495 | - | ||
7496 | - | ||
7497 | -## --------------------------------- ## | ||
7498 | -## Macros to handle LT_INIT options. ## | ||
7499 | -## --------------------------------- ## | ||
7500 | - | ||
7501 | -# _LT_MANGLE_DEFUN(MACRO-NAME, OPTION-NAME) | ||
7502 | -# ----------------------------------------- | ||
7503 | -m4_define([_LT_MANGLE_DEFUN], | ||
7504 | -[[_LT_OPTION_DEFUN_]m4_bpatsubst(m4_toupper([$1__$2]), [[^A-Z0-9_]], [_])]) | ||
7505 | - | ||
7506 | - | ||
7507 | -# LT_OPTION_DEFINE(MACRO-NAME, OPTION-NAME, CODE) | ||
7508 | -# ----------------------------------------------- | ||
7509 | -m4_define([LT_OPTION_DEFINE], | ||
7510 | -[m4_define(_LT_MANGLE_DEFUN([$1], [$2]), [$3])[]dnl | ||
7511 | -])# LT_OPTION_DEFINE | ||
7512 | - | ||
7513 | - | ||
7514 | -# dlopen | ||
7515 | -# ------ | ||
7516 | -LT_OPTION_DEFINE([LT_INIT], [dlopen], [enable_dlopen=yes | ||
7517 | -]) | ||
7518 | - | ||
7519 | -AU_DEFUN([AC_LIBTOOL_DLOPEN], | ||
7520 | -[_LT_SET_OPTION([LT_INIT], [dlopen]) | ||
7521 | -AC_DIAGNOSE([obsolete], | ||
7522 | -[$0: Remove this warning and the call to _LT_SET_OPTION when you | ||
7523 | -put the `dlopen' option into LT_INIT's first parameter.]) | ||
7524 | -]) | ||
7525 | - | ||
7526 | -dnl aclocal-1.4 backwards compatibility: | ||
7527 | -dnl AC_DEFUN([AC_LIBTOOL_DLOPEN], []) | ||
7528 | - | ||
7529 | - | ||
7530 | -# win32-dll | ||
7531 | -# --------- | ||
7532 | -# Declare package support for building win32 dll's. | ||
7533 | -LT_OPTION_DEFINE([LT_INIT], [win32-dll], | ||
7534 | -[enable_win32_dll=yes | ||
7535 | - | ||
7536 | -case $host in | ||
7537 | -*-*-cygwin* | *-*-mingw* | *-*-pw32* | *-cegcc*) | ||
7538 | - AC_CHECK_TOOL(AS, as, false) | ||
7539 | - AC_CHECK_TOOL(DLLTOOL, dlltool, false) | ||
7540 | - AC_CHECK_TOOL(OBJDUMP, objdump, false) | ||
7541 | - ;; | ||
7542 | -esac | ||
7543 | - | ||
7544 | -test -z "$AS" && AS=as | ||
7545 | -_LT_DECL([], [AS], [0], [Assembler program])dnl | ||
7546 | - | ||
7547 | -test -z "$DLLTOOL" && DLLTOOL=dlltool | ||
7548 | -_LT_DECL([], [DLLTOOL], [0], [DLL creation program])dnl | ||
7549 | - | ||
7550 | -test -z "$OBJDUMP" && OBJDUMP=objdump | ||
7551 | -_LT_DECL([], [OBJDUMP], [0], [Object dumper program])dnl | ||
7552 | -])# win32-dll | ||
7553 | - | ||
7554 | -AU_DEFUN([AC_LIBTOOL_WIN32_DLL], | ||
7555 | -[AC_REQUIRE([AC_CANONICAL_HOST])dnl | ||
7556 | -_LT_SET_OPTION([LT_INIT], [win32-dll]) | ||
7557 | -AC_DIAGNOSE([obsolete], | ||
7558 | -[$0: Remove this warning and the call to _LT_SET_OPTION when you | ||
7559 | -put the `win32-dll' option into LT_INIT's first parameter.]) | ||
7560 | -]) | ||
7561 | - | ||
7562 | -dnl aclocal-1.4 backwards compatibility: | ||
7563 | -dnl AC_DEFUN([AC_LIBTOOL_WIN32_DLL], []) | ||
7564 | - | ||
7565 | - | ||
7566 | -# _LT_ENABLE_SHARED([DEFAULT]) | ||
7567 | -# ---------------------------- | ||
7568 | -# implement the --enable-shared flag, and supports the `shared' and | ||
7569 | -# `disable-shared' LT_INIT options. | ||
7570 | -# DEFAULT is either `yes' or `no'. If omitted, it defaults to `yes'. | ||
7571 | -m4_define([_LT_ENABLE_SHARED], | ||
7572 | -[m4_define([_LT_ENABLE_SHARED_DEFAULT], [m4_if($1, no, no, yes)])dnl | ||
7573 | -AC_ARG_ENABLE([shared], | ||
7574 | - [AS_HELP_STRING([--enable-shared@<:@=PKGS@:>@], | ||
7575 | - [build shared libraries @<:@default=]_LT_ENABLE_SHARED_DEFAULT[@:>@])], | ||
7576 | - [p=${PACKAGE-default} | ||
7577 | - case $enableval in | ||
7578 | - yes) enable_shared=yes ;; | ||
7579 | - no) enable_shared=no ;; | ||
7580 | - *) | ||
7581 | - enable_shared=no | ||
7582 | - # Look at the argument we got. We use all the common list separators. | ||
7583 | - lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," | ||
7584 | - for pkg in $enableval; do | ||
7585 | - IFS="$lt_save_ifs" | ||
7586 | - if test "X$pkg" = "X$p"; then | ||
7587 | - enable_shared=yes | ||
7588 | - fi | ||
7589 | - done | ||
7590 | - IFS="$lt_save_ifs" | ||
7591 | - ;; | ||
7592 | - esac], | ||
7593 | - [enable_shared=]_LT_ENABLE_SHARED_DEFAULT) | ||
7594 | - | ||
7595 | - _LT_DECL([build_libtool_libs], [enable_shared], [0], | ||
7596 | - [Whether or not to build shared libraries]) | ||
7597 | -])# _LT_ENABLE_SHARED | ||
7598 | - | ||
7599 | -LT_OPTION_DEFINE([LT_INIT], [shared], [_LT_ENABLE_SHARED([yes])]) | ||
7600 | -LT_OPTION_DEFINE([LT_INIT], [disable-shared], [_LT_ENABLE_SHARED([no])]) | ||
7601 | - | ||
7602 | -# Old names: | ||
7603 | -AC_DEFUN([AC_ENABLE_SHARED], | ||
7604 | -[_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[shared]) | ||
7605 | -]) | ||
7606 | - | ||
7607 | -AC_DEFUN([AC_DISABLE_SHARED], | ||
7608 | -[_LT_SET_OPTION([LT_INIT], [disable-shared]) | ||
7609 | -]) | ||
7610 | - | ||
7611 | -AU_DEFUN([AM_ENABLE_SHARED], [AC_ENABLE_SHARED($@)]) | ||
7612 | -AU_DEFUN([AM_DISABLE_SHARED], [AC_DISABLE_SHARED($@)]) | ||
7613 | - | ||
7614 | -dnl aclocal-1.4 backwards compatibility: | ||
7615 | -dnl AC_DEFUN([AM_ENABLE_SHARED], []) | ||
7616 | -dnl AC_DEFUN([AM_DISABLE_SHARED], []) | ||
7617 | - | ||
7618 | - | ||
7619 | - | ||
7620 | -# _LT_ENABLE_STATIC([DEFAULT]) | ||
7621 | -# ---------------------------- | ||
7622 | -# implement the --enable-static flag, and support the `static' and | ||
7623 | -# `disable-static' LT_INIT options. | ||
7624 | -# DEFAULT is either `yes' or `no'. If omitted, it defaults to `yes'. | ||
7625 | -m4_define([_LT_ENABLE_STATIC], | ||
7626 | -[m4_define([_LT_ENABLE_STATIC_DEFAULT], [m4_if($1, no, no, yes)])dnl | ||
7627 | -AC_ARG_ENABLE([static], | ||
7628 | - [AS_HELP_STRING([--enable-static@<:@=PKGS@:>@], | ||
7629 | - [build static libraries @<:@default=]_LT_ENABLE_STATIC_DEFAULT[@:>@])], | ||
7630 | - [p=${PACKAGE-default} | ||
7631 | - case $enableval in | ||
7632 | - yes) enable_static=yes ;; | ||
7633 | - no) enable_static=no ;; | ||
7634 | - *) | ||
7635 | - enable_static=no | ||
7636 | - # Look at the argument we got. We use all the common list separators. | ||
7637 | - lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," | ||
7638 | - for pkg in $enableval; do | ||
7639 | - IFS="$lt_save_ifs" | ||
7640 | - if test "X$pkg" = "X$p"; then | ||
7641 | - enable_static=yes | ||
7642 | - fi | ||
7643 | - done | ||
7644 | - IFS="$lt_save_ifs" | ||
7645 | - ;; | ||
7646 | - esac], | ||
7647 | - [enable_static=]_LT_ENABLE_STATIC_DEFAULT) | ||
7648 | - | ||
7649 | - _LT_DECL([build_old_libs], [enable_static], [0], | ||
7650 | - [Whether or not to build static libraries]) | ||
7651 | -])# _LT_ENABLE_STATIC | ||
7652 | - | ||
7653 | -LT_OPTION_DEFINE([LT_INIT], [static], [_LT_ENABLE_STATIC([yes])]) | ||
7654 | -LT_OPTION_DEFINE([LT_INIT], [disable-static], [_LT_ENABLE_STATIC([no])]) | ||
7655 | - | ||
7656 | -# Old names: | ||
7657 | -AC_DEFUN([AC_ENABLE_STATIC], | ||
7658 | -[_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[static]) | ||
7659 | -]) | ||
7660 | - | ||
7661 | -AC_DEFUN([AC_DISABLE_STATIC], | ||
7662 | -[_LT_SET_OPTION([LT_INIT], [disable-static]) | ||
7663 | -]) | ||
7664 | - | ||
7665 | -AU_DEFUN([AM_ENABLE_STATIC], [AC_ENABLE_STATIC($@)]) | ||
7666 | -AU_DEFUN([AM_DISABLE_STATIC], [AC_DISABLE_STATIC($@)]) | ||
7667 | - | ||
7668 | -dnl aclocal-1.4 backwards compatibility: | ||
7669 | -dnl AC_DEFUN([AM_ENABLE_STATIC], []) | ||
7670 | -dnl AC_DEFUN([AM_DISABLE_STATIC], []) | ||
7671 | - | ||
7672 | - | ||
7673 | - | ||
7674 | -# _LT_ENABLE_FAST_INSTALL([DEFAULT]) | ||
7675 | -# ---------------------------------- | ||
7676 | -# implement the --enable-fast-install flag, and support the `fast-install' | ||
7677 | -# and `disable-fast-install' LT_INIT options. | ||
7678 | -# DEFAULT is either `yes' or `no'. If omitted, it defaults to `yes'. | ||
7679 | -m4_define([_LT_ENABLE_FAST_INSTALL], | ||
7680 | -[m4_define([_LT_ENABLE_FAST_INSTALL_DEFAULT], [m4_if($1, no, no, yes)])dnl | ||
7681 | -AC_ARG_ENABLE([fast-install], | ||
7682 | - [AS_HELP_STRING([--enable-fast-install@<:@=PKGS@:>@], | ||
7683 | - [optimize for fast installation @<:@default=]_LT_ENABLE_FAST_INSTALL_DEFAULT[@:>@])], | ||
7684 | - [p=${PACKAGE-default} | ||
7685 | - case $enableval in | ||
7686 | - yes) enable_fast_install=yes ;; | ||
7687 | - no) enable_fast_install=no ;; | ||
7688 | - *) | ||
7689 | - enable_fast_install=no | ||
7690 | - # Look at the argument we got. We use all the common list separators. | ||
7691 | - lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," | ||
7692 | - for pkg in $enableval; do | ||
7693 | - IFS="$lt_save_ifs" | ||
7694 | - if test "X$pkg" = "X$p"; then | ||
7695 | - enable_fast_install=yes | ||
7696 | - fi | ||
7697 | - done | ||
7698 | - IFS="$lt_save_ifs" | ||
7699 | - ;; | ||
7700 | - esac], | ||
7701 | - [enable_fast_install=]_LT_ENABLE_FAST_INSTALL_DEFAULT) | ||
7702 | - | ||
7703 | -_LT_DECL([fast_install], [enable_fast_install], [0], | ||
7704 | - [Whether or not to optimize for fast installation])dnl | ||
7705 | -])# _LT_ENABLE_FAST_INSTALL | ||
7706 | - | ||
7707 | -LT_OPTION_DEFINE([LT_INIT], [fast-install], [_LT_ENABLE_FAST_INSTALL([yes])]) | ||
7708 | -LT_OPTION_DEFINE([LT_INIT], [disable-fast-install], [_LT_ENABLE_FAST_INSTALL([no])]) | ||
7709 | - | ||
7710 | -# Old names: | ||
7711 | -AU_DEFUN([AC_ENABLE_FAST_INSTALL], | ||
7712 | -[_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[fast-install]) | ||
7713 | -AC_DIAGNOSE([obsolete], | ||
7714 | -[$0: Remove this warning and the call to _LT_SET_OPTION when you put | ||
7715 | -the `fast-install' option into LT_INIT's first parameter.]) | ||
7716 | -]) | ||
7717 | - | ||
7718 | -AU_DEFUN([AC_DISABLE_FAST_INSTALL], | ||
7719 | -[_LT_SET_OPTION([LT_INIT], [disable-fast-install]) | ||
7720 | -AC_DIAGNOSE([obsolete], | ||
7721 | -[$0: Remove this warning and the call to _LT_SET_OPTION when you put | ||
7722 | -the `disable-fast-install' option into LT_INIT's first parameter.]) | ||
7723 | -]) | ||
7724 | - | ||
7725 | -dnl aclocal-1.4 backwards compatibility: | ||
7726 | -dnl AC_DEFUN([AC_ENABLE_FAST_INSTALL], []) | ||
7727 | -dnl AC_DEFUN([AM_DISABLE_FAST_INSTALL], []) | ||
7728 | - | ||
7729 | - | ||
7730 | -# _LT_WITH_PIC([MODE]) | ||
7731 | -# -------------------- | ||
7732 | -# implement the --with-pic flag, and support the `pic-only' and `no-pic' | ||
7733 | -# LT_INIT options. | ||
7734 | -# MODE is either `yes' or `no'. If omitted, it defaults to `both'. | ||
7735 | -m4_define([_LT_WITH_PIC], | ||
7736 | -[AC_ARG_WITH([pic], | ||
7737 | - [AS_HELP_STRING([--with-pic], | ||
7738 | - [try to use only PIC/non-PIC objects @<:@default=use both@:>@])], | ||
7739 | - [pic_mode="$withval"], | ||
7740 | - [pic_mode=default]) | ||
7741 | - | ||
7742 | -test -z "$pic_mode" && pic_mode=m4_default([$1], [default]) | ||
7743 | - | ||
7744 | -_LT_DECL([], [pic_mode], [0], [What type of objects to build])dnl | ||
7745 | -])# _LT_WITH_PIC | ||
7746 | - | ||
7747 | -LT_OPTION_DEFINE([LT_INIT], [pic-only], [_LT_WITH_PIC([yes])]) | ||
7748 | -LT_OPTION_DEFINE([LT_INIT], [no-pic], [_LT_WITH_PIC([no])]) | ||
7749 | - | ||
7750 | -# Old name: | ||
7751 | -AU_DEFUN([AC_LIBTOOL_PICMODE], | ||
7752 | -[_LT_SET_OPTION([LT_INIT], [pic-only]) | ||
7753 | -AC_DIAGNOSE([obsolete], | ||
7754 | -[$0: Remove this warning and the call to _LT_SET_OPTION when you | ||
7755 | -put the `pic-only' option into LT_INIT's first parameter.]) | ||
7756 | -]) | ||
7757 | - | ||
7758 | -dnl aclocal-1.4 backwards compatibility: | ||
7759 | -dnl AC_DEFUN([AC_LIBTOOL_PICMODE], []) | ||
7760 | - | ||
7761 | -## ----------------- ## | ||
7762 | -## LTDL_INIT Options ## | ||
7763 | -## ----------------- ## | ||
7764 | - | ||
7765 | -m4_define([_LTDL_MODE], []) | ||
7766 | -LT_OPTION_DEFINE([LTDL_INIT], [nonrecursive], | ||
7767 | - [m4_define([_LTDL_MODE], [nonrecursive])]) | ||
7768 | -LT_OPTION_DEFINE([LTDL_INIT], [recursive], | ||
7769 | - [m4_define([_LTDL_MODE], [recursive])]) | ||
7770 | -LT_OPTION_DEFINE([LTDL_INIT], [subproject], | ||
7771 | - [m4_define([_LTDL_MODE], [subproject])]) | ||
7772 | - | ||
7773 | -m4_define([_LTDL_TYPE], []) | ||
7774 | -LT_OPTION_DEFINE([LTDL_INIT], [installable], | ||
7775 | - [m4_define([_LTDL_TYPE], [installable])]) | ||
7776 | -LT_OPTION_DEFINE([LTDL_INIT], [convenience], | ||
7777 | - [m4_define([_LTDL_TYPE], [convenience])]) | ||
7778 | Index: libiconv-1.13.1/libcharset/m4/ltsugar.m4 | ||
7779 | =================================================================== | ||
7780 | --- libiconv-1.13.1.orig/libcharset/m4/ltsugar.m4 | ||
7781 | +++ /dev/null | ||
7782 | @@ -1,123 +0,0 @@ | ||
7783 | -# ltsugar.m4 -- libtool m4 base layer. -*-Autoconf-*- | ||
7784 | -# | ||
7785 | -# Copyright (C) 2004, 2005, 2007, 2008 Free Software Foundation, Inc. | ||
7786 | -# Written by Gary V. Vaughan, 2004 | ||
7787 | -# | ||
7788 | -# This file is free software; the Free Software Foundation gives | ||
7789 | -# unlimited permission to copy and/or distribute it, with or without | ||
7790 | -# modifications, as long as this notice is preserved. | ||
7791 | - | ||
7792 | -# serial 6 ltsugar.m4 | ||
7793 | - | ||
7794 | -# This is to help aclocal find these macros, as it can't see m4_define. | ||
7795 | -AC_DEFUN([LTSUGAR_VERSION], [m4_if([0.1])]) | ||
7796 | - | ||
7797 | - | ||
7798 | -# lt_join(SEP, ARG1, [ARG2...]) | ||
7799 | -# ----------------------------- | ||
7800 | -# Produce ARG1SEPARG2...SEPARGn, omitting [] arguments and their | ||
7801 | -# associated separator. | ||
7802 | -# Needed until we can rely on m4_join from Autoconf 2.62, since all earlier | ||
7803 | -# versions in m4sugar had bugs. | ||
7804 | -m4_define([lt_join], | ||
7805 | -[m4_if([$#], [1], [], | ||
7806 | - [$#], [2], [[$2]], | ||
7807 | - [m4_if([$2], [], [], [[$2]_])$0([$1], m4_shift(m4_shift($@)))])]) | ||
7808 | -m4_define([_lt_join], | ||
7809 | -[m4_if([$#$2], [2], [], | ||
7810 | - [m4_if([$2], [], [], [[$1$2]])$0([$1], m4_shift(m4_shift($@)))])]) | ||
7811 | - | ||
7812 | - | ||
7813 | -# lt_car(LIST) | ||
7814 | -# lt_cdr(LIST) | ||
7815 | -# ------------ | ||
7816 | -# Manipulate m4 lists. | ||
7817 | -# These macros are necessary as long as will still need to support | ||
7818 | -# Autoconf-2.59 which quotes differently. | ||
7819 | -m4_define([lt_car], [[$1]]) | ||
7820 | -m4_define([lt_cdr], | ||
7821 | -[m4_if([$#], 0, [m4_fatal([$0: cannot be called without arguments])], | ||
7822 | - [$#], 1, [], | ||
7823 | - [m4_dquote(m4_shift($@))])]) | ||
7824 | -m4_define([lt_unquote], $1) | ||
7825 | - | ||
7826 | - | ||
7827 | -# lt_append(MACRO-NAME, STRING, [SEPARATOR]) | ||
7828 | -# ------------------------------------------ | ||
7829 | -# Redefine MACRO-NAME to hold its former content plus `SEPARATOR'`STRING'. | ||
7830 | -# Note that neither SEPARATOR nor STRING are expanded; they are appended | ||
7831 | -# to MACRO-NAME as is (leaving the expansion for when MACRO-NAME is invoked). | ||
7832 | -# No SEPARATOR is output if MACRO-NAME was previously undefined (different | ||
7833 | -# than defined and empty). | ||
7834 | -# | ||
7835 | -# This macro is needed until we can rely on Autoconf 2.62, since earlier | ||
7836 | -# versions of m4sugar mistakenly expanded SEPARATOR but not STRING. | ||
7837 | -m4_define([lt_append], | ||
7838 | -[m4_define([$1], | ||
7839 | - m4_ifdef([$1], [m4_defn([$1])[$3]])[$2])]) | ||
7840 | - | ||
7841 | - | ||
7842 | - | ||
7843 | -# lt_combine(SEP, PREFIX-LIST, INFIX, SUFFIX1, [SUFFIX2...]) | ||
7844 | -# ---------------------------------------------------------- | ||
7845 | -# Produce a SEP delimited list of all paired combinations of elements of | ||
7846 | -# PREFIX-LIST with SUFFIX1 through SUFFIXn. Each element of the list | ||
7847 | -# has the form PREFIXmINFIXSUFFIXn. | ||
7848 | -# Needed until we can rely on m4_combine added in Autoconf 2.62. | ||
7849 | -m4_define([lt_combine], | ||
7850 | -[m4_if(m4_eval([$# > 3]), [1], | ||
7851 | - [m4_pushdef([_Lt_sep], [m4_define([_Lt_sep], m4_defn([lt_car]))])]]dnl | ||
7852 | -[[m4_foreach([_Lt_prefix], [$2], | ||
7853 | - [m4_foreach([_Lt_suffix], | ||
7854 | - ]m4_dquote(m4_dquote(m4_shift(m4_shift(m4_shift($@)))))[, | ||
7855 | - [_Lt_sep([$1])[]m4_defn([_Lt_prefix])[$3]m4_defn([_Lt_suffix])])])])]) | ||
7856 | - | ||
7857 | - | ||
7858 | -# lt_if_append_uniq(MACRO-NAME, VARNAME, [SEPARATOR], [UNIQ], [NOT-UNIQ]) | ||
7859 | -# ----------------------------------------------------------------------- | ||
7860 | -# Iff MACRO-NAME does not yet contain VARNAME, then append it (delimited | ||
7861 | -# by SEPARATOR if supplied) and expand UNIQ, else NOT-UNIQ. | ||
7862 | -m4_define([lt_if_append_uniq], | ||
7863 | -[m4_ifdef([$1], | ||
7864 | - [m4_if(m4_index([$3]m4_defn([$1])[$3], [$3$2$3]), [-1], | ||
7865 | - [lt_append([$1], [$2], [$3])$4], | ||
7866 | - [$5])], | ||
7867 | - [lt_append([$1], [$2], [$3])$4])]) | ||
7868 | - | ||
7869 | - | ||
7870 | -# lt_dict_add(DICT, KEY, VALUE) | ||
7871 | -# ----------------------------- | ||
7872 | -m4_define([lt_dict_add], | ||
7873 | -[m4_define([$1($2)], [$3])]) | ||
7874 | - | ||
7875 | - | ||
7876 | -# lt_dict_add_subkey(DICT, KEY, SUBKEY, VALUE) | ||
7877 | -# -------------------------------------------- | ||
7878 | -m4_define([lt_dict_add_subkey], | ||
7879 | -[m4_define([$1($2:$3)], [$4])]) | ||
7880 | - | ||
7881 | - | ||
7882 | -# lt_dict_fetch(DICT, KEY, [SUBKEY]) | ||
7883 | -# ---------------------------------- | ||
7884 | -m4_define([lt_dict_fetch], | ||
7885 | -[m4_ifval([$3], | ||
7886 | - m4_ifdef([$1($2:$3)], [m4_defn([$1($2:$3)])]), | ||
7887 | - m4_ifdef([$1($2)], [m4_defn([$1($2)])]))]) | ||
7888 | - | ||
7889 | - | ||
7890 | -# lt_if_dict_fetch(DICT, KEY, [SUBKEY], VALUE, IF-TRUE, [IF-FALSE]) | ||
7891 | -# ----------------------------------------------------------------- | ||
7892 | -m4_define([lt_if_dict_fetch], | ||
7893 | -[m4_if(lt_dict_fetch([$1], [$2], [$3]), [$4], | ||
7894 | - [$5], | ||
7895 | - [$6])]) | ||
7896 | - | ||
7897 | - | ||
7898 | -# lt_dict_filter(DICT, [SUBKEY], VALUE, [SEPARATOR], KEY, [...]) | ||
7899 | -# -------------------------------------------------------------- | ||
7900 | -m4_define([lt_dict_filter], | ||
7901 | -[m4_if([$5], [], [], | ||
7902 | - [lt_join(m4_quote(m4_default([$4], [[, ]])), | ||
7903 | - lt_unquote(m4_split(m4_normalize(m4_foreach(_Lt_key, lt_car([m4_shiftn(4, $@)]), | ||
7904 | - [lt_if_dict_fetch([$1], _Lt_key, [$2], [$3], [_Lt_key ])])))))])[]dnl | ||
7905 | -]) | ||
7906 | Index: libiconv-1.13.1/libcharset/m4/ltversion.m4 | ||
7907 | =================================================================== | ||
7908 | --- libiconv-1.13.1.orig/libcharset/m4/ltversion.m4 | ||
7909 | +++ /dev/null | ||
7910 | @@ -1,23 +0,0 @@ | ||
7911 | -# ltversion.m4 -- version numbers -*- Autoconf -*- | ||
7912 | -# | ||
7913 | -# Copyright (C) 2004 Free Software Foundation, Inc. | ||
7914 | -# Written by Scott James Remnant, 2004 | ||
7915 | -# | ||
7916 | -# This file is free software; the Free Software Foundation gives | ||
7917 | -# unlimited permission to copy and/or distribute it, with or without | ||
7918 | -# modifications, as long as this notice is preserved. | ||
7919 | - | ||
7920 | -# Generated from ltversion.in. | ||
7921 | - | ||
7922 | -# serial 3012 ltversion.m4 | ||
7923 | -# This file is part of GNU Libtool | ||
7924 | - | ||
7925 | -m4_define([LT_PACKAGE_VERSION], [2.2.6]) | ||
7926 | -m4_define([LT_PACKAGE_REVISION], [1.3012]) | ||
7927 | - | ||
7928 | -AC_DEFUN([LTVERSION_VERSION], | ||
7929 | -[macro_version='2.2.6' | ||
7930 | -macro_revision='1.3012' | ||
7931 | -_LT_DECL(, macro_version, 0, [Which release of libtool.m4 was used?]) | ||
7932 | -_LT_DECL(, macro_revision, 0) | ||
7933 | -]) | ||
7934 | Index: libiconv-1.13.1/libcharset/m4/lt~obsolete.m4 | ||
7935 | =================================================================== | ||
7936 | --- libiconv-1.13.1.orig/libcharset/m4/lt~obsolete.m4 | ||
7937 | +++ /dev/null | ||
7938 | @@ -1,92 +0,0 @@ | ||
7939 | -# lt~obsolete.m4 -- aclocal satisfying obsolete definitions. -*-Autoconf-*- | ||
7940 | -# | ||
7941 | -# Copyright (C) 2004, 2005, 2007 Free Software Foundation, Inc. | ||
7942 | -# Written by Scott James Remnant, 2004. | ||
7943 | -# | ||
7944 | -# This file is free software; the Free Software Foundation gives | ||
7945 | -# unlimited permission to copy and/or distribute it, with or without | ||
7946 | -# modifications, as long as this notice is preserved. | ||
7947 | - | ||
7948 | -# serial 4 lt~obsolete.m4 | ||
7949 | - | ||
7950 | -# These exist entirely to fool aclocal when bootstrapping libtool. | ||
7951 | -# | ||
7952 | -# In the past libtool.m4 has provided macros via AC_DEFUN (or AU_DEFUN) | ||
7953 | -# which have later been changed to m4_define as they aren't part of the | ||
7954 | -# exported API, or moved to Autoconf or Automake where they belong. | ||
7955 | -# | ||
7956 | -# The trouble is, aclocal is a bit thick. It'll see the old AC_DEFUN | ||
7957 | -# in /usr/share/aclocal/libtool.m4 and remember it, then when it sees us | ||
7958 | -# using a macro with the same name in our local m4/libtool.m4 it'll | ||
7959 | -# pull the old libtool.m4 in (it doesn't see our shiny new m4_define | ||
7960 | -# and doesn't know about Autoconf macros at all.) | ||
7961 | -# | ||
7962 | -# So we provide this file, which has a silly filename so it's always | ||
7963 | -# included after everything else. This provides aclocal with the | ||
7964 | -# AC_DEFUNs it wants, but when m4 processes it, it doesn't do anything | ||
7965 | -# because those macros already exist, or will be overwritten later. | ||
7966 | -# We use AC_DEFUN over AU_DEFUN for compatibility with aclocal-1.6. | ||
7967 | -# | ||
7968 | -# Anytime we withdraw an AC_DEFUN or AU_DEFUN, remember to add it here. | ||
7969 | -# Yes, that means every name once taken will need to remain here until | ||
7970 | -# we give up compatibility with versions before 1.7, at which point | ||
7971 | -# we need to keep only those names which we still refer to. | ||
7972 | - | ||
7973 | -# This is to help aclocal find these macros, as it can't see m4_define. | ||
7974 | -AC_DEFUN([LTOBSOLETE_VERSION], [m4_if([1])]) | ||
7975 | - | ||
7976 | -m4_ifndef([AC_LIBTOOL_LINKER_OPTION], [AC_DEFUN([AC_LIBTOOL_LINKER_OPTION])]) | ||
7977 | -m4_ifndef([AC_PROG_EGREP], [AC_DEFUN([AC_PROG_EGREP])]) | ||
7978 | -m4_ifndef([_LT_AC_PROG_ECHO_BACKSLASH], [AC_DEFUN([_LT_AC_PROG_ECHO_BACKSLASH])]) | ||
7979 | -m4_ifndef([_LT_AC_SHELL_INIT], [AC_DEFUN([_LT_AC_SHELL_INIT])]) | ||
7980 | -m4_ifndef([_LT_AC_SYS_LIBPATH_AIX], [AC_DEFUN([_LT_AC_SYS_LIBPATH_AIX])]) | ||
7981 | -m4_ifndef([_LT_PROG_LTMAIN], [AC_DEFUN([_LT_PROG_LTMAIN])]) | ||
7982 | -m4_ifndef([_LT_AC_TAGVAR], [AC_DEFUN([_LT_AC_TAGVAR])]) | ||
7983 | -m4_ifndef([AC_LTDL_ENABLE_INSTALL], [AC_DEFUN([AC_LTDL_ENABLE_INSTALL])]) | ||
7984 | -m4_ifndef([AC_LTDL_PREOPEN], [AC_DEFUN([AC_LTDL_PREOPEN])]) | ||
7985 | -m4_ifndef([_LT_AC_SYS_COMPILER], [AC_DEFUN([_LT_AC_SYS_COMPILER])]) | ||
7986 | -m4_ifndef([_LT_AC_LOCK], [AC_DEFUN([_LT_AC_LOCK])]) | ||
7987 | -m4_ifndef([AC_LIBTOOL_SYS_OLD_ARCHIVE], [AC_DEFUN([AC_LIBTOOL_SYS_OLD_ARCHIVE])]) | ||
7988 | -m4_ifndef([_LT_AC_TRY_DLOPEN_SELF], [AC_DEFUN([_LT_AC_TRY_DLOPEN_SELF])]) | ||
7989 | -m4_ifndef([AC_LIBTOOL_PROG_CC_C_O], [AC_DEFUN([AC_LIBTOOL_PROG_CC_C_O])]) | ||
7990 | -m4_ifndef([AC_LIBTOOL_SYS_HARD_LINK_LOCKS], [AC_DEFUN([AC_LIBTOOL_SYS_HARD_LINK_LOCKS])]) | ||
7991 | -m4_ifndef([AC_LIBTOOL_OBJDIR], [AC_DEFUN([AC_LIBTOOL_OBJDIR])]) | ||
7992 | -m4_ifndef([AC_LTDL_OBJDIR], [AC_DEFUN([AC_LTDL_OBJDIR])]) | ||
7993 | -m4_ifndef([AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH], [AC_DEFUN([AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH])]) | ||
7994 | -m4_ifndef([AC_LIBTOOL_SYS_LIB_STRIP], [AC_DEFUN([AC_LIBTOOL_SYS_LIB_STRIP])]) | ||
7995 | -m4_ifndef([AC_PATH_MAGIC], [AC_DEFUN([AC_PATH_MAGIC])]) | ||
7996 | -m4_ifndef([AC_PROG_LD_GNU], [AC_DEFUN([AC_PROG_LD_GNU])]) | ||
7997 | -m4_ifndef([AC_PROG_LD_RELOAD_FLAG], [AC_DEFUN([AC_PROG_LD_RELOAD_FLAG])]) | ||
7998 | -m4_ifndef([AC_DEPLIBS_CHECK_METHOD], [AC_DEFUN([AC_DEPLIBS_CHECK_METHOD])]) | ||
7999 | -m4_ifndef([AC_LIBTOOL_PROG_COMPILER_NO_RTTI], [AC_DEFUN([AC_LIBTOOL_PROG_COMPILER_NO_RTTI])]) | ||
8000 | -m4_ifndef([AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE], [AC_DEFUN([AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE])]) | ||
8001 | -m4_ifndef([AC_LIBTOOL_PROG_COMPILER_PIC], [AC_DEFUN([AC_LIBTOOL_PROG_COMPILER_PIC])]) | ||
8002 | -m4_ifndef([AC_LIBTOOL_PROG_LD_SHLIBS], [AC_DEFUN([AC_LIBTOOL_PROG_LD_SHLIBS])]) | ||
8003 | -m4_ifndef([AC_LIBTOOL_POSTDEP_PREDEP], [AC_DEFUN([AC_LIBTOOL_POSTDEP_PREDEP])]) | ||
8004 | -m4_ifndef([LT_AC_PROG_EGREP], [AC_DEFUN([LT_AC_PROG_EGREP])]) | ||
8005 | -m4_ifndef([LT_AC_PROG_SED], [AC_DEFUN([LT_AC_PROG_SED])]) | ||
8006 | -m4_ifndef([_LT_CC_BASENAME], [AC_DEFUN([_LT_CC_BASENAME])]) | ||
8007 | -m4_ifndef([_LT_COMPILER_BOILERPLATE], [AC_DEFUN([_LT_COMPILER_BOILERPLATE])]) | ||
8008 | -m4_ifndef([_LT_LINKER_BOILERPLATE], [AC_DEFUN([_LT_LINKER_BOILERPLATE])]) | ||
8009 | -m4_ifndef([_AC_PROG_LIBTOOL], [AC_DEFUN([_AC_PROG_LIBTOOL])]) | ||
8010 | -m4_ifndef([AC_LIBTOOL_SETUP], [AC_DEFUN([AC_LIBTOOL_SETUP])]) | ||
8011 | -m4_ifndef([_LT_AC_CHECK_DLFCN], [AC_DEFUN([_LT_AC_CHECK_DLFCN])]) | ||
8012 | -m4_ifndef([AC_LIBTOOL_SYS_DYNAMIC_LINKER], [AC_DEFUN([AC_LIBTOOL_SYS_DYNAMIC_LINKER])]) | ||
8013 | -m4_ifndef([_LT_AC_TAGCONFIG], [AC_DEFUN([_LT_AC_TAGCONFIG])]) | ||
8014 | -m4_ifndef([AC_DISABLE_FAST_INSTALL], [AC_DEFUN([AC_DISABLE_FAST_INSTALL])]) | ||
8015 | -m4_ifndef([_LT_AC_LANG_CXX], [AC_DEFUN([_LT_AC_LANG_CXX])]) | ||
8016 | -m4_ifndef([_LT_AC_LANG_F77], [AC_DEFUN([_LT_AC_LANG_F77])]) | ||
8017 | -m4_ifndef([_LT_AC_LANG_GCJ], [AC_DEFUN([_LT_AC_LANG_GCJ])]) | ||
8018 | -m4_ifndef([AC_LIBTOOL_RC], [AC_DEFUN([AC_LIBTOOL_RC])]) | ||
8019 | -m4_ifndef([AC_LIBTOOL_LANG_C_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_C_CONFIG])]) | ||
8020 | -m4_ifndef([_LT_AC_LANG_C_CONFIG], [AC_DEFUN([_LT_AC_LANG_C_CONFIG])]) | ||
8021 | -m4_ifndef([AC_LIBTOOL_LANG_CXX_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_CXX_CONFIG])]) | ||
8022 | -m4_ifndef([_LT_AC_LANG_CXX_CONFIG], [AC_DEFUN([_LT_AC_LANG_CXX_CONFIG])]) | ||
8023 | -m4_ifndef([AC_LIBTOOL_LANG_F77_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_F77_CONFIG])]) | ||
8024 | -m4_ifndef([_LT_AC_LANG_F77_CONFIG], [AC_DEFUN([_LT_AC_LANG_F77_CONFIG])]) | ||
8025 | -m4_ifndef([AC_LIBTOOL_LANG_GCJ_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_GCJ_CONFIG])]) | ||
8026 | -m4_ifndef([_LT_AC_LANG_GCJ_CONFIG], [AC_DEFUN([_LT_AC_LANG_GCJ_CONFIG])]) | ||
8027 | -m4_ifndef([AC_LIBTOOL_LANG_RC_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_RC_CONFIG])]) | ||
8028 | -m4_ifndef([_LT_AC_LANG_RC_CONFIG], [AC_DEFUN([_LT_AC_LANG_RC_CONFIG])]) | ||
8029 | -m4_ifndef([AC_LIBTOOL_CONFIG], [AC_DEFUN([AC_LIBTOOL_CONFIG])]) | ||
8030 | -m4_ifndef([_LT_AC_FILE_LTDLL_C], [AC_DEFUN([_LT_AC_FILE_LTDLL_C])]) | ||
8031 | Index: libiconv-1.13.1/m4/libtool.m4 | ||
8032 | =================================================================== | ||
8033 | --- libiconv-1.13.1.orig/m4/libtool.m4 | ||
8034 | +++ /dev/null | ||
8035 | @@ -1,7357 +0,0 @@ | ||
8036 | -# libtool.m4 - Configure libtool for the host system. -*-Autoconf-*- | ||
8037 | -# | ||
8038 | -# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005, | ||
8039 | -# 2006, 2007, 2008 Free Software Foundation, Inc. | ||
8040 | -# Written by Gordon Matzigkeit, 1996 | ||
8041 | -# | ||
8042 | -# This file is free software; the Free Software Foundation gives | ||
8043 | -# unlimited permission to copy and/or distribute it, with or without | ||
8044 | -# modifications, as long as this notice is preserved. | ||
8045 | - | ||
8046 | -m4_define([_LT_COPYING], [dnl | ||
8047 | -# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005, | ||
8048 | -# 2006, 2007, 2008 Free Software Foundation, Inc. | ||
8049 | -# Written by Gordon Matzigkeit, 1996 | ||
8050 | -# | ||
8051 | -# This file is part of GNU Libtool. | ||
8052 | -# | ||
8053 | -# GNU Libtool is free software; you can redistribute it and/or | ||
8054 | -# modify it under the terms of the GNU General Public License as | ||
8055 | -# published by the Free Software Foundation; either version 2 of | ||
8056 | -# the License, or (at your option) any later version. | ||
8057 | -# | ||
8058 | -# As a special exception to the GNU General Public License, | ||
8059 | -# if you distribute this file as part of a program or library that | ||
8060 | -# is built using GNU Libtool, you may include this file under the | ||
8061 | -# same distribution terms that you use for the rest of that program. | ||
8062 | -# | ||
8063 | -# GNU Libtool is distributed in the hope that it will be useful, | ||
8064 | -# but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
8065 | -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
8066 | -# GNU General Public License for more details. | ||
8067 | -# | ||
8068 | -# You should have received a copy of the GNU General Public License | ||
8069 | -# along with GNU Libtool; see the file COPYING. If not, a copy | ||
8070 | -# can be downloaded from http://www.gnu.org/licenses/gpl.html, or | ||
8071 | -# obtained by writing to the Free Software Foundation, Inc., | ||
8072 | -# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. | ||
8073 | -]) | ||
8074 | - | ||
8075 | -# serial 56 LT_INIT | ||
8076 | - | ||
8077 | - | ||
8078 | -# LT_PREREQ(VERSION) | ||
8079 | -# ------------------ | ||
8080 | -# Complain and exit if this libtool version is less that VERSION. | ||
8081 | -m4_defun([LT_PREREQ], | ||
8082 | -[m4_if(m4_version_compare(m4_defn([LT_PACKAGE_VERSION]), [$1]), -1, | ||
8083 | - [m4_default([$3], | ||
8084 | - [m4_fatal([Libtool version $1 or higher is required], | ||
8085 | - 63)])], | ||
8086 | - [$2])]) | ||
8087 | - | ||
8088 | - | ||
8089 | -# _LT_CHECK_BUILDDIR | ||
8090 | -# ------------------ | ||
8091 | -# Complain if the absolute build directory name contains unusual characters | ||
8092 | -m4_defun([_LT_CHECK_BUILDDIR], | ||
8093 | -[case `pwd` in | ||
8094 | - *\ * | *\ *) | ||
8095 | - AC_MSG_WARN([Libtool does not cope well with whitespace in `pwd`]) ;; | ||
8096 | -esac | ||
8097 | -]) | ||
8098 | - | ||
8099 | - | ||
8100 | -# LT_INIT([OPTIONS]) | ||
8101 | -# ------------------ | ||
8102 | -AC_DEFUN([LT_INIT], | ||
8103 | -[AC_PREREQ([2.58])dnl We use AC_INCLUDES_DEFAULT | ||
8104 | -AC_BEFORE([$0], [LT_LANG])dnl | ||
8105 | -AC_BEFORE([$0], [LT_OUTPUT])dnl | ||
8106 | -AC_BEFORE([$0], [LTDL_INIT])dnl | ||
8107 | -m4_require([_LT_CHECK_BUILDDIR])dnl | ||
8108 | - | ||
8109 | -dnl Autoconf doesn't catch unexpanded LT_ macros by default: | ||
8110 | -m4_pattern_forbid([^_?LT_[A-Z_]+$])dnl | ||
8111 | -m4_pattern_allow([^(_LT_EOF|LT_DLGLOBAL|LT_DLLAZY_OR_NOW|LT_MULTI_MODULE)$])dnl | ||
8112 | -dnl aclocal doesn't pull ltoptions.m4, ltsugar.m4, or ltversion.m4 | ||
8113 | -dnl unless we require an AC_DEFUNed macro: | ||
8114 | -AC_REQUIRE([LTOPTIONS_VERSION])dnl | ||
8115 | -AC_REQUIRE([LTSUGAR_VERSION])dnl | ||
8116 | -AC_REQUIRE([LTVERSION_VERSION])dnl | ||
8117 | -AC_REQUIRE([LTOBSOLETE_VERSION])dnl | ||
8118 | -m4_require([_LT_PROG_LTMAIN])dnl | ||
8119 | - | ||
8120 | -dnl Parse OPTIONS | ||
8121 | -_LT_SET_OPTIONS([$0], [$1]) | ||
8122 | - | ||
8123 | -# This can be used to rebuild libtool when needed | ||
8124 | -LIBTOOL_DEPS="$ltmain" | ||
8125 | - | ||
8126 | -# Always use our own libtool. | ||
8127 | -LIBTOOL="${CONFIG_SHELL-$SHELL} "'$(top_builddir)/libtool' | ||
8128 | -AC_SUBST(LIBTOOL)dnl | ||
8129 | - | ||
8130 | -_LT_SETUP | ||
8131 | - | ||
8132 | -# Only expand once: | ||
8133 | -m4_define([LT_INIT]) | ||
8134 | -])# LT_INIT | ||
8135 | - | ||
8136 | -# Old names: | ||
8137 | -AU_ALIAS([AC_PROG_LIBTOOL], [LT_INIT]) | ||
8138 | -AU_ALIAS([AM_PROG_LIBTOOL], [LT_INIT]) | ||
8139 | -dnl aclocal-1.4 backwards compatibility: | ||
8140 | -dnl AC_DEFUN([AC_PROG_LIBTOOL], []) | ||
8141 | -dnl AC_DEFUN([AM_PROG_LIBTOOL], []) | ||
8142 | - | ||
8143 | - | ||
8144 | -# _LT_CC_BASENAME(CC) | ||
8145 | -# ------------------- | ||
8146 | -# Calculate cc_basename. Skip known compiler wrappers and cross-prefix. | ||
8147 | -m4_defun([_LT_CC_BASENAME], | ||
8148 | -[for cc_temp in $1""; do | ||
8149 | - case $cc_temp in | ||
8150 | - compile | *[[\\/]]compile | ccache | *[[\\/]]ccache ) ;; | ||
8151 | - distcc | *[[\\/]]distcc | purify | *[[\\/]]purify ) ;; | ||
8152 | - \-*) ;; | ||
8153 | - *) break;; | ||
8154 | - esac | ||
8155 | -done | ||
8156 | -cc_basename=`$ECHO "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"` | ||
8157 | -]) | ||
8158 | - | ||
8159 | - | ||
8160 | -# _LT_FILEUTILS_DEFAULTS | ||
8161 | -# ---------------------- | ||
8162 | -# It is okay to use these file commands and assume they have been set | ||
8163 | -# sensibly after `m4_require([_LT_FILEUTILS_DEFAULTS])'. | ||
8164 | -m4_defun([_LT_FILEUTILS_DEFAULTS], | ||
8165 | -[: ${CP="cp -f"} | ||
8166 | -: ${MV="mv -f"} | ||
8167 | -: ${RM="rm -f"} | ||
8168 | -])# _LT_FILEUTILS_DEFAULTS | ||
8169 | - | ||
8170 | - | ||
8171 | -# _LT_SETUP | ||
8172 | -# --------- | ||
8173 | -m4_defun([_LT_SETUP], | ||
8174 | -[AC_REQUIRE([AC_CANONICAL_HOST])dnl | ||
8175 | -AC_REQUIRE([AC_CANONICAL_BUILD])dnl | ||
8176 | -_LT_DECL([], [host_alias], [0], [The host system])dnl | ||
8177 | -_LT_DECL([], [host], [0])dnl | ||
8178 | -_LT_DECL([], [host_os], [0])dnl | ||
8179 | -dnl | ||
8180 | -_LT_DECL([], [build_alias], [0], [The build system])dnl | ||
8181 | -_LT_DECL([], [build], [0])dnl | ||
8182 | -_LT_DECL([], [build_os], [0])dnl | ||
8183 | -dnl | ||
8184 | -AC_REQUIRE([AC_PROG_CC])dnl | ||
8185 | -AC_REQUIRE([LT_PATH_LD])dnl | ||
8186 | -AC_REQUIRE([LT_PATH_NM])dnl | ||
8187 | -dnl | ||
8188 | -AC_REQUIRE([AC_PROG_LN_S])dnl | ||
8189 | -test -z "$LN_S" && LN_S="ln -s" | ||
8190 | -_LT_DECL([], [LN_S], [1], [Whether we need soft or hard links])dnl | ||
8191 | -dnl | ||
8192 | -AC_REQUIRE([LT_CMD_MAX_LEN])dnl | ||
8193 | -_LT_DECL([objext], [ac_objext], [0], [Object file suffix (normally "o")])dnl | ||
8194 | -_LT_DECL([], [exeext], [0], [Executable file suffix (normally "")])dnl | ||
8195 | -dnl | ||
8196 | -m4_require([_LT_FILEUTILS_DEFAULTS])dnl | ||
8197 | -m4_require([_LT_CHECK_SHELL_FEATURES])dnl | ||
8198 | -m4_require([_LT_CMD_RELOAD])dnl | ||
8199 | -m4_require([_LT_CHECK_MAGIC_METHOD])dnl | ||
8200 | -m4_require([_LT_CMD_OLD_ARCHIVE])dnl | ||
8201 | -m4_require([_LT_CMD_GLOBAL_SYMBOLS])dnl | ||
8202 | - | ||
8203 | -_LT_CONFIG_LIBTOOL_INIT([ | ||
8204 | -# See if we are running on zsh, and set the options which allow our | ||
8205 | -# commands through without removal of \ escapes INIT. | ||
8206 | -if test -n "\${ZSH_VERSION+set}" ; then | ||
8207 | - setopt NO_GLOB_SUBST | ||
8208 | -fi | ||
8209 | -]) | ||
8210 | -if test -n "${ZSH_VERSION+set}" ; then | ||
8211 | - setopt NO_GLOB_SUBST | ||
8212 | -fi | ||
8213 | - | ||
8214 | -_LT_CHECK_OBJDIR | ||
8215 | - | ||
8216 | -m4_require([_LT_TAG_COMPILER])dnl | ||
8217 | -_LT_PROG_ECHO_BACKSLASH | ||
8218 | - | ||
8219 | -case $host_os in | ||
8220 | -aix3*) | ||
8221 | - # AIX sometimes has problems with the GCC collect2 program. For some | ||
8222 | - # reason, if we set the COLLECT_NAMES environment variable, the problems | ||
8223 | - # vanish in a puff of smoke. | ||
8224 | - if test "X${COLLECT_NAMES+set}" != Xset; then | ||
8225 | - COLLECT_NAMES= | ||
8226 | - export COLLECT_NAMES | ||
8227 | - fi | ||
8228 | - ;; | ||
8229 | -esac | ||
8230 | - | ||
8231 | -# Sed substitution that helps us do robust quoting. It backslashifies | ||
8232 | -# metacharacters that are still active within double-quoted strings. | ||
8233 | -sed_quote_subst='s/\([["`$\\]]\)/\\\1/g' | ||
8234 | - | ||
8235 | -# Same as above, but do not quote variable references. | ||
8236 | -double_quote_subst='s/\([["`\\]]\)/\\\1/g' | ||
8237 | - | ||
8238 | -# Sed substitution to delay expansion of an escaped shell variable in a | ||
8239 | -# double_quote_subst'ed string. | ||
8240 | -delay_variable_subst='s/\\\\\\\\\\\$/\\\\\\$/g' | ||
8241 | - | ||
8242 | -# Sed substitution to delay expansion of an escaped single quote. | ||
8243 | -delay_single_quote_subst='s/'\''/'\'\\\\\\\'\''/g' | ||
8244 | - | ||
8245 | -# Sed substitution to avoid accidental globbing in evaled expressions | ||
8246 | -no_glob_subst='s/\*/\\\*/g' | ||
8247 | - | ||
8248 | -# Global variables: | ||
8249 | -ofile=libtool | ||
8250 | -can_build_shared=yes | ||
8251 | - | ||
8252 | -# All known linkers require a `.a' archive for static linking (except MSVC, | ||
8253 | -# which needs '.lib'). | ||
8254 | -libext=a | ||
8255 | - | ||
8256 | -with_gnu_ld="$lt_cv_prog_gnu_ld" | ||
8257 | - | ||
8258 | -old_CC="$CC" | ||
8259 | -old_CFLAGS="$CFLAGS" | ||
8260 | - | ||
8261 | -# Set sane defaults for various variables | ||
8262 | -test -z "$CC" && CC=cc | ||
8263 | -test -z "$LTCC" && LTCC=$CC | ||
8264 | -test -z "$LTCFLAGS" && LTCFLAGS=$CFLAGS | ||
8265 | -test -z "$LD" && LD=ld | ||
8266 | -test -z "$ac_objext" && ac_objext=o | ||
8267 | - | ||
8268 | -_LT_CC_BASENAME([$compiler]) | ||
8269 | - | ||
8270 | -# Only perform the check for file, if the check method requires it | ||
8271 | -test -z "$MAGIC_CMD" && MAGIC_CMD=file | ||
8272 | -case $deplibs_check_method in | ||
8273 | -file_magic*) | ||
8274 | - if test "$file_magic_cmd" = '$MAGIC_CMD'; then | ||
8275 | - _LT_PATH_MAGIC | ||
8276 | - fi | ||
8277 | - ;; | ||
8278 | -esac | ||
8279 | - | ||
8280 | -# Use C for the default configuration in the libtool script | ||
8281 | -LT_SUPPORTED_TAG([CC]) | ||
8282 | -_LT_LANG_C_CONFIG | ||
8283 | -_LT_LANG_DEFAULT_CONFIG | ||
8284 | -_LT_CONFIG_COMMANDS | ||
8285 | -])# _LT_SETUP | ||
8286 | - | ||
8287 | - | ||
8288 | -# _LT_PROG_LTMAIN | ||
8289 | -# --------------- | ||
8290 | -# Note that this code is called both from `configure', and `config.status' | ||
8291 | -# now that we use AC_CONFIG_COMMANDS to generate libtool. Notably, | ||
8292 | -# `config.status' has no value for ac_aux_dir unless we are using Automake, | ||
8293 | -# so we pass a copy along to make sure it has a sensible value anyway. | ||
8294 | -m4_defun([_LT_PROG_LTMAIN], | ||
8295 | -[m4_ifdef([AC_REQUIRE_AUX_FILE], [AC_REQUIRE_AUX_FILE([ltmain.sh])])dnl | ||
8296 | -_LT_CONFIG_LIBTOOL_INIT([ac_aux_dir='$ac_aux_dir']) | ||
8297 | -ltmain="$ac_aux_dir/ltmain.sh" | ||
8298 | -])# _LT_PROG_LTMAIN | ||
8299 | - | ||
8300 | - | ||
8301 | -## ------------------------------------- ## | ||
8302 | -## Accumulate code for creating libtool. ## | ||
8303 | -## ------------------------------------- ## | ||
8304 | - | ||
8305 | -# So that we can recreate a full libtool script including additional | ||
8306 | -# tags, we accumulate the chunks of code to send to AC_CONFIG_COMMANDS | ||
8307 | -# in macros and then make a single call at the end using the `libtool' | ||
8308 | -# label. | ||
8309 | - | ||
8310 | - | ||
8311 | -# _LT_CONFIG_LIBTOOL_INIT([INIT-COMMANDS]) | ||
8312 | -# ---------------------------------------- | ||
8313 | -# Register INIT-COMMANDS to be passed to AC_CONFIG_COMMANDS later. | ||
8314 | -m4_define([_LT_CONFIG_LIBTOOL_INIT], | ||
8315 | -[m4_ifval([$1], | ||
8316 | - [m4_append([_LT_OUTPUT_LIBTOOL_INIT], | ||
8317 | - [$1 | ||
8318 | -])])]) | ||
8319 | - | ||
8320 | -# Initialize. | ||
8321 | -m4_define([_LT_OUTPUT_LIBTOOL_INIT]) | ||
8322 | - | ||
8323 | - | ||
8324 | -# _LT_CONFIG_LIBTOOL([COMMANDS]) | ||
8325 | -# ------------------------------ | ||
8326 | -# Register COMMANDS to be passed to AC_CONFIG_COMMANDS later. | ||
8327 | -m4_define([_LT_CONFIG_LIBTOOL], | ||
8328 | -[m4_ifval([$1], | ||
8329 | - [m4_append([_LT_OUTPUT_LIBTOOL_COMMANDS], | ||
8330 | - [$1 | ||
8331 | -])])]) | ||
8332 | - | ||
8333 | -# Initialize. | ||
8334 | -m4_define([_LT_OUTPUT_LIBTOOL_COMMANDS]) | ||
8335 | - | ||
8336 | - | ||
8337 | -# _LT_CONFIG_SAVE_COMMANDS([COMMANDS], [INIT_COMMANDS]) | ||
8338 | -# ----------------------------------------------------- | ||
8339 | -m4_defun([_LT_CONFIG_SAVE_COMMANDS], | ||
8340 | -[_LT_CONFIG_LIBTOOL([$1]) | ||
8341 | -_LT_CONFIG_LIBTOOL_INIT([$2]) | ||
8342 | -]) | ||
8343 | - | ||
8344 | - | ||
8345 | -# _LT_FORMAT_COMMENT([COMMENT]) | ||
8346 | -# ----------------------------- | ||
8347 | -# Add leading comment marks to the start of each line, and a trailing | ||
8348 | -# full-stop to the whole comment if one is not present already. | ||
8349 | -m4_define([_LT_FORMAT_COMMENT], | ||
8350 | -[m4_ifval([$1], [ | ||
8351 | -m4_bpatsubst([m4_bpatsubst([$1], [^ *], [# ])], | ||
8352 | - [['`$\]], [\\\&])]m4_bmatch([$1], [[!?.]$], [], [.]) | ||
8353 | -)]) | ||
8354 | - | ||
8355 | - | ||
8356 | - | ||
8357 | -## ------------------------ ## | ||
8358 | -## FIXME: Eliminate VARNAME ## | ||
8359 | -## ------------------------ ## | ||
8360 | - | ||
8361 | - | ||
8362 | -# _LT_DECL([CONFIGNAME], VARNAME, VALUE, [DESCRIPTION], [IS-TAGGED?]) | ||
8363 | -# ------------------------------------------------------------------- | ||
8364 | -# CONFIGNAME is the name given to the value in the libtool script. | ||
8365 | -# VARNAME is the (base) name used in the configure script. | ||
8366 | -# VALUE may be 0, 1 or 2 for a computed quote escaped value based on | ||
8367 | -# VARNAME. Any other value will be used directly. | ||
8368 | -m4_define([_LT_DECL], | ||
8369 | -[lt_if_append_uniq([lt_decl_varnames], [$2], [, ], | ||
8370 | - [lt_dict_add_subkey([lt_decl_dict], [$2], [libtool_name], | ||
8371 | - [m4_ifval([$1], [$1], [$2])]) | ||
8372 | - lt_dict_add_subkey([lt_decl_dict], [$2], [value], [$3]) | ||
8373 | - m4_ifval([$4], | ||
8374 | - [lt_dict_add_subkey([lt_decl_dict], [$2], [description], [$4])]) | ||
8375 | - lt_dict_add_subkey([lt_decl_dict], [$2], | ||
8376 | - [tagged?], [m4_ifval([$5], [yes], [no])])]) | ||
8377 | -]) | ||
8378 | - | ||
8379 | - | ||
8380 | -# _LT_TAGDECL([CONFIGNAME], VARNAME, VALUE, [DESCRIPTION]) | ||
8381 | -# -------------------------------------------------------- | ||
8382 | -m4_define([_LT_TAGDECL], [_LT_DECL([$1], [$2], [$3], [$4], [yes])]) | ||
8383 | - | ||
8384 | - | ||
8385 | -# lt_decl_tag_varnames([SEPARATOR], [VARNAME1...]) | ||
8386 | -# ------------------------------------------------ | ||
8387 | -m4_define([lt_decl_tag_varnames], | ||
8388 | -[_lt_decl_filter([tagged?], [yes], $@)]) | ||
8389 | - | ||
8390 | - | ||
8391 | -# _lt_decl_filter(SUBKEY, VALUE, [SEPARATOR], [VARNAME1..]) | ||
8392 | -# --------------------------------------------------------- | ||
8393 | -m4_define([_lt_decl_filter], | ||
8394 | -[m4_case([$#], | ||
8395 | - [0], [m4_fatal([$0: too few arguments: $#])], | ||
8396 | - [1], [m4_fatal([$0: too few arguments: $#: $1])], | ||
8397 | - [2], [lt_dict_filter([lt_decl_dict], [$1], [$2], [], lt_decl_varnames)], | ||
8398 | - [3], [lt_dict_filter([lt_decl_dict], [$1], [$2], [$3], lt_decl_varnames)], | ||
8399 | - [lt_dict_filter([lt_decl_dict], $@)])[]dnl | ||
8400 | -]) | ||
8401 | - | ||
8402 | - | ||
8403 | -# lt_decl_quote_varnames([SEPARATOR], [VARNAME1...]) | ||
8404 | -# -------------------------------------------------- | ||
8405 | -m4_define([lt_decl_quote_varnames], | ||
8406 | -[_lt_decl_filter([value], [1], $@)]) | ||
8407 | - | ||
8408 | - | ||
8409 | -# lt_decl_dquote_varnames([SEPARATOR], [VARNAME1...]) | ||
8410 | -# --------------------------------------------------- | ||
8411 | -m4_define([lt_decl_dquote_varnames], | ||
8412 | -[_lt_decl_filter([value], [2], $@)]) | ||
8413 | - | ||
8414 | - | ||
8415 | -# lt_decl_varnames_tagged([SEPARATOR], [VARNAME1...]) | ||
8416 | -# --------------------------------------------------- | ||
8417 | -m4_define([lt_decl_varnames_tagged], | ||
8418 | -[m4_assert([$# <= 2])dnl | ||
8419 | -_$0(m4_quote(m4_default([$1], [[, ]])), | ||
8420 | - m4_ifval([$2], [[$2]], [m4_dquote(lt_decl_tag_varnames)]), | ||
8421 | - m4_split(m4_normalize(m4_quote(_LT_TAGS)), [ ]))]) | ||
8422 | -m4_define([_lt_decl_varnames_tagged], | ||
8423 | -[m4_ifval([$3], [lt_combine([$1], [$2], [_], $3)])]) | ||
8424 | - | ||
8425 | - | ||
8426 | -# lt_decl_all_varnames([SEPARATOR], [VARNAME1...]) | ||
8427 | -# ------------------------------------------------ | ||
8428 | -m4_define([lt_decl_all_varnames], | ||
8429 | -[_$0(m4_quote(m4_default([$1], [[, ]])), | ||
8430 | - m4_if([$2], [], | ||
8431 | - m4_quote(lt_decl_varnames), | ||
8432 | - m4_quote(m4_shift($@))))[]dnl | ||
8433 | -]) | ||
8434 | -m4_define([_lt_decl_all_varnames], | ||
8435 | -[lt_join($@, lt_decl_varnames_tagged([$1], | ||
8436 | - lt_decl_tag_varnames([[, ]], m4_shift($@))))dnl | ||
8437 | -]) | ||
8438 | - | ||
8439 | - | ||
8440 | -# _LT_CONFIG_STATUS_DECLARE([VARNAME]) | ||
8441 | -# ------------------------------------ | ||
8442 | -# Quote a variable value, and forward it to `config.status' so that its | ||
8443 | -# declaration there will have the same value as in `configure'. VARNAME | ||
8444 | -# must have a single quote delimited value for this to work. | ||
8445 | -m4_define([_LT_CONFIG_STATUS_DECLARE], | ||
8446 | -[$1='`$ECHO "X$][$1" | $Xsed -e "$delay_single_quote_subst"`']) | ||
8447 | - | ||
8448 | - | ||
8449 | -# _LT_CONFIG_STATUS_DECLARATIONS | ||
8450 | -# ------------------------------ | ||
8451 | -# We delimit libtool config variables with single quotes, so when | ||
8452 | -# we write them to config.status, we have to be sure to quote all | ||
8453 | -# embedded single quotes properly. In configure, this macro expands | ||
8454 | -# each variable declared with _LT_DECL (and _LT_TAGDECL) into: | ||
8455 | -# | ||
8456 | -# <var>='`$ECHO "X$<var>" | $Xsed -e "$delay_single_quote_subst"`' | ||
8457 | -m4_defun([_LT_CONFIG_STATUS_DECLARATIONS], | ||
8458 | -[m4_foreach([_lt_var], m4_quote(lt_decl_all_varnames), | ||
8459 | - [m4_n([_LT_CONFIG_STATUS_DECLARE(_lt_var)])])]) | ||
8460 | - | ||
8461 | - | ||
8462 | -# _LT_LIBTOOL_TAGS | ||
8463 | -# ---------------- | ||
8464 | -# Output comment and list of tags supported by the script | ||
8465 | -m4_defun([_LT_LIBTOOL_TAGS], | ||
8466 | -[_LT_FORMAT_COMMENT([The names of the tagged configurations supported by this script])dnl | ||
8467 | -available_tags="_LT_TAGS"dnl | ||
8468 | -]) | ||
8469 | - | ||
8470 | - | ||
8471 | -# _LT_LIBTOOL_DECLARE(VARNAME, [TAG]) | ||
8472 | -# ----------------------------------- | ||
8473 | -# Extract the dictionary values for VARNAME (optionally with TAG) and | ||
8474 | -# expand to a commented shell variable setting: | ||
8475 | -# | ||
8476 | -# # Some comment about what VAR is for. | ||
8477 | -# visible_name=$lt_internal_name | ||
8478 | -m4_define([_LT_LIBTOOL_DECLARE], | ||
8479 | -[_LT_FORMAT_COMMENT(m4_quote(lt_dict_fetch([lt_decl_dict], [$1], | ||
8480 | - [description])))[]dnl | ||
8481 | -m4_pushdef([_libtool_name], | ||
8482 | - m4_quote(lt_dict_fetch([lt_decl_dict], [$1], [libtool_name])))[]dnl | ||
8483 | -m4_case(m4_quote(lt_dict_fetch([lt_decl_dict], [$1], [value])), | ||
8484 | - [0], [_libtool_name=[$]$1], | ||
8485 | - [1], [_libtool_name=$lt_[]$1], | ||
8486 | - [2], [_libtool_name=$lt_[]$1], | ||
8487 | - [_libtool_name=lt_dict_fetch([lt_decl_dict], [$1], [value])])[]dnl | ||
8488 | -m4_ifval([$2], [_$2])[]m4_popdef([_libtool_name])[]dnl | ||
8489 | -]) | ||
8490 | - | ||
8491 | - | ||
8492 | -# _LT_LIBTOOL_CONFIG_VARS | ||
8493 | -# ----------------------- | ||
8494 | -# Produce commented declarations of non-tagged libtool config variables | ||
8495 | -# suitable for insertion in the LIBTOOL CONFIG section of the `libtool' | ||
8496 | -# script. Tagged libtool config variables (even for the LIBTOOL CONFIG | ||
8497 | -# section) are produced by _LT_LIBTOOL_TAG_VARS. | ||
8498 | -m4_defun([_LT_LIBTOOL_CONFIG_VARS], | ||
8499 | -[m4_foreach([_lt_var], | ||
8500 | - m4_quote(_lt_decl_filter([tagged?], [no], [], lt_decl_varnames)), | ||
8501 | - [m4_n([_LT_LIBTOOL_DECLARE(_lt_var)])])]) | ||
8502 | - | ||
8503 | - | ||
8504 | -# _LT_LIBTOOL_TAG_VARS(TAG) | ||
8505 | -# ------------------------- | ||
8506 | -m4_define([_LT_LIBTOOL_TAG_VARS], | ||
8507 | -[m4_foreach([_lt_var], m4_quote(lt_decl_tag_varnames), | ||
8508 | - [m4_n([_LT_LIBTOOL_DECLARE(_lt_var, [$1])])])]) | ||
8509 | - | ||
8510 | - | ||
8511 | -# _LT_TAGVAR(VARNAME, [TAGNAME]) | ||
8512 | -# ------------------------------ | ||
8513 | -m4_define([_LT_TAGVAR], [m4_ifval([$2], [$1_$2], [$1])]) | ||
8514 | - | ||
8515 | - | ||
8516 | -# _LT_CONFIG_COMMANDS | ||
8517 | -# ------------------- | ||
8518 | -# Send accumulated output to $CONFIG_STATUS. Thanks to the lists of | ||
8519 | -# variables for single and double quote escaping we saved from calls | ||
8520 | -# to _LT_DECL, we can put quote escaped variables declarations | ||
8521 | -# into `config.status', and then the shell code to quote escape them in | ||
8522 | -# for loops in `config.status'. Finally, any additional code accumulated | ||
8523 | -# from calls to _LT_CONFIG_LIBTOOL_INIT is expanded. | ||
8524 | -m4_defun([_LT_CONFIG_COMMANDS], | ||
8525 | -[AC_PROVIDE_IFELSE([LT_OUTPUT], | ||
8526 | - dnl If the libtool generation code has been placed in $CONFIG_LT, | ||
8527 | - dnl instead of duplicating it all over again into config.status, | ||
8528 | - dnl then we will have config.status run $CONFIG_LT later, so it | ||
8529 | - dnl needs to know what name is stored there: | ||
8530 | - [AC_CONFIG_COMMANDS([libtool], | ||
8531 | - [$SHELL $CONFIG_LT || AS_EXIT(1)], [CONFIG_LT='$CONFIG_LT'])], | ||
8532 | - dnl If the libtool generation code is destined for config.status, | ||
8533 | - dnl expand the accumulated commands and init code now: | ||
8534 | - [AC_CONFIG_COMMANDS([libtool], | ||
8535 | - [_LT_OUTPUT_LIBTOOL_COMMANDS], [_LT_OUTPUT_LIBTOOL_COMMANDS_INIT])]) | ||
8536 | -])#_LT_CONFIG_COMMANDS | ||
8537 | - | ||
8538 | - | ||
8539 | -# Initialize. | ||
8540 | -m4_define([_LT_OUTPUT_LIBTOOL_COMMANDS_INIT], | ||
8541 | -[ | ||
8542 | - | ||
8543 | -# The HP-UX ksh and POSIX shell print the target directory to stdout | ||
8544 | -# if CDPATH is set. | ||
8545 | -(unset CDPATH) >/dev/null 2>&1 && unset CDPATH | ||
8546 | - | ||
8547 | -sed_quote_subst='$sed_quote_subst' | ||
8548 | -double_quote_subst='$double_quote_subst' | ||
8549 | -delay_variable_subst='$delay_variable_subst' | ||
8550 | -_LT_CONFIG_STATUS_DECLARATIONS | ||
8551 | -LTCC='$LTCC' | ||
8552 | -LTCFLAGS='$LTCFLAGS' | ||
8553 | -compiler='$compiler_DEFAULT' | ||
8554 | - | ||
8555 | -# Quote evaled strings. | ||
8556 | -for var in lt_decl_all_varnames([[ \ | ||
8557 | -]], lt_decl_quote_varnames); do | ||
8558 | - case \`eval \\\\\$ECHO "X\\\\\$\$var"\` in | ||
8559 | - *[[\\\\\\\`\\"\\\$]]*) | ||
8560 | - eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"X\\\$\$var\\" | \\\$Xsed -e \\"\\\$sed_quote_subst\\"\\\`\\\\\\"" | ||
8561 | - ;; | ||
8562 | - *) | ||
8563 | - eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\"" | ||
8564 | - ;; | ||
8565 | - esac | ||
8566 | -done | ||
8567 | - | ||
8568 | -# Double-quote double-evaled strings. | ||
8569 | -for var in lt_decl_all_varnames([[ \ | ||
8570 | -]], lt_decl_dquote_varnames); do | ||
8571 | - case \`eval \\\\\$ECHO "X\\\\\$\$var"\` in | ||
8572 | - *[[\\\\\\\`\\"\\\$]]*) | ||
8573 | - eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"X\\\$\$var\\" | \\\$Xsed -e \\"\\\$double_quote_subst\\" -e \\"\\\$sed_quote_subst\\" -e \\"\\\$delay_variable_subst\\"\\\`\\\\\\"" | ||
8574 | - ;; | ||
8575 | - *) | ||
8576 | - eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\"" | ||
8577 | - ;; | ||
8578 | - esac | ||
8579 | -done | ||
8580 | - | ||
8581 | -# Fix-up fallback echo if it was mangled by the above quoting rules. | ||
8582 | -case \$lt_ECHO in | ||
8583 | -*'\\\[$]0 --fallback-echo"')dnl " | ||
8584 | - lt_ECHO=\`\$ECHO "X\$lt_ECHO" | \$Xsed -e 's/\\\\\\\\\\\\\\\[$]0 --fallback-echo"\[$]/\[$]0 --fallback-echo"/'\` | ||
8585 | - ;; | ||
8586 | -esac | ||
8587 | - | ||
8588 | -_LT_OUTPUT_LIBTOOL_INIT | ||
8589 | -]) | ||
8590 | - | ||
8591 | - | ||
8592 | -# LT_OUTPUT | ||
8593 | -# --------- | ||
8594 | -# This macro allows early generation of the libtool script (before | ||
8595 | -# AC_OUTPUT is called), incase it is used in configure for compilation | ||
8596 | -# tests. | ||
8597 | -AC_DEFUN([LT_OUTPUT], | ||
8598 | -[: ${CONFIG_LT=./config.lt} | ||
8599 | -AC_MSG_NOTICE([creating $CONFIG_LT]) | ||
8600 | -cat >"$CONFIG_LT" <<_LTEOF | ||
8601 | -#! $SHELL | ||
8602 | -# Generated by $as_me. | ||
8603 | -# Run this file to recreate a libtool stub with the current configuration. | ||
8604 | - | ||
8605 | -lt_cl_silent=false | ||
8606 | -SHELL=\${CONFIG_SHELL-$SHELL} | ||
8607 | -_LTEOF | ||
8608 | - | ||
8609 | -cat >>"$CONFIG_LT" <<\_LTEOF | ||
8610 | -AS_SHELL_SANITIZE | ||
8611 | -_AS_PREPARE | ||
8612 | - | ||
8613 | -exec AS_MESSAGE_FD>&1 | ||
8614 | -exec AS_MESSAGE_LOG_FD>>config.log | ||
8615 | -{ | ||
8616 | - echo | ||
8617 | - AS_BOX([Running $as_me.]) | ||
8618 | -} >&AS_MESSAGE_LOG_FD | ||
8619 | - | ||
8620 | -lt_cl_help="\ | ||
8621 | -\`$as_me' creates a local libtool stub from the current configuration, | ||
8622 | -for use in further configure time tests before the real libtool is | ||
8623 | -generated. | ||
8624 | - | ||
8625 | -Usage: $[0] [[OPTIONS]] | ||
8626 | - | ||
8627 | - -h, --help print this help, then exit | ||
8628 | - -V, --version print version number, then exit | ||
8629 | - -q, --quiet do not print progress messages | ||
8630 | - -d, --debug don't remove temporary files | ||
8631 | - | ||
8632 | -Report bugs to <bug-libtool@gnu.org>." | ||
8633 | - | ||
8634 | -lt_cl_version="\ | ||
8635 | -m4_ifset([AC_PACKAGE_NAME], [AC_PACKAGE_NAME ])config.lt[]dnl | ||
8636 | -m4_ifset([AC_PACKAGE_VERSION], [ AC_PACKAGE_VERSION]) | ||
8637 | -configured by $[0], generated by m4_PACKAGE_STRING. | ||
8638 | - | ||
8639 | -Copyright (C) 2008 Free Software Foundation, Inc. | ||
8640 | -This config.lt script is free software; the Free Software Foundation | ||
8641 | -gives unlimited permision to copy, distribute and modify it." | ||
8642 | - | ||
8643 | -while test $[#] != 0 | ||
8644 | -do | ||
8645 | - case $[1] in | ||
8646 | - --version | --v* | -V ) | ||
8647 | - echo "$lt_cl_version"; exit 0 ;; | ||
8648 | - --help | --h* | -h ) | ||
8649 | - echo "$lt_cl_help"; exit 0 ;; | ||
8650 | - --debug | --d* | -d ) | ||
8651 | - debug=: ;; | ||
8652 | - --quiet | --q* | --silent | --s* | -q ) | ||
8653 | - lt_cl_silent=: ;; | ||
8654 | - | ||
8655 | - -*) AC_MSG_ERROR([unrecognized option: $[1] | ||
8656 | -Try \`$[0] --help' for more information.]) ;; | ||
8657 | - | ||
8658 | - *) AC_MSG_ERROR([unrecognized argument: $[1] | ||
8659 | -Try \`$[0] --help' for more information.]) ;; | ||
8660 | - esac | ||
8661 | - shift | ||
8662 | -done | ||
8663 | - | ||
8664 | -if $lt_cl_silent; then | ||
8665 | - exec AS_MESSAGE_FD>/dev/null | ||
8666 | -fi | ||
8667 | -_LTEOF | ||
8668 | - | ||
8669 | -cat >>"$CONFIG_LT" <<_LTEOF | ||
8670 | -_LT_OUTPUT_LIBTOOL_COMMANDS_INIT | ||
8671 | -_LTEOF | ||
8672 | - | ||
8673 | -cat >>"$CONFIG_LT" <<\_LTEOF | ||
8674 | -AC_MSG_NOTICE([creating $ofile]) | ||
8675 | -_LT_OUTPUT_LIBTOOL_COMMANDS | ||
8676 | -AS_EXIT(0) | ||
8677 | -_LTEOF | ||
8678 | -chmod +x "$CONFIG_LT" | ||
8679 | - | ||
8680 | -# configure is writing to config.log, but config.lt does its own redirection, | ||
8681 | -# appending to config.log, which fails on DOS, as config.log is still kept | ||
8682 | -# open by configure. Here we exec the FD to /dev/null, effectively closing | ||
8683 | -# config.log, so it can be properly (re)opened and appended to by config.lt. | ||
8684 | -if test "$no_create" != yes; then | ||
8685 | - lt_cl_success=: | ||
8686 | - test "$silent" = yes && | ||
8687 | - lt_config_lt_args="$lt_config_lt_args --quiet" | ||
8688 | - exec AS_MESSAGE_LOG_FD>/dev/null | ||
8689 | - $SHELL "$CONFIG_LT" $lt_config_lt_args || lt_cl_success=false | ||
8690 | - exec AS_MESSAGE_LOG_FD>>config.log | ||
8691 | - $lt_cl_success || AS_EXIT(1) | ||
8692 | -fi | ||
8693 | -])# LT_OUTPUT | ||
8694 | - | ||
8695 | - | ||
8696 | -# _LT_CONFIG(TAG) | ||
8697 | -# --------------- | ||
8698 | -# If TAG is the built-in tag, create an initial libtool script with a | ||
8699 | -# default configuration from the untagged config vars. Otherwise add code | ||
8700 | -# to config.status for appending the configuration named by TAG from the | ||
8701 | -# matching tagged config vars. | ||
8702 | -m4_defun([_LT_CONFIG], | ||
8703 | -[m4_require([_LT_FILEUTILS_DEFAULTS])dnl | ||
8704 | -_LT_CONFIG_SAVE_COMMANDS([ | ||
8705 | - m4_define([_LT_TAG], m4_if([$1], [], [C], [$1]))dnl | ||
8706 | - m4_if(_LT_TAG, [C], [ | ||
8707 | - # See if we are running on zsh, and set the options which allow our | ||
8708 | - # commands through without removal of \ escapes. | ||
8709 | - if test -n "${ZSH_VERSION+set}" ; then | ||
8710 | - setopt NO_GLOB_SUBST | ||
8711 | - fi | ||
8712 | - | ||
8713 | - cfgfile="${ofile}T" | ||
8714 | - trap "$RM \"$cfgfile\"; exit 1" 1 2 15 | ||
8715 | - $RM "$cfgfile" | ||
8716 | - | ||
8717 | - cat <<_LT_EOF >> "$cfgfile" | ||
8718 | -#! $SHELL | ||
8719 | - | ||
8720 | -# `$ECHO "$ofile" | sed 's%^.*/%%'` - Provide generalized library-building support services. | ||
8721 | -# Generated automatically by $as_me ($PACKAGE$TIMESTAMP) $VERSION | ||
8722 | -# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`: | ||
8723 | -# NOTE: Changes made to this file will be lost: look at ltmain.sh. | ||
8724 | -# | ||
8725 | -_LT_COPYING | ||
8726 | -_LT_LIBTOOL_TAGS | ||
8727 | - | ||
8728 | -# ### BEGIN LIBTOOL CONFIG | ||
8729 | -_LT_LIBTOOL_CONFIG_VARS | ||
8730 | -_LT_LIBTOOL_TAG_VARS | ||
8731 | -# ### END LIBTOOL CONFIG | ||
8732 | - | ||
8733 | -_LT_EOF | ||
8734 | - | ||
8735 | - case $host_os in | ||
8736 | - aix3*) | ||
8737 | - cat <<\_LT_EOF >> "$cfgfile" | ||
8738 | -# AIX sometimes has problems with the GCC collect2 program. For some | ||
8739 | -# reason, if we set the COLLECT_NAMES environment variable, the problems | ||
8740 | -# vanish in a puff of smoke. | ||
8741 | -if test "X${COLLECT_NAMES+set}" != Xset; then | ||
8742 | - COLLECT_NAMES= | ||
8743 | - export COLLECT_NAMES | ||
8744 | -fi | ||
8745 | -_LT_EOF | ||
8746 | - ;; | ||
8747 | - esac | ||
8748 | - | ||
8749 | - _LT_PROG_LTMAIN | ||
8750 | - | ||
8751 | - # We use sed instead of cat because bash on DJGPP gets confused if | ||
8752 | - # if finds mixed CR/LF and LF-only lines. Since sed operates in | ||
8753 | - # text mode, it properly converts lines to CR/LF. This bash problem | ||
8754 | - # is reportedly fixed, but why not run on old versions too? | ||
8755 | - sed '/^# Generated shell functions inserted here/q' "$ltmain" >> "$cfgfile" \ | ||
8756 | - || (rm -f "$cfgfile"; exit 1) | ||
8757 | - | ||
8758 | - _LT_PROG_XSI_SHELLFNS | ||
8759 | - | ||
8760 | - sed -n '/^# Generated shell functions inserted here/,$p' "$ltmain" >> "$cfgfile" \ | ||
8761 | - || (rm -f "$cfgfile"; exit 1) | ||
8762 | - | ||
8763 | - mv -f "$cfgfile" "$ofile" || | ||
8764 | - (rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile") | ||
8765 | - chmod +x "$ofile" | ||
8766 | -], | ||
8767 | -[cat <<_LT_EOF >> "$ofile" | ||
8768 | - | ||
8769 | -dnl Unfortunately we have to use $1 here, since _LT_TAG is not expanded | ||
8770 | -dnl in a comment (ie after a #). | ||
8771 | -# ### BEGIN LIBTOOL TAG CONFIG: $1 | ||
8772 | -_LT_LIBTOOL_TAG_VARS(_LT_TAG) | ||
8773 | -# ### END LIBTOOL TAG CONFIG: $1 | ||
8774 | -_LT_EOF | ||
8775 | -])dnl /m4_if | ||
8776 | -], | ||
8777 | -[m4_if([$1], [], [ | ||
8778 | - PACKAGE='$PACKAGE' | ||
8779 | - VERSION='$VERSION' | ||
8780 | - TIMESTAMP='$TIMESTAMP' | ||
8781 | - RM='$RM' | ||
8782 | - ofile='$ofile'], []) | ||
8783 | -])dnl /_LT_CONFIG_SAVE_COMMANDS | ||
8784 | -])# _LT_CONFIG | ||
8785 | - | ||
8786 | - | ||
8787 | -# LT_SUPPORTED_TAG(TAG) | ||
8788 | -# --------------------- | ||
8789 | -# Trace this macro to discover what tags are supported by the libtool | ||
8790 | -# --tag option, using: | ||
8791 | -# autoconf --trace 'LT_SUPPORTED_TAG:$1' | ||
8792 | -AC_DEFUN([LT_SUPPORTED_TAG], []) | ||
8793 | - | ||
8794 | - | ||
8795 | -# C support is built-in for now | ||
8796 | -m4_define([_LT_LANG_C_enabled], []) | ||
8797 | -m4_define([_LT_TAGS], []) | ||
8798 | - | ||
8799 | - | ||
8800 | -# LT_LANG(LANG) | ||
8801 | -# ------------- | ||
8802 | -# Enable libtool support for the given language if not already enabled. | ||
8803 | -AC_DEFUN([LT_LANG], | ||
8804 | -[AC_BEFORE([$0], [LT_OUTPUT])dnl | ||
8805 | -m4_case([$1], | ||
8806 | - [C], [_LT_LANG(C)], | ||
8807 | - [C++], [_LT_LANG(CXX)], | ||
8808 | - [Java], [_LT_LANG(GCJ)], | ||
8809 | - [Fortran 77], [_LT_LANG(F77)], | ||
8810 | - [Fortran], [_LT_LANG(FC)], | ||
8811 | - [Windows Resource], [_LT_LANG(RC)], | ||
8812 | - [m4_ifdef([_LT_LANG_]$1[_CONFIG], | ||
8813 | - [_LT_LANG($1)], | ||
8814 | - [m4_fatal([$0: unsupported language: "$1"])])])dnl | ||
8815 | -])# LT_LANG | ||
8816 | - | ||
8817 | - | ||
8818 | -# _LT_LANG(LANGNAME) | ||
8819 | -# ------------------ | ||
8820 | -m4_defun([_LT_LANG], | ||
8821 | -[m4_ifdef([_LT_LANG_]$1[_enabled], [], | ||
8822 | - [LT_SUPPORTED_TAG([$1])dnl | ||
8823 | - m4_append([_LT_TAGS], [$1 ])dnl | ||
8824 | - m4_define([_LT_LANG_]$1[_enabled], [])dnl | ||
8825 | - _LT_LANG_$1_CONFIG($1)])dnl | ||
8826 | -])# _LT_LANG | ||
8827 | - | ||
8828 | - | ||
8829 | -# _LT_LANG_DEFAULT_CONFIG | ||
8830 | -# ----------------------- | ||
8831 | -m4_defun([_LT_LANG_DEFAULT_CONFIG], | ||
8832 | -[AC_PROVIDE_IFELSE([AC_PROG_CXX], | ||
8833 | - [LT_LANG(CXX)], | ||
8834 | - [m4_define([AC_PROG_CXX], defn([AC_PROG_CXX])[LT_LANG(CXX)])]) | ||
8835 | - | ||
8836 | -AC_PROVIDE_IFELSE([AC_PROG_F77], | ||
8837 | - [LT_LANG(F77)], | ||
8838 | - [m4_define([AC_PROG_F77], defn([AC_PROG_F77])[LT_LANG(F77)])]) | ||
8839 | - | ||
8840 | -AC_PROVIDE_IFELSE([AC_PROG_FC], | ||
8841 | - [LT_LANG(FC)], | ||
8842 | - [m4_define([AC_PROG_FC], defn([AC_PROG_FC])[LT_LANG(FC)])]) | ||
8843 | - | ||
8844 | -dnl The call to [A][M_PROG_GCJ] is quoted like that to stop aclocal | ||
8845 | -dnl pulling things in needlessly. | ||
8846 | -AC_PROVIDE_IFELSE([AC_PROG_GCJ], | ||
8847 | - [LT_LANG(GCJ)], | ||
8848 | - [AC_PROVIDE_IFELSE([A][M_PROG_GCJ], | ||
8849 | - [LT_LANG(GCJ)], | ||
8850 | - [AC_PROVIDE_IFELSE([LT_PROG_GCJ], | ||
8851 | - [LT_LANG(GCJ)], | ||
8852 | - [m4_ifdef([AC_PROG_GCJ], | ||
8853 | - [m4_define([AC_PROG_GCJ], defn([AC_PROG_GCJ])[LT_LANG(GCJ)])]) | ||
8854 | - m4_ifdef([A][M_PROG_GCJ], | ||
8855 | - [m4_define([A][M_PROG_GCJ], defn([A][M_PROG_GCJ])[LT_LANG(GCJ)])]) | ||
8856 | - m4_ifdef([LT_PROG_GCJ], | ||
8857 | - [m4_define([LT_PROG_GCJ], defn([LT_PROG_GCJ])[LT_LANG(GCJ)])])])])]) | ||
8858 | - | ||
8859 | -AC_PROVIDE_IFELSE([LT_PROG_RC], | ||
8860 | - [LT_LANG(RC)], | ||
8861 | - [m4_define([LT_PROG_RC], defn([LT_PROG_RC])[LT_LANG(RC)])]) | ||
8862 | -])# _LT_LANG_DEFAULT_CONFIG | ||
8863 | - | ||
8864 | -# Obsolete macros: | ||
8865 | -AU_DEFUN([AC_LIBTOOL_CXX], [LT_LANG(C++)]) | ||
8866 | -AU_DEFUN([AC_LIBTOOL_F77], [LT_LANG(Fortran 77)]) | ||
8867 | -AU_DEFUN([AC_LIBTOOL_FC], [LT_LANG(Fortran)]) | ||
8868 | -AU_DEFUN([AC_LIBTOOL_GCJ], [LT_LANG(Java)]) | ||
8869 | -dnl aclocal-1.4 backwards compatibility: | ||
8870 | -dnl AC_DEFUN([AC_LIBTOOL_CXX], []) | ||
8871 | -dnl AC_DEFUN([AC_LIBTOOL_F77], []) | ||
8872 | -dnl AC_DEFUN([AC_LIBTOOL_FC], []) | ||
8873 | -dnl AC_DEFUN([AC_LIBTOOL_GCJ], []) | ||
8874 | - | ||
8875 | - | ||
8876 | -# _LT_TAG_COMPILER | ||
8877 | -# ---------------- | ||
8878 | -m4_defun([_LT_TAG_COMPILER], | ||
8879 | -[AC_REQUIRE([AC_PROG_CC])dnl | ||
8880 | - | ||
8881 | -_LT_DECL([LTCC], [CC], [1], [A C compiler])dnl | ||
8882 | -_LT_DECL([LTCFLAGS], [CFLAGS], [1], [LTCC compiler flags])dnl | ||
8883 | -_LT_TAGDECL([CC], [compiler], [1], [A language specific compiler])dnl | ||
8884 | -_LT_TAGDECL([with_gcc], [GCC], [0], [Is the compiler the GNU compiler?])dnl | ||
8885 | - | ||
8886 | -# If no C compiler was specified, use CC. | ||
8887 | -LTCC=${LTCC-"$CC"} | ||
8888 | - | ||
8889 | -# If no C compiler flags were specified, use CFLAGS. | ||
8890 | -LTCFLAGS=${LTCFLAGS-"$CFLAGS"} | ||
8891 | - | ||
8892 | -# Allow CC to be a program name with arguments. | ||
8893 | -compiler=$CC | ||
8894 | -])# _LT_TAG_COMPILER | ||
8895 | - | ||
8896 | - | ||
8897 | -# _LT_COMPILER_BOILERPLATE | ||
8898 | -# ------------------------ | ||
8899 | -# Check for compiler boilerplate output or warnings with | ||
8900 | -# the simple compiler test code. | ||
8901 | -m4_defun([_LT_COMPILER_BOILERPLATE], | ||
8902 | -[m4_require([_LT_DECL_SED])dnl | ||
8903 | -ac_outfile=conftest.$ac_objext | ||
8904 | -echo "$lt_simple_compile_test_code" >conftest.$ac_ext | ||
8905 | -eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err | ||
8906 | -_lt_compiler_boilerplate=`cat conftest.err` | ||
8907 | -$RM conftest* | ||
8908 | -])# _LT_COMPILER_BOILERPLATE | ||
8909 | - | ||
8910 | - | ||
8911 | -# _LT_LINKER_BOILERPLATE | ||
8912 | -# ---------------------- | ||
8913 | -# Check for linker boilerplate output or warnings with | ||
8914 | -# the simple link test code. | ||
8915 | -m4_defun([_LT_LINKER_BOILERPLATE], | ||
8916 | -[m4_require([_LT_DECL_SED])dnl | ||
8917 | -ac_outfile=conftest.$ac_objext | ||
8918 | -echo "$lt_simple_link_test_code" >conftest.$ac_ext | ||
8919 | -eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err | ||
8920 | -_lt_linker_boilerplate=`cat conftest.err` | ||
8921 | -$RM -r conftest* | ||
8922 | -])# _LT_LINKER_BOILERPLATE | ||
8923 | - | ||
8924 | -# _LT_REQUIRED_DARWIN_CHECKS | ||
8925 | -# ------------------------- | ||
8926 | -m4_defun_once([_LT_REQUIRED_DARWIN_CHECKS],[ | ||
8927 | - case $host_os in | ||
8928 | - rhapsody* | darwin*) | ||
8929 | - AC_CHECK_TOOL([DSYMUTIL], [dsymutil], [:]) | ||
8930 | - AC_CHECK_TOOL([NMEDIT], [nmedit], [:]) | ||
8931 | - AC_CHECK_TOOL([LIPO], [lipo], [:]) | ||
8932 | - AC_CHECK_TOOL([OTOOL], [otool], [:]) | ||
8933 | - AC_CHECK_TOOL([OTOOL64], [otool64], [:]) | ||
8934 | - _LT_DECL([], [DSYMUTIL], [1], | ||
8935 | - [Tool to manipulate archived DWARF debug symbol files on Mac OS X]) | ||
8936 | - _LT_DECL([], [NMEDIT], [1], | ||
8937 | - [Tool to change global to local symbols on Mac OS X]) | ||
8938 | - _LT_DECL([], [LIPO], [1], | ||
8939 | - [Tool to manipulate fat objects and archives on Mac OS X]) | ||
8940 | - _LT_DECL([], [OTOOL], [1], | ||
8941 | - [ldd/readelf like tool for Mach-O binaries on Mac OS X]) | ||
8942 | - _LT_DECL([], [OTOOL64], [1], | ||
8943 | - [ldd/readelf like tool for 64 bit Mach-O binaries on Mac OS X 10.4]) | ||
8944 | - | ||
8945 | - AC_CACHE_CHECK([for -single_module linker flag],[lt_cv_apple_cc_single_mod], | ||
8946 | - [lt_cv_apple_cc_single_mod=no | ||
8947 | - if test -z "${LT_MULTI_MODULE}"; then | ||
8948 | - # By default we will add the -single_module flag. You can override | ||
8949 | - # by either setting the environment variable LT_MULTI_MODULE | ||
8950 | - # non-empty at configure time, or by adding -multi_module to the | ||
8951 | - # link flags. | ||
8952 | - rm -rf libconftest.dylib* | ||
8953 | - echo "int foo(void){return 1;}" > conftest.c | ||
8954 | - echo "$LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \ | ||
8955 | --dynamiclib -Wl,-single_module conftest.c" >&AS_MESSAGE_LOG_FD | ||
8956 | - $LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \ | ||
8957 | - -dynamiclib -Wl,-single_module conftest.c 2>conftest.err | ||
8958 | - _lt_result=$? | ||
8959 | - if test -f libconftest.dylib && test ! -s conftest.err && test $_lt_result = 0; then | ||
8960 | - lt_cv_apple_cc_single_mod=yes | ||
8961 | - else | ||
8962 | - cat conftest.err >&AS_MESSAGE_LOG_FD | ||
8963 | - fi | ||
8964 | - rm -rf libconftest.dylib* | ||
8965 | - rm -f conftest.* | ||
8966 | - fi]) | ||
8967 | - AC_CACHE_CHECK([for -exported_symbols_list linker flag], | ||
8968 | - [lt_cv_ld_exported_symbols_list], | ||
8969 | - [lt_cv_ld_exported_symbols_list=no | ||
8970 | - save_LDFLAGS=$LDFLAGS | ||
8971 | - echo "_main" > conftest.sym | ||
8972 | - LDFLAGS="$LDFLAGS -Wl,-exported_symbols_list,conftest.sym" | ||
8973 | - AC_LINK_IFELSE([AC_LANG_PROGRAM([],[])], | ||
8974 | - [lt_cv_ld_exported_symbols_list=yes], | ||
8975 | - [lt_cv_ld_exported_symbols_list=no]) | ||
8976 | - LDFLAGS="$save_LDFLAGS" | ||
8977 | - ]) | ||
8978 | - case $host_os in | ||
8979 | - rhapsody* | darwin1.[[012]]) | ||
8980 | - _lt_dar_allow_undefined='${wl}-undefined ${wl}suppress' ;; | ||
8981 | - darwin1.*) | ||
8982 | - _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;; | ||
8983 | - darwin*) # darwin 5.x on | ||
8984 | - # if running on 10.5 or later, the deployment target defaults | ||
8985 | - # to the OS version, if on x86, and 10.4, the deployment | ||
8986 | - # target defaults to 10.4. Don't you love it? | ||
8987 | - case ${MACOSX_DEPLOYMENT_TARGET-10.0},$host in | ||
8988 | - 10.0,*86*-darwin8*|10.0,*-darwin[[91]]*) | ||
8989 | - _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;; | ||
8990 | - 10.[[012]]*) | ||
8991 | - _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;; | ||
8992 | - 10.*) | ||
8993 | - _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;; | ||
8994 | - esac | ||
8995 | - ;; | ||
8996 | - esac | ||
8997 | - if test "$lt_cv_apple_cc_single_mod" = "yes"; then | ||
8998 | - _lt_dar_single_mod='$single_module' | ||
8999 | - fi | ||
9000 | - if test "$lt_cv_ld_exported_symbols_list" = "yes"; then | ||
9001 | - _lt_dar_export_syms=' ${wl}-exported_symbols_list,$output_objdir/${libname}-symbols.expsym' | ||
9002 | - else | ||
9003 | - _lt_dar_export_syms='~$NMEDIT -s $output_objdir/${libname}-symbols.expsym ${lib}' | ||
9004 | - fi | ||
9005 | - if test "$DSYMUTIL" != ":"; then | ||
9006 | - _lt_dsymutil='~$DSYMUTIL $lib || :' | ||
9007 | - else | ||
9008 | - _lt_dsymutil= | ||
9009 | - fi | ||
9010 | - ;; | ||
9011 | - esac | ||
9012 | -]) | ||
9013 | - | ||
9014 | - | ||
9015 | -# _LT_DARWIN_LINKER_FEATURES | ||
9016 | -# -------------------------- | ||
9017 | -# Checks for linker and compiler features on darwin | ||
9018 | -m4_defun([_LT_DARWIN_LINKER_FEATURES], | ||
9019 | -[ | ||
9020 | - m4_require([_LT_REQUIRED_DARWIN_CHECKS]) | ||
9021 | - _LT_TAGVAR(archive_cmds_need_lc, $1)=no | ||
9022 | - _LT_TAGVAR(hardcode_direct, $1)=no | ||
9023 | - _LT_TAGVAR(hardcode_automatic, $1)=yes | ||
9024 | - _LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported | ||
9025 | - _LT_TAGVAR(whole_archive_flag_spec, $1)='' | ||
9026 | - _LT_TAGVAR(link_all_deplibs, $1)=yes | ||
9027 | - _LT_TAGVAR(allow_undefined_flag, $1)="$_lt_dar_allow_undefined" | ||
9028 | - case $cc_basename in | ||
9029 | - ifort*) _lt_dar_can_shared=yes ;; | ||
9030 | - *) _lt_dar_can_shared=$GCC ;; | ||
9031 | - esac | ||
9032 | - if test "$_lt_dar_can_shared" = "yes"; then | ||
9033 | - output_verbose_link_cmd=echo | ||
9034 | - _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}" | ||
9035 | - _LT_TAGVAR(module_cmds, $1)="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}" | ||
9036 | - _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}" | ||
9037 | - _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}" | ||
9038 | - m4_if([$1], [CXX], | ||
9039 | -[ if test "$lt_cv_apple_cc_single_mod" != "yes"; then | ||
9040 | - _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}" | ||
9041 | - _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}" | ||
9042 | - fi | ||
9043 | -],[]) | ||
9044 | - else | ||
9045 | - _LT_TAGVAR(ld_shlibs, $1)=no | ||
9046 | - fi | ||
9047 | -]) | ||
9048 | - | ||
9049 | -# _LT_SYS_MODULE_PATH_AIX | ||
9050 | -# ----------------------- | ||
9051 | -# Links a minimal program and checks the executable | ||
9052 | -# for the system default hardcoded library path. In most cases, | ||
9053 | -# this is /usr/lib:/lib, but when the MPI compilers are used | ||
9054 | -# the location of the communication and MPI libs are included too. | ||
9055 | -# If we don't find anything, use the default library path according | ||
9056 | -# to the aix ld manual. | ||
9057 | -m4_defun([_LT_SYS_MODULE_PATH_AIX], | ||
9058 | -[m4_require([_LT_DECL_SED])dnl | ||
9059 | -AC_LINK_IFELSE(AC_LANG_PROGRAM,[ | ||
9060 | -lt_aix_libpath_sed=' | ||
9061 | - /Import File Strings/,/^$/ { | ||
9062 | - /^0/ { | ||
9063 | - s/^0 *\(.*\)$/\1/ | ||
9064 | - p | ||
9065 | - } | ||
9066 | - }' | ||
9067 | -aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` | ||
9068 | -# Check for a 64-bit object if we didn't find anything. | ||
9069 | -if test -z "$aix_libpath"; then | ||
9070 | - aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` | ||
9071 | -fi],[]) | ||
9072 | -if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi | ||
9073 | -])# _LT_SYS_MODULE_PATH_AIX | ||
9074 | - | ||
9075 | - | ||
9076 | -# _LT_SHELL_INIT(ARG) | ||
9077 | -# ------------------- | ||
9078 | -m4_define([_LT_SHELL_INIT], | ||
9079 | -[ifdef([AC_DIVERSION_NOTICE], | ||
9080 | - [AC_DIVERT_PUSH(AC_DIVERSION_NOTICE)], | ||
9081 | - [AC_DIVERT_PUSH(NOTICE)]) | ||
9082 | -$1 | ||
9083 | -AC_DIVERT_POP | ||
9084 | -])# _LT_SHELL_INIT | ||
9085 | - | ||
9086 | - | ||
9087 | -# _LT_PROG_ECHO_BACKSLASH | ||
9088 | -# ----------------------- | ||
9089 | -# Add some code to the start of the generated configure script which | ||
9090 | -# will find an echo command which doesn't interpret backslashes. | ||
9091 | -m4_defun([_LT_PROG_ECHO_BACKSLASH], | ||
9092 | -[_LT_SHELL_INIT([ | ||
9093 | -# Check that we are running under the correct shell. | ||
9094 | -SHELL=${CONFIG_SHELL-/bin/sh} | ||
9095 | - | ||
9096 | -case X$lt_ECHO in | ||
9097 | -X*--fallback-echo) | ||
9098 | - # Remove one level of quotation (which was required for Make). | ||
9099 | - ECHO=`echo "$lt_ECHO" | sed 's,\\\\\[$]\\[$]0,'[$]0','` | ||
9100 | - ;; | ||
9101 | -esac | ||
9102 | - | ||
9103 | -ECHO=${lt_ECHO-echo} | ||
9104 | -if test "X[$]1" = X--no-reexec; then | ||
9105 | - # Discard the --no-reexec flag, and continue. | ||
9106 | - shift | ||
9107 | -elif test "X[$]1" = X--fallback-echo; then | ||
9108 | - # Avoid inline document here, it may be left over | ||
9109 | - : | ||
9110 | -elif test "X`{ $ECHO '\t'; } 2>/dev/null`" = 'X\t' ; then | ||
9111 | - # Yippee, $ECHO works! | ||
9112 | - : | ||
9113 | -else | ||
9114 | - # Restart under the correct shell. | ||
9115 | - exec $SHELL "[$]0" --no-reexec ${1+"[$]@"} | ||
9116 | -fi | ||
9117 | - | ||
9118 | -if test "X[$]1" = X--fallback-echo; then | ||
9119 | - # used as fallback echo | ||
9120 | - shift | ||
9121 | - cat <<_LT_EOF | ||
9122 | -[$]* | ||
9123 | -_LT_EOF | ||
9124 | - exit 0 | ||
9125 | -fi | ||
9126 | - | ||
9127 | -# The HP-UX ksh and POSIX shell print the target directory to stdout | ||
9128 | -# if CDPATH is set. | ||
9129 | -(unset CDPATH) >/dev/null 2>&1 && unset CDPATH | ||
9130 | - | ||
9131 | -if test -z "$lt_ECHO"; then | ||
9132 | - if test "X${echo_test_string+set}" != Xset; then | ||
9133 | - # find a string as large as possible, as long as the shell can cope with it | ||
9134 | - for cmd in 'sed 50q "[$]0"' 'sed 20q "[$]0"' 'sed 10q "[$]0"' 'sed 2q "[$]0"' 'echo test'; do | ||
9135 | - # expected sizes: less than 2Kb, 1Kb, 512 bytes, 16 bytes, ... | ||
9136 | - if { echo_test_string=`eval $cmd`; } 2>/dev/null && | ||
9137 | - { test "X$echo_test_string" = "X$echo_test_string"; } 2>/dev/null | ||
9138 | - then | ||
9139 | - break | ||
9140 | - fi | ||
9141 | - done | ||
9142 | - fi | ||
9143 | - | ||
9144 | - if test "X`{ $ECHO '\t'; } 2>/dev/null`" = 'X\t' && | ||
9145 | - echo_testing_string=`{ $ECHO "$echo_test_string"; } 2>/dev/null` && | ||
9146 | - test "X$echo_testing_string" = "X$echo_test_string"; then | ||
9147 | - : | ||
9148 | - else | ||
9149 | - # The Solaris, AIX, and Digital Unix default echo programs unquote | ||
9150 | - # backslashes. This makes it impossible to quote backslashes using | ||
9151 | - # echo "$something" | sed 's/\\/\\\\/g' | ||
9152 | - # | ||
9153 | - # So, first we look for a working echo in the user's PATH. | ||
9154 | - | ||
9155 | - lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR | ||
9156 | - for dir in $PATH /usr/ucb; do | ||
9157 | - IFS="$lt_save_ifs" | ||
9158 | - if (test -f $dir/echo || test -f $dir/echo$ac_exeext) && | ||
9159 | - test "X`($dir/echo '\t') 2>/dev/null`" = 'X\t' && | ||
9160 | - echo_testing_string=`($dir/echo "$echo_test_string") 2>/dev/null` && | ||
9161 | - test "X$echo_testing_string" = "X$echo_test_string"; then | ||
9162 | - ECHO="$dir/echo" | ||
9163 | - break | ||
9164 | - fi | ||
9165 | - done | ||
9166 | - IFS="$lt_save_ifs" | ||
9167 | - | ||
9168 | - if test "X$ECHO" = Xecho; then | ||
9169 | - # We didn't find a better echo, so look for alternatives. | ||
9170 | - if test "X`{ print -r '\t'; } 2>/dev/null`" = 'X\t' && | ||
9171 | - echo_testing_string=`{ print -r "$echo_test_string"; } 2>/dev/null` && | ||
9172 | - test "X$echo_testing_string" = "X$echo_test_string"; then | ||
9173 | - # This shell has a builtin print -r that does the trick. | ||
9174 | - ECHO='print -r' | ||
9175 | - elif { test -f /bin/ksh || test -f /bin/ksh$ac_exeext; } && | ||
9176 | - test "X$CONFIG_SHELL" != X/bin/ksh; then | ||
9177 | - # If we have ksh, try running configure again with it. | ||
9178 | - ORIGINAL_CONFIG_SHELL=${CONFIG_SHELL-/bin/sh} | ||
9179 | - export ORIGINAL_CONFIG_SHELL | ||
9180 | - CONFIG_SHELL=/bin/ksh | ||
9181 | - export CONFIG_SHELL | ||
9182 | - exec $CONFIG_SHELL "[$]0" --no-reexec ${1+"[$]@"} | ||
9183 | - else | ||
9184 | - # Try using printf. | ||
9185 | - ECHO='printf %s\n' | ||
9186 | - if test "X`{ $ECHO '\t'; } 2>/dev/null`" = 'X\t' && | ||
9187 | - echo_testing_string=`{ $ECHO "$echo_test_string"; } 2>/dev/null` && | ||
9188 | - test "X$echo_testing_string" = "X$echo_test_string"; then | ||
9189 | - # Cool, printf works | ||
9190 | - : | ||
9191 | - elif echo_testing_string=`($ORIGINAL_CONFIG_SHELL "[$]0" --fallback-echo '\t') 2>/dev/null` && | ||
9192 | - test "X$echo_testing_string" = 'X\t' && | ||
9193 | - echo_testing_string=`($ORIGINAL_CONFIG_SHELL "[$]0" --fallback-echo "$echo_test_string") 2>/dev/null` && | ||
9194 | - test "X$echo_testing_string" = "X$echo_test_string"; then | ||
9195 | - CONFIG_SHELL=$ORIGINAL_CONFIG_SHELL | ||
9196 | - export CONFIG_SHELL | ||
9197 | - SHELL="$CONFIG_SHELL" | ||
9198 | - export SHELL | ||
9199 | - ECHO="$CONFIG_SHELL [$]0 --fallback-echo" | ||
9200 | - elif echo_testing_string=`($CONFIG_SHELL "[$]0" --fallback-echo '\t') 2>/dev/null` && | ||
9201 | - test "X$echo_testing_string" = 'X\t' && | ||
9202 | - echo_testing_string=`($CONFIG_SHELL "[$]0" --fallback-echo "$echo_test_string") 2>/dev/null` && | ||
9203 | - test "X$echo_testing_string" = "X$echo_test_string"; then | ||
9204 | - ECHO="$CONFIG_SHELL [$]0 --fallback-echo" | ||
9205 | - else | ||
9206 | - # maybe with a smaller string... | ||
9207 | - prev=: | ||
9208 | - | ||
9209 | - for cmd in 'echo test' 'sed 2q "[$]0"' 'sed 10q "[$]0"' 'sed 20q "[$]0"' 'sed 50q "[$]0"'; do | ||
9210 | - if { test "X$echo_test_string" = "X`eval $cmd`"; } 2>/dev/null | ||
9211 | - then | ||
9212 | - break | ||
9213 | - fi | ||
9214 | - prev="$cmd" | ||
9215 | - done | ||
9216 | - | ||
9217 | - if test "$prev" != 'sed 50q "[$]0"'; then | ||
9218 | - echo_test_string=`eval $prev` | ||
9219 | - export echo_test_string | ||
9220 | - exec ${ORIGINAL_CONFIG_SHELL-${CONFIG_SHELL-/bin/sh}} "[$]0" ${1+"[$]@"} | ||
9221 | - else | ||
9222 | - # Oops. We lost completely, so just stick with echo. | ||
9223 | - ECHO=echo | ||
9224 | - fi | ||
9225 | - fi | ||
9226 | - fi | ||
9227 | - fi | ||
9228 | - fi | ||
9229 | -fi | ||
9230 | - | ||
9231 | -# Copy echo and quote the copy suitably for passing to libtool from | ||
9232 | -# the Makefile, instead of quoting the original, which is used later. | ||
9233 | -lt_ECHO=$ECHO | ||
9234 | -if test "X$lt_ECHO" = "X$CONFIG_SHELL [$]0 --fallback-echo"; then | ||
9235 | - lt_ECHO="$CONFIG_SHELL \\\$\[$]0 --fallback-echo" | ||
9236 | -fi | ||
9237 | - | ||
9238 | -AC_SUBST(lt_ECHO) | ||
9239 | -]) | ||
9240 | -_LT_DECL([], [SHELL], [1], [Shell to use when invoking shell scripts]) | ||
9241 | -_LT_DECL([], [ECHO], [1], | ||
9242 | - [An echo program that does not interpret backslashes]) | ||
9243 | -])# _LT_PROG_ECHO_BACKSLASH | ||
9244 | - | ||
9245 | - | ||
9246 | -# _LT_ENABLE_LOCK | ||
9247 | -# --------------- | ||
9248 | -m4_defun([_LT_ENABLE_LOCK], | ||
9249 | -[AC_ARG_ENABLE([libtool-lock], | ||
9250 | - [AS_HELP_STRING([--disable-libtool-lock], | ||
9251 | - [avoid locking (might break parallel builds)])]) | ||
9252 | -test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes | ||
9253 | - | ||
9254 | -# Some flags need to be propagated to the compiler or linker for good | ||
9255 | -# libtool support. | ||
9256 | -case $host in | ||
9257 | -ia64-*-hpux*) | ||
9258 | - # Find out which ABI we are using. | ||
9259 | - echo 'int i;' > conftest.$ac_ext | ||
9260 | - if AC_TRY_EVAL(ac_compile); then | ||
9261 | - case `/usr/bin/file conftest.$ac_objext` in | ||
9262 | - *ELF-32*) | ||
9263 | - HPUX_IA64_MODE="32" | ||
9264 | - ;; | ||
9265 | - *ELF-64*) | ||
9266 | - HPUX_IA64_MODE="64" | ||
9267 | - ;; | ||
9268 | - esac | ||
9269 | - fi | ||
9270 | - rm -rf conftest* | ||
9271 | - ;; | ||
9272 | -*-*-irix6*) | ||
9273 | - # Find out which ABI we are using. | ||
9274 | - echo '[#]line __oline__ "configure"' > conftest.$ac_ext | ||
9275 | - if AC_TRY_EVAL(ac_compile); then | ||
9276 | - if test "$lt_cv_prog_gnu_ld" = yes; then | ||
9277 | - case `/usr/bin/file conftest.$ac_objext` in | ||
9278 | - *32-bit*) | ||
9279 | - LD="${LD-ld} -melf32bsmip" | ||
9280 | - ;; | ||
9281 | - *N32*) | ||
9282 | - LD="${LD-ld} -melf32bmipn32" | ||
9283 | - ;; | ||
9284 | - *64-bit*) | ||
9285 | - LD="${LD-ld} -melf64bmip" | ||
9286 | - ;; | ||
9287 | - esac | ||
9288 | - else | ||
9289 | - case `/usr/bin/file conftest.$ac_objext` in | ||
9290 | - *32-bit*) | ||
9291 | - LD="${LD-ld} -32" | ||
9292 | - ;; | ||
9293 | - *N32*) | ||
9294 | - LD="${LD-ld} -n32" | ||
9295 | - ;; | ||
9296 | - *64-bit*) | ||
9297 | - LD="${LD-ld} -64" | ||
9298 | - ;; | ||
9299 | - esac | ||
9300 | - fi | ||
9301 | - fi | ||
9302 | - rm -rf conftest* | ||
9303 | - ;; | ||
9304 | - | ||
9305 | -x86_64-*kfreebsd*-gnu|x86_64-*linux*|ppc*-*linux*|powerpc*-*linux*| \ | ||
9306 | -s390*-*linux*|s390*-*tpf*|sparc*-*linux*) | ||
9307 | - # Find out which ABI we are using. | ||
9308 | - echo 'int i;' > conftest.$ac_ext | ||
9309 | - if AC_TRY_EVAL(ac_compile); then | ||
9310 | - case `/usr/bin/file conftest.o` in | ||
9311 | - *32-bit*) | ||
9312 | - case $host in | ||
9313 | - x86_64-*kfreebsd*-gnu) | ||
9314 | - LD="${LD-ld} -m elf_i386_fbsd" | ||
9315 | - ;; | ||
9316 | - x86_64-*linux*) | ||
9317 | - LD="${LD-ld} -m elf_i386" | ||
9318 | - ;; | ||
9319 | - ppc64-*linux*|powerpc64-*linux*) | ||
9320 | - LD="${LD-ld} -m elf32ppclinux" | ||
9321 | - ;; | ||
9322 | - s390x-*linux*) | ||
9323 | - LD="${LD-ld} -m elf_s390" | ||
9324 | - ;; | ||
9325 | - sparc64-*linux*) | ||
9326 | - LD="${LD-ld} -m elf32_sparc" | ||
9327 | - ;; | ||
9328 | - esac | ||
9329 | - ;; | ||
9330 | - *64-bit*) | ||
9331 | - case $host in | ||
9332 | - x86_64-*kfreebsd*-gnu) | ||
9333 | - LD="${LD-ld} -m elf_x86_64_fbsd" | ||
9334 | - ;; | ||
9335 | - x86_64-*linux*) | ||
9336 | - LD="${LD-ld} -m elf_x86_64" | ||
9337 | - ;; | ||
9338 | - ppc*-*linux*|powerpc*-*linux*) | ||
9339 | - LD="${LD-ld} -m elf64ppc" | ||
9340 | - ;; | ||
9341 | - s390*-*linux*|s390*-*tpf*) | ||
9342 | - LD="${LD-ld} -m elf64_s390" | ||
9343 | - ;; | ||
9344 | - sparc*-*linux*) | ||
9345 | - LD="${LD-ld} -m elf64_sparc" | ||
9346 | - ;; | ||
9347 | - esac | ||
9348 | - ;; | ||
9349 | - esac | ||
9350 | - fi | ||
9351 | - rm -rf conftest* | ||
9352 | - ;; | ||
9353 | - | ||
9354 | -*-*-sco3.2v5*) | ||
9355 | - # On SCO OpenServer 5, we need -belf to get full-featured binaries. | ||
9356 | - SAVE_CFLAGS="$CFLAGS" | ||
9357 | - CFLAGS="$CFLAGS -belf" | ||
9358 | - AC_CACHE_CHECK([whether the C compiler needs -belf], lt_cv_cc_needs_belf, | ||
9359 | - [AC_LANG_PUSH(C) | ||
9360 | - AC_LINK_IFELSE([AC_LANG_PROGRAM([[]],[[]])],[lt_cv_cc_needs_belf=yes],[lt_cv_cc_needs_belf=no]) | ||
9361 | - AC_LANG_POP]) | ||
9362 | - if test x"$lt_cv_cc_needs_belf" != x"yes"; then | ||
9363 | - # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf | ||
9364 | - CFLAGS="$SAVE_CFLAGS" | ||
9365 | - fi | ||
9366 | - ;; | ||
9367 | -sparc*-*solaris*) | ||
9368 | - # Find out which ABI we are using. | ||
9369 | - echo 'int i;' > conftest.$ac_ext | ||
9370 | - if AC_TRY_EVAL(ac_compile); then | ||
9371 | - case `/usr/bin/file conftest.o` in | ||
9372 | - *64-bit*) | ||
9373 | - case $lt_cv_prog_gnu_ld in | ||
9374 | - yes*) LD="${LD-ld} -m elf64_sparc" ;; | ||
9375 | - *) | ||
9376 | - if ${LD-ld} -64 -r -o conftest2.o conftest.o >/dev/null 2>&1; then | ||
9377 | - LD="${LD-ld} -64" | ||
9378 | - fi | ||
9379 | - ;; | ||
9380 | - esac | ||
9381 | - ;; | ||
9382 | - esac | ||
9383 | - fi | ||
9384 | - rm -rf conftest* | ||
9385 | - ;; | ||
9386 | -esac | ||
9387 | - | ||
9388 | -need_locks="$enable_libtool_lock" | ||
9389 | -])# _LT_ENABLE_LOCK | ||
9390 | - | ||
9391 | - | ||
9392 | -# _LT_CMD_OLD_ARCHIVE | ||
9393 | -# ------------------- | ||
9394 | -m4_defun([_LT_CMD_OLD_ARCHIVE], | ||
9395 | -[AC_CHECK_TOOL(AR, ar, false) | ||
9396 | -test -z "$AR" && AR=ar | ||
9397 | -test -z "$AR_FLAGS" && AR_FLAGS=cru | ||
9398 | -_LT_DECL([], [AR], [1], [The archiver]) | ||
9399 | -_LT_DECL([], [AR_FLAGS], [1]) | ||
9400 | - | ||
9401 | -AC_CHECK_TOOL(STRIP, strip, :) | ||
9402 | -test -z "$STRIP" && STRIP=: | ||
9403 | -_LT_DECL([], [STRIP], [1], [A symbol stripping program]) | ||
9404 | - | ||
9405 | -AC_CHECK_TOOL(RANLIB, ranlib, :) | ||
9406 | -test -z "$RANLIB" && RANLIB=: | ||
9407 | -_LT_DECL([], [RANLIB], [1], | ||
9408 | - [Commands used to install an old-style archive]) | ||
9409 | - | ||
9410 | -# Determine commands to create old-style static archives. | ||
9411 | -old_archive_cmds='$AR $AR_FLAGS $oldlib$oldobjs' | ||
9412 | -old_postinstall_cmds='chmod 644 $oldlib' | ||
9413 | -old_postuninstall_cmds= | ||
9414 | - | ||
9415 | -if test -n "$RANLIB"; then | ||
9416 | - case $host_os in | ||
9417 | - openbsd*) | ||
9418 | - old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$oldlib" | ||
9419 | - ;; | ||
9420 | - *) | ||
9421 | - old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$oldlib" | ||
9422 | - ;; | ||
9423 | - esac | ||
9424 | - old_archive_cmds="$old_archive_cmds~\$RANLIB \$oldlib" | ||
9425 | -fi | ||
9426 | -_LT_DECL([], [old_postinstall_cmds], [2]) | ||
9427 | -_LT_DECL([], [old_postuninstall_cmds], [2]) | ||
9428 | -_LT_TAGDECL([], [old_archive_cmds], [2], | ||
9429 | - [Commands used to build an old-style archive]) | ||
9430 | -])# _LT_CMD_OLD_ARCHIVE | ||
9431 | - | ||
9432 | - | ||
9433 | -# _LT_COMPILER_OPTION(MESSAGE, VARIABLE-NAME, FLAGS, | ||
9434 | -# [OUTPUT-FILE], [ACTION-SUCCESS], [ACTION-FAILURE]) | ||
9435 | -# ---------------------------------------------------------------- | ||
9436 | -# Check whether the given compiler option works | ||
9437 | -AC_DEFUN([_LT_COMPILER_OPTION], | ||
9438 | -[m4_require([_LT_FILEUTILS_DEFAULTS])dnl | ||
9439 | -m4_require([_LT_DECL_SED])dnl | ||
9440 | -AC_CACHE_CHECK([$1], [$2], | ||
9441 | - [$2=no | ||
9442 | - m4_if([$4], , [ac_outfile=conftest.$ac_objext], [ac_outfile=$4]) | ||
9443 | - echo "$lt_simple_compile_test_code" > conftest.$ac_ext | ||
9444 | - lt_compiler_flag="$3" | ||
9445 | - # Insert the option either (1) after the last *FLAGS variable, or | ||
9446 | - # (2) before a word containing "conftest.", or (3) at the end. | ||
9447 | - # Note that $ac_compile itself does not contain backslashes and begins | ||
9448 | - # with a dollar sign (not a hyphen), so the echo should work correctly. | ||
9449 | - # The option is referenced via a variable to avoid confusing sed. | ||
9450 | - lt_compile=`echo "$ac_compile" | $SED \ | ||
9451 | - -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ | ||
9452 | - -e 's: [[^ ]]*conftest\.: $lt_compiler_flag&:; t' \ | ||
9453 | - -e 's:$: $lt_compiler_flag:'` | ||
9454 | - (eval echo "\"\$as_me:__oline__: $lt_compile\"" >&AS_MESSAGE_LOG_FD) | ||
9455 | - (eval "$lt_compile" 2>conftest.err) | ||
9456 | - ac_status=$? | ||
9457 | - cat conftest.err >&AS_MESSAGE_LOG_FD | ||
9458 | - echo "$as_me:__oline__: \$? = $ac_status" >&AS_MESSAGE_LOG_FD | ||
9459 | - if (exit $ac_status) && test -s "$ac_outfile"; then | ||
9460 | - # The compiler can only warn and ignore the option if not recognized | ||
9461 | - # So say no if there are warnings other than the usual output. | ||
9462 | - $ECHO "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp | ||
9463 | - $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 | ||
9464 | - if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then | ||
9465 | - $2=yes | ||
9466 | - fi | ||
9467 | - fi | ||
9468 | - $RM conftest* | ||
9469 | -]) | ||
9470 | - | ||
9471 | -if test x"[$]$2" = xyes; then | ||
9472 | - m4_if([$5], , :, [$5]) | ||
9473 | -else | ||
9474 | - m4_if([$6], , :, [$6]) | ||
9475 | -fi | ||
9476 | -])# _LT_COMPILER_OPTION | ||
9477 | - | ||
9478 | -# Old name: | ||
9479 | -AU_ALIAS([AC_LIBTOOL_COMPILER_OPTION], [_LT_COMPILER_OPTION]) | ||
9480 | -dnl aclocal-1.4 backwards compatibility: | ||
9481 | -dnl AC_DEFUN([AC_LIBTOOL_COMPILER_OPTION], []) | ||
9482 | - | ||
9483 | - | ||
9484 | -# _LT_LINKER_OPTION(MESSAGE, VARIABLE-NAME, FLAGS, | ||
9485 | -# [ACTION-SUCCESS], [ACTION-FAILURE]) | ||
9486 | -# ---------------------------------------------------- | ||
9487 | -# Check whether the given linker option works | ||
9488 | -AC_DEFUN([_LT_LINKER_OPTION], | ||
9489 | -[m4_require([_LT_FILEUTILS_DEFAULTS])dnl | ||
9490 | -m4_require([_LT_DECL_SED])dnl | ||
9491 | -AC_CACHE_CHECK([$1], [$2], | ||
9492 | - [$2=no | ||
9493 | - save_LDFLAGS="$LDFLAGS" | ||
9494 | - LDFLAGS="$LDFLAGS $3" | ||
9495 | - echo "$lt_simple_link_test_code" > conftest.$ac_ext | ||
9496 | - if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then | ||
9497 | - # The linker can only warn and ignore the option if not recognized | ||
9498 | - # So say no if there are warnings | ||
9499 | - if test -s conftest.err; then | ||
9500 | - # Append any errors to the config.log. | ||
9501 | - cat conftest.err 1>&AS_MESSAGE_LOG_FD | ||
9502 | - $ECHO "X$_lt_linker_boilerplate" | $Xsed -e '/^$/d' > conftest.exp | ||
9503 | - $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 | ||
9504 | - if diff conftest.exp conftest.er2 >/dev/null; then | ||
9505 | - $2=yes | ||
9506 | - fi | ||
9507 | - else | ||
9508 | - $2=yes | ||
9509 | - fi | ||
9510 | - fi | ||
9511 | - $RM -r conftest* | ||
9512 | - LDFLAGS="$save_LDFLAGS" | ||
9513 | -]) | ||
9514 | - | ||
9515 | -if test x"[$]$2" = xyes; then | ||
9516 | - m4_if([$4], , :, [$4]) | ||
9517 | -else | ||
9518 | - m4_if([$5], , :, [$5]) | ||
9519 | -fi | ||
9520 | -])# _LT_LINKER_OPTION | ||
9521 | - | ||
9522 | -# Old name: | ||
9523 | -AU_ALIAS([AC_LIBTOOL_LINKER_OPTION], [_LT_LINKER_OPTION]) | ||
9524 | -dnl aclocal-1.4 backwards compatibility: | ||
9525 | -dnl AC_DEFUN([AC_LIBTOOL_LINKER_OPTION], []) | ||
9526 | - | ||
9527 | - | ||
9528 | -# LT_CMD_MAX_LEN | ||
9529 | -#--------------- | ||
9530 | -AC_DEFUN([LT_CMD_MAX_LEN], | ||
9531 | -[AC_REQUIRE([AC_CANONICAL_HOST])dnl | ||
9532 | -# find the maximum length of command line arguments | ||
9533 | -AC_MSG_CHECKING([the maximum length of command line arguments]) | ||
9534 | -AC_CACHE_VAL([lt_cv_sys_max_cmd_len], [dnl | ||
9535 | - i=0 | ||
9536 | - teststring="ABCD" | ||
9537 | - | ||
9538 | - case $build_os in | ||
9539 | - msdosdjgpp*) | ||
9540 | - # On DJGPP, this test can blow up pretty badly due to problems in libc | ||
9541 | - # (any single argument exceeding 2000 bytes causes a buffer overrun | ||
9542 | - # during glob expansion). Even if it were fixed, the result of this | ||
9543 | - # check would be larger than it should be. | ||
9544 | - lt_cv_sys_max_cmd_len=12288; # 12K is about right | ||
9545 | - ;; | ||
9546 | - | ||
9547 | - gnu*) | ||
9548 | - # Under GNU Hurd, this test is not required because there is | ||
9549 | - # no limit to the length of command line arguments. | ||
9550 | - # Libtool will interpret -1 as no limit whatsoever | ||
9551 | - lt_cv_sys_max_cmd_len=-1; | ||
9552 | - ;; | ||
9553 | - | ||
9554 | - cygwin* | mingw* | cegcc*) | ||
9555 | - # On Win9x/ME, this test blows up -- it succeeds, but takes | ||
9556 | - # about 5 minutes as the teststring grows exponentially. | ||
9557 | - # Worse, since 9x/ME are not pre-emptively multitasking, | ||
9558 | - # you end up with a "frozen" computer, even though with patience | ||
9559 | - # the test eventually succeeds (with a max line length of 256k). | ||
9560 | - # Instead, let's just punt: use the minimum linelength reported by | ||
9561 | - # all of the supported platforms: 8192 (on NT/2K/XP). | ||
9562 | - lt_cv_sys_max_cmd_len=8192; | ||
9563 | - ;; | ||
9564 | - | ||
9565 | - amigaos*) | ||
9566 | - # On AmigaOS with pdksh, this test takes hours, literally. | ||
9567 | - # So we just punt and use a minimum line length of 8192. | ||
9568 | - lt_cv_sys_max_cmd_len=8192; | ||
9569 | - ;; | ||
9570 | - | ||
9571 | - netbsd* | freebsd* | openbsd* | darwin* | dragonfly*) | ||
9572 | - # This has been around since 386BSD, at least. Likely further. | ||
9573 | - if test -x /sbin/sysctl; then | ||
9574 | - lt_cv_sys_max_cmd_len=`/sbin/sysctl -n kern.argmax` | ||
9575 | - elif test -x /usr/sbin/sysctl; then | ||
9576 | - lt_cv_sys_max_cmd_len=`/usr/sbin/sysctl -n kern.argmax` | ||
9577 | - else | ||
9578 | - lt_cv_sys_max_cmd_len=65536 # usable default for all BSDs | ||
9579 | - fi | ||
9580 | - # And add a safety zone | ||
9581 | - lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4` | ||
9582 | - lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3` | ||
9583 | - ;; | ||
9584 | - | ||
9585 | - interix*) | ||
9586 | - # We know the value 262144 and hardcode it with a safety zone (like BSD) | ||
9587 | - lt_cv_sys_max_cmd_len=196608 | ||
9588 | - ;; | ||
9589 | - | ||
9590 | - osf*) | ||
9591 | - # Dr. Hans Ekkehard Plesser reports seeing a kernel panic running configure | ||
9592 | - # due to this test when exec_disable_arg_limit is 1 on Tru64. It is not | ||
9593 | - # nice to cause kernel panics so lets avoid the loop below. | ||
9594 | - # First set a reasonable default. | ||
9595 | - lt_cv_sys_max_cmd_len=16384 | ||
9596 | - # | ||
9597 | - if test -x /sbin/sysconfig; then | ||
9598 | - case `/sbin/sysconfig -q proc exec_disable_arg_limit` in | ||
9599 | - *1*) lt_cv_sys_max_cmd_len=-1 ;; | ||
9600 | - esac | ||
9601 | - fi | ||
9602 | - ;; | ||
9603 | - sco3.2v5*) | ||
9604 | - lt_cv_sys_max_cmd_len=102400 | ||
9605 | - ;; | ||
9606 | - sysv5* | sco5v6* | sysv4.2uw2*) | ||
9607 | - kargmax=`grep ARG_MAX /etc/conf/cf.d/stune 2>/dev/null` | ||
9608 | - if test -n "$kargmax"; then | ||
9609 | - lt_cv_sys_max_cmd_len=`echo $kargmax | sed 's/.*[[ ]]//'` | ||
9610 | - else | ||
9611 | - lt_cv_sys_max_cmd_len=32768 | ||
9612 | - fi | ||
9613 | - ;; | ||
9614 | - *) | ||
9615 | - lt_cv_sys_max_cmd_len=`(getconf ARG_MAX) 2> /dev/null` | ||
9616 | - if test -n "$lt_cv_sys_max_cmd_len"; then | ||
9617 | - lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4` | ||
9618 | - lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3` | ||
9619 | - else | ||
9620 | - # Make teststring a little bigger before we do anything with it. | ||
9621 | - # a 1K string should be a reasonable start. | ||
9622 | - for i in 1 2 3 4 5 6 7 8 ; do | ||
9623 | - teststring=$teststring$teststring | ||
9624 | - done | ||
9625 | - SHELL=${SHELL-${CONFIG_SHELL-/bin/sh}} | ||
9626 | - # If test is not a shell built-in, we'll probably end up computing a | ||
9627 | - # maximum length that is only half of the actual maximum length, but | ||
9628 | - # we can't tell. | ||
9629 | - while { test "X"`$SHELL [$]0 --fallback-echo "X$teststring$teststring" 2>/dev/null` \ | ||
9630 | - = "XX$teststring$teststring"; } >/dev/null 2>&1 && | ||
9631 | - test $i != 17 # 1/2 MB should be enough | ||
9632 | - do | ||
9633 | - i=`expr $i + 1` | ||
9634 | - teststring=$teststring$teststring | ||
9635 | - done | ||
9636 | - # Only check the string length outside the loop. | ||
9637 | - lt_cv_sys_max_cmd_len=`expr "X$teststring" : ".*" 2>&1` | ||
9638 | - teststring= | ||
9639 | - # Add a significant safety factor because C++ compilers can tack on | ||
9640 | - # massive amounts of additional arguments before passing them to the | ||
9641 | - # linker. It appears as though 1/2 is a usable value. | ||
9642 | - lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 2` | ||
9643 | - fi | ||
9644 | - ;; | ||
9645 | - esac | ||
9646 | -]) | ||
9647 | -if test -n $lt_cv_sys_max_cmd_len ; then | ||
9648 | - AC_MSG_RESULT($lt_cv_sys_max_cmd_len) | ||
9649 | -else | ||
9650 | - AC_MSG_RESULT(none) | ||
9651 | -fi | ||
9652 | -max_cmd_len=$lt_cv_sys_max_cmd_len | ||
9653 | -_LT_DECL([], [max_cmd_len], [0], | ||
9654 | - [What is the maximum length of a command?]) | ||
9655 | -])# LT_CMD_MAX_LEN | ||
9656 | - | ||
9657 | -# Old name: | ||
9658 | -AU_ALIAS([AC_LIBTOOL_SYS_MAX_CMD_LEN], [LT_CMD_MAX_LEN]) | ||
9659 | -dnl aclocal-1.4 backwards compatibility: | ||
9660 | -dnl AC_DEFUN([AC_LIBTOOL_SYS_MAX_CMD_LEN], []) | ||
9661 | - | ||
9662 | - | ||
9663 | -# _LT_HEADER_DLFCN | ||
9664 | -# ---------------- | ||
9665 | -m4_defun([_LT_HEADER_DLFCN], | ||
9666 | -[AC_CHECK_HEADERS([dlfcn.h], [], [], [AC_INCLUDES_DEFAULT])dnl | ||
9667 | -])# _LT_HEADER_DLFCN | ||
9668 | - | ||
9669 | - | ||
9670 | -# _LT_TRY_DLOPEN_SELF (ACTION-IF-TRUE, ACTION-IF-TRUE-W-USCORE, | ||
9671 | -# ACTION-IF-FALSE, ACTION-IF-CROSS-COMPILING) | ||
9672 | -# ---------------------------------------------------------------- | ||
9673 | -m4_defun([_LT_TRY_DLOPEN_SELF], | ||
9674 | -[m4_require([_LT_HEADER_DLFCN])dnl | ||
9675 | -if test "$cross_compiling" = yes; then : | ||
9676 | - [$4] | ||
9677 | -else | ||
9678 | - lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 | ||
9679 | - lt_status=$lt_dlunknown | ||
9680 | - cat > conftest.$ac_ext <<_LT_EOF | ||
9681 | -[#line __oline__ "configure" | ||
9682 | -#include "confdefs.h" | ||
9683 | - | ||
9684 | -#if HAVE_DLFCN_H | ||
9685 | -#include <dlfcn.h> | ||
9686 | -#endif | ||
9687 | - | ||
9688 | -#include <stdio.h> | ||
9689 | - | ||
9690 | -#ifdef RTLD_GLOBAL | ||
9691 | -# define LT_DLGLOBAL RTLD_GLOBAL | ||
9692 | -#else | ||
9693 | -# ifdef DL_GLOBAL | ||
9694 | -# define LT_DLGLOBAL DL_GLOBAL | ||
9695 | -# else | ||
9696 | -# define LT_DLGLOBAL 0 | ||
9697 | -# endif | ||
9698 | -#endif | ||
9699 | - | ||
9700 | -/* We may have to define LT_DLLAZY_OR_NOW in the command line if we | ||
9701 | - find out it does not work in some platform. */ | ||
9702 | -#ifndef LT_DLLAZY_OR_NOW | ||
9703 | -# ifdef RTLD_LAZY | ||
9704 | -# define LT_DLLAZY_OR_NOW RTLD_LAZY | ||
9705 | -# else | ||
9706 | -# ifdef DL_LAZY | ||
9707 | -# define LT_DLLAZY_OR_NOW DL_LAZY | ||
9708 | -# else | ||
9709 | -# ifdef RTLD_NOW | ||
9710 | -# define LT_DLLAZY_OR_NOW RTLD_NOW | ||
9711 | -# else | ||
9712 | -# ifdef DL_NOW | ||
9713 | -# define LT_DLLAZY_OR_NOW DL_NOW | ||
9714 | -# else | ||
9715 | -# define LT_DLLAZY_OR_NOW 0 | ||
9716 | -# endif | ||
9717 | -# endif | ||
9718 | -# endif | ||
9719 | -# endif | ||
9720 | -#endif | ||
9721 | - | ||
9722 | -void fnord() { int i=42;} | ||
9723 | -int main () | ||
9724 | -{ | ||
9725 | - void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW); | ||
9726 | - int status = $lt_dlunknown; | ||
9727 | - | ||
9728 | - if (self) | ||
9729 | - { | ||
9730 | - if (dlsym (self,"fnord")) status = $lt_dlno_uscore; | ||
9731 | - else if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore; | ||
9732 | - /* dlclose (self); */ | ||
9733 | - } | ||
9734 | - else | ||
9735 | - puts (dlerror ()); | ||
9736 | - | ||
9737 | - return status; | ||
9738 | -}] | ||
9739 | -_LT_EOF | ||
9740 | - if AC_TRY_EVAL(ac_link) && test -s conftest${ac_exeext} 2>/dev/null; then | ||
9741 | - (./conftest; exit; ) >&AS_MESSAGE_LOG_FD 2>/dev/null | ||
9742 | - lt_status=$? | ||
9743 | - case x$lt_status in | ||
9744 | - x$lt_dlno_uscore) $1 ;; | ||
9745 | - x$lt_dlneed_uscore) $2 ;; | ||
9746 | - x$lt_dlunknown|x*) $3 ;; | ||
9747 | - esac | ||
9748 | - else : | ||
9749 | - # compilation failed | ||
9750 | - $3 | ||
9751 | - fi | ||
9752 | -fi | ||
9753 | -rm -fr conftest* | ||
9754 | -])# _LT_TRY_DLOPEN_SELF | ||
9755 | - | ||
9756 | - | ||
9757 | -# LT_SYS_DLOPEN_SELF | ||
9758 | -# ------------------ | ||
9759 | -AC_DEFUN([LT_SYS_DLOPEN_SELF], | ||
9760 | -[m4_require([_LT_HEADER_DLFCN])dnl | ||
9761 | -if test "x$enable_dlopen" != xyes; then | ||
9762 | - enable_dlopen=unknown | ||
9763 | - enable_dlopen_self=unknown | ||
9764 | - enable_dlopen_self_static=unknown | ||
9765 | -else | ||
9766 | - lt_cv_dlopen=no | ||
9767 | - lt_cv_dlopen_libs= | ||
9768 | - | ||
9769 | - case $host_os in | ||
9770 | - beos*) | ||
9771 | - lt_cv_dlopen="load_add_on" | ||
9772 | - lt_cv_dlopen_libs= | ||
9773 | - lt_cv_dlopen_self=yes | ||
9774 | - ;; | ||
9775 | - | ||
9776 | - mingw* | pw32* | cegcc*) | ||
9777 | - lt_cv_dlopen="LoadLibrary" | ||
9778 | - lt_cv_dlopen_libs= | ||
9779 | - ;; | ||
9780 | - | ||
9781 | - cygwin*) | ||
9782 | - lt_cv_dlopen="dlopen" | ||
9783 | - lt_cv_dlopen_libs= | ||
9784 | - ;; | ||
9785 | - | ||
9786 | - darwin*) | ||
9787 | - # if libdl is installed we need to link against it | ||
9788 | - AC_CHECK_LIB([dl], [dlopen], | ||
9789 | - [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"],[ | ||
9790 | - lt_cv_dlopen="dyld" | ||
9791 | - lt_cv_dlopen_libs= | ||
9792 | - lt_cv_dlopen_self=yes | ||
9793 | - ]) | ||
9794 | - ;; | ||
9795 | - | ||
9796 | - *) | ||
9797 | - AC_CHECK_FUNC([shl_load], | ||
9798 | - [lt_cv_dlopen="shl_load"], | ||
9799 | - [AC_CHECK_LIB([dld], [shl_load], | ||
9800 | - [lt_cv_dlopen="shl_load" lt_cv_dlopen_libs="-ldld"], | ||
9801 | - [AC_CHECK_FUNC([dlopen], | ||
9802 | - [lt_cv_dlopen="dlopen"], | ||
9803 | - [AC_CHECK_LIB([dl], [dlopen], | ||
9804 | - [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"], | ||
9805 | - [AC_CHECK_LIB([svld], [dlopen], | ||
9806 | - [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-lsvld"], | ||
9807 | - [AC_CHECK_LIB([dld], [dld_link], | ||
9808 | - [lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-ldld"]) | ||
9809 | - ]) | ||
9810 | - ]) | ||
9811 | - ]) | ||
9812 | - ]) | ||
9813 | - ]) | ||
9814 | - ;; | ||
9815 | - esac | ||
9816 | - | ||
9817 | - if test "x$lt_cv_dlopen" != xno; then | ||
9818 | - enable_dlopen=yes | ||
9819 | - else | ||
9820 | - enable_dlopen=no | ||
9821 | - fi | ||
9822 | - | ||
9823 | - case $lt_cv_dlopen in | ||
9824 | - dlopen) | ||
9825 | - save_CPPFLAGS="$CPPFLAGS" | ||
9826 | - test "x$ac_cv_header_dlfcn_h" = xyes && CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H" | ||
9827 | - | ||
9828 | - save_LDFLAGS="$LDFLAGS" | ||
9829 | - wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\" | ||
9830 | - | ||
9831 | - save_LIBS="$LIBS" | ||
9832 | - LIBS="$lt_cv_dlopen_libs $LIBS" | ||
9833 | - | ||
9834 | - AC_CACHE_CHECK([whether a program can dlopen itself], | ||
9835 | - lt_cv_dlopen_self, [dnl | ||
9836 | - _LT_TRY_DLOPEN_SELF( | ||
9837 | - lt_cv_dlopen_self=yes, lt_cv_dlopen_self=yes, | ||
9838 | - lt_cv_dlopen_self=no, lt_cv_dlopen_self=cross) | ||
9839 | - ]) | ||
9840 | - | ||
9841 | - if test "x$lt_cv_dlopen_self" = xyes; then | ||
9842 | - wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $lt_prog_compiler_static\" | ||
9843 | - AC_CACHE_CHECK([whether a statically linked program can dlopen itself], | ||
9844 | - lt_cv_dlopen_self_static, [dnl | ||
9845 | - _LT_TRY_DLOPEN_SELF( | ||
9846 | - lt_cv_dlopen_self_static=yes, lt_cv_dlopen_self_static=yes, | ||
9847 | - lt_cv_dlopen_self_static=no, lt_cv_dlopen_self_static=cross) | ||
9848 | - ]) | ||
9849 | - fi | ||
9850 | - | ||
9851 | - CPPFLAGS="$save_CPPFLAGS" | ||
9852 | - LDFLAGS="$save_LDFLAGS" | ||
9853 | - LIBS="$save_LIBS" | ||
9854 | - ;; | ||
9855 | - esac | ||
9856 | - | ||
9857 | - case $lt_cv_dlopen_self in | ||
9858 | - yes|no) enable_dlopen_self=$lt_cv_dlopen_self ;; | ||
9859 | - *) enable_dlopen_self=unknown ;; | ||
9860 | - esac | ||
9861 | - | ||
9862 | - case $lt_cv_dlopen_self_static in | ||
9863 | - yes|no) enable_dlopen_self_static=$lt_cv_dlopen_self_static ;; | ||
9864 | - *) enable_dlopen_self_static=unknown ;; | ||
9865 | - esac | ||
9866 | -fi | ||
9867 | -_LT_DECL([dlopen_support], [enable_dlopen], [0], | ||
9868 | - [Whether dlopen is supported]) | ||
9869 | -_LT_DECL([dlopen_self], [enable_dlopen_self], [0], | ||
9870 | - [Whether dlopen of programs is supported]) | ||
9871 | -_LT_DECL([dlopen_self_static], [enable_dlopen_self_static], [0], | ||
9872 | - [Whether dlopen of statically linked programs is supported]) | ||
9873 | -])# LT_SYS_DLOPEN_SELF | ||
9874 | - | ||
9875 | -# Old name: | ||
9876 | -AU_ALIAS([AC_LIBTOOL_DLOPEN_SELF], [LT_SYS_DLOPEN_SELF]) | ||
9877 | -dnl aclocal-1.4 backwards compatibility: | ||
9878 | -dnl AC_DEFUN([AC_LIBTOOL_DLOPEN_SELF], []) | ||
9879 | - | ||
9880 | - | ||
9881 | -# _LT_COMPILER_C_O([TAGNAME]) | ||
9882 | -# --------------------------- | ||
9883 | -# Check to see if options -c and -o are simultaneously supported by compiler. | ||
9884 | -# This macro does not hard code the compiler like AC_PROG_CC_C_O. | ||
9885 | -m4_defun([_LT_COMPILER_C_O], | ||
9886 | -[m4_require([_LT_DECL_SED])dnl | ||
9887 | -m4_require([_LT_FILEUTILS_DEFAULTS])dnl | ||
9888 | -m4_require([_LT_TAG_COMPILER])dnl | ||
9889 | -AC_CACHE_CHECK([if $compiler supports -c -o file.$ac_objext], | ||
9890 | - [_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)], | ||
9891 | - [_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)=no | ||
9892 | - $RM -r conftest 2>/dev/null | ||
9893 | - mkdir conftest | ||
9894 | - cd conftest | ||
9895 | - mkdir out | ||
9896 | - echo "$lt_simple_compile_test_code" > conftest.$ac_ext | ||
9897 | - | ||
9898 | - lt_compiler_flag="-o out/conftest2.$ac_objext" | ||
9899 | - # Insert the option either (1) after the last *FLAGS variable, or | ||
9900 | - # (2) before a word containing "conftest.", or (3) at the end. | ||
9901 | - # Note that $ac_compile itself does not contain backslashes and begins | ||
9902 | - # with a dollar sign (not a hyphen), so the echo should work correctly. | ||
9903 | - lt_compile=`echo "$ac_compile" | $SED \ | ||
9904 | - -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ | ||
9905 | - -e 's: [[^ ]]*conftest\.: $lt_compiler_flag&:; t' \ | ||
9906 | - -e 's:$: $lt_compiler_flag:'` | ||
9907 | - (eval echo "\"\$as_me:__oline__: $lt_compile\"" >&AS_MESSAGE_LOG_FD) | ||
9908 | - (eval "$lt_compile" 2>out/conftest.err) | ||
9909 | - ac_status=$? | ||
9910 | - cat out/conftest.err >&AS_MESSAGE_LOG_FD | ||
9911 | - echo "$as_me:__oline__: \$? = $ac_status" >&AS_MESSAGE_LOG_FD | ||
9912 | - if (exit $ac_status) && test -s out/conftest2.$ac_objext | ||
9913 | - then | ||
9914 | - # The compiler can only warn and ignore the option if not recognized | ||
9915 | - # So say no if there are warnings | ||
9916 | - $ECHO "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' > out/conftest.exp | ||
9917 | - $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 | ||
9918 | - if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then | ||
9919 | - _LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)=yes | ||
9920 | - fi | ||
9921 | - fi | ||
9922 | - chmod u+w . 2>&AS_MESSAGE_LOG_FD | ||
9923 | - $RM conftest* | ||
9924 | - # SGI C++ compiler will create directory out/ii_files/ for | ||
9925 | - # template instantiation | ||
9926 | - test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files | ||
9927 | - $RM out/* && rmdir out | ||
9928 | - cd .. | ||
9929 | - $RM -r conftest | ||
9930 | - $RM conftest* | ||
9931 | -]) | ||
9932 | -_LT_TAGDECL([compiler_c_o], [lt_cv_prog_compiler_c_o], [1], | ||
9933 | - [Does compiler simultaneously support -c and -o options?]) | ||
9934 | -])# _LT_COMPILER_C_O | ||
9935 | - | ||
9936 | - | ||
9937 | -# _LT_COMPILER_FILE_LOCKS([TAGNAME]) | ||
9938 | -# ---------------------------------- | ||
9939 | -# Check to see if we can do hard links to lock some files if needed | ||
9940 | -m4_defun([_LT_COMPILER_FILE_LOCKS], | ||
9941 | -[m4_require([_LT_ENABLE_LOCK])dnl | ||
9942 | -m4_require([_LT_FILEUTILS_DEFAULTS])dnl | ||
9943 | -_LT_COMPILER_C_O([$1]) | ||
9944 | - | ||
9945 | -hard_links="nottested" | ||
9946 | -if test "$_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)" = no && test "$need_locks" != no; then | ||
9947 | - # do not overwrite the value of need_locks provided by the user | ||
9948 | - AC_MSG_CHECKING([if we can lock with hard links]) | ||
9949 | - hard_links=yes | ||
9950 | - $RM conftest* | ||
9951 | - ln conftest.a conftest.b 2>/dev/null && hard_links=no | ||
9952 | - touch conftest.a | ||
9953 | - ln conftest.a conftest.b 2>&5 || hard_links=no | ||
9954 | - ln conftest.a conftest.b 2>/dev/null && hard_links=no | ||
9955 | - AC_MSG_RESULT([$hard_links]) | ||
9956 | - if test "$hard_links" = no; then | ||
9957 | - AC_MSG_WARN([`$CC' does not support `-c -o', so `make -j' may be unsafe]) | ||
9958 | - need_locks=warn | ||
9959 | - fi | ||
9960 | -else | ||
9961 | - need_locks=no | ||
9962 | -fi | ||
9963 | -_LT_DECL([], [need_locks], [1], [Must we lock files when doing compilation?]) | ||
9964 | -])# _LT_COMPILER_FILE_LOCKS | ||
9965 | - | ||
9966 | - | ||
9967 | -# _LT_CHECK_OBJDIR | ||
9968 | -# ---------------- | ||
9969 | -m4_defun([_LT_CHECK_OBJDIR], | ||
9970 | -[AC_CACHE_CHECK([for objdir], [lt_cv_objdir], | ||
9971 | -[rm -f .libs 2>/dev/null | ||
9972 | -mkdir .libs 2>/dev/null | ||
9973 | -if test -d .libs; then | ||
9974 | - lt_cv_objdir=.libs | ||
9975 | -else | ||
9976 | - # MS-DOS does not allow filenames that begin with a dot. | ||
9977 | - lt_cv_objdir=_libs | ||
9978 | -fi | ||
9979 | -rmdir .libs 2>/dev/null]) | ||
9980 | -objdir=$lt_cv_objdir | ||
9981 | -_LT_DECL([], [objdir], [0], | ||
9982 | - [The name of the directory that contains temporary libtool files])dnl | ||
9983 | -m4_pattern_allow([LT_OBJDIR])dnl | ||
9984 | -AC_DEFINE_UNQUOTED(LT_OBJDIR, "$lt_cv_objdir/", | ||
9985 | - [Define to the sub-directory in which libtool stores uninstalled libraries.]) | ||
9986 | -])# _LT_CHECK_OBJDIR | ||
9987 | - | ||
9988 | - | ||
9989 | -# _LT_LINKER_HARDCODE_LIBPATH([TAGNAME]) | ||
9990 | -# -------------------------------------- | ||
9991 | -# Check hardcoding attributes. | ||
9992 | -m4_defun([_LT_LINKER_HARDCODE_LIBPATH], | ||
9993 | -[AC_MSG_CHECKING([how to hardcode library paths into programs]) | ||
9994 | -_LT_TAGVAR(hardcode_action, $1)= | ||
9995 | -if test -n "$_LT_TAGVAR(hardcode_libdir_flag_spec, $1)" || | ||
9996 | - test -n "$_LT_TAGVAR(runpath_var, $1)" || | ||
9997 | - test "X$_LT_TAGVAR(hardcode_automatic, $1)" = "Xyes" ; then | ||
9998 | - | ||
9999 | - # We can hardcode non-existent directories. | ||
10000 | - if test "$_LT_TAGVAR(hardcode_direct, $1)" != no && | ||
10001 | - # If the only mechanism to avoid hardcoding is shlibpath_var, we | ||
10002 | - # have to relink, otherwise we might link with an installed library | ||
10003 | - # when we should be linking with a yet-to-be-installed one | ||
10004 | - ## test "$_LT_TAGVAR(hardcode_shlibpath_var, $1)" != no && | ||
10005 | - test "$_LT_TAGVAR(hardcode_minus_L, $1)" != no; then | ||
10006 | - # Linking always hardcodes the temporary library directory. | ||
10007 | - _LT_TAGVAR(hardcode_action, $1)=relink | ||
10008 | - else | ||
10009 | - # We can link without hardcoding, and we can hardcode nonexisting dirs. | ||
10010 | - _LT_TAGVAR(hardcode_action, $1)=immediate | ||
10011 | - fi | ||
10012 | -else | ||
10013 | - # We cannot hardcode anything, or else we can only hardcode existing | ||
10014 | - # directories. | ||
10015 | - _LT_TAGVAR(hardcode_action, $1)=unsupported | ||
10016 | -fi | ||
10017 | -AC_MSG_RESULT([$_LT_TAGVAR(hardcode_action, $1)]) | ||
10018 | - | ||
10019 | -if test "$_LT_TAGVAR(hardcode_action, $1)" = relink || | ||
10020 | - test "$_LT_TAGVAR(inherit_rpath, $1)" = yes; then | ||
10021 | - # Fast installation is not supported | ||
10022 | - enable_fast_install=no | ||
10023 | -elif test "$shlibpath_overrides_runpath" = yes || | ||
10024 | - test "$enable_shared" = no; then | ||
10025 | - # Fast installation is not necessary | ||
10026 | - enable_fast_install=needless | ||
10027 | -fi | ||
10028 | -_LT_TAGDECL([], [hardcode_action], [0], | ||
10029 | - [How to hardcode a shared library path into an executable]) | ||
10030 | -])# _LT_LINKER_HARDCODE_LIBPATH | ||
10031 | - | ||
10032 | - | ||
10033 | -# _LT_CMD_STRIPLIB | ||
10034 | -# ---------------- | ||
10035 | -m4_defun([_LT_CMD_STRIPLIB], | ||
10036 | -[m4_require([_LT_DECL_EGREP]) | ||
10037 | -striplib= | ||
10038 | -old_striplib= | ||
10039 | -AC_MSG_CHECKING([whether stripping libraries is possible]) | ||
10040 | -if test -n "$STRIP" && $STRIP -V 2>&1 | $GREP "GNU strip" >/dev/null; then | ||
10041 | - test -z "$old_striplib" && old_striplib="$STRIP --strip-debug" | ||
10042 | - test -z "$striplib" && striplib="$STRIP --strip-unneeded" | ||
10043 | - AC_MSG_RESULT([yes]) | ||
10044 | -else | ||
10045 | -# FIXME - insert some real tests, host_os isn't really good enough | ||
10046 | - case $host_os in | ||
10047 | - darwin*) | ||
10048 | - if test -n "$STRIP" ; then | ||
10049 | - striplib="$STRIP -x" | ||
10050 | - old_striplib="$STRIP -S" | ||
10051 | - AC_MSG_RESULT([yes]) | ||
10052 | - else | ||
10053 | - AC_MSG_RESULT([no]) | ||
10054 | - fi | ||
10055 | - ;; | ||
10056 | - *) | ||
10057 | - AC_MSG_RESULT([no]) | ||
10058 | - ;; | ||
10059 | - esac | ||
10060 | -fi | ||
10061 | -_LT_DECL([], [old_striplib], [1], [Commands to strip libraries]) | ||
10062 | -_LT_DECL([], [striplib], [1]) | ||
10063 | -])# _LT_CMD_STRIPLIB | ||
10064 | - | ||
10065 | - | ||
10066 | -# _LT_SYS_DYNAMIC_LINKER([TAG]) | ||
10067 | -# ----------------------------- | ||
10068 | -# PORTME Fill in your ld.so characteristics | ||
10069 | -m4_defun([_LT_SYS_DYNAMIC_LINKER], | ||
10070 | -[AC_REQUIRE([AC_CANONICAL_HOST])dnl | ||
10071 | -m4_require([_LT_DECL_EGREP])dnl | ||
10072 | -m4_require([_LT_FILEUTILS_DEFAULTS])dnl | ||
10073 | -m4_require([_LT_DECL_OBJDUMP])dnl | ||
10074 | -m4_require([_LT_DECL_SED])dnl | ||
10075 | -AC_MSG_CHECKING([dynamic linker characteristics]) | ||
10076 | -m4_if([$1], | ||
10077 | - [], [ | ||
10078 | -if test "$GCC" = yes; then | ||
10079 | - case $host_os in | ||
10080 | - darwin*) lt_awk_arg="/^libraries:/,/LR/" ;; | ||
10081 | - *) lt_awk_arg="/^libraries:/" ;; | ||
10082 | - esac | ||
10083 | - lt_search_path_spec=`$CC -print-search-dirs | awk $lt_awk_arg | $SED -e "s/^libraries://" -e "s,=/,/,g"` | ||
10084 | - if $ECHO "$lt_search_path_spec" | $GREP ';' >/dev/null ; then | ||
10085 | - # if the path contains ";" then we assume it to be the separator | ||
10086 | - # otherwise default to the standard path separator (i.e. ":") - it is | ||
10087 | - # assumed that no part of a normal pathname contains ";" but that should | ||
10088 | - # okay in the real world where ";" in dirpaths is itself problematic. | ||
10089 | - lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED -e 's/;/ /g'` | ||
10090 | - else | ||
10091 | - lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` | ||
10092 | - fi | ||
10093 | - # Ok, now we have the path, separated by spaces, we can step through it | ||
10094 | - # and add multilib dir if necessary. | ||
10095 | - lt_tmp_lt_search_path_spec= | ||
10096 | - lt_multi_os_dir=`$CC $CPPFLAGS $CFLAGS $LDFLAGS -print-multi-os-directory 2>/dev/null` | ||
10097 | - for lt_sys_path in $lt_search_path_spec; do | ||
10098 | - if test -d "$lt_sys_path/$lt_multi_os_dir"; then | ||
10099 | - lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path/$lt_multi_os_dir" | ||
10100 | - else | ||
10101 | - test -d "$lt_sys_path" && \ | ||
10102 | - lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path" | ||
10103 | - fi | ||
10104 | - done | ||
10105 | - lt_search_path_spec=`$ECHO $lt_tmp_lt_search_path_spec | awk ' | ||
10106 | -BEGIN {RS=" "; FS="/|\n";} { | ||
10107 | - lt_foo=""; | ||
10108 | - lt_count=0; | ||
10109 | - for (lt_i = NF; lt_i > 0; lt_i--) { | ||
10110 | - if ($lt_i != "" && $lt_i != ".") { | ||
10111 | - if ($lt_i == "..") { | ||
10112 | - lt_count++; | ||
10113 | - } else { | ||
10114 | - if (lt_count == 0) { | ||
10115 | - lt_foo="/" $lt_i lt_foo; | ||
10116 | - } else { | ||
10117 | - lt_count--; | ||
10118 | - } | ||
10119 | - } | ||
10120 | - } | ||
10121 | - } | ||
10122 | - if (lt_foo != "") { lt_freq[[lt_foo]]++; } | ||
10123 | - if (lt_freq[[lt_foo]] == 1) { print lt_foo; } | ||
10124 | -}'` | ||
10125 | - sys_lib_search_path_spec=`$ECHO $lt_search_path_spec` | ||
10126 | -else | ||
10127 | - sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib" | ||
10128 | -fi]) | ||
10129 | -library_names_spec= | ||
10130 | -libname_spec='lib$name' | ||
10131 | -soname_spec= | ||
10132 | -shrext_cmds=".so" | ||
10133 | -postinstall_cmds= | ||
10134 | -postuninstall_cmds= | ||
10135 | -finish_cmds= | ||
10136 | -finish_eval= | ||
10137 | -shlibpath_var= | ||
10138 | -shlibpath_overrides_runpath=unknown | ||
10139 | -version_type=none | ||
10140 | -dynamic_linker="$host_os ld.so" | ||
10141 | -sys_lib_dlsearch_path_spec="/lib /usr/lib" | ||
10142 | -need_lib_prefix=unknown | ||
10143 | -hardcode_into_libs=no | ||
10144 | - | ||
10145 | -# when you set need_version to no, make sure it does not cause -set_version | ||
10146 | -# flags to be left without arguments | ||
10147 | -need_version=unknown | ||
10148 | - | ||
10149 | -case $host_os in | ||
10150 | -aix3*) | ||
10151 | - version_type=linux | ||
10152 | - library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a' | ||
10153 | - shlibpath_var=LIBPATH | ||
10154 | - | ||
10155 | - # AIX 3 has no versioning support, so we append a major version to the name. | ||
10156 | - soname_spec='${libname}${release}${shared_ext}$major' | ||
10157 | - ;; | ||
10158 | - | ||
10159 | -aix[[4-9]]*) | ||
10160 | - version_type=linux | ||
10161 | - need_lib_prefix=no | ||
10162 | - need_version=no | ||
10163 | - hardcode_into_libs=yes | ||
10164 | - if test "$host_cpu" = ia64; then | ||
10165 | - # AIX 5 supports IA64 | ||
10166 | - library_names_spec='${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext}$versuffix $libname${shared_ext}' | ||
10167 | - shlibpath_var=LD_LIBRARY_PATH | ||
10168 | - else | ||
10169 | - # With GCC up to 2.95.x, collect2 would create an import file | ||
10170 | - # for dependence libraries. The import file would start with | ||
10171 | - # the line `#! .'. This would cause the generated library to | ||
10172 | - # depend on `.', always an invalid library. This was fixed in | ||
10173 | - # development snapshots of GCC prior to 3.0. | ||
10174 | - case $host_os in | ||
10175 | - aix4 | aix4.[[01]] | aix4.[[01]].*) | ||
10176 | - if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)' | ||
10177 | - echo ' yes ' | ||
10178 | - echo '#endif'; } | ${CC} -E - | $GREP yes > /dev/null; then | ||
10179 | - : | ||
10180 | - else | ||
10181 | - can_build_shared=no | ||
10182 | - fi | ||
10183 | - ;; | ||
10184 | - esac | ||
10185 | - # AIX (on Power*) has no versioning support, so currently we can not hardcode correct | ||
10186 | - # soname into executable. Probably we can add versioning support to | ||
10187 | - # collect2, so additional links can be useful in future. | ||
10188 | - if test "$aix_use_runtimelinking" = yes; then | ||
10189 | - # If using run time linking (on AIX 4.2 or later) use lib<name>.so | ||
10190 | - # instead of lib<name>.a to let people know that these are not | ||
10191 | - # typical AIX shared libraries. | ||
10192 | - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' | ||
10193 | - else | ||
10194 | - # We preserve .a as extension for shared libraries through AIX4.2 | ||
10195 | - # and later when we are not doing run time linking. | ||
10196 | - library_names_spec='${libname}${release}.a $libname.a' | ||
10197 | - soname_spec='${libname}${release}${shared_ext}$major' | ||
10198 | - fi | ||
10199 | - shlibpath_var=LIBPATH | ||
10200 | - fi | ||
10201 | - ;; | ||
10202 | - | ||
10203 | -amigaos*) | ||
10204 | - case $host_cpu in | ||
10205 | - powerpc) | ||
10206 | - # Since July 2007 AmigaOS4 officially supports .so libraries. | ||
10207 | - # When compiling the executable, add -use-dynld -Lsobjs: to the compileline. | ||
10208 | - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' | ||
10209 | - ;; | ||
10210 | - m68k) | ||
10211 | - library_names_spec='$libname.ixlibrary $libname.a' | ||
10212 | - # Create ${libname}_ixlibrary.a entries in /sys/libs. | ||
10213 | - finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`$ECHO "X$lib" | $Xsed -e '\''s%^.*/\([[^/]]*\)\.ixlibrary$%\1%'\''`; test $RM /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done' | ||
10214 | - ;; | ||
10215 | - esac | ||
10216 | - ;; | ||
10217 | - | ||
10218 | -beos*) | ||
10219 | - library_names_spec='${libname}${shared_ext}' | ||
10220 | - dynamic_linker="$host_os ld.so" | ||
10221 | - shlibpath_var=LIBRARY_PATH | ||
10222 | - ;; | ||
10223 | - | ||
10224 | -bsdi[[45]]*) | ||
10225 | - version_type=linux | ||
10226 | - need_version=no | ||
10227 | - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' | ||
10228 | - soname_spec='${libname}${release}${shared_ext}$major' | ||
10229 | - finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir' | ||
10230 | - shlibpath_var=LD_LIBRARY_PATH | ||
10231 | - sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib" | ||
10232 | - sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib" | ||
10233 | - # the default ld.so.conf also contains /usr/contrib/lib and | ||
10234 | - # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow | ||
10235 | - # libtool to hard-code these into programs | ||
10236 | - ;; | ||
10237 | - | ||
10238 | -cygwin* | mingw* | pw32* | cegcc*) | ||
10239 | - version_type=windows | ||
10240 | - shrext_cmds=".dll" | ||
10241 | - need_version=no | ||
10242 | - need_lib_prefix=no | ||
10243 | - | ||
10244 | - case $GCC,$host_os in | ||
10245 | - yes,cygwin* | yes,mingw* | yes,pw32* | yes,cegcc*) | ||
10246 | - library_names_spec='$libname.dll.a' | ||
10247 | - # DLL is installed to $(libdir)/../bin by postinstall_cmds | ||
10248 | - postinstall_cmds='base_file=`basename \${file}`~ | ||
10249 | - dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i; echo \$dlname'\''`~ | ||
10250 | - dldir=$destdir/`dirname \$dlpath`~ | ||
10251 | - test -d \$dldir || mkdir -p \$dldir~ | ||
10252 | - $install_prog $dir/$dlname \$dldir/$dlname~ | ||
10253 | - chmod a+x \$dldir/$dlname~ | ||
10254 | - if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then | ||
10255 | - eval '\''$striplib \$dldir/$dlname'\'' || exit \$?; | ||
10256 | - fi' | ||
10257 | - postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ | ||
10258 | - dlpath=$dir/\$dldll~ | ||
10259 | - $RM \$dlpath' | ||
10260 | - shlibpath_overrides_runpath=yes | ||
10261 | - | ||
10262 | - case $host_os in | ||
10263 | - cygwin*) | ||
10264 | - # Cygwin DLLs use 'cyg' prefix rather than 'lib' | ||
10265 | - soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}' | ||
10266 | - sys_lib_search_path_spec="/usr/lib /lib/w32api /lib /usr/local/lib" | ||
10267 | - ;; | ||
10268 | - mingw* | cegcc*) | ||
10269 | - # MinGW DLLs use traditional 'lib' prefix | ||
10270 | - soname_spec='${libname}`echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}' | ||
10271 | - sys_lib_search_path_spec=`$CC -print-search-dirs | $GREP "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"` | ||
10272 | - if $ECHO "$sys_lib_search_path_spec" | [$GREP ';[c-zC-Z]:/' >/dev/null]; then | ||
10273 | - # It is most probably a Windows format PATH printed by | ||
10274 | - # mingw gcc, but we are running on Cygwin. Gcc prints its search | ||
10275 | - # path with ; separators, and with drive letters. We can handle the | ||
10276 | - # drive letters (cygwin fileutils understands them), so leave them, | ||
10277 | - # especially as we might pass files found there to a mingw objdump, | ||
10278 | - # which wouldn't understand a cygwinified path. Ahh. | ||
10279 | - sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'` | ||
10280 | - else | ||
10281 | - sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` | ||
10282 | - fi | ||
10283 | - ;; | ||
10284 | - pw32*) | ||
10285 | - # pw32 DLLs use 'pw' prefix rather than 'lib' | ||
10286 | - library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}' | ||
10287 | - ;; | ||
10288 | - esac | ||
10289 | - ;; | ||
10290 | - | ||
10291 | - *) | ||
10292 | - library_names_spec='${libname}`echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext} $libname.lib' | ||
10293 | - ;; | ||
10294 | - esac | ||
10295 | - dynamic_linker='Win32 ld.exe' | ||
10296 | - # FIXME: first we should search . and the directory the executable is in | ||
10297 | - shlibpath_var=PATH | ||
10298 | - ;; | ||
10299 | - | ||
10300 | -darwin* | rhapsody*) | ||
10301 | - dynamic_linker="$host_os dyld" | ||
10302 | - version_type=darwin | ||
10303 | - need_lib_prefix=no | ||
10304 | - need_version=no | ||
10305 | - library_names_spec='${libname}${release}${major}$shared_ext ${libname}$shared_ext' | ||
10306 | - soname_spec='${libname}${release}${major}$shared_ext' | ||
10307 | - shlibpath_overrides_runpath=yes | ||
10308 | - shlibpath_var=DYLD_LIBRARY_PATH | ||
10309 | - shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`' | ||
10310 | -m4_if([$1], [],[ | ||
10311 | - sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/local/lib"]) | ||
10312 | - sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib' | ||
10313 | - ;; | ||
10314 | - | ||
10315 | -dgux*) | ||
10316 | - version_type=linux | ||
10317 | - need_lib_prefix=no | ||
10318 | - need_version=no | ||
10319 | - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext' | ||
10320 | - soname_spec='${libname}${release}${shared_ext}$major' | ||
10321 | - shlibpath_var=LD_LIBRARY_PATH | ||
10322 | - ;; | ||
10323 | - | ||
10324 | -freebsd1*) | ||
10325 | - dynamic_linker=no | ||
10326 | - ;; | ||
10327 | - | ||
10328 | -freebsd* | dragonfly*) | ||
10329 | - # DragonFly does not have aout. When/if they implement a new | ||
10330 | - # versioning mechanism, adjust this. | ||
10331 | - if test -x /usr/bin/objformat; then | ||
10332 | - objformat=`/usr/bin/objformat` | ||
10333 | - else | ||
10334 | - case $host_os in | ||
10335 | - freebsd[[123]]*) objformat=aout ;; | ||
10336 | - *) objformat=elf ;; | ||
10337 | - esac | ||
10338 | - fi | ||
10339 | - version_type=freebsd-$objformat | ||
10340 | - case $version_type in | ||
10341 | - freebsd-elf*) | ||
10342 | - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' | ||
10343 | - need_version=no | ||
10344 | - need_lib_prefix=no | ||
10345 | - ;; | ||
10346 | - freebsd-*) | ||
10347 | - library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix' | ||
10348 | - need_version=yes | ||
10349 | - ;; | ||
10350 | - esac | ||
10351 | - shlibpath_var=LD_LIBRARY_PATH | ||
10352 | - case $host_os in | ||
10353 | - freebsd2*) | ||
10354 | - shlibpath_overrides_runpath=yes | ||
10355 | - ;; | ||
10356 | - freebsd3.[[01]]* | freebsdelf3.[[01]]*) | ||
10357 | - shlibpath_overrides_runpath=yes | ||
10358 | - hardcode_into_libs=yes | ||
10359 | - ;; | ||
10360 | - freebsd3.[[2-9]]* | freebsdelf3.[[2-9]]* | \ | ||
10361 | - freebsd4.[[0-5]] | freebsdelf4.[[0-5]] | freebsd4.1.1 | freebsdelf4.1.1) | ||
10362 | - shlibpath_overrides_runpath=no | ||
10363 | - hardcode_into_libs=yes | ||
10364 | - ;; | ||
10365 | - *) # from 4.6 on, and DragonFly | ||
10366 | - shlibpath_overrides_runpath=yes | ||
10367 | - hardcode_into_libs=yes | ||
10368 | - ;; | ||
10369 | - esac | ||
10370 | - ;; | ||
10371 | - | ||
10372 | -gnu*) | ||
10373 | - version_type=linux | ||
10374 | - need_lib_prefix=no | ||
10375 | - need_version=no | ||
10376 | - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}' | ||
10377 | - soname_spec='${libname}${release}${shared_ext}$major' | ||
10378 | - shlibpath_var=LD_LIBRARY_PATH | ||
10379 | - hardcode_into_libs=yes | ||
10380 | - ;; | ||
10381 | - | ||
10382 | -hpux9* | hpux10* | hpux11*) | ||
10383 | - # Give a soname corresponding to the major version so that dld.sl refuses to | ||
10384 | - # link against other versions. | ||
10385 | - version_type=sunos | ||
10386 | - need_lib_prefix=no | ||
10387 | - need_version=no | ||
10388 | - case $host_cpu in | ||
10389 | - ia64*) | ||
10390 | - shrext_cmds='.so' | ||
10391 | - hardcode_into_libs=yes | ||
10392 | - dynamic_linker="$host_os dld.so" | ||
10393 | - shlibpath_var=LD_LIBRARY_PATH | ||
10394 | - shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. | ||
10395 | - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' | ||
10396 | - soname_spec='${libname}${release}${shared_ext}$major' | ||
10397 | - if test "X$HPUX_IA64_MODE" = X32; then | ||
10398 | - sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib" | ||
10399 | - else | ||
10400 | - sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64" | ||
10401 | - fi | ||
10402 | - sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec | ||
10403 | - ;; | ||
10404 | - hppa*64*) | ||
10405 | - shrext_cmds='.sl' | ||
10406 | - hardcode_into_libs=yes | ||
10407 | - dynamic_linker="$host_os dld.sl" | ||
10408 | - shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH | ||
10409 | - shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. | ||
10410 | - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' | ||
10411 | - soname_spec='${libname}${release}${shared_ext}$major' | ||
10412 | - sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64" | ||
10413 | - sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec | ||
10414 | - ;; | ||
10415 | - *) | ||
10416 | - shrext_cmds='.sl' | ||
10417 | - dynamic_linker="$host_os dld.sl" | ||
10418 | - shlibpath_var=SHLIB_PATH | ||
10419 | - shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH | ||
10420 | - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' | ||
10421 | - soname_spec='${libname}${release}${shared_ext}$major' | ||
10422 | - ;; | ||
10423 | - esac | ||
10424 | - # HP-UX runs *really* slowly unless shared libraries are mode 555. | ||
10425 | - postinstall_cmds='chmod 555 $lib' | ||
10426 | - ;; | ||
10427 | - | ||
10428 | -interix[[3-9]]*) | ||
10429 | - version_type=linux | ||
10430 | - need_lib_prefix=no | ||
10431 | - need_version=no | ||
10432 | - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' | ||
10433 | - soname_spec='${libname}${release}${shared_ext}$major' | ||
10434 | - dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)' | ||
10435 | - shlibpath_var=LD_LIBRARY_PATH | ||
10436 | - shlibpath_overrides_runpath=no | ||
10437 | - hardcode_into_libs=yes | ||
10438 | - ;; | ||
10439 | - | ||
10440 | -irix5* | irix6* | nonstopux*) | ||
10441 | - case $host_os in | ||
10442 | - nonstopux*) version_type=nonstopux ;; | ||
10443 | - *) | ||
10444 | - if test "$lt_cv_prog_gnu_ld" = yes; then | ||
10445 | - version_type=linux | ||
10446 | - else | ||
10447 | - version_type=irix | ||
10448 | - fi ;; | ||
10449 | - esac | ||
10450 | - need_lib_prefix=no | ||
10451 | - need_version=no | ||
10452 | - soname_spec='${libname}${release}${shared_ext}$major' | ||
10453 | - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} $libname${shared_ext}' | ||
10454 | - case $host_os in | ||
10455 | - irix5* | nonstopux*) | ||
10456 | - libsuff= shlibsuff= | ||
10457 | - ;; | ||
10458 | - *) | ||
10459 | - case $LD in # libtool.m4 will add one of these switches to LD | ||
10460 | - *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ") | ||
10461 | - libsuff= shlibsuff= libmagic=32-bit;; | ||
10462 | - *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ") | ||
10463 | - libsuff=32 shlibsuff=N32 libmagic=N32;; | ||
10464 | - *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ") | ||
10465 | - libsuff=64 shlibsuff=64 libmagic=64-bit;; | ||
10466 | - *) libsuff= shlibsuff= libmagic=never-match;; | ||
10467 | - esac | ||
10468 | - ;; | ||
10469 | - esac | ||
10470 | - shlibpath_var=LD_LIBRARY${shlibsuff}_PATH | ||
10471 | - shlibpath_overrides_runpath=no | ||
10472 | - sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}" | ||
10473 | - sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}" | ||
10474 | - hardcode_into_libs=yes | ||
10475 | - ;; | ||
10476 | - | ||
10477 | -# No shared lib support for Linux oldld, aout, or coff. | ||
10478 | -linux*oldld* | linux*aout* | linux*coff*) | ||
10479 | - dynamic_linker=no | ||
10480 | - ;; | ||
10481 | - | ||
10482 | -# This must be Linux ELF. | ||
10483 | -linux* | k*bsd*-gnu) | ||
10484 | - version_type=linux | ||
10485 | - need_lib_prefix=no | ||
10486 | - need_version=no | ||
10487 | - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' | ||
10488 | - soname_spec='${libname}${release}${shared_ext}$major' | ||
10489 | - finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir' | ||
10490 | - shlibpath_var=LD_LIBRARY_PATH | ||
10491 | - shlibpath_overrides_runpath=no | ||
10492 | - # Some binutils ld are patched to set DT_RUNPATH | ||
10493 | - save_LDFLAGS=$LDFLAGS | ||
10494 | - save_libdir=$libdir | ||
10495 | - eval "libdir=/foo; wl=\"$_LT_TAGVAR(lt_prog_compiler_wl, $1)\"; \ | ||
10496 | - LDFLAGS=\"\$LDFLAGS $_LT_TAGVAR(hardcode_libdir_flag_spec, $1)\"" | ||
10497 | - AC_LINK_IFELSE([AC_LANG_PROGRAM([],[])], | ||
10498 | - [AS_IF([ ($OBJDUMP -p conftest$ac_exeext) 2>/dev/null | grep "RUNPATH.*$libdir" >/dev/null], | ||
10499 | - [shlibpath_overrides_runpath=yes])]) | ||
10500 | - LDFLAGS=$save_LDFLAGS | ||
10501 | - libdir=$save_libdir | ||
10502 | - | ||
10503 | - # This implies no fast_install, which is unacceptable. | ||
10504 | - # Some rework will be needed to allow for fast_install | ||
10505 | - # before this can be enabled. | ||
10506 | - hardcode_into_libs=yes | ||
10507 | - | ||
10508 | - # Append ld.so.conf contents to the search path | ||
10509 | - if test -f /etc/ld.so.conf; then | ||
10510 | - 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;/^$/d' | tr '\n' ' '` | ||
10511 | - sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra" | ||
10512 | - fi | ||
10513 | - | ||
10514 | - # We used to test for /lib/ld.so.1 and disable shared libraries on | ||
10515 | - # powerpc, because MkLinux only supported shared libraries with the | ||
10516 | - # GNU dynamic linker. Since this was broken with cross compilers, | ||
10517 | - # most powerpc-linux boxes support dynamic linking these days and | ||
10518 | - # people can always --disable-shared, the test was removed, and we | ||
10519 | - # assume the GNU/Linux dynamic linker is in use. | ||
10520 | - dynamic_linker='GNU/Linux ld.so' | ||
10521 | - ;; | ||
10522 | - | ||
10523 | -netbsd*) | ||
10524 | - version_type=sunos | ||
10525 | - need_lib_prefix=no | ||
10526 | - need_version=no | ||
10527 | - if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then | ||
10528 | - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' | ||
10529 | - finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' | ||
10530 | - dynamic_linker='NetBSD (a.out) ld.so' | ||
10531 | - else | ||
10532 | - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' | ||
10533 | - soname_spec='${libname}${release}${shared_ext}$major' | ||
10534 | - dynamic_linker='NetBSD ld.elf_so' | ||
10535 | - fi | ||
10536 | - shlibpath_var=LD_LIBRARY_PATH | ||
10537 | - shlibpath_overrides_runpath=yes | ||
10538 | - hardcode_into_libs=yes | ||
10539 | - ;; | ||
10540 | - | ||
10541 | -newsos6) | ||
10542 | - version_type=linux | ||
10543 | - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' | ||
10544 | - shlibpath_var=LD_LIBRARY_PATH | ||
10545 | - shlibpath_overrides_runpath=yes | ||
10546 | - ;; | ||
10547 | - | ||
10548 | -*nto* | *qnx*) | ||
10549 | - version_type=qnx | ||
10550 | - need_lib_prefix=no | ||
10551 | - need_version=no | ||
10552 | - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' | ||
10553 | - soname_spec='${libname}${release}${shared_ext}$major' | ||
10554 | - shlibpath_var=LD_LIBRARY_PATH | ||
10555 | - shlibpath_overrides_runpath=no | ||
10556 | - hardcode_into_libs=yes | ||
10557 | - dynamic_linker='ldqnx.so' | ||
10558 | - ;; | ||
10559 | - | ||
10560 | -openbsd*) | ||
10561 | - version_type=sunos | ||
10562 | - sys_lib_dlsearch_path_spec="/usr/lib" | ||
10563 | - need_lib_prefix=no | ||
10564 | - # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs. | ||
10565 | - case $host_os in | ||
10566 | - openbsd3.3 | openbsd3.3.*) need_version=yes ;; | ||
10567 | - *) need_version=no ;; | ||
10568 | - esac | ||
10569 | - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' | ||
10570 | - finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' | ||
10571 | - shlibpath_var=LD_LIBRARY_PATH | ||
10572 | - if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then | ||
10573 | - case $host_os in | ||
10574 | - openbsd2.[[89]] | openbsd2.[[89]].*) | ||
10575 | - shlibpath_overrides_runpath=no | ||
10576 | - ;; | ||
10577 | - *) | ||
10578 | - shlibpath_overrides_runpath=yes | ||
10579 | - ;; | ||
10580 | - esac | ||
10581 | - else | ||
10582 | - shlibpath_overrides_runpath=yes | ||
10583 | - fi | ||
10584 | - ;; | ||
10585 | - | ||
10586 | -os2*) | ||
10587 | - libname_spec='$name' | ||
10588 | - shrext_cmds=".dll" | ||
10589 | - need_lib_prefix=no | ||
10590 | - library_names_spec='$libname${shared_ext} $libname.a' | ||
10591 | - dynamic_linker='OS/2 ld.exe' | ||
10592 | - shlibpath_var=LIBPATH | ||
10593 | - ;; | ||
10594 | - | ||
10595 | -osf3* | osf4* | osf5*) | ||
10596 | - version_type=osf | ||
10597 | - need_lib_prefix=no | ||
10598 | - need_version=no | ||
10599 | - soname_spec='${libname}${release}${shared_ext}$major' | ||
10600 | - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' | ||
10601 | - shlibpath_var=LD_LIBRARY_PATH | ||
10602 | - sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib" | ||
10603 | - sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec" | ||
10604 | - ;; | ||
10605 | - | ||
10606 | -rdos*) | ||
10607 | - dynamic_linker=no | ||
10608 | - ;; | ||
10609 | - | ||
10610 | -solaris*) | ||
10611 | - version_type=linux | ||
10612 | - need_lib_prefix=no | ||
10613 | - need_version=no | ||
10614 | - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' | ||
10615 | - soname_spec='${libname}${release}${shared_ext}$major' | ||
10616 | - shlibpath_var=LD_LIBRARY_PATH | ||
10617 | - shlibpath_overrides_runpath=yes | ||
10618 | - hardcode_into_libs=yes | ||
10619 | - # ldd complains unless libraries are executable | ||
10620 | - postinstall_cmds='chmod +x $lib' | ||
10621 | - ;; | ||
10622 | - | ||
10623 | -sunos4*) | ||
10624 | - version_type=sunos | ||
10625 | - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' | ||
10626 | - finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir' | ||
10627 | - shlibpath_var=LD_LIBRARY_PATH | ||
10628 | - shlibpath_overrides_runpath=yes | ||
10629 | - if test "$with_gnu_ld" = yes; then | ||
10630 | - need_lib_prefix=no | ||
10631 | - fi | ||
10632 | - need_version=yes | ||
10633 | - ;; | ||
10634 | - | ||
10635 | -sysv4 | sysv4.3*) | ||
10636 | - version_type=linux | ||
10637 | - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' | ||
10638 | - soname_spec='${libname}${release}${shared_ext}$major' | ||
10639 | - shlibpath_var=LD_LIBRARY_PATH | ||
10640 | - case $host_vendor in | ||
10641 | - sni) | ||
10642 | - shlibpath_overrides_runpath=no | ||
10643 | - need_lib_prefix=no | ||
10644 | - runpath_var=LD_RUN_PATH | ||
10645 | - ;; | ||
10646 | - siemens) | ||
10647 | - need_lib_prefix=no | ||
10648 | - ;; | ||
10649 | - motorola) | ||
10650 | - need_lib_prefix=no | ||
10651 | - need_version=no | ||
10652 | - shlibpath_overrides_runpath=no | ||
10653 | - sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib' | ||
10654 | - ;; | ||
10655 | - esac | ||
10656 | - ;; | ||
10657 | - | ||
10658 | -sysv4*MP*) | ||
10659 | - if test -d /usr/nec ;then | ||
10660 | - version_type=linux | ||
10661 | - library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}' | ||
10662 | - soname_spec='$libname${shared_ext}.$major' | ||
10663 | - shlibpath_var=LD_LIBRARY_PATH | ||
10664 | - fi | ||
10665 | - ;; | ||
10666 | - | ||
10667 | -sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) | ||
10668 | - version_type=freebsd-elf | ||
10669 | - need_lib_prefix=no | ||
10670 | - need_version=no | ||
10671 | - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' | ||
10672 | - soname_spec='${libname}${release}${shared_ext}$major' | ||
10673 | - shlibpath_var=LD_LIBRARY_PATH | ||
10674 | - shlibpath_overrides_runpath=yes | ||
10675 | - hardcode_into_libs=yes | ||
10676 | - if test "$with_gnu_ld" = yes; then | ||
10677 | - sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib' | ||
10678 | - else | ||
10679 | - sys_lib_search_path_spec='/usr/ccs/lib /usr/lib' | ||
10680 | - case $host_os in | ||
10681 | - sco3.2v5*) | ||
10682 | - sys_lib_search_path_spec="$sys_lib_search_path_spec /lib" | ||
10683 | - ;; | ||
10684 | - esac | ||
10685 | - fi | ||
10686 | - sys_lib_dlsearch_path_spec='/usr/lib' | ||
10687 | - ;; | ||
10688 | - | ||
10689 | -tpf*) | ||
10690 | - # TPF is a cross-target only. Preferred cross-host = GNU/Linux. | ||
10691 | - version_type=linux | ||
10692 | - need_lib_prefix=no | ||
10693 | - need_version=no | ||
10694 | - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' | ||
10695 | - shlibpath_var=LD_LIBRARY_PATH | ||
10696 | - shlibpath_overrides_runpath=no | ||
10697 | - hardcode_into_libs=yes | ||
10698 | - ;; | ||
10699 | - | ||
10700 | -uts4*) | ||
10701 | - version_type=linux | ||
10702 | - library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' | ||
10703 | - soname_spec='${libname}${release}${shared_ext}$major' | ||
10704 | - shlibpath_var=LD_LIBRARY_PATH | ||
10705 | - ;; | ||
10706 | - | ||
10707 | -*) | ||
10708 | - dynamic_linker=no | ||
10709 | - ;; | ||
10710 | -esac | ||
10711 | -AC_MSG_RESULT([$dynamic_linker]) | ||
10712 | -test "$dynamic_linker" = no && can_build_shared=no | ||
10713 | - | ||
10714 | -variables_saved_for_relink="PATH $shlibpath_var $runpath_var" | ||
10715 | -if test "$GCC" = yes; then | ||
10716 | - variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH" | ||
10717 | -fi | ||
10718 | - | ||
10719 | -if test "${lt_cv_sys_lib_search_path_spec+set}" = set; then | ||
10720 | - sys_lib_search_path_spec="$lt_cv_sys_lib_search_path_spec" | ||
10721 | -fi | ||
10722 | -if test "${lt_cv_sys_lib_dlsearch_path_spec+set}" = set; then | ||
10723 | - sys_lib_dlsearch_path_spec="$lt_cv_sys_lib_dlsearch_path_spec" | ||
10724 | -fi | ||
10725 | - | ||
10726 | -_LT_DECL([], [variables_saved_for_relink], [1], | ||
10727 | - [Variables whose values should be saved in libtool wrapper scripts and | ||
10728 | - restored at link time]) | ||
10729 | -_LT_DECL([], [need_lib_prefix], [0], | ||
10730 | - [Do we need the "lib" prefix for modules?]) | ||
10731 | -_LT_DECL([], [need_version], [0], [Do we need a version for libraries?]) | ||
10732 | -_LT_DECL([], [version_type], [0], [Library versioning type]) | ||
10733 | -_LT_DECL([], [runpath_var], [0], [Shared library runtime path variable]) | ||
10734 | -_LT_DECL([], [shlibpath_var], [0],[Shared library path variable]) | ||
10735 | -_LT_DECL([], [shlibpath_overrides_runpath], [0], | ||
10736 | - [Is shlibpath searched before the hard-coded library search path?]) | ||
10737 | -_LT_DECL([], [libname_spec], [1], [Format of library name prefix]) | ||
10738 | -_LT_DECL([], [library_names_spec], [1], | ||
10739 | - [[List of archive names. First name is the real one, the rest are links. | ||
10740 | - The last name is the one that the linker finds with -lNAME]]) | ||
10741 | -_LT_DECL([], [soname_spec], [1], | ||
10742 | - [[The coded name of the library, if different from the real name]]) | ||
10743 | -_LT_DECL([], [postinstall_cmds], [2], | ||
10744 | - [Command to use after installation of a shared archive]) | ||
10745 | -_LT_DECL([], [postuninstall_cmds], [2], | ||
10746 | - [Command to use after uninstallation of a shared archive]) | ||
10747 | -_LT_DECL([], [finish_cmds], [2], | ||
10748 | - [Commands used to finish a libtool library installation in a directory]) | ||
10749 | -_LT_DECL([], [finish_eval], [1], | ||
10750 | - [[As "finish_cmds", except a single script fragment to be evaled but | ||
10751 | - not shown]]) | ||
10752 | -_LT_DECL([], [hardcode_into_libs], [0], | ||
10753 | - [Whether we should hardcode library paths into libraries]) | ||
10754 | -_LT_DECL([], [sys_lib_search_path_spec], [2], | ||
10755 | - [Compile-time system search path for libraries]) | ||
10756 | -_LT_DECL([], [sys_lib_dlsearch_path_spec], [2], | ||
10757 | - [Run-time system search path for libraries]) | ||
10758 | -])# _LT_SYS_DYNAMIC_LINKER | ||
10759 | - | ||
10760 | - | ||
10761 | -# _LT_PATH_TOOL_PREFIX(TOOL) | ||
10762 | -# -------------------------- | ||
10763 | -# find a file program which can recognize shared library | ||
10764 | -AC_DEFUN([_LT_PATH_TOOL_PREFIX], | ||
10765 | -[m4_require([_LT_DECL_EGREP])dnl | ||
10766 | -AC_MSG_CHECKING([for $1]) | ||
10767 | -AC_CACHE_VAL(lt_cv_path_MAGIC_CMD, | ||
10768 | -[case $MAGIC_CMD in | ||
10769 | -[[\\/*] | ?:[\\/]*]) | ||
10770 | - lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path. | ||
10771 | - ;; | ||
10772 | -*) | ||
10773 | - lt_save_MAGIC_CMD="$MAGIC_CMD" | ||
10774 | - lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR | ||
10775 | -dnl $ac_dummy forces splitting on constant user-supplied paths. | ||
10776 | -dnl POSIX.2 word splitting is done only on the output of word expansions, | ||
10777 | -dnl not every word. This closes a longstanding sh security hole. | ||
10778 | - ac_dummy="m4_if([$2], , $PATH, [$2])" | ||
10779 | - for ac_dir in $ac_dummy; do | ||
10780 | - IFS="$lt_save_ifs" | ||
10781 | - test -z "$ac_dir" && ac_dir=. | ||
10782 | - if test -f $ac_dir/$1; then | ||
10783 | - lt_cv_path_MAGIC_CMD="$ac_dir/$1" | ||
10784 | - if test -n "$file_magic_test_file"; then | ||
10785 | - case $deplibs_check_method in | ||
10786 | - "file_magic "*) | ||
10787 | - file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"` | ||
10788 | - MAGIC_CMD="$lt_cv_path_MAGIC_CMD" | ||
10789 | - if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null | | ||
10790 | - $EGREP "$file_magic_regex" > /dev/null; then | ||
10791 | - : | ||
10792 | - else | ||
10793 | - cat <<_LT_EOF 1>&2 | ||
10794 | - | ||
10795 | -*** Warning: the command libtool uses to detect shared libraries, | ||
10796 | -*** $file_magic_cmd, produces output that libtool cannot recognize. | ||
10797 | -*** The result is that libtool may fail to recognize shared libraries | ||
10798 | -*** as such. This will affect the creation of libtool libraries that | ||
10799 | -*** depend on shared libraries, but programs linked with such libtool | ||
10800 | -*** libraries will work regardless of this problem. Nevertheless, you | ||
10801 | -*** may want to report the problem to your system manager and/or to | ||
10802 | -*** bug-libtool@gnu.org | ||
10803 | - | ||
10804 | -_LT_EOF | ||
10805 | - fi ;; | ||
10806 | - esac | ||
10807 | - fi | ||
10808 | - break | ||
10809 | - fi | ||
10810 | - done | ||
10811 | - IFS="$lt_save_ifs" | ||
10812 | - MAGIC_CMD="$lt_save_MAGIC_CMD" | ||
10813 | - ;; | ||
10814 | -esac]) | ||
10815 | -MAGIC_CMD="$lt_cv_path_MAGIC_CMD" | ||
10816 | -if test -n "$MAGIC_CMD"; then | ||
10817 | - AC_MSG_RESULT($MAGIC_CMD) | ||
10818 | -else | ||
10819 | - AC_MSG_RESULT(no) | ||
10820 | -fi | ||
10821 | -_LT_DECL([], [MAGIC_CMD], [0], | ||
10822 | - [Used to examine libraries when file_magic_cmd begins with "file"])dnl | ||
10823 | -])# _LT_PATH_TOOL_PREFIX | ||
10824 | - | ||
10825 | -# Old name: | ||
10826 | -AU_ALIAS([AC_PATH_TOOL_PREFIX], [_LT_PATH_TOOL_PREFIX]) | ||
10827 | -dnl aclocal-1.4 backwards compatibility: | ||
10828 | -dnl AC_DEFUN([AC_PATH_TOOL_PREFIX], []) | ||
10829 | - | ||
10830 | - | ||
10831 | -# _LT_PATH_MAGIC | ||
10832 | -# -------------- | ||
10833 | -# find a file program which can recognize a shared library | ||
10834 | -m4_defun([_LT_PATH_MAGIC], | ||
10835 | -[_LT_PATH_TOOL_PREFIX(${ac_tool_prefix}file, /usr/bin$PATH_SEPARATOR$PATH) | ||
10836 | -if test -z "$lt_cv_path_MAGIC_CMD"; then | ||
10837 | - if test -n "$ac_tool_prefix"; then | ||
10838 | - _LT_PATH_TOOL_PREFIX(file, /usr/bin$PATH_SEPARATOR$PATH) | ||
10839 | - else | ||
10840 | - MAGIC_CMD=: | ||
10841 | - fi | ||
10842 | -fi | ||
10843 | -])# _LT_PATH_MAGIC | ||
10844 | - | ||
10845 | - | ||
10846 | -# LT_PATH_LD | ||
10847 | -# ---------- | ||
10848 | -# find the pathname to the GNU or non-GNU linker | ||
10849 | -AC_DEFUN([LT_PATH_LD], | ||
10850 | -[AC_REQUIRE([AC_PROG_CC])dnl | ||
10851 | -AC_REQUIRE([AC_CANONICAL_HOST])dnl | ||
10852 | -AC_REQUIRE([AC_CANONICAL_BUILD])dnl | ||
10853 | -m4_require([_LT_DECL_SED])dnl | ||
10854 | -m4_require([_LT_DECL_EGREP])dnl | ||
10855 | - | ||
10856 | -AC_ARG_WITH([gnu-ld], | ||
10857 | - [AS_HELP_STRING([--with-gnu-ld], | ||
10858 | - [assume the C compiler uses GNU ld @<:@default=no@:>@])], | ||
10859 | - [test "$withval" = no || with_gnu_ld=yes], | ||
10860 | - [with_gnu_ld=no])dnl | ||
10861 | - | ||
10862 | -ac_prog=ld | ||
10863 | -if test "$GCC" = yes; then | ||
10864 | - # Check if gcc -print-prog-name=ld gives a path. | ||
10865 | - AC_MSG_CHECKING([for ld used by $CC]) | ||
10866 | - case $host in | ||
10867 | - *-*-mingw*) | ||
10868 | - # gcc leaves a trailing carriage return which upsets mingw | ||
10869 | - ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;; | ||
10870 | - *) | ||
10871 | - ac_prog=`($CC -print-prog-name=ld) 2>&5` ;; | ||
10872 | - esac | ||
10873 | - case $ac_prog in | ||
10874 | - # Accept absolute paths. | ||
10875 | - [[\\/]]* | ?:[[\\/]]*) | ||
10876 | - re_direlt='/[[^/]][[^/]]*/\.\./' | ||
10877 | - # Canonicalize the pathname of ld | ||
10878 | - ac_prog=`$ECHO "$ac_prog"| $SED 's%\\\\%/%g'` | ||
10879 | - while $ECHO "$ac_prog" | $GREP "$re_direlt" > /dev/null 2>&1; do | ||
10880 | - ac_prog=`$ECHO $ac_prog| $SED "s%$re_direlt%/%"` | ||
10881 | - done | ||
10882 | - test -z "$LD" && LD="$ac_prog" | ||
10883 | - ;; | ||
10884 | - "") | ||
10885 | - # If it fails, then pretend we aren't using GCC. | ||
10886 | - ac_prog=ld | ||
10887 | - ;; | ||
10888 | - *) | ||
10889 | - # If it is relative, then search for the first ld in PATH. | ||
10890 | - with_gnu_ld=unknown | ||
10891 | - ;; | ||
10892 | - esac | ||
10893 | -elif test "$with_gnu_ld" = yes; then | ||
10894 | - AC_MSG_CHECKING([for GNU ld]) | ||
10895 | -else | ||
10896 | - AC_MSG_CHECKING([for non-GNU ld]) | ||
10897 | -fi | ||
10898 | -AC_CACHE_VAL(lt_cv_path_LD, | ||
10899 | -[if test -z "$LD"; then | ||
10900 | - lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR | ||
10901 | - for ac_dir in $PATH; do | ||
10902 | - IFS="$lt_save_ifs" | ||
10903 | - test -z "$ac_dir" && ac_dir=. | ||
10904 | - if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then | ||
10905 | - lt_cv_path_LD="$ac_dir/$ac_prog" | ||
10906 | - # Check to see if the program is GNU ld. I'd rather use --version, | ||
10907 | - # but apparently some variants of GNU ld only accept -v. | ||
10908 | - # Break only if it was the GNU/non-GNU ld that we prefer. | ||
10909 | - case `"$lt_cv_path_LD" -v 2>&1 </dev/null` in | ||
10910 | - *GNU* | *'with BFD'*) | ||
10911 | - test "$with_gnu_ld" != no && break | ||
10912 | - ;; | ||
10913 | - *) | ||
10914 | - test "$with_gnu_ld" != yes && break | ||
10915 | - ;; | ||
10916 | - esac | ||
10917 | - fi | ||
10918 | - done | ||
10919 | - IFS="$lt_save_ifs" | ||
10920 | -else | ||
10921 | - lt_cv_path_LD="$LD" # Let the user override the test with a path. | ||
10922 | -fi]) | ||
10923 | -LD="$lt_cv_path_LD" | ||
10924 | -if test -n "$LD"; then | ||
10925 | - AC_MSG_RESULT($LD) | ||
10926 | -else | ||
10927 | - AC_MSG_RESULT(no) | ||
10928 | -fi | ||
10929 | -test -z "$LD" && AC_MSG_ERROR([no acceptable ld found in \$PATH]) | ||
10930 | -_LT_PATH_LD_GNU | ||
10931 | -AC_SUBST([LD]) | ||
10932 | - | ||
10933 | -_LT_TAGDECL([], [LD], [1], [The linker used to build libraries]) | ||
10934 | -])# LT_PATH_LD | ||
10935 | - | ||
10936 | -# Old names: | ||
10937 | -AU_ALIAS([AM_PROG_LD], [LT_PATH_LD]) | ||
10938 | -AU_ALIAS([AC_PROG_LD], [LT_PATH_LD]) | ||
10939 | -dnl aclocal-1.4 backwards compatibility: | ||
10940 | -dnl AC_DEFUN([AM_PROG_LD], []) | ||
10941 | -dnl AC_DEFUN([AC_PROG_LD], []) | ||
10942 | - | ||
10943 | - | ||
10944 | -# _LT_PATH_LD_GNU | ||
10945 | -#- -------------- | ||
10946 | -m4_defun([_LT_PATH_LD_GNU], | ||
10947 | -[AC_CACHE_CHECK([if the linker ($LD) is GNU ld], lt_cv_prog_gnu_ld, | ||
10948 | -[# I'd rather use --version here, but apparently some GNU lds only accept -v. | ||
10949 | -case `$LD -v 2>&1 </dev/null` in | ||
10950 | -*GNU* | *'with BFD'*) | ||
10951 | - lt_cv_prog_gnu_ld=yes | ||
10952 | - ;; | ||
10953 | -*) | ||
10954 | - lt_cv_prog_gnu_ld=no | ||
10955 | - ;; | ||
10956 | -esac]) | ||
10957 | -with_gnu_ld=$lt_cv_prog_gnu_ld | ||
10958 | -])# _LT_PATH_LD_GNU | ||
10959 | - | ||
10960 | - | ||
10961 | -# _LT_CMD_RELOAD | ||
10962 | -# -------------- | ||
10963 | -# find reload flag for linker | ||
10964 | -# -- PORTME Some linkers may need a different reload flag. | ||
10965 | -m4_defun([_LT_CMD_RELOAD], | ||
10966 | -[AC_CACHE_CHECK([for $LD option to reload object files], | ||
10967 | - lt_cv_ld_reload_flag, | ||
10968 | - [lt_cv_ld_reload_flag='-r']) | ||
10969 | -reload_flag=$lt_cv_ld_reload_flag | ||
10970 | -case $reload_flag in | ||
10971 | -"" | " "*) ;; | ||
10972 | -*) reload_flag=" $reload_flag" ;; | ||
10973 | -esac | ||
10974 | -reload_cmds='$LD$reload_flag -o $output$reload_objs' | ||
10975 | -case $host_os in | ||
10976 | - darwin*) | ||
10977 | - if test "$GCC" = yes; then | ||
10978 | - reload_cmds='$LTCC $LTCFLAGS -nostdlib ${wl}-r -o $output$reload_objs' | ||
10979 | - else | ||
10980 | - reload_cmds='$LD$reload_flag -o $output$reload_objs' | ||
10981 | - fi | ||
10982 | - ;; | ||
10983 | -esac | ||
10984 | -_LT_DECL([], [reload_flag], [1], [How to create reloadable object files])dnl | ||
10985 | -_LT_DECL([], [reload_cmds], [2])dnl | ||
10986 | -])# _LT_CMD_RELOAD | ||
10987 | - | ||
10988 | - | ||
10989 | -# _LT_CHECK_MAGIC_METHOD | ||
10990 | -# ---------------------- | ||
10991 | -# how to check for library dependencies | ||
10992 | -# -- PORTME fill in with the dynamic library characteristics | ||
10993 | -m4_defun([_LT_CHECK_MAGIC_METHOD], | ||
10994 | -[m4_require([_LT_DECL_EGREP]) | ||
10995 | -m4_require([_LT_DECL_OBJDUMP]) | ||
10996 | -AC_CACHE_CHECK([how to recognize dependent libraries], | ||
10997 | -lt_cv_deplibs_check_method, | ||
10998 | -[lt_cv_file_magic_cmd='$MAGIC_CMD' | ||
10999 | -lt_cv_file_magic_test_file= | ||
11000 | -lt_cv_deplibs_check_method='unknown' | ||
11001 | -# Need to set the preceding variable on all platforms that support | ||
11002 | -# interlibrary dependencies. | ||
11003 | -# 'none' -- dependencies not supported. | ||
11004 | -# `unknown' -- same as none, but documents that we really don't know. | ||
11005 | -# 'pass_all' -- all dependencies passed with no checks. | ||
11006 | -# 'test_compile' -- check by making test program. | ||
11007 | -# 'file_magic [[regex]]' -- check by looking for files in library path | ||
11008 | -# which responds to the $file_magic_cmd with a given extended regex. | ||
11009 | -# If you have `file' or equivalent on your system and you're not sure | ||
11010 | -# whether `pass_all' will *always* work, you probably want this one. | ||
11011 | - | ||
11012 | -case $host_os in | ||
11013 | -aix[[4-9]]*) | ||
11014 | - lt_cv_deplibs_check_method=pass_all | ||
11015 | - ;; | ||
11016 | - | ||
11017 | -beos*) | ||
11018 | - lt_cv_deplibs_check_method=pass_all | ||
11019 | - ;; | ||
11020 | - | ||
11021 | -bsdi[[45]]*) | ||
11022 | - lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (shared object|dynamic lib)' | ||
11023 | - lt_cv_file_magic_cmd='/usr/bin/file -L' | ||
11024 | - lt_cv_file_magic_test_file=/shlib/libc.so | ||
11025 | - ;; | ||
11026 | - | ||
11027 | -cygwin*) | ||
11028 | - # func_win32_libid is a shell function defined in ltmain.sh | ||
11029 | - lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL' | ||
11030 | - lt_cv_file_magic_cmd='func_win32_libid' | ||
11031 | - ;; | ||
11032 | - | ||
11033 | -mingw* | pw32*) | ||
11034 | - # Base MSYS/MinGW do not provide the 'file' command needed by | ||
11035 | - # func_win32_libid shell function, so use a weaker test based on 'objdump', | ||
11036 | - # unless we find 'file', for example because we are cross-compiling. | ||
11037 | - if ( file / ) >/dev/null 2>&1; then | ||
11038 | - lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL' | ||
11039 | - lt_cv_file_magic_cmd='func_win32_libid' | ||
11040 | - else | ||
11041 | - lt_cv_deplibs_check_method='file_magic file format pei*-i386(.*architecture: i386)?' | ||
11042 | - lt_cv_file_magic_cmd='$OBJDUMP -f' | ||
11043 | - fi | ||
11044 | - ;; | ||
11045 | - | ||
11046 | -cegcc) | ||
11047 | - # use the weaker test based on 'objdump'. See mingw*. | ||
11048 | - lt_cv_deplibs_check_method='file_magic file format pe-arm-.*little(.*architecture: arm)?' | ||
11049 | - lt_cv_file_magic_cmd='$OBJDUMP -f' | ||
11050 | - ;; | ||
11051 | - | ||
11052 | -darwin* | rhapsody*) | ||
11053 | - lt_cv_deplibs_check_method=pass_all | ||
11054 | - ;; | ||
11055 | - | ||
11056 | -freebsd* | dragonfly*) | ||
11057 | - if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then | ||
11058 | - case $host_cpu in | ||
11059 | - i*86 ) | ||
11060 | - # Not sure whether the presence of OpenBSD here was a mistake. | ||
11061 | - # Let's accept both of them until this is cleared up. | ||
11062 | - lt_cv_deplibs_check_method='file_magic (FreeBSD|OpenBSD|DragonFly)/i[[3-9]]86 (compact )?demand paged shared library' | ||
11063 | - lt_cv_file_magic_cmd=/usr/bin/file | ||
11064 | - lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*` | ||
11065 | - ;; | ||
11066 | - esac | ||
11067 | - else | ||
11068 | - lt_cv_deplibs_check_method=pass_all | ||
11069 | - fi | ||
11070 | - ;; | ||
11071 | - | ||
11072 | -gnu*) | ||
11073 | - lt_cv_deplibs_check_method=pass_all | ||
11074 | - ;; | ||
11075 | - | ||
11076 | -hpux10.20* | hpux11*) | ||
11077 | - lt_cv_file_magic_cmd=/usr/bin/file | ||
11078 | - case $host_cpu in | ||
11079 | - ia64*) | ||
11080 | - lt_cv_deplibs_check_method='file_magic (s[[0-9]][[0-9]][[0-9]]|ELF-[[0-9]][[0-9]]) shared object file - IA64' | ||
11081 | - lt_cv_file_magic_test_file=/usr/lib/hpux32/libc.so | ||
11082 | - ;; | ||
11083 | - hppa*64*) | ||
11084 | - [lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF-[0-9][0-9]) shared object file - PA-RISC [0-9].[0-9]'] | ||
11085 | - lt_cv_file_magic_test_file=/usr/lib/pa20_64/libc.sl | ||
11086 | - ;; | ||
11087 | - *) | ||
11088 | - lt_cv_deplibs_check_method='file_magic (s[[0-9]][[0-9]][[0-9]]|PA-RISC[[0-9]].[[0-9]]) shared library' | ||
11089 | - lt_cv_file_magic_test_file=/usr/lib/libc.sl | ||
11090 | - ;; | ||
11091 | - esac | ||
11092 | - ;; | ||
11093 | - | ||
11094 | -interix[[3-9]]*) | ||
11095 | - # PIC code is broken on Interix 3.x, that's why |\.a not |_pic\.a here | ||
11096 | - lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so|\.a)$' | ||
11097 | - ;; | ||
11098 | - | ||
11099 | -irix5* | irix6* | nonstopux*) | ||
11100 | - case $LD in | ||
11101 | - *-32|*"-32 ") libmagic=32-bit;; | ||
11102 | - *-n32|*"-n32 ") libmagic=N32;; | ||
11103 | - *-64|*"-64 ") libmagic=64-bit;; | ||
11104 | - *) libmagic=never-match;; | ||
11105 | - esac | ||
11106 | - lt_cv_deplibs_check_method=pass_all | ||
11107 | - ;; | ||
11108 | - | ||
11109 | -# This must be Linux ELF. | ||
11110 | -linux* | k*bsd*-gnu) | ||
11111 | - lt_cv_deplibs_check_method=pass_all | ||
11112 | - ;; | ||
11113 | - | ||
11114 | -netbsd*) | ||
11115 | - if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then | ||
11116 | - lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|_pic\.a)$' | ||
11117 | - else | ||
11118 | - lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so|_pic\.a)$' | ||
11119 | - fi | ||
11120 | - ;; | ||
11121 | - | ||
11122 | -newos6*) | ||
11123 | - lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (executable|dynamic lib)' | ||
11124 | - lt_cv_file_magic_cmd=/usr/bin/file | ||
11125 | - lt_cv_file_magic_test_file=/usr/lib/libnls.so | ||
11126 | - ;; | ||
11127 | - | ||
11128 | -*nto* | *qnx*) | ||
11129 | - lt_cv_deplibs_check_method=pass_all | ||
11130 | - ;; | ||
11131 | - | ||
11132 | -openbsd*) | ||
11133 | - if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then | ||
11134 | - lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|\.so|_pic\.a)$' | ||
11135 | - else | ||
11136 | - lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|_pic\.a)$' | ||
11137 | - fi | ||
11138 | - ;; | ||
11139 | - | ||
11140 | -osf3* | osf4* | osf5*) | ||
11141 | - lt_cv_deplibs_check_method=pass_all | ||
11142 | - ;; | ||
11143 | - | ||
11144 | -rdos*) | ||
11145 | - lt_cv_deplibs_check_method=pass_all | ||
11146 | - ;; | ||
11147 | - | ||
11148 | -solaris*) | ||
11149 | - lt_cv_deplibs_check_method=pass_all | ||
11150 | - ;; | ||
11151 | - | ||
11152 | -sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) | ||
11153 | - lt_cv_deplibs_check_method=pass_all | ||
11154 | - ;; | ||
11155 | - | ||
11156 | -sysv4 | sysv4.3*) | ||
11157 | - case $host_vendor in | ||
11158 | - motorola) | ||
11159 | - 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]]' | ||
11160 | - lt_cv_file_magic_test_file=`echo /usr/lib/libc.so*` | ||
11161 | - ;; | ||
11162 | - ncr) | ||
11163 | - lt_cv_deplibs_check_method=pass_all | ||
11164 | - ;; | ||
11165 | - sequent) | ||
11166 | - lt_cv_file_magic_cmd='/bin/file' | ||
11167 | - lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB (shared object|dynamic lib )' | ||
11168 | - ;; | ||
11169 | - sni) | ||
11170 | - lt_cv_file_magic_cmd='/bin/file' | ||
11171 | - lt_cv_deplibs_check_method="file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB dynamic lib" | ||
11172 | - lt_cv_file_magic_test_file=/lib/libc.so | ||
11173 | - ;; | ||
11174 | - siemens) | ||
11175 | - lt_cv_deplibs_check_method=pass_all | ||
11176 | - ;; | ||
11177 | - pc) | ||
11178 | - lt_cv_deplibs_check_method=pass_all | ||
11179 | - ;; | ||
11180 | - esac | ||
11181 | - ;; | ||
11182 | - | ||
11183 | -tpf*) | ||
11184 | - lt_cv_deplibs_check_method=pass_all | ||
11185 | - ;; | ||
11186 | -esac | ||
11187 | -]) | ||
11188 | -file_magic_cmd=$lt_cv_file_magic_cmd | ||
11189 | -deplibs_check_method=$lt_cv_deplibs_check_method | ||
11190 | -test -z "$deplibs_check_method" && deplibs_check_method=unknown | ||
11191 | - | ||
11192 | -_LT_DECL([], [deplibs_check_method], [1], | ||
11193 | - [Method to check whether dependent libraries are shared objects]) | ||
11194 | -_LT_DECL([], [file_magic_cmd], [1], | ||
11195 | - [Command to use when deplibs_check_method == "file_magic"]) | ||
11196 | -])# _LT_CHECK_MAGIC_METHOD | ||
11197 | - | ||
11198 | - | ||
11199 | -# LT_PATH_NM | ||
11200 | -# ---------- | ||
11201 | -# find the pathname to a BSD- or MS-compatible name lister | ||
11202 | -AC_DEFUN([LT_PATH_NM], | ||
11203 | -[AC_REQUIRE([AC_PROG_CC])dnl | ||
11204 | -AC_CACHE_CHECK([for BSD- or MS-compatible name lister (nm)], lt_cv_path_NM, | ||
11205 | -[if test -n "$NM"; then | ||
11206 | - # Let the user override the test. | ||
11207 | - lt_cv_path_NM="$NM" | ||
11208 | -else | ||
11209 | - lt_nm_to_check="${ac_tool_prefix}nm" | ||
11210 | - if test -n "$ac_tool_prefix" && test "$build" = "$host"; then | ||
11211 | - lt_nm_to_check="$lt_nm_to_check nm" | ||
11212 | - fi | ||
11213 | - for lt_tmp_nm in $lt_nm_to_check; do | ||
11214 | - lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR | ||
11215 | - for ac_dir in $PATH /usr/ccs/bin/elf /usr/ccs/bin /usr/ucb /bin; do | ||
11216 | - IFS="$lt_save_ifs" | ||
11217 | - test -z "$ac_dir" && ac_dir=. | ||
11218 | - tmp_nm="$ac_dir/$lt_tmp_nm" | ||
11219 | - if test -f "$tmp_nm" || test -f "$tmp_nm$ac_exeext" ; then | ||
11220 | - # Check to see if the nm accepts a BSD-compat flag. | ||
11221 | - # Adding the `sed 1q' prevents false positives on HP-UX, which says: | ||
11222 | - # nm: unknown option "B" ignored | ||
11223 | - # Tru64's nm complains that /dev/null is an invalid object file | ||
11224 | - case `"$tmp_nm" -B /dev/null 2>&1 | sed '1q'` in | ||
11225 | - */dev/null* | *'Invalid file or object type'*) | ||
11226 | - lt_cv_path_NM="$tmp_nm -B" | ||
11227 | - break | ||
11228 | - ;; | ||
11229 | - *) | ||
11230 | - case `"$tmp_nm" -p /dev/null 2>&1 | sed '1q'` in | ||
11231 | - */dev/null*) | ||
11232 | - lt_cv_path_NM="$tmp_nm -p" | ||
11233 | - break | ||
11234 | - ;; | ||
11235 | - *) | ||
11236 | - lt_cv_path_NM=${lt_cv_path_NM="$tmp_nm"} # keep the first match, but | ||
11237 | - continue # so that we can try to find one that supports BSD flags | ||
11238 | - ;; | ||
11239 | - esac | ||
11240 | - ;; | ||
11241 | - esac | ||
11242 | - fi | ||
11243 | - done | ||
11244 | - IFS="$lt_save_ifs" | ||
11245 | - done | ||
11246 | - : ${lt_cv_path_NM=no} | ||
11247 | -fi]) | ||
11248 | -if test "$lt_cv_path_NM" != "no"; then | ||
11249 | - NM="$lt_cv_path_NM" | ||
11250 | -else | ||
11251 | - # Didn't find any BSD compatible name lister, look for dumpbin. | ||
11252 | - AC_CHECK_TOOLS(DUMPBIN, ["dumpbin -symbols" "link -dump -symbols"], :) | ||
11253 | - AC_SUBST([DUMPBIN]) | ||
11254 | - if test "$DUMPBIN" != ":"; then | ||
11255 | - NM="$DUMPBIN" | ||
11256 | - fi | ||
11257 | -fi | ||
11258 | -test -z "$NM" && NM=nm | ||
11259 | -AC_SUBST([NM]) | ||
11260 | -_LT_DECL([], [NM], [1], [A BSD- or MS-compatible name lister])dnl | ||
11261 | - | ||
11262 | -AC_CACHE_CHECK([the name lister ($NM) interface], [lt_cv_nm_interface], | ||
11263 | - [lt_cv_nm_interface="BSD nm" | ||
11264 | - echo "int some_variable = 0;" > conftest.$ac_ext | ||
11265 | - (eval echo "\"\$as_me:__oline__: $ac_compile\"" >&AS_MESSAGE_LOG_FD) | ||
11266 | - (eval "$ac_compile" 2>conftest.err) | ||
11267 | - cat conftest.err >&AS_MESSAGE_LOG_FD | ||
11268 | - (eval echo "\"\$as_me:__oline__: $NM \\\"conftest.$ac_objext\\\"\"" >&AS_MESSAGE_LOG_FD) | ||
11269 | - (eval "$NM \"conftest.$ac_objext\"" 2>conftest.err > conftest.out) | ||
11270 | - cat conftest.err >&AS_MESSAGE_LOG_FD | ||
11271 | - (eval echo "\"\$as_me:__oline__: output\"" >&AS_MESSAGE_LOG_FD) | ||
11272 | - cat conftest.out >&AS_MESSAGE_LOG_FD | ||
11273 | - if $GREP 'External.*some_variable' conftest.out > /dev/null; then | ||
11274 | - lt_cv_nm_interface="MS dumpbin" | ||
11275 | - fi | ||
11276 | - rm -f conftest*]) | ||
11277 | -])# LT_PATH_NM | ||
11278 | - | ||
11279 | -# Old names: | ||
11280 | -AU_ALIAS([AM_PROG_NM], [LT_PATH_NM]) | ||
11281 | -AU_ALIAS([AC_PROG_NM], [LT_PATH_NM]) | ||
11282 | -dnl aclocal-1.4 backwards compatibility: | ||
11283 | -dnl AC_DEFUN([AM_PROG_NM], []) | ||
11284 | -dnl AC_DEFUN([AC_PROG_NM], []) | ||
11285 | - | ||
11286 | - | ||
11287 | -# LT_LIB_M | ||
11288 | -# -------- | ||
11289 | -# check for math library | ||
11290 | -AC_DEFUN([LT_LIB_M], | ||
11291 | -[AC_REQUIRE([AC_CANONICAL_HOST])dnl | ||
11292 | -LIBM= | ||
11293 | -case $host in | ||
11294 | -*-*-beos* | *-*-cygwin* | *-*-pw32* | *-*-darwin*) | ||
11295 | - # These system don't have libm, or don't need it | ||
11296 | - ;; | ||
11297 | -*-ncr-sysv4.3*) | ||
11298 | - AC_CHECK_LIB(mw, _mwvalidcheckl, LIBM="-lmw") | ||
11299 | - AC_CHECK_LIB(m, cos, LIBM="$LIBM -lm") | ||
11300 | - ;; | ||
11301 | -*) | ||
11302 | - AC_CHECK_LIB(m, cos, LIBM="-lm") | ||
11303 | - ;; | ||
11304 | -esac | ||
11305 | -AC_SUBST([LIBM]) | ||
11306 | -])# LT_LIB_M | ||
11307 | - | ||
11308 | -# Old name: | ||
11309 | -AU_ALIAS([AC_CHECK_LIBM], [LT_LIB_M]) | ||
11310 | -dnl aclocal-1.4 backwards compatibility: | ||
11311 | -dnl AC_DEFUN([AC_CHECK_LIBM], []) | ||
11312 | - | ||
11313 | - | ||
11314 | -# _LT_COMPILER_NO_RTTI([TAGNAME]) | ||
11315 | -# ------------------------------- | ||
11316 | -m4_defun([_LT_COMPILER_NO_RTTI], | ||
11317 | -[m4_require([_LT_TAG_COMPILER])dnl | ||
11318 | - | ||
11319 | -_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)= | ||
11320 | - | ||
11321 | -if test "$GCC" = yes; then | ||
11322 | - _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -fno-builtin' | ||
11323 | - | ||
11324 | - _LT_COMPILER_OPTION([if $compiler supports -fno-rtti -fno-exceptions], | ||
11325 | - lt_cv_prog_compiler_rtti_exceptions, | ||
11326 | - [-fno-rtti -fno-exceptions], [], | ||
11327 | - [_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)="$_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1) -fno-rtti -fno-exceptions"]) | ||
11328 | -fi | ||
11329 | -_LT_TAGDECL([no_builtin_flag], [lt_prog_compiler_no_builtin_flag], [1], | ||
11330 | - [Compiler flag to turn off builtin functions]) | ||
11331 | -])# _LT_COMPILER_NO_RTTI | ||
11332 | - | ||
11333 | - | ||
11334 | -# _LT_CMD_GLOBAL_SYMBOLS | ||
11335 | -# ---------------------- | ||
11336 | -m4_defun([_LT_CMD_GLOBAL_SYMBOLS], | ||
11337 | -[AC_REQUIRE([AC_CANONICAL_HOST])dnl | ||
11338 | -AC_REQUIRE([AC_PROG_CC])dnl | ||
11339 | -AC_REQUIRE([LT_PATH_NM])dnl | ||
11340 | -AC_REQUIRE([LT_PATH_LD])dnl | ||
11341 | -m4_require([_LT_DECL_SED])dnl | ||
11342 | -m4_require([_LT_DECL_EGREP])dnl | ||
11343 | -m4_require([_LT_TAG_COMPILER])dnl | ||
11344 | - | ||
11345 | -# Check for command to grab the raw symbol name followed by C symbol from nm. | ||
11346 | -AC_MSG_CHECKING([command to parse $NM output from $compiler object]) | ||
11347 | -AC_CACHE_VAL([lt_cv_sys_global_symbol_pipe], | ||
11348 | -[ | ||
11349 | -# These are sane defaults that work on at least a few old systems. | ||
11350 | -# [They come from Ultrix. What could be older than Ultrix?!! ;)] | ||
11351 | - | ||
11352 | -# Character class describing NM global symbol codes. | ||
11353 | -symcode='[[BCDEGRST]]' | ||
11354 | - | ||
11355 | -# Regexp to match symbols that can be accessed directly from C. | ||
11356 | -sympat='\([[_A-Za-z]][[_A-Za-z0-9]]*\)' | ||
11357 | - | ||
11358 | -# Define system-specific variables. | ||
11359 | -case $host_os in | ||
11360 | -aix*) | ||
11361 | - symcode='[[BCDT]]' | ||
11362 | - ;; | ||
11363 | -cygwin* | mingw* | pw32* | cegcc*) | ||
11364 | - symcode='[[ABCDGISTW]]' | ||
11365 | - ;; | ||
11366 | -hpux*) | ||
11367 | - if test "$host_cpu" = ia64; then | ||
11368 | - symcode='[[ABCDEGRST]]' | ||
11369 | - fi | ||
11370 | - ;; | ||
11371 | -irix* | nonstopux*) | ||
11372 | - symcode='[[BCDEGRST]]' | ||
11373 | - ;; | ||
11374 | -osf*) | ||
11375 | - symcode='[[BCDEGQRST]]' | ||
11376 | - ;; | ||
11377 | -solaris*) | ||
11378 | - symcode='[[BDRT]]' | ||
11379 | - ;; | ||
11380 | -sco3.2v5*) | ||
11381 | - symcode='[[DT]]' | ||
11382 | - ;; | ||
11383 | -sysv4.2uw2*) | ||
11384 | - symcode='[[DT]]' | ||
11385 | - ;; | ||
11386 | -sysv5* | sco5v6* | unixware* | OpenUNIX*) | ||
11387 | - symcode='[[ABDT]]' | ||
11388 | - ;; | ||
11389 | -sysv4) | ||
11390 | - symcode='[[DFNSTU]]' | ||
11391 | - ;; | ||
11392 | -esac | ||
11393 | - | ||
11394 | -# If we're using GNU nm, then use its standard symbol codes. | ||
11395 | -case `$NM -V 2>&1` in | ||
11396 | -*GNU* | *'with BFD'*) | ||
11397 | - symcode='[[ABCDGIRSTW]]' ;; | ||
11398 | -esac | ||
11399 | - | ||
11400 | -# Transform an extracted symbol line into a proper C declaration. | ||
11401 | -# Some systems (esp. on ia64) link data and code symbols differently, | ||
11402 | -# so use this general approach. | ||
11403 | -lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'" | ||
11404 | - | ||
11405 | -# Transform an extracted symbol line into symbol name and symbol address | ||
11406 | -lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([[^ ]]*\) $/ {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([[^ ]]*\) \([[^ ]]*\)$/ {\"\2\", (void *) \&\2},/p'" | ||
11407 | -lt_cv_sys_global_symbol_to_c_name_address_lib_prefix="sed -n -e 's/^: \([[^ ]]*\) $/ {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([[^ ]]*\) \(lib[[^ ]]*\)$/ {\"\2\", (void *) \&\2},/p' -e 's/^$symcode* \([[^ ]]*\) \([[^ ]]*\)$/ {\"lib\2\", (void *) \&\2},/p'" | ||
11408 | - | ||
11409 | -# Handle CRLF in mingw tool chain | ||
11410 | -opt_cr= | ||
11411 | -case $build_os in | ||
11412 | -mingw*) | ||
11413 | - opt_cr=`$ECHO 'x\{0,1\}' | tr x '\015'` # option cr in regexp | ||
11414 | - ;; | ||
11415 | -esac | ||
11416 | - | ||
11417 | -# Try without a prefix underscore, then with it. | ||
11418 | -for ac_symprfx in "" "_"; do | ||
11419 | - | ||
11420 | - # Transform symcode, sympat, and symprfx into a raw symbol and a C symbol. | ||
11421 | - symxfrm="\\1 $ac_symprfx\\2 \\2" | ||
11422 | - | ||
11423 | - # Write the raw and C identifiers. | ||
11424 | - if test "$lt_cv_nm_interface" = "MS dumpbin"; then | ||
11425 | - # Fake it for dumpbin and say T for any non-static function | ||
11426 | - # and D for any global variable. | ||
11427 | - # Also find C++ and __fastcall symbols from MSVC++, | ||
11428 | - # which start with @ or ?. | ||
11429 | - lt_cv_sys_global_symbol_pipe="$AWK ['"\ | ||
11430 | -" {last_section=section; section=\$ 3};"\ | ||
11431 | -" /Section length .*#relocs.*(pick any)/{hide[last_section]=1};"\ | ||
11432 | -" \$ 0!~/External *\|/{next};"\ | ||
11433 | -" / 0+ UNDEF /{next}; / UNDEF \([^|]\)*()/{next};"\ | ||
11434 | -" {if(hide[section]) next};"\ | ||
11435 | -" {f=0}; \$ 0~/\(\).*\|/{f=1}; {printf f ? \"T \" : \"D \"};"\ | ||
11436 | -" {split(\$ 0, a, /\||\r/); split(a[2], s)};"\ | ||
11437 | -" s[1]~/^[@?]/{print s[1], s[1]; next};"\ | ||
11438 | -" s[1]~prfx {split(s[1],t,\"@\"); print t[1], substr(t[1],length(prfx))}"\ | ||
11439 | -" ' prfx=^$ac_symprfx]" | ||
11440 | - else | ||
11441 | - lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[[ ]]\($symcode$symcode*\)[[ ]][[ ]]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'" | ||
11442 | - fi | ||
11443 | - | ||
11444 | - # Check to see that the pipe works correctly. | ||
11445 | - pipe_works=no | ||
11446 | - | ||
11447 | - rm -f conftest* | ||
11448 | - cat > conftest.$ac_ext <<_LT_EOF | ||
11449 | -#ifdef __cplusplus | ||
11450 | -extern "C" { | ||
11451 | -#endif | ||
11452 | -char nm_test_var; | ||
11453 | -void nm_test_func(void); | ||
11454 | -void nm_test_func(void){} | ||
11455 | -#ifdef __cplusplus | ||
11456 | -} | ||
11457 | -#endif | ||
11458 | -int main(){nm_test_var='a';nm_test_func();return(0);} | ||
11459 | -_LT_EOF | ||
11460 | - | ||
11461 | - if AC_TRY_EVAL(ac_compile); then | ||
11462 | - # Now try to grab the symbols. | ||
11463 | - nlist=conftest.nm | ||
11464 | - if AC_TRY_EVAL(NM conftest.$ac_objext \| $lt_cv_sys_global_symbol_pipe \> $nlist) && test -s "$nlist"; then | ||
11465 | - # Try sorting and uniquifying the output. | ||
11466 | - if sort "$nlist" | uniq > "$nlist"T; then | ||
11467 | - mv -f "$nlist"T "$nlist" | ||
11468 | - else | ||
11469 | - rm -f "$nlist"T | ||
11470 | - fi | ||
11471 | - | ||
11472 | - # Make sure that we snagged all the symbols we need. | ||
11473 | - if $GREP ' nm_test_var$' "$nlist" >/dev/null; then | ||
11474 | - if $GREP ' nm_test_func$' "$nlist" >/dev/null; then | ||
11475 | - cat <<_LT_EOF > conftest.$ac_ext | ||
11476 | -#ifdef __cplusplus | ||
11477 | -extern "C" { | ||
11478 | -#endif | ||
11479 | - | ||
11480 | -_LT_EOF | ||
11481 | - # Now generate the symbol file. | ||
11482 | - eval "$lt_cv_sys_global_symbol_to_cdecl"' < "$nlist" | $GREP -v main >> conftest.$ac_ext' | ||
11483 | - | ||
11484 | - cat <<_LT_EOF >> conftest.$ac_ext | ||
11485 | - | ||
11486 | -/* The mapping between symbol names and symbols. */ | ||
11487 | -const struct { | ||
11488 | - const char *name; | ||
11489 | - void *address; | ||
11490 | -} | ||
11491 | -lt__PROGRAM__LTX_preloaded_symbols[[]] = | ||
11492 | -{ | ||
11493 | - { "@PROGRAM@", (void *) 0 }, | ||
11494 | -_LT_EOF | ||
11495 | - $SED "s/^$symcode$symcode* \(.*\) \(.*\)$/ {\"\2\", (void *) \&\2},/" < "$nlist" | $GREP -v main >> conftest.$ac_ext | ||
11496 | - cat <<\_LT_EOF >> conftest.$ac_ext | ||
11497 | - {0, (void *) 0} | ||
11498 | -}; | ||
11499 | - | ||
11500 | -/* This works around a problem in FreeBSD linker */ | ||
11501 | -#ifdef FREEBSD_WORKAROUND | ||
11502 | -static const void *lt_preloaded_setup() { | ||
11503 | - return lt__PROGRAM__LTX_preloaded_symbols; | ||
11504 | -} | ||
11505 | -#endif | ||
11506 | - | ||
11507 | -#ifdef __cplusplus | ||
11508 | -} | ||
11509 | -#endif | ||
11510 | -_LT_EOF | ||
11511 | - # Now try linking the two files. | ||
11512 | - mv conftest.$ac_objext conftstm.$ac_objext | ||
11513 | - lt_save_LIBS="$LIBS" | ||
11514 | - lt_save_CFLAGS="$CFLAGS" | ||
11515 | - LIBS="conftstm.$ac_objext" | ||
11516 | - CFLAGS="$CFLAGS$_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)" | ||
11517 | - if AC_TRY_EVAL(ac_link) && test -s conftest${ac_exeext}; then | ||
11518 | - pipe_works=yes | ||
11519 | - fi | ||
11520 | - LIBS="$lt_save_LIBS" | ||
11521 | - CFLAGS="$lt_save_CFLAGS" | ||
11522 | - else | ||
11523 | - echo "cannot find nm_test_func in $nlist" >&AS_MESSAGE_LOG_FD | ||
11524 | - fi | ||
11525 | - else | ||
11526 | - echo "cannot find nm_test_var in $nlist" >&AS_MESSAGE_LOG_FD | ||
11527 | - fi | ||
11528 | - else | ||
11529 | - echo "cannot run $lt_cv_sys_global_symbol_pipe" >&AS_MESSAGE_LOG_FD | ||
11530 | - fi | ||
11531 | - else | ||
11532 | - echo "$progname: failed program was:" >&AS_MESSAGE_LOG_FD | ||
11533 | - cat conftest.$ac_ext >&5 | ||
11534 | - fi | ||
11535 | - rm -rf conftest* conftst* | ||
11536 | - | ||
11537 | - # Do not use the global_symbol_pipe unless it works. | ||
11538 | - if test "$pipe_works" = yes; then | ||
11539 | - break | ||
11540 | - else | ||
11541 | - lt_cv_sys_global_symbol_pipe= | ||
11542 | - fi | ||
11543 | -done | ||
11544 | -]) | ||
11545 | -if test -z "$lt_cv_sys_global_symbol_pipe"; then | ||
11546 | - lt_cv_sys_global_symbol_to_cdecl= | ||
11547 | -fi | ||
11548 | -if test -z "$lt_cv_sys_global_symbol_pipe$lt_cv_sys_global_symbol_to_cdecl"; then | ||
11549 | - AC_MSG_RESULT(failed) | ||
11550 | -else | ||
11551 | - AC_MSG_RESULT(ok) | ||
11552 | -fi | ||
11553 | - | ||
11554 | -_LT_DECL([global_symbol_pipe], [lt_cv_sys_global_symbol_pipe], [1], | ||
11555 | - [Take the output of nm and produce a listing of raw symbols and C names]) | ||
11556 | -_LT_DECL([global_symbol_to_cdecl], [lt_cv_sys_global_symbol_to_cdecl], [1], | ||
11557 | - [Transform the output of nm in a proper C declaration]) | ||
11558 | -_LT_DECL([global_symbol_to_c_name_address], | ||
11559 | - [lt_cv_sys_global_symbol_to_c_name_address], [1], | ||
11560 | - [Transform the output of nm in a C name address pair]) | ||
11561 | -_LT_DECL([global_symbol_to_c_name_address_lib_prefix], | ||
11562 | - [lt_cv_sys_global_symbol_to_c_name_address_lib_prefix], [1], | ||
11563 | - [Transform the output of nm in a C name address pair when lib prefix is needed]) | ||
11564 | -]) # _LT_CMD_GLOBAL_SYMBOLS | ||
11565 | - | ||
11566 | - | ||
11567 | -# _LT_COMPILER_PIC([TAGNAME]) | ||
11568 | -# --------------------------- | ||
11569 | -m4_defun([_LT_COMPILER_PIC], | ||
11570 | -[m4_require([_LT_TAG_COMPILER])dnl | ||
11571 | -_LT_TAGVAR(lt_prog_compiler_wl, $1)= | ||
11572 | -_LT_TAGVAR(lt_prog_compiler_pic, $1)= | ||
11573 | -_LT_TAGVAR(lt_prog_compiler_static, $1)= | ||
11574 | - | ||
11575 | -AC_MSG_CHECKING([for $compiler option to produce PIC]) | ||
11576 | -m4_if([$1], [CXX], [ | ||
11577 | - # C++ specific cases for pic, static, wl, etc. | ||
11578 | - if test "$GXX" = yes; then | ||
11579 | - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' | ||
11580 | - _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' | ||
11581 | - | ||
11582 | - case $host_os in | ||
11583 | - aix*) | ||
11584 | - # All AIX code is PIC. | ||
11585 | - if test "$host_cpu" = ia64; then | ||
11586 | - # AIX 5 now supports IA64 processor | ||
11587 | - _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' | ||
11588 | - fi | ||
11589 | - ;; | ||
11590 | - | ||
11591 | - amigaos*) | ||
11592 | - case $host_cpu in | ||
11593 | - powerpc) | ||
11594 | - # see comment about AmigaOS4 .so support | ||
11595 | - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' | ||
11596 | - ;; | ||
11597 | - m68k) | ||
11598 | - # FIXME: we need at least 68020 code to build shared libraries, but | ||
11599 | - # adding the `-m68020' flag to GCC prevents building anything better, | ||
11600 | - # like `-m68040'. | ||
11601 | - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-m68020 -resident32 -malways-restore-a4' | ||
11602 | - ;; | ||
11603 | - esac | ||
11604 | - ;; | ||
11605 | - | ||
11606 | - beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) | ||
11607 | - # PIC is the default for these OSes. | ||
11608 | - ;; | ||
11609 | - mingw* | cygwin* | os2* | pw32* | cegcc*) | ||
11610 | - # This hack is so that the source file can tell whether it is being | ||
11611 | - # built for inclusion in a dll (and should export symbols for example). | ||
11612 | - # Although the cygwin gcc ignores -fPIC, still need this for old-style | ||
11613 | - # (--disable-auto-import) libraries | ||
11614 | - m4_if([$1], [GCJ], [], | ||
11615 | - [_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT']) | ||
11616 | - ;; | ||
11617 | - darwin* | rhapsody*) | ||
11618 | - # PIC is the default on this platform | ||
11619 | - # Common symbols not allowed in MH_DYLIB files | ||
11620 | - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common' | ||
11621 | - ;; | ||
11622 | - *djgpp*) | ||
11623 | - # DJGPP does not support shared libraries at all | ||
11624 | - _LT_TAGVAR(lt_prog_compiler_pic, $1)= | ||
11625 | - ;; | ||
11626 | - interix[[3-9]]*) | ||
11627 | - # Interix 3.x gcc -fpic/-fPIC options generate broken code. | ||
11628 | - # Instead, we relocate shared libraries at runtime. | ||
11629 | - ;; | ||
11630 | - sysv4*MP*) | ||
11631 | - if test -d /usr/nec; then | ||
11632 | - _LT_TAGVAR(lt_prog_compiler_pic, $1)=-Kconform_pic | ||
11633 | - fi | ||
11634 | - ;; | ||
11635 | - hpux*) | ||
11636 | - # PIC is the default for 64-bit PA HP-UX, but not for 32-bit | ||
11637 | - # PA HP-UX. On IA64 HP-UX, PIC is the default but the pic flag | ||
11638 | - # sets the default TLS model and affects inlining. | ||
11639 | - case $host_cpu in | ||
11640 | - hppa*64*) | ||
11641 | - ;; | ||
11642 | - *) | ||
11643 | - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' | ||
11644 | - ;; | ||
11645 | - esac | ||
11646 | - ;; | ||
11647 | - *qnx* | *nto*) | ||
11648 | - # QNX uses GNU C++, but need to define -shared option too, otherwise | ||
11649 | - # it will coredump. | ||
11650 | - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared' | ||
11651 | - ;; | ||
11652 | - *) | ||
11653 | - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' | ||
11654 | - ;; | ||
11655 | - esac | ||
11656 | - else | ||
11657 | - case $host_os in | ||
11658 | - aix[[4-9]]*) | ||
11659 | - # All AIX code is PIC. | ||
11660 | - if test "$host_cpu" = ia64; then | ||
11661 | - # AIX 5 now supports IA64 processor | ||
11662 | - _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' | ||
11663 | - else | ||
11664 | - _LT_TAGVAR(lt_prog_compiler_static, $1)='-bnso -bI:/lib/syscalls.exp' | ||
11665 | - fi | ||
11666 | - ;; | ||
11667 | - chorus*) | ||
11668 | - case $cc_basename in | ||
11669 | - cxch68*) | ||
11670 | - # Green Hills C++ Compiler | ||
11671 | - # _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" | ||
11672 | - ;; | ||
11673 | - esac | ||
11674 | - ;; | ||
11675 | - dgux*) | ||
11676 | - case $cc_basename in | ||
11677 | - ec++*) | ||
11678 | - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' | ||
11679 | - ;; | ||
11680 | - ghcx*) | ||
11681 | - # Green Hills C++ Compiler | ||
11682 | - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic' | ||
11683 | - ;; | ||
11684 | - *) | ||
11685 | - ;; | ||
11686 | - esac | ||
11687 | - ;; | ||
11688 | - freebsd* | dragonfly*) | ||
11689 | - # FreeBSD uses GNU C++ | ||
11690 | - ;; | ||
11691 | - hpux9* | hpux10* | hpux11*) | ||
11692 | - case $cc_basename in | ||
11693 | - CC*) | ||
11694 | - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' | ||
11695 | - _LT_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive' | ||
11696 | - if test "$host_cpu" != ia64; then | ||
11697 | - _LT_TAGVAR(lt_prog_compiler_pic, $1)='+Z' | ||
11698 | - fi | ||
11699 | - ;; | ||
11700 | - aCC*) | ||
11701 | - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' | ||
11702 | - _LT_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive' | ||
11703 | - case $host_cpu in | ||
11704 | - hppa*64*|ia64*) | ||
11705 | - # +Z the default | ||
11706 | - ;; | ||
11707 | - *) | ||
11708 | - _LT_TAGVAR(lt_prog_compiler_pic, $1)='+Z' | ||
11709 | - ;; | ||
11710 | - esac | ||
11711 | - ;; | ||
11712 | - *) | ||
11713 | - ;; | ||
11714 | - esac | ||
11715 | - ;; | ||
11716 | - interix*) | ||
11717 | - # This is c89, which is MS Visual C++ (no shared libs) | ||
11718 | - # Anyone wants to do a port? | ||
11719 | - ;; | ||
11720 | - irix5* | irix6* | nonstopux*) | ||
11721 | - case $cc_basename in | ||
11722 | - CC*) | ||
11723 | - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' | ||
11724 | - _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' | ||
11725 | - # CC pic flag -KPIC is the default. | ||
11726 | - ;; | ||
11727 | - *) | ||
11728 | - ;; | ||
11729 | - esac | ||
11730 | - ;; | ||
11731 | - linux* | k*bsd*-gnu) | ||
11732 | - case $cc_basename in | ||
11733 | - KCC*) | ||
11734 | - # KAI C++ Compiler | ||
11735 | - _LT_TAGVAR(lt_prog_compiler_wl, $1)='--backend -Wl,' | ||
11736 | - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' | ||
11737 | - ;; | ||
11738 | - ecpc* ) | ||
11739 | - # old Intel C++ for x86_64 which still supported -KPIC. | ||
11740 | - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' | ||
11741 | - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' | ||
11742 | - _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' | ||
11743 | - ;; | ||
11744 | - icpc* ) | ||
11745 | - # Intel C++, used to be incompatible with GCC. | ||
11746 | - # ICC 10 doesn't accept -KPIC any more. | ||
11747 | - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' | ||
11748 | - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' | ||
11749 | - _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' | ||
11750 | - ;; | ||
11751 | - pgCC* | pgcpp*) | ||
11752 | - # Portland Group C++ compiler | ||
11753 | - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' | ||
11754 | - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fpic' | ||
11755 | - _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' | ||
11756 | - ;; | ||
11757 | - cxx*) | ||
11758 | - # Compaq C++ | ||
11759 | - # Make sure the PIC flag is empty. It appears that all Alpha | ||
11760 | - # Linux and Compaq Tru64 Unix objects are PIC. | ||
11761 | - _LT_TAGVAR(lt_prog_compiler_pic, $1)= | ||
11762 | - _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' | ||
11763 | - ;; | ||
11764 | - xlc* | xlC*) | ||
11765 | - # IBM XL 8.0 on PPC | ||
11766 | - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' | ||
11767 | - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-qpic' | ||
11768 | - _LT_TAGVAR(lt_prog_compiler_static, $1)='-qstaticlink' | ||
11769 | - ;; | ||
11770 | - *) | ||
11771 | - case `$CC -V 2>&1 | sed 5q` in | ||
11772 | - *Sun\ C*) | ||
11773 | - # Sun C++ 5.9 | ||
11774 | - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' | ||
11775 | - _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' | ||
11776 | - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ' | ||
11777 | - ;; | ||
11778 | - esac | ||
11779 | - ;; | ||
11780 | - esac | ||
11781 | - ;; | ||
11782 | - lynxos*) | ||
11783 | - ;; | ||
11784 | - m88k*) | ||
11785 | - ;; | ||
11786 | - mvs*) | ||
11787 | - case $cc_basename in | ||
11788 | - cxx*) | ||
11789 | - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-W c,exportall' | ||
11790 | - ;; | ||
11791 | - *) | ||
11792 | - ;; | ||
11793 | - esac | ||
11794 | - ;; | ||
11795 | - netbsd*) | ||
11796 | - ;; | ||
11797 | - *qnx* | *nto*) | ||
11798 | - # QNX uses GNU C++, but need to define -shared option too, otherwise | ||
11799 | - # it will coredump. | ||
11800 | - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared' | ||
11801 | - ;; | ||
11802 | - osf3* | osf4* | osf5*) | ||
11803 | - case $cc_basename in | ||
11804 | - KCC*) | ||
11805 | - _LT_TAGVAR(lt_prog_compiler_wl, $1)='--backend -Wl,' | ||
11806 | - ;; | ||
11807 | - RCC*) | ||
11808 | - # Rational C++ 2.4.1 | ||
11809 | - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic' | ||
11810 | - ;; | ||
11811 | - cxx*) | ||
11812 | - # Digital/Compaq C++ | ||
11813 | - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' | ||
11814 | - # Make sure the PIC flag is empty. It appears that all Alpha | ||
11815 | - # Linux and Compaq Tru64 Unix objects are PIC. | ||
11816 | - _LT_TAGVAR(lt_prog_compiler_pic, $1)= | ||
11817 | - _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' | ||
11818 | - ;; | ||
11819 | - *) | ||
11820 | - ;; | ||
11821 | - esac | ||
11822 | - ;; | ||
11823 | - psos*) | ||
11824 | - ;; | ||
11825 | - solaris*) | ||
11826 | - case $cc_basename in | ||
11827 | - CC*) | ||
11828 | - # Sun C++ 4.2, 5.x and Centerline C++ | ||
11829 | - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' | ||
11830 | - _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' | ||
11831 | - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ' | ||
11832 | - ;; | ||
11833 | - gcx*) | ||
11834 | - # Green Hills C++ Compiler | ||
11835 | - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-PIC' | ||
11836 | - ;; | ||
11837 | - *) | ||
11838 | - ;; | ||
11839 | - esac | ||
11840 | - ;; | ||
11841 | - sunos4*) | ||
11842 | - case $cc_basename in | ||
11843 | - CC*) | ||
11844 | - # Sun C++ 4.x | ||
11845 | - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic' | ||
11846 | - _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' | ||
11847 | - ;; | ||
11848 | - lcc*) | ||
11849 | - # Lucid | ||
11850 | - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic' | ||
11851 | - ;; | ||
11852 | - *) | ||
11853 | - ;; | ||
11854 | - esac | ||
11855 | - ;; | ||
11856 | - sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) | ||
11857 | - case $cc_basename in | ||
11858 | - CC*) | ||
11859 | - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' | ||
11860 | - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' | ||
11861 | - _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' | ||
11862 | - ;; | ||
11863 | - esac | ||
11864 | - ;; | ||
11865 | - tandem*) | ||
11866 | - case $cc_basename in | ||
11867 | - NCC*) | ||
11868 | - # NonStop-UX NCC 3.20 | ||
11869 | - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' | ||
11870 | - ;; | ||
11871 | - *) | ||
11872 | - ;; | ||
11873 | - esac | ||
11874 | - ;; | ||
11875 | - vxworks*) | ||
11876 | - ;; | ||
11877 | - *) | ||
11878 | - _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no | ||
11879 | - ;; | ||
11880 | - esac | ||
11881 | - fi | ||
11882 | -], | ||
11883 | -[ | ||
11884 | - if test "$GCC" = yes; then | ||
11885 | - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' | ||
11886 | - _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' | ||
11887 | - | ||
11888 | - case $host_os in | ||
11889 | - aix*) | ||
11890 | - # All AIX code is PIC. | ||
11891 | - if test "$host_cpu" = ia64; then | ||
11892 | - # AIX 5 now supports IA64 processor | ||
11893 | - _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' | ||
11894 | - fi | ||
11895 | - ;; | ||
11896 | - | ||
11897 | - amigaos*) | ||
11898 | - case $host_cpu in | ||
11899 | - powerpc) | ||
11900 | - # see comment about AmigaOS4 .so support | ||
11901 | - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' | ||
11902 | - ;; | ||
11903 | - m68k) | ||
11904 | - # FIXME: we need at least 68020 code to build shared libraries, but | ||
11905 | - # adding the `-m68020' flag to GCC prevents building anything better, | ||
11906 | - # like `-m68040'. | ||
11907 | - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-m68020 -resident32 -malways-restore-a4' | ||
11908 | - ;; | ||
11909 | - esac | ||
11910 | - ;; | ||
11911 | - | ||
11912 | - beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) | ||
11913 | - # PIC is the default for these OSes. | ||
11914 | - ;; | ||
11915 | - | ||
11916 | - mingw* | cygwin* | pw32* | os2* | cegcc*) | ||
11917 | - # This hack is so that the source file can tell whether it is being | ||
11918 | - # built for inclusion in a dll (and should export symbols for example). | ||
11919 | - # Although the cygwin gcc ignores -fPIC, still need this for old-style | ||
11920 | - # (--disable-auto-import) libraries | ||
11921 | - m4_if([$1], [GCJ], [], | ||
11922 | - [_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT']) | ||
11923 | - ;; | ||
11924 | - | ||
11925 | - darwin* | rhapsody*) | ||
11926 | - # PIC is the default on this platform | ||
11927 | - # Common symbols not allowed in MH_DYLIB files | ||
11928 | - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common' | ||
11929 | - ;; | ||
11930 | - | ||
11931 | - hpux*) | ||
11932 | - # PIC is the default for 64-bit PA HP-UX, but not for 32-bit | ||
11933 | - # PA HP-UX. On IA64 HP-UX, PIC is the default but the pic flag | ||
11934 | - # sets the default TLS model and affects inlining. | ||
11935 | - case $host_cpu in | ||
11936 | - hppa*64*) | ||
11937 | - # +Z the default | ||
11938 | - ;; | ||
11939 | - *) | ||
11940 | - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' | ||
11941 | - ;; | ||
11942 | - esac | ||
11943 | - ;; | ||
11944 | - | ||
11945 | - interix[[3-9]]*) | ||
11946 | - # Interix 3.x gcc -fpic/-fPIC options generate broken code. | ||
11947 | - # Instead, we relocate shared libraries at runtime. | ||
11948 | - ;; | ||
11949 | - | ||
11950 | - msdosdjgpp*) | ||
11951 | - # Just because we use GCC doesn't mean we suddenly get shared libraries | ||
11952 | - # on systems that don't support them. | ||
11953 | - _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no | ||
11954 | - enable_shared=no | ||
11955 | - ;; | ||
11956 | - | ||
11957 | - *nto* | *qnx*) | ||
11958 | - # QNX uses GNU C++, but need to define -shared option too, otherwise | ||
11959 | - # it will coredump. | ||
11960 | - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared' | ||
11961 | - ;; | ||
11962 | - | ||
11963 | - sysv4*MP*) | ||
11964 | - if test -d /usr/nec; then | ||
11965 | - _LT_TAGVAR(lt_prog_compiler_pic, $1)=-Kconform_pic | ||
11966 | - fi | ||
11967 | - ;; | ||
11968 | - | ||
11969 | - *) | ||
11970 | - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' | ||
11971 | - ;; | ||
11972 | - esac | ||
11973 | - else | ||
11974 | - # PORTME Check for flag to pass linker flags through the system compiler. | ||
11975 | - case $host_os in | ||
11976 | - aix*) | ||
11977 | - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' | ||
11978 | - if test "$host_cpu" = ia64; then | ||
11979 | - # AIX 5 now supports IA64 processor | ||
11980 | - _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' | ||
11981 | - else | ||
11982 | - _LT_TAGVAR(lt_prog_compiler_static, $1)='-bnso -bI:/lib/syscalls.exp' | ||
11983 | - fi | ||
11984 | - ;; | ||
11985 | - | ||
11986 | - mingw* | cygwin* | pw32* | os2* | cegcc*) | ||
11987 | - # This hack is so that the source file can tell whether it is being | ||
11988 | - # built for inclusion in a dll (and should export symbols for example). | ||
11989 | - m4_if([$1], [GCJ], [], | ||
11990 | - [_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT']) | ||
11991 | - ;; | ||
11992 | - | ||
11993 | - hpux9* | hpux10* | hpux11*) | ||
11994 | - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' | ||
11995 | - # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but | ||
11996 | - # not for PA HP-UX. | ||
11997 | - case $host_cpu in | ||
11998 | - hppa*64*|ia64*) | ||
11999 | - # +Z the default | ||
12000 | - ;; | ||
12001 | - *) | ||
12002 | - _LT_TAGVAR(lt_prog_compiler_pic, $1)='+Z' | ||
12003 | - ;; | ||
12004 | - esac | ||
12005 | - # Is there a better lt_prog_compiler_static that works with the bundled CC? | ||
12006 | - _LT_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive' | ||
12007 | - ;; | ||
12008 | - | ||
12009 | - irix5* | irix6* | nonstopux*) | ||
12010 | - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' | ||
12011 | - # PIC (with -KPIC) is the default. | ||
12012 | - _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' | ||
12013 | - ;; | ||
12014 | - | ||
12015 | - linux* | k*bsd*-gnu) | ||
12016 | - case $cc_basename in | ||
12017 | - # old Intel for x86_64 which still supported -KPIC. | ||
12018 | - ecc*) | ||
12019 | - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' | ||
12020 | - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' | ||
12021 | - _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' | ||
12022 | - ;; | ||
12023 | - # icc used to be incompatible with GCC. | ||
12024 | - # ICC 10 doesn't accept -KPIC any more. | ||
12025 | - icc* | ifort*) | ||
12026 | - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' | ||
12027 | - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' | ||
12028 | - _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' | ||
12029 | - ;; | ||
12030 | - # Lahey Fortran 8.1. | ||
12031 | - lf95*) | ||
12032 | - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' | ||
12033 | - _LT_TAGVAR(lt_prog_compiler_pic, $1)='--shared' | ||
12034 | - _LT_TAGVAR(lt_prog_compiler_static, $1)='--static' | ||
12035 | - ;; | ||
12036 | - pgcc* | pgf77* | pgf90* | pgf95*) | ||
12037 | - # Portland Group compilers (*not* the Pentium gcc compiler, | ||
12038 | - # which looks to be a dead project) | ||
12039 | - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' | ||
12040 | - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fpic' | ||
12041 | - _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' | ||
12042 | - ;; | ||
12043 | - ccc*) | ||
12044 | - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' | ||
12045 | - # All Alpha code is PIC. | ||
12046 | - _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' | ||
12047 | - ;; | ||
12048 | - xl*) | ||
12049 | - # IBM XL C 8.0/Fortran 10.1 on PPC | ||
12050 | - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' | ||
12051 | - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-qpic' | ||
12052 | - _LT_TAGVAR(lt_prog_compiler_static, $1)='-qstaticlink' | ||
12053 | - ;; | ||
12054 | - *) | ||
12055 | - case `$CC -V 2>&1 | sed 5q` in | ||
12056 | - *Sun\ C*) | ||
12057 | - # Sun C 5.9 | ||
12058 | - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' | ||
12059 | - _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' | ||
12060 | - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' | ||
12061 | - ;; | ||
12062 | - *Sun\ F*) | ||
12063 | - # Sun Fortran 8.3 passes all unrecognized flags to the linker | ||
12064 | - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' | ||
12065 | - _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' | ||
12066 | - _LT_TAGVAR(lt_prog_compiler_wl, $1)='' | ||
12067 | - ;; | ||
12068 | - esac | ||
12069 | - ;; | ||
12070 | - esac | ||
12071 | - ;; | ||
12072 | - | ||
12073 | - newsos6) | ||
12074 | - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' | ||
12075 | - _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' | ||
12076 | - ;; | ||
12077 | - | ||
12078 | - *nto* | *qnx*) | ||
12079 | - # QNX uses GNU C++, but need to define -shared option too, otherwise | ||
12080 | - # it will coredump. | ||
12081 | - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared' | ||
12082 | - ;; | ||
12083 | - | ||
12084 | - osf3* | osf4* | osf5*) | ||
12085 | - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' | ||
12086 | - # All OSF/1 code is PIC. | ||
12087 | - _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' | ||
12088 | - ;; | ||
12089 | - | ||
12090 | - rdos*) | ||
12091 | - _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' | ||
12092 | - ;; | ||
12093 | - | ||
12094 | - solaris*) | ||
12095 | - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' | ||
12096 | - _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' | ||
12097 | - case $cc_basename in | ||
12098 | - f77* | f90* | f95*) | ||
12099 | - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ';; | ||
12100 | - *) | ||
12101 | - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,';; | ||
12102 | - esac | ||
12103 | - ;; | ||
12104 | - | ||
12105 | - sunos4*) | ||
12106 | - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ' | ||
12107 | - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-PIC' | ||
12108 | - _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' | ||
12109 | - ;; | ||
12110 | - | ||
12111 | - sysv4 | sysv4.2uw2* | sysv4.3*) | ||
12112 | - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' | ||
12113 | - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' | ||
12114 | - _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' | ||
12115 | - ;; | ||
12116 | - | ||
12117 | - sysv4*MP*) | ||
12118 | - if test -d /usr/nec ;then | ||
12119 | - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-Kconform_pic' | ||
12120 | - _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' | ||
12121 | - fi | ||
12122 | - ;; | ||
12123 | - | ||
12124 | - sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) | ||
12125 | - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' | ||
12126 | - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' | ||
12127 | - _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' | ||
12128 | - ;; | ||
12129 | - | ||
12130 | - unicos*) | ||
12131 | - _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' | ||
12132 | - _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no | ||
12133 | - ;; | ||
12134 | - | ||
12135 | - uts4*) | ||
12136 | - _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic' | ||
12137 | - _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' | ||
12138 | - ;; | ||
12139 | - | ||
12140 | - *) | ||
12141 | - _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no | ||
12142 | - ;; | ||
12143 | - esac | ||
12144 | - fi | ||
12145 | -]) | ||
12146 | -case $host_os in | ||
12147 | - # For platforms which do not support PIC, -DPIC is meaningless: | ||
12148 | - *djgpp*) | ||
12149 | - _LT_TAGVAR(lt_prog_compiler_pic, $1)= | ||
12150 | - ;; | ||
12151 | - *) | ||
12152 | - _LT_TAGVAR(lt_prog_compiler_pic, $1)="$_LT_TAGVAR(lt_prog_compiler_pic, $1)@&t@m4_if([$1],[],[ -DPIC],[m4_if([$1],[CXX],[ -DPIC],[])])" | ||
12153 | - ;; | ||
12154 | -esac | ||
12155 | -AC_MSG_RESULT([$_LT_TAGVAR(lt_prog_compiler_pic, $1)]) | ||
12156 | -_LT_TAGDECL([wl], [lt_prog_compiler_wl], [1], | ||
12157 | - [How to pass a linker flag through the compiler]) | ||
12158 | - | ||
12159 | -# | ||
12160 | -# Check to make sure the PIC flag actually works. | ||
12161 | -# | ||
12162 | -if test -n "$_LT_TAGVAR(lt_prog_compiler_pic, $1)"; then | ||
12163 | - _LT_COMPILER_OPTION([if $compiler PIC flag $_LT_TAGVAR(lt_prog_compiler_pic, $1) works], | ||
12164 | - [_LT_TAGVAR(lt_cv_prog_compiler_pic_works, $1)], | ||
12165 | - [$_LT_TAGVAR(lt_prog_compiler_pic, $1)@&t@m4_if([$1],[],[ -DPIC],[m4_if([$1],[CXX],[ -DPIC],[])])], [], | ||
12166 | - [case $_LT_TAGVAR(lt_prog_compiler_pic, $1) in | ||
12167 | - "" | " "*) ;; | ||
12168 | - *) _LT_TAGVAR(lt_prog_compiler_pic, $1)=" $_LT_TAGVAR(lt_prog_compiler_pic, $1)" ;; | ||
12169 | - esac], | ||
12170 | - [_LT_TAGVAR(lt_prog_compiler_pic, $1)= | ||
12171 | - _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no]) | ||
12172 | -fi | ||
12173 | -_LT_TAGDECL([pic_flag], [lt_prog_compiler_pic], [1], | ||
12174 | - [Additional compiler flags for building library objects]) | ||
12175 | - | ||
12176 | -# | ||
12177 | -# Check to make sure the static flag actually works. | ||
12178 | -# | ||
12179 | -wl=$_LT_TAGVAR(lt_prog_compiler_wl, $1) eval lt_tmp_static_flag=\"$_LT_TAGVAR(lt_prog_compiler_static, $1)\" | ||
12180 | -_LT_LINKER_OPTION([if $compiler static flag $lt_tmp_static_flag works], | ||
12181 | - _LT_TAGVAR(lt_cv_prog_compiler_static_works, $1), | ||
12182 | - $lt_tmp_static_flag, | ||
12183 | - [], | ||
12184 | - [_LT_TAGVAR(lt_prog_compiler_static, $1)=]) | ||
12185 | -_LT_TAGDECL([link_static_flag], [lt_prog_compiler_static], [1], | ||
12186 | - [Compiler flag to prevent dynamic linking]) | ||
12187 | -])# _LT_COMPILER_PIC | ||
12188 | - | ||
12189 | - | ||
12190 | -# _LT_LINKER_SHLIBS([TAGNAME]) | ||
12191 | -# ---------------------------- | ||
12192 | -# See if the linker supports building shared libraries. | ||
12193 | -m4_defun([_LT_LINKER_SHLIBS], | ||
12194 | -[AC_REQUIRE([LT_PATH_LD])dnl | ||
12195 | -AC_REQUIRE([LT_PATH_NM])dnl | ||
12196 | -m4_require([_LT_FILEUTILS_DEFAULTS])dnl | ||
12197 | -m4_require([_LT_DECL_EGREP])dnl | ||
12198 | -m4_require([_LT_DECL_SED])dnl | ||
12199 | -m4_require([_LT_CMD_GLOBAL_SYMBOLS])dnl | ||
12200 | -m4_require([_LT_TAG_COMPILER])dnl | ||
12201 | -AC_MSG_CHECKING([whether the $compiler linker ($LD) supports shared libraries]) | ||
12202 | -m4_if([$1], [CXX], [ | ||
12203 | - _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' | ||
12204 | - case $host_os in | ||
12205 | - aix[[4-9]]*) | ||
12206 | - # If we're using GNU nm, then we don't want the "-C" option. | ||
12207 | - # -C means demangle to AIX nm, but means don't demangle with GNU nm | ||
12208 | - if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then | ||
12209 | - _LT_TAGVAR(export_symbols_cmds, $1)='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && ([substr](\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols' | ||
12210 | - else | ||
12211 | - _LT_TAGVAR(export_symbols_cmds, $1)='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && ([substr](\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols' | ||
12212 | - fi | ||
12213 | - ;; | ||
12214 | - pw32*) | ||
12215 | - _LT_TAGVAR(export_symbols_cmds, $1)="$ltdll_cmds" | ||
12216 | - ;; | ||
12217 | - cygwin* | mingw* | cegcc*) | ||
12218 | - _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]][[ ]]/s/.*[[ ]]\([[^ ]]*\)/\1 DATA/;/^.*[[ ]]__nm__/s/^.*[[ ]]__nm__\([[^ ]]*\)[[ ]][[^ ]]*/\1 DATA/;/^I[[ ]]/d;/^[[AITW]][[ ]]/s/.* //'\'' | sort | uniq > $export_symbols' | ||
12219 | - ;; | ||
12220 | - *) | ||
12221 | - _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' | ||
12222 | - ;; | ||
12223 | - esac | ||
12224 | - _LT_TAGVAR(exclude_expsyms, $1)=['_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*'] | ||
12225 | -], [ | ||
12226 | - runpath_var= | ||
12227 | - _LT_TAGVAR(allow_undefined_flag, $1)= | ||
12228 | - _LT_TAGVAR(always_export_symbols, $1)=no | ||
12229 | - _LT_TAGVAR(archive_cmds, $1)= | ||
12230 | - _LT_TAGVAR(archive_expsym_cmds, $1)= | ||
12231 | - _LT_TAGVAR(compiler_needs_object, $1)=no | ||
12232 | - _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no | ||
12233 | - _LT_TAGVAR(export_dynamic_flag_spec, $1)= | ||
12234 | - _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' | ||
12235 | - _LT_TAGVAR(hardcode_automatic, $1)=no | ||
12236 | - _LT_TAGVAR(hardcode_direct, $1)=no | ||
12237 | - _LT_TAGVAR(hardcode_direct_absolute, $1)=no | ||
12238 | - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)= | ||
12239 | - _LT_TAGVAR(hardcode_libdir_flag_spec_ld, $1)= | ||
12240 | - _LT_TAGVAR(hardcode_libdir_separator, $1)= | ||
12241 | - _LT_TAGVAR(hardcode_minus_L, $1)=no | ||
12242 | - _LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported | ||
12243 | - _LT_TAGVAR(inherit_rpath, $1)=no | ||
12244 | - _LT_TAGVAR(link_all_deplibs, $1)=unknown | ||
12245 | - _LT_TAGVAR(module_cmds, $1)= | ||
12246 | - _LT_TAGVAR(module_expsym_cmds, $1)= | ||
12247 | - _LT_TAGVAR(old_archive_from_new_cmds, $1)= | ||
12248 | - _LT_TAGVAR(old_archive_from_expsyms_cmds, $1)= | ||
12249 | - _LT_TAGVAR(thread_safe_flag_spec, $1)= | ||
12250 | - _LT_TAGVAR(whole_archive_flag_spec, $1)= | ||
12251 | - # include_expsyms should be a list of space-separated symbols to be *always* | ||
12252 | - # included in the symbol list | ||
12253 | - _LT_TAGVAR(include_expsyms, $1)= | ||
12254 | - # exclude_expsyms can be an extended regexp of symbols to exclude | ||
12255 | - # it will be wrapped by ` (' and `)$', so one must not match beginning or | ||
12256 | - # end of line. Example: `a|bc|.*d.*' will exclude the symbols `a' and `bc', | ||
12257 | - # as well as any symbol that contains `d'. | ||
12258 | - _LT_TAGVAR(exclude_expsyms, $1)=['_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*'] | ||
12259 | - # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out | ||
12260 | - # platforms (ab)use it in PIC code, but their linkers get confused if | ||
12261 | - # the symbol is explicitly referenced. Since portable code cannot | ||
12262 | - # rely on this symbol name, it's probably fine to never include it in | ||
12263 | - # preloaded symbol tables. | ||
12264 | - # Exclude shared library initialization/finalization symbols. | ||
12265 | -dnl Note also adjust exclude_expsyms for C++ above. | ||
12266 | - extract_expsyms_cmds= | ||
12267 | - | ||
12268 | - case $host_os in | ||
12269 | - cygwin* | mingw* | pw32* | cegcc*) | ||
12270 | - # FIXME: the MSVC++ port hasn't been tested in a loooong time | ||
12271 | - # When not using gcc, we currently assume that we are using | ||
12272 | - # Microsoft Visual C++. | ||
12273 | - if test "$GCC" != yes; then | ||
12274 | - with_gnu_ld=no | ||
12275 | - fi | ||
12276 | - ;; | ||
12277 | - interix*) | ||
12278 | - # we just hope/assume this is gcc and not c89 (= MSVC++) | ||
12279 | - with_gnu_ld=yes | ||
12280 | - ;; | ||
12281 | - openbsd*) | ||
12282 | - with_gnu_ld=no | ||
12283 | - ;; | ||
12284 | - esac | ||
12285 | - | ||
12286 | - _LT_TAGVAR(ld_shlibs, $1)=yes | ||
12287 | - if test "$with_gnu_ld" = yes; then | ||
12288 | - # If archive_cmds runs LD, not CC, wlarc should be empty | ||
12289 | - wlarc='${wl}' | ||
12290 | - | ||
12291 | - # Set some defaults for GNU ld with shared library support. These | ||
12292 | - # are reset later if shared libraries are not supported. Putting them | ||
12293 | - # here allows them to be overridden if necessary. | ||
12294 | - runpath_var=LD_RUN_PATH | ||
12295 | - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' | ||
12296 | - _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' | ||
12297 | - # ancient GNU ld didn't support --whole-archive et. al. | ||
12298 | - if $LD --help 2>&1 | $GREP 'no-whole-archive' > /dev/null; then | ||
12299 | - _LT_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' | ||
12300 | - else | ||
12301 | - _LT_TAGVAR(whole_archive_flag_spec, $1)= | ||
12302 | - fi | ||
12303 | - supports_anon_versioning=no | ||
12304 | - case `$LD -v 2>&1` in | ||
12305 | - *\ [[01]].* | *\ 2.[[0-9]].* | *\ 2.10.*) ;; # catch versions < 2.11 | ||
12306 | - *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ... | ||
12307 | - *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ... | ||
12308 | - *\ 2.11.*) ;; # other 2.11 versions | ||
12309 | - *) supports_anon_versioning=yes ;; | ||
12310 | - esac | ||
12311 | - | ||
12312 | - # See if GNU ld supports shared libraries. | ||
12313 | - case $host_os in | ||
12314 | - aix[[3-9]]*) | ||
12315 | - # On AIX/PPC, the GNU linker is very broken | ||
12316 | - if test "$host_cpu" != ia64; then | ||
12317 | - _LT_TAGVAR(ld_shlibs, $1)=no | ||
12318 | - cat <<_LT_EOF 1>&2 | ||
12319 | - | ||
12320 | -*** Warning: the GNU linker, at least up to release 2.9.1, is reported | ||
12321 | -*** to be unable to reliably create shared libraries on AIX. | ||
12322 | -*** Therefore, libtool is disabling shared libraries support. If you | ||
12323 | -*** really care for shared libraries, you may want to modify your PATH | ||
12324 | -*** so that a non-GNU linker is found, and then restart. | ||
12325 | - | ||
12326 | -_LT_EOF | ||
12327 | - fi | ||
12328 | - ;; | ||
12329 | - | ||
12330 | - amigaos*) | ||
12331 | - case $host_cpu in | ||
12332 | - powerpc) | ||
12333 | - # see comment about AmigaOS4 .so support | ||
12334 | - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' | ||
12335 | - _LT_TAGVAR(archive_expsym_cmds, $1)='' | ||
12336 | - ;; | ||
12337 | - m68k) | ||
12338 | - _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)' | ||
12339 | - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' | ||
12340 | - _LT_TAGVAR(hardcode_minus_L, $1)=yes | ||
12341 | - ;; | ||
12342 | - esac | ||
12343 | - ;; | ||
12344 | - | ||
12345 | - beos*) | ||
12346 | - if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then | ||
12347 | - _LT_TAGVAR(allow_undefined_flag, $1)=unsupported | ||
12348 | - # Joseph Beckenbach <jrb3@best.com> says some releases of gcc | ||
12349 | - # support --undefined. This deserves some investigation. FIXME | ||
12350 | - _LT_TAGVAR(archive_cmds, $1)='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' | ||
12351 | - else | ||
12352 | - _LT_TAGVAR(ld_shlibs, $1)=no | ||
12353 | - fi | ||
12354 | - ;; | ||
12355 | - | ||
12356 | - cygwin* | mingw* | pw32* | cegcc*) | ||
12357 | - # _LT_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless, | ||
12358 | - # as there is no search path for DLLs. | ||
12359 | - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' | ||
12360 | - _LT_TAGVAR(allow_undefined_flag, $1)=unsupported | ||
12361 | - _LT_TAGVAR(always_export_symbols, $1)=no | ||
12362 | - _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes | ||
12363 | - _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' | ||
12364 | - | ||
12365 | - if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then | ||
12366 | - _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' | ||
12367 | - # If the export-symbols file already is a .def file (1st line | ||
12368 | - # is EXPORTS), use it as is; otherwise, prepend... | ||
12369 | - _LT_TAGVAR(archive_expsym_cmds, $1)='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then | ||
12370 | - cp $export_symbols $output_objdir/$soname.def; | ||
12371 | - else | ||
12372 | - echo EXPORTS > $output_objdir/$soname.def; | ||
12373 | - cat $export_symbols >> $output_objdir/$soname.def; | ||
12374 | - fi~ | ||
12375 | - $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' | ||
12376 | - else | ||
12377 | - _LT_TAGVAR(ld_shlibs, $1)=no | ||
12378 | - fi | ||
12379 | - ;; | ||
12380 | - | ||
12381 | - interix[[3-9]]*) | ||
12382 | - _LT_TAGVAR(hardcode_direct, $1)=no | ||
12383 | - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no | ||
12384 | - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' | ||
12385 | - _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' | ||
12386 | - # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. | ||
12387 | - # Instead, shared libraries are loaded at an image base (0x10000000 by | ||
12388 | - # default) and relocated if they conflict, which is a slow very memory | ||
12389 | - # consuming and fragmenting process. To avoid this, we pick a random, | ||
12390 | - # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link | ||
12391 | - # time. Moving up from 0x10000000 also allows more sbrk(2) space. | ||
12392 | - _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' | ||
12393 | - _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' | ||
12394 | - ;; | ||
12395 | - | ||
12396 | - gnu* | linux* | tpf* | k*bsd*-gnu) | ||
12397 | - tmp_diet=no | ||
12398 | - if test "$host_os" = linux-dietlibc; then | ||
12399 | - case $cc_basename in | ||
12400 | - diet\ *) tmp_diet=yes;; # linux-dietlibc with static linking (!diet-dyn) | ||
12401 | - esac | ||
12402 | - fi | ||
12403 | - if $LD --help 2>&1 | $EGREP ': supported targets:.* elf' > /dev/null \ | ||
12404 | - && test "$tmp_diet" = no | ||
12405 | - then | ||
12406 | - tmp_addflag= | ||
12407 | - tmp_sharedflag='-shared' | ||
12408 | - case $cc_basename,$host_cpu in | ||
12409 | - pgcc*) # Portland Group C compiler | ||
12410 | - _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $ECHO \"$new_convenience\"` ${wl}--no-whole-archive' | ||
12411 | - tmp_addflag=' $pic_flag' | ||
12412 | - ;; | ||
12413 | - pgf77* | pgf90* | pgf95*) # Portland Group f77 and f90 compilers | ||
12414 | - _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $ECHO \"$new_convenience\"` ${wl}--no-whole-archive' | ||
12415 | - tmp_addflag=' $pic_flag -Mnomain' ;; | ||
12416 | - ecc*,ia64* | icc*,ia64*) # Intel C compiler on ia64 | ||
12417 | - tmp_addflag=' -i_dynamic' ;; | ||
12418 | - efc*,ia64* | ifort*,ia64*) # Intel Fortran compiler on ia64 | ||
12419 | - tmp_addflag=' -i_dynamic -nofor_main' ;; | ||
12420 | - ifc* | ifort*) # Intel Fortran compiler | ||
12421 | - tmp_addflag=' -nofor_main' ;; | ||
12422 | - lf95*) # Lahey Fortran 8.1 | ||
12423 | - _LT_TAGVAR(whole_archive_flag_spec, $1)= | ||
12424 | - tmp_sharedflag='--shared' ;; | ||
12425 | - xl[[cC]]*) # IBM XL C 8.0 on PPC (deal with xlf below) | ||
12426 | - tmp_sharedflag='-qmkshrobj' | ||
12427 | - tmp_addflag= ;; | ||
12428 | - esac | ||
12429 | - case `$CC -V 2>&1 | sed 5q` in | ||
12430 | - *Sun\ C*) # Sun C 5.9 | ||
12431 | - _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; $ECHO \"$new_convenience\"` ${wl}--no-whole-archive' | ||
12432 | - _LT_TAGVAR(compiler_needs_object, $1)=yes | ||
12433 | - tmp_sharedflag='-G' ;; | ||
12434 | - *Sun\ F*) # Sun Fortran 8.3 | ||
12435 | - tmp_sharedflag='-G' ;; | ||
12436 | - esac | ||
12437 | - _LT_TAGVAR(archive_cmds, $1)='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' | ||
12438 | - | ||
12439 | - if test "x$supports_anon_versioning" = xyes; then | ||
12440 | - _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~ | ||
12441 | - cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ | ||
12442 | - echo "local: *; };" >> $output_objdir/$libname.ver~ | ||
12443 | - $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib' | ||
12444 | - fi | ||
12445 | - | ||
12446 | - case $cc_basename in | ||
12447 | - xlf*) | ||
12448 | - # IBM XL Fortran 10.1 on PPC cannot create shared libs itself | ||
12449 | - _LT_TAGVAR(whole_archive_flag_spec, $1)='--whole-archive$convenience --no-whole-archive' | ||
12450 | - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)= | ||
12451 | - _LT_TAGVAR(hardcode_libdir_flag_spec_ld, $1)='-rpath $libdir' | ||
12452 | - _LT_TAGVAR(archive_cmds, $1)='$LD -shared $libobjs $deplibs $compiler_flags -soname $soname -o $lib' | ||
12453 | - if test "x$supports_anon_versioning" = xyes; then | ||
12454 | - _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~ | ||
12455 | - cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ | ||
12456 | - echo "local: *; };" >> $output_objdir/$libname.ver~ | ||
12457 | - $LD -shared $libobjs $deplibs $compiler_flags -soname $soname -version-script $output_objdir/$libname.ver -o $lib' | ||
12458 | - fi | ||
12459 | - ;; | ||
12460 | - esac | ||
12461 | - else | ||
12462 | - _LT_TAGVAR(ld_shlibs, $1)=no | ||
12463 | - fi | ||
12464 | - ;; | ||
12465 | - | ||
12466 | - netbsd*) | ||
12467 | - if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then | ||
12468 | - _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib' | ||
12469 | - wlarc= | ||
12470 | - else | ||
12471 | - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' | ||
12472 | - _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' | ||
12473 | - fi | ||
12474 | - ;; | ||
12475 | - | ||
12476 | - solaris*) | ||
12477 | - if $LD -v 2>&1 | $GREP 'BFD 2\.8' > /dev/null; then | ||
12478 | - _LT_TAGVAR(ld_shlibs, $1)=no | ||
12479 | - cat <<_LT_EOF 1>&2 | ||
12480 | - | ||
12481 | -*** Warning: The releases 2.8.* of the GNU linker cannot reliably | ||
12482 | -*** create shared libraries on Solaris systems. Therefore, libtool | ||
12483 | -*** is disabling shared libraries support. We urge you to upgrade GNU | ||
12484 | -*** binutils to release 2.9.1 or newer. Another option is to modify | ||
12485 | -*** your PATH or compiler configuration so that the native linker is | ||
12486 | -*** used, and then restart. | ||
12487 | - | ||
12488 | -_LT_EOF | ||
12489 | - elif $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then | ||
12490 | - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' | ||
12491 | - _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' | ||
12492 | - else | ||
12493 | - _LT_TAGVAR(ld_shlibs, $1)=no | ||
12494 | - fi | ||
12495 | - ;; | ||
12496 | - | ||
12497 | - sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*) | ||
12498 | - case `$LD -v 2>&1` in | ||
12499 | - *\ [[01]].* | *\ 2.[[0-9]].* | *\ 2.1[[0-5]].*) | ||
12500 | - _LT_TAGVAR(ld_shlibs, $1)=no | ||
12501 | - cat <<_LT_EOF 1>&2 | ||
12502 | - | ||
12503 | -*** Warning: Releases of the GNU linker prior to 2.16.91.0.3 can not | ||
12504 | -*** reliably create shared libraries on SCO systems. Therefore, libtool | ||
12505 | -*** is disabling shared libraries support. We urge you to upgrade GNU | ||
12506 | -*** binutils to release 2.16.91.0.3 or newer. Another option is to modify | ||
12507 | -*** your PATH or compiler configuration so that the native linker is | ||
12508 | -*** used, and then restart. | ||
12509 | - | ||
12510 | -_LT_EOF | ||
12511 | - ;; | ||
12512 | - *) | ||
12513 | - # For security reasons, it is highly recommended that you always | ||
12514 | - # use absolute paths for naming shared libraries, and exclude the | ||
12515 | - # DT_RUNPATH tag from executables and libraries. But doing so | ||
12516 | - # requires that you compile everything twice, which is a pain. | ||
12517 | - if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then | ||
12518 | - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' | ||
12519 | - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' | ||
12520 | - _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' | ||
12521 | - else | ||
12522 | - _LT_TAGVAR(ld_shlibs, $1)=no | ||
12523 | - fi | ||
12524 | - ;; | ||
12525 | - esac | ||
12526 | - ;; | ||
12527 | - | ||
12528 | - sunos4*) | ||
12529 | - _LT_TAGVAR(archive_cmds, $1)='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags' | ||
12530 | - wlarc= | ||
12531 | - _LT_TAGVAR(hardcode_direct, $1)=yes | ||
12532 | - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no | ||
12533 | - ;; | ||
12534 | - | ||
12535 | - *) | ||
12536 | - if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then | ||
12537 | - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' | ||
12538 | - _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' | ||
12539 | - else | ||
12540 | - _LT_TAGVAR(ld_shlibs, $1)=no | ||
12541 | - fi | ||
12542 | - ;; | ||
12543 | - esac | ||
12544 | - | ||
12545 | - if test "$_LT_TAGVAR(ld_shlibs, $1)" = no; then | ||
12546 | - runpath_var= | ||
12547 | - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)= | ||
12548 | - _LT_TAGVAR(export_dynamic_flag_spec, $1)= | ||
12549 | - _LT_TAGVAR(whole_archive_flag_spec, $1)= | ||
12550 | - fi | ||
12551 | - else | ||
12552 | - # PORTME fill in a description of your system's linker (not GNU ld) | ||
12553 | - case $host_os in | ||
12554 | - aix3*) | ||
12555 | - _LT_TAGVAR(allow_undefined_flag, $1)=unsupported | ||
12556 | - _LT_TAGVAR(always_export_symbols, $1)=yes | ||
12557 | - _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' | ||
12558 | - # Note: this linker hardcodes the directories in LIBPATH if there | ||
12559 | - # are no directories specified by -L. | ||
12560 | - _LT_TAGVAR(hardcode_minus_L, $1)=yes | ||
12561 | - if test "$GCC" = yes && test -z "$lt_prog_compiler_static"; then | ||
12562 | - # Neither direct hardcoding nor static linking is supported with a | ||
12563 | - # broken collect2. | ||
12564 | - _LT_TAGVAR(hardcode_direct, $1)=unsupported | ||
12565 | - fi | ||
12566 | - ;; | ||
12567 | - | ||
12568 | - aix[[4-9]]*) | ||
12569 | - if test "$host_cpu" = ia64; then | ||
12570 | - # On IA64, the linker does run time linking by default, so we don't | ||
12571 | - # have to do anything special. | ||
12572 | - aix_use_runtimelinking=no | ||
12573 | - exp_sym_flag='-Bexport' | ||
12574 | - no_entry_flag="" | ||
12575 | - else | ||
12576 | - # If we're using GNU nm, then we don't want the "-C" option. | ||
12577 | - # -C means demangle to AIX nm, but means don't demangle with GNU nm | ||
12578 | - if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then | ||
12579 | - _LT_TAGVAR(export_symbols_cmds, $1)='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && ([substr](\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols' | ||
12580 | - else | ||
12581 | - _LT_TAGVAR(export_symbols_cmds, $1)='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && ([substr](\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols' | ||
12582 | - fi | ||
12583 | - aix_use_runtimelinking=no | ||
12584 | - | ||
12585 | - # Test if we are trying to use run time linking or normal | ||
12586 | - # AIX style linking. If -brtl is somewhere in LDFLAGS, we | ||
12587 | - # need to do runtime linking. | ||
12588 | - case $host_os in aix4.[[23]]|aix4.[[23]].*|aix[[5-9]]*) | ||
12589 | - for ld_flag in $LDFLAGS; do | ||
12590 | - if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then | ||
12591 | - aix_use_runtimelinking=yes | ||
12592 | - break | ||
12593 | - fi | ||
12594 | - done | ||
12595 | - ;; | ||
12596 | - esac | ||
12597 | - | ||
12598 | - exp_sym_flag='-bexport' | ||
12599 | - no_entry_flag='-bnoentry' | ||
12600 | - fi | ||
12601 | - | ||
12602 | - # When large executables or shared objects are built, AIX ld can | ||
12603 | - # have problems creating the table of contents. If linking a library | ||
12604 | - # or program results in "error TOC overflow" add -mminimal-toc to | ||
12605 | - # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not | ||
12606 | - # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. | ||
12607 | - | ||
12608 | - _LT_TAGVAR(archive_cmds, $1)='' | ||
12609 | - _LT_TAGVAR(hardcode_direct, $1)=yes | ||
12610 | - _LT_TAGVAR(hardcode_direct_absolute, $1)=yes | ||
12611 | - _LT_TAGVAR(hardcode_libdir_separator, $1)=':' | ||
12612 | - _LT_TAGVAR(link_all_deplibs, $1)=yes | ||
12613 | - _LT_TAGVAR(file_list_spec, $1)='${wl}-f,' | ||
12614 | - | ||
12615 | - if test "$GCC" = yes; then | ||
12616 | - case $host_os in aix4.[[012]]|aix4.[[012]].*) | ||
12617 | - # We only want to do this on AIX 4.2 and lower, the check | ||
12618 | - # below for broken collect2 doesn't work under 4.3+ | ||
12619 | - collect2name=`${CC} -print-prog-name=collect2` | ||
12620 | - if test -f "$collect2name" && | ||
12621 | - strings "$collect2name" | $GREP resolve_lib_name >/dev/null | ||
12622 | - then | ||
12623 | - # We have reworked collect2 | ||
12624 | - : | ||
12625 | - else | ||
12626 | - # We have old collect2 | ||
12627 | - _LT_TAGVAR(hardcode_direct, $1)=unsupported | ||
12628 | - # It fails to find uninstalled libraries when the uninstalled | ||
12629 | - # path is not listed in the libpath. Setting hardcode_minus_L | ||
12630 | - # to unsupported forces relinking | ||
12631 | - _LT_TAGVAR(hardcode_minus_L, $1)=yes | ||
12632 | - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' | ||
12633 | - _LT_TAGVAR(hardcode_libdir_separator, $1)= | ||
12634 | - fi | ||
12635 | - ;; | ||
12636 | - esac | ||
12637 | - shared_flag='-shared' | ||
12638 | - if test "$aix_use_runtimelinking" = yes; then | ||
12639 | - shared_flag="$shared_flag "'${wl}-G' | ||
12640 | - fi | ||
12641 | - else | ||
12642 | - # not using gcc | ||
12643 | - if test "$host_cpu" = ia64; then | ||
12644 | - # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release | ||
12645 | - # chokes on -Wl,-G. The following line is correct: | ||
12646 | - shared_flag='-G' | ||
12647 | - else | ||
12648 | - if test "$aix_use_runtimelinking" = yes; then | ||
12649 | - shared_flag='${wl}-G' | ||
12650 | - else | ||
12651 | - shared_flag='${wl}-bM:SRE' | ||
12652 | - fi | ||
12653 | - fi | ||
12654 | - fi | ||
12655 | - | ||
12656 | - _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-bexpall' | ||
12657 | - # It seems that -bexpall does not export symbols beginning with | ||
12658 | - # underscore (_), so it is better to generate a list of symbols to export. | ||
12659 | - _LT_TAGVAR(always_export_symbols, $1)=yes | ||
12660 | - if test "$aix_use_runtimelinking" = yes; then | ||
12661 | - # Warning - without using the other runtime loading flags (-brtl), | ||
12662 | - # -berok will link without error, but may produce a broken library. | ||
12663 | - _LT_TAGVAR(allow_undefined_flag, $1)='-berok' | ||
12664 | - # Determine the default libpath from the value encoded in an | ||
12665 | - # empty executable. | ||
12666 | - _LT_SYS_MODULE_PATH_AIX | ||
12667 | - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath" | ||
12668 | - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then $ECHO "X${wl}${allow_undefined_flag}" | $Xsed; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag" | ||
12669 | - else | ||
12670 | - if test "$host_cpu" = ia64; then | ||
12671 | - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $libdir:/usr/lib:/lib' | ||
12672 | - _LT_TAGVAR(allow_undefined_flag, $1)="-z nodefs" | ||
12673 | - _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" | ||
12674 | - else | ||
12675 | - # Determine the default libpath from the value encoded in an | ||
12676 | - # empty executable. | ||
12677 | - _LT_SYS_MODULE_PATH_AIX | ||
12678 | - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath" | ||
12679 | - # Warning - without using the other run time loading flags, | ||
12680 | - # -berok will link without error, but may produce a broken library. | ||
12681 | - _LT_TAGVAR(no_undefined_flag, $1)=' ${wl}-bernotok' | ||
12682 | - _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-berok' | ||
12683 | - # Exported symbols can be pulled into shared objects from archives | ||
12684 | - _LT_TAGVAR(whole_archive_flag_spec, $1)='$convenience' | ||
12685 | - _LT_TAGVAR(archive_cmds_need_lc, $1)=yes | ||
12686 | - # This is similar to how AIX traditionally builds its shared libraries. | ||
12687 | - _LT_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname' | ||
12688 | - fi | ||
12689 | - fi | ||
12690 | - ;; | ||
12691 | - | ||
12692 | - amigaos*) | ||
12693 | - case $host_cpu in | ||
12694 | - powerpc) | ||
12695 | - # see comment about AmigaOS4 .so support | ||
12696 | - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' | ||
12697 | - _LT_TAGVAR(archive_expsym_cmds, $1)='' | ||
12698 | - ;; | ||
12699 | - m68k) | ||
12700 | - _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)' | ||
12701 | - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' | ||
12702 | - _LT_TAGVAR(hardcode_minus_L, $1)=yes | ||
12703 | - ;; | ||
12704 | - esac | ||
12705 | - ;; | ||
12706 | - | ||
12707 | - bsdi[[45]]*) | ||
12708 | - _LT_TAGVAR(export_dynamic_flag_spec, $1)=-rdynamic | ||
12709 | - ;; | ||
12710 | - | ||
12711 | - cygwin* | mingw* | pw32* | cegcc*) | ||
12712 | - # When not using gcc, we currently assume that we are using | ||
12713 | - # Microsoft Visual C++. | ||
12714 | - # hardcode_libdir_flag_spec is actually meaningless, as there is | ||
12715 | - # no search path for DLLs. | ||
12716 | - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=' ' | ||
12717 | - _LT_TAGVAR(allow_undefined_flag, $1)=unsupported | ||
12718 | - # Tell ltmain to make .lib files, not .a files. | ||
12719 | - libext=lib | ||
12720 | - # Tell ltmain to make .dll files, not .so files. | ||
12721 | - shrext_cmds=".dll" | ||
12722 | - # FIXME: Setting linknames here is a bad hack. | ||
12723 | - _LT_TAGVAR(archive_cmds, $1)='$CC -o $lib $libobjs $compiler_flags `$ECHO "X$deplibs" | $Xsed -e '\''s/ -lc$//'\''` -link -dll~linknames=' | ||
12724 | - # The linker will automatically build a .lib file if we build a DLL. | ||
12725 | - _LT_TAGVAR(old_archive_from_new_cmds, $1)='true' | ||
12726 | - # FIXME: Should let the user specify the lib program. | ||
12727 | - _LT_TAGVAR(old_archive_cmds, $1)='lib -OUT:$oldlib$oldobjs$old_deplibs' | ||
12728 | - _LT_TAGVAR(fix_srcfile_path, $1)='`cygpath -w "$srcfile"`' | ||
12729 | - _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes | ||
12730 | - ;; | ||
12731 | - | ||
12732 | - darwin* | rhapsody*) | ||
12733 | - _LT_DARWIN_LINKER_FEATURES($1) | ||
12734 | - ;; | ||
12735 | - | ||
12736 | - dgux*) | ||
12737 | - _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' | ||
12738 | - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' | ||
12739 | - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no | ||
12740 | - ;; | ||
12741 | - | ||
12742 | - freebsd1*) | ||
12743 | - _LT_TAGVAR(ld_shlibs, $1)=no | ||
12744 | - ;; | ||
12745 | - | ||
12746 | - # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor | ||
12747 | - # support. Future versions do this automatically, but an explicit c++rt0.o | ||
12748 | - # does not break anything, and helps significantly (at the cost of a little | ||
12749 | - # extra space). | ||
12750 | - freebsd2.2*) | ||
12751 | - _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o' | ||
12752 | - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' | ||
12753 | - _LT_TAGVAR(hardcode_direct, $1)=yes | ||
12754 | - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no | ||
12755 | - ;; | ||
12756 | - | ||
12757 | - # Unfortunately, older versions of FreeBSD 2 do not have this feature. | ||
12758 | - freebsd2*) | ||
12759 | - _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' | ||
12760 | - _LT_TAGVAR(hardcode_direct, $1)=yes | ||
12761 | - _LT_TAGVAR(hardcode_minus_L, $1)=yes | ||
12762 | - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no | ||
12763 | - ;; | ||
12764 | - | ||
12765 | - # FreeBSD 3 and greater uses gcc -shared to do shared libraries. | ||
12766 | - freebsd* | dragonfly*) | ||
12767 | - _LT_TAGVAR(archive_cmds, $1)='$CC -shared -o $lib $libobjs $deplibs $compiler_flags' | ||
12768 | - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' | ||
12769 | - _LT_TAGVAR(hardcode_direct, $1)=yes | ||
12770 | - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no | ||
12771 | - ;; | ||
12772 | - | ||
12773 | - hpux9*) | ||
12774 | - if test "$GCC" = yes; then | ||
12775 | - _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$CC -shared -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' | ||
12776 | - else | ||
12777 | - _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' | ||
12778 | - fi | ||
12779 | - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' | ||
12780 | - _LT_TAGVAR(hardcode_libdir_separator, $1)=: | ||
12781 | - _LT_TAGVAR(hardcode_direct, $1)=yes | ||
12782 | - | ||
12783 | - # hardcode_minus_L: Not really in the search PATH, | ||
12784 | - # but as the default location of the library. | ||
12785 | - _LT_TAGVAR(hardcode_minus_L, $1)=yes | ||
12786 | - _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' | ||
12787 | - ;; | ||
12788 | - | ||
12789 | - hpux10*) | ||
12790 | - if test "$GCC" = yes -a "$with_gnu_ld" = no; then | ||
12791 | - _LT_TAGVAR(archive_cmds, $1)='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' | ||
12792 | - else | ||
12793 | - _LT_TAGVAR(archive_cmds, $1)='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags' | ||
12794 | - fi | ||
12795 | - if test "$with_gnu_ld" = no; then | ||
12796 | - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' | ||
12797 | - _LT_TAGVAR(hardcode_libdir_flag_spec_ld, $1)='+b $libdir' | ||
12798 | - _LT_TAGVAR(hardcode_libdir_separator, $1)=: | ||
12799 | - _LT_TAGVAR(hardcode_direct, $1)=yes | ||
12800 | - _LT_TAGVAR(hardcode_direct_absolute, $1)=yes | ||
12801 | - _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' | ||
12802 | - # hardcode_minus_L: Not really in the search PATH, | ||
12803 | - # but as the default location of the library. | ||
12804 | - _LT_TAGVAR(hardcode_minus_L, $1)=yes | ||
12805 | - fi | ||
12806 | - ;; | ||
12807 | - | ||
12808 | - hpux11*) | ||
12809 | - if test "$GCC" = yes -a "$with_gnu_ld" = no; then | ||
12810 | - case $host_cpu in | ||
12811 | - hppa*64*) | ||
12812 | - _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' | ||
12813 | - ;; | ||
12814 | - ia64*) | ||
12815 | - _LT_TAGVAR(archive_cmds, $1)='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' | ||
12816 | - ;; | ||
12817 | - *) | ||
12818 | - _LT_TAGVAR(archive_cmds, $1)='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' | ||
12819 | - ;; | ||
12820 | - esac | ||
12821 | - else | ||
12822 | - case $host_cpu in | ||
12823 | - hppa*64*) | ||
12824 | - _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' | ||
12825 | - ;; | ||
12826 | - ia64*) | ||
12827 | - _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' | ||
12828 | - ;; | ||
12829 | - *) | ||
12830 | - _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' | ||
12831 | - ;; | ||
12832 | - esac | ||
12833 | - fi | ||
12834 | - if test "$with_gnu_ld" = no; then | ||
12835 | - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' | ||
12836 | - _LT_TAGVAR(hardcode_libdir_separator, $1)=: | ||
12837 | - | ||
12838 | - case $host_cpu in | ||
12839 | - hppa*64*|ia64*) | ||
12840 | - _LT_TAGVAR(hardcode_direct, $1)=no | ||
12841 | - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no | ||
12842 | - ;; | ||
12843 | - *) | ||
12844 | - _LT_TAGVAR(hardcode_direct, $1)=yes | ||
12845 | - _LT_TAGVAR(hardcode_direct_absolute, $1)=yes | ||
12846 | - _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' | ||
12847 | - | ||
12848 | - # hardcode_minus_L: Not really in the search PATH, | ||
12849 | - # but as the default location of the library. | ||
12850 | - _LT_TAGVAR(hardcode_minus_L, $1)=yes | ||
12851 | - ;; | ||
12852 | - esac | ||
12853 | - fi | ||
12854 | - ;; | ||
12855 | - | ||
12856 | - irix5* | irix6* | nonstopux*) | ||
12857 | - if test "$GCC" = yes; then | ||
12858 | - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' | ||
12859 | - # Try to use the -exported_symbol ld option, if it does not | ||
12860 | - # work, assume that -exports_file does not work either and | ||
12861 | - # implicitly export all symbols. | ||
12862 | - save_LDFLAGS="$LDFLAGS" | ||
12863 | - LDFLAGS="$LDFLAGS -shared ${wl}-exported_symbol ${wl}foo ${wl}-update_registry ${wl}/dev/null" | ||
12864 | - AC_LINK_IFELSE(int foo(void) {}, | ||
12865 | - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations ${wl}-exports_file ${wl}$export_symbols -o $lib' | ||
12866 | - ) | ||
12867 | - LDFLAGS="$save_LDFLAGS" | ||
12868 | - else | ||
12869 | - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib' | ||
12870 | - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -exports_file $export_symbols -o $lib' | ||
12871 | - fi | ||
12872 | - _LT_TAGVAR(archive_cmds_need_lc, $1)='no' | ||
12873 | - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' | ||
12874 | - _LT_TAGVAR(hardcode_libdir_separator, $1)=: | ||
12875 | - _LT_TAGVAR(inherit_rpath, $1)=yes | ||
12876 | - _LT_TAGVAR(link_all_deplibs, $1)=yes | ||
12877 | - ;; | ||
12878 | - | ||
12879 | - netbsd*) | ||
12880 | - if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then | ||
12881 | - _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out | ||
12882 | - else | ||
12883 | - _LT_TAGVAR(archive_cmds, $1)='$LD -shared -o $lib $libobjs $deplibs $linker_flags' # ELF | ||
12884 | - fi | ||
12885 | - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' | ||
12886 | - _LT_TAGVAR(hardcode_direct, $1)=yes | ||
12887 | - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no | ||
12888 | - ;; | ||
12889 | - | ||
12890 | - newsos6) | ||
12891 | - _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' | ||
12892 | - _LT_TAGVAR(hardcode_direct, $1)=yes | ||
12893 | - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' | ||
12894 | - _LT_TAGVAR(hardcode_libdir_separator, $1)=: | ||
12895 | - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no | ||
12896 | - ;; | ||
12897 | - | ||
12898 | - *nto* | *qnx*) | ||
12899 | - ;; | ||
12900 | - | ||
12901 | - openbsd*) | ||
12902 | - if test -f /usr/libexec/ld.so; then | ||
12903 | - _LT_TAGVAR(hardcode_direct, $1)=yes | ||
12904 | - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no | ||
12905 | - _LT_TAGVAR(hardcode_direct_absolute, $1)=yes | ||
12906 | - if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then | ||
12907 | - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' | ||
12908 | - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols' | ||
12909 | - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' | ||
12910 | - _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' | ||
12911 | - else | ||
12912 | - case $host_os in | ||
12913 | - openbsd[[01]].* | openbsd2.[[0-7]] | openbsd2.[[0-7]].*) | ||
12914 | - _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' | ||
12915 | - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' | ||
12916 | - ;; | ||
12917 | - *) | ||
12918 | - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' | ||
12919 | - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' | ||
12920 | - ;; | ||
12921 | - esac | ||
12922 | - fi | ||
12923 | - else | ||
12924 | - _LT_TAGVAR(ld_shlibs, $1)=no | ||
12925 | - fi | ||
12926 | - ;; | ||
12927 | - | ||
12928 | - os2*) | ||
12929 | - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' | ||
12930 | - _LT_TAGVAR(hardcode_minus_L, $1)=yes | ||
12931 | - _LT_TAGVAR(allow_undefined_flag, $1)=unsupported | ||
12932 | - _LT_TAGVAR(archive_cmds, $1)='$ECHO "LIBRARY $libname INITINSTANCE" > $output_objdir/$libname.def~$ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~$ECHO DATA >> $output_objdir/$libname.def~$ECHO " SINGLE NONSHARED" >> $output_objdir/$libname.def~$ECHO EXPORTS >> $output_objdir/$libname.def~emxexp $libobjs >> $output_objdir/$libname.def~$CC -Zdll -Zcrtdll -o $lib $libobjs $deplibs $compiler_flags $output_objdir/$libname.def' | ||
12933 | - _LT_TAGVAR(old_archive_from_new_cmds, $1)='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def' | ||
12934 | - ;; | ||
12935 | - | ||
12936 | - osf3*) | ||
12937 | - if test "$GCC" = yes; then | ||
12938 | - _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*' | ||
12939 | - _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' | ||
12940 | - else | ||
12941 | - _LT_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*' | ||
12942 | - _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib' | ||
12943 | - fi | ||
12944 | - _LT_TAGVAR(archive_cmds_need_lc, $1)='no' | ||
12945 | - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' | ||
12946 | - _LT_TAGVAR(hardcode_libdir_separator, $1)=: | ||
12947 | - ;; | ||
12948 | - | ||
12949 | - osf4* | osf5*) # as osf3* with the addition of -msym flag | ||
12950 | - if test "$GCC" = yes; then | ||
12951 | - _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*' | ||
12952 | - _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' | ||
12953 | - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' | ||
12954 | - else | ||
12955 | - _LT_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*' | ||
12956 | - _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags -msym -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib' | ||
12957 | - _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~ | ||
12958 | - $CC -shared${allow_undefined_flag} ${wl}-input ${wl}$lib.exp $compiler_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib~$RM $lib.exp' | ||
12959 | - | ||
12960 | - # Both c and cxx compiler support -rpath directly | ||
12961 | - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir' | ||
12962 | - fi | ||
12963 | - _LT_TAGVAR(archive_cmds_need_lc, $1)='no' | ||
12964 | - _LT_TAGVAR(hardcode_libdir_separator, $1)=: | ||
12965 | - ;; | ||
12966 | - | ||
12967 | - solaris*) | ||
12968 | - _LT_TAGVAR(no_undefined_flag, $1)=' -z defs' | ||
12969 | - if test "$GCC" = yes; then | ||
12970 | - wlarc='${wl}' | ||
12971 | - _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-z ${wl}text ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' | ||
12972 | - _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ | ||
12973 | - $CC -shared ${wl}-z ${wl}text ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp' | ||
12974 | - else | ||
12975 | - case `$CC -V 2>&1` in | ||
12976 | - *"Compilers 5.0"*) | ||
12977 | - wlarc='' | ||
12978 | - _LT_TAGVAR(archive_cmds, $1)='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags' | ||
12979 | - _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ | ||
12980 | - $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$RM $lib.exp' | ||
12981 | - ;; | ||
12982 | - *) | ||
12983 | - wlarc='${wl}' | ||
12984 | - _LT_TAGVAR(archive_cmds, $1)='$CC -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $compiler_flags' | ||
12985 | - _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ | ||
12986 | - $CC -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp' | ||
12987 | - ;; | ||
12988 | - esac | ||
12989 | - fi | ||
12990 | - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' | ||
12991 | - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no | ||
12992 | - case $host_os in | ||
12993 | - solaris2.[[0-5]] | solaris2.[[0-5]].*) ;; | ||
12994 | - *) | ||
12995 | - # The compiler driver will combine and reorder linker options, | ||
12996 | - # but understands `-z linker_flag'. GCC discards it without `$wl', | ||
12997 | - # but is careful enough not to reorder. | ||
12998 | - # Supported since Solaris 2.6 (maybe 2.5.1?) | ||
12999 | - if test "$GCC" = yes; then | ||
13000 | - _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract' | ||
13001 | - else | ||
13002 | - _LT_TAGVAR(whole_archive_flag_spec, $1)='-z allextract$convenience -z defaultextract' | ||
13003 | - fi | ||
13004 | - ;; | ||
13005 | - esac | ||
13006 | - _LT_TAGVAR(link_all_deplibs, $1)=yes | ||
13007 | - ;; | ||
13008 | - | ||
13009 | - sunos4*) | ||
13010 | - if test "x$host_vendor" = xsequent; then | ||
13011 | - # Use $CC to link under sequent, because it throws in some extra .o | ||
13012 | - # files that make .init and .fini sections work. | ||
13013 | - _LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h $soname -o $lib $libobjs $deplibs $compiler_flags' | ||
13014 | - else | ||
13015 | - _LT_TAGVAR(archive_cmds, $1)='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags' | ||
13016 | - fi | ||
13017 | - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' | ||
13018 | - _LT_TAGVAR(hardcode_direct, $1)=yes | ||
13019 | - _LT_TAGVAR(hardcode_minus_L, $1)=yes | ||
13020 | - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no | ||
13021 | - ;; | ||
13022 | - | ||
13023 | - sysv4) | ||
13024 | - case $host_vendor in | ||
13025 | - sni) | ||
13026 | - _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' | ||
13027 | - _LT_TAGVAR(hardcode_direct, $1)=yes # is this really true??? | ||
13028 | - ;; | ||
13029 | - siemens) | ||
13030 | - ## LD is ld it makes a PLAMLIB | ||
13031 | - ## CC just makes a GrossModule. | ||
13032 | - _LT_TAGVAR(archive_cmds, $1)='$LD -G -o $lib $libobjs $deplibs $linker_flags' | ||
13033 | - _LT_TAGVAR(reload_cmds, $1)='$CC -r -o $output$reload_objs' | ||
13034 | - _LT_TAGVAR(hardcode_direct, $1)=no | ||
13035 | - ;; | ||
13036 | - motorola) | ||
13037 | - _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' | ||
13038 | - _LT_TAGVAR(hardcode_direct, $1)=no #Motorola manual says yes, but my tests say they lie | ||
13039 | - ;; | ||
13040 | - esac | ||
13041 | - runpath_var='LD_RUN_PATH' | ||
13042 | - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no | ||
13043 | - ;; | ||
13044 | - | ||
13045 | - sysv4.3*) | ||
13046 | - _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' | ||
13047 | - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no | ||
13048 | - _LT_TAGVAR(export_dynamic_flag_spec, $1)='-Bexport' | ||
13049 | - ;; | ||
13050 | - | ||
13051 | - sysv4*MP*) | ||
13052 | - if test -d /usr/nec; then | ||
13053 | - _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' | ||
13054 | - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no | ||
13055 | - runpath_var=LD_RUN_PATH | ||
13056 | - hardcode_runpath_var=yes | ||
13057 | - _LT_TAGVAR(ld_shlibs, $1)=yes | ||
13058 | - fi | ||
13059 | - ;; | ||
13060 | - | ||
13061 | - sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[[01]].[[10]]* | unixware7* | sco3.2v5.0.[[024]]*) | ||
13062 | - _LT_TAGVAR(no_undefined_flag, $1)='${wl}-z,text' | ||
13063 | - _LT_TAGVAR(archive_cmds_need_lc, $1)=no | ||
13064 | - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no | ||
13065 | - runpath_var='LD_RUN_PATH' | ||
13066 | - | ||
13067 | - if test "$GCC" = yes; then | ||
13068 | - _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' | ||
13069 | - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' | ||
13070 | - else | ||
13071 | - _LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' | ||
13072 | - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' | ||
13073 | - fi | ||
13074 | - ;; | ||
13075 | - | ||
13076 | - sysv5* | sco3.2v5* | sco5v6*) | ||
13077 | - # Note: We can NOT use -z defs as we might desire, because we do not | ||
13078 | - # link with -lc, and that would cause any symbols used from libc to | ||
13079 | - # always be unresolved, which means just about no library would | ||
13080 | - # ever link correctly. If we're not using GNU ld we use -z text | ||
13081 | - # though, which does catch some bad symbols but isn't as heavy-handed | ||
13082 | - # as -z defs. | ||
13083 | - _LT_TAGVAR(no_undefined_flag, $1)='${wl}-z,text' | ||
13084 | - _LT_TAGVAR(allow_undefined_flag, $1)='${wl}-z,nodefs' | ||
13085 | - _LT_TAGVAR(archive_cmds_need_lc, $1)=no | ||
13086 | - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no | ||
13087 | - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R,$libdir' | ||
13088 | - _LT_TAGVAR(hardcode_libdir_separator, $1)=':' | ||
13089 | - _LT_TAGVAR(link_all_deplibs, $1)=yes | ||
13090 | - _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-Bexport' | ||
13091 | - runpath_var='LD_RUN_PATH' | ||
13092 | - | ||
13093 | - if test "$GCC" = yes; then | ||
13094 | - _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' | ||
13095 | - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' | ||
13096 | - else | ||
13097 | - _LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' | ||
13098 | - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' | ||
13099 | - fi | ||
13100 | - ;; | ||
13101 | - | ||
13102 | - uts4*) | ||
13103 | - _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' | ||
13104 | - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' | ||
13105 | - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no | ||
13106 | - ;; | ||
13107 | - | ||
13108 | - *) | ||
13109 | - _LT_TAGVAR(ld_shlibs, $1)=no | ||
13110 | - ;; | ||
13111 | - esac | ||
13112 | - | ||
13113 | - if test x$host_vendor = xsni; then | ||
13114 | - case $host in | ||
13115 | - sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*) | ||
13116 | - _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-Blargedynsym' | ||
13117 | - ;; | ||
13118 | - esac | ||
13119 | - fi | ||
13120 | - fi | ||
13121 | -]) | ||
13122 | -AC_MSG_RESULT([$_LT_TAGVAR(ld_shlibs, $1)]) | ||
13123 | -test "$_LT_TAGVAR(ld_shlibs, $1)" = no && can_build_shared=no | ||
13124 | - | ||
13125 | -_LT_TAGVAR(with_gnu_ld, $1)=$with_gnu_ld | ||
13126 | - | ||
13127 | -_LT_DECL([], [libext], [0], [Old archive suffix (normally "a")])dnl | ||
13128 | -_LT_DECL([], [shrext_cmds], [1], [Shared library suffix (normally ".so")])dnl | ||
13129 | -_LT_DECL([], [extract_expsyms_cmds], [2], | ||
13130 | - [The commands to extract the exported symbol list from a shared archive]) | ||
13131 | - | ||
13132 | -# | ||
13133 | -# Do we need to explicitly link libc? | ||
13134 | -# | ||
13135 | -case "x$_LT_TAGVAR(archive_cmds_need_lc, $1)" in | ||
13136 | -x|xyes) | ||
13137 | - # Assume -lc should be added | ||
13138 | - _LT_TAGVAR(archive_cmds_need_lc, $1)=yes | ||
13139 | - | ||
13140 | - if test "$enable_shared" = yes && test "$GCC" = yes; then | ||
13141 | - case $_LT_TAGVAR(archive_cmds, $1) in | ||
13142 | - *'~'*) | ||
13143 | - # FIXME: we may have to deal with multi-command sequences. | ||
13144 | - ;; | ||
13145 | - '$CC '*) | ||
13146 | - # Test whether the compiler implicitly links with -lc since on some | ||
13147 | - # systems, -lgcc has to come before -lc. If gcc already passes -lc | ||
13148 | - # to ld, don't add -lc before -lgcc. | ||
13149 | - AC_MSG_CHECKING([whether -lc should be explicitly linked in]) | ||
13150 | - $RM conftest* | ||
13151 | - echo "$lt_simple_compile_test_code" > conftest.$ac_ext | ||
13152 | - | ||
13153 | - if AC_TRY_EVAL(ac_compile) 2>conftest.err; then | ||
13154 | - soname=conftest | ||
13155 | - lib=conftest | ||
13156 | - libobjs=conftest.$ac_objext | ||
13157 | - deplibs= | ||
13158 | - wl=$_LT_TAGVAR(lt_prog_compiler_wl, $1) | ||
13159 | - pic_flag=$_LT_TAGVAR(lt_prog_compiler_pic, $1) | ||
13160 | - compiler_flags=-v | ||
13161 | - linker_flags=-v | ||
13162 | - verstring= | ||
13163 | - output_objdir=. | ||
13164 | - libname=conftest | ||
13165 | - lt_save_allow_undefined_flag=$_LT_TAGVAR(allow_undefined_flag, $1) | ||
13166 | - _LT_TAGVAR(allow_undefined_flag, $1)= | ||
13167 | - if AC_TRY_EVAL(_LT_TAGVAR(archive_cmds, $1) 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1) | ||
13168 | - then | ||
13169 | - _LT_TAGVAR(archive_cmds_need_lc, $1)=no | ||
13170 | - else | ||
13171 | - _LT_TAGVAR(archive_cmds_need_lc, $1)=yes | ||
13172 | - fi | ||
13173 | - _LT_TAGVAR(allow_undefined_flag, $1)=$lt_save_allow_undefined_flag | ||
13174 | - else | ||
13175 | - cat conftest.err 1>&5 | ||
13176 | - fi | ||
13177 | - $RM conftest* | ||
13178 | - AC_MSG_RESULT([$_LT_TAGVAR(archive_cmds_need_lc, $1)]) | ||
13179 | - ;; | ||
13180 | - esac | ||
13181 | - fi | ||
13182 | - ;; | ||
13183 | -esac | ||
13184 | - | ||
13185 | -_LT_TAGDECL([build_libtool_need_lc], [archive_cmds_need_lc], [0], | ||
13186 | - [Whether or not to add -lc for building shared libraries]) | ||
13187 | -_LT_TAGDECL([allow_libtool_libs_with_static_runtimes], | ||
13188 | - [enable_shared_with_static_runtimes], [0], | ||
13189 | - [Whether or not to disallow shared libs when runtime libs are static]) | ||
13190 | -_LT_TAGDECL([], [export_dynamic_flag_spec], [1], | ||
13191 | - [Compiler flag to allow reflexive dlopens]) | ||
13192 | -_LT_TAGDECL([], [whole_archive_flag_spec], [1], | ||
13193 | - [Compiler flag to generate shared objects directly from archives]) | ||
13194 | -_LT_TAGDECL([], [compiler_needs_object], [1], | ||
13195 | - [Whether the compiler copes with passing no objects directly]) | ||
13196 | -_LT_TAGDECL([], [old_archive_from_new_cmds], [2], | ||
13197 | - [Create an old-style archive from a shared archive]) | ||
13198 | -_LT_TAGDECL([], [old_archive_from_expsyms_cmds], [2], | ||
13199 | - [Create a temporary old-style archive to link instead of a shared archive]) | ||
13200 | -_LT_TAGDECL([], [archive_cmds], [2], [Commands used to build a shared archive]) | ||
13201 | -_LT_TAGDECL([], [archive_expsym_cmds], [2]) | ||
13202 | -_LT_TAGDECL([], [module_cmds], [2], | ||
13203 | - [Commands used to build a loadable module if different from building | ||
13204 | - a shared archive.]) | ||
13205 | -_LT_TAGDECL([], [module_expsym_cmds], [2]) | ||
13206 | -_LT_TAGDECL([], [with_gnu_ld], [1], | ||
13207 | - [Whether we are building with GNU ld or not]) | ||
13208 | -_LT_TAGDECL([], [allow_undefined_flag], [1], | ||
13209 | - [Flag that allows shared libraries with undefined symbols to be built]) | ||
13210 | -_LT_TAGDECL([], [no_undefined_flag], [1], | ||
13211 | - [Flag that enforces no undefined symbols]) | ||
13212 | -_LT_TAGDECL([], [hardcode_libdir_flag_spec], [1], | ||
13213 | - [Flag to hardcode $libdir into a binary during linking. | ||
13214 | - This must work even if $libdir does not exist]) | ||
13215 | -_LT_TAGDECL([], [hardcode_libdir_flag_spec_ld], [1], | ||
13216 | - [[If ld is used when linking, flag to hardcode $libdir into a binary | ||
13217 | - during linking. This must work even if $libdir does not exist]]) | ||
13218 | -_LT_TAGDECL([], [hardcode_libdir_separator], [1], | ||
13219 | - [Whether we need a single "-rpath" flag with a separated argument]) | ||
13220 | -_LT_TAGDECL([], [hardcode_direct], [0], | ||
13221 | - [Set to "yes" if using DIR/libNAME${shared_ext} during linking hardcodes | ||
13222 | - DIR into the resulting binary]) | ||
13223 | -_LT_TAGDECL([], [hardcode_direct_absolute], [0], | ||
13224 | - [Set to "yes" if using DIR/libNAME${shared_ext} during linking hardcodes | ||
13225 | - DIR into the resulting binary and the resulting library dependency is | ||
13226 | - "absolute", i.e impossible to change by setting ${shlibpath_var} if the | ||
13227 | - library is relocated]) | ||
13228 | -_LT_TAGDECL([], [hardcode_minus_L], [0], | ||
13229 | - [Set to "yes" if using the -LDIR flag during linking hardcodes DIR | ||
13230 | - into the resulting binary]) | ||
13231 | -_LT_TAGDECL([], [hardcode_shlibpath_var], [0], | ||
13232 | - [Set to "yes" if using SHLIBPATH_VAR=DIR during linking hardcodes DIR | ||
13233 | - into the resulting binary]) | ||
13234 | -_LT_TAGDECL([], [hardcode_automatic], [0], | ||
13235 | - [Set to "yes" if building a shared library automatically hardcodes DIR | ||
13236 | - into the library and all subsequent libraries and executables linked | ||
13237 | - against it]) | ||
13238 | -_LT_TAGDECL([], [inherit_rpath], [0], | ||
13239 | - [Set to yes if linker adds runtime paths of dependent libraries | ||
13240 | - to runtime path list]) | ||
13241 | -_LT_TAGDECL([], [link_all_deplibs], [0], | ||
13242 | - [Whether libtool must link a program against all its dependency libraries]) | ||
13243 | -_LT_TAGDECL([], [fix_srcfile_path], [1], | ||
13244 | - [Fix the shell variable $srcfile for the compiler]) | ||
13245 | -_LT_TAGDECL([], [always_export_symbols], [0], | ||
13246 | - [Set to "yes" if exported symbols are required]) | ||
13247 | -_LT_TAGDECL([], [export_symbols_cmds], [2], | ||
13248 | - [The commands to list exported symbols]) | ||
13249 | -_LT_TAGDECL([], [exclude_expsyms], [1], | ||
13250 | - [Symbols that should not be listed in the preloaded symbols]) | ||
13251 | -_LT_TAGDECL([], [include_expsyms], [1], | ||
13252 | - [Symbols that must always be exported]) | ||
13253 | -_LT_TAGDECL([], [prelink_cmds], [2], | ||
13254 | - [Commands necessary for linking programs (against libraries) with templates]) | ||
13255 | -_LT_TAGDECL([], [file_list_spec], [1], | ||
13256 | - [Specify filename containing input files]) | ||
13257 | -dnl FIXME: Not yet implemented | ||
13258 | -dnl _LT_TAGDECL([], [thread_safe_flag_spec], [1], | ||
13259 | -dnl [Compiler flag to generate thread safe objects]) | ||
13260 | -])# _LT_LINKER_SHLIBS | ||
13261 | - | ||
13262 | - | ||
13263 | -# _LT_LANG_C_CONFIG([TAG]) | ||
13264 | -# ------------------------ | ||
13265 | -# Ensure that the configuration variables for a C compiler are suitably | ||
13266 | -# defined. These variables are subsequently used by _LT_CONFIG to write | ||
13267 | -# the compiler configuration to `libtool'. | ||
13268 | -m4_defun([_LT_LANG_C_CONFIG], | ||
13269 | -[m4_require([_LT_DECL_EGREP])dnl | ||
13270 | -lt_save_CC="$CC" | ||
13271 | -AC_LANG_PUSH(C) | ||
13272 | - | ||
13273 | -# Source file extension for C test sources. | ||
13274 | -ac_ext=c | ||
13275 | - | ||
13276 | -# Object file extension for compiled C test sources. | ||
13277 | -objext=o | ||
13278 | -_LT_TAGVAR(objext, $1)=$objext | ||
13279 | - | ||
13280 | -# Code to be used in simple compile tests | ||
13281 | -lt_simple_compile_test_code="int some_variable = 0;" | ||
13282 | - | ||
13283 | -# Code to be used in simple link tests | ||
13284 | -lt_simple_link_test_code='int main(){return(0);}' | ||
13285 | - | ||
13286 | -_LT_TAG_COMPILER | ||
13287 | -# Save the default compiler, since it gets overwritten when the other | ||
13288 | -# tags are being tested, and _LT_TAGVAR(compiler, []) is a NOP. | ||
13289 | -compiler_DEFAULT=$CC | ||
13290 | - | ||
13291 | -# save warnings/boilerplate of simple test code | ||
13292 | -_LT_COMPILER_BOILERPLATE | ||
13293 | -_LT_LINKER_BOILERPLATE | ||
13294 | - | ||
13295 | -## CAVEAT EMPTOR: | ||
13296 | -## There is no encapsulation within the following macros, do not change | ||
13297 | -## the running order or otherwise move them around unless you know exactly | ||
13298 | -## what you are doing... | ||
13299 | -if test -n "$compiler"; then | ||
13300 | - _LT_COMPILER_NO_RTTI($1) | ||
13301 | - _LT_COMPILER_PIC($1) | ||
13302 | - _LT_COMPILER_C_O($1) | ||
13303 | - _LT_COMPILER_FILE_LOCKS($1) | ||
13304 | - _LT_LINKER_SHLIBS($1) | ||
13305 | - _LT_SYS_DYNAMIC_LINKER($1) | ||
13306 | - _LT_LINKER_HARDCODE_LIBPATH($1) | ||
13307 | - LT_SYS_DLOPEN_SELF | ||
13308 | - _LT_CMD_STRIPLIB | ||
13309 | - | ||
13310 | - # Report which library types will actually be built | ||
13311 | - AC_MSG_CHECKING([if libtool supports shared libraries]) | ||
13312 | - AC_MSG_RESULT([$can_build_shared]) | ||
13313 | - | ||
13314 | - AC_MSG_CHECKING([whether to build shared libraries]) | ||
13315 | - test "$can_build_shared" = "no" && enable_shared=no | ||
13316 | - | ||
13317 | - # On AIX, shared libraries and static libraries use the same namespace, and | ||
13318 | - # are all built from PIC. | ||
13319 | - case $host_os in | ||
13320 | - aix3*) | ||
13321 | - test "$enable_shared" = yes && enable_static=no | ||
13322 | - if test -n "$RANLIB"; then | ||
13323 | - archive_cmds="$archive_cmds~\$RANLIB \$lib" | ||
13324 | - postinstall_cmds='$RANLIB $lib' | ||
13325 | - fi | ||
13326 | - ;; | ||
13327 | - | ||
13328 | - aix[[4-9]]*) | ||
13329 | - if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then | ||
13330 | - test "$enable_shared" = yes && enable_static=no | ||
13331 | - fi | ||
13332 | - ;; | ||
13333 | - esac | ||
13334 | - AC_MSG_RESULT([$enable_shared]) | ||
13335 | - | ||
13336 | - AC_MSG_CHECKING([whether to build static libraries]) | ||
13337 | - # Make sure either enable_shared or enable_static is yes. | ||
13338 | - test "$enable_shared" = yes || enable_static=yes | ||
13339 | - AC_MSG_RESULT([$enable_static]) | ||
13340 | - | ||
13341 | - _LT_CONFIG($1) | ||
13342 | -fi | ||
13343 | -AC_LANG_POP | ||
13344 | -CC="$lt_save_CC" | ||
13345 | -])# _LT_LANG_C_CONFIG | ||
13346 | - | ||
13347 | - | ||
13348 | -# _LT_PROG_CXX | ||
13349 | -# ------------ | ||
13350 | -# Since AC_PROG_CXX is broken, in that it returns g++ if there is no c++ | ||
13351 | -# compiler, we have our own version here. | ||
13352 | -m4_defun([_LT_PROG_CXX], | ||
13353 | -[ | ||
13354 | -pushdef([AC_MSG_ERROR], [_lt_caught_CXX_error=yes]) | ||
13355 | -AC_PROG_CXX | ||
13356 | -if test -n "$CXX" && ( test "X$CXX" != "Xno" && | ||
13357 | - ( (test "X$CXX" = "Xg++" && `g++ -v >/dev/null 2>&1` ) || | ||
13358 | - (test "X$CXX" != "Xg++"))) ; then | ||
13359 | - AC_PROG_CXXCPP | ||
13360 | -else | ||
13361 | - _lt_caught_CXX_error=yes | ||
13362 | -fi | ||
13363 | -popdef([AC_MSG_ERROR]) | ||
13364 | -])# _LT_PROG_CXX | ||
13365 | - | ||
13366 | -dnl aclocal-1.4 backwards compatibility: | ||
13367 | -dnl AC_DEFUN([_LT_PROG_CXX], []) | ||
13368 | - | ||
13369 | - | ||
13370 | -# _LT_LANG_CXX_CONFIG([TAG]) | ||
13371 | -# -------------------------- | ||
13372 | -# Ensure that the configuration variables for a C++ compiler are suitably | ||
13373 | -# defined. These variables are subsequently used by _LT_CONFIG to write | ||
13374 | -# the compiler configuration to `libtool'. | ||
13375 | -m4_defun([_LT_LANG_CXX_CONFIG], | ||
13376 | -[AC_REQUIRE([_LT_PROG_CXX])dnl | ||
13377 | -m4_require([_LT_FILEUTILS_DEFAULTS])dnl | ||
13378 | -m4_require([_LT_DECL_EGREP])dnl | ||
13379 | - | ||
13380 | -AC_LANG_PUSH(C++) | ||
13381 | -_LT_TAGVAR(archive_cmds_need_lc, $1)=no | ||
13382 | -_LT_TAGVAR(allow_undefined_flag, $1)= | ||
13383 | -_LT_TAGVAR(always_export_symbols, $1)=no | ||
13384 | -_LT_TAGVAR(archive_expsym_cmds, $1)= | ||
13385 | -_LT_TAGVAR(compiler_needs_object, $1)=no | ||
13386 | -_LT_TAGVAR(export_dynamic_flag_spec, $1)= | ||
13387 | -_LT_TAGVAR(hardcode_direct, $1)=no | ||
13388 | -_LT_TAGVAR(hardcode_direct_absolute, $1)=no | ||
13389 | -_LT_TAGVAR(hardcode_libdir_flag_spec, $1)= | ||
13390 | -_LT_TAGVAR(hardcode_libdir_flag_spec_ld, $1)= | ||
13391 | -_LT_TAGVAR(hardcode_libdir_separator, $1)= | ||
13392 | -_LT_TAGVAR(hardcode_minus_L, $1)=no | ||
13393 | -_LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported | ||
13394 | -_LT_TAGVAR(hardcode_automatic, $1)=no | ||
13395 | -_LT_TAGVAR(inherit_rpath, $1)=no | ||
13396 | -_LT_TAGVAR(module_cmds, $1)= | ||
13397 | -_LT_TAGVAR(module_expsym_cmds, $1)= | ||
13398 | -_LT_TAGVAR(link_all_deplibs, $1)=unknown | ||
13399 | -_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds | ||
13400 | -_LT_TAGVAR(no_undefined_flag, $1)= | ||
13401 | -_LT_TAGVAR(whole_archive_flag_spec, $1)= | ||
13402 | -_LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no | ||
13403 | - | ||
13404 | -# Source file extension for C++ test sources. | ||
13405 | -ac_ext=cpp | ||
13406 | - | ||
13407 | -# Object file extension for compiled C++ test sources. | ||
13408 | -objext=o | ||
13409 | -_LT_TAGVAR(objext, $1)=$objext | ||
13410 | - | ||
13411 | -# No sense in running all these tests if we already determined that | ||
13412 | -# the CXX compiler isn't working. Some variables (like enable_shared) | ||
13413 | -# are currently assumed to apply to all compilers on this platform, | ||
13414 | -# and will be corrupted by setting them based on a non-working compiler. | ||
13415 | -if test "$_lt_caught_CXX_error" != yes; then | ||
13416 | - # Code to be used in simple compile tests | ||
13417 | - lt_simple_compile_test_code="int some_variable = 0;" | ||
13418 | - | ||
13419 | - # Code to be used in simple link tests | ||
13420 | - lt_simple_link_test_code='int main(int, char *[[]]) { return(0); }' | ||
13421 | - | ||
13422 | - # ltmain only uses $CC for tagged configurations so make sure $CC is set. | ||
13423 | - _LT_TAG_COMPILER | ||
13424 | - | ||
13425 | - # save warnings/boilerplate of simple test code | ||
13426 | - _LT_COMPILER_BOILERPLATE | ||
13427 | - _LT_LINKER_BOILERPLATE | ||
13428 | - | ||
13429 | - # Allow CC to be a program name with arguments. | ||
13430 | - lt_save_CC=$CC | ||
13431 | - lt_save_LD=$LD | ||
13432 | - lt_save_GCC=$GCC | ||
13433 | - GCC=$GXX | ||
13434 | - lt_save_with_gnu_ld=$with_gnu_ld | ||
13435 | - lt_save_path_LD=$lt_cv_path_LD | ||
13436 | - if test -n "${lt_cv_prog_gnu_ldcxx+set}"; then | ||
13437 | - lt_cv_prog_gnu_ld=$lt_cv_prog_gnu_ldcxx | ||
13438 | - else | ||
13439 | - $as_unset lt_cv_prog_gnu_ld | ||
13440 | - fi | ||
13441 | - if test -n "${lt_cv_path_LDCXX+set}"; then | ||
13442 | - lt_cv_path_LD=$lt_cv_path_LDCXX | ||
13443 | - else | ||
13444 | - $as_unset lt_cv_path_LD | ||
13445 | - fi | ||
13446 | - test -z "${LDCXX+set}" || LD=$LDCXX | ||
13447 | - CC=${CXX-"c++"} | ||
13448 | - compiler=$CC | ||
13449 | - _LT_TAGVAR(compiler, $1)=$CC | ||
13450 | - _LT_CC_BASENAME([$compiler]) | ||
13451 | - | ||
13452 | - if test -n "$compiler"; then | ||
13453 | - # We don't want -fno-exception when compiling C++ code, so set the | ||
13454 | - # no_builtin_flag separately | ||
13455 | - if test "$GXX" = yes; then | ||
13456 | - _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -fno-builtin' | ||
13457 | - else | ||
13458 | - _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)= | ||
13459 | - fi | ||
13460 | - | ||
13461 | - if test "$GXX" = yes; then | ||
13462 | - # Set up default GNU C++ configuration | ||
13463 | - | ||
13464 | - LT_PATH_LD | ||
13465 | - | ||
13466 | - # Check if GNU C++ uses GNU ld as the underlying linker, since the | ||
13467 | - # archiving commands below assume that GNU ld is being used. | ||
13468 | - if test "$with_gnu_ld" = yes; then | ||
13469 | - _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib' | ||
13470 | - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' | ||
13471 | - | ||
13472 | - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' | ||
13473 | - _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' | ||
13474 | - | ||
13475 | - # If archive_cmds runs LD, not CC, wlarc should be empty | ||
13476 | - # XXX I think wlarc can be eliminated in ltcf-cxx, but I need to | ||
13477 | - # investigate it a little bit more. (MM) | ||
13478 | - wlarc='${wl}' | ||
13479 | - | ||
13480 | - # ancient GNU ld didn't support --whole-archive et. al. | ||
13481 | - if eval "`$CC -print-prog-name=ld` --help 2>&1" | | ||
13482 | - $GREP 'no-whole-archive' > /dev/null; then | ||
13483 | - _LT_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' | ||
13484 | - else | ||
13485 | - _LT_TAGVAR(whole_archive_flag_spec, $1)= | ||
13486 | - fi | ||
13487 | - else | ||
13488 | - with_gnu_ld=no | ||
13489 | - wlarc= | ||
13490 | - | ||
13491 | - # A generic and very simple default shared library creation | ||
13492 | - # command for GNU C++ for the case where it uses the native | ||
13493 | - # linker, instead of GNU ld. If possible, this setting should | ||
13494 | - # overridden to take advantage of the native linker features on | ||
13495 | - # the platform it is being used on. | ||
13496 | - _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib' | ||
13497 | - fi | ||
13498 | - | ||
13499 | - # Commands to make compiler produce verbose output that lists | ||
13500 | - # what "hidden" libraries, object files and flags are used when | ||
13501 | - # linking a shared library. | ||
13502 | - output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "\-L"' | ||
13503 | - | ||
13504 | - else | ||
13505 | - GXX=no | ||
13506 | - with_gnu_ld=no | ||
13507 | - wlarc= | ||
13508 | - fi | ||
13509 | - | ||
13510 | - # PORTME: fill in a description of your system's C++ link characteristics | ||
13511 | - AC_MSG_CHECKING([whether the $compiler linker ($LD) supports shared libraries]) | ||
13512 | - _LT_TAGVAR(ld_shlibs, $1)=yes | ||
13513 | - case $host_os in | ||
13514 | - aix3*) | ||
13515 | - # FIXME: insert proper C++ library support | ||
13516 | - _LT_TAGVAR(ld_shlibs, $1)=no | ||
13517 | - ;; | ||
13518 | - aix[[4-9]]*) | ||
13519 | - if test "$host_cpu" = ia64; then | ||
13520 | - # On IA64, the linker does run time linking by default, so we don't | ||
13521 | - # have to do anything special. | ||
13522 | - aix_use_runtimelinking=no | ||
13523 | - exp_sym_flag='-Bexport' | ||
13524 | - no_entry_flag="" | ||
13525 | - else | ||
13526 | - aix_use_runtimelinking=no | ||
13527 | - | ||
13528 | - # Test if we are trying to use run time linking or normal | ||
13529 | - # AIX style linking. If -brtl is somewhere in LDFLAGS, we | ||
13530 | - # need to do runtime linking. | ||
13531 | - case $host_os in aix4.[[23]]|aix4.[[23]].*|aix[[5-9]]*) | ||
13532 | - for ld_flag in $LDFLAGS; do | ||
13533 | - case $ld_flag in | ||
13534 | - *-brtl*) | ||
13535 | - aix_use_runtimelinking=yes | ||
13536 | - break | ||
13537 | - ;; | ||
13538 | - esac | ||
13539 | - done | ||
13540 | - ;; | ||
13541 | - esac | ||
13542 | - | ||
13543 | - exp_sym_flag='-bexport' | ||
13544 | - no_entry_flag='-bnoentry' | ||
13545 | - fi | ||
13546 | - | ||
13547 | - # When large executables or shared objects are built, AIX ld can | ||
13548 | - # have problems creating the table of contents. If linking a library | ||
13549 | - # or program results in "error TOC overflow" add -mminimal-toc to | ||
13550 | - # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not | ||
13551 | - # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. | ||
13552 | - | ||
13553 | - _LT_TAGVAR(archive_cmds, $1)='' | ||
13554 | - _LT_TAGVAR(hardcode_direct, $1)=yes | ||
13555 | - _LT_TAGVAR(hardcode_direct_absolute, $1)=yes | ||
13556 | - _LT_TAGVAR(hardcode_libdir_separator, $1)=':' | ||
13557 | - _LT_TAGVAR(link_all_deplibs, $1)=yes | ||
13558 | - _LT_TAGVAR(file_list_spec, $1)='${wl}-f,' | ||
13559 | - | ||
13560 | - if test "$GXX" = yes; then | ||
13561 | - case $host_os in aix4.[[012]]|aix4.[[012]].*) | ||
13562 | - # We only want to do this on AIX 4.2 and lower, the check | ||
13563 | - # below for broken collect2 doesn't work under 4.3+ | ||
13564 | - collect2name=`${CC} -print-prog-name=collect2` | ||
13565 | - if test -f "$collect2name" && | ||
13566 | - strings "$collect2name" | $GREP resolve_lib_name >/dev/null | ||
13567 | - then | ||
13568 | - # We have reworked collect2 | ||
13569 | - : | ||
13570 | - else | ||
13571 | - # We have old collect2 | ||
13572 | - _LT_TAGVAR(hardcode_direct, $1)=unsupported | ||
13573 | - # It fails to find uninstalled libraries when the uninstalled | ||
13574 | - # path is not listed in the libpath. Setting hardcode_minus_L | ||
13575 | - # to unsupported forces relinking | ||
13576 | - _LT_TAGVAR(hardcode_minus_L, $1)=yes | ||
13577 | - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' | ||
13578 | - _LT_TAGVAR(hardcode_libdir_separator, $1)= | ||
13579 | - fi | ||
13580 | - esac | ||
13581 | - shared_flag='-shared' | ||
13582 | - if test "$aix_use_runtimelinking" = yes; then | ||
13583 | - shared_flag="$shared_flag "'${wl}-G' | ||
13584 | - fi | ||
13585 | - else | ||
13586 | - # not using gcc | ||
13587 | - if test "$host_cpu" = ia64; then | ||
13588 | - # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release | ||
13589 | - # chokes on -Wl,-G. The following line is correct: | ||
13590 | - shared_flag='-G' | ||
13591 | - else | ||
13592 | - if test "$aix_use_runtimelinking" = yes; then | ||
13593 | - shared_flag='${wl}-G' | ||
13594 | - else | ||
13595 | - shared_flag='${wl}-bM:SRE' | ||
13596 | - fi | ||
13597 | - fi | ||
13598 | - fi | ||
13599 | - | ||
13600 | - _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-bexpall' | ||
13601 | - # It seems that -bexpall does not export symbols beginning with | ||
13602 | - # underscore (_), so it is better to generate a list of symbols to | ||
13603 | - # export. | ||
13604 | - _LT_TAGVAR(always_export_symbols, $1)=yes | ||
13605 | - if test "$aix_use_runtimelinking" = yes; then | ||
13606 | - # Warning - without using the other runtime loading flags (-brtl), | ||
13607 | - # -berok will link without error, but may produce a broken library. | ||
13608 | - _LT_TAGVAR(allow_undefined_flag, $1)='-berok' | ||
13609 | - # Determine the default libpath from the value encoded in an empty | ||
13610 | - # executable. | ||
13611 | - _LT_SYS_MODULE_PATH_AIX | ||
13612 | - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath" | ||
13613 | - | ||
13614 | - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then $ECHO "X${wl}${allow_undefined_flag}" | $Xsed; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag" | ||
13615 | - else | ||
13616 | - if test "$host_cpu" = ia64; then | ||
13617 | - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $libdir:/usr/lib:/lib' | ||
13618 | - _LT_TAGVAR(allow_undefined_flag, $1)="-z nodefs" | ||
13619 | - _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" | ||
13620 | - else | ||
13621 | - # Determine the default libpath from the value encoded in an | ||
13622 | - # empty executable. | ||
13623 | - _LT_SYS_MODULE_PATH_AIX | ||
13624 | - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath" | ||
13625 | - # Warning - without using the other run time loading flags, | ||
13626 | - # -berok will link without error, but may produce a broken library. | ||
13627 | - _LT_TAGVAR(no_undefined_flag, $1)=' ${wl}-bernotok' | ||
13628 | - _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-berok' | ||
13629 | - # Exported symbols can be pulled into shared objects from archives | ||
13630 | - _LT_TAGVAR(whole_archive_flag_spec, $1)='$convenience' | ||
13631 | - _LT_TAGVAR(archive_cmds_need_lc, $1)=yes | ||
13632 | - # This is similar to how AIX traditionally builds its shared | ||
13633 | - # libraries. | ||
13634 | - _LT_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname' | ||
13635 | - fi | ||
13636 | - fi | ||
13637 | - ;; | ||
13638 | - | ||
13639 | - beos*) | ||
13640 | - if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then | ||
13641 | - _LT_TAGVAR(allow_undefined_flag, $1)=unsupported | ||
13642 | - # Joseph Beckenbach <jrb3@best.com> says some releases of gcc | ||
13643 | - # support --undefined. This deserves some investigation. FIXME | ||
13644 | - _LT_TAGVAR(archive_cmds, $1)='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' | ||
13645 | - else | ||
13646 | - _LT_TAGVAR(ld_shlibs, $1)=no | ||
13647 | - fi | ||
13648 | - ;; | ||
13649 | - | ||
13650 | - chorus*) | ||
13651 | - case $cc_basename in | ||
13652 | - *) | ||
13653 | - # FIXME: insert proper C++ library support | ||
13654 | - _LT_TAGVAR(ld_shlibs, $1)=no | ||
13655 | - ;; | ||
13656 | - esac | ||
13657 | - ;; | ||
13658 | - | ||
13659 | - cygwin* | mingw* | pw32* | cegcc*) | ||
13660 | - # _LT_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless, | ||
13661 | - # as there is no search path for DLLs. | ||
13662 | - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' | ||
13663 | - _LT_TAGVAR(allow_undefined_flag, $1)=unsupported | ||
13664 | - _LT_TAGVAR(always_export_symbols, $1)=no | ||
13665 | - _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes | ||
13666 | - | ||
13667 | - if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then | ||
13668 | - _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' | ||
13669 | - # If the export-symbols file already is a .def file (1st line | ||
13670 | - # is EXPORTS), use it as is; otherwise, prepend... | ||
13671 | - _LT_TAGVAR(archive_expsym_cmds, $1)='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then | ||
13672 | - cp $export_symbols $output_objdir/$soname.def; | ||
13673 | - else | ||
13674 | - echo EXPORTS > $output_objdir/$soname.def; | ||
13675 | - cat $export_symbols >> $output_objdir/$soname.def; | ||
13676 | - fi~ | ||
13677 | - $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' | ||
13678 | - else | ||
13679 | - _LT_TAGVAR(ld_shlibs, $1)=no | ||
13680 | - fi | ||
13681 | - ;; | ||
13682 | - darwin* | rhapsody*) | ||
13683 | - _LT_DARWIN_LINKER_FEATURES($1) | ||
13684 | - ;; | ||
13685 | - | ||
13686 | - dgux*) | ||
13687 | - case $cc_basename in | ||
13688 | - ec++*) | ||
13689 | - # FIXME: insert proper C++ library support | ||
13690 | - _LT_TAGVAR(ld_shlibs, $1)=no | ||
13691 | - ;; | ||
13692 | - ghcx*) | ||
13693 | - # Green Hills C++ Compiler | ||
13694 | - # FIXME: insert proper C++ library support | ||
13695 | - _LT_TAGVAR(ld_shlibs, $1)=no | ||
13696 | - ;; | ||
13697 | - *) | ||
13698 | - # FIXME: insert proper C++ library support | ||
13699 | - _LT_TAGVAR(ld_shlibs, $1)=no | ||
13700 | - ;; | ||
13701 | - esac | ||
13702 | - ;; | ||
13703 | - | ||
13704 | - freebsd[[12]]*) | ||
13705 | - # C++ shared libraries reported to be fairly broken before | ||
13706 | - # switch to ELF | ||
13707 | - _LT_TAGVAR(ld_shlibs, $1)=no | ||
13708 | - ;; | ||
13709 | - | ||
13710 | - freebsd-elf*) | ||
13711 | - _LT_TAGVAR(archive_cmds_need_lc, $1)=no | ||
13712 | - ;; | ||
13713 | - | ||
13714 | - freebsd* | dragonfly*) | ||
13715 | - # FreeBSD 3 and later use GNU C++ and GNU ld with standard ELF | ||
13716 | - # conventions | ||
13717 | - _LT_TAGVAR(ld_shlibs, $1)=yes | ||
13718 | - ;; | ||
13719 | - | ||
13720 | - gnu*) | ||
13721 | - ;; | ||
13722 | - | ||
13723 | - hpux9*) | ||
13724 | - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' | ||
13725 | - _LT_TAGVAR(hardcode_libdir_separator, $1)=: | ||
13726 | - _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' | ||
13727 | - _LT_TAGVAR(hardcode_direct, $1)=yes | ||
13728 | - _LT_TAGVAR(hardcode_minus_L, $1)=yes # Not in the search PATH, | ||
13729 | - # but as the default | ||
13730 | - # location of the library. | ||
13731 | - | ||
13732 | - case $cc_basename in | ||
13733 | - CC*) | ||
13734 | - # FIXME: insert proper C++ library support | ||
13735 | - _LT_TAGVAR(ld_shlibs, $1)=no | ||
13736 | - ;; | ||
13737 | - aCC*) | ||
13738 | - _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 $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' | ||
13739 | - # Commands to make compiler produce verbose output that lists | ||
13740 | - # what "hidden" libraries, object files and flags are used when | ||
13741 | - # linking a shared library. | ||
13742 | - # | ||
13743 | - # There doesn't appear to be a way to prevent this compiler from | ||
13744 | - # explicitly linking system object files so we need to strip them | ||
13745 | - # from the output so that they don't get included in the library | ||
13746 | - # dependencies. | ||
13747 | - 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; $ECHO "X$list" | $Xsed' | ||
13748 | - ;; | ||
13749 | - *) | ||
13750 | - if test "$GXX" = yes; then | ||
13751 | - _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$CC -shared -nostdlib -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' | ||
13752 | - else | ||
13753 | - # FIXME: insert proper C++ library support | ||
13754 | - _LT_TAGVAR(ld_shlibs, $1)=no | ||
13755 | - fi | ||
13756 | - ;; | ||
13757 | - esac | ||
13758 | - ;; | ||
13759 | - | ||
13760 | - hpux10*|hpux11*) | ||
13761 | - if test $with_gnu_ld = no; then | ||
13762 | - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' | ||
13763 | - _LT_TAGVAR(hardcode_libdir_separator, $1)=: | ||
13764 | - | ||
13765 | - case $host_cpu in | ||
13766 | - hppa*64*|ia64*) | ||
13767 | - ;; | ||
13768 | - *) | ||
13769 | - _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' | ||
13770 | - ;; | ||
13771 | - esac | ||
13772 | - fi | ||
13773 | - case $host_cpu in | ||
13774 | - hppa*64*|ia64*) | ||
13775 | - _LT_TAGVAR(hardcode_direct, $1)=no | ||
13776 | - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no | ||
13777 | - ;; | ||
13778 | - *) | ||
13779 | - _LT_TAGVAR(hardcode_direct, $1)=yes | ||
13780 | - _LT_TAGVAR(hardcode_direct_absolute, $1)=yes | ||
13781 | - _LT_TAGVAR(hardcode_minus_L, $1)=yes # Not in the search PATH, | ||
13782 | - # but as the default | ||
13783 | - # location of the library. | ||
13784 | - ;; | ||
13785 | - esac | ||
13786 | - | ||
13787 | - case $cc_basename in | ||
13788 | - CC*) | ||
13789 | - # FIXME: insert proper C++ library support | ||
13790 | - _LT_TAGVAR(ld_shlibs, $1)=no | ||
13791 | - ;; | ||
13792 | - aCC*) | ||
13793 | - case $host_cpu in | ||
13794 | - hppa*64*) | ||
13795 | - _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' | ||
13796 | - ;; | ||
13797 | - ia64*) | ||
13798 | - _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' | ||
13799 | - ;; | ||
13800 | - *) | ||
13801 | - _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' | ||
13802 | - ;; | ||
13803 | - esac | ||
13804 | - # Commands to make compiler produce verbose output that lists | ||
13805 | - # what "hidden" libraries, object files and flags are used when | ||
13806 | - # linking a shared library. | ||
13807 | - # | ||
13808 | - # There doesn't appear to be a way to prevent this compiler from | ||
13809 | - # explicitly linking system object files so we need to strip them | ||
13810 | - # from the output so that they don't get included in the library | ||
13811 | - # dependencies. | ||
13812 | - output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $GREP "\-L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; $ECHO "X$list" | $Xsed' | ||
13813 | - ;; | ||
13814 | - *) | ||
13815 | - if test "$GXX" = yes; then | ||
13816 | - if test $with_gnu_ld = no; then | ||
13817 | - case $host_cpu in | ||
13818 | - hppa*64*) | ||
13819 | - _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' | ||
13820 | - ;; | ||
13821 | - ia64*) | ||
13822 | - _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' | ||
13823 | - ;; | ||
13824 | - *) | ||
13825 | - _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' | ||
13826 | - ;; | ||
13827 | - esac | ||
13828 | - fi | ||
13829 | - else | ||
13830 | - # FIXME: insert proper C++ library support | ||
13831 | - _LT_TAGVAR(ld_shlibs, $1)=no | ||
13832 | - fi | ||
13833 | - ;; | ||
13834 | - esac | ||
13835 | - ;; | ||
13836 | - | ||
13837 | - interix[[3-9]]*) | ||
13838 | - _LT_TAGVAR(hardcode_direct, $1)=no | ||
13839 | - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no | ||
13840 | - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' | ||
13841 | - _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' | ||
13842 | - # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. | ||
13843 | - # Instead, shared libraries are loaded at an image base (0x10000000 by | ||
13844 | - # default) and relocated if they conflict, which is a slow very memory | ||
13845 | - # consuming and fragmenting process. To avoid this, we pick a random, | ||
13846 | - # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link | ||
13847 | - # time. Moving up from 0x10000000 also allows more sbrk(2) space. | ||
13848 | - _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' | ||
13849 | - _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' | ||
13850 | - ;; | ||
13851 | - irix5* | irix6*) | ||
13852 | - case $cc_basename in | ||
13853 | - CC*) | ||
13854 | - # SGI C++ | ||
13855 | - _LT_TAGVAR(archive_cmds, $1)='$CC -shared -all -multigot $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib' | ||
13856 | - | ||
13857 | - # Archives containing C++ object files must be created using | ||
13858 | - # "CC -ar", where "CC" is the IRIX C++ compiler. This is | ||
13859 | - # necessary to make sure instantiated templates are included | ||
13860 | - # in the archive. | ||
13861 | - _LT_TAGVAR(old_archive_cmds, $1)='$CC -ar -WR,-u -o $oldlib $oldobjs' | ||
13862 | - ;; | ||
13863 | - *) | ||
13864 | - if test "$GXX" = yes; then | ||
13865 | - if test "$with_gnu_ld" = no; then | ||
13866 | - _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' | ||
13867 | - else | ||
13868 | - _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` -o $lib' | ||
13869 | - fi | ||
13870 | - fi | ||
13871 | - _LT_TAGVAR(link_all_deplibs, $1)=yes | ||
13872 | - ;; | ||
13873 | - esac | ||
13874 | - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' | ||
13875 | - _LT_TAGVAR(hardcode_libdir_separator, $1)=: | ||
13876 | - _LT_TAGVAR(inherit_rpath, $1)=yes | ||
13877 | - ;; | ||
13878 | - | ||
13879 | - linux* | k*bsd*-gnu) | ||
13880 | - case $cc_basename in | ||
13881 | - KCC*) | ||
13882 | - # Kuck and Associates, Inc. (KAI) C++ Compiler | ||
13883 | - | ||
13884 | - # KCC will only create a shared library if the output file | ||
13885 | - # ends with ".so" (or ".sl" for HP-UX), so rename the library | ||
13886 | - # to its proper name (with version) after linking. | ||
13887 | - _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' | ||
13888 | - _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' | ||
13889 | - # Commands to make compiler produce verbose output that lists | ||
13890 | - # what "hidden" libraries, object files and flags are used when | ||
13891 | - # linking a shared library. | ||
13892 | - # | ||
13893 | - # There doesn't appear to be a way to prevent this compiler from | ||
13894 | - # explicitly linking system object files so we need to strip them | ||
13895 | - # from the output so that they don't get included in the library | ||
13896 | - # dependencies. | ||
13897 | - output_verbose_link_cmd='templist=`$CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1 | $GREP "ld"`; rm -f libconftest$shared_ext; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; $ECHO "X$list" | $Xsed' | ||
13898 | - | ||
13899 | - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' | ||
13900 | - _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' | ||
13901 | - | ||
13902 | - # Archives containing C++ object files must be created using | ||
13903 | - # "CC -Bstatic", where "CC" is the KAI C++ compiler. | ||
13904 | - _LT_TAGVAR(old_archive_cmds, $1)='$CC -Bstatic -o $oldlib $oldobjs' | ||
13905 | - ;; | ||
13906 | - icpc* | ecpc* ) | ||
13907 | - # Intel C++ | ||
13908 | - with_gnu_ld=yes | ||
13909 | - # version 8.0 and above of icpc choke on multiply defined symbols | ||
13910 | - # if we add $predep_objects and $postdep_objects, however 7.1 and | ||
13911 | - # earlier do not add the objects themselves. | ||
13912 | - case `$CC -V 2>&1` in | ||
13913 | - *"Version 7."*) | ||
13914 | - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib' | ||
13915 | - _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' | ||
13916 | - ;; | ||
13917 | - *) # Version 8.0 or newer | ||
13918 | - tmp_idyn= | ||
13919 | - case $host_cpu in | ||
13920 | - ia64*) tmp_idyn=' -i_dynamic';; | ||
13921 | - esac | ||
13922 | - _LT_TAGVAR(archive_cmds, $1)='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' | ||
13923 | - _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' | ||
13924 | - ;; | ||
13925 | - esac | ||
13926 | - _LT_TAGVAR(archive_cmds_need_lc, $1)=no | ||
13927 | - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' | ||
13928 | - _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' | ||
13929 | - _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive$convenience ${wl}--no-whole-archive' | ||
13930 | - ;; | ||
13931 | - pgCC* | pgcpp*) | ||
13932 | - # Portland Group C++ compiler | ||
13933 | - case `$CC -V` in | ||
13934 | - *pgCC\ [[1-5]]* | *pgcpp\ [[1-5]]*) | ||
13935 | - _LT_TAGVAR(prelink_cmds, $1)='tpldir=Template.dir~ | ||
13936 | - rm -rf $tpldir~ | ||
13937 | - $CC --prelink_objects --instantiation_dir $tpldir $objs $libobjs $compile_deplibs~ | ||
13938 | - compile_command="$compile_command `find $tpldir -name \*.o | $NL2SP`"' | ||
13939 | - _LT_TAGVAR(old_archive_cmds, $1)='tpldir=Template.dir~ | ||
13940 | - rm -rf $tpldir~ | ||
13941 | - $CC --prelink_objects --instantiation_dir $tpldir $oldobjs$old_deplibs~ | ||
13942 | - $AR $AR_FLAGS $oldlib$oldobjs$old_deplibs `find $tpldir -name \*.o | $NL2SP`~ | ||
13943 | - $RANLIB $oldlib' | ||
13944 | - _LT_TAGVAR(archive_cmds, $1)='tpldir=Template.dir~ | ||
13945 | - rm -rf $tpldir~ | ||
13946 | - $CC --prelink_objects --instantiation_dir $tpldir $predep_objects $libobjs $deplibs $convenience $postdep_objects~ | ||
13947 | - $CC -shared $pic_flag $predep_objects $libobjs $deplibs `find $tpldir -name \*.o | $NL2SP` $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib' | ||
13948 | - _LT_TAGVAR(archive_expsym_cmds, $1)='tpldir=Template.dir~ | ||
13949 | - rm -rf $tpldir~ | ||
13950 | - $CC --prelink_objects --instantiation_dir $tpldir $predep_objects $libobjs $deplibs $convenience $postdep_objects~ | ||
13951 | - $CC -shared $pic_flag $predep_objects $libobjs $deplibs `find $tpldir -name \*.o | $NL2SP` $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname ${wl}-retain-symbols-file ${wl}$export_symbols -o $lib' | ||
13952 | - ;; | ||
13953 | - *) # Version 6 will use weak symbols | ||
13954 | - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib' | ||
13955 | - _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' | ||
13956 | - ;; | ||
13957 | - esac | ||
13958 | - | ||
13959 | - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}--rpath ${wl}$libdir' | ||
13960 | - _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' | ||
13961 | - _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $ECHO \"$new_convenience\"` ${wl}--no-whole-archive' | ||
13962 | - ;; | ||
13963 | - cxx*) | ||
13964 | - # Compaq C++ | ||
13965 | - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib' | ||
13966 | - _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' | ||
13967 | - | ||
13968 | - runpath_var=LD_RUN_PATH | ||
13969 | - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir' | ||
13970 | - _LT_TAGVAR(hardcode_libdir_separator, $1)=: | ||
13971 | - | ||
13972 | - # Commands to make compiler produce verbose output that lists | ||
13973 | - # what "hidden" libraries, object files and flags are used when | ||
13974 | - # linking a shared library. | ||
13975 | - # | ||
13976 | - # There doesn't appear to be a way to prevent this compiler from | ||
13977 | - # explicitly linking system object files so we need to strip them | ||
13978 | - # from the output so that they don't get included in the library | ||
13979 | - # dependencies. | ||
13980 | - output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "ld"`; templist=`$ECHO "X$templist" | $Xsed -e "s/\(^.*ld.*\)\( .*ld .*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; $ECHO "X$list" | $Xsed' | ||
13981 | - ;; | ||
13982 | - xl*) | ||
13983 | - # IBM XL 8.0 on PPC, with GNU ld | ||
13984 | - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' | ||
13985 | - _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' | ||
13986 | - _LT_TAGVAR(archive_cmds, $1)='$CC -qmkshrobj $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' | ||
13987 | - if test "x$supports_anon_versioning" = xyes; then | ||
13988 | - _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~ | ||
13989 | - cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ | ||
13990 | - echo "local: *; };" >> $output_objdir/$libname.ver~ | ||
13991 | - $CC -qmkshrobj $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib' | ||
13992 | - fi | ||
13993 | - ;; | ||
13994 | - *) | ||
13995 | - case `$CC -V 2>&1 | sed 5q` in | ||
13996 | - *Sun\ C*) | ||
13997 | - # Sun C++ 5.9 | ||
13998 | - _LT_TAGVAR(no_undefined_flag, $1)=' -zdefs' | ||
13999 | - _LT_TAGVAR(archive_cmds, $1)='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' | ||
14000 | - _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' | ||
14001 | - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' | ||
14002 | - _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; $ECHO \"$new_convenience\"` ${wl}--no-whole-archive' | ||
14003 | - _LT_TAGVAR(compiler_needs_object, $1)=yes | ||
14004 | - | ||
14005 | - # Not sure whether something based on | ||
14006 | - # $CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1 | ||
14007 | - # would be better. | ||
14008 | - output_verbose_link_cmd='echo' | ||
14009 | - | ||
14010 | - # Archives containing C++ object files must be created using | ||
14011 | - # "CC -xar", where "CC" is the Sun C++ compiler. This is | ||
14012 | - # necessary to make sure instantiated templates are included | ||
14013 | - # in the archive. | ||
14014 | - _LT_TAGVAR(old_archive_cmds, $1)='$CC -xar -o $oldlib $oldobjs' | ||
14015 | - ;; | ||
14016 | - esac | ||
14017 | - ;; | ||
14018 | - esac | ||
14019 | - ;; | ||
14020 | - | ||
14021 | - lynxos*) | ||
14022 | - # FIXME: insert proper C++ library support | ||
14023 | - _LT_TAGVAR(ld_shlibs, $1)=no | ||
14024 | - ;; | ||
14025 | - | ||
14026 | - m88k*) | ||
14027 | - # FIXME: insert proper C++ library support | ||
14028 | - _LT_TAGVAR(ld_shlibs, $1)=no | ||
14029 | - ;; | ||
14030 | - | ||
14031 | - mvs*) | ||
14032 | - case $cc_basename in | ||
14033 | - cxx*) | ||
14034 | - # FIXME: insert proper C++ library support | ||
14035 | - _LT_TAGVAR(ld_shlibs, $1)=no | ||
14036 | - ;; | ||
14037 | - *) | ||
14038 | - # FIXME: insert proper C++ library support | ||
14039 | - _LT_TAGVAR(ld_shlibs, $1)=no | ||
14040 | - ;; | ||
14041 | - esac | ||
14042 | - ;; | ||
14043 | - | ||
14044 | - netbsd*) | ||
14045 | - if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then | ||
14046 | - _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $predep_objects $libobjs $deplibs $postdep_objects $linker_flags' | ||
14047 | - wlarc= | ||
14048 | - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' | ||
14049 | - _LT_TAGVAR(hardcode_direct, $1)=yes | ||
14050 | - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no | ||
14051 | - fi | ||
14052 | - # Workaround some broken pre-1.5 toolchains | ||
14053 | - output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP conftest.$objext | $SED -e "s:-lgcc -lc -lgcc::"' | ||
14054 | - ;; | ||
14055 | - | ||
14056 | - *nto* | *qnx*) | ||
14057 | - _LT_TAGVAR(ld_shlibs, $1)=yes | ||
14058 | - ;; | ||
14059 | - | ||
14060 | - openbsd2*) | ||
14061 | - # C++ shared libraries are fairly broken | ||
14062 | - _LT_TAGVAR(ld_shlibs, $1)=no | ||
14063 | - ;; | ||
14064 | - | ||
14065 | - openbsd*) | ||
14066 | - if test -f /usr/libexec/ld.so; then | ||
14067 | - _LT_TAGVAR(hardcode_direct, $1)=yes | ||
14068 | - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no | ||
14069 | - _LT_TAGVAR(hardcode_direct_absolute, $1)=yes | ||
14070 | - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib' | ||
14071 | - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' | ||
14072 | - if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then | ||
14073 | - _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' | ||
14074 | - _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' | ||
14075 | - _LT_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' | ||
14076 | - fi | ||
14077 | - output_verbose_link_cmd=echo | ||
14078 | - else | ||
14079 | - _LT_TAGVAR(ld_shlibs, $1)=no | ||
14080 | - fi | ||
14081 | - ;; | ||
14082 | - | ||
14083 | - osf3* | osf4* | osf5*) | ||
14084 | - case $cc_basename in | ||
14085 | - KCC*) | ||
14086 | - # Kuck and Associates, Inc. (KAI) C++ Compiler | ||
14087 | - | ||
14088 | - # KCC will only create a shared library if the output file | ||
14089 | - # ends with ".so" (or ".sl" for HP-UX), so rename the library | ||
14090 | - # to its proper name (with version) after linking. | ||
14091 | - _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' | ||
14092 | - | ||
14093 | - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' | ||
14094 | - _LT_TAGVAR(hardcode_libdir_separator, $1)=: | ||
14095 | - | ||
14096 | - # Archives containing C++ object files must be created using | ||
14097 | - # the KAI C++ compiler. | ||
14098 | - case $host in | ||
14099 | - osf3*) _LT_TAGVAR(old_archive_cmds, $1)='$CC -Bstatic -o $oldlib $oldobjs' ;; | ||
14100 | - *) _LT_TAGVAR(old_archive_cmds, $1)='$CC -o $oldlib $oldobjs' ;; | ||
14101 | - esac | ||
14102 | - ;; | ||
14103 | - RCC*) | ||
14104 | - # Rational C++ 2.4.1 | ||
14105 | - # FIXME: insert proper C++ library support | ||
14106 | - _LT_TAGVAR(ld_shlibs, $1)=no | ||
14107 | - ;; | ||
14108 | - cxx*) | ||
14109 | - case $host in | ||
14110 | - osf3*) | ||
14111 | - _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*' | ||
14112 | - _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $soname `test -n "$verstring" && $ECHO "X${wl}-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib' | ||
14113 | - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' | ||
14114 | - ;; | ||
14115 | - *) | ||
14116 | - _LT_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*' | ||
14117 | - _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib' | ||
14118 | - _LT_TAGVAR(archive_expsym_cmds, $1)='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done~ | ||
14119 | - echo "-hidden">> $lib.exp~ | ||
14120 | - $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 "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib~ | ||
14121 | - $RM $lib.exp' | ||
14122 | - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir' | ||
14123 | - ;; | ||
14124 | - esac | ||
14125 | - | ||
14126 | - _LT_TAGVAR(hardcode_libdir_separator, $1)=: | ||
14127 | - | ||
14128 | - # Commands to make compiler produce verbose output that lists | ||
14129 | - # what "hidden" libraries, object files and flags are used when | ||
14130 | - # linking a shared library. | ||
14131 | - # | ||
14132 | - # There doesn't appear to be a way to prevent this compiler from | ||
14133 | - # explicitly linking system object files so we need to strip them | ||
14134 | - # from the output so that they don't get included in the library | ||
14135 | - # dependencies. | ||
14136 | - output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "ld" | $GREP -v "ld:"`; templist=`$ECHO "X$templist" | $Xsed -e "s/\(^.*ld.*\)\( .*ld.*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; $ECHO "X$list" | $Xsed' | ||
14137 | - ;; | ||
14138 | - *) | ||
14139 | - if test "$GXX" = yes && test "$with_gnu_ld" = no; then | ||
14140 | - _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*' | ||
14141 | - case $host in | ||
14142 | - osf3*) | ||
14143 | - _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" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' | ||
14144 | - ;; | ||
14145 | - *) | ||
14146 | - _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' | ||
14147 | - ;; | ||
14148 | - esac | ||
14149 | - | ||
14150 | - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' | ||
14151 | - _LT_TAGVAR(hardcode_libdir_separator, $1)=: | ||
14152 | - | ||
14153 | - # Commands to make compiler produce verbose output that lists | ||
14154 | - # what "hidden" libraries, object files and flags are used when | ||
14155 | - # linking a shared library. | ||
14156 | - output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "\-L"' | ||
14157 | - | ||
14158 | - else | ||
14159 | - # FIXME: insert proper C++ library support | ||
14160 | - _LT_TAGVAR(ld_shlibs, $1)=no | ||
14161 | - fi | ||
14162 | - ;; | ||
14163 | - esac | ||
14164 | - ;; | ||
14165 | - | ||
14166 | - psos*) | ||
14167 | - # FIXME: insert proper C++ library support | ||
14168 | - _LT_TAGVAR(ld_shlibs, $1)=no | ||
14169 | - ;; | ||
14170 | - | ||
14171 | - sunos4*) | ||
14172 | - case $cc_basename in | ||
14173 | - CC*) | ||
14174 | - # Sun C++ 4.x | ||
14175 | - # FIXME: insert proper C++ library support | ||
14176 | - _LT_TAGVAR(ld_shlibs, $1)=no | ||
14177 | - ;; | ||
14178 | - lcc*) | ||
14179 | - # Lucid | ||
14180 | - # FIXME: insert proper C++ library support | ||
14181 | - _LT_TAGVAR(ld_shlibs, $1)=no | ||
14182 | - ;; | ||
14183 | - *) | ||
14184 | - # FIXME: insert proper C++ library support | ||
14185 | - _LT_TAGVAR(ld_shlibs, $1)=no | ||
14186 | - ;; | ||
14187 | - esac | ||
14188 | - ;; | ||
14189 | - | ||
14190 | - solaris*) | ||
14191 | - case $cc_basename in | ||
14192 | - CC*) | ||
14193 | - # Sun C++ 4.2, 5.x and Centerline C++ | ||
14194 | - _LT_TAGVAR(archive_cmds_need_lc,$1)=yes | ||
14195 | - _LT_TAGVAR(no_undefined_flag, $1)=' -zdefs' | ||
14196 | - _LT_TAGVAR(archive_cmds, $1)='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' | ||
14197 | - _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ | ||
14198 | - $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' | ||
14199 | - | ||
14200 | - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' | ||
14201 | - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no | ||
14202 | - case $host_os in | ||
14203 | - solaris2.[[0-5]] | solaris2.[[0-5]].*) ;; | ||
14204 | - *) | ||
14205 | - # The compiler driver will combine and reorder linker options, | ||
14206 | - # but understands `-z linker_flag'. | ||
14207 | - # Supported since Solaris 2.6 (maybe 2.5.1?) | ||
14208 | - _LT_TAGVAR(whole_archive_flag_spec, $1)='-z allextract$convenience -z defaultextract' | ||
14209 | - ;; | ||
14210 | - esac | ||
14211 | - _LT_TAGVAR(link_all_deplibs, $1)=yes | ||
14212 | - | ||
14213 | - output_verbose_link_cmd='echo' | ||
14214 | - | ||
14215 | - # Archives containing C++ object files must be created using | ||
14216 | - # "CC -xar", where "CC" is the Sun C++ compiler. This is | ||
14217 | - # necessary to make sure instantiated templates are included | ||
14218 | - # in the archive. | ||
14219 | - _LT_TAGVAR(old_archive_cmds, $1)='$CC -xar -o $oldlib $oldobjs' | ||
14220 | - ;; | ||
14221 | - gcx*) | ||
14222 | - # Green Hills C++ Compiler | ||
14223 | - _LT_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib' | ||
14224 | - | ||
14225 | - # The C++ compiler must be used to create the archive. | ||
14226 | - _LT_TAGVAR(old_archive_cmds, $1)='$CC $LDFLAGS -archive -o $oldlib $oldobjs' | ||
14227 | - ;; | ||
14228 | - *) | ||
14229 | - # GNU C++ compiler with Solaris linker | ||
14230 | - if test "$GXX" = yes && test "$with_gnu_ld" = no; then | ||
14231 | - _LT_TAGVAR(no_undefined_flag, $1)=' ${wl}-z ${wl}defs' | ||
14232 | - if $CC --version | $GREP -v '^2\.7' > /dev/null; then | ||
14233 | - _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib' | ||
14234 | - _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ | ||
14235 | - $CC -shared -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp' | ||
14236 | - | ||
14237 | - # Commands to make compiler produce verbose output that lists | ||
14238 | - # what "hidden" libraries, object files and flags are used when | ||
14239 | - # linking a shared library. | ||
14240 | - output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "\-L"' | ||
14241 | - else | ||
14242 | - # g++ 2.7 appears to require `-G' NOT `-shared' on this | ||
14243 | - # platform. | ||
14244 | - _LT_TAGVAR(archive_cmds, $1)='$CC -G -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib' | ||
14245 | - _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ | ||
14246 | - $CC -G -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp' | ||
14247 | - | ||
14248 | - # Commands to make compiler produce verbose output that lists | ||
14249 | - # what "hidden" libraries, object files and flags are used when | ||
14250 | - # linking a shared library. | ||
14251 | - output_verbose_link_cmd='$CC -G $CFLAGS -v conftest.$objext 2>&1 | $GREP "\-L"' | ||
14252 | - fi | ||
14253 | - | ||
14254 | - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $wl$libdir' | ||
14255 | - case $host_os in | ||
14256 | - solaris2.[[0-5]] | solaris2.[[0-5]].*) ;; | ||
14257 | - *) | ||
14258 | - _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract' | ||
14259 | - ;; | ||
14260 | - esac | ||
14261 | - fi | ||
14262 | - ;; | ||
14263 | - esac | ||
14264 | - ;; | ||
14265 | - | ||
14266 | - sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[[01]].[[10]]* | unixware7* | sco3.2v5.0.[[024]]*) | ||
14267 | - _LT_TAGVAR(no_undefined_flag, $1)='${wl}-z,text' | ||
14268 | - _LT_TAGVAR(archive_cmds_need_lc, $1)=no | ||
14269 | - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no | ||
14270 | - runpath_var='LD_RUN_PATH' | ||
14271 | - | ||
14272 | - case $cc_basename in | ||
14273 | - CC*) | ||
14274 | - _LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' | ||
14275 | - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' | ||
14276 | - ;; | ||
14277 | - *) | ||
14278 | - _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' | ||
14279 | - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' | ||
14280 | - ;; | ||
14281 | - esac | ||
14282 | - ;; | ||
14283 | - | ||
14284 | - sysv5* | sco3.2v5* | sco5v6*) | ||
14285 | - # Note: We can NOT use -z defs as we might desire, because we do not | ||
14286 | - # link with -lc, and that would cause any symbols used from libc to | ||
14287 | - # always be unresolved, which means just about no library would | ||
14288 | - # ever link correctly. If we're not using GNU ld we use -z text | ||
14289 | - # though, which does catch some bad symbols but isn't as heavy-handed | ||
14290 | - # as -z defs. | ||
14291 | - _LT_TAGVAR(no_undefined_flag, $1)='${wl}-z,text' | ||
14292 | - _LT_TAGVAR(allow_undefined_flag, $1)='${wl}-z,nodefs' | ||
14293 | - _LT_TAGVAR(archive_cmds_need_lc, $1)=no | ||
14294 | - _LT_TAGVAR(hardcode_shlibpath_var, $1)=no | ||
14295 | - _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R,$libdir' | ||
14296 | - _LT_TAGVAR(hardcode_libdir_separator, $1)=':' | ||
14297 | - _LT_TAGVAR(link_all_deplibs, $1)=yes | ||
14298 | - _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-Bexport' | ||
14299 | - runpath_var='LD_RUN_PATH' | ||
14300 | - | ||
14301 | - case $cc_basename in | ||
14302 | - CC*) | ||
14303 | - _LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' | ||
14304 | - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' | ||
14305 | - ;; | ||
14306 | - *) | ||
14307 | - _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' | ||
14308 | - _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' | ||
14309 | - ;; | ||
14310 | - esac | ||
14311 | - ;; | ||
14312 | - | ||
14313 | - tandem*) | ||
14314 | - case $cc_basename in | ||
14315 | - NCC*) | ||
14316 | - # NonStop-UX NCC 3.20 | ||
14317 | - # FIXME: insert proper C++ library support | ||
14318 | - _LT_TAGVAR(ld_shlibs, $1)=no | ||
14319 | - ;; | ||
14320 | - *) | ||
14321 | - # FIXME: insert proper C++ library support | ||
14322 | - _LT_TAGVAR(ld_shlibs, $1)=no | ||
14323 | - ;; | ||
14324 | - esac | ||
14325 | - ;; | ||
14326 | - | ||
14327 | - vxworks*) | ||
14328 | - # FIXME: insert proper C++ library support | ||
14329 | - _LT_TAGVAR(ld_shlibs, $1)=no | ||
14330 | - ;; | ||
14331 | - | ||
14332 | - *) | ||
14333 | - # FIXME: insert proper C++ library support | ||
14334 | - _LT_TAGVAR(ld_shlibs, $1)=no | ||
14335 | - ;; | ||
14336 | - esac | ||
14337 | - | ||
14338 | - AC_MSG_RESULT([$_LT_TAGVAR(ld_shlibs, $1)]) | ||
14339 | - test "$_LT_TAGVAR(ld_shlibs, $1)" = no && can_build_shared=no | ||
14340 | - | ||
14341 | - _LT_TAGVAR(GCC, $1)="$GXX" | ||
14342 | - _LT_TAGVAR(LD, $1)="$LD" | ||
14343 | - | ||
14344 | - ## CAVEAT EMPTOR: | ||
14345 | - ## There is no encapsulation within the following macros, do not change | ||
14346 | - ## the running order or otherwise move them around unless you know exactly | ||
14347 | - ## what you are doing... | ||
14348 | - _LT_SYS_HIDDEN_LIBDEPS($1) | ||
14349 | - _LT_COMPILER_PIC($1) | ||
14350 | - _LT_COMPILER_C_O($1) | ||
14351 | - _LT_COMPILER_FILE_LOCKS($1) | ||
14352 | - _LT_LINKER_SHLIBS($1) | ||
14353 | - _LT_SYS_DYNAMIC_LINKER($1) | ||
14354 | - _LT_LINKER_HARDCODE_LIBPATH($1) | ||
14355 | - | ||
14356 | - _LT_CONFIG($1) | ||
14357 | - fi # test -n "$compiler" | ||
14358 | - | ||
14359 | - CC=$lt_save_CC | ||
14360 | - LDCXX=$LD | ||
14361 | - LD=$lt_save_LD | ||
14362 | - GCC=$lt_save_GCC | ||
14363 | - with_gnu_ld=$lt_save_with_gnu_ld | ||
14364 | - lt_cv_path_LDCXX=$lt_cv_path_LD | ||
14365 | - lt_cv_path_LD=$lt_save_path_LD | ||
14366 | - lt_cv_prog_gnu_ldcxx=$lt_cv_prog_gnu_ld | ||
14367 | - lt_cv_prog_gnu_ld=$lt_save_with_gnu_ld | ||
14368 | -fi # test "$_lt_caught_CXX_error" != yes | ||
14369 | - | ||
14370 | -AC_LANG_POP | ||
14371 | -])# _LT_LANG_CXX_CONFIG | ||
14372 | - | ||
14373 | - | ||
14374 | -# _LT_SYS_HIDDEN_LIBDEPS([TAGNAME]) | ||
14375 | -# --------------------------------- | ||
14376 | -# Figure out "hidden" library dependencies from verbose | ||
14377 | -# compiler output when linking a shared library. | ||
14378 | -# Parse the compiler output and extract the necessary | ||
14379 | -# objects, libraries and library flags. | ||
14380 | -m4_defun([_LT_SYS_HIDDEN_LIBDEPS], | ||
14381 | -[m4_require([_LT_FILEUTILS_DEFAULTS])dnl | ||
14382 | -# Dependencies to place before and after the object being linked: | ||
14383 | -_LT_TAGVAR(predep_objects, $1)= | ||
14384 | -_LT_TAGVAR(postdep_objects, $1)= | ||
14385 | -_LT_TAGVAR(predeps, $1)= | ||
14386 | -_LT_TAGVAR(postdeps, $1)= | ||
14387 | -_LT_TAGVAR(compiler_lib_search_path, $1)= | ||
14388 | - | ||
14389 | -dnl we can't use the lt_simple_compile_test_code here, | ||
14390 | -dnl because it contains code intended for an executable, | ||
14391 | -dnl not a library. It's possible we should let each | ||
14392 | -dnl tag define a new lt_????_link_test_code variable, | ||
14393 | -dnl but it's only used here... | ||
14394 | -m4_if([$1], [], [cat > conftest.$ac_ext <<_LT_EOF | ||
14395 | -int a; | ||
14396 | -void foo (void) { a = 0; } | ||
14397 | -_LT_EOF | ||
14398 | -], [$1], [CXX], [cat > conftest.$ac_ext <<_LT_EOF | ||
14399 | -class Foo | ||
14400 | -{ | ||
14401 | -public: | ||
14402 | - Foo (void) { a = 0; } | ||
14403 | -private: | ||
14404 | - int a; | ||
14405 | -}; | ||
14406 | -_LT_EOF | ||
14407 | -], [$1], [F77], [cat > conftest.$ac_ext <<_LT_EOF | ||
14408 | - subroutine foo | ||
14409 | - implicit none | ||
14410 | - integer*4 a | ||
14411 | - a=0 | ||
14412 | - return | ||
14413 | - end | ||
14414 | -_LT_EOF | ||
14415 | -], [$1], [FC], [cat > conftest.$ac_ext <<_LT_EOF | ||
14416 | - subroutine foo | ||
14417 | - implicit none | ||
14418 | - integer a | ||
14419 | - a=0 | ||
14420 | - return | ||
14421 | - end | ||
14422 | -_LT_EOF | ||
14423 | -], [$1], [GCJ], [cat > conftest.$ac_ext <<_LT_EOF | ||
14424 | -public class foo { | ||
14425 | - private int a; | ||
14426 | - public void bar (void) { | ||
14427 | - a = 0; | ||
14428 | - } | ||
14429 | -}; | ||
14430 | -_LT_EOF | ||
14431 | -]) | ||
14432 | -dnl Parse the compiler output and extract the necessary | ||
14433 | -dnl objects, libraries and library flags. | ||
14434 | -if AC_TRY_EVAL(ac_compile); then | ||
14435 | - # Parse the compiler output and extract the necessary | ||
14436 | - # objects, libraries and library flags. | ||
14437 | - | ||
14438 | - # Sentinel used to keep track of whether or not we are before | ||
14439 | - # the conftest object file. | ||
14440 | - pre_test_object_deps_done=no | ||
14441 | - | ||
14442 | - for p in `eval "$output_verbose_link_cmd"`; do | ||
14443 | - case $p in | ||
14444 | - | ||
14445 | - -L* | -R* | -l*) | ||
14446 | - # Some compilers place space between "-{L,R}" and the path. | ||
14447 | - # Remove the space. | ||
14448 | - if test $p = "-L" || | ||
14449 | - test $p = "-R"; then | ||
14450 | - prev=$p | ||
14451 | - continue | ||
14452 | - else | ||
14453 | - prev= | ||
14454 | - fi | ||
14455 | - | ||
14456 | - if test "$pre_test_object_deps_done" = no; then | ||
14457 | - case $p in | ||
14458 | - -L* | -R*) | ||
14459 | - # Internal compiler library paths should come after those | ||
14460 | - # provided the user. The postdeps already come after the | ||
14461 | - # user supplied libs so there is no need to process them. | ||
14462 | - if test -z "$_LT_TAGVAR(compiler_lib_search_path, $1)"; then | ||
14463 | - _LT_TAGVAR(compiler_lib_search_path, $1)="${prev}${p}" | ||
14464 | - else | ||
14465 | - _LT_TAGVAR(compiler_lib_search_path, $1)="${_LT_TAGVAR(compiler_lib_search_path, $1)} ${prev}${p}" | ||
14466 | - fi | ||
14467 | - ;; | ||
14468 | - # The "-l" case would never come before the object being | ||
14469 | - # linked, so don't bother handling this case. | ||
14470 | - esac | ||
14471 | - else | ||
14472 | - if test -z "$_LT_TAGVAR(postdeps, $1)"; then | ||
14473 | - _LT_TAGVAR(postdeps, $1)="${prev}${p}" | ||
14474 | - else | ||
14475 | - _LT_TAGVAR(postdeps, $1)="${_LT_TAGVAR(postdeps, $1)} ${prev}${p}" | ||
14476 | - fi | ||
14477 | - fi | ||
14478 | - ;; | ||
14479 | - | ||
14480 | - *.$objext) | ||
14481 | - # This assumes that the test object file only shows up | ||
14482 | - # once in the compiler output. | ||
14483 | - if test "$p" = "conftest.$objext"; then | ||
14484 | - pre_test_object_deps_done=yes | ||
14485 | - continue | ||
14486 | - fi | ||
14487 | - | ||
14488 | - if test "$pre_test_object_deps_done" = no; then | ||
14489 | - if test -z "$_LT_TAGVAR(predep_objects, $1)"; then | ||
14490 | - _LT_TAGVAR(predep_objects, $1)="$p" | ||
14491 | - else | ||
14492 | - _LT_TAGVAR(predep_objects, $1)="$_LT_TAGVAR(predep_objects, $1) $p" | ||
14493 | - fi | ||
14494 | - else | ||
14495 | - if test -z "$_LT_TAGVAR(postdep_objects, $1)"; then | ||
14496 | - _LT_TAGVAR(postdep_objects, $1)="$p" | ||
14497 | - else | ||
14498 | - _LT_TAGVAR(postdep_objects, $1)="$_LT_TAGVAR(postdep_objects, $1) $p" | ||
14499 | - fi | ||
14500 | - fi | ||
14501 | - ;; | ||
14502 | - | ||
14503 | - *) ;; # Ignore the rest. | ||
14504 | - | ||
14505 | - esac | ||
14506 | - done | ||
14507 | - | ||
14508 | - # Clean up. | ||
14509 | - rm -f a.out a.exe | ||
14510 | -else | ||
14511 | - echo "libtool.m4: error: problem compiling $1 test program" | ||
14512 | -fi | ||
14513 | - | ||
14514 | -$RM -f confest.$objext | ||
14515 | - | ||
14516 | -# PORTME: override above test on systems where it is broken | ||
14517 | -m4_if([$1], [CXX], | ||
14518 | -[case $host_os in | ||
14519 | -interix[[3-9]]*) | ||
14520 | - # Interix 3.5 installs completely hosed .la files for C++, so rather than | ||
14521 | - # hack all around it, let's just trust "g++" to DTRT. | ||
14522 | - _LT_TAGVAR(predep_objects,$1)= | ||
14523 | - _LT_TAGVAR(postdep_objects,$1)= | ||
14524 | - _LT_TAGVAR(postdeps,$1)= | ||
14525 | - ;; | ||
14526 | - | ||
14527 | -linux*) | ||
14528 | - case `$CC -V 2>&1 | sed 5q` in | ||
14529 | - *Sun\ C*) | ||
14530 | - # Sun C++ 5.9 | ||
14531 | - | ||
14532 | - # The more standards-conforming stlport4 library is | ||
14533 | - # incompatible with the Cstd library. Avoid specifying | ||
14534 | - # it if it's in CXXFLAGS. Ignore libCrun as | ||
14535 | - # -library=stlport4 depends on it. | ||
14536 | - case " $CXX $CXXFLAGS " in | ||
14537 | - *" -library=stlport4 "*) | ||
14538 | - solaris_use_stlport4=yes | ||
14539 | - ;; | ||
14540 | - esac | ||
14541 | - | ||
14542 | - if test "$solaris_use_stlport4" != yes; then | ||
14543 | - _LT_TAGVAR(postdeps,$1)='-library=Cstd -library=Crun' | ||
14544 | - fi | ||
14545 | - ;; | ||
14546 | - esac | ||
14547 | - ;; | ||
14548 | - | ||
14549 | -solaris*) | ||
14550 | - case $cc_basename in | ||
14551 | - CC*) | ||
14552 | - # The more standards-conforming stlport4 library is | ||
14553 | - # incompatible with the Cstd library. Avoid specifying | ||
14554 | - # it if it's in CXXFLAGS. Ignore libCrun as | ||
14555 | - # -library=stlport4 depends on it. | ||
14556 | - case " $CXX $CXXFLAGS " in | ||
14557 | - *" -library=stlport4 "*) | ||
14558 | - solaris_use_stlport4=yes | ||
14559 | - ;; | ||
14560 | - esac | ||
14561 | - | ||
14562 | - # Adding this requires a known-good setup of shared libraries for | ||
14563 | - # Sun compiler versions before 5.6, else PIC objects from an old | ||
14564 | - # archive will be linked into the output, leading to subtle bugs. | ||
14565 | - if test "$solaris_use_stlport4" != yes; then | ||
14566 | - _LT_TAGVAR(postdeps,$1)='-library=Cstd -library=Crun' | ||
14567 | - fi | ||
14568 | - ;; | ||
14569 | - esac | ||
14570 | - ;; | ||
14571 | -esac | ||
14572 | -]) | ||
14573 | - | ||
14574 | -case " $_LT_TAGVAR(postdeps, $1) " in | ||
14575 | -*" -lc "*) _LT_TAGVAR(archive_cmds_need_lc, $1)=no ;; | ||
14576 | -esac | ||
14577 | - _LT_TAGVAR(compiler_lib_search_dirs, $1)= | ||
14578 | -if test -n "${_LT_TAGVAR(compiler_lib_search_path, $1)}"; then | ||
14579 | - _LT_TAGVAR(compiler_lib_search_dirs, $1)=`echo " ${_LT_TAGVAR(compiler_lib_search_path, $1)}" | ${SED} -e 's! -L! !g' -e 's!^ !!'` | ||
14580 | -fi | ||
14581 | -_LT_TAGDECL([], [compiler_lib_search_dirs], [1], | ||
14582 | - [The directories searched by this compiler when creating a shared library]) | ||
14583 | -_LT_TAGDECL([], [predep_objects], [1], | ||
14584 | - [Dependencies to place before and after the objects being linked to | ||
14585 | - create a shared library]) | ||
14586 | -_LT_TAGDECL([], [postdep_objects], [1]) | ||
14587 | -_LT_TAGDECL([], [predeps], [1]) | ||
14588 | -_LT_TAGDECL([], [postdeps], [1]) | ||
14589 | -_LT_TAGDECL([], [compiler_lib_search_path], [1], | ||
14590 | - [The library search path used internally by the compiler when linking | ||
14591 | - a shared library]) | ||
14592 | -])# _LT_SYS_HIDDEN_LIBDEPS | ||
14593 | - | ||
14594 | - | ||
14595 | -# _LT_PROG_F77 | ||
14596 | -# ------------ | ||
14597 | -# Since AC_PROG_F77 is broken, in that it returns the empty string | ||
14598 | -# if there is no fortran compiler, we have our own version here. | ||
14599 | -m4_defun([_LT_PROG_F77], | ||
14600 | -[ | ||
14601 | -pushdef([AC_MSG_ERROR], [_lt_disable_F77=yes]) | ||
14602 | -AC_PROG_F77 | ||
14603 | -if test -z "$F77" || test "X$F77" = "Xno"; then | ||
14604 | - _lt_disable_F77=yes | ||
14605 | -fi | ||
14606 | -popdef([AC_MSG_ERROR]) | ||
14607 | -])# _LT_PROG_F77 | ||
14608 | - | ||
14609 | -dnl aclocal-1.4 backwards compatibility: | ||
14610 | -dnl AC_DEFUN([_LT_PROG_F77], []) | ||
14611 | - | ||
14612 | - | ||
14613 | -# _LT_LANG_F77_CONFIG([TAG]) | ||
14614 | -# -------------------------- | ||
14615 | -# Ensure that the configuration variables for a Fortran 77 compiler are | ||
14616 | -# suitably defined. These variables are subsequently used by _LT_CONFIG | ||
14617 | -# to write the compiler configuration to `libtool'. | ||
14618 | -m4_defun([_LT_LANG_F77_CONFIG], | ||
14619 | -[AC_REQUIRE([_LT_PROG_F77])dnl | ||
14620 | -AC_LANG_PUSH(Fortran 77) | ||
14621 | - | ||
14622 | -_LT_TAGVAR(archive_cmds_need_lc, $1)=no | ||
14623 | -_LT_TAGVAR(allow_undefined_flag, $1)= | ||
14624 | -_LT_TAGVAR(always_export_symbols, $1)=no | ||
14625 | -_LT_TAGVAR(archive_expsym_cmds, $1)= | ||
14626 | -_LT_TAGVAR(export_dynamic_flag_spec, $1)= | ||
14627 | -_LT_TAGVAR(hardcode_direct, $1)=no | ||
14628 | -_LT_TAGVAR(hardcode_direct_absolute, $1)=no | ||
14629 | -_LT_TAGVAR(hardcode_libdir_flag_spec, $1)= | ||
14630 | -_LT_TAGVAR(hardcode_libdir_flag_spec_ld, $1)= | ||
14631 | -_LT_TAGVAR(hardcode_libdir_separator, $1)= | ||
14632 | -_LT_TAGVAR(hardcode_minus_L, $1)=no | ||
14633 | -_LT_TAGVAR(hardcode_automatic, $1)=no | ||
14634 | -_LT_TAGVAR(inherit_rpath, $1)=no | ||
14635 | -_LT_TAGVAR(module_cmds, $1)= | ||
14636 | -_LT_TAGVAR(module_expsym_cmds, $1)= | ||
14637 | -_LT_TAGVAR(link_all_deplibs, $1)=unknown | ||
14638 | -_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds | ||
14639 | -_LT_TAGVAR(no_undefined_flag, $1)= | ||
14640 | -_LT_TAGVAR(whole_archive_flag_spec, $1)= | ||
14641 | -_LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no | ||
14642 | - | ||
14643 | -# Source file extension for f77 test sources. | ||
14644 | -ac_ext=f | ||
14645 | - | ||
14646 | -# Object file extension for compiled f77 test sources. | ||
14647 | -objext=o | ||
14648 | -_LT_TAGVAR(objext, $1)=$objext | ||
14649 | - | ||
14650 | -# No sense in running all these tests if we already determined that | ||
14651 | -# the F77 compiler isn't working. Some variables (like enable_shared) | ||
14652 | -# are currently assumed to apply to all compilers on this platform, | ||
14653 | -# and will be corrupted by setting them based on a non-working compiler. | ||
14654 | -if test "$_lt_disable_F77" != yes; then | ||
14655 | - # Code to be used in simple compile tests | ||
14656 | - lt_simple_compile_test_code="\ | ||
14657 | - subroutine t | ||
14658 | - return | ||
14659 | - end | ||
14660 | -" | ||
14661 | - | ||
14662 | - # Code to be used in simple link tests | ||
14663 | - lt_simple_link_test_code="\ | ||
14664 | - program t | ||
14665 | - end | ||
14666 | -" | ||
14667 | - | ||
14668 | - # ltmain only uses $CC for tagged configurations so make sure $CC is set. | ||
14669 | - _LT_TAG_COMPILER | ||
14670 | - | ||
14671 | - # save warnings/boilerplate of simple test code | ||
14672 | - _LT_COMPILER_BOILERPLATE | ||
14673 | - _LT_LINKER_BOILERPLATE | ||
14674 | - | ||
14675 | - # Allow CC to be a program name with arguments. | ||
14676 | - lt_save_CC="$CC" | ||
14677 | - lt_save_GCC=$GCC | ||
14678 | - CC=${F77-"f77"} | ||
14679 | - compiler=$CC | ||
14680 | - _LT_TAGVAR(compiler, $1)=$CC | ||
14681 | - _LT_CC_BASENAME([$compiler]) | ||
14682 | - GCC=$G77 | ||
14683 | - if test -n "$compiler"; then | ||
14684 | - AC_MSG_CHECKING([if libtool supports shared libraries]) | ||
14685 | - AC_MSG_RESULT([$can_build_shared]) | ||
14686 | - | ||
14687 | - AC_MSG_CHECKING([whether to build shared libraries]) | ||
14688 | - test "$can_build_shared" = "no" && enable_shared=no | ||
14689 | - | ||
14690 | - # On AIX, shared libraries and static libraries use the same namespace, and | ||
14691 | - # are all built from PIC. | ||
14692 | - case $host_os in | ||
14693 | - aix3*) | ||
14694 | - test "$enable_shared" = yes && enable_static=no | ||
14695 | - if test -n "$RANLIB"; then | ||
14696 | - archive_cmds="$archive_cmds~\$RANLIB \$lib" | ||
14697 | - postinstall_cmds='$RANLIB $lib' | ||
14698 | - fi | ||
14699 | - ;; | ||
14700 | - aix[[4-9]]*) | ||
14701 | - if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then | ||
14702 | - test "$enable_shared" = yes && enable_static=no | ||
14703 | - fi | ||
14704 | - ;; | ||
14705 | - esac | ||
14706 | - AC_MSG_RESULT([$enable_shared]) | ||
14707 | - | ||
14708 | - AC_MSG_CHECKING([whether to build static libraries]) | ||
14709 | - # Make sure either enable_shared or enable_static is yes. | ||
14710 | - test "$enable_shared" = yes || enable_static=yes | ||
14711 | - AC_MSG_RESULT([$enable_static]) | ||
14712 | - | ||
14713 | - _LT_TAGVAR(GCC, $1)="$G77" | ||
14714 | - _LT_TAGVAR(LD, $1)="$LD" | ||
14715 | - | ||
14716 | - ## CAVEAT EMPTOR: | ||
14717 | - ## There is no encapsulation within the following macros, do not change | ||
14718 | - ## the running order or otherwise move them around unless you know exactly | ||
14719 | - ## what you are doing... | ||
14720 | - _LT_COMPILER_PIC($1) | ||
14721 | - _LT_COMPILER_C_O($1) | ||
14722 | - _LT_COMPILER_FILE_LOCKS($1) | ||
14723 | - _LT_LINKER_SHLIBS($1) | ||
14724 | - _LT_SYS_DYNAMIC_LINKER($1) | ||
14725 | - _LT_LINKER_HARDCODE_LIBPATH($1) | ||
14726 | - | ||
14727 | - _LT_CONFIG($1) | ||
14728 | - fi # test -n "$compiler" | ||
14729 | - | ||
14730 | - GCC=$lt_save_GCC | ||
14731 | - CC="$lt_save_CC" | ||
14732 | -fi # test "$_lt_disable_F77" != yes | ||
14733 | - | ||
14734 | -AC_LANG_POP | ||
14735 | -])# _LT_LANG_F77_CONFIG | ||
14736 | - | ||
14737 | - | ||
14738 | -# _LT_PROG_FC | ||
14739 | -# ----------- | ||
14740 | -# Since AC_PROG_FC is broken, in that it returns the empty string | ||
14741 | -# if there is no fortran compiler, we have our own version here. | ||
14742 | -m4_defun([_LT_PROG_FC], | ||
14743 | -[ | ||
14744 | -pushdef([AC_MSG_ERROR], [_lt_disable_FC=yes]) | ||
14745 | -AC_PROG_FC | ||
14746 | -if test -z "$FC" || test "X$FC" = "Xno"; then | ||
14747 | - _lt_disable_FC=yes | ||
14748 | -fi | ||
14749 | -popdef([AC_MSG_ERROR]) | ||
14750 | -])# _LT_PROG_FC | ||
14751 | - | ||
14752 | -dnl aclocal-1.4 backwards compatibility: | ||
14753 | -dnl AC_DEFUN([_LT_PROG_FC], []) | ||
14754 | - | ||
14755 | - | ||
14756 | -# _LT_LANG_FC_CONFIG([TAG]) | ||
14757 | -# ------------------------- | ||
14758 | -# Ensure that the configuration variables for a Fortran compiler are | ||
14759 | -# suitably defined. These variables are subsequently used by _LT_CONFIG | ||
14760 | -# to write the compiler configuration to `libtool'. | ||
14761 | -m4_defun([_LT_LANG_FC_CONFIG], | ||
14762 | -[AC_REQUIRE([_LT_PROG_FC])dnl | ||
14763 | -AC_LANG_PUSH(Fortran) | ||
14764 | - | ||
14765 | -_LT_TAGVAR(archive_cmds_need_lc, $1)=no | ||
14766 | -_LT_TAGVAR(allow_undefined_flag, $1)= | ||
14767 | -_LT_TAGVAR(always_export_symbols, $1)=no | ||
14768 | -_LT_TAGVAR(archive_expsym_cmds, $1)= | ||
14769 | -_LT_TAGVAR(export_dynamic_flag_spec, $1)= | ||
14770 | -_LT_TAGVAR(hardcode_direct, $1)=no | ||
14771 | -_LT_TAGVAR(hardcode_direct_absolute, $1)=no | ||
14772 | -_LT_TAGVAR(hardcode_libdir_flag_spec, $1)= | ||
14773 | -_LT_TAGVAR(hardcode_libdir_flag_spec_ld, $1)= | ||
14774 | -_LT_TAGVAR(hardcode_libdir_separator, $1)= | ||
14775 | -_LT_TAGVAR(hardcode_minus_L, $1)=no | ||
14776 | -_LT_TAGVAR(hardcode_automatic, $1)=no | ||
14777 | -_LT_TAGVAR(inherit_rpath, $1)=no | ||
14778 | -_LT_TAGVAR(module_cmds, $1)= | ||
14779 | -_LT_TAGVAR(module_expsym_cmds, $1)= | ||
14780 | -_LT_TAGVAR(link_all_deplibs, $1)=unknown | ||
14781 | -_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds | ||
14782 | -_LT_TAGVAR(no_undefined_flag, $1)= | ||
14783 | -_LT_TAGVAR(whole_archive_flag_spec, $1)= | ||
14784 | -_LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no | ||
14785 | - | ||
14786 | -# Source file extension for fc test sources. | ||
14787 | -ac_ext=${ac_fc_srcext-f} | ||
14788 | - | ||
14789 | -# Object file extension for compiled fc test sources. | ||
14790 | -objext=o | ||
14791 | -_LT_TAGVAR(objext, $1)=$objext | ||
14792 | - | ||
14793 | -# No sense in running all these tests if we already determined that | ||
14794 | -# the FC compiler isn't working. Some variables (like enable_shared) | ||
14795 | -# are currently assumed to apply to all compilers on this platform, | ||
14796 | -# and will be corrupted by setting them based on a non-working compiler. | ||
14797 | -if test "$_lt_disable_FC" != yes; then | ||
14798 | - # Code to be used in simple compile tests | ||
14799 | - lt_simple_compile_test_code="\ | ||
14800 | - subroutine t | ||
14801 | - return | ||
14802 | - end | ||
14803 | -" | ||
14804 | - | ||
14805 | - # Code to be used in simple link tests | ||
14806 | - lt_simple_link_test_code="\ | ||
14807 | - program t | ||
14808 | - end | ||
14809 | -" | ||
14810 | - | ||
14811 | - # ltmain only uses $CC for tagged configurations so make sure $CC is set. | ||
14812 | - _LT_TAG_COMPILER | ||
14813 | - | ||
14814 | - # save warnings/boilerplate of simple test code | ||
14815 | - _LT_COMPILER_BOILERPLATE | ||
14816 | - _LT_LINKER_BOILERPLATE | ||
14817 | - | ||
14818 | - # Allow CC to be a program name with arguments. | ||
14819 | - lt_save_CC="$CC" | ||
14820 | - lt_save_GCC=$GCC | ||
14821 | - CC=${FC-"f95"} | ||
14822 | - compiler=$CC | ||
14823 | - GCC=$ac_cv_fc_compiler_gnu | ||
14824 | - | ||
14825 | - _LT_TAGVAR(compiler, $1)=$CC | ||
14826 | - _LT_CC_BASENAME([$compiler]) | ||
14827 | - | ||
14828 | - if test -n "$compiler"; then | ||
14829 | - AC_MSG_CHECKING([if libtool supports shared libraries]) | ||
14830 | - AC_MSG_RESULT([$can_build_shared]) | ||
14831 | - | ||
14832 | - AC_MSG_CHECKING([whether to build shared libraries]) | ||
14833 | - test "$can_build_shared" = "no" && enable_shared=no | ||
14834 | - | ||
14835 | - # On AIX, shared libraries and static libraries use the same namespace, and | ||
14836 | - # are all built from PIC. | ||
14837 | - case $host_os in | ||
14838 | - aix3*) | ||
14839 | - test "$enable_shared" = yes && enable_static=no | ||
14840 | - if test -n "$RANLIB"; then | ||
14841 | - archive_cmds="$archive_cmds~\$RANLIB \$lib" | ||
14842 | - postinstall_cmds='$RANLIB $lib' | ||
14843 | - fi | ||
14844 | - ;; | ||
14845 | - aix[[4-9]]*) | ||
14846 | - if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then | ||
14847 | - test "$enable_shared" = yes && enable_static=no | ||
14848 | - fi | ||
14849 | - ;; | ||
14850 | - esac | ||
14851 | - AC_MSG_RESULT([$enable_shared]) | ||
14852 | - | ||
14853 | - AC_MSG_CHECKING([whether to build static libraries]) | ||
14854 | - # Make sure either enable_shared or enable_static is yes. | ||
14855 | - test "$enable_shared" = yes || enable_static=yes | ||
14856 | - AC_MSG_RESULT([$enable_static]) | ||
14857 | - | ||
14858 | - _LT_TAGVAR(GCC, $1)="$ac_cv_fc_compiler_gnu" | ||
14859 | - _LT_TAGVAR(LD, $1)="$LD" | ||
14860 | - | ||
14861 | - ## CAVEAT EMPTOR: | ||
14862 | - ## There is no encapsulation within the following macros, do not change | ||
14863 | - ## the running order or otherwise move them around unless you know exactly | ||
14864 | - ## what you are doing... | ||
14865 | - _LT_SYS_HIDDEN_LIBDEPS($1) | ||
14866 | - _LT_COMPILER_PIC($1) | ||
14867 | - _LT_COMPILER_C_O($1) | ||
14868 | - _LT_COMPILER_FILE_LOCKS($1) | ||
14869 | - _LT_LINKER_SHLIBS($1) | ||
14870 | - _LT_SYS_DYNAMIC_LINKER($1) | ||
14871 | - _LT_LINKER_HARDCODE_LIBPATH($1) | ||
14872 | - | ||
14873 | - _LT_CONFIG($1) | ||
14874 | - fi # test -n "$compiler" | ||
14875 | - | ||
14876 | - GCC=$lt_save_GCC | ||
14877 | - CC="$lt_save_CC" | ||
14878 | -fi # test "$_lt_disable_FC" != yes | ||
14879 | - | ||
14880 | -AC_LANG_POP | ||
14881 | -])# _LT_LANG_FC_CONFIG | ||
14882 | - | ||
14883 | - | ||
14884 | -# _LT_LANG_GCJ_CONFIG([TAG]) | ||
14885 | -# -------------------------- | ||
14886 | -# Ensure that the configuration variables for the GNU Java Compiler compiler | ||
14887 | -# are suitably defined. These variables are subsequently used by _LT_CONFIG | ||
14888 | -# to write the compiler configuration to `libtool'. | ||
14889 | -m4_defun([_LT_LANG_GCJ_CONFIG], | ||
14890 | -[AC_REQUIRE([LT_PROG_GCJ])dnl | ||
14891 | -AC_LANG_SAVE | ||
14892 | - | ||
14893 | -# Source file extension for Java test sources. | ||
14894 | -ac_ext=java | ||
14895 | - | ||
14896 | -# Object file extension for compiled Java test sources. | ||
14897 | -objext=o | ||
14898 | -_LT_TAGVAR(objext, $1)=$objext | ||
14899 | - | ||
14900 | -# Code to be used in simple compile tests | ||
14901 | -lt_simple_compile_test_code="class foo {}" | ||
14902 | - | ||
14903 | -# Code to be used in simple link tests | ||
14904 | -lt_simple_link_test_code='public class conftest { public static void main(String[[]] argv) {}; }' | ||
14905 | - | ||
14906 | -# ltmain only uses $CC for tagged configurations so make sure $CC is set. | ||
14907 | -_LT_TAG_COMPILER | ||
14908 | - | ||
14909 | -# save warnings/boilerplate of simple test code | ||
14910 | -_LT_COMPILER_BOILERPLATE | ||
14911 | -_LT_LINKER_BOILERPLATE | ||
14912 | - | ||
14913 | -# Allow CC to be a program name with arguments. | ||
14914 | -lt_save_CC="$CC" | ||
14915 | -lt_save_GCC=$GCC | ||
14916 | -GCC=yes | ||
14917 | -CC=${GCJ-"gcj"} | ||
14918 | -compiler=$CC | ||
14919 | -_LT_TAGVAR(compiler, $1)=$CC | ||
14920 | -_LT_TAGVAR(LD, $1)="$LD" | ||
14921 | -_LT_CC_BASENAME([$compiler]) | ||
14922 | - | ||
14923 | -# GCJ did not exist at the time GCC didn't implicitly link libc in. | ||
14924 | -_LT_TAGVAR(archive_cmds_need_lc, $1)=no | ||
14925 | - | ||
14926 | -_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds | ||
14927 | - | ||
14928 | -## CAVEAT EMPTOR: | ||
14929 | -## There is no encapsulation within the following macros, do not change | ||
14930 | -## the running order or otherwise move them around unless you know exactly | ||
14931 | -## what you are doing... | ||
14932 | -if test -n "$compiler"; then | ||
14933 | - _LT_COMPILER_NO_RTTI($1) | ||
14934 | - _LT_COMPILER_PIC($1) | ||
14935 | - _LT_COMPILER_C_O($1) | ||
14936 | - _LT_COMPILER_FILE_LOCKS($1) | ||
14937 | - _LT_LINKER_SHLIBS($1) | ||
14938 | - _LT_LINKER_HARDCODE_LIBPATH($1) | ||
14939 | - | ||
14940 | - _LT_CONFIG($1) | ||
14941 | -fi | ||
14942 | - | ||
14943 | -AC_LANG_RESTORE | ||
14944 | - | ||
14945 | -GCC=$lt_save_GCC | ||
14946 | -CC="$lt_save_CC" | ||
14947 | -])# _LT_LANG_GCJ_CONFIG | ||
14948 | - | ||
14949 | - | ||
14950 | -# _LT_LANG_RC_CONFIG([TAG]) | ||
14951 | -# ------------------------- | ||
14952 | -# Ensure that the configuration variables for the Windows resource compiler | ||
14953 | -# are suitably defined. These variables are subsequently used by _LT_CONFIG | ||
14954 | -# to write the compiler configuration to `libtool'. | ||
14955 | -m4_defun([_LT_LANG_RC_CONFIG], | ||
14956 | -[AC_REQUIRE([LT_PROG_RC])dnl | ||
14957 | -AC_LANG_SAVE | ||
14958 | - | ||
14959 | -# Source file extension for RC test sources. | ||
14960 | -ac_ext=rc | ||
14961 | - | ||
14962 | -# Object file extension for compiled RC test sources. | ||
14963 | -objext=o | ||
14964 | -_LT_TAGVAR(objext, $1)=$objext | ||
14965 | - | ||
14966 | -# Code to be used in simple compile tests | ||
14967 | -lt_simple_compile_test_code='sample MENU { MENUITEM "&Soup", 100, CHECKED }' | ||
14968 | - | ||
14969 | -# Code to be used in simple link tests | ||
14970 | -lt_simple_link_test_code="$lt_simple_compile_test_code" | ||
14971 | - | ||
14972 | -# ltmain only uses $CC for tagged configurations so make sure $CC is set. | ||
14973 | -_LT_TAG_COMPILER | ||
14974 | - | ||
14975 | -# save warnings/boilerplate of simple test code | ||
14976 | -_LT_COMPILER_BOILERPLATE | ||
14977 | -_LT_LINKER_BOILERPLATE | ||
14978 | - | ||
14979 | -# Allow CC to be a program name with arguments. | ||
14980 | -lt_save_CC="$CC" | ||
14981 | -lt_save_GCC=$GCC | ||
14982 | -GCC= | ||
14983 | -CC=${RC-"windres"} | ||
14984 | -compiler=$CC | ||
14985 | -_LT_TAGVAR(compiler, $1)=$CC | ||
14986 | -_LT_CC_BASENAME([$compiler]) | ||
14987 | -_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)=yes | ||
14988 | - | ||
14989 | -if test -n "$compiler"; then | ||
14990 | - : | ||
14991 | - _LT_CONFIG($1) | ||
14992 | -fi | ||
14993 | - | ||
14994 | -GCC=$lt_save_GCC | ||
14995 | -AC_LANG_RESTORE | ||
14996 | -CC="$lt_save_CC" | ||
14997 | -])# _LT_LANG_RC_CONFIG | ||
14998 | - | ||
14999 | - | ||
15000 | -# LT_PROG_GCJ | ||
15001 | -# ----------- | ||
15002 | -AC_DEFUN([LT_PROG_GCJ], | ||
15003 | -[m4_ifdef([AC_PROG_GCJ], [AC_PROG_GCJ], | ||
15004 | - [m4_ifdef([A][M_PROG_GCJ], [A][M_PROG_GCJ], | ||
15005 | - [AC_CHECK_TOOL(GCJ, gcj,) | ||
15006 | - test "x${GCJFLAGS+set}" = xset || GCJFLAGS="-g -O2" | ||
15007 | - AC_SUBST(GCJFLAGS)])])[]dnl | ||
15008 | -]) | ||
15009 | - | ||
15010 | -# Old name: | ||
15011 | -AU_ALIAS([LT_AC_PROG_GCJ], [LT_PROG_GCJ]) | ||
15012 | -dnl aclocal-1.4 backwards compatibility: | ||
15013 | -dnl AC_DEFUN([LT_AC_PROG_GCJ], []) | ||
15014 | - | ||
15015 | - | ||
15016 | -# LT_PROG_RC | ||
15017 | -# ---------- | ||
15018 | -AC_DEFUN([LT_PROG_RC], | ||
15019 | -[AC_CHECK_TOOL(RC, windres,) | ||
15020 | -]) | ||
15021 | - | ||
15022 | -# Old name: | ||
15023 | -AU_ALIAS([LT_AC_PROG_RC], [LT_PROG_RC]) | ||
15024 | -dnl aclocal-1.4 backwards compatibility: | ||
15025 | -dnl AC_DEFUN([LT_AC_PROG_RC], []) | ||
15026 | - | ||
15027 | - | ||
15028 | -# _LT_DECL_EGREP | ||
15029 | -# -------------- | ||
15030 | -# If we don't have a new enough Autoconf to choose the best grep | ||
15031 | -# available, choose the one first in the user's PATH. | ||
15032 | -m4_defun([_LT_DECL_EGREP], | ||
15033 | -[AC_REQUIRE([AC_PROG_EGREP])dnl | ||
15034 | -AC_REQUIRE([AC_PROG_FGREP])dnl | ||
15035 | -test -z "$GREP" && GREP=grep | ||
15036 | -_LT_DECL([], [GREP], [1], [A grep program that handles long lines]) | ||
15037 | -_LT_DECL([], [EGREP], [1], [An ERE matcher]) | ||
15038 | -_LT_DECL([], [FGREP], [1], [A literal string matcher]) | ||
15039 | -dnl Non-bleeding-edge autoconf doesn't subst GREP, so do it here too | ||
15040 | -AC_SUBST([GREP]) | ||
15041 | -]) | ||
15042 | - | ||
15043 | - | ||
15044 | -# _LT_DECL_OBJDUMP | ||
15045 | -# -------------- | ||
15046 | -# If we don't have a new enough Autoconf to choose the best objdump | ||
15047 | -# available, choose the one first in the user's PATH. | ||
15048 | -m4_defun([_LT_DECL_OBJDUMP], | ||
15049 | -[AC_CHECK_TOOL(OBJDUMP, objdump, false) | ||
15050 | -test -z "$OBJDUMP" && OBJDUMP=objdump | ||
15051 | -_LT_DECL([], [OBJDUMP], [1], [An object symbol dumper]) | ||
15052 | -AC_SUBST([OBJDUMP]) | ||
15053 | -]) | ||
15054 | - | ||
15055 | - | ||
15056 | -# _LT_DECL_SED | ||
15057 | -# ------------ | ||
15058 | -# Check for a fully-functional sed program, that truncates | ||
15059 | -# as few characters as possible. Prefer GNU sed if found. | ||
15060 | -m4_defun([_LT_DECL_SED], | ||
15061 | -[AC_PROG_SED | ||
15062 | -test -z "$SED" && SED=sed | ||
15063 | -Xsed="$SED -e 1s/^X//" | ||
15064 | -_LT_DECL([], [SED], [1], [A sed program that does not truncate output]) | ||
15065 | -_LT_DECL([], [Xsed], ["\$SED -e 1s/^X//"], | ||
15066 | - [Sed that helps us avoid accidentally triggering echo(1) options like -n]) | ||
15067 | -])# _LT_DECL_SED | ||
15068 | - | ||
15069 | -m4_ifndef([AC_PROG_SED], [ | ||
15070 | -############################################################ | ||
15071 | -# NOTE: This macro has been submitted for inclusion into # | ||
15072 | -# GNU Autoconf as AC_PROG_SED. When it is available in # | ||
15073 | -# a released version of Autoconf we should remove this # | ||
15074 | -# macro and use it instead. # | ||
15075 | -############################################################ | ||
15076 | - | ||
15077 | -m4_defun([AC_PROG_SED], | ||
15078 | -[AC_MSG_CHECKING([for a sed that does not truncate output]) | ||
15079 | -AC_CACHE_VAL(lt_cv_path_SED, | ||
15080 | -[# Loop through the user's path and test for sed and gsed. | ||
15081 | -# Then use that list of sed's as ones to test for truncation. | ||
15082 | -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR | ||
15083 | -for as_dir in $PATH | ||
15084 | -do | ||
15085 | - IFS=$as_save_IFS | ||
15086 | - test -z "$as_dir" && as_dir=. | ||
15087 | - for lt_ac_prog in sed gsed; do | ||
15088 | - for ac_exec_ext in '' $ac_executable_extensions; do | ||
15089 | - if $as_executable_p "$as_dir/$lt_ac_prog$ac_exec_ext"; then | ||
15090 | - lt_ac_sed_list="$lt_ac_sed_list $as_dir/$lt_ac_prog$ac_exec_ext" | ||
15091 | - fi | ||
15092 | - done | ||
15093 | - done | ||
15094 | -done | ||
15095 | -IFS=$as_save_IFS | ||
15096 | -lt_ac_max=0 | ||
15097 | -lt_ac_count=0 | ||
15098 | -# Add /usr/xpg4/bin/sed as it is typically found on Solaris | ||
15099 | -# along with /bin/sed that truncates output. | ||
15100 | -for lt_ac_sed in $lt_ac_sed_list /usr/xpg4/bin/sed; do | ||
15101 | - test ! -f $lt_ac_sed && continue | ||
15102 | - cat /dev/null > conftest.in | ||
15103 | - lt_ac_count=0 | ||
15104 | - echo $ECHO_N "0123456789$ECHO_C" >conftest.in | ||
15105 | - # Check for GNU sed and select it if it is found. | ||
15106 | - if "$lt_ac_sed" --version 2>&1 < /dev/null | grep 'GNU' > /dev/null; then | ||
15107 | - lt_cv_path_SED=$lt_ac_sed | ||
15108 | - break | ||
15109 | - fi | ||
15110 | - while true; do | ||
15111 | - cat conftest.in conftest.in >conftest.tmp | ||
15112 | - mv conftest.tmp conftest.in | ||
15113 | - cp conftest.in conftest.nl | ||
15114 | - echo >>conftest.nl | ||
15115 | - $lt_ac_sed -e 's/a$//' < conftest.nl >conftest.out || break | ||
15116 | - cmp -s conftest.out conftest.nl || break | ||
15117 | - # 10000 chars as input seems more than enough | ||
15118 | - test $lt_ac_count -gt 10 && break | ||
15119 | - lt_ac_count=`expr $lt_ac_count + 1` | ||
15120 | - if test $lt_ac_count -gt $lt_ac_max; then | ||
15121 | - lt_ac_max=$lt_ac_count | ||
15122 | - lt_cv_path_SED=$lt_ac_sed | ||
15123 | - fi | ||
15124 | - done | ||
15125 | -done | ||
15126 | -]) | ||
15127 | -SED=$lt_cv_path_SED | ||
15128 | -AC_SUBST([SED]) | ||
15129 | -AC_MSG_RESULT([$SED]) | ||
15130 | -])#AC_PROG_SED | ||
15131 | -])#m4_ifndef | ||
15132 | - | ||
15133 | -# Old name: | ||
15134 | -AU_ALIAS([LT_AC_PROG_SED], [AC_PROG_SED]) | ||
15135 | -dnl aclocal-1.4 backwards compatibility: | ||
15136 | -dnl AC_DEFUN([LT_AC_PROG_SED], []) | ||
15137 | - | ||
15138 | - | ||
15139 | -# _LT_CHECK_SHELL_FEATURES | ||
15140 | -# ------------------------ | ||
15141 | -# Find out whether the shell is Bourne or XSI compatible, | ||
15142 | -# or has some other useful features. | ||
15143 | -m4_defun([_LT_CHECK_SHELL_FEATURES], | ||
15144 | -[AC_MSG_CHECKING([whether the shell understands some XSI constructs]) | ||
15145 | -# Try some XSI features | ||
15146 | -xsi_shell=no | ||
15147 | -( _lt_dummy="a/b/c" | ||
15148 | - test "${_lt_dummy##*/},${_lt_dummy%/*},"${_lt_dummy%"$_lt_dummy"}, \ | ||
15149 | - = c,a/b,, \ | ||
15150 | - && eval 'test $(( 1 + 1 )) -eq 2 \ | ||
15151 | - && test "${#_lt_dummy}" -eq 5' ) >/dev/null 2>&1 \ | ||
15152 | - && xsi_shell=yes | ||
15153 | -AC_MSG_RESULT([$xsi_shell]) | ||
15154 | -_LT_CONFIG_LIBTOOL_INIT([xsi_shell='$xsi_shell']) | ||
15155 | - | ||
15156 | -AC_MSG_CHECKING([whether the shell understands "+="]) | ||
15157 | -lt_shell_append=no | ||
15158 | -( foo=bar; set foo baz; eval "$[1]+=\$[2]" && test "$foo" = barbaz ) \ | ||
15159 | - >/dev/null 2>&1 \ | ||
15160 | - && lt_shell_append=yes | ||
15161 | -AC_MSG_RESULT([$lt_shell_append]) | ||
15162 | -_LT_CONFIG_LIBTOOL_INIT([lt_shell_append='$lt_shell_append']) | ||
15163 | - | ||
15164 | -if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then | ||
15165 | - lt_unset=unset | ||
15166 | -else | ||
15167 | - lt_unset=false | ||
15168 | -fi | ||
15169 | -_LT_DECL([], [lt_unset], [0], [whether the shell understands "unset"])dnl | ||
15170 | - | ||
15171 | -# test EBCDIC or ASCII | ||
15172 | -case `echo X|tr X '\101'` in | ||
15173 | - A) # ASCII based system | ||
15174 | - # \n is not interpreted correctly by Solaris 8 /usr/ucb/tr | ||
15175 | - lt_SP2NL='tr \040 \012' | ||
15176 | - lt_NL2SP='tr \015\012 \040\040' | ||
15177 | - ;; | ||
15178 | - *) # EBCDIC based system | ||
15179 | - lt_SP2NL='tr \100 \n' | ||
15180 | - lt_NL2SP='tr \r\n \100\100' | ||
15181 | - ;; | ||
15182 | -esac | ||
15183 | -_LT_DECL([SP2NL], [lt_SP2NL], [1], [turn spaces into newlines])dnl | ||
15184 | -_LT_DECL([NL2SP], [lt_NL2SP], [1], [turn newlines into spaces])dnl | ||
15185 | -])# _LT_CHECK_SHELL_FEATURES | ||
15186 | - | ||
15187 | - | ||
15188 | -# _LT_PROG_XSI_SHELLFNS | ||
15189 | -# --------------------- | ||
15190 | -# Bourne and XSI compatible variants of some useful shell functions. | ||
15191 | -m4_defun([_LT_PROG_XSI_SHELLFNS], | ||
15192 | -[case $xsi_shell in | ||
15193 | - yes) | ||
15194 | - cat << \_LT_EOF >> "$cfgfile" | ||
15195 | - | ||
15196 | -# func_dirname file append nondir_replacement | ||
15197 | -# Compute the dirname of FILE. If nonempty, add APPEND to the result, | ||
15198 | -# otherwise set result to NONDIR_REPLACEMENT. | ||
15199 | -func_dirname () | ||
15200 | -{ | ||
15201 | - case ${1} in | ||
15202 | - */*) func_dirname_result="${1%/*}${2}" ;; | ||
15203 | - * ) func_dirname_result="${3}" ;; | ||
15204 | - esac | ||
15205 | -} | ||
15206 | - | ||
15207 | -# func_basename file | ||
15208 | -func_basename () | ||
15209 | -{ | ||
15210 | - func_basename_result="${1##*/}" | ||
15211 | -} | ||
15212 | - | ||
15213 | -# func_dirname_and_basename file append nondir_replacement | ||
15214 | -# perform func_basename and func_dirname in a single function | ||
15215 | -# call: | ||
15216 | -# dirname: Compute the dirname of FILE. If nonempty, | ||
15217 | -# add APPEND to the result, otherwise set result | ||
15218 | -# to NONDIR_REPLACEMENT. | ||
15219 | -# value returned in "$func_dirname_result" | ||
15220 | -# basename: Compute filename of FILE. | ||
15221 | -# value retuned in "$func_basename_result" | ||
15222 | -# Implementation must be kept synchronized with func_dirname | ||
15223 | -# and func_basename. For efficiency, we do not delegate to | ||
15224 | -# those functions but instead duplicate the functionality here. | ||
15225 | -func_dirname_and_basename () | ||
15226 | -{ | ||
15227 | - case ${1} in | ||
15228 | - */*) func_dirname_result="${1%/*}${2}" ;; | ||
15229 | - * ) func_dirname_result="${3}" ;; | ||
15230 | - esac | ||
15231 | - func_basename_result="${1##*/}" | ||
15232 | -} | ||
15233 | - | ||
15234 | -# func_stripname prefix suffix name | ||
15235 | -# strip PREFIX and SUFFIX off of NAME. | ||
15236 | -# PREFIX and SUFFIX must not contain globbing or regex special | ||
15237 | -# characters, hashes, percent signs, but SUFFIX may contain a leading | ||
15238 | -# dot (in which case that matches only a dot). | ||
15239 | -func_stripname () | ||
15240 | -{ | ||
15241 | - # pdksh 5.2.14 does not do ${X%$Y} correctly if both X and Y are | ||
15242 | - # positional parameters, so assign one to ordinary parameter first. | ||
15243 | - func_stripname_result=${3} | ||
15244 | - func_stripname_result=${func_stripname_result#"${1}"} | ||
15245 | - func_stripname_result=${func_stripname_result%"${2}"} | ||
15246 | -} | ||
15247 | - | ||
15248 | -# func_opt_split | ||
15249 | -func_opt_split () | ||
15250 | -{ | ||
15251 | - func_opt_split_opt=${1%%=*} | ||
15252 | - func_opt_split_arg=${1#*=} | ||
15253 | -} | ||
15254 | - | ||
15255 | -# func_lo2o object | ||
15256 | -func_lo2o () | ||
15257 | -{ | ||
15258 | - case ${1} in | ||
15259 | - *.lo) func_lo2o_result=${1%.lo}.${objext} ;; | ||
15260 | - *) func_lo2o_result=${1} ;; | ||
15261 | - esac | ||
15262 | -} | ||
15263 | - | ||
15264 | -# func_xform libobj-or-source | ||
15265 | -func_xform () | ||
15266 | -{ | ||
15267 | - func_xform_result=${1%.*}.lo | ||
15268 | -} | ||
15269 | - | ||
15270 | -# func_arith arithmetic-term... | ||
15271 | -func_arith () | ||
15272 | -{ | ||
15273 | - func_arith_result=$(( $[*] )) | ||
15274 | -} | ||
15275 | - | ||
15276 | -# func_len string | ||
15277 | -# STRING may not start with a hyphen. | ||
15278 | -func_len () | ||
15279 | -{ | ||
15280 | - func_len_result=${#1} | ||
15281 | -} | ||
15282 | - | ||
15283 | -_LT_EOF | ||
15284 | - ;; | ||
15285 | - *) # Bourne compatible functions. | ||
15286 | - cat << \_LT_EOF >> "$cfgfile" | ||
15287 | - | ||
15288 | -# func_dirname file append nondir_replacement | ||
15289 | -# Compute the dirname of FILE. If nonempty, add APPEND to the result, | ||
15290 | -# otherwise set result to NONDIR_REPLACEMENT. | ||
15291 | -func_dirname () | ||
15292 | -{ | ||
15293 | - # Extract subdirectory from the argument. | ||
15294 | - func_dirname_result=`$ECHO "X${1}" | $Xsed -e "$dirname"` | ||
15295 | - if test "X$func_dirname_result" = "X${1}"; then | ||
15296 | - func_dirname_result="${3}" | ||
15297 | - else | ||
15298 | - func_dirname_result="$func_dirname_result${2}" | ||
15299 | - fi | ||
15300 | -} | ||
15301 | - | ||
15302 | -# func_basename file | ||
15303 | -func_basename () | ||
15304 | -{ | ||
15305 | - func_basename_result=`$ECHO "X${1}" | $Xsed -e "$basename"` | ||
15306 | -} | ||
15307 | - | ||
15308 | -dnl func_dirname_and_basename | ||
15309 | -dnl A portable version of this function is already defined in general.m4sh | ||
15310 | -dnl so there is no need for it here. | ||
15311 | - | ||
15312 | -# func_stripname prefix suffix name | ||
15313 | -# strip PREFIX and SUFFIX off of NAME. | ||
15314 | -# PREFIX and SUFFIX must not contain globbing or regex special | ||
15315 | -# characters, hashes, percent signs, but SUFFIX may contain a leading | ||
15316 | -# dot (in which case that matches only a dot). | ||
15317 | -# func_strip_suffix prefix name | ||
15318 | -func_stripname () | ||
15319 | -{ | ||
15320 | - case ${2} in | ||
15321 | - .*) func_stripname_result=`$ECHO "X${3}" \ | ||
15322 | - | $Xsed -e "s%^${1}%%" -e "s%\\\\${2}\$%%"`;; | ||
15323 | - *) func_stripname_result=`$ECHO "X${3}" \ | ||
15324 | - | $Xsed -e "s%^${1}%%" -e "s%${2}\$%%"`;; | ||
15325 | - esac | ||
15326 | -} | ||
15327 | - | ||
15328 | -# sed scripts: | ||
15329 | -my_sed_long_opt='1s/^\(-[[^=]]*\)=.*/\1/;q' | ||
15330 | -my_sed_long_arg='1s/^-[[^=]]*=//' | ||
15331 | - | ||
15332 | -# func_opt_split | ||
15333 | -func_opt_split () | ||
15334 | -{ | ||
15335 | - func_opt_split_opt=`$ECHO "X${1}" | $Xsed -e "$my_sed_long_opt"` | ||
15336 | - func_opt_split_arg=`$ECHO "X${1}" | $Xsed -e "$my_sed_long_arg"` | ||
15337 | -} | ||
15338 | - | ||
15339 | -# func_lo2o object | ||
15340 | -func_lo2o () | ||
15341 | -{ | ||
15342 | - func_lo2o_result=`$ECHO "X${1}" | $Xsed -e "$lo2o"` | ||
15343 | -} | ||
15344 | - | ||
15345 | -# func_xform libobj-or-source | ||
15346 | -func_xform () | ||
15347 | -{ | ||
15348 | - func_xform_result=`$ECHO "X${1}" | $Xsed -e 's/\.[[^.]]*$/.lo/'` | ||
15349 | -} | ||
15350 | - | ||
15351 | -# func_arith arithmetic-term... | ||
15352 | -func_arith () | ||
15353 | -{ | ||
15354 | - func_arith_result=`expr "$[@]"` | ||
15355 | -} | ||
15356 | - | ||
15357 | -# func_len string | ||
15358 | -# STRING may not start with a hyphen. | ||
15359 | -func_len () | ||
15360 | -{ | ||
15361 | - func_len_result=`expr "$[1]" : ".*" 2>/dev/null || echo $max_cmd_len` | ||
15362 | -} | ||
15363 | - | ||
15364 | -_LT_EOF | ||
15365 | -esac | ||
15366 | - | ||
15367 | -case $lt_shell_append in | ||
15368 | - yes) | ||
15369 | - cat << \_LT_EOF >> "$cfgfile" | ||
15370 | - | ||
15371 | -# func_append var value | ||
15372 | -# Append VALUE to the end of shell variable VAR. | ||
15373 | -func_append () | ||
15374 | -{ | ||
15375 | - eval "$[1]+=\$[2]" | ||
15376 | -} | ||
15377 | -_LT_EOF | ||
15378 | - ;; | ||
15379 | - *) | ||
15380 | - cat << \_LT_EOF >> "$cfgfile" | ||
15381 | - | ||
15382 | -# func_append var value | ||
15383 | -# Append VALUE to the end of shell variable VAR. | ||
15384 | -func_append () | ||
15385 | -{ | ||
15386 | - eval "$[1]=\$$[1]\$[2]" | ||
15387 | -} | ||
15388 | - | ||
15389 | -_LT_EOF | ||
15390 | - ;; | ||
15391 | - esac | ||
15392 | -]) | ||
15393 | Index: libiconv-1.13.1/m4/ltoptions.m4 | ||
15394 | =================================================================== | ||
15395 | --- libiconv-1.13.1.orig/m4/ltoptions.m4 | ||
15396 | +++ /dev/null | ||
15397 | @@ -1,368 +0,0 @@ | ||
15398 | -# Helper functions for option handling. -*- Autoconf -*- | ||
15399 | -# | ||
15400 | -# Copyright (C) 2004, 2005, 2007, 2008 Free Software Foundation, Inc. | ||
15401 | -# Written by Gary V. Vaughan, 2004 | ||
15402 | -# | ||
15403 | -# This file is free software; the Free Software Foundation gives | ||
15404 | -# unlimited permission to copy and/or distribute it, with or without | ||
15405 | -# modifications, as long as this notice is preserved. | ||
15406 | - | ||
15407 | -# serial 6 ltoptions.m4 | ||
15408 | - | ||
15409 | -# This is to help aclocal find these macros, as it can't see m4_define. | ||
15410 | -AC_DEFUN([LTOPTIONS_VERSION], [m4_if([1])]) | ||
15411 | - | ||
15412 | - | ||
15413 | -# _LT_MANGLE_OPTION(MACRO-NAME, OPTION-NAME) | ||
15414 | -# ------------------------------------------ | ||
15415 | -m4_define([_LT_MANGLE_OPTION], | ||
15416 | -[[_LT_OPTION_]m4_bpatsubst($1__$2, [[^a-zA-Z0-9_]], [_])]) | ||
15417 | - | ||
15418 | - | ||
15419 | -# _LT_SET_OPTION(MACRO-NAME, OPTION-NAME) | ||
15420 | -# --------------------------------------- | ||
15421 | -# Set option OPTION-NAME for macro MACRO-NAME, and if there is a | ||
15422 | -# matching handler defined, dispatch to it. Other OPTION-NAMEs are | ||
15423 | -# saved as a flag. | ||
15424 | -m4_define([_LT_SET_OPTION], | ||
15425 | -[m4_define(_LT_MANGLE_OPTION([$1], [$2]))dnl | ||
15426 | -m4_ifdef(_LT_MANGLE_DEFUN([$1], [$2]), | ||
15427 | - _LT_MANGLE_DEFUN([$1], [$2]), | ||
15428 | - [m4_warning([Unknown $1 option `$2'])])[]dnl | ||
15429 | -]) | ||
15430 | - | ||
15431 | - | ||
15432 | -# _LT_IF_OPTION(MACRO-NAME, OPTION-NAME, IF-SET, [IF-NOT-SET]) | ||
15433 | -# ------------------------------------------------------------ | ||
15434 | -# Execute IF-SET if OPTION is set, IF-NOT-SET otherwise. | ||
15435 | -m4_define([_LT_IF_OPTION], | ||
15436 | -[m4_ifdef(_LT_MANGLE_OPTION([$1], [$2]), [$3], [$4])]) | ||
15437 | - | ||
15438 | - | ||
15439 | -# _LT_UNLESS_OPTIONS(MACRO-NAME, OPTION-LIST, IF-NOT-SET) | ||
15440 | -# ------------------------------------------------------- | ||
15441 | -# Execute IF-NOT-SET unless all options in OPTION-LIST for MACRO-NAME | ||
15442 | -# are set. | ||
15443 | -m4_define([_LT_UNLESS_OPTIONS], | ||
15444 | -[m4_foreach([_LT_Option], m4_split(m4_normalize([$2])), | ||
15445 | - [m4_ifdef(_LT_MANGLE_OPTION([$1], _LT_Option), | ||
15446 | - [m4_define([$0_found])])])[]dnl | ||
15447 | -m4_ifdef([$0_found], [m4_undefine([$0_found])], [$3 | ||
15448 | -])[]dnl | ||
15449 | -]) | ||
15450 | - | ||
15451 | - | ||
15452 | -# _LT_SET_OPTIONS(MACRO-NAME, OPTION-LIST) | ||
15453 | -# ---------------------------------------- | ||
15454 | -# OPTION-LIST is a space-separated list of Libtool options associated | ||
15455 | -# with MACRO-NAME. If any OPTION has a matching handler declared with | ||
15456 | -# LT_OPTION_DEFINE, dispatch to that macro; otherwise complain about | ||
15457 | -# the unknown option and exit. | ||
15458 | -m4_defun([_LT_SET_OPTIONS], | ||
15459 | -[# Set options | ||
15460 | -m4_foreach([_LT_Option], m4_split(m4_normalize([$2])), | ||
15461 | - [_LT_SET_OPTION([$1], _LT_Option)]) | ||
15462 | - | ||
15463 | -m4_if([$1],[LT_INIT],[ | ||
15464 | - dnl | ||
15465 | - dnl Simply set some default values (i.e off) if boolean options were not | ||
15466 | - dnl specified: | ||
15467 | - _LT_UNLESS_OPTIONS([LT_INIT], [dlopen], [enable_dlopen=no | ||
15468 | - ]) | ||
15469 | - _LT_UNLESS_OPTIONS([LT_INIT], [win32-dll], [enable_win32_dll=no | ||
15470 | - ]) | ||
15471 | - dnl | ||
15472 | - dnl If no reference was made to various pairs of opposing options, then | ||
15473 | - dnl we run the default mode handler for the pair. For example, if neither | ||
15474 | - dnl `shared' nor `disable-shared' was passed, we enable building of shared | ||
15475 | - dnl archives by default: | ||
15476 | - _LT_UNLESS_OPTIONS([LT_INIT], [shared disable-shared], [_LT_ENABLE_SHARED]) | ||
15477 | - _LT_UNLESS_OPTIONS([LT_INIT], [static disable-static], [_LT_ENABLE_STATIC]) | ||
15478 | - _LT_UNLESS_OPTIONS([LT_INIT], [pic-only no-pic], [_LT_WITH_PIC]) | ||
15479 | - _LT_UNLESS_OPTIONS([LT_INIT], [fast-install disable-fast-install], | ||
15480 | - [_LT_ENABLE_FAST_INSTALL]) | ||
15481 | - ]) | ||
15482 | -])# _LT_SET_OPTIONS | ||
15483 | - | ||
15484 | - | ||
15485 | -## --------------------------------- ## | ||
15486 | -## Macros to handle LT_INIT options. ## | ||
15487 | -## --------------------------------- ## | ||
15488 | - | ||
15489 | -# _LT_MANGLE_DEFUN(MACRO-NAME, OPTION-NAME) | ||
15490 | -# ----------------------------------------- | ||
15491 | -m4_define([_LT_MANGLE_DEFUN], | ||
15492 | -[[_LT_OPTION_DEFUN_]m4_bpatsubst(m4_toupper([$1__$2]), [[^A-Z0-9_]], [_])]) | ||
15493 | - | ||
15494 | - | ||
15495 | -# LT_OPTION_DEFINE(MACRO-NAME, OPTION-NAME, CODE) | ||
15496 | -# ----------------------------------------------- | ||
15497 | -m4_define([LT_OPTION_DEFINE], | ||
15498 | -[m4_define(_LT_MANGLE_DEFUN([$1], [$2]), [$3])[]dnl | ||
15499 | -])# LT_OPTION_DEFINE | ||
15500 | - | ||
15501 | - | ||
15502 | -# dlopen | ||
15503 | -# ------ | ||
15504 | -LT_OPTION_DEFINE([LT_INIT], [dlopen], [enable_dlopen=yes | ||
15505 | -]) | ||
15506 | - | ||
15507 | -AU_DEFUN([AC_LIBTOOL_DLOPEN], | ||
15508 | -[_LT_SET_OPTION([LT_INIT], [dlopen]) | ||
15509 | -AC_DIAGNOSE([obsolete], | ||
15510 | -[$0: Remove this warning and the call to _LT_SET_OPTION when you | ||
15511 | -put the `dlopen' option into LT_INIT's first parameter.]) | ||
15512 | -]) | ||
15513 | - | ||
15514 | -dnl aclocal-1.4 backwards compatibility: | ||
15515 | -dnl AC_DEFUN([AC_LIBTOOL_DLOPEN], []) | ||
15516 | - | ||
15517 | - | ||
15518 | -# win32-dll | ||
15519 | -# --------- | ||
15520 | -# Declare package support for building win32 dll's. | ||
15521 | -LT_OPTION_DEFINE([LT_INIT], [win32-dll], | ||
15522 | -[enable_win32_dll=yes | ||
15523 | - | ||
15524 | -case $host in | ||
15525 | -*-*-cygwin* | *-*-mingw* | *-*-pw32* | *-cegcc*) | ||
15526 | - AC_CHECK_TOOL(AS, as, false) | ||
15527 | - AC_CHECK_TOOL(DLLTOOL, dlltool, false) | ||
15528 | - AC_CHECK_TOOL(OBJDUMP, objdump, false) | ||
15529 | - ;; | ||
15530 | -esac | ||
15531 | - | ||
15532 | -test -z "$AS" && AS=as | ||
15533 | -_LT_DECL([], [AS], [0], [Assembler program])dnl | ||
15534 | - | ||
15535 | -test -z "$DLLTOOL" && DLLTOOL=dlltool | ||
15536 | -_LT_DECL([], [DLLTOOL], [0], [DLL creation program])dnl | ||
15537 | - | ||
15538 | -test -z "$OBJDUMP" && OBJDUMP=objdump | ||
15539 | -_LT_DECL([], [OBJDUMP], [0], [Object dumper program])dnl | ||
15540 | -])# win32-dll | ||
15541 | - | ||
15542 | -AU_DEFUN([AC_LIBTOOL_WIN32_DLL], | ||
15543 | -[AC_REQUIRE([AC_CANONICAL_HOST])dnl | ||
15544 | -_LT_SET_OPTION([LT_INIT], [win32-dll]) | ||
15545 | -AC_DIAGNOSE([obsolete], | ||
15546 | -[$0: Remove this warning and the call to _LT_SET_OPTION when you | ||
15547 | -put the `win32-dll' option into LT_INIT's first parameter.]) | ||
15548 | -]) | ||
15549 | - | ||
15550 | -dnl aclocal-1.4 backwards compatibility: | ||
15551 | -dnl AC_DEFUN([AC_LIBTOOL_WIN32_DLL], []) | ||
15552 | - | ||
15553 | - | ||
15554 | -# _LT_ENABLE_SHARED([DEFAULT]) | ||
15555 | -# ---------------------------- | ||
15556 | -# implement the --enable-shared flag, and supports the `shared' and | ||
15557 | -# `disable-shared' LT_INIT options. | ||
15558 | -# DEFAULT is either `yes' or `no'. If omitted, it defaults to `yes'. | ||
15559 | -m4_define([_LT_ENABLE_SHARED], | ||
15560 | -[m4_define([_LT_ENABLE_SHARED_DEFAULT], [m4_if($1, no, no, yes)])dnl | ||
15561 | -AC_ARG_ENABLE([shared], | ||
15562 | - [AS_HELP_STRING([--enable-shared@<:@=PKGS@:>@], | ||
15563 | - [build shared libraries @<:@default=]_LT_ENABLE_SHARED_DEFAULT[@:>@])], | ||
15564 | - [p=${PACKAGE-default} | ||
15565 | - case $enableval in | ||
15566 | - yes) enable_shared=yes ;; | ||
15567 | - no) enable_shared=no ;; | ||
15568 | - *) | ||
15569 | - enable_shared=no | ||
15570 | - # Look at the argument we got. We use all the common list separators. | ||
15571 | - lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," | ||
15572 | - for pkg in $enableval; do | ||
15573 | - IFS="$lt_save_ifs" | ||
15574 | - if test "X$pkg" = "X$p"; then | ||
15575 | - enable_shared=yes | ||
15576 | - fi | ||
15577 | - done | ||
15578 | - IFS="$lt_save_ifs" | ||
15579 | - ;; | ||
15580 | - esac], | ||
15581 | - [enable_shared=]_LT_ENABLE_SHARED_DEFAULT) | ||
15582 | - | ||
15583 | - _LT_DECL([build_libtool_libs], [enable_shared], [0], | ||
15584 | - [Whether or not to build shared libraries]) | ||
15585 | -])# _LT_ENABLE_SHARED | ||
15586 | - | ||
15587 | -LT_OPTION_DEFINE([LT_INIT], [shared], [_LT_ENABLE_SHARED([yes])]) | ||
15588 | -LT_OPTION_DEFINE([LT_INIT], [disable-shared], [_LT_ENABLE_SHARED([no])]) | ||
15589 | - | ||
15590 | -# Old names: | ||
15591 | -AC_DEFUN([AC_ENABLE_SHARED], | ||
15592 | -[_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[shared]) | ||
15593 | -]) | ||
15594 | - | ||
15595 | -AC_DEFUN([AC_DISABLE_SHARED], | ||
15596 | -[_LT_SET_OPTION([LT_INIT], [disable-shared]) | ||
15597 | -]) | ||
15598 | - | ||
15599 | -AU_DEFUN([AM_ENABLE_SHARED], [AC_ENABLE_SHARED($@)]) | ||
15600 | -AU_DEFUN([AM_DISABLE_SHARED], [AC_DISABLE_SHARED($@)]) | ||
15601 | - | ||
15602 | -dnl aclocal-1.4 backwards compatibility: | ||
15603 | -dnl AC_DEFUN([AM_ENABLE_SHARED], []) | ||
15604 | -dnl AC_DEFUN([AM_DISABLE_SHARED], []) | ||
15605 | - | ||
15606 | - | ||
15607 | - | ||
15608 | -# _LT_ENABLE_STATIC([DEFAULT]) | ||
15609 | -# ---------------------------- | ||
15610 | -# implement the --enable-static flag, and support the `static' and | ||
15611 | -# `disable-static' LT_INIT options. | ||
15612 | -# DEFAULT is either `yes' or `no'. If omitted, it defaults to `yes'. | ||
15613 | -m4_define([_LT_ENABLE_STATIC], | ||
15614 | -[m4_define([_LT_ENABLE_STATIC_DEFAULT], [m4_if($1, no, no, yes)])dnl | ||
15615 | -AC_ARG_ENABLE([static], | ||
15616 | - [AS_HELP_STRING([--enable-static@<:@=PKGS@:>@], | ||
15617 | - [build static libraries @<:@default=]_LT_ENABLE_STATIC_DEFAULT[@:>@])], | ||
15618 | - [p=${PACKAGE-default} | ||
15619 | - case $enableval in | ||
15620 | - yes) enable_static=yes ;; | ||
15621 | - no) enable_static=no ;; | ||
15622 | - *) | ||
15623 | - enable_static=no | ||
15624 | - # Look at the argument we got. We use all the common list separators. | ||
15625 | - lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," | ||
15626 | - for pkg in $enableval; do | ||
15627 | - IFS="$lt_save_ifs" | ||
15628 | - if test "X$pkg" = "X$p"; then | ||
15629 | - enable_static=yes | ||
15630 | - fi | ||
15631 | - done | ||
15632 | - IFS="$lt_save_ifs" | ||
15633 | - ;; | ||
15634 | - esac], | ||
15635 | - [enable_static=]_LT_ENABLE_STATIC_DEFAULT) | ||
15636 | - | ||
15637 | - _LT_DECL([build_old_libs], [enable_static], [0], | ||
15638 | - [Whether or not to build static libraries]) | ||
15639 | -])# _LT_ENABLE_STATIC | ||
15640 | - | ||
15641 | -LT_OPTION_DEFINE([LT_INIT], [static], [_LT_ENABLE_STATIC([yes])]) | ||
15642 | -LT_OPTION_DEFINE([LT_INIT], [disable-static], [_LT_ENABLE_STATIC([no])]) | ||
15643 | - | ||
15644 | -# Old names: | ||
15645 | -AC_DEFUN([AC_ENABLE_STATIC], | ||
15646 | -[_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[static]) | ||
15647 | -]) | ||
15648 | - | ||
15649 | -AC_DEFUN([AC_DISABLE_STATIC], | ||
15650 | -[_LT_SET_OPTION([LT_INIT], [disable-static]) | ||
15651 | -]) | ||
15652 | - | ||
15653 | -AU_DEFUN([AM_ENABLE_STATIC], [AC_ENABLE_STATIC($@)]) | ||
15654 | -AU_DEFUN([AM_DISABLE_STATIC], [AC_DISABLE_STATIC($@)]) | ||
15655 | - | ||
15656 | -dnl aclocal-1.4 backwards compatibility: | ||
15657 | -dnl AC_DEFUN([AM_ENABLE_STATIC], []) | ||
15658 | -dnl AC_DEFUN([AM_DISABLE_STATIC], []) | ||
15659 | - | ||
15660 | - | ||
15661 | - | ||
15662 | -# _LT_ENABLE_FAST_INSTALL([DEFAULT]) | ||
15663 | -# ---------------------------------- | ||
15664 | -# implement the --enable-fast-install flag, and support the `fast-install' | ||
15665 | -# and `disable-fast-install' LT_INIT options. | ||
15666 | -# DEFAULT is either `yes' or `no'. If omitted, it defaults to `yes'. | ||
15667 | -m4_define([_LT_ENABLE_FAST_INSTALL], | ||
15668 | -[m4_define([_LT_ENABLE_FAST_INSTALL_DEFAULT], [m4_if($1, no, no, yes)])dnl | ||
15669 | -AC_ARG_ENABLE([fast-install], | ||
15670 | - [AS_HELP_STRING([--enable-fast-install@<:@=PKGS@:>@], | ||
15671 | - [optimize for fast installation @<:@default=]_LT_ENABLE_FAST_INSTALL_DEFAULT[@:>@])], | ||
15672 | - [p=${PACKAGE-default} | ||
15673 | - case $enableval in | ||
15674 | - yes) enable_fast_install=yes ;; | ||
15675 | - no) enable_fast_install=no ;; | ||
15676 | - *) | ||
15677 | - enable_fast_install=no | ||
15678 | - # Look at the argument we got. We use all the common list separators. | ||
15679 | - lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," | ||
15680 | - for pkg in $enableval; do | ||
15681 | - IFS="$lt_save_ifs" | ||
15682 | - if test "X$pkg" = "X$p"; then | ||
15683 | - enable_fast_install=yes | ||
15684 | - fi | ||
15685 | - done | ||
15686 | - IFS="$lt_save_ifs" | ||
15687 | - ;; | ||
15688 | - esac], | ||
15689 | - [enable_fast_install=]_LT_ENABLE_FAST_INSTALL_DEFAULT) | ||
15690 | - | ||
15691 | -_LT_DECL([fast_install], [enable_fast_install], [0], | ||
15692 | - [Whether or not to optimize for fast installation])dnl | ||
15693 | -])# _LT_ENABLE_FAST_INSTALL | ||
15694 | - | ||
15695 | -LT_OPTION_DEFINE([LT_INIT], [fast-install], [_LT_ENABLE_FAST_INSTALL([yes])]) | ||
15696 | -LT_OPTION_DEFINE([LT_INIT], [disable-fast-install], [_LT_ENABLE_FAST_INSTALL([no])]) | ||
15697 | - | ||
15698 | -# Old names: | ||
15699 | -AU_DEFUN([AC_ENABLE_FAST_INSTALL], | ||
15700 | -[_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[fast-install]) | ||
15701 | -AC_DIAGNOSE([obsolete], | ||
15702 | -[$0: Remove this warning and the call to _LT_SET_OPTION when you put | ||
15703 | -the `fast-install' option into LT_INIT's first parameter.]) | ||
15704 | -]) | ||
15705 | - | ||
15706 | -AU_DEFUN([AC_DISABLE_FAST_INSTALL], | ||
15707 | -[_LT_SET_OPTION([LT_INIT], [disable-fast-install]) | ||
15708 | -AC_DIAGNOSE([obsolete], | ||
15709 | -[$0: Remove this warning and the call to _LT_SET_OPTION when you put | ||
15710 | -the `disable-fast-install' option into LT_INIT's first parameter.]) | ||
15711 | -]) | ||
15712 | - | ||
15713 | -dnl aclocal-1.4 backwards compatibility: | ||
15714 | -dnl AC_DEFUN([AC_ENABLE_FAST_INSTALL], []) | ||
15715 | -dnl AC_DEFUN([AM_DISABLE_FAST_INSTALL], []) | ||
15716 | - | ||
15717 | - | ||
15718 | -# _LT_WITH_PIC([MODE]) | ||
15719 | -# -------------------- | ||
15720 | -# implement the --with-pic flag, and support the `pic-only' and `no-pic' | ||
15721 | -# LT_INIT options. | ||
15722 | -# MODE is either `yes' or `no'. If omitted, it defaults to `both'. | ||
15723 | -m4_define([_LT_WITH_PIC], | ||
15724 | -[AC_ARG_WITH([pic], | ||
15725 | - [AS_HELP_STRING([--with-pic], | ||
15726 | - [try to use only PIC/non-PIC objects @<:@default=use both@:>@])], | ||
15727 | - [pic_mode="$withval"], | ||
15728 | - [pic_mode=default]) | ||
15729 | - | ||
15730 | -test -z "$pic_mode" && pic_mode=m4_default([$1], [default]) | ||
15731 | - | ||
15732 | -_LT_DECL([], [pic_mode], [0], [What type of objects to build])dnl | ||
15733 | -])# _LT_WITH_PIC | ||
15734 | - | ||
15735 | -LT_OPTION_DEFINE([LT_INIT], [pic-only], [_LT_WITH_PIC([yes])]) | ||
15736 | -LT_OPTION_DEFINE([LT_INIT], [no-pic], [_LT_WITH_PIC([no])]) | ||
15737 | - | ||
15738 | -# Old name: | ||
15739 | -AU_DEFUN([AC_LIBTOOL_PICMODE], | ||
15740 | -[_LT_SET_OPTION([LT_INIT], [pic-only]) | ||
15741 | -AC_DIAGNOSE([obsolete], | ||
15742 | -[$0: Remove this warning and the call to _LT_SET_OPTION when you | ||
15743 | -put the `pic-only' option into LT_INIT's first parameter.]) | ||
15744 | -]) | ||
15745 | - | ||
15746 | -dnl aclocal-1.4 backwards compatibility: | ||
15747 | -dnl AC_DEFUN([AC_LIBTOOL_PICMODE], []) | ||
15748 | - | ||
15749 | -## ----------------- ## | ||
15750 | -## LTDL_INIT Options ## | ||
15751 | -## ----------------- ## | ||
15752 | - | ||
15753 | -m4_define([_LTDL_MODE], []) | ||
15754 | -LT_OPTION_DEFINE([LTDL_INIT], [nonrecursive], | ||
15755 | - [m4_define([_LTDL_MODE], [nonrecursive])]) | ||
15756 | -LT_OPTION_DEFINE([LTDL_INIT], [recursive], | ||
15757 | - [m4_define([_LTDL_MODE], [recursive])]) | ||
15758 | -LT_OPTION_DEFINE([LTDL_INIT], [subproject], | ||
15759 | - [m4_define([_LTDL_MODE], [subproject])]) | ||
15760 | - | ||
15761 | -m4_define([_LTDL_TYPE], []) | ||
15762 | -LT_OPTION_DEFINE([LTDL_INIT], [installable], | ||
15763 | - [m4_define([_LTDL_TYPE], [installable])]) | ||
15764 | -LT_OPTION_DEFINE([LTDL_INIT], [convenience], | ||
15765 | - [m4_define([_LTDL_TYPE], [convenience])]) | ||
15766 | Index: libiconv-1.13.1/m4/ltsugar.m4 | ||
15767 | =================================================================== | ||
15768 | --- libiconv-1.13.1.orig/m4/ltsugar.m4 | ||
15769 | +++ /dev/null | ||
15770 | @@ -1,123 +0,0 @@ | ||
15771 | -# ltsugar.m4 -- libtool m4 base layer. -*-Autoconf-*- | ||
15772 | -# | ||
15773 | -# Copyright (C) 2004, 2005, 2007, 2008 Free Software Foundation, Inc. | ||
15774 | -# Written by Gary V. Vaughan, 2004 | ||
15775 | -# | ||
15776 | -# This file is free software; the Free Software Foundation gives | ||
15777 | -# unlimited permission to copy and/or distribute it, with or without | ||
15778 | -# modifications, as long as this notice is preserved. | ||
15779 | - | ||
15780 | -# serial 6 ltsugar.m4 | ||
15781 | - | ||
15782 | -# This is to help aclocal find these macros, as it can't see m4_define. | ||
15783 | -AC_DEFUN([LTSUGAR_VERSION], [m4_if([0.1])]) | ||
15784 | - | ||
15785 | - | ||
15786 | -# lt_join(SEP, ARG1, [ARG2...]) | ||
15787 | -# ----------------------------- | ||
15788 | -# Produce ARG1SEPARG2...SEPARGn, omitting [] arguments and their | ||
15789 | -# associated separator. | ||
15790 | -# Needed until we can rely on m4_join from Autoconf 2.62, since all earlier | ||
15791 | -# versions in m4sugar had bugs. | ||
15792 | -m4_define([lt_join], | ||
15793 | -[m4_if([$#], [1], [], | ||
15794 | - [$#], [2], [[$2]], | ||
15795 | - [m4_if([$2], [], [], [[$2]_])$0([$1], m4_shift(m4_shift($@)))])]) | ||
15796 | -m4_define([_lt_join], | ||
15797 | -[m4_if([$#$2], [2], [], | ||
15798 | - [m4_if([$2], [], [], [[$1$2]])$0([$1], m4_shift(m4_shift($@)))])]) | ||
15799 | - | ||
15800 | - | ||
15801 | -# lt_car(LIST) | ||
15802 | -# lt_cdr(LIST) | ||
15803 | -# ------------ | ||
15804 | -# Manipulate m4 lists. | ||
15805 | -# These macros are necessary as long as will still need to support | ||
15806 | -# Autoconf-2.59 which quotes differently. | ||
15807 | -m4_define([lt_car], [[$1]]) | ||
15808 | -m4_define([lt_cdr], | ||
15809 | -[m4_if([$#], 0, [m4_fatal([$0: cannot be called without arguments])], | ||
15810 | - [$#], 1, [], | ||
15811 | - [m4_dquote(m4_shift($@))])]) | ||
15812 | -m4_define([lt_unquote], $1) | ||
15813 | - | ||
15814 | - | ||
15815 | -# lt_append(MACRO-NAME, STRING, [SEPARATOR]) | ||
15816 | -# ------------------------------------------ | ||
15817 | -# Redefine MACRO-NAME to hold its former content plus `SEPARATOR'`STRING'. | ||
15818 | -# Note that neither SEPARATOR nor STRING are expanded; they are appended | ||
15819 | -# to MACRO-NAME as is (leaving the expansion for when MACRO-NAME is invoked). | ||
15820 | -# No SEPARATOR is output if MACRO-NAME was previously undefined (different | ||
15821 | -# than defined and empty). | ||
15822 | -# | ||
15823 | -# This macro is needed until we can rely on Autoconf 2.62, since earlier | ||
15824 | -# versions of m4sugar mistakenly expanded SEPARATOR but not STRING. | ||
15825 | -m4_define([lt_append], | ||
15826 | -[m4_define([$1], | ||
15827 | - m4_ifdef([$1], [m4_defn([$1])[$3]])[$2])]) | ||
15828 | - | ||
15829 | - | ||
15830 | - | ||
15831 | -# lt_combine(SEP, PREFIX-LIST, INFIX, SUFFIX1, [SUFFIX2...]) | ||
15832 | -# ---------------------------------------------------------- | ||
15833 | -# Produce a SEP delimited list of all paired combinations of elements of | ||
15834 | -# PREFIX-LIST with SUFFIX1 through SUFFIXn. Each element of the list | ||
15835 | -# has the form PREFIXmINFIXSUFFIXn. | ||
15836 | -# Needed until we can rely on m4_combine added in Autoconf 2.62. | ||
15837 | -m4_define([lt_combine], | ||
15838 | -[m4_if(m4_eval([$# > 3]), [1], | ||
15839 | - [m4_pushdef([_Lt_sep], [m4_define([_Lt_sep], m4_defn([lt_car]))])]]dnl | ||
15840 | -[[m4_foreach([_Lt_prefix], [$2], | ||
15841 | - [m4_foreach([_Lt_suffix], | ||
15842 | - ]m4_dquote(m4_dquote(m4_shift(m4_shift(m4_shift($@)))))[, | ||
15843 | - [_Lt_sep([$1])[]m4_defn([_Lt_prefix])[$3]m4_defn([_Lt_suffix])])])])]) | ||
15844 | - | ||
15845 | - | ||
15846 | -# lt_if_append_uniq(MACRO-NAME, VARNAME, [SEPARATOR], [UNIQ], [NOT-UNIQ]) | ||
15847 | -# ----------------------------------------------------------------------- | ||
15848 | -# Iff MACRO-NAME does not yet contain VARNAME, then append it (delimited | ||
15849 | -# by SEPARATOR if supplied) and expand UNIQ, else NOT-UNIQ. | ||
15850 | -m4_define([lt_if_append_uniq], | ||
15851 | -[m4_ifdef([$1], | ||
15852 | - [m4_if(m4_index([$3]m4_defn([$1])[$3], [$3$2$3]), [-1], | ||
15853 | - [lt_append([$1], [$2], [$3])$4], | ||
15854 | - [$5])], | ||
15855 | - [lt_append([$1], [$2], [$3])$4])]) | ||
15856 | - | ||
15857 | - | ||
15858 | -# lt_dict_add(DICT, KEY, VALUE) | ||
15859 | -# ----------------------------- | ||
15860 | -m4_define([lt_dict_add], | ||
15861 | -[m4_define([$1($2)], [$3])]) | ||
15862 | - | ||
15863 | - | ||
15864 | -# lt_dict_add_subkey(DICT, KEY, SUBKEY, VALUE) | ||
15865 | -# -------------------------------------------- | ||
15866 | -m4_define([lt_dict_add_subkey], | ||
15867 | -[m4_define([$1($2:$3)], [$4])]) | ||
15868 | - | ||
15869 | - | ||
15870 | -# lt_dict_fetch(DICT, KEY, [SUBKEY]) | ||
15871 | -# ---------------------------------- | ||
15872 | -m4_define([lt_dict_fetch], | ||
15873 | -[m4_ifval([$3], | ||
15874 | - m4_ifdef([$1($2:$3)], [m4_defn([$1($2:$3)])]), | ||
15875 | - m4_ifdef([$1($2)], [m4_defn([$1($2)])]))]) | ||
15876 | - | ||
15877 | - | ||
15878 | -# lt_if_dict_fetch(DICT, KEY, [SUBKEY], VALUE, IF-TRUE, [IF-FALSE]) | ||
15879 | -# ----------------------------------------------------------------- | ||
15880 | -m4_define([lt_if_dict_fetch], | ||
15881 | -[m4_if(lt_dict_fetch([$1], [$2], [$3]), [$4], | ||
15882 | - [$5], | ||
15883 | - [$6])]) | ||
15884 | - | ||
15885 | - | ||
15886 | -# lt_dict_filter(DICT, [SUBKEY], VALUE, [SEPARATOR], KEY, [...]) | ||
15887 | -# -------------------------------------------------------------- | ||
15888 | -m4_define([lt_dict_filter], | ||
15889 | -[m4_if([$5], [], [], | ||
15890 | - [lt_join(m4_quote(m4_default([$4], [[, ]])), | ||
15891 | - lt_unquote(m4_split(m4_normalize(m4_foreach(_Lt_key, lt_car([m4_shiftn(4, $@)]), | ||
15892 | - [lt_if_dict_fetch([$1], _Lt_key, [$2], [$3], [_Lt_key ])])))))])[]dnl | ||
15893 | -]) | ||
15894 | Index: libiconv-1.13.1/m4/ltversion.m4 | ||
15895 | =================================================================== | ||
15896 | --- libiconv-1.13.1.orig/m4/ltversion.m4 | ||
15897 | +++ /dev/null | ||
15898 | @@ -1,23 +0,0 @@ | ||
15899 | -# ltversion.m4 -- version numbers -*- Autoconf -*- | ||
15900 | -# | ||
15901 | -# Copyright (C) 2004 Free Software Foundation, Inc. | ||
15902 | -# Written by Scott James Remnant, 2004 | ||
15903 | -# | ||
15904 | -# This file is free software; the Free Software Foundation gives | ||
15905 | -# unlimited permission to copy and/or distribute it, with or without | ||
15906 | -# modifications, as long as this notice is preserved. | ||
15907 | - | ||
15908 | -# Generated from ltversion.in. | ||
15909 | - | ||
15910 | -# serial 3012 ltversion.m4 | ||
15911 | -# This file is part of GNU Libtool | ||
15912 | - | ||
15913 | -m4_define([LT_PACKAGE_VERSION], [2.2.6]) | ||
15914 | -m4_define([LT_PACKAGE_REVISION], [1.3012]) | ||
15915 | - | ||
15916 | -AC_DEFUN([LTVERSION_VERSION], | ||
15917 | -[macro_version='2.2.6' | ||
15918 | -macro_revision='1.3012' | ||
15919 | -_LT_DECL(, macro_version, 0, [Which release of libtool.m4 was used?]) | ||
15920 | -_LT_DECL(, macro_revision, 0) | ||
15921 | -]) | ||
15922 | Index: libiconv-1.13.1/m4/lt~obsolete.m4 | ||
15923 | =================================================================== | ||
15924 | --- libiconv-1.13.1.orig/m4/lt~obsolete.m4 | ||
15925 | +++ /dev/null | ||
15926 | @@ -1,92 +0,0 @@ | ||
15927 | -# lt~obsolete.m4 -- aclocal satisfying obsolete definitions. -*-Autoconf-*- | ||
15928 | -# | ||
15929 | -# Copyright (C) 2004, 2005, 2007 Free Software Foundation, Inc. | ||
15930 | -# Written by Scott James Remnant, 2004. | ||
15931 | -# | ||
15932 | -# This file is free software; the Free Software Foundation gives | ||
15933 | -# unlimited permission to copy and/or distribute it, with or without | ||
15934 | -# modifications, as long as this notice is preserved. | ||
15935 | - | ||
15936 | -# serial 4 lt~obsolete.m4 | ||
15937 | - | ||
15938 | -# These exist entirely to fool aclocal when bootstrapping libtool. | ||
15939 | -# | ||
15940 | -# In the past libtool.m4 has provided macros via AC_DEFUN (or AU_DEFUN) | ||
15941 | -# which have later been changed to m4_define as they aren't part of the | ||
15942 | -# exported API, or moved to Autoconf or Automake where they belong. | ||
15943 | -# | ||
15944 | -# The trouble is, aclocal is a bit thick. It'll see the old AC_DEFUN | ||
15945 | -# in /usr/share/aclocal/libtool.m4 and remember it, then when it sees us | ||
15946 | -# using a macro with the same name in our local m4/libtool.m4 it'll | ||
15947 | -# pull the old libtool.m4 in (it doesn't see our shiny new m4_define | ||
15948 | -# and doesn't know about Autoconf macros at all.) | ||
15949 | -# | ||
15950 | -# So we provide this file, which has a silly filename so it's always | ||
15951 | -# included after everything else. This provides aclocal with the | ||
15952 | -# AC_DEFUNs it wants, but when m4 processes it, it doesn't do anything | ||
15953 | -# because those macros already exist, or will be overwritten later. | ||
15954 | -# We use AC_DEFUN over AU_DEFUN for compatibility with aclocal-1.6. | ||
15955 | -# | ||
15956 | -# Anytime we withdraw an AC_DEFUN or AU_DEFUN, remember to add it here. | ||
15957 | -# Yes, that means every name once taken will need to remain here until | ||
15958 | -# we give up compatibility with versions before 1.7, at which point | ||
15959 | -# we need to keep only those names which we still refer to. | ||
15960 | - | ||
15961 | -# This is to help aclocal find these macros, as it can't see m4_define. | ||
15962 | -AC_DEFUN([LTOBSOLETE_VERSION], [m4_if([1])]) | ||
15963 | - | ||
15964 | -m4_ifndef([AC_LIBTOOL_LINKER_OPTION], [AC_DEFUN([AC_LIBTOOL_LINKER_OPTION])]) | ||
15965 | -m4_ifndef([AC_PROG_EGREP], [AC_DEFUN([AC_PROG_EGREP])]) | ||
15966 | -m4_ifndef([_LT_AC_PROG_ECHO_BACKSLASH], [AC_DEFUN([_LT_AC_PROG_ECHO_BACKSLASH])]) | ||
15967 | -m4_ifndef([_LT_AC_SHELL_INIT], [AC_DEFUN([_LT_AC_SHELL_INIT])]) | ||
15968 | -m4_ifndef([_LT_AC_SYS_LIBPATH_AIX], [AC_DEFUN([_LT_AC_SYS_LIBPATH_AIX])]) | ||
15969 | -m4_ifndef([_LT_PROG_LTMAIN], [AC_DEFUN([_LT_PROG_LTMAIN])]) | ||
15970 | -m4_ifndef([_LT_AC_TAGVAR], [AC_DEFUN([_LT_AC_TAGVAR])]) | ||
15971 | -m4_ifndef([AC_LTDL_ENABLE_INSTALL], [AC_DEFUN([AC_LTDL_ENABLE_INSTALL])]) | ||
15972 | -m4_ifndef([AC_LTDL_PREOPEN], [AC_DEFUN([AC_LTDL_PREOPEN])]) | ||
15973 | -m4_ifndef([_LT_AC_SYS_COMPILER], [AC_DEFUN([_LT_AC_SYS_COMPILER])]) | ||
15974 | -m4_ifndef([_LT_AC_LOCK], [AC_DEFUN([_LT_AC_LOCK])]) | ||
15975 | -m4_ifndef([AC_LIBTOOL_SYS_OLD_ARCHIVE], [AC_DEFUN([AC_LIBTOOL_SYS_OLD_ARCHIVE])]) | ||
15976 | -m4_ifndef([_LT_AC_TRY_DLOPEN_SELF], [AC_DEFUN([_LT_AC_TRY_DLOPEN_SELF])]) | ||
15977 | -m4_ifndef([AC_LIBTOOL_PROG_CC_C_O], [AC_DEFUN([AC_LIBTOOL_PROG_CC_C_O])]) | ||
15978 | -m4_ifndef([AC_LIBTOOL_SYS_HARD_LINK_LOCKS], [AC_DEFUN([AC_LIBTOOL_SYS_HARD_LINK_LOCKS])]) | ||
15979 | -m4_ifndef([AC_LIBTOOL_OBJDIR], [AC_DEFUN([AC_LIBTOOL_OBJDIR])]) | ||
15980 | -m4_ifndef([AC_LTDL_OBJDIR], [AC_DEFUN([AC_LTDL_OBJDIR])]) | ||
15981 | -m4_ifndef([AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH], [AC_DEFUN([AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH])]) | ||
15982 | -m4_ifndef([AC_LIBTOOL_SYS_LIB_STRIP], [AC_DEFUN([AC_LIBTOOL_SYS_LIB_STRIP])]) | ||
15983 | -m4_ifndef([AC_PATH_MAGIC], [AC_DEFUN([AC_PATH_MAGIC])]) | ||
15984 | -m4_ifndef([AC_PROG_LD_GNU], [AC_DEFUN([AC_PROG_LD_GNU])]) | ||
15985 | -m4_ifndef([AC_PROG_LD_RELOAD_FLAG], [AC_DEFUN([AC_PROG_LD_RELOAD_FLAG])]) | ||
15986 | -m4_ifndef([AC_DEPLIBS_CHECK_METHOD], [AC_DEFUN([AC_DEPLIBS_CHECK_METHOD])]) | ||
15987 | -m4_ifndef([AC_LIBTOOL_PROG_COMPILER_NO_RTTI], [AC_DEFUN([AC_LIBTOOL_PROG_COMPILER_NO_RTTI])]) | ||
15988 | -m4_ifndef([AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE], [AC_DEFUN([AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE])]) | ||
15989 | -m4_ifndef([AC_LIBTOOL_PROG_COMPILER_PIC], [AC_DEFUN([AC_LIBTOOL_PROG_COMPILER_PIC])]) | ||
15990 | -m4_ifndef([AC_LIBTOOL_PROG_LD_SHLIBS], [AC_DEFUN([AC_LIBTOOL_PROG_LD_SHLIBS])]) | ||
15991 | -m4_ifndef([AC_LIBTOOL_POSTDEP_PREDEP], [AC_DEFUN([AC_LIBTOOL_POSTDEP_PREDEP])]) | ||
15992 | -m4_ifndef([LT_AC_PROG_EGREP], [AC_DEFUN([LT_AC_PROG_EGREP])]) | ||
15993 | -m4_ifndef([LT_AC_PROG_SED], [AC_DEFUN([LT_AC_PROG_SED])]) | ||
15994 | -m4_ifndef([_LT_CC_BASENAME], [AC_DEFUN([_LT_CC_BASENAME])]) | ||
15995 | -m4_ifndef([_LT_COMPILER_BOILERPLATE], [AC_DEFUN([_LT_COMPILER_BOILERPLATE])]) | ||
15996 | -m4_ifndef([_LT_LINKER_BOILERPLATE], [AC_DEFUN([_LT_LINKER_BOILERPLATE])]) | ||
15997 | -m4_ifndef([_AC_PROG_LIBTOOL], [AC_DEFUN([_AC_PROG_LIBTOOL])]) | ||
15998 | -m4_ifndef([AC_LIBTOOL_SETUP], [AC_DEFUN([AC_LIBTOOL_SETUP])]) | ||
15999 | -m4_ifndef([_LT_AC_CHECK_DLFCN], [AC_DEFUN([_LT_AC_CHECK_DLFCN])]) | ||
16000 | -m4_ifndef([AC_LIBTOOL_SYS_DYNAMIC_LINKER], [AC_DEFUN([AC_LIBTOOL_SYS_DYNAMIC_LINKER])]) | ||
16001 | -m4_ifndef([_LT_AC_TAGCONFIG], [AC_DEFUN([_LT_AC_TAGCONFIG])]) | ||
16002 | -m4_ifndef([AC_DISABLE_FAST_INSTALL], [AC_DEFUN([AC_DISABLE_FAST_INSTALL])]) | ||
16003 | -m4_ifndef([_LT_AC_LANG_CXX], [AC_DEFUN([_LT_AC_LANG_CXX])]) | ||
16004 | -m4_ifndef([_LT_AC_LANG_F77], [AC_DEFUN([_LT_AC_LANG_F77])]) | ||
16005 | -m4_ifndef([_LT_AC_LANG_GCJ], [AC_DEFUN([_LT_AC_LANG_GCJ])]) | ||
16006 | -m4_ifndef([AC_LIBTOOL_RC], [AC_DEFUN([AC_LIBTOOL_RC])]) | ||
16007 | -m4_ifndef([AC_LIBTOOL_LANG_C_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_C_CONFIG])]) | ||
16008 | -m4_ifndef([_LT_AC_LANG_C_CONFIG], [AC_DEFUN([_LT_AC_LANG_C_CONFIG])]) | ||
16009 | -m4_ifndef([AC_LIBTOOL_LANG_CXX_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_CXX_CONFIG])]) | ||
16010 | -m4_ifndef([_LT_AC_LANG_CXX_CONFIG], [AC_DEFUN([_LT_AC_LANG_CXX_CONFIG])]) | ||
16011 | -m4_ifndef([AC_LIBTOOL_LANG_F77_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_F77_CONFIG])]) | ||
16012 | -m4_ifndef([_LT_AC_LANG_F77_CONFIG], [AC_DEFUN([_LT_AC_LANG_F77_CONFIG])]) | ||
16013 | -m4_ifndef([AC_LIBTOOL_LANG_GCJ_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_GCJ_CONFIG])]) | ||
16014 | -m4_ifndef([_LT_AC_LANG_GCJ_CONFIG], [AC_DEFUN([_LT_AC_LANG_GCJ_CONFIG])]) | ||
16015 | -m4_ifndef([AC_LIBTOOL_LANG_RC_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_RC_CONFIG])]) | ||
16016 | -m4_ifndef([_LT_AC_LANG_RC_CONFIG], [AC_DEFUN([_LT_AC_LANG_RC_CONFIG])]) | ||
16017 | -m4_ifndef([AC_LIBTOOL_CONFIG], [AC_DEFUN([AC_LIBTOOL_CONFIG])]) | ||
16018 | -m4_ifndef([_LT_AC_FILE_LTDLL_C], [AC_DEFUN([_LT_AC_FILE_LTDLL_C])]) | ||
diff --git a/meta-oe/recipes-support/libiconv/libiconv.inc b/meta-oe/recipes-support/libiconv/libiconv.inc new file mode 100644 index 000000000..11dfaf2f4 --- /dev/null +++ b/meta-oe/recipes-support/libiconv/libiconv.inc | |||
@@ -0,0 +1,15 @@ | |||
1 | DESCRIPTION = "GNU libiconv - libiconv is for you if your application needs to support \ | ||
2 | multiple character encodings, but that support lacks from your system." | ||
3 | HOMEPAGE = "http://www.gnu.org/software/libiconv" | ||
4 | SECTION = "libs" | ||
5 | PRIORITY = "optional" | ||
6 | NOTES = "Needs to be stripped down to: ascii iso8859-1 eucjp iso-2022jp gb utf8" | ||
7 | |||
8 | SRC_URI = "ftp://ftp.gnu.org/pub/gnu/libiconv/libiconv-${PV}.tar.gz \ | ||
9 | " | ||
10 | |||
11 | S = "${WORKDIR}/libiconv-${PV}" | ||
12 | |||
13 | inherit autotools gettext | ||
14 | |||
15 | EXTRA_OECONF += "--enable-shared --enable-static --enable-relocatable" | ||
diff --git a/meta-oe/recipes-support/libiconv/libiconv_1.13.1.bb b/meta-oe/recipes-support/libiconv/libiconv_1.13.1.bb new file mode 100644 index 000000000..bdfb898a3 --- /dev/null +++ b/meta-oe/recipes-support/libiconv/libiconv_1.13.1.bb | |||
@@ -0,0 +1,25 @@ | |||
1 | require libiconv.inc | ||
2 | LICENSE = "GPLv3 LGPLv2" | ||
3 | BBCLASSEXTEND = "native nativesdk" | ||
4 | |||
5 | PROVIDES = "virtual/libiconv" | ||
6 | PR = "r1" | ||
7 | |||
8 | #gettext.class cant be inherit here so use this hack | ||
9 | DEPENDS = "${@['','gettext-native'][bb.data.getVar('USE_NLS', d, 1) == 'yes']}" | ||
10 | |||
11 | EXTRA_OECONF += "${@['--disable-nls','--enable-nls'][bb.data.getVar('USE_NLS', d, 1) == 'yes']}" | ||
12 | |||
13 | SRC_URI += "file://autoconf.patch" | ||
14 | |||
15 | do_configure_append () { | ||
16 | # Fix stupid libtool... handling. | ||
17 | # rpath handling can't be disabled and the Makefile's can't be regenerated.. | ||
18 | # (GNU sed required) | ||
19 | sed -i s/^hardcode_libdir_flag_spec/#hardcode_libdir_flag_spec/ ${S}/*-libtool | ||
20 | } | ||
21 | |||
22 | LEAD_SONAME = "libiconv.so" | ||
23 | SRC_URI[md5sum] = "7ab33ebd26687c744a37264a330bbe9a" | ||
24 | SRC_URI[sha256sum] = "55a36168306089009d054ccdd9d013041bfc3ab26be7033d107821f1c4949a49" | ||
25 | |||
diff --git a/meta-oe/recipes-support/libnl/libnl.inc b/meta-oe/recipes-support/libnl/libnl.inc new file mode 100644 index 000000000..6f502b101 --- /dev/null +++ b/meta-oe/recipes-support/libnl/libnl.inc | |||
@@ -0,0 +1,9 @@ | |||
1 | DESCRIPTION = "libnl is a library for applications dealing with netlink sockets" | ||
2 | SECTION = "libs/network" | ||
3 | LICENSE = "LGPL" | ||
4 | HOMEPAGE = "http://www.infradead.org/~tgr/libnl/" | ||
5 | |||
6 | INC_PR = "r5" | ||
7 | |||
8 | inherit autotools pkgconfig | ||
9 | |||
diff --git a/meta-oe/recipes-support/libnl/libnl/fix-pc-file.patch b/meta-oe/recipes-support/libnl/libnl/fix-pc-file.patch new file mode 100644 index 000000000..17666fbad --- /dev/null +++ b/meta-oe/recipes-support/libnl/libnl/fix-pc-file.patch | |||
@@ -0,0 +1,11 @@ | |||
1 | Index: libnl-2.0/libnl-2.0.pc.in | ||
2 | =================================================================== | ||
3 | --- libnl-2.0.orig/libnl-2.0.pc.in | ||
4 | +++ libnl-2.0/libnl-2.0.pc.in | ||
5 | @@ -6,5 +6,5 @@ | ||
6 | Name: libnl | ||
7 | Description: Convenience library for netlink sockets | ||
8 | Version: @PACKAGE_VERSION@ | ||
9 | -Libs: -L${libdir} -lnl | ||
10 | +Libs: -L${libdir} -lnl -lnl-genl -lnl-nf -lnl-route | ||
11 | Cflags: -I${includedir} | ||
diff --git a/meta-oe/recipes-support/libnl/libnl/fix-pktloc-dep-race.patch b/meta-oe/recipes-support/libnl/libnl/fix-pktloc-dep-race.patch new file mode 100644 index 000000000..ee217441b --- /dev/null +++ b/meta-oe/recipes-support/libnl/libnl/fix-pktloc-dep-race.patch | |||
@@ -0,0 +1,20 @@ | |||
1 | Index: libnl-2.0/lib/Makefile.am | ||
2 | =================================================================== | ||
3 | --- libnl-2.0.orig/lib/Makefile.am | ||
4 | +++ libnl-2.0/lib/Makefile.am | ||
5 | @@ -27,11 +27,15 @@ CLEANFILES = \ | ||
6 | route/pktloc_grammar.c route/pktloc_grammar.h \ | ||
7 | route/pktloc_syntax.c route/pktloc_syntax.h | ||
8 | |||
9 | +BUILT_SOURCES = route/pktloc_syntax.h route/pktloc_grammar.h | ||
10 | + | ||
11 | # Hack to avoid using ylwrap. It does not function correctly in combination | ||
12 | # with --header-file= | ||
13 | +route/pktloc_grammar.h: route/pktloc_grammar.c | ||
14 | route/pktloc_grammar.c: route/pktloc_grammar.l | ||
15 | $(LEX) --header-file=route/pktloc_grammar.h $(LFLAGS) -o $@ $^ | ||
16 | |||
17 | +route/pktloc_syntax.h: route/pktloc_syntax.c | ||
18 | route/pktloc_syntax.c: route/pktloc_syntax.y | ||
19 | $(YACC) -d $(YFLAGS) -o $@ $^ | ||
20 | |||
diff --git a/meta-oe/recipes-support/libnl/libnl_2.0.bb b/meta-oe/recipes-support/libnl/libnl_2.0.bb new file mode 100644 index 000000000..e646e3d0e --- /dev/null +++ b/meta-oe/recipes-support/libnl/libnl_2.0.bb | |||
@@ -0,0 +1,23 @@ | |||
1 | require libnl.inc | ||
2 | PE = "1" | ||
3 | PR = "${INC_PR}.0" | ||
4 | |||
5 | LICENSE = "LGPLv2.1" | ||
6 | LIC_FILES_CHKSUM = "file://COPYING;md5=2b41e13261a330ee784153ecbb6a82bc" | ||
7 | |||
8 | DEPENDS = "flex-native bison-native" | ||
9 | |||
10 | SRC_URI = "\ | ||
11 | http://www.infradead.org/~tgr/libnl/files/libnl-${PV}.tar.gz \ | ||
12 | file://fix-pc-file.patch \ | ||
13 | file://fix-pktloc-dep-race.patch \ | ||
14 | " | ||
15 | |||
16 | SRC_URI[md5sum] = "6aaf1e9802a17a7d702bb0638044ffa7" | ||
17 | SRC_URI[sha256sum] = "5a40dc903d3ca1074da7424b908bec8ff16936484798c7e46e53e9db8bc87a9c" | ||
18 | |||
19 | PACKAGES =+ "${PN}-route ${PN}-nf ${PN}-genl ${PN}-cli" | ||
20 | FILES_${PN}-route = "${libdir}/libnl-route.so.*" | ||
21 | FILES_${PN}-nf = "${libdir}/libnl-nf.so.*" | ||
22 | FILES_${PN}-genl = "${libdir}/libnl-genl.so.*" | ||
23 | FILES_${PN}-cli = "${libdir}/libnl-cli.so.*" | ||
diff --git a/meta-oe/recipes-support/libnl/libnl_git.bb b/meta-oe/recipes-support/libnl/libnl_git.bb new file mode 100644 index 000000000..a4a37a8b1 --- /dev/null +++ b/meta-oe/recipes-support/libnl/libnl_git.bb | |||
@@ -0,0 +1,20 @@ | |||
1 | require libnl.inc | ||
2 | |||
3 | PE = "1" | ||
4 | PV = "1.9+gitr${SRCPV}" | ||
5 | PR = "${INC_PR}.0" | ||
6 | |||
7 | DEPENDS = "flex-native bison-native" | ||
8 | |||
9 | S = "${WORKDIR}/git" | ||
10 | SRCREV = "d378220c96c3c8b6f27dca33e7d8ba03318f9c2d" | ||
11 | SRC_URI = "\ | ||
12 | git://git.kernel.org/pub/scm/libs/netlink/libnl.git;protocol=git \ | ||
13 | file://fix-pc-file.patch \ | ||
14 | " | ||
15 | |||
16 | PACKAGES =+ "${PN}-route ${PN}-nf ${PN}-genl ${PN}-cli" | ||
17 | FILES_${PN}-route = "${libdir}/libnl-route.so.*" | ||
18 | FILES_${PN}-nf = "${libdir}/libnl-nf.so.*" | ||
19 | FILES_${PN}-genl = "${libdir}/libnl-genl.so.*" | ||
20 | FILES_${PN}-cli = "${libdir}/libnl-cli.so.*" | ||
diff --git a/meta-oe/recipes-support/libsdl-ttf/libsdl-ttf-2.0.10/configure.patch b/meta-oe/recipes-support/libsdl-ttf/libsdl-ttf-2.0.10/configure.patch new file mode 100644 index 000000000..2069644f9 --- /dev/null +++ b/meta-oe/recipes-support/libsdl-ttf/libsdl-ttf-2.0.10/configure.patch | |||
@@ -0,0 +1,13 @@ | |||
1 | Index: SDL_ttf-2.0.10/configure.in | ||
2 | =================================================================== | ||
3 | --- SDL_ttf-2.0.10.orig/configure.in 2010-10-15 10:54:51.392730531 +0200 | ||
4 | +++ SDL_ttf-2.0.10/configure.in 2010-10-15 10:55:06.382727473 +0200 | ||
5 | @@ -25,6 +25,8 @@ | ||
6 | AC_SUBST(BINARY_AGE) | ||
7 | AC_SUBST(VERSION) | ||
8 | |||
9 | +AC_CONFIG_MACRO_DIR([acinclude]) | ||
10 | + | ||
11 | # libtool versioning | ||
12 | LT_INIT([win32-dll]) | ||
13 | |||
diff --git a/meta-oe/recipes-support/libsdl-ttf/libsdl-ttf_2.0.10.bb b/meta-oe/recipes-support/libsdl-ttf/libsdl-ttf_2.0.10.bb new file mode 100644 index 000000000..f02c8f65e --- /dev/null +++ b/meta-oe/recipes-support/libsdl-ttf/libsdl-ttf_2.0.10.bb | |||
@@ -0,0 +1,30 @@ | |||
1 | DESCRIPTION = "Simple DirectMedia Layer truetype font library." | ||
2 | SECTION = "libs" | ||
3 | PRIORITY = "optional" | ||
4 | DEPENDS = "virtual/libsdl freetype" | ||
5 | LICENSE = "LGPL" | ||
6 | PR = "r1" | ||
7 | |||
8 | SRC_URI = "http://www.libsdl.org/projects/SDL_ttf/release/SDL_ttf-${PV}.tar.gz \ | ||
9 | file://configure.patch \ | ||
10 | " | ||
11 | |||
12 | S = "${WORKDIR}/SDL_ttf-${PV}" | ||
13 | EXTRA_OECONF += "SDL_CONFIG=${STAGING_BINDIR_CROSS}/sdl-config " | ||
14 | |||
15 | inherit autotools | ||
16 | |||
17 | TARGET_CC_ARCH += "${LDFLAGS}" | ||
18 | |||
19 | do_configure_prepend() { | ||
20 | |||
21 | MACROS="libtool.m4 lt~obsolete.m4 ltoptions.m4 ltsugar.m4 ltversion.m4" | ||
22 | |||
23 | for i in ${MACROS}; do | ||
24 | rm acinclude/$i | ||
25 | done | ||
26 | |||
27 | } | ||
28 | |||
29 | SRC_URI[md5sum] = "814e6e17e8879254208d23b3b7e0354b" | ||
30 | SRC_URI[sha256sum] = "7d38704bcc7c34029c2dcb73b2d4857e8ad76341c6e0faed279eb9f743c66c6a" | ||
diff --git a/meta-oe/recipes-support/libyaml/libyaml_0.1.3.bb b/meta-oe/recipes-support/libyaml/libyaml_0.1.3.bb new file mode 100644 index 000000000..702ed55e8 --- /dev/null +++ b/meta-oe/recipes-support/libyaml/libyaml_0.1.3.bb | |||
@@ -0,0 +1,14 @@ | |||
1 | DESCRIPTION = "LibYAML is a YAML parser and emitter written in C." | ||
2 | HOMEPAGE = "http://pyyaml.org/wiki/LibYAML" | ||
3 | SECTION = "libs/devel" | ||
4 | LICENSE = "MIT" | ||
5 | LIC_FILES_CHKSUM = "file://LICENSE;md5=6015f088759b10e0bc2bf64898d4ae17" | ||
6 | PR="r0" | ||
7 | |||
8 | SRC_URI = "http://pyyaml.org/download/libyaml/yaml-${PV}.tar.gz;name=libyaml" | ||
9 | SRC_URI[libyaml.md5sum] = "b8ab9064e8e0330423fe640de76608cd" | ||
10 | SRC_URI[libyaml.sha256sum] = "a8bbad7e5250b3735126b7e3bd9f6fce9db19d6be7cc13abad17a24b59ec144a" | ||
11 | |||
12 | S = "${WORKDIR}/yaml-${PV}" | ||
13 | |||
14 | inherit autotools | ||
diff --git a/meta-oe/recipes-support/lzma/lzma-4.65/001-large_files.patch b/meta-oe/recipes-support/lzma/lzma-4.65/001-large_files.patch new file mode 100644 index 000000000..b95fe9e90 --- /dev/null +++ b/meta-oe/recipes-support/lzma/lzma-4.65/001-large_files.patch | |||
@@ -0,0 +1,13 @@ | |||
1 | Index: lzma-4.65/CPP/7zip/Compress/LZMA_Alone/makefile.gcc | ||
2 | =================================================================== | ||
3 | --- lzma-4.65.orig/CPP/7zip/Compress/LZMA_Alone/makefile.gcc 2009-05-15 23:33:51.000000000 +0200 | ||
4 | +++ lzma-4.65/CPP/7zip/Compress/LZMA_Alone/makefile.gcc 2009-06-01 22:00:54.000000000 +0200 | ||
5 | @@ -3,7 +3,7 @@ | ||
6 | CXX_C = gcc -O2 -Wall | ||
7 | LIB = -lm | ||
8 | RM = rm -f | ||
9 | -CFLAGS = -c | ||
10 | +CFLAGS = -c -D_FILE_OFFSET_BITS=64 | ||
11 | |||
12 | ifdef SystemDrive | ||
13 | IS_MINGW = 1 | ||
diff --git a/meta-oe/recipes-support/lzma/lzma-4.65/002-lzmp.patch b/meta-oe/recipes-support/lzma/lzma-4.65/002-lzmp.patch new file mode 100644 index 000000000..72d881cdb --- /dev/null +++ b/meta-oe/recipes-support/lzma/lzma-4.65/002-lzmp.patch | |||
@@ -0,0 +1,1059 @@ | |||
1 | Index: lzma-4.65/CPP/7zip/Compress/LZMA_Alone/lzmp.cpp | ||
2 | =================================================================== | ||
3 | --- /dev/null 1970-01-01 00:00:00.000000000 +0000 | ||
4 | +++ lzma-4.65/CPP/7zip/Compress/LZMA_Alone/lzmp.cpp 2009-06-01 22:01:10.000000000 +0200 | ||
5 | @@ -0,0 +1,895 @@ | ||
6 | +/* | ||
7 | + * LZMA command line tool similar to gzip to encode and decode LZMA files. | ||
8 | + * | ||
9 | + * Copyright (C) 2005 Ville Koskinen | ||
10 | + * | ||
11 | + * This program is free software; you can redistribute it and/or | ||
12 | + * modify it under the terms of the GNU General Public License | ||
13 | + * as published by the Free Software Foundation; either version 2 | ||
14 | + * of the License, or (at your option) any later version. | ||
15 | + * | ||
16 | + * This program is distributed in the hope that it will be useful, | ||
17 | + * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
18 | + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
19 | + * GNU General Public License for more details. | ||
20 | + * | ||
21 | + * You should have received a copy of the GNU General Public License | ||
22 | + * along with this program; if not, write to the Free Software | ||
23 | + * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, | ||
24 | + * USA. | ||
25 | + */ | ||
26 | + | ||
27 | +#include "../../../Common/MyInitGuid.h" | ||
28 | + | ||
29 | +#include <iostream> | ||
30 | +using std::cout; | ||
31 | +using std::cerr; | ||
32 | +using std::endl; | ||
33 | + | ||
34 | +#include <cstdio> | ||
35 | +#include <cstdlib> | ||
36 | +#include <cstring> | ||
37 | + | ||
38 | +#include <string> | ||
39 | +using std::string; | ||
40 | +#include <vector> | ||
41 | +using std::vector; | ||
42 | +typedef vector<string> stringVector; | ||
43 | + | ||
44 | +#include <unistd.h> | ||
45 | +#include <getopt.h> | ||
46 | +#include <signal.h> | ||
47 | + | ||
48 | +#include <sys/types.h> | ||
49 | +#include <sys/stat.h> | ||
50 | +#include <utime.h> | ||
51 | +#include <sys/time.h> // futimes() | ||
52 | + | ||
53 | +// For Solaris | ||
54 | +#ifndef HAVE_FUTIMES | ||
55 | +//#define futimes(fd, tv) futimesat(fd, NULL, tv) | ||
56 | +#endif | ||
57 | + | ||
58 | +#if defined(_WIN32) || defined(OS2) || defined(MSDOS) | ||
59 | +#include <fcntl.h> | ||
60 | +#include <io.h> | ||
61 | +#define MY_SET_BINARY_MODE(file) setmode(fileno(file),O_BINARY) | ||
62 | +#else | ||
63 | +#define MY_SET_BINARY_MODE(file) | ||
64 | +#endif | ||
65 | + | ||
66 | +#include "../../../7zip/Common/FileStreams.h" | ||
67 | + | ||
68 | +#include "../../../Common/Types.h" | ||
69 | + | ||
70 | +#include "../../../7zip/Compress/LzmaDecoder.h" | ||
71 | +#include "../../../7zip/Compress/LzmaEncoder.h" | ||
72 | + | ||
73 | +#include "Exception.h" | ||
74 | + | ||
75 | +#include "lzma_version.h" | ||
76 | + | ||
77 | +namespace lzma { | ||
78 | + | ||
79 | +const char *PROGRAM_VERSION = PACKAGE_VERSION; | ||
80 | +const char *PROGRAM_COPYRIGHT = "Copyright (C) 2006 Ville Koskinen"; | ||
81 | + | ||
82 | +/* LZMA_Alone switches: | ||
83 | + -a{N}: set compression mode - [0, 2], default: 2 (max) | ||
84 | + -d{N}: set dictionary - [0,28], default: 23 (8MB) | ||
85 | + -fb{N}: set number of fast bytes - [5, 255], default: 128 | ||
86 | + -lc{N}: set number of literal context bits - [0, 8], default: 3 | ||
87 | + -lp{N}: set number of literal pos bits - [0, 4], default: 0 | ||
88 | + -pb{N}: set number of pos bits - [0, 4], default: 2 | ||
89 | + -mf{MF_ID}: set Match Finder: [bt2, bt3, bt4, bt4b, pat2r, pat2, | ||
90 | + pat2h, pat3h, pat4h, hc3, hc4], default: bt4 | ||
91 | +*/ | ||
92 | + | ||
93 | +struct lzma_option { | ||
94 | + short compression_mode; // -a | ||
95 | + short dictionary; // -d | ||
96 | + short fast_bytes; // -fb | ||
97 | + wchar_t *match_finder; // -mf | ||
98 | + short literal_context_bits; // -lc | ||
99 | + short literal_pos_bits; // -lp | ||
100 | + short pos_bits; // -pb | ||
101 | +}; | ||
102 | + | ||
103 | +/* The following is a mapping from gzip/bzip2 style -1 .. -9 compression modes | ||
104 | + * to the corresponding LZMA compression modes. Thanks, Larhzu, for coining | ||
105 | + * these. */ | ||
106 | +const lzma_option option_mapping[] = { | ||
107 | + { 0, 0, 0, NULL, 0, 0, 0}, // -0 (needed for indexing) | ||
108 | + { 0, 16, 64, L"hc4", 3, 0, 2}, // -1 | ||
109 | + { 0, 20, 64, L"hc4", 3, 0, 2}, // -2 | ||
110 | + { 1, 19, 64, L"bt4", 3, 0, 2}, // -3 | ||
111 | + { 2, 20, 64, L"bt4", 3, 0, 2}, // -4 | ||
112 | + { 2, 21, 128, L"bt4", 3, 0, 2}, // -5 | ||
113 | + { 2, 22, 128, L"bt4", 3, 0, 2}, // -6 | ||
114 | + { 2, 23, 128, L"bt4", 3, 0, 2}, // -7 | ||
115 | + { 2, 24, 255, L"bt4", 3, 0, 2}, // -8 | ||
116 | + { 2, 25, 255, L"bt4", 3, 0, 2}, // -9 | ||
117 | +}; | ||
118 | + | ||
119 | +struct extension_pair { | ||
120 | + char *from; | ||
121 | + char *to; | ||
122 | +}; | ||
123 | + | ||
124 | +const extension_pair known_extensions[] = { | ||
125 | + { ".lzma", "" }, | ||
126 | + { ".tlz", ".tar" }, | ||
127 | + { NULL, NULL } | ||
128 | +}; | ||
129 | + | ||
130 | +/* Sorry, I just happen to like enumerations. */ | ||
131 | +enum PROGRAM_MODE { | ||
132 | + PM_COMPRESS = 0, | ||
133 | + PM_DECOMPRESS, | ||
134 | + PM_TEST, | ||
135 | + PM_HELP, | ||
136 | + PM_LICENSE, | ||
137 | + PM_VERSION | ||
138 | +}; | ||
139 | + | ||
140 | +enum { | ||
141 | + STATUS_OK = 0, | ||
142 | + STATUS_ERROR = 1, | ||
143 | + STATUS_WARNING = 2 | ||
144 | +}; | ||
145 | + | ||
146 | +/* getopt options. */ | ||
147 | +/* struct option { name, has_arg, flag, val } */ | ||
148 | +const struct option long_options[] = { | ||
149 | + { "stdout", 0, 0, 'c' }, | ||
150 | + { "decompress", 0, 0, 'd' }, | ||
151 | + { "compress", 0, 0, 'z' }, | ||
152 | + { "keep", 0, 0, 'k' }, | ||
153 | + { "force", 0, 0, 'f' }, | ||
154 | + { "test", 0, 0, 't' }, | ||
155 | + { "suffix", 1, 0, 'S' }, | ||
156 | + { "quiet", 0, 0, 'q' }, | ||
157 | + { "verbose", 0, 0, 'v' }, | ||
158 | + { "help", 0, 0, 'h' }, | ||
159 | + { "license", 0, 0, 'L' }, | ||
160 | + { "version", 0, 0, 'V' }, | ||
161 | + { "fast", 0, 0, '1' }, | ||
162 | + { "best", 0, 0, '9' }, | ||
163 | + { 0, 0, 0, 0 } | ||
164 | +}; | ||
165 | + | ||
166 | +/* getopt option string (for the above options). */ | ||
167 | +const char option_string[] = "cdzkftS:qvhLV123456789A:D:F:"; | ||
168 | + | ||
169 | +/* Defaults. */ | ||
170 | +PROGRAM_MODE program_mode = PM_COMPRESS; | ||
171 | +int verbosity = 0; | ||
172 | +bool stdinput = false; | ||
173 | +bool stdoutput = false; | ||
174 | +bool keep = false; | ||
175 | +bool force = false; | ||
176 | +int compression_mode = 7; | ||
177 | +//char *suffix = strdup(".lzma"); | ||
178 | +char *suffix = strdup(known_extensions[0].from); | ||
179 | +lzma_option advanced_options = { -1, -1, -1, NULL, -1, -1, -1 }; | ||
180 | + | ||
181 | +void print_help(const char *const argv0) | ||
182 | +{ | ||
183 | + // Help goes to stdout while other messages go to stderr. | ||
184 | + cout << "\nlzma " << PROGRAM_VERSION | ||
185 | + << " " << PROGRAM_COPYRIGHT << "\n" | ||
186 | + "Based on LZMA SDK " << LZMA_SDK_VERSION_STRING << " " | ||
187 | + << LZMA_SDK_COPYRIGHT_STRING | ||
188 | + << "\n\nUsage: " << argv0 | ||
189 | + << " [flags and input files in any order]\n" | ||
190 | +" -c --stdout output to standard output\n" | ||
191 | +" -d --decompress force decompression\n" | ||
192 | +" -z --compress force compression\n" | ||
193 | +" -k --keep keep (don't delete) input files\n" | ||
194 | +" -f --force force overwrite of output file and compress links\n" | ||
195 | +" -t --test test compressed file integrity\n" | ||
196 | +" -S .suf --suffix .suf use suffix .suf on compressed files\n" | ||
197 | +" -q --quiet suppress error messages\n" | ||
198 | +" -v --verbose be verbose\n" | ||
199 | +" -h --help print this message\n" | ||
200 | +" -L --license display the license information\n" | ||
201 | +" -V --version display version numbers of LZMA SDK and lzma\n" | ||
202 | +" -1 .. -2 fast compression\n" | ||
203 | +" -3 .. -9 good to excellent compression. -7 is the default.\n" | ||
204 | +" --fast alias for -1\n" | ||
205 | +" --best alias for -9 (usually *not* what you want)\n\n" | ||
206 | +" Memory usage depends a lot on the chosen compression mode -1 .. -9.\n" | ||
207 | +" See the man page lzma(1) for details.\n\n"; | ||
208 | +} | ||
209 | + | ||
210 | +void print_license(void) | ||
211 | +{ | ||
212 | + cout << "\n LZMA command line tool " << PROGRAM_VERSION << " - " | ||
213 | + << PROGRAM_COPYRIGHT | ||
214 | + << "\n LZMA SDK " << LZMA_SDK_VERSION_STRING << " - " | ||
215 | + << LZMA_SDK_COPYRIGHT_STRING | ||
216 | + << "\n This program is a part of the LZMA utils package.\n" | ||
217 | + " http://tukaani.org/lzma/\n\n" | ||
218 | +" This program is free software; you can redistribute it and/or\n" | ||
219 | +" modify it under the terms of the GNU General Public License\n" | ||
220 | +" as published by the Free Software Foundation; either version 2\n" | ||
221 | +" of the License, or (at your option) any later version.\n" | ||
222 | +"\n" | ||
223 | +" This program is distributed in the hope that it will be useful,\n" | ||
224 | +" but WITHOUT ANY WARRANTY; without even the implied warranty of\n" | ||
225 | +" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n" | ||
226 | +" GNU General Public License for more details.\n" | ||
227 | +"\n"; | ||
228 | +} | ||
229 | + | ||
230 | +void print_version(void) | ||
231 | +{ | ||
232 | + cout << "LZMA command line tool " << PROGRAM_VERSION << "\n" | ||
233 | + << "LZMA SDK " << LZMA_SDK_VERSION_STRING << "\n"; | ||
234 | +} | ||
235 | + | ||
236 | +short str2int (const char *str, const int &min, const int &max) | ||
237 | +{ | ||
238 | + int value = -1; | ||
239 | + char *endptr = NULL; | ||
240 | + if (str == NULL || str[0] == '\0') | ||
241 | + throw ArgumentException("Invalid integer option"); | ||
242 | + value = strtol (str, &endptr, 10); | ||
243 | + if (*endptr != '\0' || value < min || value > max) | ||
244 | + throw ArgumentException("Invalid integer option"); | ||
245 | + return value; | ||
246 | +} | ||
247 | + | ||
248 | +void parse_options(int argc, char **argv, stringVector &filenames) | ||
249 | +{ | ||
250 | + /* Snatched from getopt(3). */ | ||
251 | + int c; | ||
252 | + | ||
253 | + /* Check how we were called */ | ||
254 | + { | ||
255 | + char *p = strrchr (argv[0], '/'); // Remove path prefix, if any | ||
256 | + if (p++ == NULL) | ||
257 | + p = argv[0]; | ||
258 | + if (strstr (p, "un") != NULL) { | ||
259 | + program_mode = PM_DECOMPRESS; | ||
260 | + } else if (strstr (p, "cat") != NULL) { | ||
261 | + program_mode = PM_DECOMPRESS; | ||
262 | + stdoutput = true; | ||
263 | + } | ||
264 | + } | ||
265 | + | ||
266 | + while (-1 != (c = getopt_long(argc, argv, option_string, | ||
267 | + long_options, NULL))) { | ||
268 | + switch (c) { | ||
269 | + // stdout | ||
270 | + case 'c': | ||
271 | + stdoutput = true; | ||
272 | + break; | ||
273 | + | ||
274 | + // decompress | ||
275 | + case 'd': | ||
276 | + program_mode = PM_DECOMPRESS; | ||
277 | + break; | ||
278 | + | ||
279 | + // compress | ||
280 | + case 'z': | ||
281 | + program_mode = PM_COMPRESS; | ||
282 | + break; | ||
283 | + | ||
284 | + // keep | ||
285 | + case 'k': | ||
286 | + keep = true; | ||
287 | + break; | ||
288 | + | ||
289 | + // force | ||
290 | + case 'f': | ||
291 | + force = true; | ||
292 | + break; | ||
293 | + | ||
294 | + // test | ||
295 | + case 't': | ||
296 | + program_mode = PM_TEST; | ||
297 | + break; | ||
298 | + | ||
299 | + // suffix | ||
300 | + case 'S': | ||
301 | + if (optarg) { | ||
302 | + free(suffix); | ||
303 | + suffix = strdup(optarg); | ||
304 | + } | ||
305 | + break; | ||
306 | + | ||
307 | + // quiet | ||
308 | + case 'q': | ||
309 | + verbosity = 0; | ||
310 | + break; | ||
311 | + | ||
312 | + // verbose | ||
313 | + case 'v': | ||
314 | + verbosity++; | ||
315 | + break; | ||
316 | + | ||
317 | + // help | ||
318 | + case 'h': | ||
319 | + program_mode = PM_HELP; | ||
320 | + break; | ||
321 | + | ||
322 | + // license | ||
323 | + case 'L': | ||
324 | + program_mode = PM_LICENSE; | ||
325 | + break; | ||
326 | + | ||
327 | + // version | ||
328 | + case 'V': | ||
329 | + program_mode = PM_VERSION; | ||
330 | + break; | ||
331 | + | ||
332 | + case '1': case '2': case '3': case '4': case '5': | ||
333 | + case '6': case '7': case '8': case '9': | ||
334 | + compression_mode = c - '0'; | ||
335 | + break; | ||
336 | + | ||
337 | + // Advanced options // | ||
338 | + // Compression mode | ||
339 | + case 'A': | ||
340 | + advanced_options.compression_mode = | ||
341 | + str2int (optarg, 0, 2); | ||
342 | + break; | ||
343 | + | ||
344 | + // Dictionary size | ||
345 | + case 'D': | ||
346 | + advanced_options.dictionary = | ||
347 | + str2int (optarg, 0, 28); | ||
348 | + break; | ||
349 | + | ||
350 | + // Fast bytes | ||
351 | + case 'F': | ||
352 | + advanced_options.fast_bytes = | ||
353 | + str2int (optarg, 0, 273); | ||
354 | + break; | ||
355 | + | ||
356 | + default: | ||
357 | + throw ArgumentException(""); | ||
358 | + break; | ||
359 | + } // switch(c) | ||
360 | + } // while(1) | ||
361 | + | ||
362 | + for (int i = optind; i < argc; i++) { | ||
363 | + if (strcmp("-", argv[i]) == 0) | ||
364 | + continue; | ||
365 | + filenames.push_back(argv[i]); | ||
366 | + } | ||
367 | +} // parse_options | ||
368 | + | ||
369 | +void set_encoder_properties(NCompress::NLzma::CEncoder *encoder, | ||
370 | + lzma_option &opt) | ||
371 | +{ | ||
372 | + /* Almost verbatim from LzmaAlone.cpp. */ | ||
373 | + PROPID propIDs[] = | ||
374 | + { | ||
375 | + NCoderPropID::kDictionarySize, | ||
376 | + NCoderPropID::kPosStateBits, | ||
377 | + NCoderPropID::kLitContextBits, | ||
378 | + NCoderPropID::kLitPosBits, | ||
379 | + NCoderPropID::kAlgorithm, | ||
380 | + NCoderPropID::kNumFastBytes, | ||
381 | + NCoderPropID::kMatchFinder, | ||
382 | + NCoderPropID::kEndMarker | ||
383 | + }; | ||
384 | + const int kNumProps = sizeof(propIDs) / sizeof(propIDs[0]); | ||
385 | +#define VALUE(x) (advanced_options.x >= 0 ? advanced_options.x : opt.x) | ||
386 | + PROPVARIANT properties[kNumProps]; | ||
387 | + for (int p = 0; p < 6; p++) | ||
388 | + properties[p].vt = VT_UI4; | ||
389 | + properties[0].ulVal = UInt32(1 << VALUE (dictionary)); | ||
390 | + properties[1].ulVal = UInt32(VALUE (pos_bits)); | ||
391 | + properties[2].ulVal = UInt32(VALUE (literal_context_bits)); | ||
392 | + properties[3].ulVal = UInt32(VALUE (literal_pos_bits)); | ||
393 | + properties[4].ulVal = UInt32(VALUE (compression_mode)); | ||
394 | + properties[5].ulVal = UInt32(VALUE (fast_bytes)); | ||
395 | +#undef VALUE | ||
396 | + | ||
397 | + properties[6].vt = VT_BSTR; | ||
398 | + properties[6].bstrVal = (BSTR)opt.match_finder; | ||
399 | + | ||
400 | + properties[7].vt = VT_BOOL; | ||
401 | + properties[7].boolVal = stdinput ? VARIANT_TRUE : VARIANT_FALSE; | ||
402 | + | ||
403 | + if (encoder->SetCoderProperties(propIDs, properties, kNumProps) != S_OK) | ||
404 | + throw Exception("SetCoderProperties() error"); | ||
405 | +} | ||
406 | + | ||
407 | +void encode(NCompress::NLzma::CEncoder *encoderSpec, | ||
408 | + CMyComPtr<ISequentialInStream> inStream, | ||
409 | + CMyComPtr<ISequentialOutStream> outStream, | ||
410 | + lzma_option encoder_options, | ||
411 | + UInt64 fileSize) | ||
412 | +{ | ||
413 | + set_encoder_properties(encoderSpec, encoder_options); | ||
414 | + | ||
415 | + encoderSpec->WriteCoderProperties(outStream); | ||
416 | + | ||
417 | + for (int i = 0; i < 8; i++) | ||
418 | + { | ||
419 | + Byte b = Byte(fileSize >> (8 * i)); | ||
420 | + if (outStream->Write(&b, sizeof(b), 0) != S_OK) | ||
421 | + throw Exception("Write error while encoding"); | ||
422 | + } | ||
423 | + | ||
424 | + HRESULT result = encoderSpec->Code(inStream, outStream, 0, 0, 0); | ||
425 | + | ||
426 | + if (result == E_OUTOFMEMORY) | ||
427 | + throw Exception("Cannot allocate memory"); | ||
428 | + else if (result != S_OK) { | ||
429 | + char buffer[33]; | ||
430 | + snprintf(buffer, 33, "%d", (unsigned int)result); | ||
431 | + throw Exception(string("Encoder error: ") + buffer); | ||
432 | + } | ||
433 | +} | ||
434 | + | ||
435 | +void decode(NCompress::NLzma::CDecoder *decoderSpec, | ||
436 | + CMyComPtr<ISequentialInStream> inStream, | ||
437 | + CMyComPtr<ISequentialOutStream> outStream) | ||
438 | +{ | ||
439 | + const UInt32 kPropertiesSize = 5; | ||
440 | + Byte properties[kPropertiesSize]; | ||
441 | + UInt32 processedSize; | ||
442 | + UInt64 fileSize = 0; | ||
443 | + | ||
444 | + if (inStream->Read(properties, kPropertiesSize, &processedSize) != S_OK) | ||
445 | + throw Exception("Read error"); | ||
446 | + if (processedSize != kPropertiesSize) | ||
447 | + throw Exception("Read error"); | ||
448 | + if (decoderSpec->SetDecoderProperties2(properties, kPropertiesSize) != S_OK) | ||
449 | + throw Exception("SetDecoderProperties() error"); | ||
450 | + | ||
451 | + for (int i = 0; i < 8; i++) | ||
452 | + { | ||
453 | + Byte b; | ||
454 | + | ||
455 | + if (inStream->Read(&b, sizeof(b), &processedSize) != S_OK) | ||
456 | + throw Exception("Read error"); | ||
457 | + if (processedSize != 1) | ||
458 | + throw Exception("Read error"); | ||
459 | + | ||
460 | + fileSize |= ((UInt64)b) << (8 * i); | ||
461 | + } | ||
462 | + | ||
463 | + if (decoderSpec->Code(inStream, outStream, 0, &fileSize, 0) != S_OK) | ||
464 | + throw Exception("Decoder error"); | ||
465 | +} | ||
466 | + | ||
467 | +int open_instream(const string infile, | ||
468 | + CMyComPtr<ISequentialInStream> &inStream, | ||
469 | + UInt64 &fileSize) | ||
470 | +{ | ||
471 | + CInFileStream *inStreamSpec = new CInFileStream; | ||
472 | + inStream = inStreamSpec; | ||
473 | + if (!inStreamSpec->Open(infile.c_str())) | ||
474 | + throw Exception("Cannot open input file " + infile); | ||
475 | + | ||
476 | + inStreamSpec->File.GetLength(fileSize); | ||
477 | + | ||
478 | + return inStreamSpec->File.GetHandle(); | ||
479 | +} | ||
480 | + | ||
481 | +int open_outstream(const string outfile, | ||
482 | + CMyComPtr<ISequentialOutStream> &outStream) | ||
483 | +{ | ||
484 | + COutFileStream *outStreamSpec = new COutFileStream; | ||
485 | + outStream = outStreamSpec; | ||
486 | + | ||
487 | + bool open_by_force = (program_mode == PM_TEST) | force; | ||
488 | + | ||
489 | + if (!outStreamSpec->Create(outfile.c_str(), open_by_force)) | ||
490 | + throw Exception("Cannot open output file " + outfile); | ||
491 | + | ||
492 | + return outStreamSpec->File.GetHandle(); | ||
493 | +} | ||
494 | + | ||
495 | +double get_ratio(int inhandle, int outhandle) | ||
496 | +{ | ||
497 | + struct stat in_stats, out_stats; | ||
498 | + fstat(inhandle, &in_stats); | ||
499 | + fstat(outhandle, &out_stats); | ||
500 | + | ||
501 | + return (double)out_stats.st_size / (double)in_stats.st_size; | ||
502 | +} | ||
503 | + | ||
504 | +mode_t get_file_mode(string filename) | ||
505 | +{ | ||
506 | + struct stat in_stat; | ||
507 | + lstat(filename.c_str(), &in_stat); | ||
508 | + | ||
509 | + return in_stat.st_mode; | ||
510 | +} | ||
511 | + | ||
512 | +bool string_ends_with(string str, string ending) | ||
513 | +{ | ||
514 | + return equal(ending.rbegin(), ending.rend(), str.rbegin()); | ||
515 | +} | ||
516 | + | ||
517 | +bool extension_is_known(string filename) | ||
518 | +{ | ||
519 | + bool known_format = false; | ||
520 | + extension_pair extension; int i = 1; | ||
521 | + | ||
522 | + extension = known_extensions[0]; | ||
523 | + while (extension.from != NULL) { | ||
524 | + if (string_ends_with(filename, extension.from)) { | ||
525 | + known_format = true; | ||
526 | + break; | ||
527 | + } | ||
528 | + extension = known_extensions[i]; | ||
529 | + i++; | ||
530 | + } | ||
531 | + | ||
532 | + if (!known_format) { | ||
533 | + if (!string_ends_with(filename, suffix)) { | ||
534 | + return false; | ||
535 | + } | ||
536 | + } | ||
537 | + | ||
538 | + return true; | ||
539 | +} | ||
540 | + | ||
541 | +string replace_extension(string filename) | ||
542 | +{ | ||
543 | + int suffix_starts_at = filename.length() - strlen (suffix); | ||
544 | + string from_suffix = filename.substr(suffix_starts_at, strlen (suffix)); | ||
545 | + string ret = filename.substr(0, suffix_starts_at); | ||
546 | + extension_pair extension; int i = 1; | ||
547 | + | ||
548 | + bool found_replacement = false; | ||
549 | + extension = known_extensions[0]; | ||
550 | + while (extension.from != NULL) { | ||
551 | + if (from_suffix.compare(extension.from) == 0) { | ||
552 | + ret += extension.to; | ||
553 | + found_replacement = true; | ||
554 | + break; | ||
555 | + } | ||
556 | + | ||
557 | + extension = known_extensions[i]; | ||
558 | + i++; | ||
559 | + } | ||
560 | + | ||
561 | + return ret; | ||
562 | +} | ||
563 | + | ||
564 | +string pretty_print_status(string filename, string output_filename, | ||
565 | + string ratio) | ||
566 | +{ | ||
567 | + string ret = ""; | ||
568 | + | ||
569 | + ret += filename; | ||
570 | + ret += ":\t "; | ||
571 | + | ||
572 | + if (program_mode == PM_TEST) { | ||
573 | + ret += "decoded succesfully"; | ||
574 | + | ||
575 | + return ret; | ||
576 | + } | ||
577 | + | ||
578 | + if (!stdinput && !stdoutput) { | ||
579 | + ret += ratio; | ||
580 | + ret += " -- "; | ||
581 | + } | ||
582 | + | ||
583 | + if (program_mode == PM_COMPRESS) { | ||
584 | + if (keep) { | ||
585 | + ret += "encoded succesfully"; | ||
586 | + | ||
587 | + return ret; | ||
588 | + } | ||
589 | + | ||
590 | + ret += "replaced with "; | ||
591 | + ret += output_filename; | ||
592 | + | ||
593 | + return ret; | ||
594 | + } | ||
595 | + | ||
596 | + if (program_mode == PM_DECOMPRESS) { | ||
597 | + if (keep) { | ||
598 | + ret += "decoded succesfully"; | ||
599 | + | ||
600 | + return ret; | ||
601 | + } | ||
602 | + | ||
603 | + ret += "replaced with "; | ||
604 | + ret += output_filename; | ||
605 | + | ||
606 | + return ret; | ||
607 | + } | ||
608 | + | ||
609 | + return ret; | ||
610 | +} | ||
611 | + | ||
612 | +static string archive_name; // I know, it is crude, but I haven't found any other | ||
613 | + // way then making a global variable to transfer filename to handler | ||
614 | + | ||
615 | +void signal_handler (int signum) | ||
616 | +{ | ||
617 | + unlink (archive_name.c_str()); // deleting | ||
618 | + signal (signum, SIG_DFL); // we return the default function to used signal | ||
619 | + kill (getpid(), signum); // and then send this signal to the process again | ||
620 | +} | ||
621 | + | ||
622 | +} // namespace lzma | ||
623 | + | ||
624 | + | ||
625 | +int main(int argc, char **argv) | ||
626 | +{ | ||
627 | + using namespace lzma; | ||
628 | + using std::cerr; | ||
629 | + | ||
630 | + stringVector filenames; | ||
631 | + | ||
632 | + signal (SIGTERM,signal_handler); | ||
633 | + signal (SIGHUP,signal_handler); | ||
634 | + signal (SIGINT,signal_handler); | ||
635 | + | ||
636 | + try { | ||
637 | + parse_options(argc, argv, filenames); | ||
638 | + } | ||
639 | + catch (...) { | ||
640 | + return STATUS_ERROR; | ||
641 | + } | ||
642 | + | ||
643 | + if (program_mode == PM_HELP) { | ||
644 | + print_help(argv[0]); | ||
645 | + return STATUS_OK; | ||
646 | + } | ||
647 | + else if (program_mode == PM_LICENSE) { | ||
648 | + print_license(); | ||
649 | + return STATUS_OK; | ||
650 | + } | ||
651 | + else if (program_mode == PM_VERSION) { | ||
652 | + print_version(); | ||
653 | + return STATUS_OK; | ||
654 | + } | ||
655 | + | ||
656 | + if (filenames.empty()) { | ||
657 | + stdinput = true; | ||
658 | + stdoutput = true; | ||
659 | + | ||
660 | + /* FIXME: get rid of this */ | ||
661 | + filenames.push_back("-"); | ||
662 | + } | ||
663 | + | ||
664 | + /* Protection: always create new files with 0600 in order to prevent | ||
665 | + * outsiders from reading incomplete data. */ | ||
666 | + umask(0077); | ||
667 | + | ||
668 | + bool warning = false; | ||
669 | + | ||
670 | + for (int i = 0; i < filenames.size(); i++) { | ||
671 | + CMyComPtr<ISequentialInStream> inStream; | ||
672 | + CMyComPtr<ISequentialOutStream> outStream; | ||
673 | + UInt64 fileSize = 0; | ||
674 | + int inhandle = 0, outhandle = 0; | ||
675 | + string output_filename; | ||
676 | + | ||
677 | + if (stdinput) { | ||
678 | + inStream = new CStdInFileStream; | ||
679 | + MY_SET_BINARY_MODE(stdin); | ||
680 | + fileSize = (UInt64)(Int64)-1; | ||
681 | + | ||
682 | + inhandle = STDIN_FILENO; | ||
683 | + | ||
684 | + outStream = new CStdOutFileStream; | ||
685 | + MY_SET_BINARY_MODE(stdout); | ||
686 | + | ||
687 | + outhandle = STDOUT_FILENO; | ||
688 | + } | ||
689 | + else { | ||
690 | + mode_t infile_mode = get_file_mode(filenames[i]); | ||
691 | + if (!S_ISREG(infile_mode)) { | ||
692 | + if (S_ISDIR(infile_mode)) { | ||
693 | + warning = true; | ||
694 | + cerr << argv[0] << ": " << filenames[i] << ": " | ||
695 | + << "cowardly refusing to work on directory" | ||
696 | + << endl; | ||
697 | + | ||
698 | + continue; | ||
699 | + } | ||
700 | + else if (S_ISLNK(infile_mode)) { | ||
701 | + if (!stdoutput && !force) { | ||
702 | + warning = true; | ||
703 | + | ||
704 | + cerr << argv[0] << ": " << filenames[i] << ": " | ||
705 | + << "cowardly refusing to work on symbolic link " | ||
706 | + << "(use --force to force encoding or decoding)" | ||
707 | + << endl; | ||
708 | + | ||
709 | + continue; | ||
710 | + } | ||
711 | + } | ||
712 | + else { | ||
713 | + warning = true; | ||
714 | + | ||
715 | + cerr << argv[0] << ": " << filenames[i] << ": " | ||
716 | + << "doesn't exist or is not a regular file" | ||
717 | + << endl; | ||
718 | + | ||
719 | + continue; | ||
720 | + } | ||
721 | + } | ||
722 | + | ||
723 | + // Test if the file already ends with *suffix. | ||
724 | + if (program_mode == PM_COMPRESS && !force | ||
725 | + && string_ends_with(filenames[i], | ||
726 | + suffix)) { | ||
727 | + warning = true; | ||
728 | + | ||
729 | + cerr << filenames[i] << " already has " | ||
730 | + << suffix << " suffix -- unchanged\n"; | ||
731 | + | ||
732 | + continue; | ||
733 | + } | ||
734 | + | ||
735 | + // Test if the file extension is known. | ||
736 | + if (program_mode == PM_DECOMPRESS | ||
737 | + && !extension_is_known(filenames[i])) { | ||
738 | + warning = true; | ||
739 | + | ||
740 | + cerr << filenames[i] << ": " | ||
741 | + << " unknown suffix -- unchanged" | ||
742 | + << endl; | ||
743 | + | ||
744 | + continue; | ||
745 | + } | ||
746 | + | ||
747 | + try { | ||
748 | + inhandle = open_instream(filenames[i], inStream, fileSize); | ||
749 | + } | ||
750 | + catch (Exception e) { | ||
751 | + cerr << argv[0] << ": " << e.what() << endl; | ||
752 | + return STATUS_ERROR; | ||
753 | + } | ||
754 | + | ||
755 | + if (stdoutput) { | ||
756 | + outStream = new CStdOutFileStream; | ||
757 | + MY_SET_BINARY_MODE(stdout); | ||
758 | + | ||
759 | + outhandle = STDOUT_FILENO; | ||
760 | + } | ||
761 | + else { | ||
762 | + /* Testing mode is nothing else but decoding | ||
763 | + * and throwing away the result. */ | ||
764 | + if (program_mode == PM_TEST) | ||
765 | + output_filename = "/dev/null"; | ||
766 | + else if (program_mode == PM_DECOMPRESS) | ||
767 | + output_filename = replace_extension(filenames[i]); | ||
768 | + else | ||
769 | + output_filename = filenames[i] | ||
770 | + + suffix; | ||
771 | + archive_name = output_filename; | ||
772 | + | ||
773 | + try { | ||
774 | + outhandle = open_outstream(output_filename, outStream); | ||
775 | + } | ||
776 | + catch (Exception e) { | ||
777 | + cerr << argv[0] << ": " << e.what() << endl; | ||
778 | + return STATUS_ERROR; | ||
779 | + } | ||
780 | + } | ||
781 | + | ||
782 | + } | ||
783 | + | ||
784 | + // Unless --force is specified, do not read/write compressed | ||
785 | + // data from/to a terminal. | ||
786 | + if (!force) { | ||
787 | + if (program_mode == PM_COMPRESS && isatty(outhandle)) { | ||
788 | + cerr << argv[0] << ": compressed data not " | ||
789 | + "written to a terminal. Use " | ||
790 | + "-f to force compression.\n" | ||
791 | + << argv[0] << ": For help, type: " | ||
792 | + << argv[0] << " -h\n"; | ||
793 | + return STATUS_ERROR; | ||
794 | + } else if (program_mode == PM_DECOMPRESS | ||
795 | + && isatty(inhandle)) { | ||
796 | + cerr << argv[0] << ": compressed data not " | ||
797 | + "read from a terminal. Use " | ||
798 | + "-f to force decompression.\n" | ||
799 | + << argv[0] << ": For help, type: " | ||
800 | + << argv[0] << " -h\n"; | ||
801 | + return STATUS_ERROR; | ||
802 | + } | ||
803 | + } | ||
804 | + | ||
805 | + if (program_mode == PM_COMPRESS) { | ||
806 | + NCompress::NLzma::CEncoder *encoderSpec = | ||
807 | + new NCompress::NLzma::CEncoder; | ||
808 | + | ||
809 | + lzma_option options = option_mapping[compression_mode]; | ||
810 | + | ||
811 | + try { | ||
812 | + encode(encoderSpec, inStream, outStream, options, fileSize); | ||
813 | + } | ||
814 | + catch (Exception e) { | ||
815 | + cerr << argv[0] << ": " << e.what() << endl; | ||
816 | + unlink(output_filename.c_str()); | ||
817 | + delete(encoderSpec); | ||
818 | + | ||
819 | + return STATUS_ERROR; | ||
820 | + } | ||
821 | + | ||
822 | + delete(encoderSpec); | ||
823 | + } | ||
824 | + else { // PM_DECOMPRESS | PM_TEST | ||
825 | + NCompress::NLzma::CDecoder *decoderSpec = | ||
826 | + new NCompress::NLzma::CDecoder; | ||
827 | + | ||
828 | + try { | ||
829 | + decode(decoderSpec, inStream, outStream); | ||
830 | + } | ||
831 | + catch (Exception e) { | ||
832 | + cerr << argv[0] << ": " << e.what() << endl; | ||
833 | + unlink(output_filename.c_str()); | ||
834 | + delete(decoderSpec); | ||
835 | + | ||
836 | + return STATUS_ERROR; | ||
837 | + } | ||
838 | + | ||
839 | + delete(decoderSpec); | ||
840 | + } | ||
841 | + | ||
842 | + /* Set permissions and owners. */ | ||
843 | + if ( (program_mode == PM_COMPRESS || program_mode == PM_DECOMPRESS ) | ||
844 | + && (!stdinput && !stdoutput) ) { | ||
845 | + | ||
846 | + int ret = 0; | ||
847 | + struct stat file_stats; | ||
848 | + ret = fstat(inhandle, &file_stats); | ||
849 | + | ||
850 | + ret = fchmod(outhandle, file_stats.st_mode); | ||
851 | + ret = fchown(outhandle, file_stats.st_uid, file_stats.st_gid); | ||
852 | + // We need to call fchmod() again, since otherwise the SUID bits | ||
853 | + // are lost. | ||
854 | + ret = fchmod(outhandle, file_stats.st_mode); | ||
855 | + | ||
856 | + struct timeval file_times[2]; | ||
857 | + // Access time | ||
858 | + file_times[0].tv_sec = file_stats.st_atime; | ||
859 | + file_times[0].tv_usec = 0; | ||
860 | + // Modification time | ||
861 | + file_times[1].tv_sec = file_stats.st_mtime; | ||
862 | + file_times[1].tv_usec = 0; | ||
863 | + | ||
864 | + ret = futimes(outhandle, file_times); | ||
865 | + | ||
866 | + if (!keep) | ||
867 | + unlink(filenames[i].c_str()); | ||
868 | + } | ||
869 | + | ||
870 | + if (verbosity > 0) { | ||
871 | + if (stdoutput) { | ||
872 | + cerr << filenames[i] << ":\t "; | ||
873 | + cerr << "decoded succesfully" | ||
874 | + << endl; | ||
875 | + } | ||
876 | + | ||
877 | + else { | ||
878 | + char buf[10] = { 0 }; | ||
879 | + | ||
880 | + if (program_mode == PM_DECOMPRESS) | ||
881 | + snprintf(buf, 10, "%.2f%%", | ||
882 | + (1 - get_ratio(outhandle, inhandle)) * 100); | ||
883 | + if (program_mode == PM_COMPRESS) | ||
884 | + snprintf(buf, 10, "%.2f%%", | ||
885 | + (1 - get_ratio(inhandle, outhandle)) * 100); | ||
886 | + | ||
887 | + string ratio = buf; | ||
888 | + cerr << pretty_print_status(filenames[i], output_filename, | ||
889 | + ratio) | ||
890 | + << endl; | ||
891 | + } | ||
892 | + } | ||
893 | + } | ||
894 | + | ||
895 | + if (warning) | ||
896 | + return STATUS_WARNING; | ||
897 | + | ||
898 | + return STATUS_OK; | ||
899 | +} | ||
900 | + | ||
901 | Index: lzma-4.65/CPP/7zip/Compress/LZMA_Alone/Exception.h | ||
902 | =================================================================== | ||
903 | --- /dev/null 1970-01-01 00:00:00.000000000 +0000 | ||
904 | +++ lzma-4.65/CPP/7zip/Compress/LZMA_Alone/Exception.h 2009-06-01 22:01:10.000000000 +0200 | ||
905 | @@ -0,0 +1,45 @@ | ||
906 | +/* A couple of exceptions for lzmp. | ||
907 | + * | ||
908 | + * Copyright (C) 2005 Ville Koskinen | ||
909 | + * | ||
910 | + * This program is free software; you can redistribute it and/or | ||
911 | + * modify it under the terms of the GNU General Public License | ||
912 | + * as published by the Free Software Foundation; either version 2 | ||
913 | + * of the License, or (at your option) any later version. | ||
914 | + * | ||
915 | + * This program is distributed in the hope that it will be useful, | ||
916 | + * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
917 | + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
918 | + * GNU General Public License for more details. | ||
919 | + */ | ||
920 | + | ||
921 | +#ifndef _EXCEPTION_H_ | ||
922 | +#define _EXCEPTION_H_ | ||
923 | + | ||
924 | +#include <string> | ||
925 | +using std::string; | ||
926 | + | ||
927 | +class Exception | ||
928 | +{ | ||
929 | +private: | ||
930 | + string message; | ||
931 | +public: | ||
932 | + Exception(char *what): message(what) { } | ||
933 | + Exception(string what): message(what) { } | ||
934 | + | ||
935 | + ~Exception() { } | ||
936 | + | ||
937 | + string what(void) { return message; } | ||
938 | +}; | ||
939 | + | ||
940 | +class ArgumentException: public Exception | ||
941 | +{ | ||
942 | +public: | ||
943 | + ArgumentException(char *what): Exception(what) { } | ||
944 | + ArgumentException(string what): Exception(what) { } | ||
945 | + | ||
946 | + ~ArgumentException() { } | ||
947 | +}; | ||
948 | + | ||
949 | +#endif | ||
950 | + | ||
951 | Index: lzma-4.65/CPP/7zip/Compress/LZMA_Alone/makefile.gcc | ||
952 | =================================================================== | ||
953 | --- lzma-4.65.orig/CPP/7zip/Compress/LZMA_Alone/makefile.gcc 2009-06-01 22:00:54.000000000 +0200 | ||
954 | +++ lzma-4.65/CPP/7zip/Compress/LZMA_Alone/makefile.gcc 2009-06-01 22:06:13.000000000 +0200 | ||
955 | @@ -1,9 +1,10 @@ | ||
956 | -PROG = lzma | ||
957 | +PROG = lzma_alone | ||
958 | +PROG2 = lzma | ||
959 | CXX = g++ -O2 -Wall | ||
960 | CXX_C = gcc -O2 -Wall | ||
961 | LIB = -lm | ||
962 | RM = rm -f | ||
963 | -CFLAGS = -c -D_FILE_OFFSET_BITS=64 | ||
964 | +CFLAGS = -c -I ../../../ -D_FILE_OFFSET_BITS=64 -DPACKAGE_VERSION="\"4.32.0beta3\"" | ||
965 | |||
966 | ifdef SystemDrive | ||
967 | IS_MINGW = 1 | ||
968 | @@ -45,12 +46,35 @@ | ||
969 | Lzma86Dec.o \ | ||
970 | Lzma86Enc.o \ | ||
971 | |||
972 | +OBJS2 = \ | ||
973 | + C_FileIO.o \ | ||
974 | + CRC.o \ | ||
975 | + Alloc.o \ | ||
976 | + FileStreams.o \ | ||
977 | + StreamUtils.o \ | ||
978 | + InBuffer.o \ | ||
979 | + OutBuffer.o \ | ||
980 | + LzmaDecoder.o \ | ||
981 | + StringConvert.o \ | ||
982 | + StringToInt.o \ | ||
983 | + LzmaEncoder.o \ | ||
984 | + LzmaDec.o \ | ||
985 | + LzmaEnc.o \ | ||
986 | + LzFind.o \ | ||
987 | + 7zCrc.o \ | ||
988 | + lzmp.o | ||
989 | |||
990 | -all: $(PROG) | ||
991 | +all: $(PROG) $(PROG2) | ||
992 | |||
993 | $(PROG): $(OBJS) | ||
994 | $(CXX) -o $(PROG) $(LDFLAGS) $(OBJS) $(LIB) $(LIB2) | ||
995 | |||
996 | +$(PROG2): $(OBJS2) | ||
997 | + $(CXX) -o $(PROG2) $(LDFLAGS) $(OBJS2) $(LIB) | ||
998 | + | ||
999 | +lzmp.o: lzmp.cpp | ||
1000 | + $(CXX) $(CFLAGS) lzmp.cpp | ||
1001 | + | ||
1002 | LzmaAlone.o: LzmaAlone.cpp | ||
1003 | $(CXX) $(CFLAGS) LzmaAlone.cpp | ||
1004 | |||
1005 | @@ -131,5 +153,5 @@ | ||
1006 | $(CXX_C) $(CFLAGS) ../../../../C/LzmaUtil/Lzma86Enc.c | ||
1007 | |||
1008 | clean: | ||
1009 | - -$(RM) $(PROG) $(OBJS) | ||
1010 | + -$(RM) $(PROG) $(PROG2) $(OBJS) | ||
1011 | |||
1012 | Index: lzma-4.65/CPP/7zip/Compress/LZMA_Alone/lzma_version.h | ||
1013 | =================================================================== | ||
1014 | --- /dev/null 1970-01-01 00:00:00.000000000 +0000 | ||
1015 | +++ lzma-4.65/CPP/7zip/Compress/LZMA_Alone/lzma_version.h 2009-06-01 22:01:10.000000000 +0200 | ||
1016 | @@ -0,0 +1,31 @@ | ||
1017 | +#ifndef LZMA_VERSION_H | ||
1018 | +#define LZMA_VERSION_H | ||
1019 | + | ||
1020 | +/* | ||
1021 | + Version and copyright information used by LZMA utils. | ||
1022 | +*/ | ||
1023 | + | ||
1024 | +static const char *LZMA_SDK_VERSION_STRING = "4.43"; | ||
1025 | + | ||
1026 | +static const char *LZMA_SDK_COPYRIGHT_STRING = | ||
1027 | + "Copyright (C) 1999-2006 Igor Pavlov"; | ||
1028 | + | ||
1029 | +static const char *LZMA_SDK_COPYRIGHT_INFO = | ||
1030 | + " See http://7-zip.org/sdk.html or the documentation of LZMA SDK for\n" | ||
1031 | + " the license. For reference, the version 4.43 is free software\n" | ||
1032 | + " licensed under the GNU LGPL."; | ||
1033 | + | ||
1034 | + | ||
1035 | +static const char *LZMA_UTILS_VERSION_STRING = PACKAGE_VERSION; | ||
1036 | + | ||
1037 | +static const char *LZMA_UTILS_COPYRIGHT_STRING = | ||
1038 | + "Copyright (C) 2006 Lasse Collin"; | ||
1039 | + | ||
1040 | +static const char *LZMA_UTILS_COPYRIGHT_INFO = | ||
1041 | + "This program comes with ABSOLUTELY NO WARRANTY.\n" | ||
1042 | + "You may redistribute copies of this program\n" | ||
1043 | + "under the terms of the GNU General Public License.\n" | ||
1044 | + "For more information about these matters, see the file " | ||
1045 | + "named COPYING.\n"; | ||
1046 | + | ||
1047 | +#endif /* ifndef LZMA_VERSION_H */ | ||
1048 | Index: lzma-4.65/CPP/Common/C_FileIO.h | ||
1049 | =================================================================== | ||
1050 | --- lzma-4.65.orig/CPP/Common/C_FileIO.h 2009-05-15 23:33:51.000000000 +0200 | ||
1051 | +++ lzma-4.65/CPP/Common/C_FileIO.h 2009-06-01 22:06:56.000000000 +0200 | ||
1052 | @@ -24,6 +24,7 @@ | ||
1053 | bool Close(); | ||
1054 | bool GetLength(UInt64 &length) const; | ||
1055 | off_t Seek(off_t distanceToMove, int moveMethod) const; | ||
1056 | + int GetHandle() const { return _handle; } | ||
1057 | }; | ||
1058 | |||
1059 | class CInFile: public CFileBase | ||
diff --git a/meta-oe/recipes-support/lzma/lzma-4.65/003-compile_fixes.patch b/meta-oe/recipes-support/lzma/lzma-4.65/003-compile_fixes.patch new file mode 100644 index 000000000..49ae66b9c --- /dev/null +++ b/meta-oe/recipes-support/lzma/lzma-4.65/003-compile_fixes.patch | |||
@@ -0,0 +1,26 @@ | |||
1 | diff -urN lzma-4.65/CPP/7zip/Common/FileStreams.h lzma-4.65.new/CPP/7zip/Common/FileStreams.h | ||
2 | --- lzma-4.65/CPP/7zip/Common/FileStreams.h 2009-05-15 23:33:51.000000000 +0200 | ||
3 | +++ lzma-4.65.new/CPP/7zip/Common/FileStreams.h 2009-06-01 22:30:01.000000000 +0200 | ||
4 | @@ -72,6 +72,7 @@ | ||
5 | public IOutStream, | ||
6 | public CMyUnknownImp | ||
7 | { | ||
8 | +public: | ||
9 | #ifdef USE_WIN_FILE | ||
10 | NWindows::NFile::NIO::COutFile File; | ||
11 | #else | ||
12 | diff -urN lzma-4.65/CPP/Common/MyWindows.h lzma-4.65.new/CPP/Common/MyWindows.h | ||
13 | --- lzma-4.65/CPP/Common/MyWindows.h 2009-05-15 23:33:51.000000000 +0200 | ||
14 | +++ lzma-4.65.new/CPP/Common/MyWindows.h 2009-06-01 22:29:26.000000000 +0200 | ||
15 | @@ -101,8 +101,11 @@ | ||
16 | |||
17 | #ifdef __cplusplus | ||
18 | |||
19 | +#ifndef INITGUID | ||
20 | +#define INITGUID | ||
21 | DEFINE_GUID(IID_IUnknown, | ||
22 | 0x00000000, 0x0000, 0x0000, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46); | ||
23 | +#endif | ||
24 | struct IUnknown | ||
25 | { | ||
26 | STDMETHOD(QueryInterface) (REFIID iid, void **outObject) PURE; | ||
diff --git a/meta-oe/recipes-support/lzma/lzma-4.65/100-static_library.patch b/meta-oe/recipes-support/lzma/lzma-4.65/100-static_library.patch new file mode 100644 index 000000000..15ab4e055 --- /dev/null +++ b/meta-oe/recipes-support/lzma/lzma-4.65/100-static_library.patch | |||
@@ -0,0 +1,70 @@ | |||
1 | --- a/C/LzmaUtil/makefile.gcc | ||
2 | +++ b/C/LzmaUtil/makefile.gcc | ||
3 | @@ -1,44 +1,53 @@ | ||
4 | PROG = lzma | ||
5 | -CXX = g++ | ||
6 | -LIB = | ||
7 | +CC = gcc | ||
8 | +LIB = liblzma.a | ||
9 | RM = rm -f | ||
10 | CFLAGS = -c -O2 -Wall | ||
11 | +AR = ar | ||
12 | +RANLIB = ranlib | ||
13 | |||
14 | OBJS = \ | ||
15 | - LzmaUtil.o \ | ||
16 | Alloc.o \ | ||
17 | LzFind.o \ | ||
18 | LzmaDec.o \ | ||
19 | LzmaEnc.o \ | ||
20 | + LzmaLib.o \ | ||
21 | 7zFile.o \ | ||
22 | 7zStream.o \ | ||
23 | |||
24 | - | ||
25 | all: $(PROG) | ||
26 | |||
27 | -$(PROG): $(OBJS) | ||
28 | - $(CXX) -o $(PROG) $(LDFLAGS) $(OBJS) $(LIB) $(LIB2) | ||
29 | +$(PROG): LzmaUtil.o $(LIB) | ||
30 | + $(CC) -o $(PROG) $(LDFLAGS) $< $(LIB) | ||
31 | |||
32 | LzmaUtil.o: LzmaUtil.c | ||
33 | - $(CXX) $(CFLAGS) LzmaUtil.c | ||
34 | + $(CC) $(CFLAGS) LzmaUtil.c | ||
35 | + | ||
36 | +$(LIB): $(OBJS) | ||
37 | + rm -f $@ | ||
38 | + $(AR) rcu $@ $(OBJS) | ||
39 | + $(RANLIB) $@ | ||
40 | |||
41 | Alloc.o: ../Alloc.c | ||
42 | - $(CXX) $(CFLAGS) ../Alloc.c | ||
43 | + $(CC) $(CFLAGS) ../Alloc.c | ||
44 | |||
45 | LzFind.o: ../LzFind.c | ||
46 | - $(CXX) $(CFLAGS) ../LzFind.c | ||
47 | + $(CC) $(CFLAGS) ../LzFind.c | ||
48 | |||
49 | LzmaDec.o: ../LzmaDec.c | ||
50 | - $(CXX) $(CFLAGS) ../LzmaDec.c | ||
51 | + $(CC) $(CFLAGS) ../LzmaDec.c | ||
52 | |||
53 | LzmaEnc.o: ../LzmaEnc.c | ||
54 | - $(CXX) $(CFLAGS) ../LzmaEnc.c | ||
55 | + $(CC) $(CFLAGS) ../LzmaEnc.c | ||
56 | + | ||
57 | +LzmaLib.o: ../LzmaLib.c | ||
58 | + $(CC) $(CFLAGS) ../LzmaLib.c | ||
59 | |||
60 | 7zFile.o: ../7zFile.c | ||
61 | - $(CXX) $(CFLAGS) ../7zFile.c | ||
62 | + $(CC) $(CFLAGS) ../7zFile.c | ||
63 | |||
64 | 7zStream.o: ../7zStream.c | ||
65 | - $(CXX) $(CFLAGS) ../7zStream.c | ||
66 | + $(CC) $(CFLAGS) ../7zStream.c | ||
67 | |||
68 | clean: | ||
69 | - -$(RM) $(PROG) $(OBJS) | ||
70 | + -$(RM) $(PROG) *.o *.a | ||
diff --git a/meta-oe/recipes-support/lzma/lzma-4.65/makefile-cleanup.patch b/meta-oe/recipes-support/lzma/lzma-4.65/makefile-cleanup.patch new file mode 100644 index 000000000..ccca4d9e8 --- /dev/null +++ b/meta-oe/recipes-support/lzma/lzma-4.65/makefile-cleanup.patch | |||
@@ -0,0 +1,18 @@ | |||
1 | Index: lzma-4.65/C/LzmaUtil/makefile.gcc | ||
2 | =================================================================== | ||
3 | --- lzma-4.65.orig/C/LzmaUtil/makefile.gcc | ||
4 | +++ lzma-4.65/C/LzmaUtil/makefile.gcc | ||
5 | @@ -1,10 +1,10 @@ | ||
6 | PROG = lzma | ||
7 | -CC = gcc | ||
8 | +CC ?= gcc | ||
9 | LIB = liblzma.a | ||
10 | RM = rm -f | ||
11 | CFLAGS = -c -O2 -Wall | ||
12 | -AR = ar | ||
13 | -RANLIB = ranlib | ||
14 | +AR ?= ar | ||
15 | +RANLIB ?= ranlib | ||
16 | |||
17 | OBJS = \ | ||
18 | Alloc.o \ | ||
diff --git a/meta-oe/recipes-support/lzma/lzma.inc b/meta-oe/recipes-support/lzma/lzma.inc new file mode 100644 index 000000000..72f5d47bb --- /dev/null +++ b/meta-oe/recipes-support/lzma/lzma.inc | |||
@@ -0,0 +1,36 @@ | |||
1 | DESCRIPTION = "LZMA is a general compression method. LZMA provides high compression ratio and very fast decompression." | ||
2 | HOMEPAGE = "http://www.7-zip.org/" | ||
3 | LICENSE = "LGPL" | ||
4 | LIC_FILES_CHKSUM = "file://lzma.txt;md5=20251cdc2e3793cceab11878d0aa11b1" | ||
5 | INC_PR = "r6" | ||
6 | |||
7 | SRC_URI = "http://downloads.sourceforge.net/sevenzip/lzma${@bb.data.getVar('PV',d,1).replace('.','')}.tar.bz2;subdir=${BPN}-${PV} \ | ||
8 | file://001-large_files.patch \ | ||
9 | file://002-lzmp.patch \ | ||
10 | file://003-compile_fixes.patch \ | ||
11 | file://100-static_library.patch \ | ||
12 | file://makefile-cleanup.patch" | ||
13 | |||
14 | EXTRA_OEMAKE = "-f makefile.gcc" | ||
15 | |||
16 | do_unpack_append() { | ||
17 | import oe.process | ||
18 | # Replace MS-DOS line-endings with Unix style line-endings | ||
19 | oe.process.run("find . -type f -print0 | xargs -0 sed 's/\r$//' -i", | ||
20 | cwd=d.getVar("S", True)) | ||
21 | } | ||
22 | |||
23 | do_compile() { | ||
24 | oe_runmake CFLAGS='${CFLAGS} -c' -C C/LzmaUtil | ||
25 | oe_runmake CXX_C='${CC} ${CFLAGS}' CXX='${CXX} ${CXXFLAGS}' \ | ||
26 | -C CPP/7zip/Compress/LZMA_Alone | ||
27 | } | ||
28 | |||
29 | do_install() { | ||
30 | install -d ${D}${bindir} ${D}${libdir} | ||
31 | install -m 0755 CPP/7zip/Compress/LZMA_Alone/lzma ${D}${bindir} | ||
32 | oe_libinstall -a -C C/LzmaUtil liblzma ${D}${libdir} | ||
33 | } | ||
34 | |||
35 | NATIVE_INSTALL_WORKS = "1" | ||
36 | BBCLASSEXTEND = "native" | ||
diff --git a/meta-oe/recipes-support/lzma/lzma_4.65.bb b/meta-oe/recipes-support/lzma/lzma_4.65.bb new file mode 100644 index 000000000..5295cd9a9 --- /dev/null +++ b/meta-oe/recipes-support/lzma/lzma_4.65.bb | |||
@@ -0,0 +1,5 @@ | |||
1 | require lzma.inc | ||
2 | PR = "${INC_PR}.1" | ||
3 | |||
4 | SRC_URI[md5sum] = "29d5ffd03a5a3e51aef6a74e9eafb759" | ||
5 | SRC_URI[sha256sum] = "c935fd04dd8e0e8c688a3078f3675d699679a90be81c12686837e0880aa0fa1e" | ||
diff --git a/meta-oe/recipes-support/mpfr/mpfr-3.0.0/long-long-thumb.patch b/meta-oe/recipes-support/mpfr/mpfr-3.0.0/long-long-thumb.patch new file mode 100644 index 000000000..a4029d799 --- /dev/null +++ b/meta-oe/recipes-support/mpfr/mpfr-3.0.0/long-long-thumb.patch | |||
@@ -0,0 +1,11 @@ | |||
1 | --- mpfr-2.3.1/mpfr-longlong.h~ 2008-01-01 03:29:09.000000000 +0000 | ||
2 | +++ mpfr-2.3.1/mpfr-longlong.h 2008-10-27 21:46:44.000000000 +0000 | ||
3 | @@ -406,7 +406,7 @@ | ||
4 | "rIJ" ((USItype) (bl))) | ||
5 | #endif | ||
6 | |||
7 | -#if defined (__arm__) && W_TYPE_SIZE == 32 | ||
8 | +#if defined (__arm__) && W_TYPE_SIZE == 32 && !defined(__thumb__) | ||
9 | #define add_ssaaaa(sh, sl, ah, al, bh, bl) \ | ||
10 | __asm__ ("adds\t%1, %4, %5\n\tadc\t%0, %2, %3" \ | ||
11 | : "=r" (sh), "=&r" (sl) \ | ||
diff --git a/meta-oe/recipes-support/mpfr/mpfr-3.0.0/p4.patch b/meta-oe/recipes-support/mpfr/mpfr-3.0.0/p4.patch new file mode 100644 index 000000000..743c07139 --- /dev/null +++ b/meta-oe/recipes-support/mpfr/mpfr-3.0.0/p4.patch | |||
@@ -0,0 +1,1752 @@ | |||
1 | diff -Naurd mpfr-3.0.0-a/PATCHES mpfr-3.0.0-b/PATCHES | ||
2 | --- mpfr-3.0.0-a/PATCHES 2010-06-23 11:02:49.000000000 +0000 | ||
3 | +++ mpfr-3.0.0-b/PATCHES 2010-06-23 11:03:36.000000000 +0000 | ||
4 | @@ -0,0 +1 @@ | ||
5 | +mpfr_out_str | ||
6 | diff -Naurd mpfr-3.0.0-a/VERSION mpfr-3.0.0-b/VERSION | ||
7 | --- mpfr-3.0.0-a/VERSION 2010-06-10 11:00:14.000000000 +0000 | ||
8 | +++ mpfr-3.0.0-b/VERSION 2010-06-23 11:03:20.000000000 +0000 | ||
9 | @@ -1 +1 @@ | ||
10 | -3.0.0 | ||
11 | +3.0.0-p1 | ||
12 | diff -Naurd mpfr-3.0.0-a/mpfr.h mpfr-3.0.0-b/mpfr.h | ||
13 | --- mpfr-3.0.0-a/mpfr.h 2010-06-10 11:00:14.000000000 +0000 | ||
14 | +++ mpfr-3.0.0-b/mpfr.h 2010-06-23 11:03:20.000000000 +0000 | ||
15 | @@ -27,7 +27,7 @@ | ||
16 | #define MPFR_VERSION_MAJOR 3 | ||
17 | #define MPFR_VERSION_MINOR 0 | ||
18 | #define MPFR_VERSION_PATCHLEVEL 0 | ||
19 | -#define MPFR_VERSION_STRING "3.0.0" | ||
20 | +#define MPFR_VERSION_STRING "3.0.0-p1" | ||
21 | |||
22 | /* Macros dealing with MPFR VERSION */ | ||
23 | #define MPFR_VERSION_NUM(a,b,c) (((a) << 16L) | ((b) << 8) | (c)) | ||
24 | diff -Naurd mpfr-3.0.0-a/mpfr.texi mpfr-3.0.0-b/mpfr.texi | ||
25 | --- mpfr-3.0.0-a/mpfr.texi 2010-06-10 11:00:14.000000000 +0000 | ||
26 | +++ mpfr-3.0.0-b/mpfr.texi 2010-06-23 11:03:12.000000000 +0000 | ||
27 | @@ -2050,7 +2050,7 @@ | ||
28 | are printed. If @var{base} is greater than 10, @samp{@@} will be used | ||
29 | instead of @samp{e} as exponent delimiter. | ||
30 | |||
31 | -Return the number of bytes written, or if an error occurred, return 0. | ||
32 | +Return the number of characters written, or if an error occurred, return 0. | ||
33 | @end deftypefun | ||
34 | |||
35 | @deftypefun size_t mpfr_inp_str (mpfr_t @var{rop}, FILE *@var{stream}, int @var{base}, mpfr_rnd_t @var{rnd}) | ||
36 | diff -Naurd mpfr-3.0.0-a/out_str.c mpfr-3.0.0-b/out_str.c | ||
37 | --- mpfr-3.0.0-a/out_str.c 2010-06-10 11:00:14.000000000 +0000 | ||
38 | +++ mpfr-3.0.0-b/out_str.c 2010-06-23 11:03:12.000000000 +0000 | ||
39 | @@ -22,6 +22,16 @@ | ||
40 | |||
41 | #include "mpfr-impl.h" | ||
42 | |||
43 | +/* Warning! S should not contain "%". */ | ||
44 | +#define OUT_STR_RET(S) \ | ||
45 | + do \ | ||
46 | + { \ | ||
47 | + int r; \ | ||
48 | + r = fprintf (stream, (S)); \ | ||
49 | + return r < 0 ? 0 : r; \ | ||
50 | + } \ | ||
51 | + while (0) | ||
52 | + | ||
53 | size_t | ||
54 | mpfr_out_str (FILE *stream, int base, size_t n_digits, mpfr_srcptr op, | ||
55 | mpfr_rnd_t rnd_mode) | ||
56 | @@ -29,6 +39,7 @@ | ||
57 | char *s, *s0; | ||
58 | size_t l; | ||
59 | mpfr_exp_t e; | ||
60 | + int err; | ||
61 | |||
62 | MPFR_ASSERTN (base >= 2 && base <= 62); | ||
63 | |||
64 | @@ -36,37 +47,16 @@ | ||
65 | if (stream == NULL) | ||
66 | stream = stdout; | ||
67 | |||
68 | - if (MPFR_IS_NAN(op)) | ||
69 | - { | ||
70 | - fprintf (stream, "@NaN@"); | ||
71 | - return 3; | ||
72 | - } | ||
73 | - | ||
74 | - if (MPFR_IS_INF(op)) | ||
75 | - { | ||
76 | - if (MPFR_SIGN(op) > 0) | ||
77 | - { | ||
78 | - fprintf (stream, "@Inf@"); | ||
79 | - return 3; | ||
80 | - } | ||
81 | - else | ||
82 | - { | ||
83 | - fprintf (stream, "-@Inf@"); | ||
84 | - return 4; | ||
85 | - } | ||
86 | - } | ||
87 | - | ||
88 | - if (MPFR_IS_ZERO(op)) | ||
89 | + if (MPFR_UNLIKELY (MPFR_IS_SINGULAR (op))) | ||
90 | { | ||
91 | - if (MPFR_SIGN(op) > 0) | ||
92 | - { | ||
93 | - fprintf(stream, "0"); | ||
94 | - return 1; | ||
95 | - } | ||
96 | + if (MPFR_IS_NAN (op)) | ||
97 | + OUT_STR_RET ("@NaN@"); | ||
98 | + else if (MPFR_IS_INF (op)) | ||
99 | + OUT_STR_RET (MPFR_IS_POS (op) ? "@Inf@" : "-@Inf@"); | ||
100 | else | ||
101 | { | ||
102 | - fprintf(stream, "-0"); | ||
103 | - return 2; | ||
104 | + MPFR_ASSERTD (MPFR_IS_ZERO (op)); | ||
105 | + OUT_STR_RET (MPFR_IS_POS (op) ? "0" : "-0"); | ||
106 | } | ||
107 | } | ||
108 | |||
109 | @@ -77,21 +67,31 @@ | ||
110 | |||
111 | l = strlen (s) + 1; /* size of allocated block returned by mpfr_get_str | ||
112 | - may be incorrect, as only an upper bound? */ | ||
113 | - if (*s == '-') | ||
114 | - fputc (*s++, stream); | ||
115 | |||
116 | - /* outputs mantissa */ | ||
117 | - fputc (*s++, stream); e--; /* leading digit */ | ||
118 | - fputc ((unsigned char) MPFR_DECIMAL_POINT, stream); | ||
119 | - fputs (s, stream); /* rest of mantissa */ | ||
120 | + /* outputs possible sign and significand */ | ||
121 | + err = (*s == '-' && fputc (*s++, stream) == EOF) | ||
122 | + || fputc (*s++, stream) == EOF /* leading digit */ | ||
123 | + || fputc ((unsigned char) MPFR_DECIMAL_POINT, stream) == EOF | ||
124 | + || fputs (s, stream) == EOF; /* trailing significand */ | ||
125 | (*__gmp_free_func) (s0, l); | ||
126 | + if (MPFR_UNLIKELY (err)) | ||
127 | + return 0; | ||
128 | + | ||
129 | + e--; /* due to the leading digit */ | ||
130 | |||
131 | /* outputs exponent */ | ||
132 | if (e) | ||
133 | { | ||
134 | + int r; | ||
135 | + | ||
136 | MPFR_ASSERTN(e >= LONG_MIN); | ||
137 | MPFR_ASSERTN(e <= LONG_MAX); | ||
138 | - l += fprintf (stream, (base <= 10 ? "e%ld" : "@%ld"), (long) e); | ||
139 | + | ||
140 | + r = fprintf (stream, (base <= 10 ? "e%ld" : "@%ld"), (long) e); | ||
141 | + if (MPFR_UNLIKELY (r < 0)) | ||
142 | + return 0; | ||
143 | + | ||
144 | + l += r; | ||
145 | } | ||
146 | |||
147 | return l; | ||
148 | diff -Naurd mpfr-3.0.0-a/tests/tout_str.c mpfr-3.0.0-b/tests/tout_str.c | ||
149 | --- mpfr-3.0.0-a/tests/tout_str.c 2010-06-10 11:00:13.000000000 +0000 | ||
150 | +++ mpfr-3.0.0-b/tests/tout_str.c 2010-06-23 11:03:12.000000000 +0000 | ||
151 | @@ -46,22 +46,54 @@ | ||
152 | special (void) | ||
153 | { | ||
154 | mpfr_t x; | ||
155 | + unsigned int n; | ||
156 | |||
157 | mpfr_init (x); | ||
158 | |||
159 | mpfr_set_nan (x); | ||
160 | - mpfr_out_str (fout, 10, 0, x, MPFR_RNDN); | ||
161 | + n = mpfr_out_str (fout, 10, 0, x, MPFR_RNDN); | ||
162 | + if (n != 5) | ||
163 | + { | ||
164 | + printf ("Error: mpfr_out_str (file, 10, 0, NaN, MPFR_RNDN) wrote %u " | ||
165 | + "characters instead of 5.\n", n); | ||
166 | + exit (1); | ||
167 | + } | ||
168 | |||
169 | mpfr_set_inf (x, 1); | ||
170 | - mpfr_out_str (fout, 10, 0, x, MPFR_RNDN); | ||
171 | + n = mpfr_out_str (fout, 10, 0, x, MPFR_RNDN); | ||
172 | + if (n != 5) | ||
173 | + { | ||
174 | + printf ("Error: mpfr_out_str (file, 10, 0, +Inf, MPFR_RNDN) wrote %u " | ||
175 | + "characters instead of 5.\n", n); | ||
176 | + exit (1); | ||
177 | + } | ||
178 | |||
179 | mpfr_set_inf (x, -1); | ||
180 | - mpfr_out_str (fout, 10, 0, x, MPFR_RNDN); | ||
181 | + n = mpfr_out_str (fout, 10, 0, x, MPFR_RNDN); | ||
182 | + if (n != 6) | ||
183 | + { | ||
184 | + printf ("Error: mpfr_out_str (file, 10, 0, -Inf, MPFR_RNDN) wrote %u " | ||
185 | + "characters instead of 6.\n", n); | ||
186 | + exit (1); | ||
187 | + } | ||
188 | |||
189 | mpfr_set_ui (x, 0, MPFR_RNDN); | ||
190 | - mpfr_out_str (fout, 10, 0, x, MPFR_RNDN); | ||
191 | + n = mpfr_out_str (fout, 10, 0, x, MPFR_RNDN); | ||
192 | + if (n != 1) | ||
193 | + { | ||
194 | + printf ("Error: mpfr_out_str (file, 10, 0, +0, MPFR_RNDN) wrote %u " | ||
195 | + "characters instead of 1.\n", n); | ||
196 | + exit (1); | ||
197 | + } | ||
198 | + | ||
199 | mpfr_neg (x, x, MPFR_RNDN); | ||
200 | - mpfr_out_str (fout, 10, 0, x, MPFR_RNDN); | ||
201 | + n = mpfr_out_str (fout, 10, 0, x, MPFR_RNDN); | ||
202 | + if (n != 2) | ||
203 | + { | ||
204 | + printf ("Error: mpfr_out_str (file, 10, 0, -0, MPFR_RNDN) wrote %u " | ||
205 | + "characters instead of 2.\n", n); | ||
206 | + exit (1); | ||
207 | + } | ||
208 | |||
209 | mpfr_clear (x); | ||
210 | } | ||
211 | diff -Naurd mpfr-3.0.0-a/version.c mpfr-3.0.0-b/version.c | ||
212 | --- mpfr-3.0.0-a/version.c 2010-06-10 11:00:14.000000000 +0000 | ||
213 | +++ mpfr-3.0.0-b/version.c 2010-06-23 11:03:20.000000000 +0000 | ||
214 | @@ -25,5 +25,5 @@ | ||
215 | const char * | ||
216 | mpfr_get_version (void) | ||
217 | { | ||
218 | - return "3.0.0"; | ||
219 | + return "3.0.0-p1"; | ||
220 | } | ||
221 | diff -Naurd mpfr-3.0.0-a/Makefile.in mpfr-3.0.0-b/Makefile.in | ||
222 | --- mpfr-3.0.0-a/Makefile.in 2010-06-10 11:00:52.000000000 +0000 | ||
223 | +++ mpfr-3.0.0-b/Makefile.in 2010-06-10 11:00:52.000000000 +0000 | ||
224 | @@ -239,6 +239,7 @@ | ||
225 | distuninstallcheck_listfiles = find . -type f -print | ||
226 | distcleancheck_listfiles = find . -type f -print | ||
227 | ACLOCAL = @ACLOCAL@ | ||
228 | +ALLOCA = @ALLOCA@ | ||
229 | AMTAR = @AMTAR@ | ||
230 | AR = @AR@ | ||
231 | AS = @AS@ | ||
232 | diff -Naurd mpfr-3.0.0-a/PATCHES mpfr-3.0.0-b/PATCHES | ||
233 | --- mpfr-3.0.0-a/PATCHES 2010-06-23 11:03:36.000000000 +0000 | ||
234 | +++ mpfr-3.0.0-b/PATCHES 2010-06-25 13:23:13.000000000 +0000 | ||
235 | @@ -0,0 +1 @@ | ||
236 | +alloca | ||
237 | diff -Naurd mpfr-3.0.0-a/VERSION mpfr-3.0.0-b/VERSION | ||
238 | --- mpfr-3.0.0-a/VERSION 2010-06-23 11:03:20.000000000 +0000 | ||
239 | +++ mpfr-3.0.0-b/VERSION 2010-06-25 13:23:13.000000000 +0000 | ||
240 | @@ -1 +1 @@ | ||
241 | -3.0.0-p1 | ||
242 | +3.0.0-p2 | ||
243 | diff -Naurd mpfr-3.0.0-a/acinclude.m4 mpfr-3.0.0-b/acinclude.m4 | ||
244 | --- mpfr-3.0.0-a/acinclude.m4 2010-06-10 11:00:14.000000000 +0000 | ||
245 | +++ mpfr-3.0.0-b/acinclude.m4 2010-06-10 11:00:14.000000000 +0000 | ||
246 | @@ -59,6 +59,9 @@ | ||
247 | dnl sys/fpu.h - MIPS specific | ||
248 | AC_CHECK_HEADERS([sys/time.h sys/fpu.h]) | ||
249 | |||
250 | +dnl Check how to get `alloca' | ||
251 | +AC_FUNC_ALLOCA | ||
252 | + | ||
253 | dnl SIZE_MAX macro | ||
254 | gl_SIZE_MAX | ||
255 | |||
256 | diff -Naurd mpfr-3.0.0-a/configure mpfr-3.0.0-b/configure | ||
257 | --- mpfr-3.0.0-a/configure 2010-06-10 11:00:51.000000000 +0000 | ||
258 | +++ mpfr-3.0.0-b/configure 2010-06-25 13:23:05.000000000 +0000 | ||
259 | @@ -783,6 +783,7 @@ | ||
260 | OBJDUMP | ||
261 | DLLTOOL | ||
262 | AS | ||
263 | +ALLOCA | ||
264 | MPFR_LIBM | ||
265 | ANSI2KNR | ||
266 | U | ||
267 | @@ -5622,6 +5623,197 @@ | ||
268 | done | ||
269 | |||
270 | |||
271 | +# The Ultrix 4.2 mips builtin alloca declared by alloca.h only works | ||
272 | +# for constant arguments. Useless! | ||
273 | +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for working alloca.h" >&5 | ||
274 | +$as_echo_n "checking for working alloca.h... " >&6; } | ||
275 | +if test "${ac_cv_working_alloca_h+set}" = set; then : | ||
276 | + $as_echo_n "(cached) " >&6 | ||
277 | +else | ||
278 | + cat confdefs.h - <<_ACEOF >conftest.$ac_ext | ||
279 | +/* end confdefs.h. */ | ||
280 | +#include <alloca.h> | ||
281 | +int | ||
282 | +main () | ||
283 | +{ | ||
284 | +char *p = (char *) alloca (2 * sizeof (int)); | ||
285 | + if (p) return 0; | ||
286 | + ; | ||
287 | + return 0; | ||
288 | +} | ||
289 | +_ACEOF | ||
290 | +if ac_fn_c_try_link "$LINENO"; then : | ||
291 | + ac_cv_working_alloca_h=yes | ||
292 | +else | ||
293 | + ac_cv_working_alloca_h=no | ||
294 | +fi | ||
295 | +rm -f core conftest.err conftest.$ac_objext \ | ||
296 | + conftest$ac_exeext conftest.$ac_ext | ||
297 | +fi | ||
298 | +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_working_alloca_h" >&5 | ||
299 | +$as_echo "$ac_cv_working_alloca_h" >&6; } | ||
300 | +if test $ac_cv_working_alloca_h = yes; then | ||
301 | + | ||
302 | +$as_echo "#define HAVE_ALLOCA_H 1" >>confdefs.h | ||
303 | + | ||
304 | +fi | ||
305 | + | ||
306 | +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for alloca" >&5 | ||
307 | +$as_echo_n "checking for alloca... " >&6; } | ||
308 | +if test "${ac_cv_func_alloca_works+set}" = set; then : | ||
309 | + $as_echo_n "(cached) " >&6 | ||
310 | +else | ||
311 | + cat confdefs.h - <<_ACEOF >conftest.$ac_ext | ||
312 | +/* end confdefs.h. */ | ||
313 | +#ifdef __GNUC__ | ||
314 | +# define alloca __builtin_alloca | ||
315 | +#else | ||
316 | +# ifdef _MSC_VER | ||
317 | +# include <malloc.h> | ||
318 | +# define alloca _alloca | ||
319 | +# else | ||
320 | +# ifdef HAVE_ALLOCA_H | ||
321 | +# include <alloca.h> | ||
322 | +# else | ||
323 | +# ifdef _AIX | ||
324 | + #pragma alloca | ||
325 | +# else | ||
326 | +# ifndef alloca /* predefined by HP cc +Olibcalls */ | ||
327 | +char *alloca (); | ||
328 | +# endif | ||
329 | +# endif | ||
330 | +# endif | ||
331 | +# endif | ||
332 | +#endif | ||
333 | + | ||
334 | +int | ||
335 | +main () | ||
336 | +{ | ||
337 | +char *p = (char *) alloca (1); | ||
338 | + if (p) return 0; | ||
339 | + ; | ||
340 | + return 0; | ||
341 | +} | ||
342 | +_ACEOF | ||
343 | +if ac_fn_c_try_link "$LINENO"; then : | ||
344 | + ac_cv_func_alloca_works=yes | ||
345 | +else | ||
346 | + ac_cv_func_alloca_works=no | ||
347 | +fi | ||
348 | +rm -f core conftest.err conftest.$ac_objext \ | ||
349 | + conftest$ac_exeext conftest.$ac_ext | ||
350 | +fi | ||
351 | +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_func_alloca_works" >&5 | ||
352 | +$as_echo "$ac_cv_func_alloca_works" >&6; } | ||
353 | + | ||
354 | +if test $ac_cv_func_alloca_works = yes; then | ||
355 | + | ||
356 | +$as_echo "#define HAVE_ALLOCA 1" >>confdefs.h | ||
357 | + | ||
358 | +else | ||
359 | + # The SVR3 libPW and SVR4 libucb both contain incompatible functions | ||
360 | +# that cause trouble. Some versions do not even contain alloca or | ||
361 | +# contain a buggy version. If you still want to use their alloca, | ||
362 | +# use ar to extract alloca.o from them instead of compiling alloca.c. | ||
363 | + | ||
364 | +ALLOCA=\${LIBOBJDIR}alloca.$ac_objext | ||
365 | + | ||
366 | +$as_echo "#define C_ALLOCA 1" >>confdefs.h | ||
367 | + | ||
368 | + | ||
369 | +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether \`alloca.c' needs Cray hooks" >&5 | ||
370 | +$as_echo_n "checking whether \`alloca.c' needs Cray hooks... " >&6; } | ||
371 | +if test "${ac_cv_os_cray+set}" = set; then : | ||
372 | + $as_echo_n "(cached) " >&6 | ||
373 | +else | ||
374 | + cat confdefs.h - <<_ACEOF >conftest.$ac_ext | ||
375 | +/* end confdefs.h. */ | ||
376 | +#if defined CRAY && ! defined CRAY2 | ||
377 | +webecray | ||
378 | +#else | ||
379 | +wenotbecray | ||
380 | +#endif | ||
381 | + | ||
382 | +_ACEOF | ||
383 | +if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | | ||
384 | + $EGREP "webecray" >/dev/null 2>&1; then : | ||
385 | + ac_cv_os_cray=yes | ||
386 | +else | ||
387 | + ac_cv_os_cray=no | ||
388 | +fi | ||
389 | +rm -f conftest* | ||
390 | + | ||
391 | +fi | ||
392 | +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_os_cray" >&5 | ||
393 | +$as_echo "$ac_cv_os_cray" >&6; } | ||
394 | +if test $ac_cv_os_cray = yes; then | ||
395 | + for ac_func in _getb67 GETB67 getb67; do | ||
396 | + as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` | ||
397 | +ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var" | ||
398 | +eval as_val=\$$as_ac_var | ||
399 | + if test "x$as_val" = x""yes; then : | ||
400 | + | ||
401 | +cat >>confdefs.h <<_ACEOF | ||
402 | +#define CRAY_STACKSEG_END $ac_func | ||
403 | +_ACEOF | ||
404 | + | ||
405 | + break | ||
406 | +fi | ||
407 | + | ||
408 | + done | ||
409 | +fi | ||
410 | + | ||
411 | +{ $as_echo "$as_me:${as_lineno-$LINENO}: checking stack direction for C alloca" >&5 | ||
412 | +$as_echo_n "checking stack direction for C alloca... " >&6; } | ||
413 | +if test "${ac_cv_c_stack_direction+set}" = set; then : | ||
414 | + $as_echo_n "(cached) " >&6 | ||
415 | +else | ||
416 | + if test "$cross_compiling" = yes; then : | ||
417 | + ac_cv_c_stack_direction=0 | ||
418 | +else | ||
419 | + cat confdefs.h - <<_ACEOF >conftest.$ac_ext | ||
420 | +/* end confdefs.h. */ | ||
421 | +$ac_includes_default | ||
422 | +int | ||
423 | +find_stack_direction () | ||
424 | +{ | ||
425 | + static char *addr = 0; | ||
426 | + auto char dummy; | ||
427 | + if (addr == 0) | ||
428 | + { | ||
429 | + addr = &dummy; | ||
430 | + return find_stack_direction (); | ||
431 | + } | ||
432 | + else | ||
433 | + return (&dummy > addr) ? 1 : -1; | ||
434 | +} | ||
435 | + | ||
436 | +int | ||
437 | +main () | ||
438 | +{ | ||
439 | + return find_stack_direction () < 0; | ||
440 | +} | ||
441 | +_ACEOF | ||
442 | +if ac_fn_c_try_run "$LINENO"; then : | ||
443 | + ac_cv_c_stack_direction=1 | ||
444 | +else | ||
445 | + ac_cv_c_stack_direction=-1 | ||
446 | +fi | ||
447 | +rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ | ||
448 | + conftest.$ac_objext conftest.beam conftest.$ac_ext | ||
449 | +fi | ||
450 | + | ||
451 | +fi | ||
452 | +{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_stack_direction" >&5 | ||
453 | +$as_echo "$ac_cv_c_stack_direction" >&6; } | ||
454 | +cat >>confdefs.h <<_ACEOF | ||
455 | +#define STACK_DIRECTION $ac_cv_c_stack_direction | ||
456 | +_ACEOF | ||
457 | + | ||
458 | + | ||
459 | +fi | ||
460 | + | ||
461 | + | ||
462 | |||
463 | for ac_header in stdint.h | ||
464 | do : | ||
465 | @@ -7564,13 +7756,13 @@ | ||
466 | else | ||
467 | lt_cv_nm_interface="BSD nm" | ||
468 | echo "int some_variable = 0;" > conftest.$ac_ext | ||
469 | - (eval echo "\"\$as_me:7567: $ac_compile\"" >&5) | ||
470 | + (eval echo "\"\$as_me:7759: $ac_compile\"" >&5) | ||
471 | (eval "$ac_compile" 2>conftest.err) | ||
472 | cat conftest.err >&5 | ||
473 | - (eval echo "\"\$as_me:7570: $NM \\\"conftest.$ac_objext\\\"\"" >&5) | ||
474 | + (eval echo "\"\$as_me:7762: $NM \\\"conftest.$ac_objext\\\"\"" >&5) | ||
475 | (eval "$NM \"conftest.$ac_objext\"" 2>conftest.err > conftest.out) | ||
476 | cat conftest.err >&5 | ||
477 | - (eval echo "\"\$as_me:7573: output\"" >&5) | ||
478 | + (eval echo "\"\$as_me:7765: output\"" >&5) | ||
479 | cat conftest.out >&5 | ||
480 | if $GREP 'External.*some_variable' conftest.out > /dev/null; then | ||
481 | lt_cv_nm_interface="MS dumpbin" | ||
482 | @@ -8772,7 +8964,7 @@ | ||
483 | ;; | ||
484 | *-*-irix6*) | ||
485 | # Find out which ABI we are using. | ||
486 | - echo '#line 8775 "configure"' > conftest.$ac_ext | ||
487 | + echo '#line 8967 "configure"' > conftest.$ac_ext | ||
488 | if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 | ||
489 | (eval $ac_compile) 2>&5 | ||
490 | ac_status=$? | ||
491 | @@ -10032,11 +10224,11 @@ | ||
492 | -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ | ||
493 | -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ | ||
494 | -e 's:$: $lt_compiler_flag:'` | ||
495 | - (eval echo "\"\$as_me:10035: $lt_compile\"" >&5) | ||
496 | + (eval echo "\"\$as_me:10227: $lt_compile\"" >&5) | ||
497 | (eval "$lt_compile" 2>conftest.err) | ||
498 | ac_status=$? | ||
499 | cat conftest.err >&5 | ||
500 | - echo "$as_me:10039: \$? = $ac_status" >&5 | ||
501 | + echo "$as_me:10231: \$? = $ac_status" >&5 | ||
502 | if (exit $ac_status) && test -s "$ac_outfile"; then | ||
503 | # The compiler can only warn and ignore the option if not recognized | ||
504 | # So say no if there are warnings other than the usual output. | ||
505 | @@ -10371,11 +10563,11 @@ | ||
506 | -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ | ||
507 | -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ | ||
508 | -e 's:$: $lt_compiler_flag:'` | ||
509 | - (eval echo "\"\$as_me:10374: $lt_compile\"" >&5) | ||
510 | + (eval echo "\"\$as_me:10566: $lt_compile\"" >&5) | ||
511 | (eval "$lt_compile" 2>conftest.err) | ||
512 | ac_status=$? | ||
513 | cat conftest.err >&5 | ||
514 | - echo "$as_me:10378: \$? = $ac_status" >&5 | ||
515 | + echo "$as_me:10570: \$? = $ac_status" >&5 | ||
516 | if (exit $ac_status) && test -s "$ac_outfile"; then | ||
517 | # The compiler can only warn and ignore the option if not recognized | ||
518 | # So say no if there are warnings other than the usual output. | ||
519 | @@ -10476,11 +10668,11 @@ | ||
520 | -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ | ||
521 | -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ | ||
522 | -e 's:$: $lt_compiler_flag:'` | ||
523 | - (eval echo "\"\$as_me:10479: $lt_compile\"" >&5) | ||
524 | + (eval echo "\"\$as_me:10671: $lt_compile\"" >&5) | ||
525 | (eval "$lt_compile" 2>out/conftest.err) | ||
526 | ac_status=$? | ||
527 | cat out/conftest.err >&5 | ||
528 | - echo "$as_me:10483: \$? = $ac_status" >&5 | ||
529 | + echo "$as_me:10675: \$? = $ac_status" >&5 | ||
530 | if (exit $ac_status) && test -s out/conftest2.$ac_objext | ||
531 | then | ||
532 | # The compiler can only warn and ignore the option if not recognized | ||
533 | @@ -10531,11 +10723,11 @@ | ||
534 | -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ | ||
535 | -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ | ||
536 | -e 's:$: $lt_compiler_flag:'` | ||
537 | - (eval echo "\"\$as_me:10534: $lt_compile\"" >&5) | ||
538 | + (eval echo "\"\$as_me:10726: $lt_compile\"" >&5) | ||
539 | (eval "$lt_compile" 2>out/conftest.err) | ||
540 | ac_status=$? | ||
541 | cat out/conftest.err >&5 | ||
542 | - echo "$as_me:10538: \$? = $ac_status" >&5 | ||
543 | + echo "$as_me:10730: \$? = $ac_status" >&5 | ||
544 | if (exit $ac_status) && test -s out/conftest2.$ac_objext | ||
545 | then | ||
546 | # The compiler can only warn and ignore the option if not recognized | ||
547 | @@ -12915,7 +13107,7 @@ | ||
548 | lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 | ||
549 | lt_status=$lt_dlunknown | ||
550 | cat > conftest.$ac_ext <<_LT_EOF | ||
551 | -#line 12918 "configure" | ||
552 | +#line 13110 "configure" | ||
553 | #include "confdefs.h" | ||
554 | |||
555 | #if HAVE_DLFCN_H | ||
556 | @@ -13011,7 +13203,7 @@ | ||
557 | lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 | ||
558 | lt_status=$lt_dlunknown | ||
559 | cat > conftest.$ac_ext <<_LT_EOF | ||
560 | -#line 13014 "configure" | ||
561 | +#line 13206 "configure" | ||
562 | #include "confdefs.h" | ||
563 | |||
564 | #if HAVE_DLFCN_H | ||
565 | diff -Naurd mpfr-3.0.0-a/mpfr.h mpfr-3.0.0-b/mpfr.h | ||
566 | --- mpfr-3.0.0-a/mpfr.h 2010-06-23 11:03:20.000000000 +0000 | ||
567 | +++ mpfr-3.0.0-b/mpfr.h 2010-06-25 13:23:13.000000000 +0000 | ||
568 | @@ -27,7 +27,7 @@ | ||
569 | #define MPFR_VERSION_MAJOR 3 | ||
570 | #define MPFR_VERSION_MINOR 0 | ||
571 | #define MPFR_VERSION_PATCHLEVEL 0 | ||
572 | -#define MPFR_VERSION_STRING "3.0.0-p1" | ||
573 | +#define MPFR_VERSION_STRING "3.0.0-p2" | ||
574 | |||
575 | /* Macros dealing with MPFR VERSION */ | ||
576 | #define MPFR_VERSION_NUM(a,b,c) (((a) << 16L) | ((b) << 8) | (c)) | ||
577 | diff -Naurd mpfr-3.0.0-a/tests/Makefile.in mpfr-3.0.0-b/tests/Makefile.in | ||
578 | --- mpfr-3.0.0-a/tests/Makefile.in 2010-06-10 11:00:52.000000000 +0000 | ||
579 | +++ mpfr-3.0.0-b/tests/Makefile.in 2010-06-10 11:00:52.000000000 +0000 | ||
580 | @@ -960,6 +960,7 @@ | ||
581 | red=; grn=; lgn=; blu=; std= | ||
582 | DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) | ||
583 | ACLOCAL = @ACLOCAL@ | ||
584 | +ALLOCA = @ALLOCA@ | ||
585 | AMTAR = @AMTAR@ | ||
586 | AR = @AR@ | ||
587 | AS = @AS@ | ||
588 | diff -Naurd mpfr-3.0.0-a/version.c mpfr-3.0.0-b/version.c | ||
589 | --- mpfr-3.0.0-a/version.c 2010-06-23 11:03:20.000000000 +0000 | ||
590 | +++ mpfr-3.0.0-b/version.c 2010-06-25 13:23:13.000000000 +0000 | ||
591 | @@ -25,5 +25,5 @@ | ||
592 | const char * | ||
593 | mpfr_get_version (void) | ||
594 | { | ||
595 | - return "3.0.0-p1"; | ||
596 | + return "3.0.0-p2"; | ||
597 | } | ||
598 | diff -Naurd mpfr-3.0.0-a/PATCHES mpfr-3.0.0-b/PATCHES | ||
599 | --- mpfr-3.0.0-a/PATCHES 2010-07-10 00:11:19.000000000 +0000 | ||
600 | +++ mpfr-3.0.0-b/PATCHES 2010-07-10 00:12:50.000000000 +0000 | ||
601 | @@ -0,0 +1 @@ | ||
602 | +gamma_underflow | ||
603 | diff -Naurd mpfr-3.0.0-a/VERSION mpfr-3.0.0-b/VERSION | ||
604 | --- mpfr-3.0.0-a/VERSION 2010-06-25 13:23:13.000000000 +0000 | ||
605 | +++ mpfr-3.0.0-b/VERSION 2010-07-10 00:11:53.000000000 +0000 | ||
606 | @@ -1 +1 @@ | ||
607 | -3.0.0-p2 | ||
608 | +3.0.0-p3 | ||
609 | diff -Naurd mpfr-3.0.0-a/gamma.c mpfr-3.0.0-b/gamma.c | ||
610 | --- mpfr-3.0.0-a/gamma.c 2010-06-10 11:00:14.000000000 +0000 | ||
611 | +++ mpfr-3.0.0-b/gamma.c 2010-07-10 00:11:46.000000000 +0000 | ||
612 | @@ -274,7 +274,7 @@ | ||
613 | /* we want an upper bound for x * [log(2-x)-1]. | ||
614 | since x < 0, we need a lower bound on log(2-x) */ | ||
615 | mpfr_ui_sub (xp, 2, x, MPFR_RNDD); | ||
616 | - mpfr_log (xp, xp, MPFR_RNDD); | ||
617 | + mpfr_log2 (xp, xp, MPFR_RNDD); | ||
618 | mpfr_sub_ui (xp, xp, 1, MPFR_RNDD); | ||
619 | mpfr_mul (xp, xp, x, MPFR_RNDU); | ||
620 | |||
621 | @@ -303,8 +303,8 @@ | ||
622 | { | ||
623 | mpfr_sub (tmp, tmp, tmp2, MPFR_RNDZ); /* low bnd on |sin(Pi*(2-x))| */ | ||
624 | mpfr_ui_div (tmp, 12, tmp, MPFR_RNDU); /* upper bound */ | ||
625 | - mpfr_log (tmp, tmp, MPFR_RNDU); | ||
626 | - mpfr_add (tmp, tmp, xp, MPFR_RNDU); | ||
627 | + mpfr_log2 (tmp, tmp, MPFR_RNDU); | ||
628 | + mpfr_add (xp, tmp, xp, MPFR_RNDU); | ||
629 | underflow = mpfr_cmp_si (xp, expo.saved_emin - 2) <= 0; | ||
630 | } | ||
631 | |||
632 | diff -Naurd mpfr-3.0.0-a/mpfr.h mpfr-3.0.0-b/mpfr.h | ||
633 | --- mpfr-3.0.0-a/mpfr.h 2010-06-25 13:23:13.000000000 +0000 | ||
634 | +++ mpfr-3.0.0-b/mpfr.h 2010-07-10 00:11:53.000000000 +0000 | ||
635 | @@ -27,7 +27,7 @@ | ||
636 | #define MPFR_VERSION_MAJOR 3 | ||
637 | #define MPFR_VERSION_MINOR 0 | ||
638 | #define MPFR_VERSION_PATCHLEVEL 0 | ||
639 | -#define MPFR_VERSION_STRING "3.0.0-p2" | ||
640 | +#define MPFR_VERSION_STRING "3.0.0-p3" | ||
641 | |||
642 | /* Macros dealing with MPFR VERSION */ | ||
643 | #define MPFR_VERSION_NUM(a,b,c) (((a) << 16L) | ((b) << 8) | (c)) | ||
644 | diff -Naurd mpfr-3.0.0-a/tests/tgamma.c mpfr-3.0.0-b/tests/tgamma.c | ||
645 | --- mpfr-3.0.0-a/tests/tgamma.c 2010-06-10 11:00:13.000000000 +0000 | ||
646 | +++ mpfr-3.0.0-b/tests/tgamma.c 2010-07-10 00:11:46.000000000 +0000 | ||
647 | @@ -461,6 +461,20 @@ | ||
648 | mpfr_clear (x); | ||
649 | } | ||
650 | |||
651 | +/* bug found by Stathis, only occurs on 32-bit machines */ | ||
652 | +static void | ||
653 | +test20100709 (void) | ||
654 | +{ | ||
655 | + mpfr_t x; | ||
656 | + int inex; | ||
657 | + | ||
658 | + mpfr_init2 (x, 100); | ||
659 | + mpfr_set_str (x, "-4.6308260837372266e+07", 10, MPFR_RNDN); | ||
660 | + inex = mpfr_gamma (x, x, MPFR_RNDN); | ||
661 | + MPFR_ASSERTN(MPFR_IS_ZERO(x) && MPFR_IS_NEG(x) && inex > 0); | ||
662 | + mpfr_clear (x); | ||
663 | +} | ||
664 | + | ||
665 | int | ||
666 | main (int argc, char *argv[]) | ||
667 | { | ||
668 | @@ -471,6 +485,7 @@ | ||
669 | test_generic (2, 100, 2); | ||
670 | gamma_integer (); | ||
671 | test20071231 (); | ||
672 | + test20100709 (); | ||
673 | |||
674 | data_check ("data/gamma", mpfr_gamma, "mpfr_gamma"); | ||
675 | |||
676 | diff -Naurd mpfr-3.0.0-a/version.c mpfr-3.0.0-b/version.c | ||
677 | --- mpfr-3.0.0-a/version.c 2010-06-25 13:23:13.000000000 +0000 | ||
678 | +++ mpfr-3.0.0-b/version.c 2010-07-10 00:11:53.000000000 +0000 | ||
679 | @@ -25,5 +25,5 @@ | ||
680 | const char * | ||
681 | mpfr_get_version (void) | ||
682 | { | ||
683 | - return "3.0.0-p2"; | ||
684 | + return "3.0.0-p3"; | ||
685 | } | ||
686 | diff -Naurd mpfr-3.0.0-a/PATCHES mpfr-3.0.0-b/PATCHES | ||
687 | --- mpfr-3.0.0-a/PATCHES 2010-09-07 08:44:01.000000000 +0000 | ||
688 | +++ mpfr-3.0.0-b/PATCHES 2010-09-07 08:48:46.000000000 +0000 | ||
689 | @@ -0,0 +1 @@ | ||
690 | +mpfr_cmp/set_ui/si | ||
691 | diff -Naurd mpfr-3.0.0-a/VERSION mpfr-3.0.0-b/VERSION | ||
692 | --- mpfr-3.0.0-a/VERSION 2010-07-10 00:11:53.000000000 +0000 | ||
693 | +++ mpfr-3.0.0-b/VERSION 2010-09-07 08:46:06.000000000 +0000 | ||
694 | @@ -1 +1 @@ | ||
695 | -3.0.0-p3 | ||
696 | +3.0.0-p4 | ||
697 | diff -Naurd mpfr-3.0.0-a/mpfr.h mpfr-3.0.0-b/mpfr.h | ||
698 | --- mpfr-3.0.0-a/mpfr.h 2010-07-10 00:11:53.000000000 +0000 | ||
699 | +++ mpfr-3.0.0-b/mpfr.h 2010-09-07 08:46:06.000000000 +0000 | ||
700 | @@ -27,7 +27,7 @@ | ||
701 | #define MPFR_VERSION_MAJOR 3 | ||
702 | #define MPFR_VERSION_MINOR 0 | ||
703 | #define MPFR_VERSION_PATCHLEVEL 0 | ||
704 | -#define MPFR_VERSION_STRING "3.0.0-p3" | ||
705 | +#define MPFR_VERSION_STRING "3.0.0-p4" | ||
706 | |||
707 | /* Macros dealing with MPFR VERSION */ | ||
708 | #define MPFR_VERSION_NUM(a,b,c) (((a) << 16L) | ((b) << 8) | (c)) | ||
709 | @@ -798,35 +798,45 @@ | ||
710 | anyway. Checking with other ICC versions is needed. Possibly detect | ||
711 | whether warnings are produced or not with a configure test. | ||
712 | + Remove C++ too, since it complains too much. */ | ||
713 | +/* Added casts to improve robustness in case of undefined behavior and | ||
714 | + compiler extensions based on UB (in particular -fwrapv). MPFR doesn't | ||
715 | + use such extensions, but these macros will be used by 3rd-party code, | ||
716 | + where such extensions may be required. | ||
717 | + Moreover casts to unsigned long have been added to avoid warnings in | ||
718 | + programs that use MPFR and are compiled with -Wconversion; such casts | ||
719 | + are OK since if X is a constant expression, then (unsigned long) X is | ||
720 | + also a constant expression, so that the optimizations still work. */ | ||
721 | #if defined (__GNUC__) && !defined(__ICC) && !defined(__cplusplus) | ||
722 | #if (__GNUC__ >= 2) | ||
723 | #undef mpfr_cmp_ui | ||
724 | -/* We use the fact that mpfr_sgn on NaN sets the erange flag and returns 0. */ | ||
725 | -#define mpfr_cmp_ui(_f,_u) \ | ||
726 | - (__builtin_constant_p (_u) && (_u) == 0 ? \ | ||
727 | - mpfr_sgn (_f) : \ | ||
728 | - mpfr_cmp_ui_2exp ((_f),(_u),0)) | ||
729 | +/* We use the fact that mpfr_sgn on NaN sets the erange flag and returns 0. | ||
730 | + But warning! mpfr_sgn is specified as a macro in the API, thus the macro | ||
731 | + mustn't be used if side effects are possible, like here. */ | ||
732 | +#define mpfr_cmp_ui(_f,_u) \ | ||
733 | + (__builtin_constant_p (_u) && (unsigned long) (_u) == 0 ? \ | ||
734 | + (mpfr_sgn) (_f) : \ | ||
735 | + mpfr_cmp_ui_2exp ((_f), (unsigned long) (_u), 0)) | ||
736 | #undef mpfr_cmp_si | ||
737 | -#define mpfr_cmp_si(_f,_s) \ | ||
738 | - (__builtin_constant_p (_s) && (_s) >= 0 ? \ | ||
739 | - mpfr_cmp_ui ((_f), (_s)) : \ | ||
740 | - mpfr_cmp_si_2exp ((_f), (_s), 0)) | ||
741 | +#define mpfr_cmp_si(_f,_s) \ | ||
742 | + (__builtin_constant_p (_s) && (long) (_s) >= 0 ? \ | ||
743 | + mpfr_cmp_ui ((_f), (unsigned long) (long) (_s)) : \ | ||
744 | + mpfr_cmp_si_2exp ((_f), (long) (_s), 0)) | ||
745 | #if __GNUC__ > 2 || __GNUC_MINOR__ >= 95 | ||
746 | #undef mpfr_set_ui | ||
747 | -#define mpfr_set_ui(_f,_u,_r) \ | ||
748 | - (__builtin_constant_p (_u) && (_u) == 0 ? \ | ||
749 | - __extension__ ({ \ | ||
750 | - mpfr_ptr _p = (_f); \ | ||
751 | - _p->_mpfr_sign = 1; \ | ||
752 | - _p->_mpfr_exp = __MPFR_EXP_ZERO; \ | ||
753 | - (void) (_r); 0; }) : \ | ||
754 | - mpfr_set_ui_2exp ((_f), (_u), 0, (_r))) | ||
755 | +#define mpfr_set_ui(_f,_u,_r) \ | ||
756 | + (__builtin_constant_p (_u) && (unsigned long) (_u) == 0 ? \ | ||
757 | + __extension__ ({ \ | ||
758 | + mpfr_ptr _p = (_f); \ | ||
759 | + _p->_mpfr_sign = 1; \ | ||
760 | + _p->_mpfr_exp = __MPFR_EXP_ZERO; \ | ||
761 | + (void) (_r); 0; }) : \ | ||
762 | + mpfr_set_ui_2exp ((_f), (unsigned long) (_u), 0, (_r))) | ||
763 | #endif | ||
764 | #undef mpfr_set_si | ||
765 | -#define mpfr_set_si(_f,_s,_r) \ | ||
766 | - (__builtin_constant_p (_s) && (_s) >= 0 ? \ | ||
767 | - mpfr_set_ui ((_f), (_s), (_r)) : \ | ||
768 | - mpfr_set_si_2exp ((_f), (_s), 0, (_r))) | ||
769 | +#define mpfr_set_si(_f,_s,_r) \ | ||
770 | + (__builtin_constant_p (_s) && (long) (_s) >= 0 ? \ | ||
771 | + mpfr_set_ui ((_f), (unsigned long) (long) (_s), (_r)) : \ | ||
772 | + mpfr_set_si_2exp ((_f), (long) (_s), 0, (_r))) | ||
773 | #endif | ||
774 | #endif | ||
775 | |||
776 | diff -Naurd mpfr-3.0.0-a/tests/tcmp_ui.c mpfr-3.0.0-b/tests/tcmp_ui.c | ||
777 | --- mpfr-3.0.0-a/tests/tcmp_ui.c 2010-06-10 11:00:13.000000000 +0000 | ||
778 | +++ mpfr-3.0.0-b/tests/tcmp_ui.c 2010-09-07 08:45:12.000000000 +0000 | ||
779 | @@ -88,6 +88,126 @@ | ||
780 | mpfr_clear (x); | ||
781 | } | ||
782 | |||
783 | +/* Since mpfr_cmp_ui and mpfr_cmp_si are also implemented by a macro | ||
784 | + with __builtin_constant_p for GCC, check that side effects are | ||
785 | + handled correctly. */ | ||
786 | +static void | ||
787 | +check_macros (void) | ||
788 | +{ | ||
789 | + mpfr_t x; | ||
790 | + int c; | ||
791 | + | ||
792 | + mpfr_init2 (x, 32); | ||
793 | + | ||
794 | + c = 0; | ||
795 | + mpfr_set_ui (x, 17, MPFR_RNDN); | ||
796 | + if (mpfr_cmp_ui (x, 17) != 0) | ||
797 | + { | ||
798 | + printf ("Error 1 on mpfr_cmp_ui(x,17) in check_macros\n"); | ||
799 | + exit (1); | ||
800 | + } | ||
801 | + if (mpfr_cmp_ui (x, (c++, 17)) != 0) | ||
802 | + { | ||
803 | + printf ("Error 2 on mpfr_cmp_ui(x,17) in check_macros\n"); | ||
804 | + exit (1); | ||
805 | + } | ||
806 | + if (c != 1) | ||
807 | + { | ||
808 | + printf ("Error 3 on mpfr_cmp_ui(x,17) in check_macros\n" | ||
809 | + "(c = %d instead of 1)\n", c); | ||
810 | + exit (1); | ||
811 | + } | ||
812 | + if (mpfr_cmp_si (x, 17) != 0) | ||
813 | + { | ||
814 | + printf ("Error 1 on mpfr_cmp_si(x,17) in check_macros\n"); | ||
815 | + exit (1); | ||
816 | + } | ||
817 | + if (mpfr_cmp_si (x, (c++, 17)) != 0) | ||
818 | + { | ||
819 | + printf ("Error 2 on mpfr_cmp_si(x,17) in check_macros\n"); | ||
820 | + exit (1); | ||
821 | + } | ||
822 | + if (c != 2) | ||
823 | + { | ||
824 | + printf ("Error 3 on mpfr_cmp_si(x,17) in check_macros\n" | ||
825 | + "(c = %d instead of 2)\n", c); | ||
826 | + exit (1); | ||
827 | + } | ||
828 | + | ||
829 | + c = 0; | ||
830 | + mpfr_set_ui (x, 0, MPFR_RNDN); | ||
831 | + if (mpfr_cmp_ui (x, 0) != 0) | ||
832 | + { | ||
833 | + printf ("Error 1 on mpfr_cmp_ui(x,0) in check_macros\n"); | ||
834 | + exit (1); | ||
835 | + } | ||
836 | + if (mpfr_cmp_ui (x, (c++, 0)) != 0) | ||
837 | + { | ||
838 | + printf ("Error 2 on mpfr_cmp_ui(x,0) in check_macros\n"); | ||
839 | + exit (1); | ||
840 | + } | ||
841 | + if (c != 1) | ||
842 | + { | ||
843 | + printf ("Error 3 on mpfr_cmp_ui(x,0) in check_macros\n" | ||
844 | + "(c = %d instead of 1)\n", c); | ||
845 | + exit (1); | ||
846 | + } | ||
847 | + if (mpfr_cmp_si (x, 0) != 0) | ||
848 | + { | ||
849 | + printf ("Error 1 on mpfr_cmp_si(x,0) in check_macros\n"); | ||
850 | + exit (1); | ||
851 | + } | ||
852 | + if (mpfr_cmp_si (x, (c++, 0)) != 0) | ||
853 | + { | ||
854 | + printf ("Error 2 on mpfr_cmp_si(x,0) in check_macros\n"); | ||
855 | + exit (1); | ||
856 | + } | ||
857 | + if (c != 2) | ||
858 | + { | ||
859 | + printf ("Error 3 on mpfr_cmp_si(x,0) in check_macros\n" | ||
860 | + "(c = %d instead of 2)\n", c); | ||
861 | + exit (1); | ||
862 | + } | ||
863 | + | ||
864 | + mpfr_clear (x); | ||
865 | +} | ||
866 | + | ||
867 | +/* Bug in r7114 */ | ||
868 | +static void | ||
869 | +test_macros (void) | ||
870 | +{ | ||
871 | + mpfr_t x[3]; | ||
872 | + mpfr_ptr p; | ||
873 | + | ||
874 | + mpfr_inits (x[0], x[1], x[2], (mpfr_ptr) 0); | ||
875 | + mpfr_set_ui (x[0], 0, MPFR_RNDN); | ||
876 | + p = x[0]; | ||
877 | + if (mpfr_cmp_ui (p++, 0) != 0) | ||
878 | + { | ||
879 | + printf ("Error in mpfr_cmp_ui macro: result should be 0.\n"); | ||
880 | + exit (1); | ||
881 | + } | ||
882 | + if (p != x[1]) | ||
883 | + { | ||
884 | + printf ("Error in mpfr_cmp_ui macro: p - x[0] = %d (expecting 1)\n", | ||
885 | + (int) (p - x[0])); | ||
886 | + exit (1); | ||
887 | + } | ||
888 | + p = x[0]; | ||
889 | + if (mpfr_cmp_si (p++, 0) != 0) | ||
890 | + { | ||
891 | + printf ("Error in mpfr_cmp_si macro: result should be 0.\n"); | ||
892 | + exit (1); | ||
893 | + } | ||
894 | + if (p != x[1]) | ||
895 | + { | ||
896 | + printf ("Error in mpfr_cmp_si macro: p - x[0] = %d (expecting 1)\n", | ||
897 | + (int) (p - x[0])); | ||
898 | + exit (1); | ||
899 | + } | ||
900 | + mpfr_clears (x[0], x[1], x[2], (mpfr_ptr) 0); | ||
901 | +} | ||
902 | + | ||
903 | int | ||
904 | main (void) | ||
905 | { | ||
906 | @@ -216,6 +336,8 @@ | ||
907 | mpfr_clear (x); | ||
908 | |||
909 | check_nan (); | ||
910 | + check_macros (); | ||
911 | + test_macros (); | ||
912 | |||
913 | tests_end_mpfr (); | ||
914 | return 0; | ||
915 | diff -Naurd mpfr-3.0.0-a/version.c mpfr-3.0.0-b/version.c | ||
916 | --- mpfr-3.0.0-a/version.c 2010-07-10 00:11:53.000000000 +0000 | ||
917 | +++ mpfr-3.0.0-b/version.c 2010-09-07 08:46:06.000000000 +0000 | ||
918 | @@ -25,5 +25,5 @@ | ||
919 | const char * | ||
920 | mpfr_get_version (void) | ||
921 | { | ||
922 | - return "3.0.0-p3"; | ||
923 | + return "3.0.0-p4"; | ||
924 | } | ||
925 | diff -Naurd mpfr-3.0.0-a/PATCHES mpfr-3.0.0-b/PATCHES | ||
926 | --- mpfr-3.0.0-a/PATCHES 2010-10-21 20:28:38.000000000 +0000 | ||
927 | +++ mpfr-3.0.0-b/PATCHES 2010-10-21 20:28:38.000000000 +0000 | ||
928 | @@ -0,0 +1 @@ | ||
929 | +tcan_round | ||
930 | diff -Naurd mpfr-3.0.0-a/VERSION mpfr-3.0.0-b/VERSION | ||
931 | --- mpfr-3.0.0-a/VERSION 2010-09-07 08:46:06.000000000 +0000 | ||
932 | +++ mpfr-3.0.0-b/VERSION 2010-10-21 20:28:38.000000000 +0000 | ||
933 | @@ -1 +1 @@ | ||
934 | -3.0.0-p4 | ||
935 | +3.0.0-p5 | ||
936 | diff -Naurd mpfr-3.0.0-a/mpfr.h mpfr-3.0.0-b/mpfr.h | ||
937 | --- mpfr-3.0.0-a/mpfr.h 2010-09-07 08:46:06.000000000 +0000 | ||
938 | +++ mpfr-3.0.0-b/mpfr.h 2010-10-21 20:28:38.000000000 +0000 | ||
939 | @@ -27,7 +27,7 @@ | ||
940 | #define MPFR_VERSION_MAJOR 3 | ||
941 | #define MPFR_VERSION_MINOR 0 | ||
942 | #define MPFR_VERSION_PATCHLEVEL 0 | ||
943 | -#define MPFR_VERSION_STRING "3.0.0-p4" | ||
944 | +#define MPFR_VERSION_STRING "3.0.0-p5" | ||
945 | |||
946 | /* Macros dealing with MPFR VERSION */ | ||
947 | #define MPFR_VERSION_NUM(a,b,c) (((a) << 16L) | ((b) << 8) | (c)) | ||
948 | diff -Naurd mpfr-3.0.0-a/tests/tcan_round.c mpfr-3.0.0-b/tests/tcan_round.c | ||
949 | --- mpfr-3.0.0-a/tests/tcan_round.c 2010-06-10 11:00:13.000000000 +0000 | ||
950 | +++ mpfr-3.0.0-b/tests/tcan_round.c 2010-10-21 20:28:38.000000000 +0000 | ||
951 | @@ -41,7 +41,7 @@ | ||
952 | /* avoid mpn_random which leaks memory */ | ||
953 | for (i = 0; i < n; i++) | ||
954 | buf[i] = randlimb (); | ||
955 | - p = (mpfr_prec_t) randlimb() % ((n-1) * GMP_NUMB_BITS) + MPFR_PREC_MIN; | ||
956 | + p = randlimb() % ((n-1) * GMP_NUMB_BITS) + MPFR_PREC_MIN; | ||
957 | err = p + randlimb () % GMP_NUMB_BITS; | ||
958 | r1 = mpfr_round_p (buf, n, err, p); | ||
959 | r2 = mpfr_can_round_raw (buf, n, MPFR_SIGN_POS, err, | ||
960 | diff -Naurd mpfr-3.0.0-a/version.c mpfr-3.0.0-b/version.c | ||
961 | --- mpfr-3.0.0-a/version.c 2010-09-07 08:46:06.000000000 +0000 | ||
962 | +++ mpfr-3.0.0-b/version.c 2010-10-21 20:28:38.000000000 +0000 | ||
963 | @@ -25,5 +25,5 @@ | ||
964 | const char * | ||
965 | mpfr_get_version (void) | ||
966 | { | ||
967 | - return "3.0.0-p4"; | ||
968 | + return "3.0.0-p5"; | ||
969 | } | ||
970 | diff -Naurd mpfr-3.0.0-a/PATCHES mpfr-3.0.0-b/PATCHES | ||
971 | --- mpfr-3.0.0-a/PATCHES 2010-10-21 20:59:32.000000000 +0000 | ||
972 | +++ mpfr-3.0.0-b/PATCHES 2010-10-21 20:59:32.000000000 +0000 | ||
973 | @@ -0,0 +1 @@ | ||
974 | +mpfr_sub1 | ||
975 | diff -Naurd mpfr-3.0.0-a/VERSION mpfr-3.0.0-b/VERSION | ||
976 | --- mpfr-3.0.0-a/VERSION 2010-10-21 20:28:38.000000000 +0000 | ||
977 | +++ mpfr-3.0.0-b/VERSION 2010-10-21 20:59:32.000000000 +0000 | ||
978 | @@ -1 +1 @@ | ||
979 | -3.0.0-p5 | ||
980 | +3.0.0-p6 | ||
981 | diff -Naurd mpfr-3.0.0-a/mpfr.h mpfr-3.0.0-b/mpfr.h | ||
982 | --- mpfr-3.0.0-a/mpfr.h 2010-10-21 20:28:38.000000000 +0000 | ||
983 | +++ mpfr-3.0.0-b/mpfr.h 2010-10-21 20:59:32.000000000 +0000 | ||
984 | @@ -27,7 +27,7 @@ | ||
985 | #define MPFR_VERSION_MAJOR 3 | ||
986 | #define MPFR_VERSION_MINOR 0 | ||
987 | #define MPFR_VERSION_PATCHLEVEL 0 | ||
988 | -#define MPFR_VERSION_STRING "3.0.0-p5" | ||
989 | +#define MPFR_VERSION_STRING "3.0.0-p6" | ||
990 | |||
991 | /* Macros dealing with MPFR VERSION */ | ||
992 | #define MPFR_VERSION_NUM(a,b,c) (((a) << 16L) | ((b) << 8) | (c)) | ||
993 | diff -Naurd mpfr-3.0.0-a/sub1.c mpfr-3.0.0-b/sub1.c | ||
994 | --- mpfr-3.0.0-a/sub1.c 2010-06-10 11:00:14.000000000 +0000 | ||
995 | +++ mpfr-3.0.0-b/sub1.c 2010-10-21 20:59:32.000000000 +0000 | ||
996 | @@ -37,7 +37,9 @@ | ||
997 | mp_size_t cancel2, an, bn, cn, cn0; | ||
998 | mp_limb_t *ap, *bp, *cp; | ||
999 | mp_limb_t carry, bb, cc, borrow = 0; | ||
1000 | - int inexact, shift_b, shift_c, is_exact = 1, down = 0, add_exp = 0; | ||
1001 | + int inexact, shift_b, shift_c, add_exp = 0; | ||
1002 | + int cmp_low = 0; /* used for rounding to nearest: 0 if low(b) = low(c), | ||
1003 | + negative if low(b) < low(c), positive if low(b)>low(c) */ | ||
1004 | int sh, k; | ||
1005 | MPFR_TMP_DECL(marker); | ||
1006 | |||
1007 | @@ -196,7 +198,8 @@ | ||
1008 | } | ||
1009 | |||
1010 | #ifdef DEBUG | ||
1011 | - printf ("shift_b=%d shift_c=%d diffexp=%lu\n", shift_b, shift_c, | ||
1012 | + printf ("rnd=%s shift_b=%d shift_c=%d diffexp=%lu\n", | ||
1013 | + mpfr_print_rnd_mode (rnd_mode), shift_b, shift_c, | ||
1014 | (unsigned long) diff_exp); | ||
1015 | #endif | ||
1016 | |||
1017 | @@ -307,17 +310,18 @@ | ||
1018 | { | ||
1019 | if (MPFR_LIKELY(sh)) | ||
1020 | { | ||
1021 | - is_exact = (carry == 0); | ||
1022 | /* can decide except when carry = 2^(sh-1) [middle] | ||
1023 | or carry = 0 [truncate, but cannot decide inexact flag] */ | ||
1024 | - down = (carry < (MPFR_LIMB_ONE << (sh - 1))); | ||
1025 | if (carry > (MPFR_LIMB_ONE << (sh - 1))) | ||
1026 | goto add_one_ulp; | ||
1027 | - else if ((0 < carry) && down) | ||
1028 | + else if ((0 < carry) && (carry < (MPFR_LIMB_ONE << (sh - 1)))) | ||
1029 | { | ||
1030 | inexact = -1; /* result if smaller than exact value */ | ||
1031 | goto truncate; | ||
1032 | } | ||
1033 | + /* now carry = 2^(sh-1), in which case cmp_low=2, | ||
1034 | + or carry = 0, in which case cmp_low=0 */ | ||
1035 | + cmp_low = (carry == 0) ? 0 : 2; | ||
1036 | } | ||
1037 | } | ||
1038 | else /* directed rounding: set rnd_mode to RNDZ iff toward zero */ | ||
1039 | @@ -344,12 +348,32 @@ | ||
1040 | cn -= (long int) an + cancel2; | ||
1041 | |||
1042 | #ifdef DEBUG | ||
1043 | - printf ("last %d bits from a are %lu, bn=%ld, cn=%ld\n", | ||
1044 | + printf ("last sh=%d bits from a are %lu, bn=%ld, cn=%ld\n", | ||
1045 | sh, (unsigned long) carry, (long) bn, (long) cn); | ||
1046 | #endif | ||
1047 | |||
1048 | + /* for rounding to nearest, we couldn't conclude up to here in the following | ||
1049 | + cases: | ||
1050 | + 1. sh = 0, then cmp_low=0: we can either truncate, subtract one ulp | ||
1051 | + or add one ulp: -1 ulp < low(b)-low(c) < 1 ulp | ||
1052 | + 2. sh > 0 but the low sh bits from high(b)-high(c) equal 2^(sh-1): | ||
1053 | + -0.5 ulp <= -1/2^sh < low(b)-low(c)-0.5 < 1/2^sh <= 0.5 ulp | ||
1054 | + we can't decide the rounding, in that case cmp_low=2: | ||
1055 | + either we truncate and flag=-1, or we add one ulp and flag=1 | ||
1056 | + 3. the low sh>0 bits from high(b)-high(c) equal 0: we know we have to | ||
1057 | + truncate but we can't decide the ternary value, here cmp_low=0: | ||
1058 | + -0.5 ulp <= -1/2^sh < low(b)-low(c) < 1/2^sh <= 0.5 ulp | ||
1059 | + we always truncate and inexact can be any of -1,0,1 | ||
1060 | + */ | ||
1061 | + | ||
1062 | + /* note: here cn might exceed cn0, in which case we consider a zero limb */ | ||
1063 | for (k = 0; (bn > 0) || (cn > 0); k = 1) | ||
1064 | { | ||
1065 | + /* if cmp_low < 0, we know low(b) - low(c) < 0 | ||
1066 | + if cmp_low > 0, we know low(b) - low(c) > 0 | ||
1067 | + (more precisely if cmp_low = 2, low(b) - low(c) = 0.5 ulp so far) | ||
1068 | + if cmp_low = 0, so far low(b) - low(c) = 0 */ | ||
1069 | + | ||
1070 | /* get next limbs */ | ||
1071 | bb = (bn > 0) ? bp[--bn] : 0; | ||
1072 | if ((cn > 0) && (cn-- <= cn0)) | ||
1073 | @@ -357,76 +381,115 @@ | ||
1074 | else | ||
1075 | cc = 0; | ||
1076 | |||
1077 | - /* down is set when low(b) < low(c) */ | ||
1078 | - if (down == 0) | ||
1079 | - down = (bb < cc); | ||
1080 | + /* cmp_low compares low(b) and low(c) */ | ||
1081 | + if (cmp_low == 0) /* case 1 or 3 */ | ||
1082 | + cmp_low = (bb < cc) ? -2+k : (bb > cc) ? 1 : 0; | ||
1083 | + | ||
1084 | + /* Case 1 for k=0 splits into 7 subcases: | ||
1085 | + 1a: bb > cc + half | ||
1086 | + 1b: bb = cc + half | ||
1087 | + 1c: 0 < bb - cc < half | ||
1088 | + 1d: bb = cc | ||
1089 | + 1e: -half < bb - cc < 0 | ||
1090 | + 1f: bb - cc = -half | ||
1091 | + 1g: bb - cc < -half | ||
1092 | + | ||
1093 | + Case 2 splits into 3 subcases: | ||
1094 | + 2a: bb > cc | ||
1095 | + 2b: bb = cc | ||
1096 | + 2c: bb < cc | ||
1097 | + | ||
1098 | + Case 3 splits into 3 subcases: | ||
1099 | + 3a: bb > cc | ||
1100 | + 3b: bb = cc | ||
1101 | + 3c: bb < cc | ||
1102 | + */ | ||
1103 | |||
1104 | /* the case rounding to nearest with sh=0 is special since one couldn't | ||
1105 | subtract above 1/2 ulp in the trailing limb of the result */ | ||
1106 | - if ((rnd_mode == MPFR_RNDN) && sh == 0 && k == 0) | ||
1107 | + if (rnd_mode == MPFR_RNDN && sh == 0 && k == 0) /* case 1 for k=0 */ | ||
1108 | { | ||
1109 | mp_limb_t half = MPFR_LIMB_HIGHBIT; | ||
1110 | |||
1111 | - is_exact = (bb == cc); | ||
1112 | - | ||
1113 | /* add one ulp if bb > cc + half | ||
1114 | truncate if cc - half < bb < cc + half | ||
1115 | sub one ulp if bb < cc - half | ||
1116 | */ | ||
1117 | |||
1118 | - if (down) | ||
1119 | + if (cmp_low < 0) /* bb < cc: -1 ulp < low(b) - low(c) < 0, | ||
1120 | + cases 1e, 1f and 1g */ | ||
1121 | { | ||
1122 | if (cc >= half) | ||
1123 | cc -= half; | ||
1124 | - else | ||
1125 | + else /* since bb < cc < half, bb+half < 2*half */ | ||
1126 | bb += half; | ||
1127 | + /* now we have bb < cc + half: | ||
1128 | + we have to subtract one ulp if bb < cc, | ||
1129 | + and truncate if bb > cc */ | ||
1130 | } | ||
1131 | - else /* bb >= cc */ | ||
1132 | + else if (cmp_low >= 0) /* bb >= cc, cases 1a to 1d */ | ||
1133 | { | ||
1134 | if (cc < half) | ||
1135 | cc += half; | ||
1136 | - else | ||
1137 | + else /* since bb >= cc >= half, bb - half >= 0 */ | ||
1138 | bb -= half; | ||
1139 | + /* now we have bb > cc - half: we have to add one ulp if bb > cc, | ||
1140 | + and truncate if bb < cc */ | ||
1141 | + if (cmp_low > 0) | ||
1142 | + cmp_low = 2; | ||
1143 | } | ||
1144 | } | ||
1145 | |||
1146 | #ifdef DEBUG | ||
1147 | - printf (" bb=%lu cc=%lu down=%d is_exact=%d\n", | ||
1148 | - (unsigned long) bb, (unsigned long) cc, down, is_exact); | ||
1149 | + printf ("k=%u bb=%lu cc=%lu cmp_low=%d\n", k, | ||
1150 | + (unsigned long) bb, (unsigned long) cc, cmp_low); | ||
1151 | #endif | ||
1152 | - if (bb < cc) | ||
1153 | + if (cmp_low < 0) /* low(b) - low(c) < 0: either truncate or subtract | ||
1154 | + one ulp */ | ||
1155 | { | ||
1156 | if (rnd_mode == MPFR_RNDZ) | ||
1157 | - goto sub_one_ulp; | ||
1158 | + goto sub_one_ulp; /* set inexact=-1 */ | ||
1159 | else if (rnd_mode != MPFR_RNDN) /* round away */ | ||
1160 | { | ||
1161 | inexact = 1; | ||
1162 | goto truncate; | ||
1163 | } | ||
1164 | - else /* round to nearest: special case here since for sh=k=0 | ||
1165 | - bb = bb0 - MPFR_LIMB_HIGHBIT */ | ||
1166 | + else /* round to nearest */ | ||
1167 | { | ||
1168 | - if (is_exact && sh == 0) | ||
1169 | - { | ||
1170 | - /* For k=0 we can't decide exactness since it may depend | ||
1171 | - from low order bits. | ||
1172 | - For k=1, the first low limbs matched: low(b)-low(c)<0. */ | ||
1173 | - if (k) | ||
1174 | - { | ||
1175 | - inexact = 1; | ||
1176 | - goto truncate; | ||
1177 | - } | ||
1178 | - } | ||
1179 | - else if (down && sh == 0) | ||
1180 | - goto sub_one_ulp; | ||
1181 | - else | ||
1182 | - { | ||
1183 | - inexact = (is_exact) ? 1 : -1; | ||
1184 | + /* If cmp_low < 0 and bb > cc, then -0.5 ulp < low(b)-low(c) < 0, | ||
1185 | + whatever the value of sh. | ||
1186 | + If sh>0, then cmp_low < 0 implies that the initial neglected | ||
1187 | + sh bits were 0 (otherwise cmp_low=2 initially), thus the | ||
1188 | + weight of the new bits is less than 0.5 ulp too. | ||
1189 | + If k > 0 (and sh=0) this means that either the first neglected | ||
1190 | + limbs bb and cc were equal (thus cmp_low was 0 for k=0), | ||
1191 | + or we had bb - cc = -0.5 ulp or 0.5 ulp. | ||
1192 | + The last case is not possible here since we would have | ||
1193 | + cmp_low > 0 which is sticky. | ||
1194 | + In the first case (where we have cmp_low = -1), we truncate, | ||
1195 | + whereas in the 2nd case we have cmp_low = -2 and we subtract | ||
1196 | + one ulp. | ||
1197 | + */ | ||
1198 | + if (bb > cc || sh > 0 || cmp_low == -1) | ||
1199 | + { /* -0.5 ulp < low(b)-low(c) < 0, | ||
1200 | + bb > cc corresponds to cases 1e and 1f1 | ||
1201 | + sh > 0 corresponds to cases 3c and 3b3 | ||
1202 | + cmp_low = -1 corresponds to case 1d3 (also 3b3) */ | ||
1203 | + inexact = 1; | ||
1204 | goto truncate; | ||
1205 | } | ||
1206 | + else if (bb < cc) /* here sh = 0 and low(b)-low(c) < -0.5 ulp, | ||
1207 | + this corresponds to cases 1g and 1f3 */ | ||
1208 | + goto sub_one_ulp; | ||
1209 | + /* the only case where we can't conclude is sh=0 and bb=cc, | ||
1210 | + i.e., we have low(b) - low(c) = -0.5 ulp (up to now), thus | ||
1211 | + we don't know if we must truncate or subtract one ulp. | ||
1212 | + Note: for sh=0 we can't have low(b) - low(c) = -0.5 ulp up to | ||
1213 | + now, since low(b) - low(c) > 1/2^sh */ | ||
1214 | } | ||
1215 | } | ||
1216 | - else if (bb > cc) | ||
1217 | + else if (cmp_low > 0) /* 0 < low(b) - low(c): either truncate or | ||
1218 | + add one ulp */ | ||
1219 | { | ||
1220 | if (rnd_mode == MPFR_RNDZ) | ||
1221 | { | ||
1222 | @@ -437,34 +500,70 @@ | ||
1223 | goto add_one_ulp; | ||
1224 | else /* round to nearest */ | ||
1225 | { | ||
1226 | - if (is_exact) | ||
1227 | + if (bb > cc) | ||
1228 | { | ||
1229 | - inexact = -1; | ||
1230 | - goto truncate; | ||
1231 | + /* if sh=0, then bb>cc means that low(b)-low(c) > 0.5 ulp, | ||
1232 | + and similarly when cmp_low=2 */ | ||
1233 | + if (cmp_low == 2) /* cases 1a, 1b1, 2a and 2b1 */ | ||
1234 | + goto add_one_ulp; | ||
1235 | + /* sh > 0 and cmp_low > 0: this implies that the sh initial | ||
1236 | + neglected bits were 0, and the remaining low(b)-low(c)>0, | ||
1237 | + but its weight is less than 0.5 ulp */ | ||
1238 | + else /* 0 < low(b) - low(c) < 0.5 ulp, this corresponds to | ||
1239 | + cases 3a, 1d1 and 3b1 */ | ||
1240 | + { | ||
1241 | + inexact = -1; | ||
1242 | + goto truncate; | ||
1243 | + } | ||
1244 | } | ||
1245 | - else if (down) | ||
1246 | + else if (bb < cc) /* 0 < low(b) - low(c) < 0.5 ulp, cases 1c, | ||
1247 | + 1b3, 2b3 and 2c */ | ||
1248 | { | ||
1249 | - inexact = 1; | ||
1250 | + inexact = -1; | ||
1251 | goto truncate; | ||
1252 | } | ||
1253 | - else | ||
1254 | - goto add_one_ulp; | ||
1255 | + /* the only case where we can't conclude is bb=cc, i.e., | ||
1256 | + low(b) - low(c) = 0.5 ulp (up to now), thus we don't know | ||
1257 | + if we must truncate or add one ulp. */ | ||
1258 | } | ||
1259 | } | ||
1260 | + /* after k=0, we cannot conclude in the following cases, we split them | ||
1261 | + according to the values of bb and cc for k=1: | ||
1262 | + 1b. sh=0 and cmp_low = 1 and bb-cc = half [around 0.5 ulp] | ||
1263 | + 1b1. bb > cc: add one ulp, inex = 1 | ||
1264 | + 1b2: bb = cc: cannot conclude | ||
1265 | + 1b3: bb < cc: truncate, inex = -1 | ||
1266 | + 1d. sh=0 and cmp_low = 0 and bb-cc = 0 [around 0] | ||
1267 | + 1d1: bb > cc: truncate, inex = -1 | ||
1268 | + 1d2: bb = cc: cannot conclude | ||
1269 | + 1d3: bb < cc: truncate, inex = +1 | ||
1270 | + 1f. sh=0 and cmp_low = -1 and bb-cc = -half [around -0.5 ulp] | ||
1271 | + 1f1: bb > cc: truncate, inex = +1 | ||
1272 | + 1f2: bb = cc: cannot conclude | ||
1273 | + 1f3: bb < cc: sub one ulp, inex = -1 | ||
1274 | + 2b. sh > 0 and cmp_low = 2 and bb=cc [around 0.5 ulp] | ||
1275 | + 2b1. bb > cc: add one ulp, inex = 1 | ||
1276 | + 2b2: bb = cc: cannot conclude | ||
1277 | + 2b3: bb < cc: truncate, inex = -1 | ||
1278 | + 3b. sh > 0 and cmp_low = 0 [around 0] | ||
1279 | + 3b1. bb > cc: truncate, inex = -1 | ||
1280 | + 3b2: bb = cc: cannot conclude | ||
1281 | + 3b3: bb < cc: truncate, inex = +1 | ||
1282 | + */ | ||
1283 | } | ||
1284 | |||
1285 | - if ((rnd_mode == MPFR_RNDN) && !is_exact) | ||
1286 | + if ((rnd_mode == MPFR_RNDN) && cmp_low != 0) | ||
1287 | { | ||
1288 | /* even rounding rule */ | ||
1289 | if ((ap[0] >> sh) & 1) | ||
1290 | { | ||
1291 | - if (down) | ||
1292 | + if (cmp_low < 0) | ||
1293 | goto sub_one_ulp; | ||
1294 | else | ||
1295 | goto add_one_ulp; | ||
1296 | } | ||
1297 | else | ||
1298 | - inexact = (down) ? 1 : -1; | ||
1299 | + inexact = (cmp_low > 0) ? -1 : 1; | ||
1300 | } | ||
1301 | else | ||
1302 | inexact = 0; | ||
1303 | diff -Naurd mpfr-3.0.0-a/tests/tfma.c mpfr-3.0.0-b/tests/tfma.c | ||
1304 | --- mpfr-3.0.0-a/tests/tfma.c 2010-06-10 11:00:13.000000000 +0000 | ||
1305 | +++ mpfr-3.0.0-b/tests/tfma.c 2010-10-21 20:59:32.000000000 +0000 | ||
1306 | @@ -337,6 +337,94 @@ | ||
1307 | mpfr_clears (x, y, z, r, (mpfr_ptr) 0); | ||
1308 | } | ||
1309 | |||
1310 | +static void | ||
1311 | +bug20101018 (void) | ||
1312 | +{ | ||
1313 | + mpfr_t x, y, z, t, u; | ||
1314 | + int i; | ||
1315 | + | ||
1316 | + mpfr_init2 (x, 64); | ||
1317 | + mpfr_init2 (y, 64); | ||
1318 | + mpfr_init2 (z, 64); | ||
1319 | + mpfr_init2 (t, 64); | ||
1320 | + mpfr_init2 (u, 64); | ||
1321 | + | ||
1322 | + mpfr_set_str (x, "0xf.fffffffffffffffp-14766", 16, MPFR_RNDN); | ||
1323 | + mpfr_set_str (y, "-0xf.fffffffffffffffp+317", 16, MPFR_RNDN); | ||
1324 | + mpfr_set_str (z, "0x8.3ffffffffffe3ffp-14443", 16, MPFR_RNDN); | ||
1325 | + mpfr_set_str (t, "0x8.7ffffffffffc7ffp-14444", 16, MPFR_RNDN); | ||
1326 | + i = mpfr_fma (u, x, y, z, MPFR_RNDN); | ||
1327 | + if (mpfr_cmp (u, t) != 0) | ||
1328 | + { | ||
1329 | + printf ("Wrong result in bug20101018 (a)\n"); | ||
1330 | + printf ("Expected "); | ||
1331 | + mpfr_out_str (stdout, 16, 0, t, MPFR_RNDN); | ||
1332 | + printf ("\nGot "); | ||
1333 | + mpfr_out_str (stdout, 16, 0, u, MPFR_RNDN); | ||
1334 | + printf ("\n"); | ||
1335 | + exit (1); | ||
1336 | + } | ||
1337 | + if (i <= 0) | ||
1338 | + { | ||
1339 | + printf ("Wrong ternary value in bug20101018 (a)\n"); | ||
1340 | + printf ("Expected > 0\n"); | ||
1341 | + printf ("Got %d\n", i); | ||
1342 | + exit (1); | ||
1343 | + } | ||
1344 | + | ||
1345 | + mpfr_set_str (x, "-0xf.fffffffffffffffp-11420", 16, MPFR_RNDN); | ||
1346 | + mpfr_set_str (y, "0xf.fffffffffffffffp+9863", 16, MPFR_RNDN); | ||
1347 | + mpfr_set_str (z, "0x8.fffff80ffffffffp-1551", 16, MPFR_RNDN); | ||
1348 | + mpfr_set_str (t, "0x9.fffff01ffffffffp-1552", 16, MPFR_RNDN); | ||
1349 | + i = mpfr_fma (u, x, y, z, MPFR_RNDN); | ||
1350 | + if (mpfr_cmp (u, t) != 0) | ||
1351 | + { | ||
1352 | + printf ("Wrong result in bug20101018 (b)\n"); | ||
1353 | + printf ("Expected "); | ||
1354 | + mpfr_out_str (stdout, 16, 0, t, MPFR_RNDN); | ||
1355 | + printf ("\nGot "); | ||
1356 | + mpfr_out_str (stdout, 16, 0, u, MPFR_RNDN); | ||
1357 | + printf ("\n"); | ||
1358 | + exit (1); | ||
1359 | + } | ||
1360 | + if (i <= 0) | ||
1361 | + { | ||
1362 | + printf ("Wrong ternary value in bug20101018 (b)\n"); | ||
1363 | + printf ("Expected > 0\n"); | ||
1364 | + printf ("Got %d\n", i); | ||
1365 | + exit (1); | ||
1366 | + } | ||
1367 | + | ||
1368 | + mpfr_set_str (x, "0xf.fffffffffffffffp-2125", 16, MPFR_RNDN); | ||
1369 | + mpfr_set_str (y, "-0xf.fffffffffffffffp-6000", 16, MPFR_RNDN); | ||
1370 | + mpfr_set_str (z, "0x8p-8119", 16, MPFR_RNDN); | ||
1371 | + mpfr_set_str (t, "0x8.000000000000001p-8120", 16, MPFR_RNDN); | ||
1372 | + i = mpfr_fma (u, x, y, z, MPFR_RNDN); | ||
1373 | + if (mpfr_cmp (u, t) != 0) | ||
1374 | + { | ||
1375 | + printf ("Wrong result in bug20101018 (c)\n"); | ||
1376 | + printf ("Expected "); | ||
1377 | + mpfr_out_str (stdout, 16, 0, t, MPFR_RNDN); | ||
1378 | + printf ("\nGot "); | ||
1379 | + mpfr_out_str (stdout, 16, 0, u, MPFR_RNDN); | ||
1380 | + printf ("\n"); | ||
1381 | + exit (1); | ||
1382 | + } | ||
1383 | + if (i <= 0) | ||
1384 | + { | ||
1385 | + printf ("Wrong ternary value in bug20101018 (c)\n"); | ||
1386 | + printf ("Expected > 0\n"); | ||
1387 | + printf ("Got %d\n", i); | ||
1388 | + exit (1); | ||
1389 | + } | ||
1390 | + | ||
1391 | + mpfr_clear (x); | ||
1392 | + mpfr_clear (y); | ||
1393 | + mpfr_clear (z); | ||
1394 | + mpfr_clear (t); | ||
1395 | + mpfr_clear (u); | ||
1396 | +} | ||
1397 | + | ||
1398 | int | ||
1399 | main (int argc, char *argv[]) | ||
1400 | { | ||
1401 | @@ -345,6 +433,8 @@ | ||
1402 | |||
1403 | tests_start_mpfr (); | ||
1404 | |||
1405 | + bug20101018 (); | ||
1406 | + | ||
1407 | mpfr_init (x); | ||
1408 | mpfr_init (s); | ||
1409 | mpfr_init (y); | ||
1410 | diff -Naurd mpfr-3.0.0-a/tests/tsub.c mpfr-3.0.0-b/tests/tsub.c | ||
1411 | --- mpfr-3.0.0-a/tests/tsub.c 2010-06-10 11:00:13.000000000 +0000 | ||
1412 | +++ mpfr-3.0.0-b/tests/tsub.c 2010-10-21 20:59:32.000000000 +0000 | ||
1413 | @@ -201,6 +201,8 @@ | ||
1414 | if (mpfr_cmp (z, x)) | ||
1415 | { | ||
1416 | printf ("Error in mpfr_sub (2)\n"); | ||
1417 | + printf ("Expected "); mpfr_print_binary (x); puts (""); | ||
1418 | + printf ("Got "); mpfr_print_binary (z); puts (""); | ||
1419 | exit (1); | ||
1420 | } | ||
1421 | mpfr_set_str_binary (x, "1.1110111011110001110111011111111111101000011001011100101100101101"); | ||
1422 | @@ -478,6 +480,156 @@ | ||
1423 | mpfr_clear (u); | ||
1424 | } | ||
1425 | |||
1426 | +/* Bug found by Jakub Jelinek | ||
1427 | + * http://bugzilla.redhat.com/643657 | ||
1428 | + * https://gforge.inria.fr/tracker/index.php?func=detail&aid=11301 | ||
1429 | + * The consequence can be either an assertion failure (i = 2 in the | ||
1430 | + * testcase below, in debug mode) or an incorrectly rounded value. | ||
1431 | + */ | ||
1432 | +static void | ||
1433 | +bug20101017 (void) | ||
1434 | +{ | ||
1435 | + mpfr_t a, b, c; | ||
1436 | + int inex; | ||
1437 | + int i; | ||
1438 | + | ||
1439 | + mpfr_init2 (a, GMP_NUMB_BITS * 2); | ||
1440 | + mpfr_init2 (b, GMP_NUMB_BITS); | ||
1441 | + mpfr_init2 (c, GMP_NUMB_BITS); | ||
1442 | + | ||
1443 | + /* a = 2^(2N) + k.2^(2N-1) + 2^N and b = 1 | ||
1444 | + with N = GMP_NUMB_BITS and k = 0 or 1. | ||
1445 | + c = a - b should round to the same value as a. */ | ||
1446 | + | ||
1447 | + for (i = 2; i <= 3; i++) | ||
1448 | + { | ||
1449 | + mpfr_set_ui_2exp (a, i, GMP_NUMB_BITS - 1, MPFR_RNDN); | ||
1450 | + mpfr_add_ui (a, a, 1, MPFR_RNDN); | ||
1451 | + mpfr_mul_2ui (a, a, GMP_NUMB_BITS, MPFR_RNDN); | ||
1452 | + mpfr_set_ui (b, 1, MPFR_RNDN); | ||
1453 | + inex = mpfr_sub (c, a, b, MPFR_RNDN); | ||
1454 | + mpfr_set (b, a, MPFR_RNDN); | ||
1455 | + if (! mpfr_equal_p (c, b)) | ||
1456 | + { | ||
1457 | + printf ("Error in bug20101017 for i = %d.\n", i); | ||
1458 | + printf ("Expected "); | ||
1459 | + mpfr_out_str (stdout, 16, 0, b, MPFR_RNDN); | ||
1460 | + putchar ('\n'); | ||
1461 | + printf ("Got "); | ||
1462 | + mpfr_out_str (stdout, 16, 0, c, MPFR_RNDN); | ||
1463 | + putchar ('\n'); | ||
1464 | + exit (1); | ||
1465 | + } | ||
1466 | + if (inex >= 0) | ||
1467 | + { | ||
1468 | + printf ("Error in bug20101017 for i = %d: bad inex value.\n", i); | ||
1469 | + printf ("Expected negative, got %d.\n", inex); | ||
1470 | + exit (1); | ||
1471 | + } | ||
1472 | + } | ||
1473 | + | ||
1474 | + mpfr_set_prec (a, 64); | ||
1475 | + mpfr_set_prec (b, 129); | ||
1476 | + mpfr_set_prec (c, 2); | ||
1477 | + mpfr_set_str_binary (b, "0.100000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001E65"); | ||
1478 | + mpfr_set_str_binary (c, "0.10E1"); | ||
1479 | + inex = mpfr_sub (a, b, c, MPFR_RNDN); | ||
1480 | + if (mpfr_cmp_ui_2exp (a, 1, 64) != 0 || inex >= 0) | ||
1481 | + { | ||
1482 | + printf ("Error in mpfr_sub for b-c for b=2^64+1+2^(-64), c=1\n"); | ||
1483 | + printf ("Expected result 2^64 with inex < 0\n"); | ||
1484 | + printf ("Got "); mpfr_print_binary (a); | ||
1485 | + printf (" with inex=%d\n", inex); | ||
1486 | + exit (1); | ||
1487 | + } | ||
1488 | + | ||
1489 | + mpfr_clears (a, b, c, (mpfr_ptr) 0); | ||
1490 | +} | ||
1491 | + | ||
1492 | +/* hard test of rounding */ | ||
1493 | +static void | ||
1494 | +check_rounding (void) | ||
1495 | +{ | ||
1496 | + mpfr_t a, b, c, res; | ||
1497 | + mpfr_prec_t p; | ||
1498 | + long k, l; | ||
1499 | + int i; | ||
1500 | + | ||
1501 | +#define MAXKL (2 * GMP_NUMB_BITS) | ||
1502 | + for (p = MPFR_PREC_MIN; p <= GMP_NUMB_BITS; p++) | ||
1503 | + { | ||
1504 | + mpfr_init2 (a, p); | ||
1505 | + mpfr_init2 (res, p); | ||
1506 | + mpfr_init2 (b, p + 1 + MAXKL); | ||
1507 | + mpfr_init2 (c, MPFR_PREC_MIN); | ||
1508 | + | ||
1509 | + /* b = 2^p + 1 + 2^(-k), c = 2^(-l) */ | ||
1510 | + for (k = 0; k <= MAXKL; k++) | ||
1511 | + for (l = 0; l <= MAXKL; l++) | ||
1512 | + { | ||
1513 | + mpfr_set_ui_2exp (b, 1, p, MPFR_RNDN); | ||
1514 | + mpfr_add_ui (b, b, 1, MPFR_RNDN); | ||
1515 | + mpfr_mul_2ui (b, b, k, MPFR_RNDN); | ||
1516 | + mpfr_add_ui (b, b, 1, MPFR_RNDN); | ||
1517 | + mpfr_div_2ui (b, b, k, MPFR_RNDN); | ||
1518 | + mpfr_set_ui_2exp (c, 1, -l, MPFR_RNDN); | ||
1519 | + i = mpfr_sub (a, b, c, MPFR_RNDN); | ||
1520 | + /* b - c = 2^p + 1 + 2^(-k) - 2^(-l), should be rounded to | ||
1521 | + 2^p for l <= k, and 2^p+2 for l < k */ | ||
1522 | + if (l <= k) | ||
1523 | + { | ||
1524 | + if (mpfr_cmp_ui_2exp (a, 1, p) != 0) | ||
1525 | + { | ||
1526 | + printf ("Wrong result in check_rounding\n"); | ||
1527 | + printf ("p=%lu k=%ld l=%ld\n", p, k, l); | ||
1528 | + printf ("b="); mpfr_print_binary (b); puts (""); | ||
1529 | + printf ("c="); mpfr_print_binary (c); puts (""); | ||
1530 | + printf ("Expected 2^%lu\n", p); | ||
1531 | + printf ("Got "); mpfr_print_binary (a); puts (""); | ||
1532 | + exit (1); | ||
1533 | + } | ||
1534 | + if (i >= 0) | ||
1535 | + { | ||
1536 | + printf ("Wrong ternary value in check_rounding\n"); | ||
1537 | + printf ("p=%lu k=%ld l=%ld\n", p, k, l); | ||
1538 | + printf ("b="); mpfr_print_binary (b); puts (""); | ||
1539 | + printf ("c="); mpfr_print_binary (c); puts (""); | ||
1540 | + printf ("a="); mpfr_print_binary (a); puts (""); | ||
1541 | + printf ("Expected < 0, got %d\n", i); | ||
1542 | + exit (1); | ||
1543 | + } | ||
1544 | + } | ||
1545 | + else /* l < k */ | ||
1546 | + { | ||
1547 | + mpfr_set_ui_2exp (res, 1, p, MPFR_RNDN); | ||
1548 | + mpfr_add_ui (res, res, 2, MPFR_RNDN); | ||
1549 | + if (mpfr_cmp (a, res) != 0) | ||
1550 | + { | ||
1551 | + printf ("Wrong result in check_rounding\n"); | ||
1552 | + printf ("b="); mpfr_print_binary (b); puts (""); | ||
1553 | + printf ("c="); mpfr_print_binary (c); puts (""); | ||
1554 | + printf ("Expected "); mpfr_print_binary (res); puts (""); | ||
1555 | + printf ("Got "); mpfr_print_binary (a); puts (""); | ||
1556 | + exit (1); | ||
1557 | + } | ||
1558 | + if (i <= 0) | ||
1559 | + { | ||
1560 | + printf ("Wrong ternary value in check_rounding\n"); | ||
1561 | + printf ("b="); mpfr_print_binary (b); puts (""); | ||
1562 | + printf ("c="); mpfr_print_binary (c); puts (""); | ||
1563 | + printf ("Expected > 0, got %d\n", i); | ||
1564 | + exit (1); | ||
1565 | + } | ||
1566 | + } | ||
1567 | + } | ||
1568 | + | ||
1569 | + mpfr_clear (a); | ||
1570 | + mpfr_clear (res); | ||
1571 | + mpfr_clear (b); | ||
1572 | + mpfr_clear (c); | ||
1573 | + } | ||
1574 | +} | ||
1575 | + | ||
1576 | #define TEST_FUNCTION test_sub | ||
1577 | #define TWO_ARGS | ||
1578 | #define RAND_FUNCTION(x) mpfr_random2(x, MPFR_LIMB_SIZE (x), randlimb () % 100, RANDS) | ||
1579 | @@ -491,6 +643,8 @@ | ||
1580 | |||
1581 | tests_start_mpfr (); | ||
1582 | |||
1583 | + bug20101017 (); | ||
1584 | + check_rounding (); | ||
1585 | check_diverse (); | ||
1586 | check_inexact (); | ||
1587 | bug_ddefour (); | ||
1588 | diff -Naurd mpfr-3.0.0-a/version.c mpfr-3.0.0-b/version.c | ||
1589 | --- mpfr-3.0.0-a/version.c 2010-10-21 20:28:38.000000000 +0000 | ||
1590 | +++ mpfr-3.0.0-b/version.c 2010-10-21 20:59:32.000000000 +0000 | ||
1591 | @@ -25,5 +25,5 @@ | ||
1592 | const char * | ||
1593 | mpfr_get_version (void) | ||
1594 | { | ||
1595 | - return "3.0.0-p5"; | ||
1596 | + return "3.0.0-p6"; | ||
1597 | } | ||
1598 | diff -Naurd mpfr-3.0.0-a/PATCHES mpfr-3.0.0-b/PATCHES | ||
1599 | --- mpfr-3.0.0-a/PATCHES 2010-10-21 21:18:26.000000000 +0000 | ||
1600 | +++ mpfr-3.0.0-b/PATCHES 2010-10-21 21:18:26.000000000 +0000 | ||
1601 | @@ -0,0 +1 @@ | ||
1602 | +mpfr_set_ld | ||
1603 | diff -Naurd mpfr-3.0.0-a/VERSION mpfr-3.0.0-b/VERSION | ||
1604 | --- mpfr-3.0.0-a/VERSION 2010-10-21 20:59:32.000000000 +0000 | ||
1605 | +++ mpfr-3.0.0-b/VERSION 2010-10-21 21:18:26.000000000 +0000 | ||
1606 | @@ -1 +1 @@ | ||
1607 | -3.0.0-p6 | ||
1608 | +3.0.0-p7 | ||
1609 | diff -Naurd mpfr-3.0.0-a/mpfr.h mpfr-3.0.0-b/mpfr.h | ||
1610 | --- mpfr-3.0.0-a/mpfr.h 2010-10-21 20:59:32.000000000 +0000 | ||
1611 | +++ mpfr-3.0.0-b/mpfr.h 2010-10-21 21:18:26.000000000 +0000 | ||
1612 | @@ -27,7 +27,7 @@ | ||
1613 | #define MPFR_VERSION_MAJOR 3 | ||
1614 | #define MPFR_VERSION_MINOR 0 | ||
1615 | #define MPFR_VERSION_PATCHLEVEL 0 | ||
1616 | -#define MPFR_VERSION_STRING "3.0.0-p6" | ||
1617 | +#define MPFR_VERSION_STRING "3.0.0-p7" | ||
1618 | |||
1619 | /* Macros dealing with MPFR VERSION */ | ||
1620 | #define MPFR_VERSION_NUM(a,b,c) (((a) << 16L) | ((b) << 8) | (c)) | ||
1621 | diff -Naurd mpfr-3.0.0-a/set_ld.c mpfr-3.0.0-b/set_ld.c | ||
1622 | --- mpfr-3.0.0-a/set_ld.c 2010-06-10 11:00:14.000000000 +0000 | ||
1623 | +++ mpfr-3.0.0-b/set_ld.c 2010-10-21 21:18:26.000000000 +0000 | ||
1624 | @@ -102,21 +102,25 @@ | ||
1625 | { | ||
1626 | x /= div13; /* exact */ | ||
1627 | shift_exp += 8192; | ||
1628 | + mpfr_div_2si (t, t, 8192, MPFR_RNDZ); | ||
1629 | } | ||
1630 | if (ABS (x) >= div12) | ||
1631 | { | ||
1632 | x /= div12; /* exact */ | ||
1633 | shift_exp += 4096; | ||
1634 | + mpfr_div_2si (t, t, 4096, MPFR_RNDZ); | ||
1635 | } | ||
1636 | if (ABS (x) >= div11) | ||
1637 | { | ||
1638 | x /= div11; /* exact */ | ||
1639 | shift_exp += 2048; | ||
1640 | + mpfr_div_2si (t, t, 2048, MPFR_RNDZ); | ||
1641 | } | ||
1642 | if (ABS (x) >= div10) | ||
1643 | { | ||
1644 | x /= div10; /* exact */ | ||
1645 | shift_exp += 1024; | ||
1646 | + mpfr_div_2si (t, t, 1024, MPFR_RNDZ); | ||
1647 | } | ||
1648 | /* warning: we may have DBL_MAX=2^1024*(1-2^(-53)) < x < 2^1024, | ||
1649 | therefore we have one extra exponent reduction step */ | ||
1650 | @@ -124,9 +128,10 @@ | ||
1651 | { | ||
1652 | x /= div9; /* exact */ | ||
1653 | shift_exp += 512; | ||
1654 | + mpfr_div_2si (t, t, 512, MPFR_RNDZ); | ||
1655 | } | ||
1656 | } /* Check overflow of double */ | ||
1657 | - else | ||
1658 | + else /* no overflow on double */ | ||
1659 | { | ||
1660 | long double div9, div10, div11; | ||
1661 | |||
1662 | @@ -149,29 +154,34 @@ | ||
1663 | { | ||
1664 | x /= div13; /* exact */ | ||
1665 | shift_exp -= 8192; | ||
1666 | + mpfr_mul_2si (t, t, 8192, MPFR_RNDZ); | ||
1667 | } | ||
1668 | if (ABS (x) <= div12) | ||
1669 | { | ||
1670 | x /= div12; /* exact */ | ||
1671 | shift_exp -= 4096; | ||
1672 | + mpfr_mul_2si (t, t, 4096, MPFR_RNDZ); | ||
1673 | } | ||
1674 | if (ABS (x) <= div11) | ||
1675 | { | ||
1676 | x /= div11; /* exact */ | ||
1677 | shift_exp -= 2048; | ||
1678 | + mpfr_mul_2si (t, t, 2048, MPFR_RNDZ); | ||
1679 | } | ||
1680 | if (ABS (x) <= div10) | ||
1681 | { | ||
1682 | x /= div10; /* exact */ | ||
1683 | shift_exp -= 1024; | ||
1684 | + mpfr_mul_2si (t, t, 1024, MPFR_RNDZ); | ||
1685 | } | ||
1686 | if (ABS(x) <= div9) | ||
1687 | { | ||
1688 | x /= div9; /* exact */ | ||
1689 | shift_exp -= 512; | ||
1690 | + mpfr_mul_2si (t, t, 512, MPFR_RNDZ); | ||
1691 | } | ||
1692 | } | ||
1693 | - else | ||
1694 | + else /* no underflow */ | ||
1695 | { | ||
1696 | inexact = mpfr_set_d (u, (double) x, MPFR_RNDZ); | ||
1697 | MPFR_ASSERTD (inexact == 0); | ||
1698 | diff -Naurd mpfr-3.0.0-a/tests/tset_ld.c mpfr-3.0.0-b/tests/tset_ld.c | ||
1699 | --- mpfr-3.0.0-a/tests/tset_ld.c 2010-06-10 11:00:13.000000000 +0000 | ||
1700 | +++ mpfr-3.0.0-b/tests/tset_ld.c 2010-10-21 21:18:26.000000000 +0000 | ||
1701 | @@ -147,12 +147,39 @@ | ||
1702 | test_fixed_bugs (void) | ||
1703 | { | ||
1704 | mpfr_t x; | ||
1705 | - long double d; | ||
1706 | + long double l, m; | ||
1707 | |||
1708 | /* bug found by Steve Kargl (2009-03-14) */ | ||
1709 | mpfr_init2 (x, 64); | ||
1710 | mpfr_set_ui_2exp (x, 1, -16447, MPFR_RNDN); | ||
1711 | - d = mpfr_get_ld (x, MPFR_RNDN); /* an assertion failed in init2.c:50 */ | ||
1712 | + mpfr_get_ld (x, MPFR_RNDN); /* an assertion failed in init2.c:50 */ | ||
1713 | + | ||
1714 | + /* bug reported by Jakub Jelinek (2010-10-17) | ||
1715 | + https://gforge.inria.fr/tracker/?func=detail&aid=11300 */ | ||
1716 | + mpfr_set_prec (x, MPFR_LDBL_MANT_DIG); | ||
1717 | + /* l = 0x1.23456789abcdef0123456789abcdp-914L; */ | ||
1718 | + l = 8.215640181713713164092636634579e-276; | ||
1719 | + mpfr_set_ld (x, l, MPFR_RNDN); | ||
1720 | + m = mpfr_get_ld (x, MPFR_RNDN); | ||
1721 | + if (m != l) | ||
1722 | + { | ||
1723 | + printf ("Error in get_ld o set_ld for l=%Le\n", l); | ||
1724 | + printf ("Got m=%Le instead of l\n", m); | ||
1725 | + exit (1); | ||
1726 | + } | ||
1727 | + | ||
1728 | + /* another similar test which failed with extended double precision and the | ||
1729 | + generic code for mpfr_set_ld */ | ||
1730 | + /* l = 0x1.23456789abcdef0123456789abcdp-968L; */ | ||
1731 | + l = 4.560596445887084662336528403703e-292; | ||
1732 | + mpfr_set_ld (x, l, MPFR_RNDN); | ||
1733 | + m = mpfr_get_ld (x, MPFR_RNDN); | ||
1734 | + if (m != l) | ||
1735 | + { | ||
1736 | + printf ("Error in get_ld o set_ld for l=%Le\n", l); | ||
1737 | + printf ("Got m=%Le instead of l\n", m); | ||
1738 | + exit (1); | ||
1739 | + } | ||
1740 | |||
1741 | mpfr_clear (x); | ||
1742 | } | ||
1743 | diff -Naurd mpfr-3.0.0-a/version.c mpfr-3.0.0-b/version.c | ||
1744 | --- mpfr-3.0.0-a/version.c 2010-10-21 20:59:32.000000000 +0000 | ||
1745 | +++ mpfr-3.0.0-b/version.c 2010-10-21 21:18:26.000000000 +0000 | ||
1746 | @@ -25,5 +25,5 @@ | ||
1747 | const char * | ||
1748 | mpfr_get_version (void) | ||
1749 | { | ||
1750 | - return "3.0.0-p6"; | ||
1751 | + return "3.0.0-p7"; | ||
1752 | } | ||
diff --git a/meta-oe/recipes-support/mpfr/mpfr_3.0.0.bb b/meta-oe/recipes-support/mpfr/mpfr_3.0.0.bb new file mode 100644 index 000000000..cb347c73a --- /dev/null +++ b/meta-oe/recipes-support/mpfr/mpfr_3.0.0.bb | |||
@@ -0,0 +1,30 @@ | |||
1 | DESCRIPTION = "A C library for multiple-precision floating-point computations with exact rounding" | ||
2 | HOMEPAGE = "http://www.mpfr.org/" | ||
3 | LICENSE="GPLv3&LGPLv3" | ||
4 | LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504 \ | ||
5 | file://COPYING.LESSER;md5=6a6a8e020838b23406c81b19c1d46df6" | ||
6 | SECTION = "devel" | ||
7 | BBCLASSEXTEND = "native nativesdk" | ||
8 | DEPENDS = "gmp" | ||
9 | |||
10 | inherit autotools | ||
11 | |||
12 | do_fixup() { | ||
13 | rm ${S}/PATCHES || true | ||
14 | } | ||
15 | |||
16 | addtask fixup after do_unpack before do_patch | ||
17 | |||
18 | NATIVE_INSTALL_WORKS = "1" | ||
19 | PR = "r4" | ||
20 | |||
21 | SRC_URI = "http://www.mpfr.org/${BP}/${BP}.tar.bz2 \ | ||
22 | file://p4.patch" | ||
23 | |||
24 | # fix build in thumb mode for armv4t | ||
25 | SRC_URI_append_thumb = " file://long-long-thumb.patch" | ||
26 | |||
27 | EXTRA_OECONF_append_virtclass-native = " --enable-static" | ||
28 | |||
29 | SRC_URI[md5sum] = "f45bac3584922c8004a10060ab1a8f9f" | ||
30 | SRC_URI[sha256sum] = "8f4e5f9c53536cb798a30455ac429b1f9fc75a0f8af32d6e0ac31ebf1024821f" | ||
diff --git a/meta-oe/recipes-support/nano/nano-2.2.5/ncursesw.includedir.patch b/meta-oe/recipes-support/nano/nano-2.2.5/ncursesw.includedir.patch new file mode 100644 index 000000000..0f224be39 --- /dev/null +++ b/meta-oe/recipes-support/nano/nano-2.2.5/ncursesw.includedir.patch | |||
@@ -0,0 +1,12 @@ | |||
1 | diff -uNr nano-2.2.5.orig//configure.ac nano-2.2.5/configure.ac | ||
2 | --- nano-2.2.5.orig//configure.ac 2010-08-06 03:00:51.000000000 +0200 | ||
3 | +++ nano-2.2.5/configure.ac 2010-08-10 14:11:52.000000000 +0200 | ||
4 | @@ -442,7 +442,7 @@ | ||
5 | AC_CHECK_HEADERS(ncurses.h) | ||
6 | |||
7 | if test x$enable_utf8 != xno; then | ||
8 | - AC_CHECK_LIB(ncursesw, get_wch, [CURSES_LIB="-lncursesw" CPPFLAGS="-I/usr/include/ncursesw $CPPFLAGS" CURSES_LIB_NAME=ncursesw CURSES_LIB_WIDE=yes]) | ||
9 | + AC_CHECK_LIB(ncursesw, get_wch, [CURSES_LIB="-lncursesw" CURSES_LIB_NAME=ncursesw CURSES_LIB_WIDE=yes]) | ||
10 | fi | ||
11 | |||
12 | if eval "test x$CURSES_LIB_NAME = x"; then | ||
diff --git a/meta-oe/recipes-support/nano/nano.inc b/meta-oe/recipes-support/nano/nano.inc new file mode 100644 index 000000000..2d52cab88 --- /dev/null +++ b/meta-oe/recipes-support/nano/nano.inc | |||
@@ -0,0 +1,19 @@ | |||
1 | DESCRIPTION = "GNU nano (Nano's ANOther editor, or \ | ||
2 | Not ANOther editor) is an enhanced clone of the \ | ||
3 | Pico text editor." | ||
4 | HOMEPAGE = "http://www.nano-editor.org/" | ||
5 | LICENSE = "GPLv2" | ||
6 | LIC_FILES_CHKSUM = "file://COPYING;md5=f27defe1e96c2e1ecd4e0c9be8967949" | ||
7 | SECTION = "console/utils" | ||
8 | DEPENDS = "ncurses" | ||
9 | RDEPENDS_${PN} = "ncurses-terminfo" | ||
10 | |||
11 | INC_PR = "r2" | ||
12 | |||
13 | PV_MAJOR = "${@bb.data.getVar('PV',d,1).split('.')[0]}.${@bb.data.getVar('PV',d,1).split('.')[1]}" | ||
14 | |||
15 | SRC_URI = "http://www.nano-editor.org/dist/v${PV_MAJOR}/nano-${PV}.tar.gz" | ||
16 | |||
17 | inherit autotools gettext | ||
18 | |||
19 | EXTRA_OECONF = "--enable-all" | ||
diff --git a/meta-oe/recipes-support/nano/nano_2.2.5.bb b/meta-oe/recipes-support/nano/nano_2.2.5.bb new file mode 100644 index 000000000..e656f46df --- /dev/null +++ b/meta-oe/recipes-support/nano/nano_2.2.5.bb | |||
@@ -0,0 +1,8 @@ | |||
1 | include nano.inc | ||
2 | |||
3 | PR = "${INC_PR}.0" | ||
4 | |||
5 | SRC_URI += "file://ncursesw.includedir.patch" | ||
6 | |||
7 | SRC_URI[md5sum] = "77a10a49589f975ce98350a4527a2ebf" | ||
8 | SRC_URI[sha256sum] = "9015945d1badabbada203b37c4779d3dd1066234235c714deb439989c5cd7d9e" | ||
diff --git a/meta-oe/recipes-support/pidgin/pidgin.inc b/meta-oe/recipes-support/pidgin/pidgin.inc new file mode 100644 index 000000000..96a2345a2 --- /dev/null +++ b/meta-oe/recipes-support/pidgin/pidgin.inc | |||
@@ -0,0 +1,88 @@ | |||
1 | DESCRIPTION = "multi-protocol instant messaging client" | ||
2 | SECTION = "x11/network" | ||
3 | LICENSE = "GPL" | ||
4 | DEPENDS = "python startup-notification avahi gtk+ ncurses gnutls virtual/libintl gstreamer dbus" | ||
5 | INC_PR = "r0" | ||
6 | |||
7 | inherit autotools gettext pkgconfig gconf | ||
8 | |||
9 | EXTRA_OECONF = " \ | ||
10 | --enable-vv \ | ||
11 | --disable-perl \ | ||
12 | --disable-tcl \ | ||
13 | --disable-gevolution \ | ||
14 | --disable-schemas-install \ | ||
15 | --x-includes=${STAGING_INCDIR} \ | ||
16 | --x-libraries=${STAGING_LIBDIR} \ | ||
17 | --enable-gnutls=yes \ | ||
18 | --with-ncurses-headers=${STAGING_INCDIR} \ | ||
19 | --with-gnutls-includes=${STAGING_INCDIR} \ | ||
20 | --with-gnutls-libs=${STAGING_LIBDIR} \ | ||
21 | " | ||
22 | |||
23 | do_configure_prepend() { | ||
24 | touch ${S}/po/Makefile | ||
25 | } | ||
26 | |||
27 | OE_LT_RPATH_ALLOW=":${libdir}/purple-2:" | ||
28 | OE_LT_RPATH_ALLOW[export]="1" | ||
29 | |||
30 | PACKAGES =+ "libpurple-dbg libpurple-dev libpurple libgnt-dbg libgnt libgnt-dev finch-dbg finch finch-dev ${PN}-data" | ||
31 | |||
32 | LEAD_SONAME = "libpurple.so.0" | ||
33 | FILES_libpurple = "${libdir}/libpurple*.so.* ${libdir}/purple-2 ${bindir}/purple-* ${sysconfdir}/gconf/schemas/purple* ${datadir}/purple/ca-certs" | ||
34 | FILES_libpurple-dev = "${libdir}/libpurple*.la \ | ||
35 | ${libdir}/libpurple*.so \ | ||
36 | ${libdir}/purple-2/*.la \ | ||
37 | ${libdir}/purple-2/libjabber.so \ | ||
38 | ${libdir}/purple-2/liboscar.so \ | ||
39 | ${datadir}/aclocal" | ||
40 | FILES_libpurple-dbg += "${libdir}/.debug/libpurple* \ | ||
41 | ${libdir}/purple-2/.debug" | ||
42 | FILES_libgnt = "${libdir}/libgnt.so.* ${libdir}/gnt/*.so" | ||
43 | FILES_libgnt-dev = "${libdir}/gnt/*.la" | ||
44 | FILES_libgnt-dbg = "${libdir}/gnt/.debug \ | ||
45 | FILES_finch = "${bindir}/finch" | ||
46 | FILES_finch-dev = "${libdir}/finch/*.la" | ||
47 | FILES_finch-dbg = "${bindir}/.debug/finch \ | ||
48 | ${libdir}/finch/.debug" | ||
49 | |||
50 | FILES_${PN} = "${bindir} ${datadir}/${PN} ${libdir}/${PN}/*.so \ | ||
51 | ${datadir}/applications" | ||
52 | RRECOMMENDS_${PN} = "${PN}-data libpurple-plugin-ssl-gnutls libpurple-protocol-irc libpurple-protocol-xmpp" | ||
53 | |||
54 | FILES_${PN}-data = "${datadir}/pixmaps ${datadir}/sounds ${datadir}/icons" | ||
55 | FILES_${PN}-dev += "${libdir}/${PN}/*.la" | ||
56 | |||
57 | PACKAGES_DYNAMIC = "libpurple-protocol-* libpurple-plugin-* pidgin-plugin-* finch-plugin-*" | ||
58 | |||
59 | python populate_packages_prepend () { | ||
60 | pidgroot = bb.data.expand('${libdir}/pidgin', d) | ||
61 | purple = bb.data.expand('${libdir}/purple-2', d) | ||
62 | finch = bb.data.expand('${libdir}/finch', d) | ||
63 | |||
64 | do_split_packages(d, pidgroot, '^([^l][^i][^b].*)\.so$', | ||
65 | output_pattern='pidgin-plugin-%s', | ||
66 | description='Pidgin plugin %s', | ||
67 | prepend=True, extra_depends='') | ||
68 | |||
69 | do_split_packages(d, purple, '^lib(.*)\.so$', | ||
70 | output_pattern='libpurple-protocol-%s', | ||
71 | description='Libpurple protocol plugin for %s', | ||
72 | prepend=True, extra_depends='') | ||
73 | |||
74 | do_split_packages(d, purple, '^(ssl-.*)\.so$', | ||
75 | output_pattern='libpurple-plugin-%s', | ||
76 | description='libpurple plugin %s', | ||
77 | prepend=True, extra_depends='libpurple-plugin-ssl') | ||
78 | |||
79 | do_split_packages(d, purple, '^([^l][^i][^b].*)\.so$', | ||
80 | output_pattern='libpurple-plugin-%s', | ||
81 | description='libpurple plugin %s', | ||
82 | prepend=True, extra_depends='') | ||
83 | |||
84 | do_split_packages(d, finch, '^([^l][^i][^b].*)\.so$', | ||
85 | output_pattern='finch-plugin-%s', | ||
86 | description='Finch plugin %s', | ||
87 | prepend=True, extra_depends='') | ||
88 | } | ||
diff --git a/meta-oe/recipes-support/pidgin/pidgin/pidgin-cross-python-265.patch b/meta-oe/recipes-support/pidgin/pidgin/pidgin-cross-python-265.patch new file mode 100644 index 000000000..57c4c4681 --- /dev/null +++ b/meta-oe/recipes-support/pidgin/pidgin/pidgin-cross-python-265.patch | |||
@@ -0,0 +1,16 @@ | |||
1 | Index: pidgin-2.6.5/configure.ac | ||
2 | =================================================================== | ||
3 | --- pidgin-2.6.5.orig/configure.ac | ||
4 | +++ pidgin-2.6.5/configure.ac | ||
5 | @@ -1470,8 +1470,9 @@ if test "_$pythonpath" != _ ; then | ||
6 | AC_CHECK_LIB(pthread, pthread_create, ) | ||
7 | AC_CHECK_LIB(util, openpty, ) | ||
8 | AC_CHECK_LIB(db, dbopen, ) | ||
9 | - PY_LIBS="-L$PY_EXEC_PREFIX/lib/python$PY_VERSION/config -lpython$PY_VERSION" | ||
10 | - PY_CFLAGS="-I$PY_PREFIX/include/python$PY_VERSION" | ||
11 | + m4_pattern_allow([^PKG_CONFIG_SYSROOT_DIR$]) | ||
12 | + PY_LIBS="-L$PKG_CONFIG_SYSROOT_DIR/usr/lib/python$PY_VERSION/config -lpython$PY_VERSION" | ||
13 | + PY_CFLAGS="-I$PKG_CONFIG_SYSROOT_DIR/usr/include/python$PY_VERSION" | ||
14 | AC_DEFINE(USE_PYTHON, [1], [Define if python headers are available.]) | ||
15 | AC_MSG_RESULT(ok) | ||
16 | else | ||
diff --git a/meta-oe/recipes-support/pidgin/pidgin/pidgin.desktop-set-icon.patch b/meta-oe/recipes-support/pidgin/pidgin/pidgin.desktop-set-icon.patch new file mode 100644 index 000000000..05f76895b --- /dev/null +++ b/meta-oe/recipes-support/pidgin/pidgin/pidgin.desktop-set-icon.patch | |||
@@ -0,0 +1,11 @@ | |||
1 | --- pidgin-2.0.1/pidgin.desktop.in.orig 2007-06-20 23:50:44.000000000 +0000 | ||
2 | +++ pidgin-2.0.1/pidgin.desktop.in 2007-06-20 23:51:05.000000000 +0000 | ||
3 | @@ -4,7 +4,7 @@ | ||
4 | _GenericName=Internet Messenger | ||
5 | _Comment=Send instant messages over multiple protocols | ||
6 | Exec=pidgin | ||
7 | -Icon=pidgin | ||
8 | +Icon=/usr/share/icons/hicolor/48x48/apps/pidgin.png | ||
9 | StartupNotify=true | ||
10 | Terminal=false | ||
11 | Type=Application | ||
diff --git a/meta-oe/recipes-support/pidgin/pidgin/purple-OE-branding-25.patch b/meta-oe/recipes-support/pidgin/pidgin/purple-OE-branding-25.patch new file mode 100644 index 000000000..293ef709d --- /dev/null +++ b/meta-oe/recipes-support/pidgin/pidgin/purple-OE-branding-25.patch | |||
@@ -0,0 +1,16 @@ | |||
1 | Index: pidgin-2.5.0/libpurple/protocols/irc/irc.h | ||
2 | =================================================================== | ||
3 | --- pidgin-2.5.0.orig/libpurple/protocols/irc/irc.h 2008-08-19 01:53:38.000000000 +0000 | ||
4 | +++ pidgin-2.5.0/libpurple/protocols/irc/irc.h 2008-08-27 11:15:58.000000000 +0000 | ||
5 | @@ -36,9 +36,9 @@ | ||
6 | |||
7 | #define IRC_DEFAULT_CHARSET "UTF-8" | ||
8 | #define IRC_DEFAULT_AUTODETECT FALSE | ||
9 | -#define IRC_DEFAULT_ALIAS "purple" | ||
10 | +#define IRC_DEFAULT_ALIAS "OE-user" | ||
11 | |||
12 | -#define IRC_DEFAULT_QUIT "Leaving." | ||
13 | +#define IRC_DEFAULT_QUIT "Powered by OE: www.openembedded.org" | ||
14 | |||
15 | #define IRC_INITIAL_BUFSIZE 1024 | ||
16 | |||
diff --git a/meta-oe/recipes-support/pidgin/pidgin/sanitize-configure.ac.patch b/meta-oe/recipes-support/pidgin/pidgin/sanitize-configure.ac.patch new file mode 100644 index 000000000..a77d64f40 --- /dev/null +++ b/meta-oe/recipes-support/pidgin/pidgin/sanitize-configure.ac.patch | |||
@@ -0,0 +1,33 @@ | |||
1 | --- /tmp/configure.ac 2007-05-08 17:29:02.000000000 +0200 | ||
2 | +++ pidgin-2.0.0/configure.ac 2007-05-08 17:30:30.325251000 +0200 | ||
3 | @@ -472,7 +472,7 @@ | ||
4 | if test "x$enable_consoleui" = "xyes"; then | ||
5 | dnl # Some distros put the headers in ncursesw/, some don't | ||
6 | found_ncurses_h=no | ||
7 | - for location in $ac_ncurses_includes $NCURSES_HEADERS /usr/include/ncursesw /usr/include | ||
8 | + for location in $ac_ncurses_includes $NCURSES_HEADERS | ||
9 | do | ||
10 | f="$location/ncurses.h" | ||
11 | AC_CHECK_HEADER($f,[ | ||
12 | @@ -1860,10 +1860,6 @@ | ||
13 | KRB4_CFLAGS="$KRB4_CFLAGS -I${kerberos}/include/kerberosIV" | ||
14 | fi | ||
15 | KRB4_LDFLAGS="-L${kerberos}/lib" | ||
16 | - elif test -d /usr/local/include/kerberosIV ; then | ||
17 | - KRB4_CFLAGS="-I/usr/local/include/kerberosIV" | ||
18 | - elif test -d /usr/include/kerberosIV ; then | ||
19 | - KRB4_CFLAGS="-I/usr/include/kerberosIV" | ||
20 | fi | ||
21 | AC_DEFINE(ZEPHYR_USES_KERBEROS, 1, [Define if kerberos should be used in Zephyr.]) | ||
22 | |||
23 | @@ -1896,10 +1892,6 @@ | ||
24 | ZEPHYR_LDFLAGS="-L${zephyr}/lib" | ||
25 | elif test -d /usr/athena/include/zephyr ; then | ||
26 | ZEPHYR_CFLAGS="-I/usr/athena/include" | ||
27 | - elif test -d /usr/include/zephyr ; then | ||
28 | - ZEPHYR_CFLAGS="-I/usr/include" | ||
29 | - elif test -d /usr/local/include/zephyr ; then | ||
30 | - ZEPHYR_CFLAGS="-I/usr/local/include" | ||
31 | fi | ||
32 | AC_DEFINE(LIBZEPHYR_EXT, 1 , [Define if external libzephyr should be used.]) | ||
33 | AM_CONDITIONAL(EXTERNAL_LIBZEPHYR, test "x$zephyr" != "xno") | ||
diff --git a/meta-oe/recipes-support/pidgin/pidgin_2.7.9.bb b/meta-oe/recipes-support/pidgin/pidgin_2.7.9.bb new file mode 100644 index 000000000..d5527ea91 --- /dev/null +++ b/meta-oe/recipes-support/pidgin/pidgin_2.7.9.bb | |||
@@ -0,0 +1,22 @@ | |||
1 | require pidgin.inc | ||
2 | PR = "${INC_PR}.0" | ||
3 | |||
4 | DEPENDS += "farsight2 libidn" | ||
5 | |||
6 | SRC_URI = "\ | ||
7 | ${SOURCEFORGE_MIRROR}/pidgin/pidgin-${PV}.tar.bz2 \ | ||
8 | file://sanitize-configure.ac.patch \ | ||
9 | file://pidgin.desktop-set-icon.patch \ | ||
10 | file://purple-OE-branding-25.patch \ | ||
11 | file://pidgin-cross-python-265.patch \ | ||
12 | " | ||
13 | |||
14 | SRC_URI[md5sum] = "9bc6cf953ed7d383b215fa8487bf8829" | ||
15 | SRC_URI[sha256sum] = "9722d7f199a6704e29900c80f270d9409d5c28caab77f495b68108d81ba3e19e" | ||
16 | |||
17 | EXTRA_OECONF += "\ | ||
18 | --disable-gtkspell \ | ||
19 | --disable-meanwhile \ | ||
20 | --disable-nm \ | ||
21 | --disable-screensaver \ | ||
22 | " | ||
diff --git a/meta-oe/recipes-support/poppler/poppler-data_0.4.0.bb b/meta-oe/recipes-support/poppler/poppler-data_0.4.0.bb new file mode 100644 index 000000000..e3fd54b72 --- /dev/null +++ b/meta-oe/recipes-support/poppler/poppler-data_0.4.0.bb | |||
@@ -0,0 +1,24 @@ | |||
1 | DESCRIPTION = "Poppler is a PDF rendering library based on the xpdf-3.0 code base." | ||
2 | LICENSE = "Adobe" | ||
3 | LIC_FILES_CHKSUM = "file://COPYING;md5=4870b98343f0bbb25fa43b9d2ba59448 \ | ||
4 | file://COPYING.adobe;md5=63c6a8a9df204c00461fa5f163d8a663 \ | ||
5 | file://COPYING.gpl2;md5=751419260aa954499f7abaabaa882bbe \ | ||
6 | " | ||
7 | |||
8 | PR = "r1" | ||
9 | |||
10 | SRC_URI = "http://poppler.freedesktop.org/${PN}-${PV}.tar.gz" | ||
11 | |||
12 | do_compile() { | ||
13 | } | ||
14 | |||
15 | do_install() { | ||
16 | oe_runmake install DESTDIR=${D} | ||
17 | } | ||
18 | |||
19 | FILES_${PN} += "${datadir}" | ||
20 | PACKAGE_ARCH = "all" | ||
21 | |||
22 | |||
23 | SRC_URI[md5sum] = "6975bf8e9ea2cfb42b9ecdbcc257cf57" | ||
24 | SRC_URI[sha256sum] = "5caf7e10b7b0c6a4e1e753af09be52224e88bb8fbcb47794ad72b99b9e24b109" | ||
diff --git a/meta-oe/recipes-support/poppler/poppler-fpu.inc b/meta-oe/recipes-support/poppler/poppler-fpu.inc new file mode 100644 index 000000000..a26273020 --- /dev/null +++ b/meta-oe/recipes-support/poppler/poppler-fpu.inc | |||
@@ -0,0 +1,6 @@ | |||
1 | |||
2 | def get_poppler_fpu_setting(bb, d): | ||
3 | if bb.data.getVar('TARGET_FPU', d, 1) in [ 'soft' ]: | ||
4 | return "--enable-fixedpoint" | ||
5 | return "" | ||
6 | |||
diff --git a/meta-oe/recipes-support/poppler/poppler.inc b/meta-oe/recipes-support/poppler/poppler.inc new file mode 100644 index 000000000..85c398316 --- /dev/null +++ b/meta-oe/recipes-support/poppler/poppler.inc | |||
@@ -0,0 +1,25 @@ | |||
1 | DESCRIPTION = "Poppler is a PDF rendering library based on the xpdf-3.0 code base." | ||
2 | DEPENDS = "fontconfig jpeg zlib gtk+ cairo" | ||
3 | LICENSE = "GPLv2" | ||
4 | LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe" | ||
5 | |||
6 | SRC_URI = "http://poppler.freedesktop.org/${PN}-${PV}.tar.gz" | ||
7 | |||
8 | inherit autotools pkgconfig | ||
9 | |||
10 | EXTRA_OECONF = "\ | ||
11 | --enable-xpdf-headers \ | ||
12 | --disable-gtk-test \ | ||
13 | --disable-poppler-qt \ | ||
14 | --disable-poppler-qt4 \ | ||
15 | --enable-zlib \ | ||
16 | " | ||
17 | |||
18 | # check for TARGET_FPU=soft and inform configure of the result so it can disable some floating points | ||
19 | require poppler-fpu.inc | ||
20 | EXTRA_OECONF += "${@get_poppler_fpu_setting(bb, d)}" | ||
21 | |||
22 | PACKAGES =+ "libpoppler libpoppler-glib" | ||
23 | FILES_libpoppler = "${libdir}/libpoppler.so.*" | ||
24 | FILES_libpoppler-glib = "${libdir}/libpoppler-glib.so.*" | ||
25 | |||
diff --git a/meta-oe/recipes-support/poppler/poppler_0.12.3.bb b/meta-oe/recipes-support/poppler/poppler_0.12.3.bb new file mode 100644 index 000000000..ce1952e1e --- /dev/null +++ b/meta-oe/recipes-support/poppler/poppler_0.12.3.bb | |||
@@ -0,0 +1,10 @@ | |||
1 | require poppler.inc | ||
2 | |||
3 | DEPENDS += "lcms" | ||
4 | |||
5 | EXTRA_OECONF_append = " --disable-abiword-output " | ||
6 | |||
7 | RDEPENDS_${PN} = "poppler-data" | ||
8 | |||
9 | SRC_URI[md5sum] = "d0ca8344d8d94e27aaba6d432688365d" | ||
10 | SRC_URI[sha256sum] = "7a4ffe6d2950c446c285700d3b2dc399540a27ce635dd712aff646f02f8dfbcc" | ||
diff --git a/meta-oe/recipes-support/samsung-soc-utils/s3c24xx-gpio_svn.bb b/meta-oe/recipes-support/samsung-soc-utils/s3c24xx-gpio_svn.bb new file mode 100644 index 000000000..b813f76b1 --- /dev/null +++ b/meta-oe/recipes-support/samsung-soc-utils/s3c24xx-gpio_svn.bb | |||
@@ -0,0 +1,19 @@ | |||
1 | DESCRIPTION = "A user-space tool to show and modify the state of GPIOs on the S3c24xx platform" | ||
2 | SECTION = "console/utils" | ||
3 | AUTHOR = "Werner Almesberger <werner@openmoko.org>" | ||
4 | LICENSE = "GPL" | ||
5 | SRCREV = "4949" | ||
6 | PV = "1.0+svnr${SRCPV}" | ||
7 | PR = "r2" | ||
8 | |||
9 | SRC_URI = "svn://svn.openmoko.org/trunk/src/target;module=gpio;proto=http" | ||
10 | S = "${WORKDIR}/gpio" | ||
11 | |||
12 | do_compile() { | ||
13 | ${CC} ${CFLAGS} ${LDFLAGS} -static -o ${PN} gpio.c | ||
14 | } | ||
15 | |||
16 | do_install() { | ||
17 | install -d ${D}${sbindir} | ||
18 | install -m 0755 ${PN} ${D}${sbindir} | ||
19 | } | ||
diff --git a/meta-oe/recipes-support/samsung-soc-utils/s3c64xx-gpio_svn.bb b/meta-oe/recipes-support/samsung-soc-utils/s3c64xx-gpio_svn.bb new file mode 100644 index 000000000..f8ca7947f --- /dev/null +++ b/meta-oe/recipes-support/samsung-soc-utils/s3c64xx-gpio_svn.bb | |||
@@ -0,0 +1,19 @@ | |||
1 | DESCRIPTION = "A user-space tool to show and modify the state of GPIOs on the S3c64xx platform" | ||
2 | SECTION = "console/utils" | ||
3 | AUTHOR = "Werner Almesberger <werner@openmoko.org>" | ||
4 | LICENSE = "GPL" | ||
5 | SRCREV = "4949" | ||
6 | PV = "1.0+svnr${SRCPV}" | ||
7 | PR = "r0" | ||
8 | |||
9 | SRC_URI = "svn://svn.openmoko.org/trunk/src/target;module=gpio;proto=http" | ||
10 | S = "${WORKDIR}/gpio" | ||
11 | |||
12 | do_compile() { | ||
13 | ${CC} ${CFLAGS} ${LDFLAGS} -static -o ${PN} gpio-s3c6410.c | ||
14 | } | ||
15 | |||
16 | do_install() { | ||
17 | install -d ${D}${sbindir} | ||
18 | install -m 0755 ${PN} ${D}${sbindir} | ||
19 | } | ||
diff --git a/meta-oe/recipes-support/samsung-soc-utils/sjf2410-linux-native_svn.bb b/meta-oe/recipes-support/samsung-soc-utils/sjf2410-linux-native_svn.bb new file mode 100644 index 000000000..b71231617 --- /dev/null +++ b/meta-oe/recipes-support/samsung-soc-utils/sjf2410-linux-native_svn.bb | |||
@@ -0,0 +1,34 @@ | |||
1 | DESCRIPTION = "JTAG utility to interface w/ a S3C2410 device" | ||
2 | SECTION = "devel" | ||
3 | AUTHOR = "Harald Welte <laforge@openmoko.org>" | ||
4 | LICENSE = "GPLv2+" | ||
5 | LIC_FILES_CHKSUM = "file://parport.c;endline=19;md5=b5681091b0fd8c5f7068835c441bf0c8" | ||
6 | SRCREV = "4268" | ||
7 | PV = "0.1+svnr${SRCPV}" | ||
8 | PR = "r1" | ||
9 | |||
10 | SRC_URI = "svn://svn.openmoko.org/trunk/src/host/;module=sjf2410-linux;proto=http" | ||
11 | S = "${WORKDIR}/sjf2410-linux" | ||
12 | |||
13 | inherit native deploy | ||
14 | do_deploy[sstate-outputdirs] = "${DEPLOY_DIR_TOOLS}" | ||
15 | |||
16 | CFLAGS += "-DLINUX_PPDEV" | ||
17 | |||
18 | NATIVE_INSTALL_WORKS = "1" | ||
19 | |||
20 | do_compile() { | ||
21 | oe_runmake | ||
22 | } | ||
23 | |||
24 | do_install() { | ||
25 | install -d ${D}/${bindir} | ||
26 | install -m 0755 sjf2410 ${D}/${bindir} | ||
27 | } | ||
28 | |||
29 | do_deploy() { | ||
30 | install -d ${DEPLOY_DIR_TOOLS} | ||
31 | install -m 0755 sjf2410 ${DEPLOY_DIR_TOOLS}/sjf2410-${PV} | ||
32 | } | ||
33 | |||
34 | addtask deploy before do_build after do_install | ||
diff --git a/meta-oe/recipes-support/talloc/talloc_2.0.1.bb b/meta-oe/recipes-support/talloc/talloc_2.0.1.bb new file mode 100644 index 000000000..a69bd401e --- /dev/null +++ b/meta-oe/recipes-support/talloc/talloc_2.0.1.bb | |||
@@ -0,0 +1,27 @@ | |||
1 | DESCRIPTION = "Hierarchical, reference counted memory pool system with destructors" | ||
2 | HOMEPAGE = "http://talloc.samba.org" | ||
3 | LICENSE = "LGPL" | ||
4 | LIC_FILES_CHKSUM = "file://NEWS;md5=5fe776b23a711c9153ee94bc87e47334" | ||
5 | |||
6 | inherit autotools pkgconfig | ||
7 | |||
8 | SRC_URI = "http://samba.org/ftp/${BPN}/${BPN}-${PV}.tar.gz" | ||
9 | SRC_URI[md5sum] = "c6e736540145ca58cb3dcb42f91cf57b" | ||
10 | SRC_URI[sha256sum] = "5b810527405f29d54f50efd78bf2c89e318f2cd8bed001f22f2a1412fd27c9b4" | ||
11 | |||
12 | TARGET_CC_ARCH += "${LDFLAGS}" | ||
13 | |||
14 | PR = "r1" | ||
15 | |||
16 | # autoreconf doesn't work well while reconfiguring included libreplace | ||
17 | do_configure () { | ||
18 | gnu-configize | ||
19 | oe_runconf | ||
20 | } | ||
21 | |||
22 | do_install_append() { | ||
23 | install -d ${D}${libdir} | ||
24 | ln -s libtalloc.so.2.0.1 ${D}${libdir}/libtalloc.so.2.0 | ||
25 | ln -s libtalloc.so.2.0 ${D}${libdir}/libtalloc.so.2 | ||
26 | ln -s libtalloc.so.2 ${D}${libdir}/libtalloc.so | ||
27 | } | ||
diff --git a/meta-oe/recipes-support/tangogps/tangogps.inc b/meta-oe/recipes-support/tangogps/tangogps.inc new file mode 100644 index 000000000..436fe07db --- /dev/null +++ b/meta-oe/recipes-support/tangogps/tangogps.inc | |||
@@ -0,0 +1,15 @@ | |||
1 | DESCRIPTION = "tangoGPS is a map and GPS application using Openstreetmap" | ||
2 | AUTHOR = "Marcus Bauer <marcus.bauer@gmail.com>" | ||
3 | HOMEPAGE = "http://tangogps.org/" | ||
4 | SECTION = "x11/applications" | ||
5 | LICENSE = "GPLv2" | ||
6 | PRIORITY = "optional" | ||
7 | DEPENDS = "curl gtk+ gconf sqlite3 libexif libsoup-2.4" | ||
8 | |||
9 | SRC_URI = "http://www.tangogps.org/downloads/tangogps-${PV}.tar.gz;name=archive" | ||
10 | S = "${WORKDIR}/tangogps-${PV}" | ||
11 | |||
12 | inherit autotools pkgconfig | ||
13 | |||
14 | RRECOMMENDS_${PN} = "gpsd" | ||
15 | RRECOMMENDS_shr = "fso-gpsd" | ||
diff --git a/meta-oe/recipes-support/tangogps/tangogps_0.99.4.bb b/meta-oe/recipes-support/tangogps/tangogps_0.99.4.bb new file mode 100644 index 000000000..ab682f3cf --- /dev/null +++ b/meta-oe/recipes-support/tangogps/tangogps_0.99.4.bb | |||
@@ -0,0 +1,4 @@ | |||
1 | require tangogps.inc | ||
2 | |||
3 | SRC_URI[archive.md5sum] = "0f07ede94a21eb84f5e017fa88a1fc3d" | ||
4 | SRC_URI[archive.sha256sum] = "660fdf89ef3c379f2fc0c2a9d0c9d3bfa5345835786b72bf9f513ba9ec2c812a" | ||
diff --git a/meta-oe/recipes-support/usbpath/usbpath_svn.bb b/meta-oe/recipes-support/usbpath/usbpath_svn.bb new file mode 100644 index 000000000..594126750 --- /dev/null +++ b/meta-oe/recipes-support/usbpath/usbpath_svn.bb | |||
@@ -0,0 +1,19 @@ | |||
1 | DESCRIPTION = "Convert the physical locations of a USB device to/from its number" | ||
2 | AUTHOR = "Werner Almesberger <werner@openmoko.org>" | ||
3 | SECTION = "console/utils" | ||
4 | LICENSE = "GPLv2+" | ||
5 | LIC_FILES_CHKSUM = "file://usbpath.c;endline=20;md5=0aa8c7d2af9110c78a99fbf9a504dc3f" | ||
6 | DEPENDS = "virtual/libusb0" | ||
7 | DEPENDS_virtclass-native = "virtual/libusb0-native" | ||
8 | |||
9 | BBCLASSEXTEND = "native" | ||
10 | |||
11 | SRCREV = "3172" | ||
12 | PV = "0.0+svnr${SRCPV}" | ||
13 | |||
14 | SRC_URI = "svn://svn.openmoko.org/trunk/src/host;module=usbpath;proto=http" | ||
15 | |||
16 | S = "${WORKDIR}/usbpath" | ||
17 | |||
18 | inherit autotools | ||
19 | |||
diff --git a/meta-oe/recipes-support/vala-terminal/vala-terminal_git.bb b/meta-oe/recipes-support/vala-terminal/vala-terminal_git.bb new file mode 100644 index 000000000..1900b6fcb --- /dev/null +++ b/meta-oe/recipes-support/vala-terminal/vala-terminal_git.bb | |||
@@ -0,0 +1,18 @@ | |||
1 | DESCRIPTION = "A lightweight Terminal Emulator based on libvte, written in Vala." | ||
2 | SECTION = "x11/applications" | ||
3 | DEPENDS = "vala-native vte" | ||
4 | SRCREV = "6cfb8bf8eb1a3812e39fac10a4810b6680fa066a" | ||
5 | LICENSE = "GPLv2" | ||
6 | LIC_FILES_CHKSUM = "file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552" | ||
7 | PV = "1.1.1+gitr${SRCPV}" | ||
8 | PE = "1" | ||
9 | PR = "r1" | ||
10 | |||
11 | inherit autotools | ||
12 | |||
13 | SRC_URI = "${FREESMARTPHONE_GIT}/vala-terminal.git;protocol=git;branch=master" | ||
14 | S = "${WORKDIR}/git" | ||
15 | |||
16 | RDEPENDS_${PN} = "ttf-liberation-mono" | ||
17 | RREPLACES_${PN} = "openmoko-terminal2" | ||
18 | RPROVIDES_${PN} = "openmoko-terminal2" | ||
diff --git a/meta-oe/recipes-support/wmiconfig/wmiconfig_svn.bb b/meta-oe/recipes-support/wmiconfig/wmiconfig_svn.bb new file mode 100644 index 000000000..a1ee6718e --- /dev/null +++ b/meta-oe/recipes-support/wmiconfig/wmiconfig_svn.bb | |||
@@ -0,0 +1,20 @@ | |||
1 | DESCRIPTION = "Atheros 6K Wifi configuration utility" | ||
2 | LICENSE = "GPLv2" | ||
3 | LIC_FILES_CHKSUM = "file://wmiconfig.c;endline=19;md5=4394a56bca1c5b2446c9f8e406c82911" | ||
4 | SECTION = "console/network" | ||
5 | SRCREV = "5394" | ||
6 | PV = "0.0.0+svnr${SRCPV}" | ||
7 | PR = "r1" | ||
8 | |||
9 | SRC_URI = "svn://svn.openmoko.org/trunk/src/target;module=AR6kSDK.build_sw.18;proto=http" | ||
10 | S = "${WORKDIR}/AR6kSDK.build_sw.18/host/tools/wmiconfig" | ||
11 | |||
12 | export CC := "${CC}" | ||
13 | |||
14 | TARGET_CC_ARCH += "${LDFLAGS}" | ||
15 | |||
16 | do_install() { | ||
17 | install -d ${D}${bindir} | ||
18 | install -m 0755 wmiconfig ${D}${bindir} | ||
19 | } | ||
20 | |||