diff options
Diffstat (limited to 'meta-oe')
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 00000000000..bedceb9d6ef --- /dev/null +++ b/meta-oe/classes/gitpkgv.bbclass @@ -0,0 +1,84 @@ +# gitpkgv.bbclass provides a GITPKGV and GITPKGVTAG variables to be +# used in PKGV, as described bellow: +# +# - GITPKGV which is a sortable version with the format NN+GITHASH, to +# be used in PKGV, where +# +# NN equals the total number of revs up to SRCREV +# GITHASH is SRCREV's (full) hash +# +# - GITPKGVTAG which is the output of 'git describe' allowing for +# automatic versioning +# +# gitpkgv.bbclass assumes the git repository has been cloned, and +# contains SRCREV. So ${GITPKGV} and ${GITPKGVTAG} should never be +# used in PV, only in PKGV. It can handle SRCREV = ${AUTOREV}, as +# well as SRCREV = "<some fixed git hash>". +# +# WARNING: if upstream repository is always using consistent and +# sortable tag name scheme you can get sortable version including tag +# name with ${GITPKGVTAG}, but be aware that ie tag sequence "v1.0, +# v1.2, xtest, v2.0" will force you to increment PE to get upgradeable +# path to v2.0 revisions +# +# use example: +# +# inherit gitpkgv +# +# PV = "1.0+gitr${SRCPV}" # expands to something like 1.0+gitr3+4c1c21d7dbbf93b0df336994524313dfe0d4963b +# PKGV = "1.0+gitr${GITPKGV}" # expands also to something like 1.0+gitr31337+4c1c21d7d +# +# or +# +# inherit gitpkgv +# +# PV = "1.0+gitr${SRCPV}" # expands to something like 1.0+gitr3+4c1c21d7dbbf93b0df336994524313dfe0d4963b +# PKGV = "${GITPKGVTAG}" # expands to something like 1.0-31337+g4c1c21d +# if there is tag v1.0 before this revision or +# ver1.0-31337+g4c1c21d if there is tag ver1.0 + +GITPKGV = "${@get_git_pkgv(d, False)}" +GITPKGVTAG = "${@get_git_pkgv(d, True)}" + +def gitpkgv_drop_tag_prefix(version): + import re + if re.match("v\d", version): + return version[1:] + else: + return version + +def get_git_pkgv(d, use_tags): + import os + import bb + + urls = bb.data.getVar('SRC_URI', d, 1).split() + + for url in urls: + (type, host, path, user, pswd, parm) = bb.decodeurl(bb.data.expand(url, d)) + if type in ['git']: + + gitsrcname = '%s%s' % (host, path.replace('/', '.')) + repodir = os.path.join(bb.data.expand('${GITDIR}', d), gitsrcname) + if not os.path.exists(repodir): + return None + + rev = bb.fetch.get_srcrev(d).split('+')[1] + + cwd = os.getcwd() + os.chdir(repodir) + + commits = bb.fetch.runfetchcmd("git rev-list %s -- 2> /dev/null | wc -l" % rev, d, quiet=True).strip() + + if use_tags: + try: + ver = gitpkgv_drop_tag_prefix(bb.fetch.runfetchcmd("git describe %s 2>/dev/null" % rev, d, quiet=True).strip()) + except Exception: + ver = "0.0-%s-g%s" % (commits, rev[:7]) + else: + ver = "%s+%s" % (commits, rev[:7]) + + os.chdir(cwd) + + return ver + + return "0+0" diff --git a/meta-oe/classes/gitver.bbclass b/meta-oe/classes/gitver.bbclass new file mode 100644 index 00000000000..ee8323d6f43 --- /dev/null +++ b/meta-oe/classes/gitver.bbclass @@ -0,0 +1,80 @@ +# Copyright (C) 2009 Chris Larson <clarson@kergoth.com> +# Released under the MIT license (see COPYING.MIT for the terms) +# +# gitver.bbclass provides a GITVER variable which is a (fairly) sane version, +# for use in ${PV}, extracted from the ${S} git checkout, assuming it is one. +# This is most useful in concert with srctree.bbclass. + +def git_drop_tag_prefix(version): + import re + if re.match("v\d", version): + return version[1:] + else: + return version + +GIT_TAGADJUST = "git_drop_tag_prefix(version)" +GITVER = "${@get_git_pv('${S}', d, tagadjust=lambda version:${GIT_TAGADJUST})}" +GITSHA = "${@get_git_hash('${S}', d)}" + +def get_git_hash(path, d): + return oe_run(d, ["git", "rev-parse", "--short", "HEAD"], cwd=path).rstrip() + +def get_git_pv(path, d, tagadjust=None): + import os + import oe.process + + gitdir = os.path.abspath(os.path.join(d.getVar("S", True), ".git")) + def git(cmd): + try: + return oe_run(d, ["git"] + cmd, cwd=gitdir).rstrip() + except oe.process.CmdError, exc: + bb.fatal(str(exc)) + + try: + ver = oe_run(d, ["git", "describe", "--tags"], cwd=gitdir).rstrip() + except Exception, exc: + bb.fatal(str(exc)) + + if not ver: + try: + ver = get_git_hash(gitdir, d) + except Exception, exc: + bb.fatal(str(exc)) + + if ver: + return "0.0+%s" % ver + else: + return "0.0" + else: + if tagadjust: + ver = tagadjust(ver) + return ver + +def mark_recipe_dependencies(path, d): + from bb.parse import mark_dependency + + gitdir = os.path.join(path, ".git") + + # Force the recipe to be reparsed so the version gets bumped + # if the active branch is switched, or if the branch changes. + mark_dependency(d, os.path.join(gitdir, "HEAD")) + + # Force a reparse if anything in the index changes. + mark_dependency(d, os.path.join(gitdir, "index")) + + try: + ref = oe_run(d, ["git", "symbolic-ref", "-q", "HEAD"], cwd=gitdir).rstrip() + except oe.process.CmdError: + pass + else: + if ref: + mark_dependency(d, os.path.join(gitdir, ref)) + + # Catch new tags. + tagdir = os.path.join(gitdir, "refs", "tags") + if os.path.exists(tagdir): + mark_dependency(d, tagdir) + +python () { + mark_recipe_dependencies(d.getVar("S", True), d) +} diff --git a/meta-oe/classes/glx-use-tls.bbclass b/meta-oe/classes/glx-use-tls.bbclass new file mode 100644 index 00000000000..7530872fa42 --- /dev/null +++ b/meta-oe/classes/glx-use-tls.bbclass @@ -0,0 +1,7 @@ +def get_tls_setting(bb, d): + # until we have no prober TLS support in uclibc disable it + if bb.data.getVar('TARGET_OS', d, 1).find('uclibc') >= 0 : + return "" + return "--enable-glx-tls" + +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 00000000000..7e042ee9302 --- /dev/null +++ b/meta-oe/classes/gpe.bbclass @@ -0,0 +1,17 @@ +DEPENDS_prepend = "virtual/libintl intltool-native " +GPE_TARBALL_SUFFIX ?= "gz" +SRC_URI = "${GPE_MIRROR}/${PN}-${PV}.tar.${GPE_TARBALL_SUFFIX}" +FILES_${PN} += "${datadir}/gpe ${datadir}/application-registry" +SECTION ?= "gpe" + +inherit gettext + +gpe_do_compile() { + oe_runmake PREFIX=${prefix} +} + +gpe_do_install() { + oe_runmake PREFIX=${prefix} DESTDIR=${D} install +} + +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 00000000000..1457e5618d6 --- /dev/null +++ b/meta-oe/classes/srctree.bbclass @@ -0,0 +1,123 @@ +# Copyright (C) 2009 Chris Larson <clarson@kergoth.com> +# Released under the MIT license (see COPYING.MIT for the terms) +# +# srctree.bbclass enables operation inside of an existing source tree for a +# project, rather than using the fetch/unpack/patch idiom. +# +# By default, it expects that you're keeping the recipe(s) inside the +# aforementioned source tree, but you could override S to point at an external +# directory and place the recipes in a normal collection/overlay, if you so +# chose. +# +# It also provides some convenience python functions for assembling your +# do_clean, if you want to leverage things like 'git clean' to simplify the +# operation. + + +# Grab convenience methods & sane default for do_clean +inherit clean + +# Build here +S = "${FILE_DIRNAME}" +SRC_URI = "" + +def remove_tasks(deltasks, d): + for task in filter(lambda k: d.getVarFlag(k, "task"), d.keys()): + deps = d.getVarFlag(task, "deps") + for preptask in deltasks: + if preptask in deps: + deps.remove(preptask) + d.setVarFlag(task, "deps", deps) + +addtask configure after do_setscene + +def merge_tasks(d): + """ + Merges all of the operations that occur prior to do_populate_sysroot + into do_populate_sysroot. + + This is necessary because of recipe variants (normal, native, cross, + sdk). If a bitbake run happens to want to build more than one of + these variants in a single run, it's possible for them to step on one + another's toes, due to the shared ${S}. Interleaved + configure/compile/install amongst variants will break things badly. + """ + from itertools import chain + from bb import note + + def __gather_taskdeps(task, seen): + for dep in d.getVarFlag(task, "deps"): + if not dep in seen: + __gather_taskdeps(dep, seen) + if not task in seen: + seen.append(task) + + def gather_taskdeps(task): + items = [] + __gather_taskdeps(task, items) + return items + + newtask = "do_populate_sysroot_post" + mergedtasks = gather_taskdeps(newtask) + mergedtasks.pop() + + for task in (key for key in d.keys() + if d.getVarFlag(key, "task") and + not key in mergedtasks): + deps = d.getVarFlag(task, "deps") + for mergetask in mergedtasks: + if mergetask in (d.getVarFlag(task, "recrdeptask"), + d.getVarFlag(task, "recdeptask"), + d.getVarFlag(task, "deptask")): + continue + + if mergetask in deps: + deps.remove(mergetask) + #note("removing dep on %s from %s" % (mergetask, task)) + + if not newtask in deps: + #note("adding dep on %s to %s" % (newtask, task)) + deps.append(newtask) + d.setVarFlag(task, "deps", deps) + + # Pull cross recipe task deps over + depends = [] + deptask = [] + for task in mergedtasks[:-1]: + depends.append(d.getVarFlag(task, "depends") or "") + deptask.append(d.getVarFlag(task, "deptask") or "") + + d.setVarFlag("do_populate_sysroot_post", "depends", " ".join(depends)) + d.setVarFlag("do_populate_sysroot_post", "deptask", " ".join(deptask)) + +python () { + remove_tasks(["do_patch", "do_unpack", "do_fetch"], d) + b = d.getVar("B", True) + if not b or b == d.getVar("S", True): + merge_tasks(d) +} + +# Manually run do_install & all of its deps +python do_populate_sysroot_post () { + from os.path import exists + from bb.build import exec_func, make_stamp + from bb import note + + stamp = d.getVar("STAMP", True) + + def rec_exec_task(task, seen): + for dep in d.getVarFlag(task, "deps"): + if not dep in seen: + rec_exec_task(dep, seen) + seen.add(task) + if not exists("%s.%s" % (stamp, task)): + note("%s: executing task %s" % (d.getVar("PF", True), task)) + exec_func(task, d) + flags = d.getVarFlags(task) + if not flags.get('nostamp') and not flags.get('selfstamp'): + make_stamp(task, d) + + rec_exec_task("do_populate_sysroot", set()) +} +addtask populate_sysroot_post after do_populate_sysroot +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 00000000000..747ae77e6d6 --- /dev/null +++ b/meta-oe/recipes-connectivity/bluez/bluez4.inc @@ -0,0 +1,71 @@ +DESCRIPTION = "Linux Bluetooth Stack Userland V4" +HOMEPAGE = "http://www.bluez.org" +SECTION = "libs" +PRIORITY = "optional" +LICENSE = "GPLv2/LGPLv2.1" +LIC_FILES_CHKSUM = "file://COPYING;md5=12f884d2ae1ff87c09e5b7ccc2c4ca7e \ + file://COPYING.LIB;md5=fb504b67c50331fc78734fed90fb0e09 \ +" +DEPENDS = "gst-plugins-base alsa-lib virtual/libusb0 dbus-glib" +INC_PR = "r8" + +# temporary solution until bug 5176 is properly fixed +PROVIDES += "bluez-utils bluez-libs bluez-utils-dbus" +RPROVIDES_bluez4 += "bluez-utils bluez-libs bluez-utils-dbus" +RPROVIDES_bluez4-dev = "bluez-libs-dev" + +SRC_URI = "\ + http://www.kernel.org/pub/linux/bluetooth/bluez-${PV}.tar.gz \ + file://fix-dfutool-usb-declaration-mismatch.patch \ + file://bluetooth.conf \ +" +S = "${WORKDIR}/bluez-${PV}" + +inherit autotools update-rc.d + +EXTRA_OECONF = "\ + --enable-gstreamer \ + --enable-alsa \ + --enable-usb \ + --enable-netlink \ + --enable-tools \ + --enable-bccmd \ + --enable-hid2hci \ + --enable-dfutool \ + --enable-hidd \ + --enable-pand \ + --enable-dund \ + --disable-cups \ + --enable-test \ + --enable-manpages \ + --enable-configfiles \ + --enable-initscripts \ + --disable-pcmciarules \ +" + +do_install_append() { + install -m 0644 ${S}/audio/audio.conf ${D}/${sysconfdir}/bluetooth/ + install -m 0644 ${S}/network/network.conf ${D}/${sysconfdir}/bluetooth/ + install -m 0644 ${S}/input/input.conf ${D}/${sysconfdir}/bluetooth/ + # at_console doesn't really work with the current state of OE, so punch some more holes so people can actually use BT + install -m 0644 ${WORKDIR}/bluetooth.conf ${D}/${sysconfdir}/dbus-1/system.d/ +} + +INITSCRIPT_NAME = "bluetooth" +INITSCRIPT_PARAMS = "defaults 23 19" + +PACKAGES =+ "gst-plugin-bluez libasound-module-bluez" + +FILES_gst-plugin-bluez = "${libdir}/gstreamer-0.10/lib*.so" +FILES_libasound-module-bluez = "${libdir}/alsa-lib/lib*.so ${datadir}/alsa/bluetooth.conf" +FILES_${PN} += "${libdir}/bluetooth/plugins/*.so ${base_libdir}/udev" +FILES_${PN}-dev += "\ + ${libdir}/bluetooth/plugins/*.la \ + ${libdir}/alsa-lib/*.la \ + ${libdir}/gstreamer-0.10/*.la \ +" + +FILES_${PN}-dbg += "\ + ${libdir}/bluetooth/plugins/.debug \ + ${libdir}/*/.debug \ +" 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 00000000000..ca5e9e4f2f8 --- /dev/null +++ b/meta-oe/recipes-connectivity/bluez/bluez4/bluetooth.conf @@ -0,0 +1,16 @@ +<!-- This configuration file specifies the required security policies + for Bluetooth core daemon to work. --> + +<!DOCTYPE busconfig PUBLIC "-//freedesktop//DTD D-BUS Bus Configuration 1.0//EN" + "http://www.freedesktop.org/standards/dbus/1.0/busconfig.dtd"> +<busconfig> + + <!-- ../system.conf have denied everything, so we just punch some holes --> + + <policy context="default"> + <allow own="org.bluez"/> + <allow send_destination="org.bluez"/> + <allow send_interface="org.bluez.Agent"/> + </policy> + +</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 00000000000..b1ee510e8b9 --- /dev/null +++ b/meta-oe/recipes-connectivity/bluez/bluez4/fix-dfutool-usb-declaration-mismatch.patch @@ -0,0 +1,13 @@ +Index: bluez-4.27/tools/dfutool.c +=================================================================== +--- bluez-4.27.orig/tools/dfutool.c ++++ bluez-4.27/tools/dfutool.c +@@ -59,7 +59,7 @@ + #endif + + #ifdef NEED_USB_GET_BUSSES +-static inline struct usb_bus *usb_get_busses(void) ++inline struct usb_bus *usb_get_busses(void) + { + return usb_busses; + } 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 00000000000..ed15fd5a1b4 --- /dev/null +++ b/meta-oe/recipes-connectivity/bluez/bluez4/hid2hci_usb_init.patch @@ -0,0 +1,33 @@ +# Signed-off-by: Khem Raj <raj.khem@gmail.com> +# +# Use the new usb1 API for usb_init() and check for fails from +# usb_init (). Currently we see a crash on a system which does +# not have USB because usb_init() fails and it cleans up all initialized +# data (e.g. ctx) which is used in subsequent calls to libusb +# We return immediately if usb_init() fails for some reason. + +Index: bluez-4.24/tools/hid2hci.c +=================================================================== +--- bluez-4.24.orig/tools/hid2hci.c 2008-10-25 23:40:34.000000000 -0700 ++++ bluez-4.24/tools/hid2hci.c 2008-12-29 22:06:04.000000000 -0800 +@@ -337,7 +337,7 @@ + int main(int argc, char *argv[]) + { + struct device_info dev[16]; +- int i, opt, num, quiet = 0, mode = HCI; ++ int i, ret, opt, num, quiet = 0, mode = HCI; + + while ((opt = getopt_long(argc, argv, "+01qh", main_options, NULL)) != -1) { + switch (opt) { +@@ -361,8 +361,9 @@ + argc -= optind; + argv += optind; + optind = 0; +- +- usb_init(); ++ ret = libusb_init(); ++ if (ret < 0) ++ return ret; + + num = find_devices(mode, dev, sizeof(dev) / sizeof(dev[0])); + 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 00000000000..3505426053d --- /dev/null +++ b/meta-oe/recipes-connectivity/bluez/bluez4/sbc-thumb.patch @@ -0,0 +1,11 @@ +--- bluez/sbc/sbc_math.h~ 2008-03-05 20:18:03.000000000 +0000 ++++ bluez/sbc/sbc_math.h 2008-10-27 13:39:27.000000000 +0000 +@@ -59,7 +59,7 @@ + + #define SBC_FIXED_0(val) { val = 0; } + #define MUL(a, b) ((a) * (b)) +-#ifdef __arm__ ++#if defined(__arm__) && !defined(__thumb__) + #define MULA(a, b, res) ({ \ + int tmp = res; \ + __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 00000000000..ebb2dab584a --- /dev/null +++ b/meta-oe/recipes-connectivity/bluez/bluez4_4.91.bb @@ -0,0 +1,15 @@ +require bluez4.inc + +SRC_URI[md5sum] = "3059b7ef5168c84cd0c6a67034ce79f9" +SRC_URI[sha256sum] = "11e9279e2669db996afd464b96d2c68f41f157f6eb9b8842a0bbcad8a4eac18d" + +DEPENDS += "libsndfile1" + +PR = "${INC_PR}.0" + +# Not all distros have a recent enough udev +BTUDEV = " --disable-udevrules" +BTUDEV_angstrom = " --enable-udevrules" +BTUDEV_shr = " --enable-udevrules" + +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 00000000000..69f91b3a3ae --- /dev/null +++ b/meta-oe/recipes-connectivity/connman/connman.inc @@ -0,0 +1,79 @@ +SUMMARY = "A daemon for managing internet connections within embedded devices" +DESCRIPTION = "The ConnMan project provides a daemon for managing \ +internet connections within embedded devices running the Linux \ +operating system. The Connection Manager is designed to be slim and \ +to use as few resources as possible, so it can be easily integrated. \ +It is a fully modular system that can be extended, through plug-ins, \ +to support all kinds of wired or wireless technologies. Also, \ +configuration methods, like DHCP and domain name resolving, are \ +implemented using plug-ins." +HOMEPAGE = "http://connman.net/" +BUGTRACKER = "http://bugs.meego.com/buglist.cgi?quicksearch=connman" +LICENSE = "GPLv2" +LIC_FILES_CHKSUM = "file://COPYING;md5=12f884d2ae1ff87c09e5b7ccc2c4ca7e \ + file://src/main.c;beginline=1;endline=20;md5=4b55b550fa6b33cc2055ef30dd262b3e" + +# we need to define the depends here, the dynamic stuff is too late +DEPENDS = "libnl wpa-supplicant dbus glib-2.0 ppp busybox dhcp resolvconf bluez4" + +EXTRA_OECONF += "\ + ac_cv_path_WPASUPPLICANT=/usr/sbin/wpa_supplicant \ + ac_cv_path_DHCLIENT=/sbin/dhclient \ + ac_cv_path_UDHCPC=/sbin/udhcpc \ + ac_cv_path_RESOLVCONF=/sbin/resolvconf \ + ac_cv_path_PPPD=/usr/sbin/pppd \ +" + +INITSCRIPT_NAME = "connman" +INITSCRIPT_PARAMS = "start 05 5 2 . stop 22 0 1 6 ." + +PARALLEL_MAKE = "" + +inherit autotools pkgconfig update-rc.d + +do_configure_append() { + ln -sf . include/connman +} + +do_compile_append() { + sed -i -e s:deny:allow:g src/connman-dbus.conf +} + +do_install_append() { + install -d ${D}${sysconfdir}/init.d + install -m 0755 ${WORKDIR}/connman ${D}${sysconfdir}/init.d/connman +} + +python populate_packages_prepend() { + depmap = dict( pppd="ppp", udhcp="busybox connman-scripts", dhclient="dhcp-client", wifi="wpa-supplicant", resolvconf="resolvconf", bluetooth="bluez4" ) + packages = [] + hook = lambda file,pkg,b,c,d:packages.append((file,pkg)) + plugin_dir = bb.data.expand('${libdir}/connman/plugins/', d) + plugin_name = bb.data.expand('${PN}-plugin-%s', d) + do_split_packages(d, plugin_dir, '^(.*).so$', plugin_name, '${PN} plugin for %s', extra_depends='', hook=hook ) + for (file, package) in packages: + plugintype = package.split( '-' )[-1] + if plugintype in depmap: + rdepends = bb.data.getVar( "RDEPENDS_%s" % package, d ) + bb.note( "Adding rdependency on %s to package %s" % ( depmap[plugintype], package ) ) + bb.data.setVar("RDEPENDS_%s" % package, depmap[plugintype], d) +} + +PACKAGES_DYNAMIC = "${PN}-plugin-*" + +PACKAGES += "${PN}-scripts ${PN}-test-utils" + +FILES_${PN} = "${bindir}/* ${sbindir}/* ${libexecdir}/* ${libdir}/lib*.so.* \ + ${sysconfdir} ${sharedstatedir} ${localstatedir} \ + ${base_bindir}/* ${base_sbindir}/* ${base_libdir}/*.so* ${datadir}/${PN} \ + ${datadir}/pixmaps ${datadir}/applications \ + ${datadir}/idl ${datadir}/omf ${datadir}/sounds \ + ${libdir}/bonobo/servers \ + ${datadir}/dbus-1/system-services/*" + +FILES_${PN}-test-utils += "${libdir}/connman/test/*" + +FILES_${PN}-scripts += "${libdir}/connman/scripts" +FILES_${PN}-dbg += "${libdir}/connman/*/.debug" +FILES_${PN}-dev += "${libdir}/connman/*/*.la" + diff --git a/meta-oe/recipes-connectivity/connman/connman/connman b/meta-oe/recipes-connectivity/connman/connman/connman new file mode 100755 index 00000000000..f8154f68f92 --- /dev/null +++ b/meta-oe/recipes-connectivity/connman/connman/connman @@ -0,0 +1,42 @@ +#!/bin/sh + +DAEMON=/usr/sbin/connmand +PIDFILE=/var/run/connmand.pid +DESC="Connection Manager" + +if [ -f /etc/default/connman ] ; then + . /etc/default/connman +fi + +set -e + +do_start() { + $DAEMON +} + +do_stop() { + start-stop-daemon --stop --name connmand --quiet +} + +case "$1" in + start) + echo "Starting $DESC" + do_start + ;; + stop) + echo "Stopping $DESC" + do_stop + ;; + restart|force-reload) + echo "Restarting $DESC" + do_stop + sleep 1 + do_start + ;; + *) + echo "Usage: $0 {start|stop|restart|force-reload}" >&2 + exit 1 + ;; +esac + +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 00000000000..5be1618209c --- /dev/null +++ b/meta-oe/recipes-connectivity/connman/connman/link-against-libnl2.patch @@ -0,0 +1,13 @@ +Index: connman-0.46/configure.ac +=================================================================== +--- connman-0.46.orig/configure.ac ++++ connman-0.46/configure.ac +@@ -326,7 +326,7 @@ + AC_ARG_ENABLE(tools, AC_HELP_STRING([--enable-tools], + [enable testing tools]), [enable_tools=${enableval}]) + if (test "${enable_tools}" = "yes"); then +- PKG_CHECK_MODULES(NETLINK, libnl-1, dummy=yes, ++ PKG_CHECK_MODULES(NETLINK, libnl-2.0, dummy=yes, + AC_MSG_ERROR(Netlink library is required)) + AC_SUBST(NETLINK_CFLAGS) + 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 00000000000..708b1b4cd13 --- /dev/null +++ b/meta-oe/recipes-connectivity/connman/connman/shr/connman @@ -0,0 +1,42 @@ +#!/bin/sh + +DAEMON="/usr/sbin/connmand -I usb0" +PIDFILE=/var/run/connmand.pid +DESC="Connection Manager" + +if [ -f /etc/default/connman ] ; then + . /etc/default/connman +fi + +set -e + +do_start() { + $DAEMON +} + +do_stop() { + start-stop-daemon --stop --name connmand --quiet +} + +case "$1" in + start) + echo "Starting $DESC" + do_start + ;; + stop) + echo "Stopping $DESC" + do_stop + ;; + restart|force-reload) + echo "Restarting $DESC" + do_stop + sleep 1 + do_start + ;; + *) + echo "Usage: $0 {start|stop|restart|force-reload}" >&2 + exit 1 + ;; +esac + +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 00000000000..8eb1e147f02 --- /dev/null +++ b/meta-oe/recipes-connectivity/connman/connman_0.72.bb @@ -0,0 +1,31 @@ +require connman.inc +# connman requires libXtables now +DEPENDS += "iptables" +PR = "r0" + +EXTRA_OECONF += "\ + --disable-gtk-doc \ + --enable-debug \ + --enable-threads \ + --enable-loopback \ + --enable-ethernet \ + --enable-wifi \ + --disable-wimax \ + --enable-bluetooth \ + --enable-ofono \ + --enable-resolvconf \ + --enable-dnsproxy \ + --enable-tools \ + --disable-polkit \ + --enable-client \ + --enable-fake \ +" + +SRC_URI = "\ + http://www.kernel.org/pub/linux/network/connman/connman-${PV}.tar.gz \ + file://link-against-libnl2.patch \ + file://connman \ +" + +SRC_URI[md5sum] = "800f9356e0471c88819eee7184713a1f" +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 00000000000..257f0121afd --- /dev/null +++ b/meta-oe/recipes-connectivity/phonet-utils/phonet-utils_git.bb @@ -0,0 +1,18 @@ +DESCRIPTION = "This small package provides a few command line tools for Linux Phonet" +HOMEPAGE = "" +LICENSE = "GPLv2" +LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe" +SRC_URI = "git://gitorious.org/meego-cellular/phonet-utils.git;branch=master;protocol=git" +PR = "r0" +S = "${WORKDIR}/git" +SRCREV = "4acfa720fd37d178a048fc2be17180137d4a70ea" +PV = "0.0.0+gitr${SRCPV}" + +do_compile () { + make +} + +do_install () { + DESTDIR=${D} oe_runmake install +} + 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 00000000000..4da2b144172 --- /dev/null +++ b/meta-oe/recipes-core/meta/distro-feed-configs.bb @@ -0,0 +1,32 @@ +DESCRIPTION = "Configuration files for online package repositories aka feeds" +PR = "r1" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://${TOPDIR}/meta-shr/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420" + +DISTRO_FEED_PREFIX ?= "remote" +DISTRO_FEED_URI ?= "http://my-distribution.example/remote-feed/" + +do_compile() { + mkdir -p ${S}/${sysconfdir}/opkg + for feed in all ${PACKAGE_EXTRA_ARCHS} ${MACHINE_ARCH}; do + echo "src/gz ${DISTRO_FEED_PREFIX}-${feed} ${DISTRO_FEED_URI}/${feed}" > ${S}/${sysconfdir}/opkg/${feed}-feed.conf + done +} +do_install () { + install -d ${D}${sysconfdir}/opkg + install -m 0644 ${S}/${sysconfdir}/opkg/* ${D}${sysconfdir}/opkg/ +} + +PACKAGE_ARCH = "${MACHINE_ARCH}" + +#def distro_feed_configs(d): +# import bb +# parchs = bb.data.getVar( "PACKAGE_EXTRA_ARCHS", d, 1 ).split() +# march = bb.data.getVar( "MACHINE_ARCH", d, 1 ).split() +# archs = [ "all" ] + parchs + march +# confs = [ ( "${sysconfdir}/opkg/%s-feed.conf" % feed ) for feed in archs ] +# return " ".join( confs ) +# +#CONFFILES_${PN} += '${@distro_feed_configs(d)}' + +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 00000000000..c271f711e30 --- /dev/null +++ b/meta-oe/recipes-core/tasks/task-cli-tools.bb @@ -0,0 +1,52 @@ +DESCRIPTION = "A set of useful command line tools" +DESCRIPTION_${PN}-debug = "A set of command line tools useful for debugging" +SECTION = "console" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://${TOPDIR}/meta-shr/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420" +PV = "1.0" +PR = "r18" + +inherit task + +PACKAGES += "${PN}-debug" + +def get_ltrace(bb, d): + if bb.data.getVar('TARGET_ARCH', d, 1) in [ 'sh4', 'sh3' ] : + return "" + return "ltrace" + +RDEPENDS_${PN} = "\ + dbus-daemon-proxy \ + dosfstools \ + htop \ + iptables \ + lsof \ + mbuffer \ + mdbus2 \ + mtd-utils \ + mterm2 \ + nano \ + nfs-utils-client \ + nmon \ + powertop \ + screen \ + socat \ + sysstat \ +" + +RDEPENDS_${PN}-debug = "\ + evtest \ + devmem2 \ + i2c-tools \ + gdb \ + ${@get_ltrace(bb, d)} \ + mkdump \ + mioctl \ + procps \ + pxaregs \ + s3c24xx-gpio \ + s3c64xx-gpio \ + serial-forward \ + strace \ + tcpdump \ +" 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 00000000000..208b168597b --- /dev/null +++ b/meta-oe/recipes-core/tasks/task-x11.bb @@ -0,0 +1,43 @@ +DESCRIPTION = "The X Window System -- install this task to get a client/server based display multiplexer." +SECTION = "x11/server" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://${TOPDIR}/meta-shr/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420" +PV = "1.0" +PR = "r7" + +# WORK IN PROGRESS + +inherit task + +PACKAGES += "\ + ${PN}-server \ + ${PN}-utils \ +" + +RRECOMMENDS_${PN} = "\ + ${PN}-server \ + ${PN}-utils \ +" + +# Some machines don't set a *runtime* provider for X, so default to Xfbdev here +# virtual/xserver won't work, since the kdrive recipes will build multiple xserver packages +XSERVER ?= "xserver-kdrive-fbdev" +XSERVER_COMMON ?= "xserver-kdrive-common" +XSERVER_COMMON_shr = "xserver-common" + +# This is also the reason why we have to make this package machine specific :/ +PACKAGE_ARCH_${PN}-server = "${MACHINE_ARCH}" + +RDEPENDS_${PN}-server = "\ + ${XSERVER} \ +" + +RDEPENDS_${PN}-utils = "\ + ${XSERVER_COMMON} \ + xserver-nodm-init \ + xauth \ + xhost \ + xset \ + xrandr \ +" + 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 00000000000..bf50f20de6e --- /dev/null +++ b/meta-oe/recipes-devtools/gdbus-binding-tool/gdbus-binding-tool/COPYING @@ -0,0 +1,482 @@ + GNU LIBRARY GENERAL PUBLIC LICENSE + Version 2, June 1991 + + Copyright (C) 1991 Free Software Foundation, Inc. + 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + +[This is the first released version of the library GPL. It is + numbered 2 because it goes with version 2 of the ordinary GPL.] + + Preamble + + The licenses for most software are designed to take away your +freedom to share and change it. By contrast, the GNU General Public +Licenses are intended to guarantee your freedom to share and change +free software--to make sure the software is free for all its users. + + This license, the Library General Public License, applies to some +specially designated Free Software Foundation software, and to any +other libraries whose authors decide to use it. You can use it for +your libraries, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +this service if you wish), that you receive source code or can get it +if you want it, that you can change the software or use pieces of it +in new free programs; and that you know you can do these things. + + To protect your rights, we need to make restrictions that forbid +anyone to deny you these rights or to ask you to surrender the rights. +These restrictions translate to certain responsibilities for you if +you distribute copies of the library, or if you modify it. + + For example, if you distribute copies of the library, whether gratis +or for a fee, you must give the recipients all the rights that we gave +you. You must make sure that they, too, receive or can get the source +code. If you link a program with the library, you must provide +complete object files to the recipients so that they can relink them +with the library, after making changes to the library and recompiling +it. And you must show them these terms so they know their rights. + + Our method of protecting your rights has two steps: (1) copyright +the library, and (2) offer you this license which gives you legal +permission to copy, distribute and/or modify the library. + + Also, for each distributor's protection, we want to make certain +that everyone understands that there is no warranty for this free +library. If the library is modified by someone else and passed on, we +want its recipients to know that what they have is not the original +version, so that any problems introduced by others will not reflect on +the original authors' reputations. + + Finally, any free program is threatened constantly by software +patents. We wish to avoid the danger that companies distributing free +software will individually obtain patent licenses, thus in effect +transforming the program into proprietary software. To prevent this, +we have made it clear that any patent must be licensed for everyone's +free use or not licensed at all. + + Most GNU software, including some libraries, is covered by the ordinary +GNU General Public License, which was designed for utility programs. This +license, the GNU Library General Public License, applies to certain +designated libraries. This license is quite different from the ordinary +one; be sure to read it in full, and don't assume that anything in it is +the same as in the ordinary license. + + The reason we have a separate public license for some libraries is that +they blur the distinction we usually make between modifying or adding to a +program and simply using it. Linking a program with a library, without +changing the library, is in some sense simply using the library, and is +analogous to running a utility program or application program. However, in +a textual and legal sense, the linked executable is a combined work, a +derivative of the original library, and the ordinary General Public License +treats it as such. + + Because of this blurred distinction, using the ordinary General +Public License for libraries did not effectively promote software +sharing, because most developers did not use the libraries. We +concluded that weaker conditions might promote sharing better. + + However, unrestricted linking of non-free programs would deprive the +users of those programs of all benefit from the free status of the +libraries themselves. This Library General Public License is intended to +permit developers of non-free programs to use free libraries, while +preserving your freedom as a user of such programs to change the free +libraries that are incorporated in them. (We have not seen how to achieve +this as regards changes in header files, but we have achieved it as regards +changes in the actual functions of the Library.) The hope is that this +will lead to faster development of free libraries. + + The precise terms and conditions for copying, distribution and +modification follow. Pay close attention to the difference between a +"work based on the library" and a "work that uses the library". The +former contains code derived from the library, while the latter only +works together with the library. + + Note that it is possible for a library to be covered by the ordinary +General Public License rather than by this special one. + + GNU LIBRARY GENERAL PUBLIC LICENSE + TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + + 0. This License Agreement applies to any software library which +contains a notice placed by the copyright holder or other authorized +party saying it may be distributed under the terms of this Library +General Public License (also called "this License"). Each licensee is +addressed as "you". + + A "library" means a collection of software functions and/or data +prepared so as to be conveniently linked with application programs +(which use some of those functions and data) to form executables. + + The "Library", below, refers to any such software library or work +which has been distributed under these terms. A "work based on the +Library" means either the Library or any derivative work under +copyright law: that is to say, a work containing the Library or a +portion of it, either verbatim or with modifications and/or translated +straightforwardly into another language. (Hereinafter, translation is +included without limitation in the term "modification".) + + "Source code" for a work means the preferred form of the work for +making modifications to it. For a library, complete source code means +all the source code for all modules it contains, plus any associated +interface definition files, plus the scripts used to control compilation +and installation of the library. + + Activities other than copying, distribution and modification are not +covered by this License; they are outside its scope. The act of +running a program using the Library is not restricted, and output from +such a program is covered only if its contents constitute a work based +on the Library (independent of the use of the Library in a tool for +writing it). Whether that is true depends on what the Library does +and what the program that uses the Library does. + + 1. You may copy and distribute verbatim copies of the Library's +complete source code as you receive it, in any medium, provided that +you conspicuously and appropriately publish on each copy an +appropriate copyright notice and disclaimer of warranty; keep intact +all the notices that refer to this License and to the absence of any +warranty; and distribute a copy of this License along with the +Library. + + You may charge a fee for the physical act of transferring a copy, +and you may at your option offer warranty protection in exchange for a +fee. + + 2. You may modify your copy or copies of the Library or any portion +of it, thus forming a work based on the Library, and copy and +distribute such modifications or work under the terms of Section 1 +above, provided that you also meet all of these conditions: + + a) The modified work must itself be a software library. + + b) You must cause the files modified to carry prominent notices + stating that you changed the files and the date of any change. + + c) You must cause the whole of the work to be licensed at no + charge to all third parties under the terms of this License. + + d) If a facility in the modified Library refers to a function or a + table of data to be supplied by an application program that uses + the facility, other than as an argument passed when the facility + is invoked, then you must make a good faith effort to ensure that, + in the event an application does not supply such function or + table, the facility still operates, and performs whatever part of + its purpose remains meaningful. + + (For example, a function in a library to compute square roots has + a purpose that is entirely well-defined independent of the + application. Therefore, Subsection 2d requires that any + application-supplied function or table used by this function must + be optional: if the application does not supply it, the square + root function must still compute square roots.) + +These requirements apply to the modified work as a whole. If +identifiable sections of that work are not derived from the Library, +and can be reasonably considered independent and separate works in +themselves, then this License, and its terms, do not apply to those +sections when you distribute them as separate works. But when you +distribute the same sections as part of a whole which is a work based +on the Library, the distribution of the whole must be on the terms of +this License, whose permissions for other licensees extend to the +entire whole, and thus to each and every part regardless of who wrote +it. + +Thus, it is not the intent of this section to claim rights or contest +your rights to work written entirely by you; rather, the intent is to +exercise the right to control the distribution of derivative or +collective works based on the Library. + +In addition, mere aggregation of another work not based on the Library +with the Library (or with a work based on the Library) on a volume of +a storage or distribution medium does not bring the other work under +the scope of this License. + + 3. You may opt to apply the terms of the ordinary GNU General Public +License instead of this License to a given copy of the Library. To do +this, you must alter all the notices that refer to this License, so +that they refer to the ordinary GNU General Public License, version 2, +instead of to this License. (If a newer version than version 2 of the +ordinary GNU General Public License has appeared, then you can specify +that version instead if you wish.) Do not make any other change in +these notices. + + Once this change is made in a given copy, it is irreversible for +that copy, so the ordinary GNU General Public License applies to all +subsequent copies and derivative works made from that copy. + + This option is useful when you wish to copy part of the code of +the Library into a program that is not a library. + + 4. You may copy and distribute the Library (or a portion or +derivative of it, under Section 2) in object code or executable form +under the terms of Sections 1 and 2 above provided that you accompany +it with the complete corresponding machine-readable source code, which +must be distributed under the terms of Sections 1 and 2 above on a +medium customarily used for software interchange. + + If distribution of object code is made by offering access to copy +from a designated place, then offering equivalent access to copy the +source code from the same place satisfies the requirement to +distribute the source code, even though third parties are not +compelled to copy the source along with the object code. + + 5. A program that contains no derivative of any portion of the +Library, but is designed to work with the Library by being compiled or +linked with it, is called a "work that uses the Library". Such a +work, in isolation, is not a derivative work of the Library, and +therefore falls outside the scope of this License. + + However, linking a "work that uses the Library" with the Library +creates an executable that is a derivative of the Library (because it +contains portions of the Library), rather than a "work that uses the +library". The executable is therefore covered by this License. +Section 6 states terms for distribution of such executables. + + When a "work that uses the Library" uses material from a header file +that is part of the Library, the object code for the work may be a +derivative work of the Library even though the source code is not. +Whether this is true is especially significant if the work can be +linked without the Library, or if the work is itself a library. The +threshold for this to be true is not precisely defined by law. + + If such an object file uses only numerical parameters, data +structure layouts and accessors, and small macros and small inline +functions (ten lines or less in length), then the use of the object +file is unrestricted, regardless of whether it is legally a derivative +work. (Executables containing this object code plus portions of the +Library will still fall under Section 6.) + + Otherwise, if the work is a derivative of the Library, you may +distribute the object code for the work under the terms of Section 6. +Any executables containing that work also fall under Section 6, +whether or not they are linked directly with the Library itself. + + 6. As an exception to the Sections above, you may also compile or +link a "work that uses the Library" with the Library to produce a +work containing portions of the Library, and distribute that work +under terms of your choice, provided that the terms permit +modification of the work for the customer's own use and reverse +engineering for debugging such modifications. + + You must give prominent notice with each copy of the work that the +Library is used in it and that the Library and its use are covered by +this License. You must supply a copy of this License. If the work +during execution displays copyright notices, you must include the +copyright notice for the Library among them, as well as a reference +directing the user to the copy of this License. Also, you must do one +of these things: + + a) Accompany the work with the complete corresponding + machine-readable source code for the Library including whatever + changes were used in the work (which must be distributed under + Sections 1 and 2 above); and, if the work is an executable linked + with the Library, with the complete machine-readable "work that + uses the Library", as object code and/or source code, so that the + user can modify the Library and then relink to produce a modified + executable containing the modified Library. (It is understood + that the user who changes the contents of definitions files in the + Library will not necessarily be able to recompile the application + to use the modified definitions.) + + b) Accompany the work with a written offer, valid for at + least three years, to give the same user the materials + specified in Subsection 6a, above, for a charge no more + than the cost of performing this distribution. + + c) If distribution of the work is made by offering access to copy + from a designated place, offer equivalent access to copy the above + specified materials from the same place. + + d) Verify that the user has already received a copy of these + materials or that you have already sent this user a copy. + + For an executable, the required form of the "work that uses the +Library" must include any data and utility programs needed for +reproducing the executable from it. However, as a special exception, +the source code distributed need not include anything that is normally +distributed (in either source or binary form) with the major +components (compiler, kernel, and so on) of the operating system on +which the executable runs, unless that component itself accompanies +the executable. + + It may happen that this requirement contradicts the license +restrictions of other proprietary libraries that do not normally +accompany the operating system. Such a contradiction means you cannot +use both them and the Library together in an executable that you +distribute. + + 7. You may place library facilities that are a work based on the +Library side-by-side in a single library together with other library +facilities not covered by this License, and distribute such a combined +library, provided that the separate distribution of the work based on +the Library and of the other library facilities is otherwise +permitted, and provided that you do these two things: + + a) Accompany the combined library with a copy of the same work + based on the Library, uncombined with any other library + facilities. This must be distributed under the terms of the + Sections above. + + b) Give prominent notice with the combined library of the fact + that part of it is a work based on the Library, and explaining + where to find the accompanying uncombined form of the same work. + + 8. You may not copy, modify, sublicense, link with, or distribute +the Library except as expressly provided under this License. Any +attempt otherwise to copy, modify, sublicense, link with, or +distribute the Library is void, and will automatically terminate your +rights under this License. However, parties who have received copies, +or rights, from you under this License will not have their licenses +terminated so long as such parties remain in full compliance. + + 9. You are not required to accept this License, since you have not +signed it. However, nothing else grants you permission to modify or +distribute the Library or its derivative works. These actions are +prohibited by law if you do not accept this License. Therefore, by +modifying or distributing the Library (or any work based on the +Library), you indicate your acceptance of this License to do so, and +all its terms and conditions for copying, distributing or modifying +the Library or works based on it. + + 10. Each time you redistribute the Library (or any work based on the +Library), the recipient automatically receives a license from the +original licensor to copy, distribute, link with or modify the Library +subject to these terms and conditions. You may not impose any further +restrictions on the recipients' exercise of the rights granted herein. +You are not responsible for enforcing compliance by third parties to +this License. + + 11. If, as a consequence of a court judgment or allegation of patent +infringement or for any other reason (not limited to patent issues), +conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot +distribute so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you +may not distribute the Library at all. For example, if a patent +license would not permit royalty-free redistribution of the Library by +all those who receive copies directly or indirectly through you, then +the only way you could satisfy both it and this License would be to +refrain entirely from distribution of the Library. + +If any portion of this section is held invalid or unenforceable under any +particular circumstance, the balance of the section is intended to apply, +and the section as a whole is intended to apply in other circumstances. + +It is not the purpose of this section to induce you to infringe any +patents or other property right claims or to contest validity of any +such claims; this section has the sole purpose of protecting the +integrity of the free software distribution system which is +implemented by public license practices. Many people have made +generous contributions to the wide range of software distributed +through that system in reliance on consistent application of that +system; it is up to the author/donor to decide if he or she is willing +to distribute software through any other system and a licensee cannot +impose that choice. + +This section is intended to make thoroughly clear what is believed to +be a consequence of the rest of this License. + + 12. If the distribution and/or use of the Library is restricted in +certain countries either by patents or by copyrighted interfaces, the +original copyright holder who places the Library under this License may add +an explicit geographical distribution limitation excluding those countries, +so that distribution is permitted only in or among countries not thus +excluded. In such case, this License incorporates the limitation as if +written in the body of this License. + + 13. The Free Software Foundation may publish revised and/or new +versions of the Library General Public License from time to time. +Such new versions will be similar in spirit to the present version, +but may differ in detail to address new problems or concerns. + +Each version is given a distinguishing version number. If the Library +specifies a version number of this License which applies to it and +"any later version", you have the option of following the terms and +conditions either of that version or of any later version published by +the Free Software Foundation. If the Library does not specify a +license version number, you may choose any version ever published by +the Free Software Foundation. + + 14. If you wish to incorporate parts of the Library into other free +programs whose distribution conditions are incompatible with these, +write to the author to ask for permission. For software which is +copyrighted by the Free Software Foundation, write to the Free +Software Foundation; we sometimes make exceptions for this. Our +decision will be guided by the two goals of preserving the free status +of all derivatives of our free software and of promoting the sharing +and reuse of software generally. + + NO WARRANTY + + 15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO +WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW. +EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR +OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY +KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE +LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME +THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + + 16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN +WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY +AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU +FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR +CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE +LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING +RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A +FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF +SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGES. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Libraries + + If you develop a new library, and you want it to be of the greatest +possible use to the public, we recommend making it free software that +everyone can redistribute and change. You can do so by permitting +redistribution under these terms (or, alternatively, under the terms of the +ordinary General Public License). + + To apply these terms, attach the following notices to the library. It is +safest to attach them to the start of each source file to most effectively +convey the exclusion of warranty; and each file should have at least the +"copyright" line and a pointer to where the full notice is found. + + <one line to give the library's name and a brief idea of what it does.> + Copyright (C) <year> <name of author> + + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Library General Public + License as published by the Free Software Foundation; either + version 2 of the License, or (at your option) any later version. + + This library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Library General Public License for more details. + + You should have received a copy of the GNU Library General Public + License along with this library; if not, write to the + Free Software Foundation, Inc., 59 Temple Place - Suite 330, + Boston, MA 02111-1307 USA. + +Also add information on how to contact you by electronic and paper mail. + +You should also get your employer (if you work as a programmer) or your +school, if any, to sign a "copyright disclaimer" for the library, if +necessary. Here is a sample; alter the names: + + Yoyodyne, Inc., hereby disclaims all copyright interest in the + library `Frob' (a library for tweaking knobs) written by James Random Hacker. + + <signature of Ty Coon>, 1 April 1990 + Ty Coon, President of Vice + +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 00000000000..286434de648 --- /dev/null +++ b/meta-oe/recipes-devtools/gdbus-binding-tool/gdbus-binding-tool_git.bb @@ -0,0 +1,37 @@ +DESCRIPTION = "gdbus-binding-tool is used to generate C code for interacting with remote objects using D-Bus." +DEPENDS = "glib-2.0 gdbus-binding-tool-native" +DEPENDS_virtclass-native = "glib-2.0-native" +RDEPENDS_${PN} = "glib-2.0-utils" +# taken from glib where this is supposed to be moved later +LICENSE = "LGPLv2+ & BSD & public domain" +LIC_FILES_CHKSUM = "file://${WORKDIR}/COPYING;md5=3bf50002aefd002f49e7bb854063f7e7" + +PR = "r2" + +inherit autotools pkgconfig + +SRC_URI = "git://anongit.freedesktop.org/~david/${BPN};protocol=git;branch=master \ + file://COPYING" +SRCREV = "229fd9adbb6bd9d824b38a3bd092229016540f41" +PV = "0.1+gitr${SRCPV}" +S = "${WORKDIR}/git" + +do_configure() { + # missing ${topdir}/gtk-doc.make and --disable-gtk-doc* is not enough + sed -i '/^doc\/Makefile/d' ${S}/configure.ac + sed -i 's/SUBDIRS = src doc/SUBDIRS = src/g' ${S}/Makefile.am + + # cannot execute target binary, so use staged native + sed -i "s#\$(top_builddir)/src/gdbus-codegen#${STAGING_BINDIR_NATIVE}/gdbus-codegen#g" ${S}/src/Makefile.am + + autotools_do_configure +} +do_configure_virtclass-native() { + # missing ${topdir}/gtk-doc.make and --disable-gtk-doc* is not enough + sed -i '/^doc\/Makefile/d' ${S}/configure.ac + sed -i 's/SUBDIRS = src doc/SUBDIRS = src/g' ${S}/Makefile.am + + autotools_do_configure +} + +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 00000000000..67b85470d3e --- /dev/null +++ b/meta-oe/recipes-devtools/gobject-introspection/gobject-introspection/use-usr-bin-env-for-python.patch @@ -0,0 +1,20 @@ +Index: gobject-introspection-0.9.10/tools/g-ir-annotation-tool.in +=================================================================== +--- gobject-introspection-0.9.10.orig/tools/g-ir-annotation-tool.in ++++ gobject-introspection-0.9.10/tools/g-ir-annotation-tool.in +@@ -1,4 +1,4 @@ +-#!@PYTHON@ ++#!/usr/bin/env python + # -*- Mode: Python -*- + # GObject-Introspection - a framework for introspecting GObject libraries + # Copyright (C) 2008 Johan Dahlin +Index: gobject-introspection-0.9.10/tools/g-ir-scanner.in +=================================================================== +--- gobject-introspection-0.9.10.orig/tools/g-ir-scanner.in ++++ gobject-introspection-0.9.10/tools/g-ir-scanner.in +@@ -1,4 +1,4 @@ +-#!@PYTHON@ ++#!/usr/bin/env python + # -*- Mode: Python -*- + # GObject-Introspection - a framework for introspecting GObject libraries + # 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 00000000000..f1a46a10b2a --- /dev/null +++ b/meta-oe/recipes-devtools/gobject-introspection/gobject-introspection_0.9.10.bb @@ -0,0 +1,32 @@ +# NOTE: WIP! This recipe does not cross-compile atm., only -native +SECTION = "libs" +DEPENDS = "glib-2.0 libffi bison-native" +BBCLASSEXTEND = "native" +PR = "r1" + +LICENSE = "GPLv2+ & LGPLv2+" +LIC_FILES_CHKSUM = "file://COPYING;md5=90d577535a3898e1ae5dbf0ae3509a8c \ + file://COPYING.GPL;md5=94d55d512a9ba36caa9b7df079bae19f \ + file://COPYING.LGPL;md5=3bf50002aefd002f49e7bb854063f7e7" + +SRC_URI[md5sum] = "e5cd63d6bcc5c105e898e7c33cf42175" +SRC_URI[sha256sum] = "4bf244db75df04499dea704e7734376c0fc5a3a17fb59be2123c8d76111e6fb8" + +SRC_URI = "\ + ${GNOME_MIRROR}/gobject-introspection/0.9/${BPN}-${PV}.tar.bz2 \ + file://use-usr-bin-env-for-python.patch \ +" +S = "${WORKDIR}/${BPN}-${PV}" + +inherit autotools + +do_configure_prepend() { + touch -f gtk-doc.make +} + +EXTRA_OECONF = "\ + --disable-gtk-doc \ + --disable-gtk-doc-html \ + --disable-gtk-doc-pdf \ + --disable-tests \ +" 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 00000000000..87c60cb4b6e --- /dev/null +++ b/meta-oe/recipes-devtools/json-glib/json-glib_0.10.4.bb @@ -0,0 +1,14 @@ +DESCRIPTION = "JSON-GLib is a library providing serialization and deserialization support for the JavaScript Object Notation (JSON) format" +LICENSE = "LGPLv2.1" +LIC_FILES_CHKSUM = "file://COPYING;md5=7fbc338309ac38fefcd64b04bb903e34" +DEPENDS = "glib-2.0" + +PR = "r1" + +EXTRA_OECONF = "--enable-introspection=no" + +inherit autotools +SRC_URI = "http://ftp.gnome.org/pub/GNOME/sources/json-glib/0.10/json-glib-0.10.4.tar.gz" + +SRC_URI[md5sum] = "87677e939a4b3d42e1c56b2a3046b9bb" +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 00000000000..1005d786891 --- /dev/null +++ b/meta-oe/recipes-devtools/libcanberra/libcanberra/libcanberra-increase-buffer-size.patch @@ -0,0 +1,13 @@ +Index: libcanberra-0.14/src/alsa.c +=================================================================== +--- libcanberra-0.14.orig/src/alsa.c ++++ libcanberra-0.14/src/alsa.c +@@ -272,7 +272,7 @@ + return translate_error(ret); + } + +-#define BUFSIZE (16*1024) ++#define BUFSIZE (128*1024) + + static void* thread_func(void *userdata) { + 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 00000000000..09e11f99708 --- /dev/null +++ b/meta-oe/recipes-devtools/libcanberra/libcanberra_0.26.bb @@ -0,0 +1,56 @@ +DESCRIPTION = "Libcanberra is an implementation of the XDG Sound Theme and Name \ +Specifications, for generating event sounds on free desktops." +LICENSE = "LGPLv2.1+" +LIC_FILES_CHKSUM = "file://LGPL;md5=2d5025d4aa3495befef8f17206a5b0a1" +DEPENDS = "alsa-lib gstreamer gtk+ libtool libvorbis gconf" +SECTION = "libs/multimedia" +AUTHOR = "Lennart Poettering" +HOMEPAGE = "http://0pointer.de/lennart/projects/libcanberra" +PR = "r1" + +inherit autotools vala + +SRC_URI = "http://0pointer.de/lennart/projects/libcanberra/libcanberra-${PV}.tar.gz \ + file://libcanberra-increase-buffer-size.patch" + +SRC_URI[md5sum] = "ee2c66ada7c851a4e7b6eb1682285a24" +SRC_URI[sha256sum] = "4b5d8d2c2835133620adbc53745dd107b6e58b9a2963059e8f457143fee00982" + +EXTRA_OECONF = "\ + --enable-alsa \ + --enable-gstreamer \ + --enable-gtk \ + --enable-multi \ + --enable-null \ + --disable-oss \ + --disable-pulse \ + --disable-tdb \ +" +# enable pulse again when pulseaudio >= 0.9.11 is the default in OE + +python populate_packages_prepend() { + plugindir = bb.data.expand('${libdir}/${P}/', d) + do_split_packages(d, plugindir, '^libcanberra-(.*)\.so$', 'libcanberra-%s', '%s support library', extra_depends='' ) +} + +PACKAGES =+ "${PN}-gtk" + +PACKAGES_DYNAMIC = "libcanberra-*" + +FILES_${PN}-gtk = "\ + ${sysconfdir}/gconf \ + ${bindir}/* \ + ${libdir}/libcanberra-gtk.so.* \ + ${libdir}/gtk-2.0/modules/* \ + ${datadir}/gnome \ + ${datadir}/gdm \ +" + +FILES_${PN}-dev += "\ + ${libdir}/${P}/*.la \ +" + +FILES_${PN}-dbg += "\ + ${libdir}/gtk-2.0/modules/.debug \ + ${libdir}/${P}/.debug \ +" diff --git a/meta-oe/recipes-devtools/libgee/libgee.inc b/meta-oe/recipes-devtools/libgee/libgee.inc new file mode 100644 index 00000000000..8542cde5a58 --- /dev/null +++ b/meta-oe/recipes-devtools/libgee/libgee.inc @@ -0,0 +1,18 @@ +DESCRIPTION = "libgee is a collection library providing GObject-based interfaces \ +and classes for commonly used data structures." +HOMEPAGE = "http://live.gnome.org/Libgee" +SECTION = "libs" +DEPENDS = "glib-2.0" +BBCLASSEXTEND = "native" +LICENSE = "LGPLv2.1" +LIC_FILES_CHKSUM = "file://COPYING;md5=fbc093901857fcd118f065f900982c24" +INC_PR = "r6" +PE = "1" + +inherit autotools vala +do_configure_prepend() { + MACROS="libtool.m4 lt~obsolete.m4 ltoptions.m4 ltsugar.m4 ltversion.m4" + for i in ${MACROS}; do + rm -f m4/$i + done +} 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 00000000000..4e305b60491 --- /dev/null +++ b/meta-oe/recipes-devtools/libgee/libgee_0.6.0.bb @@ -0,0 +1,12 @@ +require libgee.inc +PE = "1" +PR = "${INC_PR}.1" +#autoreconf needs introspection.m4 (staged by gobject-introspection-native) after http://git.gnome.org/browse/libgee/commit/?id=d026a29b38ca1a3388981c6e75a92602212373d8 +DEPENDS += "gobject-introspection-native" +DEPENDS_virtclass-native += "gobject-introspection-native" + +SRC_URI = "http://ftp.gnome.org/pub/GNOME/sources/libgee/0.6/${BPN}-${PV}.tar.bz2" +S = "${WORKDIR}/${BPN}-${PV}" + +SRC_URI[md5sum] = "4eb513b23ab6ea78884989518a4acf6f" +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 00000000000..8cde2886e2a --- /dev/null +++ b/meta-oe/recipes-devtools/python/python-dateutil_1.4.1.bb @@ -0,0 +1,24 @@ +DESCRIPTION = "Extensions to the standard Python date/time support" +HOMEPAGE = "http://labix.org/python-dateutil" +SECTION = "devel/python" +PRIORITY = "optional" +LICENSE = "PSF" +LIC_FILES_CHKSUM = "file://LICENSE;md5=d82268718c68bda0b091006ec6e583c6" +SRCNAME = "${PN}" +PR = "r1" + +SRC_URI = "http://labix.org/download/python-dateutil/${SRCNAME}-${PV}.tar.gz" +S = "${WORKDIR}/${SRCNAME}-${PV}" + +inherit setuptools + +PACKAGES =+ "${PN}-zoneinfo" +FILES_${PN}-zoneinfo = "${libdir}/${PYTHON_DIR}/site-packages/dateutil/zoneinfo" + +RDEPENDS_${PN} = "\ + python-core \ + python-datetime \ +" + +SRC_URI[md5sum] = "2a5f25ab12fcefcf0b21348f2d47595a" +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 00000000000..c1916b8b9f4 --- /dev/null +++ b/meta-oe/recipes-devtools/python/python-numeric/no-lapack.patch @@ -0,0 +1,33 @@ + +# +# Patch managed by http://www.holgerschurig.de/patcher.html +# + +--- Numeric-23.7/setup.py~nolapack ++++ Numeric-23.7/setup.py +@@ -32,7 +32,7 @@ + mathlibs = [] + + # delete all but the first one in this list if using your own LAPACK/BLAS +-sourcelist = [os.path.join('Src', 'lapack_litemodule.c'), ++sourcelist = [ + #os.path.join('Src', 'blas_lite.c'), + #os.path.join('Src', 'f2c_lite.c'), + #os.path.join('Src', 'zlapack_lite.c'), +@@ -40,12 +40,12 @@ + ] + # set these to use your own BLAS; + +-library_dirs_list = ['/usr/lib/atlas'] +-libraries_list = ['lapack', 'cblas', 'f77blas', 'atlas', 'g2c'] ++library_dirs_list = [] ++libraries_list = [] + + # set to true (1), if you also want BLAS optimized matrixmultiply/dot/innerproduct +-use_dotblas = 1 +-include_dirs = ['/usr/include/atlas'] ++use_dotblas = 0 ++include_dirs = [] + # You may need to set this to find cblas.h + # e.g. on UNIX using ATLAS this should be ['/usr/include/atlas'] + 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 00000000000..436718f4677 --- /dev/null +++ b/meta-oe/recipes-devtools/python/python-numeric_24.2.bb @@ -0,0 +1,15 @@ +DESCRIPTION = "A sophisticated Numeric Processing Package for Python" +SECTION = "devel/python" +PRIORITY = "optional" +LICENSE = "PSF & LLNL" +LIC_FILES_CHKSUM = "file://Legal.htm;md5=e3ce75dedd4043918d15979ae43e312e" + +PR = "ml1" + +SRC_URI = "${SOURCEFORGE_MIRROR}/numpy/Numeric-${PV}.tar.gz" +S = "${WORKDIR}/Numeric-${PV}" + +inherit distutils + +SRC_URI[md5sum] = "2ae672656e06716a149acb048cca3093" +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 00000000000..8111ba3f09f --- /dev/null +++ b/meta-oe/recipes-devtools/python/python-pexpect_2.3.bb @@ -0,0 +1,24 @@ +DESCRIPTION = "A Pure Python Expect like Module for Python" +SECTION = "devel/python" +PRIORITY = "optional" +LICENSE = "PSF" +LIC_FILES_CHKSUM = "file://LICENSE;md5=04a2bf11b85ce49d4a8c0c413fd34404" +SRCNAME = "pexpect" +PR = "ml1" + +SRC_URI = "${SOURCEFORGE_MIRROR}/${SRCNAME}/${SRCNAME}-${PV}.tar.gz" +S = "${WORKDIR}/${SRCNAME}-${PV}" + +inherit distutils + +RDEPENDS_${PN} = "\ + python-core \ + python-io \ + python-terminal \ + python-resource \ + python-fcntl \ +" + + +SRC_URI[md5sum] = "bf107cf54e67bc6dec5bea1f3e6a65c3" +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 00000000000..b46a772a61d --- /dev/null +++ b/meta-oe/recipes-devtools/python/python-phoneutils_git.bb @@ -0,0 +1,15 @@ +DESCRIPTION = "Python Bindings for libphone-utils" +SECTION = "devel/python" +DEPENDS = "libphone-utils python-cython-native python-pyrex-native" +RDEPENDS_${PN} = "libphone-utils" +LICENSE = "LGPLv2.1+" +LIC_FILES_CHKSUM = "file://phoneutils/c_phoneutils.pyx;endline=18;md5=ca321e4ec3a30a44469b23ebca782665" + +SRCREV = "8a7c719e0c3f1f8c10f77f17422da02d7177f0dd" +PV = "0.0.2+gitr${SRCPV}" +PR = "r3" + +SRC_URI = "git://git.shr-project.org/repo/libphone-utils.git;protocol=http;branch=master" +S = "${WORKDIR}/git/src/python" + +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 00000000000..5a6dd549605 --- /dev/null +++ b/meta-oe/recipes-devtools/python/python-pyalsaaudio_0.4.bb @@ -0,0 +1,16 @@ +DESCRIPTION = "Support for the Linux 2.6.x ALSA Sound System" +SECTION = "devel/python" +DEPENDS = "alsa-lib" +PRIORITY = "optional" +LICENSE = "PSF" +LIC_FILES_CHKSUM = "file://LICENSE;md5=1a3b161aa0fcec32a0c8907a2219ad9d" +SRCNAME = "pyalsaaudio" +PR = "ml0" + +SRC_URI = "${SOURCEFORGE_MIRROR}/pyalsaaudio/${SRCNAME}-${PV}.tar.gz" +S = "${WORKDIR}/${SRCNAME}-${PV}" + +inherit distutils + +SRC_URI[md5sum] = "b312c28efba7db0494836a79f0a49898" +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 00000000000..cc138d196b9 --- /dev/null +++ b/meta-oe/recipes-devtools/python/python-pyserial_2.4.bb @@ -0,0 +1,23 @@ +DESCRIPTION = "Serial Port Support for Python" +SECTION = "devel/python" +PRIORITY = "optional" +LICENSE = "PSF" +LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=7424386ffe323e815ee62ee9ad591dd8" +SRCNAME = "pyserial" +PR = "ml2" + +SRC_URI = "${SOURCEFORGE_MIRROR}/${SRCNAME}/${SRCNAME}-${PV}.tar.gz" +S = "${WORKDIR}/${SRCNAME}-${PV}" + +inherit setuptools + +# FIXME might stop packaging serialwin32 and serialjava files + +RDEPENDS_${PN} = "\ + python-fcntl \ + python-io \ + python-stringold \ +" + +SRC_URI[md5sum] = "eec19df59fd75ba5a136992897f8e468" +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 00000000000..fb649834194 --- /dev/null +++ b/meta-oe/recipes-devtools/python/python-pyyaml/setup.py @@ -0,0 +1,64 @@ +NAME = 'PyYAML' +VERSION = '3.06' +DESCRIPTION = "YAML parser and emitter for Python" +LONG_DESCRIPTION = """\ +YAML is a data serialization format designed for human readability and +interaction with scripting languages. PyYAML is a YAML parser and +emitter for Python. + +PyYAML features a complete YAML 1.1 parser, Unicode support, pickle +support, capable extension API, and sensible error messages. PyYAML +supports standard YAML tags and provides Python-specific tags that allow +to represent an arbitrary Python object. + +PyYAML is applicable for a broad range of tasks from complex +configuration files to object serialization and persistance.""" +AUTHOR = "Kirill Simonov" +AUTHOR_EMAIL = 'xi@resolvent.net' +LICENSE = "MIT" +PLATFORMS = "Any" +URL = "http://pyyaml.org/wiki/PyYAML" +DOWNLOAD_URL = "http://pyyaml.org/download/pyyaml/%s-%s.tar.gz" % (NAME, VERSION) +CLASSIFIERS = [ + "Development Status :: 5 - Production/Stable", + "Intended Audience :: Developers", + "License :: OSI Approved :: MIT License", + "Operating System :: OS Independent", + "Programming Language :: Python", + "Topic :: Software Development :: Libraries :: Python Modules", + "Topic :: Text Processing :: Markup", +] + +from distutils.core import setup +from distutils.extension import Extension +from Cython.Distutils import build_ext + +import sys, os.path + + +if __name__ == '__main__': + + setup( + name=NAME, + version=VERSION, + description=DESCRIPTION, + long_description=LONG_DESCRIPTION, + author=AUTHOR, + author_email=AUTHOR_EMAIL, + license=LICENSE, + platforms=PLATFORMS, + url=URL, + download_url=DOWNLOAD_URL, + classifiers=CLASSIFIERS, + + package_dir={'': 'lib'}, + packages=['yaml'], + + ext_modules = [ + Extension( "_yaml", ["ext/_yaml.pyx"], libraries = ["yaml"] ) + ], + + cmdclass={ + 'build_ext': build_ext, + }, + ) 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 00000000000..965b1cc1152 --- /dev/null +++ b/meta-oe/recipes-devtools/python/python-pyyaml_svn.bb @@ -0,0 +1,22 @@ +DESCRIPTION = "Python support for YAML" +HOMEPAGE = "http://www.pyyaml.org" +SECTION = "devel/python" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://LICENSE;md5=6015f088759b10e0bc2bf64898d4ae17" +DEPENDS = "libyaml python-cython-native" +SRCREV = "344" +PV = "3.08+svnr${SRCPV}" +PR = "ml0" + +SRC_URI = "\ + svn://svn.pyyaml.org/pyyaml;module=trunk;proto=http \ + file://setup.py \ +" +S = "${WORKDIR}/trunk" + +inherit distutils + +do_configure_prepend() { + # upstream setup.py overcomplicated, use ours + install -m 0644 ${WORKDIR}/setup.py ${S} +} 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 00000000000..6b7e7a481c7 --- /dev/null +++ b/meta-oe/recipes-devtools/python/python-vobject_0.8.1c.bb @@ -0,0 +1,17 @@ +DESCRIPTION = "Python package for parsing and generating vCard and vCalendar files" +SECTION = "devel/python" +PRIORITY = "optional" +LICENSE = "Apache License V2.0" +LIC_FILES_CHKSUM = "file://LICENSE-2.0.txt;md5=3b83ef96387f14655fc854ddc3c6bd57" +HOMEPAGE = "http://vobject.skyhouseconsulting.com/" +SRCNAME = "vobject" +RDEPENDS_${PN} = "python python-dateutil" +PR = "r2" + +SRC_URI = "http://vobject.skyhouseconsulting.com/${SRCNAME}-${PV}.tar.gz" +S = "${WORKDIR}/${SRCNAME}-${PV}" + +inherit setuptools + +SRC_URI[md5sum] = "c9686dd74d39fdae140890d9c694c076" +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 00000000000..d86e923751a --- /dev/null +++ b/meta-oe/recipes-devtools/vala-dbus-binding-tool/vala-dbus-binding-tool.inc @@ -0,0 +1,16 @@ +DESCRIPTION = "Vala DBus Binding Tool" +SECTION = "devel" +DEPENDS = "vala libgee libxml2 intltool-native" +HOMEPAGE = "http://wiki.freesmartphone.org/index.php/Implementations/vala-dbus-binding-tool" +LICENSE = "GPLv3" +LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504" +PE = "1" +INC_PR = "r3" + +export XDG_DATA_DIRS = "${STAGING_DATADIR}" + +SRC_URI = "http://downloads.freesmartphone.org/sources/vala-dbus-binding-tool-${PV}.tar.bz2;name=archive" + +inherit autotools + +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 00000000000..66df4edaffc --- /dev/null +++ b/meta-oe/recipes-devtools/vala-dbus-binding-tool/vala-dbus-binding-tool_git.bb @@ -0,0 +1,6 @@ +require vala-dbus-binding-tool.inc +SRCREV = "fd89af4941d6478575900128d09029fa5549e0db" +PV = "0.3.2+gitr${SRCPV}" + +SRC_URI = "${FREESMARTPHONE_GIT}/vala-dbus-binding-tool.git;protocol=git;branch=master" +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 00000000000..b63cdfacdb7 --- /dev/null +++ b/meta-oe/recipes-devtools/vala/vala.inc @@ -0,0 +1,25 @@ +DESCRIPTION = "Vala is a C#-like language dedicated to ease GObject programming. \ +Vala compiles to plain C and has no runtime environment nor penalities whatsoever." +SECTION = "devel" +DEPENDS = "glib-2.0 dbus" +BBCLASSEXTEND = "native" +DEPENDS_virtclass-native = "glib-2.0-native dbus-native" +HOMEPAGE = "http://vala-project.org" +LICENSE = "LGPLv2.1" +LIC_FILES_CHKSUM = "file://COPYING;md5=fbc093901857fcd118f065f900982c24" +INC_PR = "r0" + +# +# WARNING: This source release has specifically been built for OpenEmbedded. +# Don't update to any upstream release without consulting the recipe maintainer. +# + +SRC_URI = "\ + http://downloads.freesmartphone.org/sources/vala-${PV}.tar.bz2;name=archive \ +" + +inherit autotools + +EXTRA_OECONF = "--disable-vapigen" + +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 00000000000..9ca89db781b --- /dev/null +++ b/meta-oe/recipes-devtools/vala/vala_0.12.0.bb @@ -0,0 +1,7 @@ +require vala.inc +SRC_URI = "ftp://ftp.gnome.org/pub/GNOME/sources/vala/0.12/vala-0.12.0.tar.bz2" + +FILES_${PN} += "${datadir}/vala-0.12/vapi" + +SRC_URI[md5sum] = "b11fafaa705085342156312e356b6ff2" +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 00000000000..b946e71fbc1 --- /dev/null +++ b/meta-oe/recipes-extended/tzcode/tzcode-native.inc @@ -0,0 +1,18 @@ +DESCRIPTION = "tzcode, timezone zoneinfo utils -- zic, zdump, tzselect" +INC_PR = "r4" + +SRC_URI = " \ + ftp://elsie.nci.nih.gov/pub/tzcode${PV}.tar.gz;name=tzcode-${PV};subdir=${BPN}-${PV} \ + ftp://elsie.nci.nih.gov/pub/tzdata${TZDATA_PV}.tar.gz;name=tzdata-${TZDATA_PV};subdir=${BPN}-${PV} \ + " + +inherit native + +do_install () { + install -d ${D}${bindir} + install -m 755 zic ${D}${bindir}/ + install -m 755 zdump ${D}${bindir}/ + install -m 755 tzselect ${D}${bindir}/ +} + +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 00000000000..280840c9977 --- /dev/null +++ b/meta-oe/recipes-extended/tzcode/tzcode-native_2011e.bb @@ -0,0 +1,19 @@ +require tzcode-native.inc + +LICENSE = "PD" +LIC_FILES_CHKSUM = "file://README;md5=3ae8198f82258417ce29066d3b034035" + +# Note that elsie.nci.nih.gov removes old versions when new is coming out +# So if this doesn't build for you because of missing source file, just +# bump it to the latest available version, removing old one +# Also, tzdata (and it is needed to build tzcode) version can differ from +# tzcode version, thus this variable + +TZDATA_PV = "2011e" + +PR = "${INC_PR}.0" + +SRC_URI[tzcode-2011e.md5sum] = "fbfc05dbf9ebcfe7c4bba18549870173" +SRC_URI[tzcode-2011e.sha256sum] = "8fb00f8763aa51d83d6f3190d144124bb7176ca829fc08823d6205297bf0426b" +SRC_URI[tzdata-2011e.md5sum] = "044a07072300a0ee72b046e5a9a4ec90" +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 00000000000..732ebb376ff --- /dev/null +++ b/meta-oe/recipes-extended/tzdata/tzdata.inc @@ -0,0 +1,178 @@ +DESCRIPTION = "Timezone data" +SECTION = "base" +PRIORITY = "optional" +DEPENDS = "tzcode-native" + +INC_PR = "r9" + +DEFAULT_TIMEZONE ?= "Europe/London" + +RCONFLICTS_${PN} = "timezones timezone-africa timezone-america timezone-antarctica \ + timezone-arctic timezone-asia timezone-atlantic \ + timezone-australia timezone-europe timezone-indian \ + timezone-iso3166.tab timezone-pacific timezone-zone.tab" + +SRC_URI = "ftp://elsie.nci.nih.gov/pub/tzdata${PV}.tar.gz;subdir=${BPN}-${PV}" + +TZONES= "africa antarctica asia australasia europe northamerica southamerica \ + factory solar87 solar88 solar89 etcetera backward systemv \ + " +# pacificnew \ + +CONFFILES_${PN} = "${sysconfdir}/timezone ${sysconfdir}/localtime" + +do_compile () { + mkdir -p build + for zone in ${TZONES}; do \ + ${STAGING_BINDIR_NATIVE}/zic -d ${S}/build${datadir}/zoneinfo -L /dev/null \ + -y ${S}/yearistype.sh ${S}/${zone} ; \ + ${STAGING_BINDIR_NATIVE}/zic -d ${S}/build${datadir}/zoneinfo/posix -L /dev/null \ + -y ${S}/yearistype.sh ${S}/${zone} ; \ + ${STAGING_BINDIR_NATIVE}/zic -d ${S}/build${datadir}/zoneinfo/right -L ${S}/leapseconds \ + -y ${S}/yearistype.sh ${S}/${zone} ; \ + done +} + +do_install () { + install -d ${D}${prefix} ${D}${datadir}/zoneinfo + cp -pPR ${S}/build${prefix}/* ${D}${prefix} + # Only eglibc is removing zoneinfo files from package + if [ "${LIBC}"x = "eglibc"x ] ; then + cp -pP "${S}/zone.tab" ${D}${datadir}/zoneinfo + cp -pP "${S}/iso3166.tab" ${D}${datadir}/zoneinfo + fi + + # Install a sane default for timezones + install -d ${D}${sysconfdir} + echo ${DEFAULT_TIMEZONE} > ${D}${sysconfdir}/timezone + cp -pPR ${S}/build${datadir}/zoneinfo/${DEFAULT_TIMEZONE} ${D}${sysconfdir}/localtime +} + +PACKAGE_ARCH = "all" +# Packages primarily organized by directory with a major city +# in most time zones in the base package + +PACKAGES = "${PN}-dbg tzdata tzdata-misc tzdata-posix tzdata-right tzdata-africa \ + tzdata-americas tzdata-antarctica tzdata-arctic tzdata-asia \ + tzdata-atlantic tzdata-australia tzdata-europe tzdata-pacific" + +ALLOW_EMPTY_${PN}-dbg = "1" + +FILES_tzdata-africa += "${datadir}/zoneinfo/Africa/*" +RPROVIDES_tzdata-africa = "tzdata-africa" + +FILES_tzdata-americas += "${datadir}/zoneinfo/America/* \ + ${datadir}/zoneinfo/US/* \ + ${datadir}/zoneinfo/Brazil/* \ + ${datadir}/zoneinfo/Canada/* \ + ${datadir}/zoneinfo/Mexico/* \ + ${datadir}/zoneinfo/Chile/*" +RPROVIDES_tzdata-americas = "tzdata-americas" + +FILES_tzdata-antarctica += "${datadir}/zoneinfo/Antarctica/*" +RPROVIDES_tzdata-antarctica = "tzdata-antarctica" + +FILES_tzdata-arctic += "${datadir}/zoneinfo/Arctic/*" +RPROVIDES_tzdata-arctic = "tzdata-arctic" + +FILES_tzdata-asia += "${datadir}/zoneinfo/Asia/* \ + ${datadir}/zoneinfo/Indian/* \ + ${datadir}/zoneinfo/Mideast/*" +RPROVIDES_tzdata-asia = "tzdata-asia" + +FILES_tzdata-atlantic += "${datadir}/zoneinfo/Atlantic/*" +RPROVIDES_tzdata-atlantic = "tzdata-atlantic" + +FILES_tzdata-australia += "${datadir}/zoneinfo/Australia/*" +RPROVIDES_tzdata-australia = "tzdata-australia" + +FILES_tzdata-europe += "${datadir}/zoneinfo/Europe/*" +RPROVIDES_tzdata-europe = "tzdata-europe" + +FILES_tzdata-pacific += "${datadir}/zoneinfo/Pacific/*" +RPROVIDES_tzdata-pacific = "tzdata-pacific" + +FILES_tzdata-posix += "${datadir}/zoneinfo/posix/*" +RPROVIDES_tzdata-posix = "tzdata-posix" + +FILES_tzdata-right += "${datadir}/zoneinfo/right/*" +RPROVIDES_tzdata-right = "tzdata-right" + + +FILES_tzdata-misc += "${datadir}/zoneinfo/Cuba \ + ${datadir}/zoneinfo/Egypt \ + ${datadir}/zoneinfo/Eire \ + ${datadir}/zoneinfo/Factory \ + ${datadir}/zoneinfo/GB-Eire \ + ${datadir}/zoneinfo/Hongkong \ + ${datadir}/zoneinfo/Iceland \ + ${datadir}/zoneinfo/Iran \ + ${datadir}/zoneinfo/Israel \ + ${datadir}/zoneinfo/Jamaica \ + ${datadir}/zoneinfo/Japan \ + ${datadir}/zoneinfo/Kwajalein \ + ${datadir}/zoneinfo/Libya \ + ${datadir}/zoneinfo/Navajo \ + ${datadir}/zoneinfo/Poland \ + ${datadir}/zoneinfo/Portugal \ + ${datadir}/zoneinfo/Singapore \ + ${datadir}/zoneinfo/Turkey" +RPROVIDES_tzdata-misc = "tzdata-misc" + + +FILES_${PN} += "${datadir}/zoneinfo/Pacific/Honolulu \ + ${datadir}/zoneinfo/America/Anchorage \ + ${datadir}/zoneinfo/America/Los_Angeles \ + ${datadir}/zoneinfo/America/Denver \ + ${datadir}/zoneinfo/America/Chicago \ + ${datadir}/zoneinfo/America/New_York \ + ${datadir}/zoneinfo/America/Caracas \ + ${datadir}/zoneinfo/America/Sao_Paulo \ + ${datadir}/zoneinfo/Europe/London \ + ${datadir}/zoneinfo/Europe/Paris \ + ${datadir}/zoneinfo/Africa/Cairo \ + ${datadir}/zoneinfo/Europe/Moscow \ + ${datadir}/zoneinfo/Asia/Dubai \ + ${datadir}/zoneinfo/Asia/Karachi \ + ${datadir}/zoneinfo/Asia/Dhaka \ + ${datadir}/zoneinfo/Asia/Bankok \ + ${datadir}/zoneinfo/Asia/Hong_Kong \ + ${datadir}/zoneinfo/Asia/Tokyo \ + ${datadir}/zoneinfo/Australia/Perth \ + ${datadir}/zoneinfo/Australia/Darwin \ + ${datadir}/zoneinfo/Australia/Adelaide \ + ${datadir}/zoneinfo/Australia/Brisbane \ + ${datadir}/zoneinfo/Australia/Sydney \ + ${datadir}/zoneinfo/Pacific/Noumea \ + ${datadir}/zoneinfo/CET \ + ${datadir}/zoneinfo/CST6CDT \ + ${datadir}/zoneinfo/EET \ + ${datadir}/zoneinfo/EST \ + ${datadir}/zoneinfo/EST5EDT \ + ${datadir}/zoneinfo/GB \ + ${datadir}/zoneinfo/GMT \ + ${datadir}/zoneinfo/GMT+0 \ + ${datadir}/zoneinfo/GMT-0 \ + ${datadir}/zoneinfo/GMT0 \ + ${datadir}/zoneinfo/Greenwich \ + ${datadir}/zoneinfo/HST \ + ${datadir}/zoneinfo/MET \ + ${datadir}/zoneinfo/MST \ + ${datadir}/zoneinfo/MST7MDT \ + ${datadir}/zoneinfo/NZ \ + ${datadir}/zoneinfo/NZ-CHAT \ + ${datadir}/zoneinfo/PRC \ + ${datadir}/zoneinfo/PST8PDT \ + ${datadir}/zoneinfo/ROC \ + ${datadir}/zoneinfo/ROK \ + ${datadir}/zoneinfo/UCT \ + ${datadir}/zoneinfo/UTC \ + ${datadir}/zoneinfo/Universal \ + ${datadir}/zoneinfo/W-SU \ + ${datadir}/zoneinfo/WET \ + ${datadir}/zoneinfo/Zulu \ + ${datadir}/zoneinfo/Etc/* \ + ${datadir}/zoneinfo/iso3166.tab \ + ${datadir}/zoneinfo/zone.tab \ + ${sysconfdir}/localtime \ + ${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 00000000000..c0f5291eecf --- /dev/null +++ b/meta-oe/recipes-extended/tzdata/tzdata_2011e.bb @@ -0,0 +1,13 @@ +require tzdata.inc + +LICENSE = "PD" +LIC_FILES_CHKSUM = "file://asia;beginline=2;endline=3;md5=06468c0e84ef4d4c97045a4a29b08234" + +# Note that elsie.nci.nih.gov removes old archives after a new one is +# released. So if this doesn't build for you because of missing source file +# just bump it to the latest available version, removing the old one + +PR = "${INC_PR}.0" + +SRC_URI[md5sum] = "044a07072300a0ee72b046e5a9a4ec90" +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 00000000000..b397ded5809 --- /dev/null +++ b/meta-oe/recipes-graphics/drm/libdrm-2.4.24/glamo.patch @@ -0,0 +1,1095 @@ +diff --git a/Makefile.am b/Makefile.am +index 25d1747..f384228 100644 +--- a/Makefile.am ++++ b/Makefile.am +@@ -41,7 +41,11 @@ if HAVE_RADEON + RADEON_SUBDIR = radeon + endif + +-SUBDIRS = . $(LIBKMS_SUBDIR) $(INTEL_SUBDIR) $(NOUVEAU_SUBDIR) $(RADEON_SUBDIR) tests include ++if HAVE_GLAMO ++GLAMO_SUBDIR = glamo ++endif ++ ++SUBDIRS = . $(LIBKMS_SUBDIR) $(INTEL_SUBDIR) $(NOUVEAU_SUBDIR) $(RADEON_SUBDIR) $(GLAMO_SUBDIR) tests include + + libdrm_la_LTLIBRARIES = libdrm.la + libdrm_ladir = $(libdir) +diff --git a/configure.ac b/configure.ac +index 62db817..0b2a33e 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -73,6 +73,11 @@ AC_ARG_ENABLE(nouveau-experimental-api, + [NOUVEAU=$enableval], [NOUVEAU=no]) + + ++AC_ARG_ENABLE(glamo-experimental-api, ++ AS_HELP_STRING([--enable-glamo-experimental-api], ++ [Enable support for Glamo's KMS API (default: disabled)]), ++ [GLAMO=$enableval], [GLAMO=no]) ++ + dnl =========================================================================== + dnl check compiler flags + AC_DEFUN([LIBDRM_CC_TRY_FLAG], [ +@@ -169,6 +174,11 @@ if test "x$NOUVEAU" = xyes; then + AC_DEFINE(HAVE_NOUVEAU, 1, [Have nouveau (nvidia) support]) + fi + ++AM_CONDITIONAL(HAVE_GLAMO, [test "x$GLAMO" = xyes]) ++if test "x$GLAMO" = xyes; then ++ AC_DEFINE(HAVE_GLAMO, 1, [Have glamo support]) ++fi ++ + PKG_CHECK_MODULES(CAIRO, cairo, [HAVE_CAIRO=yes], [HAVE_CAIRO=no]) + if test "x$HAVE_CAIRO" = xyes; then + AC_DEFINE(HAVE_CAIRO, 1, [Have cairo support]) +@@ -262,6 +272,8 @@ AC_OUTPUT([ + radeon/libdrm_radeon.pc + nouveau/Makefile + nouveau/libdrm_nouveau.pc ++ glamo/Makefile ++ glamo/libdrm_glamo.pc + tests/Makefile + tests/modeprint/Makefile + tests/modetest/Makefile +diff --git a/glamo/Makefile.am b/glamo/Makefile.am +new file mode 100644 +index 0000000..1f17aa3 +--- /dev/null ++++ b/glamo/Makefile.am +@@ -0,0 +1,52 @@ ++# Copyright (c) 2009 Thomas Whtie <taw@bitwiz.org.uk> ++# Based on libdrm-glamo Copyright © 2008 Jérôme Glisse ++# ++# Permission is hereby granted, free of charge, to any person obtaining a ++# copy of this software and associated documentation files (the "Software"), ++# to deal in the Software without restriction, including without limitation ++# the rights to use, copy, modify, merge, publish, distribute, sublicense, ++# and/or sell copies of the Software, and to permit persons to whom the ++# Software is furnished to do so, subject to the following conditions: ++# ++# The above copyright notice and this permission notice (including the next ++# paragraph) shall be included in all copies or substantial portions of the ++# Software. ++# ++# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR ++# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, ++# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL ++# THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER ++# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING ++# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS ++# IN THE SOFTWARE. ++# ++# Authors: ++# Jérôme Glisse <glisse@freedesktop.org> ++# Thomas White <taw@bitwiz.org.uk> ++ ++AM_CFLAGS = \ ++ $(WARN_CFLAGS) \ ++ -I$(top_srcdir) \ ++ -I$(top_srcdir)/glamo \ ++ $(PTHREADSTUBS_CFLAGS) \ ++ -I$(top_srcdir)/include/drm ++ ++libdrm_glamo_la_LTLIBRARIES = libdrm_glamo.la ++libdrm_glamo_ladir = $(libdir) ++libdrm_glamo_la_LDFLAGS = -version-number 1:0:0 -no-undefined ++libdrm_glamo_la_LIBADD = ../libdrm.la @PTHREADSTUBS_LIBS@ ++ ++libdrm_glamo_la_SOURCES = \ ++ glamo_bo_gem.c \ ++ glamo_track.c ++ ++libdrm_glamoincludedir = ${includedir}/libdrm ++libdrm_glamoinclude_HEADERS = \ ++ glamo_bo.h \ ++ glamo_bo_gem.h \ ++ glamo_track.h ++ ++pkgconfigdir = @pkgconfigdir@ ++pkgconfig_DATA = libdrm_glamo.pc ++ ++EXTRA_DIST = libdrm_glamo.pc.in +diff --git a/glamo/glamo_bo.h b/glamo/glamo_bo.h +new file mode 100644 +index 0000000..8ef2a18 +--- /dev/null ++++ b/glamo/glamo_bo.h +@@ -0,0 +1,183 @@ ++/* ++ * Copyright (c) 2009 Thomas White ++ * ++ * Heavily based on radeon_bo.h ++ * Copyright © 2008 Jérôme Glisse ++ * All Rights Reserved. ++ * ++ * Permission is hereby granted, free of charge, to any person obtaining ++ * a copy of this software and associated documentation files (the ++ * "Software"), to deal in the Software without restriction, including ++ * without limitation the rights to use, copy, modify, merge, publish, ++ * distribute, sub license, and/or sell copies of the Software, and to ++ * permit persons to whom the Software is furnished to do so, subject to ++ * the following conditions: ++ * ++ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, ++ * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES ++ * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND ++ * NON-INFRINGEMENT. IN NO EVENT SHALL THE COPYRIGHT HOLDERS, AUTHORS ++ * AND/OR ITS SUPPLIERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER ++ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ++ * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE ++ * USE OR OTHER DEALINGS IN THE SOFTWARE. ++ * ++ * The above copyright notice and this permission notice (including the ++ * next paragraph) shall be included in all copies or substantial portions ++ * of the Software. ++ */ ++/* ++ * Authors: ++ * Jérôme Glisse <glisse@freedesktop.org> ++ * Thomas White <taw@bitwiz.org.uk> ++ */ ++#ifndef GLAMO_BO_H ++#define GLAMO_BO_H ++ ++#include <stdio.h> ++#include <stdint.h> ++#include "glamo_track.h" ++ ++/* bo object */ ++#define GLAMO_BO_FLAGS_MACRO_TILE 1 ++#define GLAMO_BO_FLAGS_MICRO_TILE 2 ++ ++struct glamo_bo_manager; ++ ++struct glamo_bo { ++ uint32_t alignment; ++ uint32_t handle; ++ uint32_t size; ++ uint32_t domains; ++ uint32_t flags; ++ unsigned cref; ++#ifdef GLAMO_BO_TRACK ++ struct glamo_track *track; ++#endif ++ struct glamo_bo_manager *bom; ++ void *virtual; ++ uint32_t space_accounted; ++}; ++ ++/* bo functions */ ++struct glamo_bo_funcs { ++ struct glamo_bo *(*bo_open)(struct glamo_bo_manager *bom, ++ uint32_t handle, ++ uint32_t size, ++ uint32_t alignment, ++ uint32_t domains, ++ uint32_t flags); ++ void (*bo_ref)(struct glamo_bo *bo); ++ struct glamo_bo *(*bo_unref)(struct glamo_bo *bo); ++ int (*bo_map)(struct glamo_bo *bo, int write); ++ int (*bo_unmap)(struct glamo_bo *bo); ++ int (*bo_wait)(struct glamo_bo *bo); ++}; ++ ++struct glamo_bo_manager { ++ struct glamo_bo_funcs *funcs; ++ int fd; ++ struct glamo_tracker tracker; ++}; ++ ++static inline void _glamo_bo_debug(struct glamo_bo *bo, ++ const char *op, ++ const char *file, ++ const char *func, ++ int line) ++{ ++ fprintf(stderr, "%s %p 0x%08X 0x%08X 0x%08X [%s %s %d]\n", ++ op, (void *)bo, bo->handle, bo->size, bo->cref, file, func, line); ++} ++ ++static inline struct glamo_bo *_glamo_bo_open(struct glamo_bo_manager *bom, ++ uint32_t handle, ++ uint32_t size, ++ uint32_t alignment, ++ uint32_t domains, ++ uint32_t flags, ++ const char *file, ++ const char *func, ++ int line) ++{ ++ struct glamo_bo *bo; ++ ++ bo = bom->funcs->bo_open(bom, handle, size, alignment, domains, flags); ++#ifdef GLAMO_BO_TRACK ++ if (bo) { ++ bo->track = glamo_tracker_add_track(&bom->tracker, bo->handle); ++ glamo_track_add_event(bo->track, file, func, "open", line); ++ } ++#endif ++ return bo; ++} ++ ++static inline void _glamo_bo_ref(struct glamo_bo *bo, ++ const char *file, ++ const char *func, ++ int line) ++{ ++ bo->cref++; ++#ifdef GLAMO_BO_TRACK ++ glamo_track_add_event(bo->track, file, func, "ref", line); ++#endif ++ bo->bom->funcs->bo_ref(bo); ++} ++ ++static inline struct glamo_bo *_glamo_bo_unref(struct glamo_bo *bo, ++ const char *file, ++ const char *func, ++ int line) ++{ ++ bo->cref--; ++#ifdef GLAMO_BO_TRACK ++ glamo_track_add_event(bo->track, file, func, "unref", line); ++ if (bo->cref <= 0) { ++ glamo_tracker_remove_track(&bo->bom->tracker, bo->track); ++ bo->track = NULL; ++ } ++#endif ++ return bo->bom->funcs->bo_unref(bo); ++} ++ ++static inline int _glamo_bo_map(struct glamo_bo *bo, ++ int write, ++ const char *file, ++ const char *func, ++ int line) ++{ ++ return bo->bom->funcs->bo_map(bo, write); ++} ++ ++static inline int _glamo_bo_unmap(struct glamo_bo *bo, ++ const char *file, ++ const char *func, ++ int line) ++{ ++ return bo->bom->funcs->bo_unmap(bo); ++} ++ ++static inline int _glamo_bo_wait(struct glamo_bo *bo, ++ const char *file, ++ const char *func, ++ int line) ++{ ++ return bo->bom->funcs->bo_wait(bo); ++} ++ ++#define glamo_bo_open(bom, h, s, a, d, f)\ ++ _glamo_bo_open(bom, h, s, a, d, f, __FILE__, __FUNCTION__, __LINE__) ++#define glamo_bo_ref(bo)\ ++ _glamo_bo_ref(bo, __FILE__, __FUNCTION__, __LINE__) ++#define glamo_bo_unref(bo)\ ++ _glamo_bo_unref(bo, __FILE__, __FUNCTION__, __LINE__) ++#define glamo_bo_map(bo, w)\ ++ _glamo_bo_map(bo, w, __FILE__, __FUNCTION__, __LINE__) ++#define glamo_bo_unmap(bo)\ ++ _glamo_bo_unmap(bo, __FILE__, __FUNCTION__, __LINE__) ++#define glamo_bo_debug(bo, opcode)\ ++ _glamo_bo_debug(bo, opcode, __FILE__, __FUNCTION__, __LINE__) ++#define glamo_bo_wait(bo) \ ++ _glamo_bo_wait(bo, __FILE__, __func__, __LINE__) ++ ++#endif +diff --git a/glamo/glamo_bo_gem.c b/glamo/glamo_bo_gem.c +new file mode 100644 +index 0000000..38a4436 +--- /dev/null ++++ b/glamo/glamo_bo_gem.c +@@ -0,0 +1,336 @@ ++/* ++ * Copyright © 2009 Thomas White ++ * ++ * Based on radeon_bo_gem.c, to which the following notice applies: ++ * ++ * Copyright © 2008 Dave Airlie ++ * Copyright © 2008 Jérôme Glisse ++ * All Rights Reserved. ++ * ++ * Permission is hereby granted, free of charge, to any person obtaining ++ * a copy of this software and associated documentation files (the ++ * "Software"), to deal in the Software without restriction, including ++ * without limitation the rights to use, copy, modify, merge, publish, ++ * distribute, sub license, and/or sell copies of the Software, and to ++ * permit persons to whom the Software is furnished to do so, subject to ++ * the following conditions: ++ * ++ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, ++ * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES ++ * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND ++ * NON-INFRINGEMENT. IN NO EVENT SHALL THE COPYRIGHT HOLDERS, AUTHORS ++ * AND/OR ITS SUPPLIERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER ++ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ++ * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE ++ * USE OR OTHER DEALINGS IN THE SOFTWARE. ++ * ++ * The above copyright notice and this permission notice (including the ++ * next paragraph) shall be included in all copies or substantial portions ++ * of the Software. ++ */ ++/* ++ * Authors: ++ * Dave Airlie ++ * Jérôme Glisse <glisse@freedesktop.org> ++ * ++ * ++ * Memory mapping functions are based on intel_bufmgr_gem.c, to which the ++ * following notice applies: ++ * ++ * Copyright © 2007 Red Hat Inc. ++ * Copyright © 2007 Intel Corporation ++ * Copyright 2006 Tungsten Graphics, Inc., Bismarck, ND., USA ++ * All Rights Reserved. ++ * ++ * Permission is hereby granted, free of charge, to any person obtaining a ++ * copy of this software and associated documentation files (the ++ * "Software"), to deal in the Software without restriction, including ++ * without limitation the rights to use, copy, modify, merge, publish, ++ * distribute, sub license, and/or sell copies of the Software, and to ++ * permit persons to whom the Software is furnished to do so, subject to ++ * the following conditions: ++ * ++ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR ++ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, ++ * FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL ++ * THE COPYRIGHT HOLDERS, AUTHORS AND/OR ITS SUPPLIERS BE LIABLE FOR ANY CLAIM, ++ * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR ++ * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE ++ * USE OR OTHER DEALINGS IN THE SOFTWARE. ++ * ++ * The above copyright notice and this permission notice (including the ++ * next paragraph) shall be included in all copies or substantial portions ++ * of the Software. ++ * ++ * ++ **************************************************************************/ ++/* ++ * Authors: Thomas Hellström <thomas-at-tungstengraphics-dot-com> ++ * Keith Whitwell <keithw-at-tungstengraphics-dot-com> ++ * Eric Anholt <eric@anholt.net> ++ * Dave Airlie <airlied@linux.ie> ++ */ ++ ++#ifdef HAVE_CONFIG_H ++#include "config.h" ++#endif ++ ++#include <stdio.h> ++#include <stdint.h> ++#include <stdlib.h> ++#include <string.h> ++#include <sys/mman.h> ++#include <sys/ioctl.h> ++#include <errno.h> ++ ++#include "xf86drm.h" ++#include "drm.h" ++#include "glamo_drm.h" ++#include "glamo_bo.h" ++#include "glamo_bo_gem.h" ++ ++struct glamo_bo_gem { ++ struct glamo_bo base; ++ uint32_t name; ++ int map_count; ++}; ++ ++struct bo_manager_gem { ++ struct glamo_bo_manager base; ++}; ++ ++static struct glamo_bo *bo_open(struct glamo_bo_manager *bom, ++ uint32_t handle, ++ uint32_t size, ++ uint32_t alignment, ++ uint32_t domains, ++ uint32_t flags) ++{ ++ struct glamo_bo_gem *bo; ++ int r; ++ ++ bo = (struct glamo_bo_gem*)calloc(1, sizeof(struct glamo_bo_gem)); ++ if (bo == NULL) { ++ return NULL; ++ } ++ ++ bo->base.bom = bom; ++ bo->base.handle = 0; ++ bo->base.size = size; ++ bo->base.alignment = alignment; ++ bo->base.domains = domains; ++ bo->base.flags = flags; ++ bo->base.cref = 0; ++ bo->map_count = 0; ++ bo->base.virtual = NULL; ++ if (handle) { ++ struct drm_gem_open open_arg; ++ ++ memset(&open_arg, 0, sizeof(open_arg)); ++ open_arg.name = handle; ++ r = ioctl(bom->fd, DRM_IOCTL_GEM_OPEN, &open_arg); ++ if (r != 0) { ++ free(bo); ++ return NULL; ++ } ++ bo->base.handle = open_arg.handle; ++ bo->base.size = open_arg.size; ++ bo->name = handle; ++ } else { ++ struct drm_glamo_gem_create args; ++ ++ args.size = size; ++ args.alignment = alignment; ++ args.initial_domain = bo->base.domains; ++ args.no_backing_store = 0; ++ args.handle = 0; ++ r = drmCommandWriteRead(bom->fd, DRM_GLAMO_GEM_CREATE, ++ &args, sizeof(args)); ++ bo->base.handle = args.handle; ++ if (r) { ++ fprintf(stderr, "Failed to allocate :\n"); ++ fprintf(stderr, " size : %d bytes\n", size); ++ fprintf(stderr, " alignment : %d bytes\n", alignment); ++ free(bo); ++ return NULL; ++ } ++ } ++ glamo_bo_ref((struct glamo_bo*)bo); ++ return (struct glamo_bo*)bo; ++} ++ ++static void bo_ref(struct glamo_bo *bo) ++{ ++} ++ ++static struct glamo_bo *bo_unref(struct glamo_bo *bo) ++{ ++ struct glamo_bo_gem *bo_gem = (struct glamo_bo_gem*)bo; ++ struct drm_gem_close args; ++ ++ if (bo == NULL) { ++ return NULL; ++ } ++ if (bo->cref) { ++ return bo; ++ } ++ if (bo_gem->map_count) { ++ munmap(bo->virtual, bo->size); ++ } ++ ++ /* close object */ ++ args.handle = bo->handle; ++ ioctl(bo->bom->fd, DRM_IOCTL_GEM_CLOSE, &args); ++ memset(bo_gem, 0, sizeof(struct glamo_bo_gem)); ++ free(bo_gem); ++ return NULL; ++} ++ ++static int bo_map(struct glamo_bo *bo, int write) ++{ ++ struct glamo_bo_gem *bo_gem; ++ struct glamo_bo_manager *bufmgr; ++ int ret; ++ ++ bo_gem = (struct glamo_bo_gem *)bo; ++ bufmgr = (struct glamo_bo_manager*)bo->bom; ++ ++ /* Get a mapping of the buffer if we haven't before. */ ++ if (bo->virtual == NULL) { ++ ++ struct drm_glamo_gem_mmap mmap_arg; ++ ++ memset(&mmap_arg, 0, sizeof(mmap_arg)); ++ mmap_arg.handle = bo->handle; ++ ++ /* Get the fake offset back... */ ++ ret = ioctl(bufmgr->fd, DRM_IOCTL_GLAMO_GEM_MMAP, &mmap_arg); ++ if (ret != 0) { ++ fprintf(stderr, ++ "%s:%d: Error preparing BO map %d (%d): %s .\n", ++ __FILE__, __LINE__, ++ bo->handle, bo_gem->name, ++ strerror(errno)); ++ return ret; ++ } ++ /* and mmap it */ ++ bo->virtual = mmap(0, bo->size, PROT_READ | PROT_WRITE, ++ MAP_SHARED, bufmgr->fd, ++ mmap_arg.offset); ++ if (bo->virtual == MAP_FAILED) { ++ fprintf(stderr, ++ "%s:%d: Error mapping buffer %d (%d): %s .\n", ++ __FILE__, __LINE__, ++ bo->handle, bo_gem->name, ++ strerror(errno)); ++ return errno; ++ } ++ } ++ bo_gem->map_count++; ++ ++ return 0; ++} ++ ++static int bo_unmap(struct glamo_bo *bo) ++{ ++ struct glamo_bo_gem *bo_gem = (struct glamo_bo_gem*)bo; ++ ++ if ( bo_gem->map_count == 0 ) { ++ fprintf(stderr, "Not unmapping %p, because its map count" ++ " is already zero.\n", bo_gem); ++ return 0; ++ } ++ ++ if (--bo_gem->map_count > 0) { ++ return 0; ++ } ++ munmap(bo->virtual, bo->size); ++ bo->virtual = NULL; ++ return 0; ++} ++ ++static int bo_wait(struct glamo_bo *bo) ++{ ++ struct drm_glamo_gem_wait_rendering args; ++ int ret; ++ ++ args.handle = bo->handle; ++ args.have_handle = 1; ++ do { ++ ret = drmCommandWriteRead(bo->bom->fd, ++ DRM_GLAMO_GEM_WAIT_RENDERING, ++ &args, sizeof(args)); ++ } while (ret == -EAGAIN); ++ return ret; ++} ++ ++static struct glamo_bo_funcs bo_gem_funcs = { ++ bo_open, ++ bo_ref, ++ bo_unref, ++ bo_map, ++ bo_unmap, ++ bo_wait ++}; ++ ++struct glamo_bo_manager *glamo_bo_manager_gem_ctor(int fd) ++{ ++ struct bo_manager_gem *bomg; ++ ++ bomg = (struct bo_manager_gem*)calloc(1, sizeof(struct bo_manager_gem)); ++ if (bomg == NULL) return NULL; ++ ++ bomg->base.funcs = &bo_gem_funcs; ++ bomg->base.fd = fd; ++ return (struct glamo_bo_manager*)bomg; ++} ++ ++void glamo_bo_manager_gem_dtor(struct glamo_bo_manager *bom) ++{ ++ struct bo_manager_gem *bomg = (struct bo_manager_gem*)bom; ++ ++ if (bom == NULL) return; ++ free(bomg); ++} ++ ++uint32_t glamo_gem_get_name(struct glamo_bo *bo) ++{ ++ struct glamo_bo_gem *bo_gem = (struct glamo_bo_gem*)bo; ++ return bo_gem->name; ++} ++ ++int glamo_gem_name_buffer(struct glamo_bo *bo, uint32_t *name) ++{ ++ struct drm_gem_flink flink; ++ int r; ++ ++ if ( !bo ) { ++ fprintf(stderr, "No buffer object!\n"); ++ return -1; ++ } ++ ++ flink.handle = bo->handle; ++ r = ioctl(bo->bom->fd, DRM_IOCTL_GEM_FLINK, &flink); ++ if (r) return r; ++ ++ *name = flink.name; ++ return 0; ++} ++ ++int glamo_bo_subdata(struct glamo_bo *bo, unsigned long offset, ++ unsigned long size, const void *data) ++{ ++ int ret; ++ ++ if (size == 0 || data == NULL) ++ return 0; ++ ++ ret = bo_map(bo, 1); ++ if ( ret ) return ret; ++ ++ memcpy((unsigned char *)bo->virtual + offset, data, size); ++ ++ bo_unmap(bo); ++ ++ return 0; ++} +diff --git a/glamo/glamo_bo_gem.h b/glamo/glamo_bo_gem.h +new file mode 100644 +index 0000000..05b5fb9 +--- /dev/null ++++ b/glamo/glamo_bo_gem.h +@@ -0,0 +1,43 @@ ++/* ++ * Copyright © 2008 Dave Airlie ++ * Copyright © 2008 Jérôme Glisse ++ * All Rights Reserved. ++ * ++ * Permission is hereby granted, free of charge, to any person obtaining ++ * a copy of this software and associated documentation files (the ++ * "Software"), to deal in the Software without restriction, including ++ * without limitation the rights to use, copy, modify, merge, publish, ++ * distribute, sub license, and/or sell copies of the Software, and to ++ * permit persons to whom the Software is furnished to do so, subject to ++ * the following conditions: ++ * ++ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, ++ * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES ++ * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND ++ * NON-INFRINGEMENT. IN NO EVENT SHALL THE COPYRIGHT HOLDERS, AUTHORS ++ * AND/OR ITS SUPPLIERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER ++ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ++ * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE ++ * USE OR OTHER DEALINGS IN THE SOFTWARE. ++ * ++ * The above copyright notice and this permission notice (including the ++ * next paragraph) shall be included in all copies or substantial portions ++ * of the Software. ++ */ ++/* ++ * Authors: ++ * Dave Airlie ++ * Jérôme Glisse <glisse@freedesktop.org> ++ */ ++#ifndef GLAMO_BO_GEM_H ++#define GLAMO_BO_GEM_H ++ ++#include "glamo_bo.h" ++ ++struct glamo_bo_manager *glamo_bo_manager_gem_ctor(int fd); ++void glamo_bo_manager_gem_dtor(struct glamo_bo_manager *bom); ++int glamo_gem_name_buffer(struct glamo_bo *bo, uint32_t *name); ++uint32_t glamo_gem_get_name(struct glamo_bo *bo); ++extern int glamo_bo_subdata(struct glamo_bo *bo, unsigned long offset, ++ unsigned long size, const void *data); ++#endif +diff --git a/glamo/glamo_track.c b/glamo/glamo_track.c +new file mode 100644 +index 0000000..27ffe41 +--- /dev/null ++++ b/glamo/glamo_track.c +@@ -0,0 +1,140 @@ ++/* ++ * Copyright © 2008 Jérôme Glisse ++ * All Rights Reserved. ++ * ++ * Permission is hereby granted, free of charge, to any person obtaining ++ * a copy of this software and associated documentation files (the ++ * "Software"), to deal in the Software without restriction, including ++ * without limitation the rights to use, copy, modify, merge, publish, ++ * distribute, sub license, and/or sell copies of the Software, and to ++ * permit persons to whom the Software is furnished to do so, subject to ++ * the following conditions: ++ * ++ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, ++ * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES ++ * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND ++ * NON-INFRINGEMENT. IN NO EVENT SHALL THE COPYRIGHT HOLDERS, AUTHORS ++ * AND/OR ITS SUPPLIERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER ++ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ++ * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE ++ * USE OR OTHER DEALINGS IN THE SOFTWARE. ++ * ++ * The above copyright notice and this permission notice (including the ++ * next paragraph) shall be included in all copies or substantial portions ++ * of the Software. ++ */ ++/* ++ * Authors: ++ * Jérôme Glisse <glisse@freedesktop.org> ++ */ ++#include <stdio.h> ++#include <stdlib.h> ++#include <string.h> ++#include "glamo_track.h" ++ ++void glamo_track_add_event(struct glamo_track *track, ++ const char *file, ++ const char *func, ++ const char *op, ++ unsigned line) ++{ ++ struct glamo_track_event *event; ++ ++ if (track == NULL) { ++ return; ++ } ++ event = (void*)calloc(1,sizeof(struct glamo_track_event)); ++ if (event == NULL) { ++ return; ++ } ++ event->line = line; ++ event->file = strdup(file); ++ event->func = strdup(func); ++ event->op = strdup(op); ++ if (event->file == NULL || event->func == NULL || event->op == NULL) { ++ free(event->file); ++ free(event->func); ++ free(event->op); ++ free(event); ++ return; ++ } ++ event->next = track->events; ++ track->events = event; ++} ++ ++struct glamo_track *glamo_tracker_add_track(struct glamo_tracker *tracker, ++ unsigned key) ++{ ++ struct glamo_track *track; ++ ++ track = (struct glamo_track*)calloc(1, sizeof(struct glamo_track)); ++ if (track) { ++ track->next = tracker->tracks.next; ++ track->prev = &tracker->tracks; ++ tracker->tracks.next = track; ++ if (track->next) { ++ track->next->prev = track; ++ } ++ track->key = key; ++ track->events = NULL; ++ } ++ return track; ++} ++ ++void glamo_tracker_remove_track(struct glamo_tracker *tracker, ++ struct glamo_track *track) ++{ ++ struct glamo_track_event *event; ++ void *tmp; ++ ++ if (track == NULL) { ++ return; ++ } ++ track->prev->next = track->next; ++ if (track->next) { ++ track->next->prev = track->prev; ++ } ++ track->next = track->prev = NULL; ++ event = track->events; ++ while (event) { ++ tmp = event; ++ free(event->file); ++ free(event->func); ++ free(event->op); ++ event = event->next; ++ free(tmp); ++ } ++ track->events = NULL; ++ free(track); ++} ++ ++void glamo_tracker_print(struct glamo_tracker *tracker, FILE *file) ++{ ++ struct glamo_track *track; ++ struct glamo_track_event *event; ++ void *tmp; ++ ++ track = tracker->tracks.next; ++ while (track) { ++ event = track->events; ++ fprintf(file, "[0x%08X] :\n", track->key); ++ while (event) { ++ tmp = event; ++ fprintf(file, " [0x%08X:%s](%s:%s:%d)\n", ++ track->key, event->op, event->file, ++ event->func, event->line); ++ free(event->file); ++ free(event->func); ++ free(event->op); ++ event->file = NULL; ++ event->func = NULL; ++ event->op = NULL; ++ event = event->next; ++ free(tmp); ++ } ++ track->events = NULL; ++ tmp = track; ++ track = track->next; ++ free(tmp); ++ } ++} +diff --git a/glamo/glamo_track.h b/glamo/glamo_track.h +new file mode 100644 +index 0000000..fedead7 +--- /dev/null ++++ b/glamo/glamo_track.h +@@ -0,0 +1,64 @@ ++/* ++ * Copyright © 2008 Jérôme Glisse ++ * All Rights Reserved. ++ * ++ * Permission is hereby granted, free of charge, to any person obtaining ++ * a copy of this software and associated documentation files (the ++ * "Software"), to deal in the Software without restriction, including ++ * without limitation the rights to use, copy, modify, merge, publish, ++ * distribute, sub license, and/or sell copies of the Software, and to ++ * permit persons to whom the Software is furnished to do so, subject to ++ * the following conditions: ++ * ++ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, ++ * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES ++ * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND ++ * NON-INFRINGEMENT. IN NO EVENT SHALL THE COPYRIGHT HOLDERS, AUTHORS ++ * AND/OR ITS SUPPLIERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER ++ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ++ * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE ++ * USE OR OTHER DEALINGS IN THE SOFTWARE. ++ * ++ * The above copyright notice and this permission notice (including the ++ * next paragraph) shall be included in all copies or substantial portions ++ * of the Software. ++ */ ++/* ++ * Authors: ++ * Jérôme Glisse <glisse@freedesktop.org> ++ */ ++#ifndef GLAMO_TRACK_H ++#define GLAMO_TRACK_H ++ ++struct glamo_track_event { ++ struct glamo_track_event *next; ++ char *file; ++ char *func; ++ char *op; ++ unsigned line; ++}; ++ ++struct glamo_track { ++ struct glamo_track *next; ++ struct glamo_track *prev; ++ unsigned key; ++ struct glamo_track_event *events; ++}; ++ ++struct glamo_tracker { ++ struct glamo_track tracks; ++}; ++ ++void glamo_track_add_event(struct glamo_track *track, ++ const char *file, ++ const char *func, ++ const char *op, ++ unsigned line); ++struct glamo_track *glamo_tracker_add_track(struct glamo_tracker *tracker, ++ unsigned key); ++void glamo_tracker_remove_track(struct glamo_tracker *tracker, ++ struct glamo_track *track); ++void glamo_tracker_print(struct glamo_tracker *tracker, ++ FILE *file); ++ ++#endif +diff --git a/glamo/libdrm_glamo.pc.in b/glamo/libdrm_glamo.pc.in +new file mode 100644 +index 0000000..d4d8e70 +--- /dev/null ++++ b/glamo/libdrm_glamo.pc.in +@@ -0,0 +1,10 @@ ++prefix=@prefix@ ++exec_prefix=@exec_prefix@ ++libdir=@libdir@ ++includedir=@includedir@ ++ ++Name: libdrm_glamo ++Description: Userspace interface to kernel DRM services for Glamo ++Version: 1.0.1 ++Libs: -L${libdir} -ldrm_glamo ++Cflags: -I${includedir} -I${includedir}/libdrm +diff --git a/include/drm/Makefile.am b/include/drm/Makefile.am +index 43695bd..f3f7edf 100644 +--- a/include/drm/Makefile.am ++++ b/include/drm/Makefile.am +@@ -35,6 +35,7 @@ klibdrminclude_HEADERS = \ + savage_drm.h \ + sis_drm.h \ + via_drm.h \ ++ glamo_drm.h \ + mach64_drm.h + + +diff --git a/include/drm/glamo_drm.h b/include/drm/glamo_drm.h +new file mode 100644 +index 0000000..7629ebc +--- /dev/null ++++ b/include/drm/glamo_drm.h +@@ -0,0 +1,153 @@ ++/* glamo_drm.h -- Public header for the Glamo driver ++ * ++ * Copyright 2009 Thomas White ++ * Copyright 2000 Precision Insight, Inc., Cedar Park, Texas. ++ * Copyright 2000 VA Linux Systems, Inc., Fremont, California. ++ * Copyright 2002 Tungsten Graphics, Inc., Cedar Park, Texas. ++ * All rights reserved. ++ * ++ * Permission is hereby granted, free of charge, to any person obtaining a ++ * copy of this software and associated documentation files (the "Software"), ++ * to deal in the Software without restriction, including without limitation ++ * the rights to use, copy, modify, merge, publish, distribute, sublicense, ++ * and/or sell copies of the Software, and to permit persons to whom the ++ * Software is furnished to do so, subject to the following conditions: ++ * ++ * The above copyright notice and this permission notice (including the next ++ * paragraph) shall be included in all copies or substantial portions of the ++ * Software. ++ * ++ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR ++ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, ++ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL ++ * PRECISION INSIGHT AND/OR ITS SUPPLIERS BE LIABLE FOR ANY CLAIM, DAMAGES OR ++ * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ++ * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER ++ * DEALINGS IN THE SOFTWARE. ++ * ++ * Authors: ++ * Thomas White <taw@bitwiz.org.uk> ++ * Kevin E. Martin <martin@valinux.com> ++ * Gareth Hughes <gareth@valinux.com> ++ * Keith Whitwell <keith@tungstengraphics.com> ++ */ ++ ++#ifndef __GLAMO_DRM_H__ ++#define __GLAMO_DRM_H__ ++ ++#include "drm.h" ++ ++#define GLAMO_GEM_DOMAIN_VRAM (0x1) ++ ++/* Glamo specific ioctls */ ++#define DRM_GLAMO_CMDBUF 0x01 ++#define DRM_GLAMO_SWAP 0x02 ++#define DRM_GLAMO_CMDBURST 0x03 ++ ++#define DRM_GLAMO_GEM_INFO 0x1c ++#define DRM_GLAMO_GEM_CREATE 0x1d ++#define DRM_GLAMO_GEM_MMAP 0x1e ++#define DRM_GLAMO_GEM_PIN 0x1f ++#define DRM_GLAMO_GEM_UNPIN 0x20 ++#define DRM_GLAMO_GEM_PREAD 0x21 ++#define DRM_GLAMO_GEM_PWRITE 0x22 ++#define DRM_GLAMO_GEM_WAIT_RENDERING 0x24 ++ ++#define DRM_IOCTL_GLAMO_CMDBUF DRM_IOW(DRM_COMMAND_BASE + DRM_GLAMO_CMDBUF, drm_glamo_cmd_buffer_t) ++#define DRM_IOCTL_GLAMO_SWAP DRM_IO(DRM_COMMAND_BASE + DRM_GLAMO_SWAP) ++#define DRM_IOCTL_GLAMO_CMDBURST DRM_IOW(DRM_COMMAND_BASE + DRM_GLAMO_CMDBURST, drm_glamo_cmd_burst_t) ++ ++#define DRM_IOCTL_GLAMO_GEM_INFO DRM_IOWR(DRM_COMMAND_BASE + DRM_GLAMO_GEM_INFO, struct drm_glamo_gem_info) ++#define DRM_IOCTL_GLAMO_GEM_CREATE DRM_IOWR(DRM_COMMAND_BASE + DRM_GLAMO_GEM_CREATE, struct drm_glamo_gem_create) ++#define DRM_IOCTL_GLAMO_GEM_MMAP DRM_IOWR(DRM_COMMAND_BASE + DRM_GLAMO_GEM_MMAP, struct drm_glamo_gem_mmap) ++#define DRM_IOCTL_GLAMO_GEM_PIN DRM_IOWR(DRM_COMMAND_BASE + DRM_GLAMO_GEM_PIN, struct drm_glamo_gem_pin) ++#define DRM_IOCTL_GLAMO_GEM_UNPIN DRM_IOWR(DRM_COMMAND_BASE + DRM_GLAMO_GEM_UNPIN, struct drm_glamo_gem_unpin) ++#define DRM_IOCTL_GLAMO_GEM_PREAD DRM_IOWR(DRM_COMMAND_BASE + DRM_GLAMO_GEM_PREAD, struct drm_glamo_gem_pread) ++#define DRM_IOCTL_GLAMO_GEM_PWRITE DRM_IOWR(DRM_COMMAND_BASE + DRM_GLAMO_GEM_PWRITE, struct drm_glamo_gem_pwrite) ++#define DRM_IOCTL_GLAMO_GEM_WAIT_RENDERING DRM_IOW(DRM_COMMAND_BASE + DRM_GLAMO_GEM_WAIT_RENDERING, struct drm_glamo_gem_wait_rendering) ++ ++ ++/* Simple command submission - a list of 16-bit address-data pairs */ ++typedef struct drm_glamo_cmd_buffer { ++ unsigned int bufsz; /* Size of buffer, in bytes */ ++ char *buf; /* Buffer of stuff to go onto the ring buffer */ ++ unsigned int *obj_pos; /* Offsets (in bytes) at which to put objs */ ++ uint32_t *objs; /* List of buffer object (handles) to use */ ++ unsigned int nobjs; /* Number of objects referenced */ ++ int nbox; ++ struct drm_clip_rect *boxes; ++} drm_glamo_cmd_buffer_t; ++ ++ ++/* Burst command submission - base address and data: ++ * - Data can be 32-bit (more easily) ++ * - Easier for the kernel to validate */ ++typedef struct drm_glamo_cmd_burst { ++ uint16_t base; /* Base address (command) */ ++ int bufsz; /* Size of data, in bytes */ ++ uint16_t *data; /* Pointer to data */ ++ unsigned int *obj_pos; /* Offsets (in bytes) at which to put objs */ ++ uint32_t *objs; /* List of buffer object (handles) to use */ ++ unsigned int nobjs; /* Number of objects referenced */ ++} drm_glamo_cmd_burst_t; ++ ++struct drm_glamo_gem_info { ++ uint64_t vram_start; ++ uint64_t vram_size; ++}; ++ ++struct drm_glamo_gem_create { ++ uint64_t size; ++ uint64_t alignment; ++ uint32_t handle; ++ uint32_t initial_domain; // to allow VRAM to be created ++ uint32_t no_backing_store; ++}; ++ ++struct drm_glamo_gem_mmap { ++ uint32_t handle; /* Handle goes in... */ ++ uint64_t offset; /* ...offset comes out */ ++}; ++ ++struct drm_glamo_gem_wait_rendering { ++ uint32_t handle; ++ int have_handle; ++}; ++ ++struct drm_glamo_gem_pin { ++ uint32_t handle; ++ uint32_t pin_domain; ++ uint64_t alignment; ++ uint64_t offset; ++}; ++ ++struct drm_glamo_gem_unpin { ++ uint32_t handle; ++ uint32_t pad; ++}; ++ ++struct drm_glamo_gem_pread { ++ /** Handle for the object being read. */ ++ uint32_t handle; ++ uint32_t pad; ++ /** Offset into the object to read from */ ++ uint64_t offset; ++ /** Length of data to read */ ++ uint64_t size; ++ /** Pointer to write the data into. */ ++ uint64_t data_ptr; /* void *, but pointers are not 32/64 compatible */ ++}; ++ ++struct drm_glamo_gem_pwrite { ++ /** Handle for the object being written to. */ ++ uint32_t handle; ++ uint32_t pad; ++ /** Offset into the object to write to */ ++ uint64_t offset; ++ /** Length of data to write */ ++ uint64_t size; ++ /** Pointer to read the data from. */ ++ uint64_t data_ptr; /* void *, but pointers are not 32/64 compatible */ ++}; ++ ++#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 00000000000..9d6a168bbca --- /dev/null +++ b/meta-oe/recipes-graphics/drm/libdrm-2.4.24/installtests.patch @@ -0,0 +1,43 @@ +Index: libdrm-2.4.7/tests/Makefile.am +=================================================================== +--- libdrm-2.4.7.orig/tests/Makefile.am 2009-04-09 20:16:35.000000000 +0100 ++++ libdrm-2.4.7/tests/Makefile.am 2009-04-17 12:35:14.000000000 +0100 +@@ -6,10 +6,11 @@ + + LDADD = $(top_builddir)/libdrm.la + +-check_PROGRAMS = \ ++bin_PROGRAMS = \ + dristat \ + drmstat + ++check_PROGRAMS = + SUBDIRS = + + if HAVE_LIBKMS +Index: libdrm-2.4.7/tests/modeprint/Makefile.am +=================================================================== +--- libdrm-2.4.7.orig/tests/modeprint/Makefile.am 2009-02-17 19:52:37.000000000 +0000 ++++ libdrm-2.4.7/tests/modeprint/Makefile.am 2009-04-17 12:35:32.000000000 +0100 +@@ -3,7 +3,7 @@ + -I$(top_srcdir)/libdrm/intel/ \ + -I$(top_srcdir)/libdrm + +-noinst_PROGRAMS = \ ++bin_PROGRAMS = \ + modeprint + + modeprint_SOURCES = \ +Index: libdrm-2.4.7/tests/modetest/Makefile.am +=================================================================== +--- libdrm-2.4.7.orig/tests/modetest/Makefile.am 2009-02-17 19:52:37.000000000 +0000 ++++ libdrm-2.4.7/tests/modetest/Makefile.am 2009-04-17 12:35:42.000000000 +0100 +@@ -4,7 +4,7 @@ + -I$(top_srcdir)/libdrm \ + $(CAIRO_CFLAGS) + +-noinst_PROGRAMS = \ ++bin_PROGRAMS = \ + modetest + + 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 00000000000..0a2365ec34d --- /dev/null +++ b/meta-oe/recipes-graphics/drm/libdrm_2.4.24.bb @@ -0,0 +1,39 @@ +SUMMARY = "Userspace interface to the kernel DRM services" +DESCRIPTION = "The runtime library for accessing the kernel DRM services. DRM \ +stands for \"Direct Rendering Manager\", which is the kernel portion of the \ +\"Direct Rendering Infrastructure\" (DRI). DRI is required for many hardware \ +accelerated OpenGL drivers." +HOMEPAGE = "http://dri.freedesktop.org" +SECTION = "x11/base" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://xf86drm.c;beginline=9;endline=32;md5=c8a3b961af7667c530816761e949dc71" +SRC_URI = "http://dri.freedesktop.org/libdrm/libdrm-${PV}.tar.bz2" +PROVIDES = "drm" +DEPENDS = "libpthread-stubs udev cairo virtual/libx11" + +inherit autotools pkgconfig + +PACKAGES =+ "${PN}-tests ${PN}-drivers ${PN}-kms ${@base_contains('MACHINE_FEATURES', 'x86', '${PN}-intel', '',d)}" +FILES_${PN}-tests = "${bindir}/dr* ${bindir}/mode*" +FILES_${PN}-drivers = "${libdir}/libdrm_*.so.*" +FILES_${PN}-intel = "${libdir}/libdrm_intel.so.*" +FILES_${PN}-kms = "${libdir}/libkms*.so.*" + +LEAD_SONAME = "libdrm.so" + +EXTRA_OECONF_append = " ${@base_contains('MACHINE_FEATURES', 'x86', '', '--disable-intel --disable-radeon',d)}" +EXTRA_OECONF_append_shr = " --enable-glamo-experimental-api" + +PR = "r8" + +SRC_URI += "file://installtests.patch" +SRC_URI += "file://glamo.patch" + +SRC_URI[md5sum] = "8d802bf3b368f9fac0d7d17516a9436f" +SRC_URI[sha256sum] = "c7012381f64458af9f291d913309448aac7dd23a28dc86c6970e4bf38effb6a5" + +do_compile_prepend_libc-uclibc() { + eval "${@base_contains('DISTRO_FEATURES', 'largefile', '', 'sed -i -e "/_FILE_OFFSET_BITS/d" ${S}/libkms/intel.c', d)}" + eval "${@base_contains('DISTRO_FEATURES', 'largefile', '', 'sed -i -e "/_FILE_OFFSET_BITS/d" ${S}/libkms/vmwgfx.c', d)}" + eval "${@base_contains('DISTRO_FEATURES', 'largefile', '', 'sed -i -e "/_FILE_OFFSET_BITS/d" ${S}/libkms/nouveau.c', d)}" +} diff --git a/meta-oe/recipes-graphics/mesa/README b/meta-oe/recipes-graphics/mesa/README new file mode 100644 index 00000000000..3c6de3ee424 --- /dev/null +++ b/meta-oe/recipes-graphics/mesa/README @@ -0,0 +1,12 @@ +mesa-common.inc +* Settings shared by ALL recipes + +mesa-${PV}.inc +* Settings for particular version, mostly checksums and additional patches +* Patches are stored mesa-${PV} dir and -dri and xlib has adjusted FILESPATHPKG + +mesa-dri.inc +* Setting shared by ALL dri recipes - defines what is mesa-dri + +mesa-xlib.inc +* 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 00000000000..f49f495988f --- /dev/null +++ b/meta-oe/recipes-graphics/mesa/mesa-7.10.2.inc @@ -0,0 +1,19 @@ +SRC_URI = "ftp://ftp.freedesktop.org/pub/mesa/${PV}/MesaLib-${PV}.tar.bz2;name=archive \ + file://glamo.patch \ + file://uclibc.patch \ + " + +DEPENDS += "talloc" + +SRC_URI[archive.md5sum] = "f5de82852f1243f42cc004039e10b771" +SRC_URI[archive.sha256sum] = "8ced2678ce11cf30804694a92ea3ca6b82f158ae8995bdc626c7e85aac71c7c1" + +EXTRA_OECONF += " --disable-gallium" + +#needs more testing and updated glamo.patch before making default +DEFAULT_PREFERENCE = "-2" + +do_configure_prepend() { + #check for python not python2, because python-native does not stage python2 binary/link + sed -i 's/AC_CHECK_PROGS(\[PYTHON2\], \[python2 python\])/AC_CHECK_PROGS(\[PYTHON2\], \[python python\])/g' ${S}/configure.ac +} 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 00000000000..5aa45d57efb --- /dev/null +++ b/meta-oe/recipes-graphics/mesa/mesa-7.10.2/glamo.patch @@ -0,0 +1,2425 @@ +git diff upstream/7.10 and gitorious/7.10 + +http://gitorious.org/mesa/mesa/commits/7.10 + +diff --git a/configs/autoconf.in b/configs/autoconf.in +index e2d70c6..5874955 100644 +--- a/configs/autoconf.in ++++ b/configs/autoconf.in +@@ -120,7 +120,7 @@ OSMESA_LIB_DEPS = -L$(TOP)/$(LIB_DIR) @OSMESA_MESA_DEPS@ \ + $(EXTRA_LIB_PATH) @OSMESA_LIB_DEPS@ + EGL_LIB_DEPS = $(EXTRA_LIB_PATH) @EGL_LIB_DEPS@ + GLU_LIB_DEPS = -L$(TOP)/$(LIB_DIR) @GLU_MESA_DEPS@ \ +- $(EXTRA_LIB_PATH) @GLU_LIB_DEPS@ ++ $(EXTRA_LIB_PATH) @GLU_LIB_DEPS@ -lstdc++ + GLUT_LIB_DEPS = -L$(TOP)/$(LIB_DIR) @GLUT_MESA_DEPS@ \ + $(EXTRA_LIB_PATH) @GLUT_LIB_DEPS@ + GLW_LIB_DEPS = -L$(TOP)/$(LIB_DIR) @GLW_MESA_DEPS@ \ +diff --git a/src/mesa/drivers/dri/glamo/Makefile b/src/mesa/drivers/dri/glamo/Makefile +new file mode 100644 +index 0000000..e77193d +--- /dev/null ++++ b/src/mesa/drivers/dri/glamo/Makefile +@@ -0,0 +1,22 @@ ++# src/mesa/drivers/dri/glamo/Makefile ++ ++TOP = ../../../../.. ++include $(TOP)/configs/current ++ ++LIBNAME = glamo_dri.so ++ ++DRIVER_SOURCES = \ ++ glamo_screen.c glamo_context.c glamo_state.c glamo_fbo.c glamo_tris.c \ ++ glamo_cmdq.c glamo_render.c ++ ++C_SOURCES = \ ++ $(COMMON_SOURCES) \ ++ $(DRIVER_SOURCES) ++ ++ASM_SOURCES = ++ ++DRI_LIB_DEPS += -ldrm_glamo ++ ++include ../Makefile.template ++ ++symlinks: +diff --git a/src/mesa/drivers/dri/glamo/glamo_cmdq.c b/src/mesa/drivers/dri/glamo/glamo_cmdq.c +new file mode 100644 +index 0000000..1334f8e +--- /dev/null ++++ b/src/mesa/drivers/dri/glamo/glamo_cmdq.c +@@ -0,0 +1,110 @@ ++/* ++ * Command queue submission via DRM ++ * ++ * Copyright 2009 Thomas White <taw@bitwiz.org.uk> ++ * ++ * This program is free software; you can redistribute it and/or ++ * modify it under the terms of the GNU General Public License as ++ * published by the Free Software Foundation; either version 2 of ++ * the License, or (at your option) any later version. ++ * ++ * This program is distributed in the hope that it will be useful, ++ * but WITHOUT ANY WARRANTY; without even the implied warranty of ++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++ * GNU General Public License for more details. ++ * ++ * You should have received a copy of the GNU General Public License ++ * along with this program; if not, write to the Free Software ++ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, ++ * MA 02111-1307 USA ++ */ ++ ++ ++#include <stdint.h> ++#include <stdlib.h> ++#include <drm.h> ++#include <glamo_drm.h> ++#include <glamo_bo.h> ++ ++#include "glamo_context.h" ++#include "glamo_cmdq.h" ++ ++ ++/* Submit the prepared command sequence to the kernel */ ++void glamoDRMDispatch(glamoContext *gCtx) ++{ ++ drm_glamo_cmd_burst_t burst; ++ int r; ++ ++ burst.base = gCtx->cmd_burst_base; ++ burst.data = gCtx->cmdq_drm; ++ burst.bufsz = gCtx->cmdq_drm_used * 2; /* -> bytes */ ++ burst.nobjs = gCtx->cmdq_obj_used; ++ burst.objs = gCtx->cmdq_objs; ++ burst.obj_pos = gCtx->cmdq_obj_pos; ++ ++ r = drmCommandWrite(gCtx->drm_fd, DRM_GLAMO_CMDBURST, ++ &burst, sizeof(burst)); ++ if ( r != 0 ) { ++ fprintf(stderr, "DRM_GLAMO_CMDBURST failed\n"); ++ } ++ ++ /* Reset counts to zero for the next sequence */ ++ gCtx->cmdq_obj_used = 0; ++ gCtx->cmdq_drm_used = 0; ++} ++ ++ ++void glamoDRMAddData(glamoContext *gCtx, uint32_t val, int len) ++{ ++ if ( gCtx->cmdq_drm_used+4 > gCtx->cmdq_drm_size ) { ++ fprintf(stderr, "Burst command too large\n"); ++ return; ++ } ++ ++ /* Record command */ ++ if ( len == 2 ) { ++ gCtx->cmdq_drm[gCtx->cmdq_drm_used++] = val & 0xffff; ++ } else if ( len == 4 ) { ++ gCtx->cmdq_drm[gCtx->cmdq_drm_used++] = val & 0x0000ffff; ++ gCtx->cmdq_drm[gCtx->cmdq_drm_used++] = val & 0xffff0000; ++ } else { ++ fprintf(stderr, "Wrong command length!\n"); ++ } ++} ++ ++ ++void glamoDRMAddBO(glamoContext *gCtx, struct glamo_bo *bo) ++{ ++ if ( gCtx->cmdq_drm_used+4 > gCtx->cmdq_drm_size ) { ++ fprintf(stderr, "Burst command too large\n"); ++ return; ++ } ++ ++ /* Record object position */ ++ gCtx->cmdq_objs[gCtx->cmdq_obj_used] = bo->handle; ++ /* -> bytes */ ++ gCtx->cmdq_obj_pos[gCtx->cmdq_obj_used] = gCtx->cmdq_drm_used * 2; ++ gCtx->cmdq_obj_used++; ++ ++ /* Record command */ ++ gCtx->cmdq_drm[gCtx->cmdq_drm_used++] = 0x0000; ++ gCtx->cmdq_drm[gCtx->cmdq_drm_used++] = 0x0000; ++} ++ ++ ++void glamoDRMStartBurst(glamoContext *gCtx, uint16_t base) ++{ ++ gCtx->cmd_burst_base = base; ++} ++ ++ ++void glamoInitCmdqCache(glamoContext *gCtx) ++{ ++ gCtx->cmdq_objs = malloc(1024); ++ gCtx->cmdq_obj_pos = malloc(1024); ++ gCtx->cmdq_obj_used = 0; ++ gCtx->cmdq_drm_used = 0; ++ gCtx->cmdq_drm_size = 4 * 1024; ++ gCtx->cmdq_drm = malloc(gCtx->cmdq_drm_size); ++} +diff --git a/src/mesa/drivers/dri/glamo/glamo_cmdq.h b/src/mesa/drivers/dri/glamo/glamo_cmdq.h +new file mode 100644 +index 0000000..7420d7b +--- /dev/null ++++ b/src/mesa/drivers/dri/glamo/glamo_cmdq.h +@@ -0,0 +1,33 @@ ++/* ++ * Command queue submission via DRM ++ * ++ * Copyright 2009 Thomas White <taw@bitwiz.org.uk> ++ * ++ * This program is free software; you can redistribute it and/or ++ * modify it under the terms of the GNU General Public License as ++ * published by the Free Software Foundation; either version 2 of ++ * the License, or (at your option) any later version. ++ * ++ * This program is distributed in the hope that it will be useful, ++ * but WITHOUT ANY WARRANTY; without even the implied warranty of ++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++ * GNU General Public License for more details. ++ * ++ * You should have received a copy of the GNU General Public License ++ * along with this program; if not, write to the Free Software ++ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, ++ * MA 02111-1307 USA ++ */ ++ ++ ++#include <stdint.h> ++#include <glamo_bo.h> ++ ++#include "glamo_context.h" ++ ++ ++extern void glamoDRMDispatch(glamoContext *gCtx); ++extern void glamoDRMAddBO(glamoContext *gCtx, struct glamo_bo *bo); ++extern void glamoDRMAddData(glamoContext *gCtx, uint32_t val, int len); ++extern void glamoDRMStartBurst(glamoContext *gCtx, uint16_t base); ++extern void glamoInitCmdqCache(glamoContext *gCtx); +diff --git a/src/mesa/drivers/dri/glamo/glamo_context.c b/src/mesa/drivers/dri/glamo/glamo_context.c +new file mode 100644 +index 0000000..39eb4e7 +--- /dev/null ++++ b/src/mesa/drivers/dri/glamo/glamo_context.c +@@ -0,0 +1,360 @@ ++/* ++ * Direct Rendering Support for SMedia Glamo 336x/337x ++ * ++ * (c) 2009 Thomas White <taw@bitwiz.org.uk> ++ * Roughly based on sis_context.c (c) 2003 Eric Anholt ++ * and radeon_common_context.c ++ * ++ * Permission is hereby granted, free of charge, to any person obtaining a ++ * copy of this software and associated documentation files (the "Software"), ++ * to deal in the Software without restriction, including without limitation ++ * the rights to use, copy, modify, merge, publish, distribute, sublicense, ++ * and/or sell copies of the Software, and to permit persons to whom the ++ * Software is furnished to do so, subject to the following conditions: ++ * ++ * The above copyright notice and this permission notice shall be included ++ * in all copies or substantial portions of the Software. ++ * ++ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS ++ * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, ++ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL ++ * THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN ++ * AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN ++ * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ++ */ ++ ++ ++#include "dri_util.h" ++#include "drirenderbuffer.h" ++#include "utils.h" ++ ++#include "swrast/swrast.h" ++#include "swrast_setup/swrast_setup.h" ++#include "drivers/common/driverfuncs.h" ++#include "vbo/vbo.h" ++#include "tnl/tnl.h" ++#include "tnl/t_pipeline.h" ++#include "main/state.h" ++ ++#include "glamo_context.h" ++#include "glamo_screen.h" ++#include "glamo_state.h" ++#include "glamo_fbo.h" ++#include "glamo_tris.h" ++#include "glamo_render.h" ++#include "glamo_cmdq.h" ++ ++#include <glamo_bo.h> ++#include <glamo_bo_gem.h> ++#include <glamo_drm.h> ++ ++ ++#define DRIVER_DATE "20090913" ++ ++ ++static inline struct glamo_renderbuffer *glamo_get_renderbuffer( ++ struct gl_framebuffer *fb, ++ int att_index) ++{ ++ if ( att_index >= 0 ) { ++ struct glamo_renderbuffer *gr; ++ gr = glamo_renderbuffer(fb->Attachment[att_index].Renderbuffer); ++ return gr; ++ } else { ++ return NULL; ++ } ++} ++ ++ ++static const GLubyte *glamoGetString(struct gl_context *ctx, GLenum name) ++{ ++ static char buffer[128]; ++ ++ switch (name) { ++ case GL_VENDOR: ++ return (GLubyte *)"Thomas White"; ++ case GL_RENDERER: { ++ driGetRendererString(buffer, "Glamo", DRIVER_DATE, 0); ++ return (GLubyte *) buffer; ++ } ++ default: ++ return 0; ++ } ++} ++ ++ ++/* Called when Mesa needs to know the size of the framebuffer */ ++static void glamoBufferSize(struct gl_framebuffer *buffer, ++ GLuint *width, GLuint *height) ++{ ++ GET_CURRENT_CONTEXT(ctx); ++ glamoContextPtr glamo = GLAMO_CONTEXT(ctx); ++ ++ *width = glamo->driDrawable->w; ++ *height = glamo->driDrawable->h; ++} ++ ++ ++GLboolean glamoCreateContext(const struct gl_config *glVisual, ++ __DRIcontext *driContextPriv, ++ void *sharedContextPrivate) ++{ ++ struct gl_context *ctx, *shareCtx; ++ __DRIscreen *sPriv = driContextPriv->driScreenPriv; ++ glamoContextPtr context; ++ glamoScreenPtr glamoScreen; ++ struct dd_function_table functions; ++ ++ context = (glamoContextPtr)CALLOC(sizeof(*context)); ++ if ( context == NULL ) return GL_FALSE; ++ ++ _mesa_init_driver_functions(&functions); ++ ++ /* Allocate the Mesa context */ ++ if ( sharedContextPrivate ) ++ shareCtx = ((glamoContextPtr)sharedContextPrivate)->glCtx; ++ else ++ shareCtx = NULL; ++ context->glCtx = _mesa_create_context(glVisual, shareCtx, ++ &functions, (void *)context); ++ if ( context->glCtx == NULL ) { ++ FREE(context); ++ return GL_FALSE; ++ } ++ driContextPriv->driverPrivate = context; ++ ctx = context->glCtx; ++ ++ glamoScreen = context->glamoScreen = (glamoScreenPtr)sPriv->private; ++ ++ ctx->Driver.GetString = glamoGetString; ++ ctx->Driver.GetBufferSize = glamoBufferSize; ++ ++ context->driContext = driContextPriv; ++ context->driScreen = sPriv; ++ context->driDrawable = NULL; ++ context->drm_fd = sPriv->fd; ++ ++ /* Initialize the software rasterizer and helper modules. */ ++ _swrast_CreateContext(ctx); ++ _vbo_CreateContext(ctx); ++ _tnl_CreateContext(ctx); ++ _swsetup_CreateContext(ctx); ++ ++ /* Install our pipeline (see glamo_render.c) */ ++ _tnl_install_pipeline(ctx, glamo_pipeline); ++ ++ _swrast_allow_pixel_fog(ctx, GL_TRUE); ++ _swrast_allow_vertex_fog(ctx, GL_FALSE); ++ _tnl_allow_pixel_fog(ctx, GL_TRUE); ++ _tnl_allow_vertex_fog(ctx, GL_FALSE); ++ ++ glamoInitCmdqCache(context); ++ glamoInitStateFuncs(ctx); ++ glamoInitTriFuncs(ctx); ++ ++ return GL_TRUE; ++} ++ ++ ++void glamoDestroyContext(__DRIcontext *driContextPriv) ++{ ++ glamoContextPtr context; ++ ++ context = (glamoContextPtr)driContextPriv->driverPrivate; ++ assert(context != NULL); ++ ++ if ( context != NULL ) { ++ ++ _swsetup_DestroyContext(context->glCtx); ++ _tnl_DestroyContext(context->glCtx); ++ _vbo_DestroyContext(context->glCtx); ++ _swrast_DestroyContext(context->glCtx); ++ ++ _mesa_destroy_context(context->glCtx); ++ ++ } ++ ++ FREE(context); ++} ++ ++ ++void glamo_update_renderbuffers(__DRIcontext *context, ++ __DRIdrawable *drawable) ++{ ++ unsigned int attachments[10]; ++ __DRIbuffer *buffers; ++ __DRIscreen *screen; ++ int i, count; ++ struct glamo_framebuffer *draw; ++ glamoContextPtr glamo; ++ struct glamo_bo *bo; ++ ++ draw = drawable->driverPrivate; ++ screen = context->driScreenPriv; ++ glamo = (glamoContextPtr)context->driverPrivate; ++ i = 0; ++ if ( draw->color_rb[0] ) { ++ attachments[i++] = __DRI_BUFFER_FRONT_LEFT; ++ } ++ if ( draw->color_rb[1] ) { ++ attachments[i++] = __DRI_BUFFER_BACK_LEFT; ++ } ++ ++ buffers = screen->dri2.loader->getBuffers(drawable, ++ &drawable->w, ++ &drawable->h, ++ attachments, i, ++ &count, ++ drawable->loaderPrivate); ++ if ( buffers == NULL ) return; ++ ++ /* Set one cliprect to cover the whole drawable */ ++ drawable->x = 0; ++ drawable->y = 0; ++ drawable->backX = 0; ++ drawable->backY = 0; ++ drawable->numClipRects = 1; ++ drawable->pClipRects[0].x1 = 0; ++ drawable->pClipRects[0].y1 = 0; ++ drawable->pClipRects[0].x2 = drawable->w; ++ drawable->pClipRects[0].y2 = drawable->h; ++ drawable->numBackClipRects = 1; ++ drawable->pBackClipRects[0].x1 = 0; ++ drawable->pBackClipRects[0].y1 = 0; ++ drawable->pBackClipRects[0].x2 = drawable->w; ++ drawable->pBackClipRects[0].y2 = drawable->h; ++ ++ /* For each attachment */ ++ for ( i=0; i<count; i++ ) { ++ ++ struct glamo_renderbuffer *grb; ++ ++ switch ( buffers[i].attachment ) { ++ case __DRI_BUFFER_FRONT_LEFT: ++ grb = draw->color_rb[0]; ++ break; ++ case __DRI_BUFFER_BACK_LEFT: ++ grb = draw->color_rb[1]; ++ break; ++ case __DRI_BUFFER_DEPTH: ++ grb = glamo_get_renderbuffer(&draw->base, BUFFER_DEPTH); ++ break; ++ case __DRI_BUFFER_STENCIL: ++ grb = glamo_get_renderbuffer(&draw->base, ++ BUFFER_STENCIL); ++ break; ++ case __DRI_BUFFER_FAKE_FRONT_LEFT: ++ grb = draw->color_rb[0]; ++ break; ++ case __DRI_BUFFER_ACCUM: ++ default: ++ fprintf(stderr, ++ "Unhandled buffer attach event," ++ " attachment type %d\n", buffers[i].attachment); ++ return; ++ } ++ ++ if ( grb == NULL ) { ++ /* Don't know how to handle this type of buffer */ ++ continue; ++ } ++ ++ if ( grb->bo ) { ++ uint32_t name = glamo_gem_get_name(grb->bo); ++ if ( name == buffers[i].name ) { ++ /* Buffer already attached. No action needed */ ++ continue; ++ } ++ } ++ ++ grb->cpp = buffers[i].cpp; ++ grb->pitch = buffers[i].pitch; ++ grb->width = drawable->w; ++ grb->height = drawable->h; ++ ++ bo = glamo_bo_open(glamo->glamoScreen->bom, buffers[i].name, ++ 0, 0, GLAMO_GEM_DOMAIN_VRAM, ++ buffers[i].flags); ++ if ( bo == NULL ) { ++ fprintf(stderr, "Failed to attach buffer %d\n", ++ buffers[i].name); ++ } ++ ++ glamo_renderbuffer_set_bo(grb, bo); ++ glamo_bo_unref(bo); ++ ++ } ++ ++ driUpdateFramebufferSize(glamo->glCtx, drawable); ++} ++ ++ ++GLboolean glamoMakeCurrent(__DRIcontext *driContextPriv, ++ __DRIdrawable *driDrawPriv, ++ __DRIdrawable *driReadPriv) ++{ ++ struct glamo_framebuffer *draw_fb; ++ struct gl_framebuffer *read_fb; ++ glamoContextPtr glamo; ++ ++ if ( driContextPriv == NULL ) { ++ _mesa_make_current(NULL, NULL, NULL); ++ return GL_TRUE; ++ } ++ ++ /* The Glamo context we're switching to */ ++ glamo = (glamoContextPtr)driContextPriv->driverPrivate; ++ ++ glamo->driDrawable = driDrawPriv; ++ ++ /* These two will probably be the same */ ++ draw_fb = (struct glamo_framebuffer *)driDrawPriv->driverPrivate; ++ read_fb = (struct gl_framebuffer *)driReadPriv->driverPrivate; ++ ++ glamo_update_renderbuffers(driContextPriv, driDrawPriv); ++ if (driDrawPriv != driReadPriv) ++ glamo_update_renderbuffers(driContextPriv, driReadPriv); ++ ++ _mesa_make_current(glamo->glCtx, &draw_fb->base, read_fb); ++ _mesa_update_state(glamo->glCtx); ++ ++ return GL_TRUE; ++} ++ ++ ++GLboolean glamoUnbindContext(__DRIcontext *driContextPriv) ++{ ++ return GL_TRUE; ++} ++ ++ ++/* Convert IEEE754 32-bit float to Glamo's signed 24-bit float */ ++uint32_t float7s16(GLfloat in) ++{ ++ uint32_t a, b; ++ uint32_t sign, expo, mant; /* Sign, exponent, significand */ ++ ++ a = *(uint32_t *)∈ ++ ++ /* This is bad */ ++ if ( a & 0x40000000 ) { ++ printf(stderr, "Warning: Exponent won't fit into 7 bits\n"); ++ } ++ ++ /* This hopefully isn't a big problem */ ++ if ( a & 0x0000007f ) { ++ printf(stderr, "Warning: Precision lost in FP conversion\n"); ++ } ++ ++ /* Separate out the right bits */ ++ mant = a & 0x007fff80; /* Bits 7-22 (bits 0-6 are lost) */ ++ expo = a & 0x3f800000; /* Bits 23-29 (bit 30 is lost) */ ++ sign = a & 0x80000000; /* Bit 31 */ ++ ++ /* Shift and recombine */ ++ b = sign >> 8; /* Fills bit 23 */ ++ b |= expo >> 7; /* Fills bits 16-22 */ ++ b |= mant >> 7; /* Fills bits 0-15 */ ++ ++ return b; ++} +diff --git a/src/mesa/drivers/dri/glamo/glamo_context.h b/src/mesa/drivers/dri/glamo/glamo_context.h +new file mode 100644 +index 0000000..8de3946 +--- /dev/null ++++ b/src/mesa/drivers/dri/glamo/glamo_context.h +@@ -0,0 +1,106 @@ ++/* ++ * Direct Rendering Support for SMedia Glamo 336x/337x ++ * ++ * (c) 2009 Thomas White <taw@bitwiz.org.uk> ++ * Roughly based on sis_context.h (c) 2003 Eric Anholt ++ * ++ * Permission is hereby granted, free of charge, to any person obtaining a ++ * copy of this software and associated documentation files (the "Software"), ++ * to deal in the Software without restriction, including without limitation ++ * the rights to use, copy, modify, merge, publish, distribute, sublicense, ++ * and/or sell copies of the Software, and to permit persons to whom the ++ * Software is furnished to do so, subject to the following conditions: ++ * ++ * The above copyright notice and this permission notice shall be included ++ * in all copies or substantial portions of the Software. ++ * ++ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS ++ * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, ++ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL ++ * THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN ++ * AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN ++ * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ++ */ ++ ++#ifndef __GLAMO_CONTEXT_H ++#define __GLAMO_CONTEXT_H ++ ++ ++#include "dri_util.h" ++#include "utils.h" ++#include "tnl/t_vertex.h" ++ ++#include "glamo_screen.h" ++ ++ ++typedef struct glamo_context glamoContext; ++typedef struct glamo_context *glamoContextPtr; ++ ++struct glamo_context { ++ ++ struct gl_context *glCtx; /* Must be first in this structure */ ++ ++ int drm_fd; /* DRM fd */ ++ ++ __DRIcontext *driContext; /* DRI context */ ++ __DRIscreen *driScreen; /* DRI screen */ ++ __DRIdrawable *driDrawable; /* DRI drawable bound to this ctx */ ++ ++ glamoScreenPtr glamoScreen; /* Screen private DRI data */ ++ ++ driOptionCache optionCache; ++ ++ uint16_t *cmdq_drm; /* Command queue cache */ ++ uint16_t cmd_burst_base; ++ int cmdq_drm_used; ++ int cmdq_drm_size; ++ int cmdq_obj_used; ++ uint32_t *cmdq_objs; ++ unsigned int *cmdq_obj_pos; ++ ++ /* Information about the current primitive */ ++ struct { ++ GLuint id; ++ uint32_t primitive; /* Current hardware primitive type */ ++ struct glamo_bo *vb_bo; ++ uint8_t *vb; ++ unsigned int start_offset; /* Byte offset of start */ ++ unsigned int current_offset; /* Byte offset of next vertex */ ++ unsigned int count; /* Number of vertices */ ++ } prim; ++ ++ /* Current vertex format and attributes */ ++ int vertex_size; ++ struct tnl_attr_map vertex_attrs[VERT_ATTRIB_MAX]; ++ ++ /* State */ ++ GLuint new_state; /* State which must be updated */ ++ uint16_t col_clear; ++ ++}; ++ ++#define GLAMO_CONTEXT(ctx) ((glamoContextPtr)(ctx->DriverCtx)) ++ ++#define TAG(x) glamo##x ++#include "tnl_dd/t_dd_vertex.h" ++#undef TAG ++ ++extern GLboolean glamoCreateContext(const struct gl_config *glVis, ++ __DRIcontext *driContextPriv, ++ void *sharedContextPrivate); ++extern void glamoDestroyContext(__DRIcontext *dcp); ++extern GLboolean glamoMakeCurrent(__DRIcontext *driContextPriv, ++ __DRIdrawable *driDrawPriv, ++ __DRIdrawable *driReadPriv); ++extern GLboolean glamoUnbindContext(__DRIcontext *driContextPriv); ++extern void glamo_update_renderbuffers(__DRIcontext *context, ++ __DRIdrawable *drawable); ++ ++#define GLAMO_PACKCOLOR565(r, g, b) \ ++ ((((r) & 0xf8) << 8) \ ++ | (((g) & 0xfc) << 3) \ ++ | (((b) & 0xf8) >> 3)) ++ ++extern uint32_t float7s16(GLfloat in); ++ ++#endif /* __GLAMO_CONTEXT_H */ +diff --git a/src/mesa/drivers/dri/glamo/glamo_fbo.c b/src/mesa/drivers/dri/glamo/glamo_fbo.c +new file mode 100644 +index 0000000..e25ca31 +--- /dev/null ++++ b/src/mesa/drivers/dri/glamo/glamo_fbo.c +@@ -0,0 +1,130 @@ ++/* ++ * Direct Rendering Support for SMedia Glamo 336x/337x ++ * ++ * (c) 2009 Thomas White <taw@bitwiz.org.uk> ++ * Roughly based on radeon_fbo.c (c) 2008 Red Hat Inc ++ * ++ * Permission is hereby granted, free of charge, to any person obtaining a ++ * copy of this software and associated documentation files (the "Software"), ++ * to deal in the Software without restriction, including without limitation ++ * the rights to use, copy, modify, merge, publish, distribute, sublicense, ++ * and/or sell copies of the Software, and to permit persons to whom the ++ * Software is furnished to do so, subject to the following conditions: ++ * ++ * The above copyright notice and this permission notice shall be included ++ * in all copies or substantial portions of the Software. ++ * ++ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS ++ * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, ++ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL ++ * THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN ++ * AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN ++ * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ++ */ ++ ++ ++#include "main/imports.h" ++#include "main/macros.h" ++#include "main/mtypes.h" ++#include "main/formats.h" ++#include "main/fbobject.h" ++#include "main/framebuffer.h" ++#include "main/renderbuffer.h" ++#include "main/context.h" ++#include "dri_util.h" ++ ++/* This comes from libdrm_glamo */ ++#include <glamo_bo.h> ++ ++#include "glamo_fbo.h" ++ ++ ++static void glamo_delete_renderbuffer(struct gl_renderbuffer *rb) ++{ ++ struct glamo_renderbuffer *grb = glamo_renderbuffer(rb); ++ ++ ASSERT(grb); ++ ++ if ( grb && grb->bo ) { ++ glamo_bo_unref(grb->bo); ++ } ++ free(grb); ++} ++ ++ ++static void *glamo_get_pointer(struct gl_context *ctx, struct gl_renderbuffer *rb, ++ GLint x, GLint y) ++{ ++ return NULL; /* Can't be directly addressed */ ++} ++ ++ ++/* Called for each hardware renderbuffer when a _window_ is resized. ++ * Just update fields. ++ * Not used for user-created renderbuffers! ++ */ ++static GLboolean glamo_alloc_window_storage(struct gl_context *ctx, ++ struct gl_renderbuffer *rb, ++ GLenum internalFormat, ++ GLuint width, GLuint height) ++{ ++ ASSERT(rb->Name == 0); ++ rb->Width = width; ++ rb->Height = height; ++ rb->Format = internalFormat; ++ return GL_TRUE; ++} ++ ++ ++/* Create a buffer, such as a colour or depth buffer */ ++struct glamo_renderbuffer *glamo_create_renderbuffer(GLenum format, ++ __DRIdrawable *driDrawPriv) ++{ ++ struct glamo_renderbuffer *grb; ++ ++ grb = CALLOC_STRUCT(glamo_renderbuffer); ++ if ( !grb ) return NULL; ++ ++ _mesa_init_renderbuffer(&grb->base, 0); ++ grb->base.ClassID = GLAMO_RB_CLASS; ++ ++ switch (format) { ++ case GL_RGB5: ++ grb->base.Format = MESA_FORMAT_RGB565; ++ grb->base._BaseFormat = GL_RGB; ++ ++ grb->base.DataType = GL_UNSIGNED_BYTE; ++ break; ++ case GL_DEPTH_COMPONENT16: ++ grb->base.DataType = GL_UNSIGNED_SHORT; ++ grb->base._BaseFormat = GL_DEPTH_COMPONENT; ++ break; ++ default: ++ fprintf(stderr, "%s: Unknown format 0x%04x\n", __FUNCTION__, format); ++ _mesa_delete_renderbuffer(&grb->base); ++ return NULL; ++ } ++ ++ grb->dPriv = driDrawPriv; ++ grb->base.InternalFormat = format; ++ ++ grb->base.Delete = glamo_delete_renderbuffer; ++ grb->base.AllocStorage = glamo_alloc_window_storage; ++ grb->base.GetPointer = glamo_get_pointer; ++ ++ return grb; ++} ++ ++ ++void glamo_renderbuffer_set_bo(struct glamo_renderbuffer *grb, ++ struct glamo_bo *bo) ++{ ++ struct glamo_bo *old; ++ old = grb->bo; ++ grb->bo = bo; ++ glamo_bo_ref(bo); ++ if ( old ) glamo_bo_unref(old); ++} ++ ++ ++/* kate: space-indent on; indent-width 3; mixedindent off; indent-mode cstyle; */ +diff --git a/src/mesa/drivers/dri/glamo/glamo_fbo.h b/src/mesa/drivers/dri/glamo/glamo_fbo.h +new file mode 100644 +index 0000000..48210dd +--- /dev/null ++++ b/src/mesa/drivers/dri/glamo/glamo_fbo.h +@@ -0,0 +1,77 @@ ++/* ++ * Direct Rendering Support for SMedia Glamo 336x/337x ++ * ++ * (c) 2009 Thomas White <taw@bitwiz.org.uk> ++ * ++ * Permission is hereby granted, free of charge, to any person obtaining a ++ * copy of this software and associated documentation files (the "Software"), ++ * to deal in the Software without restriction, including without limitation ++ * the rights to use, copy, modify, merge, publish, distribute, sublicense, ++ * and/or sell copies of the Software, and to permit persons to whom the ++ * Software is furnished to do so, subject to the following conditions: ++ * ++ * The above copyright notice and this permission notice shall be included ++ * in all copies or substantial portions of the Software. ++ * ++ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS ++ * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, ++ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL ++ * THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN ++ * AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN ++ * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ++ */ ++ ++#ifndef __GLAMO_FBO_H ++#define __GLAMO_FBO_H ++ ++ ++#include "main/mtypes.h" ++#include "dri_util.h" ++ ++ ++/* This is just a marker so we can tell a Glamo renderbuffer from a Mesa one */ ++#define GLAMO_RB_CLASS (0xdeadbeef) ++ ++ ++struct glamo_renderbuffer ++{ ++ struct gl_renderbuffer base; /* Must be first */ ++ struct glamo_bo *bo; ++ unsigned int cpp; ++ unsigned int pitch; ++ unsigned int width; ++ unsigned int height; ++ ++ __DRIdrawable *dPriv; ++}; ++ ++ ++struct glamo_framebuffer ++{ ++ struct gl_framebuffer base; ++ struct glamo_renderbuffer *color_rb[2]; ++}; ++ ++ ++/* This is just a small wrapper function to return NULL if the gl_renderbuffer ++ * is not a glamo_renderbuffer */ ++static inline struct glamo_renderbuffer ++ *glamo_renderbuffer(struct gl_renderbuffer *rb) ++{ ++ struct glamo_renderbuffer *grb = (struct glamo_renderbuffer *)rb; ++ if ( grb && grb->base.ClassID == GLAMO_RB_CLASS ) ++ return grb; ++ else ++ return NULL; ++} ++ ++ ++extern struct glamo_renderbuffer *glamo_create_renderbuffer(GLenum format, ++ __DRIdrawable *driDrawPriv); ++ ++extern void glamo_renderbuffer_set_bo(struct glamo_renderbuffer *grb, ++ struct glamo_bo *bo); ++ ++#endif /* __GLAMO_FBO_H */ ++ ++/* kate: space-indent on; indent-width 3; mixedindent off; indent-mode cstyle; */ +diff --git a/src/mesa/drivers/dri/glamo/glamo_regs.h b/src/mesa/drivers/dri/glamo/glamo_regs.h +new file mode 100644 +index 0000000..02b2294 +--- /dev/null ++++ b/src/mesa/drivers/dri/glamo/glamo_regs.h +@@ -0,0 +1,174 @@ ++#ifndef _GLAMO_REGS_H ++#define _GLAMO_REGS_H ++ ++/* Smedia Glamo 336x/337x driver ++ * ++ * (C) 2007 by OpenMoko, Inc. ++ * Author: Harald Welte <laforge@openmoko.org> ++ * All rights reserved. ++ * ++ * Modified for Glamo Mesa driver by Thomas White <taw@bitwiz.org.uk> ++ * ++ * This program is free software; you can redistribute it and/or ++ * modify it under the terms of the GNU General Public License as ++ * published by the Free Software Foundation; either version 2 of ++ * the License, or (at your option) any later version. ++ * ++ * This program is distributed in the hope that it will be useful, ++ * but WITHOUT ANY WARRANTY; without even the implied warranty of ++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++ * GNU General Public License for more details. ++ * ++ * You should have received a copy of the GNU General Public License ++ * along with this program; if not, write to the Free Software ++ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, ++ * MA 02111-1307 USA ++ */ ++ ++enum glamo_regster_offsets { ++ GLAMO_REGOFS_GENERIC = 0x0000, ++ GLAMO_REGOFS_HOSTBUS = 0x0200, ++ GLAMO_REGOFS_MEMORY = 0x0300, ++ GLAMO_REGOFS_VIDCAP = 0x0400, ++ GLAMO_REGOFS_ISP = 0x0500, ++ GLAMO_REGOFS_JPEG = 0x0800, ++ GLAMO_REGOFS_MPEG = 0x0c00, ++ GLAMO_REGOFS_LCD = 0x1100, ++ GLAMO_REGOFS_MMC = 0x1400, ++ GLAMO_REGOFS_MPROC0 = 0x1500, ++ GLAMO_REGOFS_MPROC1 = 0x1580, ++ GLAMO_REGOFS_CMDQUEUE = 0x1600, ++ GLAMO_REGOFS_RISC = 0x1680, ++ GLAMO_REGOFS_2D = 0x1700, ++ GLAMO_REGOFS_3D = 0x1b00, ++}; ++ ++ ++#define REG_MPEG(x) (GLAMO_REGOFS_MPEG+(x)) ++ ++enum glamo_register_mpeg { ++ // ++ GLAMO_REG_MPEG_DC_ADDRL = REG_MPEG(0x3c), ++ GLAMO_REG_MPEG_DC_ADDRH = REG_MPEG(0x3e), ++ GLAMO_REG_MPEG_AC_ADDRL = REG_MPEG(0x40), ++ GLAMO_REG_MPEG_AC_ADDRH = REG_MPEG(0x42), ++ // ++ GLAMO_REG_MPEG_SAFE_1 = REG_MPEG(0x60), ++ GLAMO_REG_MPEG_SAFE_2 = REG_MPEG(0x62), ++ GLAMO_REG_MPEG_SAFE_3 = REG_MPEG(0x64), ++ // ++ GLAMO_REG_MPEG_DEC_OUT0_Y_ADDRL = REG_MPEG(0x6e), ++ GLAMO_REG_MPEG_DEC_OUT0_Y_ADDRH = REG_MPEG(0x70), ++ GLAMO_REG_MPEG_DEC_OUT0_U_ADDRL = REG_MPEG(0x72), ++ GLAMO_REG_MPEG_DEC_OUT0_U_ADDRH = REG_MPEG(0x74), ++ GLAMO_REG_MPEG_DEC_OUT0_V_ADDRL = REG_MPEG(0x76), ++ GLAMO_REG_MPEG_DEC_OUT0_V_ADDRH = REG_MPEG(0x78), ++ GLAMO_REG_MPEG_DEC_OUT1_Y_ADDRL = REG_MPEG(0x7a), ++ GLAMO_REG_MPEG_DEC_OUT1_Y_ADDRH = REG_MPEG(0x7c), ++ GLAMO_REG_MPEG_DEC_OUT1_U_ADDRL = REG_MPEG(0x7e), ++ GLAMO_REG_MPEG_DEC_OUT1_U_ADDRH = REG_MPEG(0x80), ++ GLAMO_REG_MPEG_DEC_OUT1_V_ADDRL = REG_MPEG(0x82), ++ GLAMO_REG_MPEG_DEC_OUT1_V_ADDRH = REG_MPEG(0x84), ++ GLAMO_REG_MPEG_DEC_OUT2_Y_ADDRL = REG_MPEG(0x86), ++ GLAMO_REG_MPEG_DEC_OUT2_Y_ADDRH = REG_MPEG(0x88), ++ GLAMO_REG_MPEG_DEC_OUT2_U_ADDRL = REG_MPEG(0x8a), ++ GLAMO_REG_MPEG_DEC_OUT2_U_ADDRH = REG_MPEG(0x8c), ++ GLAMO_REG_MPEG_DEC_OUT2_V_ADDRL = REG_MPEG(0x8e), ++ GLAMO_REG_MPEG_DEC_OUT2_V_ADDRH = REG_MPEG(0x90), ++ GLAMO_REG_MPEG_DEC_WIDTH = REG_MPEG(0x92), ++ GLAMO_REG_MPEG_DEC_HEIGHT = REG_MPEG(0x94), ++ GLAMO_REG_MPEG_SPECIAL = REG_MPEG(0x96), ++ GLAMO_REG_MPEG_DEC_IN_ADDRL = REG_MPEG(0x98), ++ GLAMO_REG_MPEG_DEC_IN_ADDRH = REG_MPEG(0x9a), ++ // ++ GLAMO_REG_MPEG_DEBLK_THRESHOLD = REG_MPEG(0xc0), ++ // ++ GLAMO_REG_MPEG_DEC_STATUS = REG_MPEG(0xc8), ++ GLAMO_REG_MPEG_DEC_RB0 = REG_MPEG(0xca), ++ GLAMO_REG_MPEG_DEC_RB1 = REG_MPEG(0xcc), ++}; ++ ++ ++#define REG_2D(x) (GLAMO_REGOFS_2D+(x)) ++ ++enum glamo_register_2d { ++ GLAMO_REG_2D_SRC_ADDRL = REG_2D(0x00), ++ GLAMO_REG_2D_SRC_ADDRH = REG_2D(0x02), ++ GLAMO_REG_2D_SRC_PITCH = REG_2D(0x04), ++ GLAMO_REG_2D_SRC_X = REG_2D(0x06), ++ GLAMO_REG_2D_SRC_Y = REG_2D(0x08), ++ GLAMO_REG_2D_DST_X = REG_2D(0x0a), ++ GLAMO_REG_2D_DST_Y = REG_2D(0x0c), ++ GLAMO_REG_2D_DST_ADDRL = REG_2D(0x0e), ++ GLAMO_REG_2D_DST_ADDRH = REG_2D(0x10), ++ GLAMO_REG_2D_DST_PITCH = REG_2D(0x12), ++ GLAMO_REG_2D_DST_HEIGHT = REG_2D(0x14), ++ GLAMO_REG_2D_RECT_WIDTH = REG_2D(0x16), ++ GLAMO_REG_2D_RECT_HEIGHT = REG_2D(0x18), ++ GLAMO_REG_2D_PAT_ADDRL = REG_2D(0x1a), ++ GLAMO_REG_2D_PAT_ADDRH = REG_2D(0x1c), ++ GLAMO_REG_2D_PAT_FG = REG_2D(0x1e), ++ GLAMO_REG_2D_PAT_BG = REG_2D(0x20), ++ GLAMO_REG_2D_SRC_FG = REG_2D(0x22), ++ GLAMO_REG_2D_SRC_BG = REG_2D(0x24), ++ GLAMO_REG_2D_MASK1 = REG_2D(0x26), ++ GLAMO_REG_2D_MASK2 = REG_2D(0x28), ++ GLAMO_REG_2D_MASK3 = REG_2D(0x2a), ++ GLAMO_REG_2D_MASK4 = REG_2D(0x2c), ++ GLAMO_REG_2D_ROT_X = REG_2D(0x2e), ++ GLAMO_REG_2D_ROT_Y = REG_2D(0x30), ++ GLAMO_REG_2D_LEFT_CLIP = REG_2D(0x32), ++ GLAMO_REG_2D_TOP_CLIP = REG_2D(0x34), ++ GLAMO_REG_2D_RIGHT_CLIP = REG_2D(0x36), ++ GLAMO_REG_2D_BOTTOM_CLIP = REG_2D(0x38), ++ GLAMO_REG_2D_COMMAND1 = REG_2D(0x3A), ++ GLAMO_REG_2D_COMMAND2 = REG_2D(0x3C), ++ GLAMO_REG_2D_COMMAND3 = REG_2D(0x3E), ++ GLAMO_REG_2D_SAFE = REG_2D(0x40), ++ GLAMO_REG_2D_STATUS = REG_2D(0x42), ++ GLAMO_REG_2D_ID1 = REG_2D(0x44), ++ GLAMO_REG_2D_ID2 = REG_2D(0x46), ++ GLAMO_REG_2D_ID3 = REG_2D(0x48), ++}; ++ ++ ++/* No offset this time */ ++#define REG_3D(x) (x) ++ ++enum glamo_register_3d ++{ ++ /* Fire the engine */ ++ G3D_FIRE = REG_3D(0x2058), ++ ++ /* Streams of vertex/colour/normal/texcoord data */ ++ G3D_ACTIVE_STREAMS = REG_3D(0x1f00), ++ G3D_LAST_STREAM__VCOLFMT = REG_3D(0x2030), ++ G3D_STREAM_MODE_0 = REG_3D(0x1f10), ++ G3D_STREAM_BASE_0 = REG_3D(0x1f14), ++ G3D_STREAM_MODE_1 = REG_3D(0x1f18), ++ G3D_STREAM_BASE_1 = REG_3D(0x1f1c), ++ G3D_STREAM_MODE_2 = REG_3D(0x1f20), ++ G3D_STREAM_BASE_2 = REG_3D(0x1f24), ++ G3D_STREAM_MODE_3 = REG_3D(0x1f28), ++ G3D_STREAM_BASE_3 = REG_3D(0x1f2c), ++ G3D_STREAM_MODE_4 = REG_3D(0x1f30), ++ G3D_STREAM_BASE_4 = REG_3D(0x1f34), ++ G3D_STREAM_MODE_5 = REG_3D(0x1f38), ++ G3D_STREAM_BASE_5 = REG_3D(0x1f3c), ++ G3D_STREAM_MODE_6 = REG_3D(0x1f40), ++ G3D_STREAM_BASE_6 = REG_3D(0x1f44), ++ G3D_STREAM_MODE_7 = REG_3D(0x1f48), ++ G3D_STREAM_BASE_7 = REG_3D(0x1f4c), ++ ++ /* Modelview*projection matrix */ ++ G3D_MATRIX_MVP = REG_3D(0x26a0), /* .. 0x27df */ ++ ++ /* Modelview matrix */ ++ G3D_MATRIX_MV = REG_3D(0x26e0), /* .. 0x270f */ ++ ++ /* Inverse MVP, 3x3 only */ ++ G3D_MATRIX_IMVP = REG_3D(0x2710), /* .. 0x2733 */ ++ ++}; ++ ++#endif /* _GLAMO_REGS_H */ +diff --git a/src/mesa/drivers/dri/glamo/glamo_render.c b/src/mesa/drivers/dri/glamo/glamo_render.c +new file mode 100644 +index 0000000..d8b21d5 +--- /dev/null ++++ b/src/mesa/drivers/dri/glamo/glamo_render.c +@@ -0,0 +1,230 @@ ++/* ++ * Direct Rendering Support for SMedia Glamo 336x/337x ++ * ++ * (c) 2009 Thomas White <taw@bitwiz.org.uk> ++ * ++ * Permission is hereby granted, free of charge, to any person obtaining a ++ * copy of this software and associated documentation files (the "Software"), ++ * to deal in the Software without restriction, including without limitation ++ * the rights to use, copy, modify, merge, publish, distribute, sublicense, ++ * and/or sell copies of the Software, and to permit persons to whom the ++ * Software is furnished to do so, subject to the following conditions: ++ * ++ * The above copyright notice and this permission notice shall be included ++ * in all copies or substantial portions of the Software. ++ * ++ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS ++ * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, ++ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL ++ * THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN ++ * AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN ++ * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ++ * ++ * ++ * Based on intel_render.c, to which the following notice applies: ++ * ++ * Copyright 2003 Tungsten Graphics, Inc., Cedar Park, Texas. ++ * All Rights Reserved. ++ * ++ * Permission is hereby granted, free of charge, to any person obtaining a ++ * copy of this software and associated documentation files (the ++ * "Software"), to deal in the Software without restriction, including ++ * without limitation the rights to use, copy, modify, merge, publish, ++ * distribute, sub license, and/or sell copies of the Software, and to ++ * permit persons to whom the Software is furnished to do so, subject to ++ * the following conditions: ++ * ++ * The above copyright notice and this permission notice (including the ++ * next paragraph) shall be included in all copies or substantial portions ++ * of the Software. ++ * ++ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS ++ * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF ++ * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. ++ * IN NO EVENT SHALL TUNGSTEN GRAPHICS AND/OR ITS SUPPLIERS BE LIABLE FOR ++ * ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, ++ * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE ++ * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ++ * ++ */ ++ ++ ++/* ++ * Render unclipped vertex buffers by emitting vertices directly to ++ * dma buffers. Use strip/fan hardware acceleration where possible. ++ * ++ */ ++#include "main/glheader.h" ++#include "main/context.h" ++#include "main/macros.h" ++#include "main/imports.h" ++#include "main/mtypes.h" ++#include "main/enums.h" ++ ++#include "tnl/t_context.h" ++#include "tnl/t_vertex.h" ++#include "tnl/t_pipeline.h" ++#include "math/m_xform.h" ++ ++#include "glamo_context.h" ++#include "glamo_tris.h" ++#include "glamo_regs.h" ++ ++/* ++ * Render unclipped vertex buffers by emitting vertices directly to ++ * VRAM buffers. Use strip/fan hardware primitives where possible. ++ * Try to simulate missing primitives with indexed vertices. ++ */ ++#define HAVE_POINTS 1 ++#define HAVE_LINES 1 ++#define HAVE_LINE_STRIPS 0 ++#define HAVE_TRIANGLES 1 ++#define HAVE_TRI_STRIPS 0 ++#define HAVE_TRI_STRIP_1 0 ++#define HAVE_TRI_FANS 0 ++#define HAVE_POLYGONS 0 ++#define HAVE_QUADS 0 ++#define HAVE_QUAD_STRIPS 0 ++#define HAVE_ELTS 0 ++ ++ ++static void glamoFlushPrim(struct glamo_context *gCtx) ++{ ++ printf("glamoFlushPrim: %i vertices, %i %i\n", gCtx->prim.count, ++ gCtx->prim.start_offset, gCtx->prim.current_offset); ++ ++ if ( gCtx->prim.vb_bo == NULL ) return; ++ ++ /* Upload to hardware */ ++ glamo_bo_subdata(gCtx->prim.vb_bo, 0, gCtx->prim.current_offset, ++ gCtx->prim.vb); ++ ++ /* Dispatch to the hardware */ ++ glamoDRMStartBurst(gCtx, G3D_STREAM_MODE_0); ++ glamoDRMAddData(gCtx, 0x000f0300, 4); ++ glamoDRMAddBO(gCtx, gCtx->prim.vb_bo); ++ glamoDRMDispatch(gCtx); ++ ++ /* Please use a new BO for the next buffer */ ++ gCtx->prim.vb_bo = NULL; ++ ++ /* Continue from new start */ ++ gCtx->prim.start_offset = gCtx->prim.current_offset; ++} ++ ++ ++static inline GLuint glamoGetVBMax(struct glamo_context *gCtx) ++{ ++ return GLAMO_VB_SIZE / gCtx->vertex_size; ++} ++ ++ ++static inline GLuint glamoGetCurrentMax(struct glamo_context *gCtx) ++{ ++ /* How many more vertices can be accommodated? ++ * Each vertex takes up 4x 32-bit fixed point values */ ++ return (GLAMO_VB_SIZE - gCtx->prim.current_offset) / gCtx->vertex_size; ++} ++ ++ ++#define LOCAL_VARS \ ++ struct glamo_context *gCtx = GLAMO_CONTEXT(ctx); ++ ++#define INIT(prim) ++ ++#define FLUSH() glamoFlushPrim(gCtx) ++ ++#define GET_SUBSEQUENT_VB_MAX_VERTS() glamoGetVBMax(gCtx) ++#define GET_CURRENT_VB_MAX_VERTS() glamoGetCurrentMax(gCtx) ++ ++#define ALLOC_VERTS(nr) glamoGetPrimSpace(gCtx, nr) ++ ++#define EMIT_VERTS(ctx, j, nr, buf) \ ++ _tnl_emit_vertices_to_buffer(ctx, j, (j)+(nr), buf) ++ ++#define TAG(x) glamo_##x ++#include "tnl_dd/t_dd_dmatmp.h" ++ ++ ++/**********************************************************************/ ++/* Render pipeline stage */ ++/**********************************************************************/ ++ ++static void glamoFireEngine(struct glamo_context *gCtx) ++{ ++ glamoDRMStartBurst(gCtx, G3D_FIRE); ++ glamoDRMAddData(gCtx, 0, 2); /* Fire! */ ++ glamoDRMDispatch(gCtx); ++} ++ ++ ++static GLboolean glamoRunRender(struct gl_context *ctx, ++ struct tnl_pipeline_stage *stage) ++{ ++ TNLcontext *tnl = TNL_CONTEXT(ctx); ++ struct glamo_context *gCtx = GLAMO_CONTEXT(ctx); ++ struct vertex_buffer *VB = &tnl->vb; ++ GLuint i; ++ ++ printf("glamoRunRender\n"); ++ ++ /* Don't handle clipping */ ++ if ( !glamo_validate_render(ctx, VB) ) { ++ return GL_TRUE; /* Failed */ ++ } ++ ++ /* Validate GPU state */ ++ if ( gCtx->new_state ) { ++ if ( !glamoValidateState(ctx, gCtx->new_state) ) { ++ printf("Couldn't validate state...\n"); ++ } ++ } /* else nothing to update */ ++ ++ tnl->clipspace.new_inputs |= VERT_BIT_POS; ++ ++ tnl->Driver.Render.Start(ctx); ++ ++ for ( i=0; i<VB->PrimitiveCount; i++ ) { ++ ++ GLuint prim = _tnl_translate_prim(&VB->Primitive[i]); ++ GLuint start = VB->Primitive[i].start; ++ GLuint length = VB->Primitive[i].count; ++ ++ if (!length) continue; ++ ++ glamo_render_tab_verts[prim & PRIM_MODE_MASK](ctx, start, ++ start + length, prim); ++ ++ } ++ ++ tnl->Driver.Render.Finish(ctx); ++ ++ glamoFireEngine(gCtx); ++ ++ return GL_FALSE; /* Ok */ ++} ++ ++ ++static const struct tnl_pipeline_stage _glamo_render_stage = { ++ "glamo render", ++ NULL, ++ NULL, ++ NULL, ++ NULL, ++ glamoRunRender ++}; ++ ++ ++const struct tnl_pipeline_stage *glamo_pipeline[] = { ++ &_tnl_vertex_transform_stage, ++ &_tnl_normal_transform_stage, ++ &_tnl_lighting_stage, ++ &_tnl_fog_coordinate_stage, ++ &_tnl_texgen_stage, ++ &_tnl_texture_transform_stage, ++ &_tnl_point_attenuation_stage, ++ &_tnl_vertex_program_stage, ++ &_glamo_render_stage, /* ADD: unclipped rastersetup-to-dma */ ++ &_tnl_render_stage, ++ 0, ++}; +diff --git a/src/mesa/drivers/dri/glamo/glamo_render.h b/src/mesa/drivers/dri/glamo/glamo_render.h +new file mode 100644 +index 0000000..99c36a8 +--- /dev/null ++++ b/src/mesa/drivers/dri/glamo/glamo_render.h +@@ -0,0 +1,31 @@ ++/* ++ * Direct Rendering Support for SMedia Glamo 336x/337x ++ * ++ * (c) 2009 Thomas White <taw@bitwiz.org.uk> ++ * ++ * Permission is hereby granted, free of charge, to any person obtaining a ++ * copy of this software and associated documentation files (the "Software"), ++ * to deal in the Software without restriction, including without limitation ++ * the rights to use, copy, modify, merge, publish, distribute, sublicense, ++ * and/or sell copies of the Software, and to permit persons to whom the ++ * Software is furnished to do so, subject to the following conditions: ++ * ++ * The above copyright notice and this permission notice shall be included ++ * in all copies or substantial portions of the Software. ++ * ++ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS ++ * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, ++ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL ++ * THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN ++ * AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN ++ * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ++ */ ++ ++#ifndef __GLAMO_RENDER_H ++#define __GLAMO_RENDER_H ++ ++#include "main/mtypes.h" ++ ++extern const struct tnl_pipeline_stage *glamo_pipeline[]; ++ ++#endif /* __GLAMO_RENDER_H */ +diff --git a/src/mesa/drivers/dri/glamo/glamo_screen.c b/src/mesa/drivers/dri/glamo/glamo_screen.c +new file mode 100644 +index 0000000..cc8a730 +--- /dev/null ++++ b/src/mesa/drivers/dri/glamo/glamo_screen.c +@@ -0,0 +1,250 @@ ++/* ++ * Direct Rendering Support for SMedia Glamo 336x/337x ++ * ++ * (c) 2009 Thomas White <taw@bitwiz.org.uk> ++ * Roughly based on sis_screen.c (c) 2003 Eric Anholt ++ * ++ * Permission is hereby granted, free of charge, to any person obtaining a ++ * copy of this software and associated documentation files (the "Software"), ++ * to deal in the Software without restriction, including without limitation ++ * the rights to use, copy, modify, merge, publish, distribute, sublicense, ++ * and/or sell copies of the Software, and to permit persons to whom the ++ * Software is furnished to do so, subject to the following conditions: ++ * ++ * The above copyright notice and this permission notice shall be included ++ * in all copies or substantial portions of the Software. ++ * ++ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS ++ * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, ++ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL ++ * THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN ++ * AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN ++ * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ++ */ ++ ++ ++#include "dri_util.h" ++#include "utils.h" ++#include "xmlconfig.h" ++#include "GL/internal/dri_interface.h" ++#include "main/framebuffer.h" ++#include "main/renderbuffer.h" ++ ++#include "glamo_screen.h" ++#include "glamo_context.h" ++#include "glamo_fbo.h" ++ ++/* This comes from libdrm_glamo */ ++#include <glamo_bo_gem.h> ++ ++ ++static int glamoInitDriver(__DRIscreen *psp) ++{ ++ return 0; ++} ++ ++ ++static glamoScreenPtr glamoCreateScreen(__DRIscreen *sPriv) ++{ ++ glamoScreenPtr glamoScreen; ++ ++ /* Allocate the private area */ ++ glamoScreen = (glamoScreenPtr)CALLOC(sizeof(*glamoScreen)); ++ if ( glamoScreen == NULL ) ++ return NULL; ++ ++ glamoScreen->driScreen = sPriv; ++ ++ /* This is our link to the kernel's memory manager, via libdrm */ ++ glamoScreen->bom = glamo_bo_manager_gem_ctor(sPriv->fd); ++ ++ return glamoScreen; ++} ++ ++ ++static void glamoDestroyScreen(__DRIscreen *sPriv) ++{ ++ glamoScreenPtr glamoScreen = (glamoScreenPtr)sPriv->private; ++ ++ if ( glamoScreen == NULL ) ++ return; ++ ++ FREE(glamoScreen); ++ sPriv->private = NULL; ++} ++ ++ ++static const __DRIconfig **glamoInitScreen(__DRIscreen *sPriv) ++{ ++ __DRIconfig **configs; ++ uint8_t depth_bits_array[2]; ++ uint8_t stencil_bits_array[2]; ++ uint8_t msaa_samples_array[1]; ++ static const GLenum db_modes[] = { GLX_SWAP_COPY_OML, GLX_NONE }; ++ ++ /* Driver initialisation */ ++ if ( glamoInitDriver(sPriv) ) { ++ return NULL; ++ } ++ ++ /* Screen-specific initialisation */ ++ sPriv->private = glamoCreateScreen(sPriv); ++ if ( !sPriv->private ) { ++ glamoDestroyScreen(sPriv); ++ return NULL; ++ } ++ ++ depth_bits_array[0] = 0; ++ stencil_bits_array[0] = 0; ++ depth_bits_array[1] = 16; ++ stencil_bits_array[1] = 0; ++ msaa_samples_array[0] = 0; ++ ++ configs = driCreateConfigs(GL_RGB, GL_UNSIGNED_SHORT_5_6_5, ++ depth_bits_array, stencil_bits_array, 2, ++ db_modes, 2, msaa_samples_array, 1, GL_TRUE); ++ ++ if ( configs == NULL ) { ++ fprintf(stderr, "[%s:%u] Error creating FBConfig!\n", __func__, __LINE__); ++ return NULL; ++ } ++ ++ return (const __DRIconfig **)configs; ++} ++ ++ ++static const __DRIconfig **glamoInitScreen2(__DRIscreen *sPriv) ++{ ++ __DRIconfig **configs; ++ uint8_t depth_bits_array[2]; ++ uint8_t stencil_bits_array[2]; ++ uint8_t msaa_samples_array[1]; ++ static const GLenum db_modes[] = { GLX_SWAP_COPY_OML, GLX_NONE }; ++ ++ /* Driver initialisation */ ++ if ( glamoInitDriver(sPriv) ) { ++ return NULL; ++ } ++ ++ /* Screen-specific initialisation */ ++ sPriv->private = glamoCreateScreen(sPriv); ++ if ( !sPriv->private ) { ++ glamoDestroyScreen(sPriv); ++ return NULL; ++ } ++ ++ depth_bits_array[0] = 0; ++ stencil_bits_array[0] = 0; ++ depth_bits_array[1] = 16; ++ stencil_bits_array[1] = 0; ++ msaa_samples_array[0] = 0; ++ ++ configs = driCreateConfigs(GL_RGB, GL_UNSIGNED_SHORT_5_6_5, ++ depth_bits_array, stencil_bits_array, 2, ++ db_modes, 2, msaa_samples_array, 1, GL_TRUE); ++ ++ if ( configs == NULL ) { ++ fprintf(stderr, "[%s:%u] Error creating FBConfig!\n", __func__, __LINE__); ++ return NULL; ++ } ++ ++ return (const __DRIconfig **)configs; ++} ++ ++ ++/* Allocate buffers for a context. This is where the fun starts... */ ++static GLboolean glamoCreateBuffer(__DRIscreen *driScrnPriv, ++ __DRIdrawable *driDrawPriv, ++ const struct gl_config *mesaVis, ++ GLboolean isPixmap) ++{ ++ struct glamo_framebuffer *gfb; ++ GLenum rgbFormat; ++ ++ if ( isPixmap ) return GL_FALSE; /* not implemented */ ++ ++ gfb = CALLOC_STRUCT(glamo_framebuffer); ++ if ( !gfb ) return GL_FALSE; ++ ++ _mesa_initialize_window_framebuffer(&gfb->base, mesaVis); ++ ++ /* we only support this one format at the moment */ ++ rgbFormat = GL_RGB5; ++ ++ /* Front color renderbuffer */ ++ gfb->color_rb[0] = glamo_create_renderbuffer(rgbFormat, driDrawPriv); ++ _mesa_add_renderbuffer(&gfb->base, BUFFER_FRONT_LEFT, ++ &gfb->color_rb[0]->base); ++ ++ /* Back color renderbuffer, if requested */ ++ if ( mesaVis->doubleBufferMode ) { ++ gfb->color_rb[1] = glamo_create_renderbuffer(rgbFormat, driDrawPriv); ++ _mesa_add_renderbuffer(&gfb->base, BUFFER_BACK_LEFT, ++ &gfb->color_rb[1]->base); ++ } ++ ++ if ( mesaVis->depthBits == 16 ) { ++ struct glamo_renderbuffer *depth; ++ depth = glamo_create_renderbuffer(GL_DEPTH_COMPONENT16, driDrawPriv); ++ _mesa_add_renderbuffer(&gfb->base, BUFFER_DEPTH, &depth->base); ++ } ++ ++ /* Add software renderbuffers for the things we can't support in hardware */ ++ _mesa_add_soft_renderbuffers(&gfb->base, ++ GL_FALSE, /* color */ ++ GL_FALSE, /* depth */ ++ mesaVis->stencilBits > 0, /* stencil, if required */ ++ mesaVis->accumRedBits > 0, /* accum, if required */ ++ GL_FALSE, /* alpha */ ++ GL_FALSE /* aux */ ++ ); ++ driDrawPriv->driverPrivate = (void *)gfb; ++ ++ return (driDrawPriv->driverPrivate != NULL); ++} ++ ++ ++static void glamoDestroyBuffer(__DRIdrawable *driDrawPriv) ++{ ++} ++ ++ ++static void glamoSwapBuffers(__DRIdrawable *driDrawPriv) ++{ ++ printf("glamoSwapBuffers\n"); fflush(stdout); ++} ++ ++ ++/* ++ * Mesa entry points ++ * ++ * See src/mesa/drivers/dri/common/dri_util.h for information about these ++ */ ++const struct __DriverAPIRec driDriverAPI = { ++ .InitScreen = glamoInitScreen, ++ .DestroyScreen = glamoDestroyScreen, ++ .CreateContext = glamoCreateContext, ++ .DestroyContext = glamoDestroyContext, ++ .CreateBuffer = glamoCreateBuffer, ++ .DestroyBuffer = glamoDestroyBuffer, ++ .SwapBuffers = glamoSwapBuffers, ++ .MakeCurrent = glamoMakeCurrent, ++ .UnbindContext = glamoUnbindContext, ++ .GetSwapInfo = NULL, /* Not used */ ++ .WaitForMSC = NULL, ++ .WaitForSBC = NULL, ++ .SwapBuffersMSC = NULL, ++ .CopySubBuffer = NULL, ++ .GetDrawableMSC = NULL, /* Not used */ ++ .InitScreen2 = glamoInitScreen2, /* For DRI2 */ ++}; ++ ++/* This is the table of extensions that the loader will dlsym() for. */ ++PUBLIC const __DRIextension *__driDriverExtensions[] = { ++ &driCoreExtension.base, ++ &driLegacyExtension.base, ++ &driDRI2Extension.base, ++ NULL ++}; ++ ++/* kate: space-indent on; indent-width 3; mixedindent off; indent-mode cstyle; */ +diff --git a/src/mesa/drivers/dri/glamo/glamo_screen.h b/src/mesa/drivers/dri/glamo/glamo_screen.h +new file mode 100644 +index 0000000..3f2eb5f +--- /dev/null ++++ b/src/mesa/drivers/dri/glamo/glamo_screen.h +@@ -0,0 +1,44 @@ ++/* ++ * Direct Rendering Support for SMedia Glamo 336x/337x ++ * ++ * (c) 2009 Thomas White <taw@bitwiz.org.uk> ++ * Roughly based on sis_screen.h (c) 2003 Eric Anholt ++ * ++ * Permission is hereby granted, free of charge, to any person obtaining a ++ * copy of this software and associated documentation files (the "Software"), ++ * to deal in the Software without restriction, including without limitation ++ * the rights to use, copy, modify, merge, publish, distribute, sublicense, ++ * and/or sell copies of the Software, and to permit persons to whom the ++ * Software is furnished to do so, subject to the following conditions: ++ * ++ * The above copyright notice and this permission notice shall be included ++ * in all copies or substantial portions of the Software. ++ * ++ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS ++ * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, ++ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL ++ * THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN ++ * AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN ++ * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ++ */ ++ ++#ifndef __GLAMO_SCREEN_H ++#define __GLAMO_SCREEN_H ++ ++#include "xmlconfig.h" ++#include "dri_util.h" ++ ++#include <glamo_bo_gem.h> ++ ++typedef struct { ++ ++ __DRIscreen *driScreen; ++ driOptionCache optionCache; ++ ++ struct glamo_bo_manager *bom; ++ ++} glamoScreenRec, *glamoScreenPtr; ++ ++#endif /* __GLAMO_SCREEN_H */ ++ ++/* kate: space-indent on; indent-width 3; mixedindent off; indent-mode cstyle; */ +diff --git a/src/mesa/drivers/dri/glamo/glamo_state.c b/src/mesa/drivers/dri/glamo/glamo_state.c +new file mode 100644 +index 0000000..3aa2f8b +--- /dev/null ++++ b/src/mesa/drivers/dri/glamo/glamo_state.c +@@ -0,0 +1,305 @@ ++/* ++ * Direct Rendering Support for SMedia Glamo 336x/337x ++ * ++ * (c) 2009-2010 Thomas White <taw@bitwiz.org.uk> ++ * Roughly based on sis_state.c (c) 2003 Eric Anholt ++ * ++ * Permission is hereby granted, free of charge, to any person obtaining a ++ * copy of this software and associated documentation files (the "Software"), ++ * to deal in the Software without restriction, including without limitation ++ * the rights to use, copy, modify, merge, publish, distribute, sublicense, ++ * and/or sell copies of the Software, and to permit persons to whom the ++ * Software is furnished to do so, subject to the following conditions: ++ * ++ * The above copyright notice and this permission notice shall be included ++ * in all copies or substantial portions of the Software. ++ * ++ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS ++ * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, ++ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL ++ * THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN ++ * AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN ++ * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ++ * ++ * ++ * Also partially based on intel_fbo.c, to which the following notice applies: ++ * ++ * Copyright 2006 Tungsten Graphics, Inc., Cedar Park, Texas. ++ * All Rights Reserved. ++ * ++ * Permission is hereby granted, free of charge, to any person obtaining a ++ * copy of this software and associated documentation files (the ++ * "Software"), to deal in the Software without restriction, including ++ * without limitation the rights to use, copy, modify, merge, publish, ++ * distribute, sub license, and/or sell copies of the Software, and to ++ * permit persons to whom the Software is furnished to do so, subject to ++ * the following conditions: ++ * ++ * The above copyright notice and this permission notice (including the ++ * next paragraph) shall be included in all copies or substantial portions ++ * of the Software. ++ * ++ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS ++ * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF ++ * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. ++ * IN NO EVENT SHALL TUNGSTEN GRAPHICS AND/OR ITS SUPPLIERS BE LIABLE FOR ++ * ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, ++ * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE ++ * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ++ */ ++ ++ ++#include "main/context.h" ++#include "main/framebuffer.h" ++#include "main/api_arrayelt.h" ++#include "main/macros.h" ++#include "swrast/swrast.h" ++#include "swrast_setup/swrast_setup.h" ++#include "tnl/tnl.h" ++ ++#include "glamo_fbo.h" ++#include "glamo_state.h" ++#include "glamo_context.h" ++#include "glamo_cmdq.h" ++#include "glamo_regs.h" ++ ++ ++static void glamoResizeBuffers(struct gl_context *ctx, struct gl_framebuffer *fb, ++ GLuint width, GLuint height) ++{ ++ struct glamo_framebuffer *glamo_fb = (struct glamo_framebuffer *)fb; ++ int i; ++ ++ _mesa_resize_framebuffer(ctx, fb, width, height); ++ ++ fb->Initialized = GL_TRUE; /* XXX remove someday */ ++ ++ if (fb->Name != 0) { ++ return; ++ } ++ ++ /* Make sure all window system renderbuffers are up to date */ ++ for (i = 0; i < 2; i++) { ++ struct gl_renderbuffer *rb = &glamo_fb->color_rb[i]->base; ++ ++ /* only resize if size is changing */ ++ if (rb && (rb->Width != width || rb->Height != height)) { ++ rb->AllocStorage(ctx, rb, rb->InternalFormat, ++ width, height); ++ } ++ } ++} ++ ++ ++static void glamoClear(struct gl_context *ctx, GLbitfield mask) ++{ ++ glamoContext *gCtx; ++ struct gl_framebuffer *fb; ++ int i; ++ ++ gCtx = GLAMO_CONTEXT(ctx); ++ fb = ctx->DrawBuffer; ++ ++ printf("glamoClear (%f %f %f %f)\n", ctx->Color.ClearColor[0], ++ ctx->Color.ClearColor[1], ctx->Color.ClearColor[2], ++ ctx->Color.ClearColor[3]); fflush(stdout); ++ ++ for (i = 0; i < fb->_NumColorDrawBuffers; i++) { ++ ++ struct glamo_renderbuffer *grb; ++ ++ grb = glamo_renderbuffer(fb->_ColorDrawBuffers[i]); ++ ++ glamoDRMStartBurst(gCtx, GLAMO_REG_2D_DST_X); ++ glamoDRMAddData(gCtx, fb->_Xmin, 2); /* dest X */ ++ glamoDRMAddData(gCtx, fb->_Ymin, 2); /* dest Y */ ++ glamoDRMAddBO(gCtx, grb->bo); /* dest L/H */ ++ glamoDRMAddData(gCtx, grb->pitch & 0x7ff, 2); /* dest pitch */ ++ glamoDRMAddData(gCtx, grb->height, 2); /* dest height */ ++ glamoDRMAddData(gCtx, fb->_Xmax-fb->_Xmin, 2); /* width */ ++ glamoDRMAddData(gCtx, fb->_Ymax-fb->_Ymin, 2); /* height */ ++ glamoDRMAddData(gCtx, 0x0000, 2); /* patt L */ ++ glamoDRMAddData(gCtx, 0x0000, 2); /* patt H */ ++ glamoDRMAddData(gCtx, gCtx->col_clear, 2); /* FG colour */ ++ glamoDRMDispatch(gCtx); ++ ++ glamoDRMStartBurst(gCtx, GLAMO_REG_2D_COMMAND1); ++ glamoDRMAddData(gCtx, 0x0000, 2); /* Cmd param 1 */ ++ glamoDRMAddData(gCtx, 0xf0 << 8, 2); /* Cmd param 2 */ ++ glamoDRMAddData(gCtx, 0x0000, 2); /* Cmd param 3 */ ++ glamoDRMDispatch(gCtx); ++ ++ } ++} ++ ++ ++static void glamoClearColor(struct gl_context *ctx, const GLfloat color[4]) ++{ ++ struct glamo_context *gCtx = GLAMO_CONTEXT(ctx); ++ GLubyte col_byte[4]; ++ ++ printf("glamoClearColor (%f %f %f %f)\n", color[0], color[1], color[2], ++ color[3]); fflush(stdout); ++ ++ CLAMPED_FLOAT_TO_UBYTE(col_byte[0], color[0]); ++ CLAMPED_FLOAT_TO_UBYTE(col_byte[1], color[1]); ++ CLAMPED_FLOAT_TO_UBYTE(col_byte[2], color[2]); ++ CLAMPED_FLOAT_TO_UBYTE(col_byte[3], color[3]); ++ ++ gCtx->col_clear = GLAMO_PACKCOLOR565(col_byte[0], col_byte[1], ++ col_byte[2]); ++} ++ ++ ++static void glamoShadeModel(struct gl_context *ctx, GLenum mode) ++{ ++ printf("glamoShadeModel\n"); fflush(stdout); ++} ++ ++ ++static void glamoViewport(struct gl_context *ctx, GLint x, GLint y, ++ GLsizei width, GLsizei height ) ++{ ++ struct glamo_context *gCtx = GLAMO_CONTEXT(ctx); ++ __DRIcontext *driContext = gCtx->driContext; ++ void (*old_viewport)(struct gl_context *ctx, GLint x, GLint y, ++ GLsizei w, GLsizei h); ++ ++ if ( !driContext->driScreenPriv->dri2.enabled ) return; ++ ++ /* TODO: Flush before fiddling with fake front buffer */ ++ ++ if ( ctx->DrawBuffer->Name == 0 ) { ++ ++ glamo_update_renderbuffers(driContext, ++ driContext->driDrawablePriv); ++ if ( driContext->driDrawablePriv ++ != driContext->driReadablePriv ) { ++ glamo_update_renderbuffers(driContext, ++ driContext->driReadablePriv); ++ } ++ ++ } ++ ++ old_viewport = ctx->Driver.Viewport; ++ ctx->Driver.Viewport = NULL; ++ gCtx->driDrawable = driContext->driDrawablePriv; ++ ctx->Driver.Viewport = old_viewport; ++} ++ ++ ++static void glamoUploadMatrix(struct glamo_context *gCtx, uint16_t mreg, ++ GLfloat *matrix) ++{ ++ int i; ++ char *type; ++ ++ switch ( mreg ) { ++ case G3D_MATRIX_MVP : ++ type = "MVP"; break; ++ case G3D_MATRIX_MV : ++ type = "MV"; break; ++ case G3D_MATRIX_IMVP : ++ type = "inverse MVP"; break; ++ default : ++ type = "unknown"; break; ++ } ++ printf("Uploading %s matrix...\n", type); ++ ++ glamoDRMStartBurst(gCtx, mreg); ++ if ( mreg != G3D_MATRIX_IMVP ) { ++ for ( i=0; i<16; i++ ) { ++ glamoDRMAddData(gCtx, float7s16(matrix[i]), 4); ++ } ++ } else { ++ /* Normal matrix needs special treatment */ ++ for ( i=0; i<3; i++ ) { ++ glamoDRMAddData(gCtx, float7s16(matrix[4*i]), 4); ++ glamoDRMAddData(gCtx, float7s16(matrix[4*i+1]), 4); ++ glamoDRMAddData(gCtx, float7s16(matrix[4*i+2]), 4); ++ } ++ } ++ glamoDRMDispatch(gCtx); ++} ++ ++ ++GLboolean glamoValidateState(struct gl_context *ctx, GLuint new_state) ++{ ++ struct glamo_context *gCtx = GLAMO_CONTEXT(ctx); ++ ++ if ( new_state & (_NEW_MODELVIEW|_NEW_PROJECTION) ) { ++ ++ glamoUploadMatrix(gCtx, G3D_MATRIX_MVP, ++ ctx->_ModelProjectMatrix.m); ++ ++ /* FIXME: The following two aren't needed unless lighting ++ * is in use... */ ++ glamoUploadMatrix(gCtx, G3D_MATRIX_MV, ++ ctx->ModelviewMatrixStack.Top->m); ++ _math_matrix_alloc_inv(&(ctx->_ModelProjectMatrix)); ++ _math_matrix_analyse(&(ctx->_ModelProjectMatrix)); ++ glamoUploadMatrix(gCtx, G3D_MATRIX_IMVP, ++ ctx->_ModelProjectMatrix.inv); ++ } ++ ++ gCtx->new_state = 0; ++ return GL_TRUE; ++} ++ ++ ++static void glamoUpdateState(struct gl_context *ctx, GLbitfield new_state) ++{ ++ struct glamo_context *gCtx = GLAMO_CONTEXT(ctx); ++ ++ printf("glamoUpdateState\n"); ++ ++ _swrast_InvalidateState(ctx, new_state); ++ _swsetup_InvalidateState(ctx, new_state); ++ _vbo_InvalidateState(ctx, new_state); ++ _tnl_InvalidateState(ctx, new_state); ++ _ae_invalidate_state(ctx, new_state); ++ ++ /* Make a note that some state has changed, ++ * so that it can be sent to the GPU later. */ ++ gCtx->new_state |= new_state; ++} ++ ++ ++static void glamoFlush(struct gl_context *ctx) ++{ ++ printf("glamoFlush\n"); ++} ++ ++ ++void glamoInitStateFuncs(struct gl_context *ctx) ++{ ++ ctx->Driver.UpdateState = glamoUpdateState; ++ ctx->Driver.Clear = glamoClear; ++ ctx->Driver.ClearColor = glamoClearColor; ++ ctx->Driver.ClearDepth = NULL; ++ ctx->Driver.ClearStencil = NULL; ++ ctx->Driver.AlphaFunc = NULL; ++ ctx->Driver.BlendFuncSeparate = NULL; ++ ctx->Driver.ColorMask = NULL; ++ ctx->Driver.CullFace = NULL; ++ ctx->Driver.DepthMask = NULL; ++ ctx->Driver.DepthFunc = NULL; ++ ctx->Driver.DepthRange = NULL; ++ ctx->Driver.DrawBuffer = NULL; ++ ctx->Driver.Enable = NULL; ++ ctx->Driver.FrontFace = NULL; ++ ctx->Driver.Fogfv = NULL; ++ ctx->Driver.Hint = NULL; ++ ctx->Driver.Lightfv = NULL; ++ ctx->Driver.LogicOpcode = NULL; ++ ctx->Driver.PolygonMode = NULL; ++ ctx->Driver.PolygonStipple = NULL; ++ ctx->Driver.ReadBuffer = NULL; ++ ctx->Driver.RenderMode = NULL; ++ ctx->Driver.Scissor = NULL; ++ ctx->Driver.ShadeModel = glamoShadeModel; ++ ctx->Driver.LightModelfv = NULL; ++ ctx->Driver.Viewport = glamoViewport; ++ ctx->Driver.ResizeBuffers = glamoResizeBuffers; ++ ctx->Driver.Flush = glamoFlush; ++} +diff --git a/src/mesa/drivers/dri/glamo/glamo_state.h b/src/mesa/drivers/dri/glamo/glamo_state.h +new file mode 100644 +index 0000000..c3872c0 +--- /dev/null ++++ b/src/mesa/drivers/dri/glamo/glamo_state.h +@@ -0,0 +1,34 @@ ++/* ++ * Direct Rendering Support for SMedia Glamo 336x/337x ++ * ++ * (c) 2009 Thomas White <taw@bitwiz.org.uk> ++ * Roughly based on sis_state.h (c) 2003 Eric Anholt ++ * ++ * Permission is hereby granted, free of charge, to any person obtaining a ++ * copy of this software and associated documentation files (the "Software"), ++ * to deal in the Software without restriction, including without limitation ++ * the rights to use, copy, modify, merge, publish, distribute, sublicense, ++ * and/or sell copies of the Software, and to permit persons to whom the ++ * Software is furnished to do so, subject to the following conditions: ++ * ++ * The above copyright notice and this permission notice shall be included ++ * in all copies or substantial portions of the Software. ++ * ++ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS ++ * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, ++ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL ++ * THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN ++ * AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN ++ * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ++ */ ++ ++#ifndef __GLAMO_STATE_H ++#define __GLAMO_STATE_H ++ ++#include "main/context.h" ++ ++extern void glamoInitStateFuncs(struct gl_context *ctx); ++ ++#endif /* __GLAMO_STATE_H */ ++ ++/* kate: space-indent on; indent-width 3; mixedindent off; indent-mode cstyle; */ +diff --git a/src/mesa/drivers/dri/glamo/glamo_tris.c b/src/mesa/drivers/dri/glamo/glamo_tris.c +new file mode 100644 +index 0000000..c45fe53 +--- /dev/null ++++ b/src/mesa/drivers/dri/glamo/glamo_tris.c +@@ -0,0 +1,310 @@ ++/* ++ * Direct Rendering Support for SMedia Glamo 336x/337x ++ * ++ * (c) 2009 Thomas White <taw@bitwiz.org.uk> ++ * ++ * Permission is hereby granted, free of charge, to any person obtaining a ++ * copy of this software and associated documentation files (the "Software"), ++ * to deal in the Software without restriction, including without limitation ++ * the rights to use, copy, modify, merge, publish, distribute, sublicense, ++ * and/or sell copies of the Software, and to permit persons to whom the ++ * Software is furnished to do so, subject to the following conditions: ++ * ++ * The above copyright notice and this permission notice shall be included ++ * in all copies or substantial portions of the Software. ++ * ++ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS ++ * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, ++ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL ++ * THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN ++ * AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN ++ * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ++ * ++ * ++ * Based on intel_tris.c, to which the following notice applies: ++ * ++ * Copyright 2003 Tungsten Graphics, Inc., Cedar Park, Texas. ++ * All Rights Reserved. ++ * ++ * Permission is hereby granted, free of charge, to any person obtaining a ++ * copy of this software and associated documentation files (the ++ * "Software"), to deal in the Software without restriction, including ++ * without limitation the rights to use, copy, modify, merge, publish, ++ * distribute, sub license, and/or sell copies of the Software, and to ++ * permit persons to whom the Software is furnished to do so, subject to ++ * the following conditions: ++ * ++ * The above copyright notice and this permission notice (including the ++ * next paragraph) shall be included in all copies or substantial portions ++ * of the Software. ++ * ++ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS ++ * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF ++ * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. ++ * IN NO EVENT SHALL TUNGSTEN GRAPHICS AND/OR ITS SUPPLIERS BE LIABLE FOR ++ * ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, ++ * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE ++ * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ++ * ++ */ ++ ++ ++#include <glamo_bo.h> ++#include <glamo_bo_gem.h> ++#include <glamo_drm.h> ++ ++#include "main/mtypes.h" ++#include "swrast/swrast.h" ++#include "tnl/t_context.h" ++#include "tnl/t_vertex.h" ++#include "tnl/t_pipeline.h" ++ ++#include "glamo_tris.h" ++#include "glamo_context.h" ++ ++ ++static void glamoRunPipeline(struct gl_context *ctx) ++{ ++ printf("glamoRunPipeline\n"); ++ ++ /* TODO: Emit state */ ++ ++ _tnl_run_pipeline(ctx); ++} ++ ++ ++static void glamoRenderStart(struct gl_context *ctx) ++{ ++ struct glamo_context *gCtx = GLAMO_CONTEXT(ctx); ++ ++ /* Decide which attributes will be used */ ++ gCtx->vertex_attrs[0].attrib = _TNL_ATTRIB_POS; ++ gCtx->vertex_attrs[0].format = EMIT_4F; ++ ++ gCtx->vertex_size = _tnl_install_attrs(ctx, gCtx->vertex_attrs, 1, ++ NULL, 0); ++} ++ ++ ++static void glamoRenderFinish(struct gl_context *ctx) ++{ ++ printf("glamoRenderFinish\n"); ++} ++ ++ ++static void glamoPrimitiveNotify(struct gl_context *ctx, GLenum prim) ++{ ++ printf("glamoPrimitiveNotify\n"); ++} ++ ++ ++uint32_t *glamoGetPrimSpace(struct glamo_context *gCtx, unsigned int count) ++{ ++ uint32_t *addr; ++ ++ printf("glamoGetPrimSpace\n"); ++ ++ /* Check for space in the existing VB */ ++ if (gCtx->prim.vb_bo == NULL || (gCtx->prim.current_offset + ++ count * gCtx->vertex_size) > GLAMO_VB_SIZE) { ++ ++ /* Not enough space, or no VB existing. Start a new one... */ ++ if (gCtx->prim.vb == NULL) { ++ printf("Allocated %i bytes\n", GLAMO_VB_SIZE); ++ gCtx->prim.vb = malloc(GLAMO_VB_SIZE); ++ } ++ gCtx->prim.vb_bo = glamo_bo_open(gCtx->glamoScreen->bom, 0, ++ GLAMO_VB_SIZE, 4, ++ GLAMO_GEM_DOMAIN_VRAM, 0); ++ gCtx->prim.start_offset = 0; ++ gCtx->prim.current_offset = 0; ++ } ++ ++ addr = (uint32_t *)(gCtx->prim.vb + gCtx->prim.current_offset); ++ gCtx->prim.current_offset += gCtx->vertex_size * count; ++ gCtx->prim.count += count; ++ ++ return addr; ++} ++ ++ ++#define COPY_DWORDS( j, vb, vertsize, v ) \ ++do { \ ++ for ( j = 0 ; j < vertsize ; j++ ) { \ ++ vb[j] = ((GLuint *)v)[j]; \ ++ } \ ++ vb += vertsize; \ ++} while (0) ++ ++ ++static void glamo_draw_triangle(struct glamo_context *gCtx, ++ glamoVertexPtr v0, glamoVertexPtr v1, ++ glamoVertexPtr v2) ++{ ++ GLuint *vb = glamoGetPrimSpace(gCtx, 3); ++ int j; ++ ++ COPY_DWORDS(j, vb, gCtx->vertex_size, v0); ++ COPY_DWORDS(j, vb, gCtx->vertex_size, v1); ++ COPY_DWORDS(j, vb, gCtx->vertex_size, v2); ++} ++ ++ ++static void glamo_draw_line(struct glamo_context *gCtx, ++ glamoVertexPtr v0, glamoVertexPtr v1) ++{ ++ GLuint *vb = glamoGetPrimSpace(gCtx, 2); ++ int j; ++ ++ COPY_DWORDS(j, vb, gCtx->vertex_size, v0); ++ COPY_DWORDS(j, vb, gCtx->vertex_size, v1); ++} ++ ++ ++static void glamo_draw_point(struct glamo_context *gCtx, glamoVertexPtr v0) ++{ ++ GLuint *vb = glamoGetPrimSpace(gCtx, 2); ++ int j; ++ ++ COPY_DWORDS(j, vb, gCtx->vertex_size, v0); ++} ++ ++ ++#define TRI( a, b, c ) \ ++do { \ ++ glamo_draw_triangle(gCtx, a, b, c ); \ ++} while (0) ++ ++ ++#define QUAD( a, b, c, d ) \ ++printf("Drawing a quad\n"); \ ++do { \ ++ glamo_draw_triangle(gCtx, a, b, d); \ ++ glamo_draw_triangle(gCtx, b, c, d); \ ++} while (0) ++ ++ ++#define LINE(v0, v1) \ ++do { \ ++ glamo_draw_line(gCtx, v0, v1); \ ++} while (0) ++ ++ ++#define POINT(v0) \ ++do { \ ++ glamo_draw_point(gCtx, v0); \ ++} while (0) ++ ++ ++#define IND (0) ++#define TAG(x) x ++#include "tnl_dd/t_dd_tritmp.h" ++ ++#define IND (0) ++#define TAG(x) x##_offset ++#include "tnl_dd/t_dd_tritmp.h" ++ ++#define IND (0) ++#define TAG(x) x##_twoside ++#include "tnl_dd/t_dd_tritmp.h" ++ ++#define IND (0) ++#define TAG(x) x##_twoside_offset ++#include "tnl_dd/t_dd_tritmp.h" ++ ++#define IND (0) ++#define TAG(x) x##_unfilled ++#include "tnl_dd/t_dd_tritmp.h" ++ ++#define IND (0) ++#define TAG(x) x##_offset_unfilled ++#include "tnl_dd/t_dd_tritmp.h" ++ ++#define IND (0) ++#define TAG(x) x##_twoside_unfilled ++#include "tnl_dd/t_dd_tritmp.h" ++ ++#define IND (0) ++#define TAG(x) x##_twoside_offset_unfilled ++#include "tnl_dd/t_dd_tritmp.h" ++ ++#define IND (0) ++#define TAG(x) x##_fallback ++#include "tnl_dd/t_dd_tritmp.h" ++ ++#define IND (0) ++#define TAG(x) x##_offset_fallback ++#include "tnl_dd/t_dd_tritmp.h" ++ ++#define IND (0) ++#define TAG(x) x##_twoside_fallback ++#include "tnl_dd/t_dd_tritmp.h" ++ ++#define IND (0) ++#define TAG(x) x##_twoside_offset_fallback ++#include "tnl_dd/t_dd_tritmp.h" ++ ++#define IND (0) ++#define TAG(x) x##_unfilled_fallback ++#include "tnl_dd/t_dd_tritmp.h" ++ ++#define IND (0) ++#define TAG(x) x##_offset_unfilled_fallback ++#include "tnl_dd/t_dd_tritmp.h" ++ ++#define IND (0) ++#define TAG(x) x##_twoside_unfilled_fallback ++#include "tnl_dd/t_dd_tritmp.h" ++ ++#define IND (0) ++#define TAG(x) x##_twoside_offset_unfilled_fallback ++#include "tnl_dd/t_dd_tritmp.h" ++ ++ ++static void init_rast_tab() ++{ ++ init(); ++ init_offset(); ++ init_twoside(); ++ init_twoside_offset(); ++ init_unfilled(); ++ init_offset_unfilled(); ++ init_twoside_unfilled(); ++ init_twoside_offset_unfilled(); ++ init_fallback(); ++ init_offset_fallback(); ++ init_twoside_fallback(); ++ init_twoside_offset_fallback(); ++ init_unfilled_fallback(); ++ init_offset_unfilled_fallback(); ++ init_twoside_unfilled_fallback(); ++ init_twoside_offset_unfilled_fallback(); ++} ++ ++ ++void glamoInitTriFuncs(struct gl_context *ctx) ++{ ++ TNLcontext *tnl = TNL_CONTEXT(ctx); ++ struct glamo_context *gCtx = GLAMO_CONTEXT(ctx); ++ static int firsttime = 1; ++ ++ if (firsttime) { ++ init_rast_tab(); ++ firsttime = 0; ++ } ++ ++ gCtx->prim.start_offset = 0; ++ gCtx->prim.current_offset = 0; ++ gCtx->prim.vb_bo = NULL; ++ gCtx->prim.vb = NULL; ++ gCtx->prim.count = 0; ++ ++ tnl->Driver.RunPipeline = glamoRunPipeline; ++ tnl->Driver.Render.Start = glamoRenderStart; ++ tnl->Driver.Render.Finish = glamoRenderFinish; ++ tnl->Driver.Render.PrimitiveNotify = glamoPrimitiveNotify; ++ tnl->Driver.Render.ResetLineStipple = _swrast_ResetLineStipple; ++ tnl->Driver.Render.BuildVertices = _tnl_build_vertices; ++ tnl->Driver.Render.CopyPV = _tnl_copy_pv; ++ tnl->Driver.Render.Interp = _tnl_interp; ++} +diff --git a/src/mesa/drivers/dri/glamo/glamo_tris.h b/src/mesa/drivers/dri/glamo/glamo_tris.h +new file mode 100644 +index 0000000..ea396c1 +--- /dev/null ++++ b/src/mesa/drivers/dri/glamo/glamo_tris.h +@@ -0,0 +1,38 @@ ++/* ++ * Direct Rendering Support for SMedia Glamo 336x/337x ++ * ++ * (c) 2009 Thomas White <taw@bitwiz.org.uk> ++ * ++ * Permission is hereby granted, free of charge, to any person obtaining a ++ * copy of this software and associated documentation files (the "Software"), ++ * to deal in the Software without restriction, including without limitation ++ * the rights to use, copy, modify, merge, publish, distribute, sublicense, ++ * and/or sell copies of the Software, and to permit persons to whom the ++ * Software is furnished to do so, subject to the following conditions: ++ * ++ * The above copyright notice and this permission notice shall be included ++ * in all copies or substantial portions of the Software. ++ * ++ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS ++ * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, ++ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL ++ * THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN ++ * AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN ++ * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ++ */ ++ ++#ifndef __GLAMO_TRIS_H ++#define __GLAMO_TRIS_H ++ ++#include "main/mtypes.h" ++ ++#include "glamo_context.h" ++ ++/* Amount of space reserved for vertex submission */ ++#define GLAMO_VB_SIZE (32*1024) ++ ++extern void glamoInitTriFuncs(struct gl_context *ctx); ++extern uint32_t *glamoGetPrimSpace(struct glamo_context *gCtx, ++ unsigned int count); ++ ++#endif /* __GLAMO_TRIS_H */ +diff --git a/src/mesa/tnl_dd/t_dd_dmatmp.h b/src/mesa/tnl_dd/t_dd_dmatmp.h +index 997fc0b..e3c9119 100644 +--- a/src/mesa/tnl_dd/t_dd_dmatmp.h ++++ b/src/mesa/tnl_dd/t_dd_dmatmp.h +@@ -127,6 +127,8 @@ static void TAG(render_points_verts)( struct gl_context *ctx, + currentsz = dmasz; + } + ++ FLUSH(); ++ + } else { + fprintf(stderr, "%s - cannot draw primitive\n", __FUNCTION__); + return; +@@ -162,6 +164,8 @@ static void TAG(render_lines_verts)( struct gl_context *ctx, + currentsz = dmasz; + } + ++ FLUSH(); ++ + } else { + fprintf(stderr, "%s - cannot draw primitive\n", __FUNCTION__); + return; +@@ -191,7 +195,7 @@ static void TAG(render_line_strip_verts)( struct gl_context *ctx, + TAG(emit_verts)( ctx, j, nr, ALLOC_VERTS(nr) ); + currentsz = dmasz; + } +- ++ + FLUSH(); + + } else { +@@ -294,6 +298,8 @@ static void TAG(render_triangles_verts)( struct gl_context *ctx, + TAG(emit_verts)( ctx, j, nr, ALLOC_VERTS(nr) ); + currentsz = dmasz; + } ++ ++ FLUSH(); + } + + +@@ -567,6 +573,8 @@ static void TAG(render_quads_verts)( struct gl_context *ctx, + TAG(emit_verts)( ctx, j, nr, ALLOC_VERTS(nr) ); + currentsz = dmasz; + } ++ ++ FLUSH(); + } + else if (HAVE_ELTS) { + /* Hardware doesn't have a quad primitive type -- try to +@@ -640,6 +648,8 @@ static void TAG(render_quads_verts)( struct gl_context *ctx, + tmp = EMIT_VERTS(ctx, j + 1, 3, tmp); + (void) tmp; + } ++ ++ FLUSH(); + } + else { + /* 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 00000000000..0508112df92 --- /dev/null +++ b/meta-oe/recipes-graphics/mesa/mesa-7.10.2/uclibc.patch @@ -0,0 +1,26 @@ +Index: Mesa-7.9.1/src/mesa/main/imports.c +=================================================================== +--- Mesa-7.9.1.orig/src/mesa/main/imports.c 2010-12-15 13:50:00.000000000 -0800 ++++ Mesa-7.9.1/src/mesa/main/imports.c 2011-01-10 12:23:48.848656001 -0800 +@@ -757,7 +757,7 @@ + float + _mesa_strtof( const char *s, char **end ) + { +-#if defined(_GNU_SOURCE) && !defined(__CYGWIN__) && !defined(__FreeBSD__) ++#if defined(_GNU_SOURCE) && !defined(__CYGWIN__) && !defined(__FreeBSD__) && !defined(__UCLIBC__) + static locale_t loc = NULL; + if (!loc) { + loc = newlocale(LC_CTYPE_MASK, "C", NULL); +Index: Mesa-7.9.1/src/glsl/strtod.c +=================================================================== +--- Mesa-7.9.1.orig/src/glsl/strtod.c 2011-01-10 20:08:01.568656001 -0800 ++++ Mesa-7.9.1/src/glsl/strtod.c 2011-01-10 20:08:39.898656001 -0800 +@@ -44,7 +44,7 @@ + double + glsl_strtod(const char *s, char **end) + { +-#if defined(_GNU_SOURCE) && !defined(__CYGWIN__) && !defined(__FreeBSD__) ++#if defined(_GNU_SOURCE) && !defined(__CYGWIN__) && !defined(__FreeBSD__) && !defined(__UCLIBC__) + static locale_t loc = NULL; + if (!loc) { + 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 00000000000..4073d6ffe98 --- /dev/null +++ b/meta-oe/recipes-graphics/mesa/mesa-common.inc @@ -0,0 +1,53 @@ +SECTION = "x11" + +DESCRIPTION = "An open source implementation of the OpenGL spec" +HOMEPAGE = "http://mesa3d.org" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://docs/license.html;md5=7a3373c039b6b925c427755a4f779c1d" + +INC_PR = "r11" +PE = "2" + +PROTO_DEPS = "xf86driproto glproto" +LIB_DEPS = "virtual/libx11 libxext libxxf86vm libxdamage libxfixes" + +DEPENDS = "${PROTO_DEPS} ${LIB_DEPS}" + +SRC_URI = "ftp://ftp.freedesktop.org/pub/mesa/${PV}/MesaLib-${PV}.tar.bz2;name=archive \ + " +S = "${WORKDIR}/Mesa-${PV}" + +PROVIDES = "virtual/libgl" + +inherit autotools pkgconfig + +EXTRA_OECONF = "--enable-glu \ + --disable-glw \ + --disable-glut \ + " + +inherit glx-use-tls + +# Package contents vary according to ${MACHINE_DRI_MODULES}. +PACKAGE_ARCH = "${MACHINE_ARCH}" + +PACKAGES =+ "libegl libegl-dev libegl-dbg libglu libglu-dev libosmesa libosmesa-dev libgl libgl-dev" +FILES_${PN} += "${libdir}/dri/*.so" +FILES_libegl = "${libdir}/libEGL.so.* ${libdir}/egl/*.so" +FILES_libgl = "${libdir}/libGL.so.*" +FILES_libglu = "${libdir}/libGLU.so.*" +FILES_libosmesa = "${libdir}/libOSMesa.so.*" + +FILES_libegl-dev = "${libdir}/libEGL.* ${includedir}/EGL" +FILES_libgl-dev = "${libdir}/libGL.* ${includedir}/GL" +FILES_libglu-dev = "${libdir}/libGLU.* ${includedir}/GL/glu*.h" +FILES_libosmesa-dev = "${libdir}/libOSMesa.* ${includedir}/osmesa.h" + +FILES_${PN}-dbg += "${libdir}/dri/.debug/*" +FILES_libegl-dbg += "${libdir}/egl/.debug/*" + +NATIVE_INSTALL_WORKS = "1" +do_install_append () { + install -d ${D}/${includedir}/GL + cp -pPr ${S}/include/GL/internal* ${D}/${includedir}/GL +} 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 00000000000..4f42b793068 --- /dev/null +++ b/meta-oe/recipes-graphics/mesa/mesa-dri.inc @@ -0,0 +1,10 @@ +DEPENDS += "dri2proto expat libdrm makedepend-native" + +#not supported in oe-core base.bbclass +#FILESPATHPKG =. "mesa-${PV}:mesa:" +FILESPATH =. "${FILE_DIRNAME}/mesa:${FILE_DIRNAME}/mesa-${PV}:" + +# most of our targets do not have DRI so will use mesa-xlib +DEFAULT_PREFERENCE = "-1" + +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 00000000000..26b56e426cb --- /dev/null +++ b/meta-oe/recipes-graphics/mesa/mesa-dri_7.10.2.bb @@ -0,0 +1,4 @@ +require mesa-common.inc +require mesa-${PV}.inc +require mesa-dri.inc +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 00000000000..cabe6e5ec56 --- /dev/null +++ b/meta-oe/recipes-graphics/mesa/mesa-xlib.inc @@ -0,0 +1,2 @@ +FILESPATHPKG =. "mesa-${PV}:mesa:" +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 00000000000..93bb8cd19b6 --- /dev/null +++ b/meta-oe/recipes-graphics/mesa/mesa-xlib_7.10.2.bb @@ -0,0 +1,4 @@ +require mesa-common.inc +require mesa-${PV}.inc +require mesa-xlib.inc +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 00000000000..4cb8db7f739 --- /dev/null +++ b/meta-oe/recipes-graphics/mesa/mesa_7.10.2.bb @@ -0,0 +1,6 @@ +# This is a dummy package so OE can use the poky mesa files +require mesa-dri_${PV}.bb + +PR = "${INC_PR}.0" + +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 00000000000..8ffa88b64e3 --- /dev/null +++ b/meta-oe/recipes-graphics/tasks/task-fonts-truetype.bb @@ -0,0 +1,40 @@ +DESCRIPTION = "Install one of these tasks to get support for truetype fonts." +SECTION = "fonts" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://${TOPDIR}/meta-shr/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420" +PV = "1.0" +PR = "r0" + +inherit task + +PACKAGES += "\ + ${PN}-core \ + ${PN}-chinese \ + ${PN}-japanese \ +" + +RRECOMMENDS_task-fonts-truetype = "\ + ${PN}-core \ + ${PN}-chinese \ + ${PN}-japanese \ +" + +RDEPENDS_task-fonts-truetype-core = "\ + fontconfig-utils \ + \ + ttf-dejavu-common \ + ttf-dejavu-sans \ + ttf-dejavu-sans-mono \ +" +# ttf-dejavu-serif \ + +RDEPENDS_task-fonts-truetype-chinese = "\ + ${PN}-core \ + ttf-arphic-uming \ +" + +RDEPENDS_task-fonts-truetype-japanese = "\ + ${PN}-core \ + ttf-sazanami-gothic \ + ttf-sazanami-mincho \ +" 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 00000000000..5ebb2575157 --- /dev/null +++ b/meta-oe/recipes-graphics/ttf-fonts/ttf-liberation_0.2.bb @@ -0,0 +1,23 @@ +require ttf.inc + +DESCRIPTION = "Liberation fonts - TTF Version" +HOMEPAGE = "https://www.redhat.com/promo/fonts/" +LICENSE = "GPLv2" +LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f \ + file://License.txt;md5=5b171c5100029d884fcea21d9a2b7543 \ +" + +PR = "r3" + +SRC_URI = "http://fedorahosted.org/liberation-fonts/export/807b6dfd069b998cd9b4d3158da98817ef23c79d/F-9/liberation-fonts-ttf-3.tar.gz" +S = "${WORKDIR}/liberation-fonts-${PV}" + +PACKAGES = "${PN}-dbg ttf-liberation-mono ttf-liberation-sans ttf-liberation-serif" +RRECOMMENDS_${PN}-dbg = "" + +FILES_ttf-liberation-mono = "${datadir}/fonts/truetype/*Mono*" +FILES_ttf-liberation-sans = "${datadir}/fonts/truetype/*Sans*" +FILES_ttf-liberation-serif = "${datadir}/fonts/truetype/*Serif*" + +SRC_URI[md5sum] = "77728078a17e39f7c242b42c3bf6feb8" +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 00000000000..d6ce56b8207 --- /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 00000000000..66bb32cab4a --- /dev/null +++ b/meta-oe/recipes-graphics/xinput-calibrator/pointercal-xinput/nokia900/pointercal.xinput @@ -0,0 +1,2 @@ +xinput set-int-prop "Touchscreen" "Evdev Axis Calibration" 32 204 3897 3763 178; + 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 00000000000..be25da3529d --- /dev/null +++ b/meta-oe/recipes-graphics/xinput-calibrator/pointercal-xinput/om-gta01/pointercal.xinput @@ -0,0 +1,2 @@ +xinput set-int-prop "Touchscreen" "Evdev Axis Calibration" 32 107 918 911 98 +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 00000000000..be25da3529d --- /dev/null +++ b/meta-oe/recipes-graphics/xinput-calibrator/pointercal-xinput/om-gta02/pointercal.xinput @@ -0,0 +1,2 @@ +xinput set-int-prop "Touchscreen" "Evdev Axis Calibration" 32 107 918 911 98 +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 00000000000..9633fc5f328 --- /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 00000000000..e611862a4ff --- /dev/null +++ b/meta-oe/recipes-graphics/xinput-calibrator/pointercal-xinput_0.0.bb @@ -0,0 +1,21 @@ +DESCRIPTION = "Touchscreen calibration data from xinput-calibrator" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://${TOPDIR}/meta-shr/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420" + +SECTION = "base" + +PR = "r2" +SRC_URI = "file://pointercal.xinput" +S = "${WORKDIR}" + +do_install() { + # Only install file if it has a contents + if [ -s ${S}/pointercal.xinput ]; then + install -d ${D}${sysconfdir}/ + install -m 0644 ${S}/pointercal.xinput ${D}${sysconfdir}/ + fi +} + +ALLOW_EMPTY_${PN} = "1" +PACKAGE_ARCH = "${MACHINE_ARCH}" +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 00000000000..357b0e5c04d --- /dev/null +++ b/meta-oe/recipes-graphics/xinput-calibrator/xinput-calibrator.inc @@ -0,0 +1,8 @@ +DESCRIPTION = "A generic touchscreen calibration program for X.Org" +HOMEPAGE = "http://www.freedesktop.org/wiki/Software/xinput_calibrator" +LICENSE = "MIT/X11" +DEPENDS = "virtual/libx11 libxi" +RDEPENDS_${PN} = "xinput pointercal-xinput" +INC_PR = "r7" + +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 00000000000..2eb3cc94271 --- /dev/null +++ b/meta-oe/recipes-graphics/xinput-calibrator/xinput-calibrator_0.6.1.bb @@ -0,0 +1,17 @@ +require xinput-calibrator.inc + +LIC_FILES_CHKSUM = "file://src/calibrator.cpp;endline=22;md5=998e238a7638a7446eaeb02398f691fc" +SRC_URI = "git://github.com/tias/xinput_calibrator.git;protocol=git" + +SRCREV = "d2ce98b3f638667dd64b6d718721379b2dc750a7" +PR = "${INC_PR}.0" +S = "${WORKDIR}/git/" + +do_install_append() { + install -d ${D}${bindir} + install -m 0755 scripts/xinput_calibrator_pointercal.sh ${D}${bindir}/xinput_calibrator_once.sh + ln -s ${bindir}/xinput_calibrator_x11 ${D}${bindir}/xinput_calibrator + install -d ${D}${datadir}/applications/ + install -m 0755 scripts/xinput_calibrator.desktop ${D}${datadir}/applications/xinput-calibrator.desktop + install -m 0755 scripts/xinput_calibrator_get_hal_calibration.sh ${D}${bindir}/xinput_calibrator_get_hal_calibration.sh +} 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 00000000000..59dca2ac7d6 --- /dev/null +++ b/meta-oe/recipes-graphics/xorg-app/rgb_1.0.4.bb @@ -0,0 +1,10 @@ +require xorg-app-common.inc +DEPENDS += " xproto util-macros" +LIC_FILES_CHKSUM = "file://COPYING;md5=ef598adbe241bd0b0b9113831f6e249a" +PE = "1" +PR = "${INC_PR}.0" + +SRC_URI[md5sum] = "35c6cccbf25a872bdd62bfcb1a73d951" +SRC_URI[sha256sum] = "80887da011ad086fff88bfd16c6d9d5ac7da45ef1bc9d0c192a6f370423370f1" + +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 00000000000..c1acc983d6b --- /dev/null +++ b/meta-oe/recipes-graphics/xorg-app/xinput_1.5.3.bb @@ -0,0 +1,8 @@ +require xorg-app-common.inc +LIC_FILES_CHKSUM = "file://COPYING;md5=22c34ea36136407a77702a8b784f9bd0" +DESCRIPTION = "a utility to configure and test XInput devices" +DEPENDS += " libxi" +PR = "${INC_PR}.0" + +SRC_URI[md5sum] = "1e2f0ad4f3fa833b65c568907f171d28" +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 00000000000..8358af4d5b3 --- /dev/null +++ b/meta-oe/recipes-graphics/xorg-app/xorg-app-common.inc @@ -0,0 +1,15 @@ +DESCRIPTION = "X application" +HOMEPAGE = "http://www.x.org/" +SECTION = "x11/apps" +LICENSE = "MIT-X" +DEPENDS = "util-macros-native virtual/libx11" + +INC_PR = "r5" + +SRC_URI = "${XORG_MIRROR}/individual/app/${BPN}-${PV}.tar.bz2" + +S = "${WORKDIR}/${BPN}-${PV}" + +inherit autotools pkgconfig + +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 00000000000..f4b8b00de5c --- /dev/null +++ b/meta-oe/recipes-graphics/xorg-doc/xorg-doc-common.inc @@ -0,0 +1,12 @@ +DESCRIPTION = "X documentation" +HOMEPAGE = "http://www.x.org" +SECTION = "x11/docs" +LICENSE = "MIT-X" + +SRC_URI = "${XORG_MIRROR}/individual/doc/${BPN}-${PV}.tar.bz2" + +S = "${WORKDIR}/${BPN}-${PV}" + +INC_PR = "r1" + +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 00000000000..55f4bacc230 --- /dev/null +++ b/meta-oe/recipes-graphics/xorg-doc/xorg-sgml-doctools_1.7.bb @@ -0,0 +1,8 @@ +require xorg-doc-common.inc +PE = "1" +PR = "${INC_PR}.0" + +SRC_URI[md5sum] = "2588efb3f49f7fc6ecf41ce42e0b2e5e" +SRC_URI[sha256sum] = "84fd94e5c50556e6f77501485f8a48724cf3c95c6d58480bc280258ba14580c8" + +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 00000000000..cbbc7c717c2 --- /dev/null +++ b/meta-oe/recipes-graphics/xorg-driver/xf86-input-keyboard_1.6.0.bb @@ -0,0 +1,17 @@ +require xorg-driver-input.inc + +SUMMARY = "X.Org X server -- keyboard input driver" + +DESCRIPTION = "keyboard is an Xorg input driver for keyboards. The \ +driver supports the standard OS-provided keyboard interface. The driver \ +functions as a keyboard input device, and may be used as the X server's \ +core keyboard." + +LIC_FILES_CHKSUM = "file://COPYING;md5=ea2099d24ac9e316a6d4b9f20b3d4e10" + +DEPENDS += " kbproto" +PE = "1" +PR = "${INC_PR}.0" + +SRC_URI[md5sum] = "e2abe9f13e526a73cb68a7d257546eba" +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 00000000000..88b304ffa47 --- /dev/null +++ b/meta-oe/recipes-graphics/xorg-driver/xf86-input-mouse_1.7.0.bb @@ -0,0 +1,17 @@ +require xorg-driver-input.inc + +SUMMARY = "X.Org X server -- mouse input driver" + +DESCRIPTION = "mouse is an Xorg input driver for mice. The driver \ +supports most available mouse types and interfaces. The mouse driver \ +functions as a pointer input device, and may be used as the X server's \ +core pointer. Multiple mice are supported by multiple instances of this \ +driver." + +LIC_FILES_CHKSUM = "file://COPYING;md5=237eb1d1a602d29ef2af62d8fba60f19" + +PE = "1" +PR = "${INC_PR}.0" + +SRC_URI[md5sum] = "7f31472689c15b6de62eff04d0fb57d7" +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 00000000000..906043947e1 --- /dev/null +++ b/meta-oe/recipes-graphics/xorg-driver/xf86-input-tslib/10-x11-input-tslib.fdi @@ -0,0 +1,11 @@ +<?xml version="1.0" encoding="UTF-8"?> +<deviceinfo version="0.2"> + <device> + <match key="info.capabilities" contains="input.touchpad"> + <merge key="input.x11_driver" type="string">tslib</merge> + </match> + <match key="info.capabilities" contains="input.touchscreen"> + <merge key="input.x11_driver" type="string">tslib</merge> + </match> + </device> +</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 00000000000..ec130c257d5 --- /dev/null +++ b/meta-oe/recipes-graphics/xorg-driver/xf86-input-tslib/99-xf86-input-tslib.rules @@ -0,0 +1,5 @@ +# create /dev/input/touchscreenX symlink, tag xf86-input-tslib as driver +SUBSYSTEM=="input", KERNEL=="event[0-9]*", ATTRS{modalias}=="input:*-e0*,3,*a0,1,*18,*", SYMLINK+="input/touchscreen%n", ENV{x11_driver}="tslib" +SUBSYSTEM=="input", KERNEL=="event[0-9]*", ATTRS{modalias}=="ads7846", SYMLINK+="input/touchscreen%n", ENV{x11_driver}="tslib" + + 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 00000000000..07754731ddc --- /dev/null +++ b/meta-oe/recipes-graphics/xorg-driver/xf86-input-tslib/double-free-crash.patch @@ -0,0 +1,20 @@ +xorg-server-1.7.3/hw/xfree86/common/xf86Helper.c contains this code +causing a double free crash on chvt or exit: + + /* This should *really* be handled in drv->UnInit(dev) call instead, but + * if the driver forgets about it make sure we free it or at least crash + * with flying colors */ + if (pInp->private) + xfree(pInp->private); +Index: xf86-input-tslib-0.0.6/src/tslib.c +=================================================================== +--- xf86-input-tslib-0.0.6.orig/src/tslib.c ++++ xf86-input-tslib-0.0.6/src/tslib.c +@@ -435,6 +435,7 @@ xf86TslibUninit(InputDriverPtr drv, Inpu + xf86TslibControlProc(pInfo->dev, DEVICE_OFF); + ts_close(priv->ts); + xfree(pInfo->private); ++ pInfo->private = NULL; + xf86DeleteInput(pInfo, 0); + } + 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 00000000000..a1f6ba8f9e8 --- /dev/null +++ b/meta-oe/recipes-graphics/xorg-driver/xf86-input-tslib/xserver-174-XGetPointerControl.patch @@ -0,0 +1,34 @@ +From Grazvydas Ignotas + +At least xserver 1.7.4 crashes on XGetPointerControl request because of xf86-input-tslib: + +Program received signal SIGSEGV, Segmentation fault. +#0 0x000355e0 in ProcGetPointerControl (client=0x4a2e58) at devices.c:2122 +#1 0x00062fa8 in Dispatch () at dispatch.c:439 +#2 0x00022444 in main (argc=4, argv=0xbeebedc4, envp=0xbeebedd8) at main.c:285 + +This happens because ptrfeed field is not set in device structure from tslib. +To fix this, call InitPtrFeedbackClassDeviceStruct() during DEVICE_INIT to get necessary setup done (as done in other input drivers). + +--- +diff -ur xf86-input-tslib-0.0.6/src/tslib.c xf86-input-tslib-0.0.6_/src/tslib.c +--- xf86-input-tslib-0.0.6/src/tslib.c 2010-02-09 12:23:22.000000000 +0200 ++++ xf86-input-tslib-0.0.6_/src/tslib.c 2010-02-09 12:37:33.000000000 +0200 +@@ -103,8 +103,6 @@ + static void + PointerControlProc(DeviceIntPtr dev, PtrCtrl * ctrl) + { +- ErrorF("%s\n", __FUNCTION__); +- return; + } + + static Bool +@@ -406,6 +404,8 @@ + xf86MotionHistoryAllocate(pInfo); + #endif + ++ if (!InitPtrFeedbackClassDeviceStruct(device, PointerControlProc)) ++ return !Success; + break; + + 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 00000000000..d5d11ce158b --- /dev/null +++ b/meta-oe/recipes-graphics/xorg-driver/xf86-input-tslib_0.0.6.bb @@ -0,0 +1,32 @@ +require xorg-driver-input.inc +DESCRIPTION = "X.Org X server -- tslib input driver" +DEPENDS += "tslib" +RRECOMMENDS_${PN} += "tslib-calibrate" +RSUGGESTS_${PN} += "hal" + +# derived from xf86-input-void, that's why I kept MIT-X, but it's not clear, see COPYING +LIC_FILES_CHKSUM = "file://src/tslib.c;endline=28;md5=bd62eaef222dcf5cd59e490a12bd795e \ + file://COPYING;md5=4641deddaa80fe7ca88e944e1fd94a94" + +PR = "${INC_PR}.1" + +SRC_URI = "http://www.pengutronix.de/software/xf86-input-tslib/download/xf86-input-tslib-${PV}.tar.bz2;name=archive \ + file://double-free-crash.patch \ + file://10-x11-input-tslib.fdi \ + file://xserver-174-XGetPointerControl.patch \ + file://99-xf86-input-tslib.rules \ +" +SRC_URI[md5sum] = "b7a4d2f11637ee3fcf432e044b1d017f" +SRC_URI[sha256sum] = "5f46fdef095a6e44a69e0f0b57c7d665224b26d990d006611236d8332e85b105" + +do_configure_prepend() { + rm -rf ${S}/m4/ || true +} +do_install_append() { + install -d ${D}/${datadir}/hal/fdi/policy/20thirdparty + install -m 0644 ${WORKDIR}/10-x11-input-tslib.fdi ${D}/${datadir}/hal/fdi/policy/20thirdparty + install -d ${D}/lib/udev/rules.d + install -m 0644 ${WORKDIR}/99-xf86-input-tslib.rules ${D}/lib/udev/rules.d/ +} + +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 00000000000..d555fbc4be2 --- /dev/null +++ b/meta-oe/recipes-graphics/xorg-driver/xf86-video-fbdev_0.4.2.bb @@ -0,0 +1,9 @@ +require xorg-driver-video.inc +LIC_FILES_CHKSUM = "file://COPYING;md5=d8cbd99fff773f92e844948f74ef0df8" + +DESCRIPTION = "X.Org X server -- fbdev display driver" +PE = "1" +PR = "${INC_PR}.1" + +SRC_URI[md5sum] = "53a533d9e0c2da50962282526bace074" +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 00000000000..0c7350fc188 --- /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 @@ +From e2d0f9a3ba7f36b0b8ac8d736dd76da6e5e07f38 Mon Sep 17 00:00:00 2001 +From: Martin Jansa <Martin.Jansa@gmail.com> +Date: Fri, 29 Oct 2010 11:19:08 +0200 +Subject: [PATCH] glamo-drm: define GLAMO_CMDQ_MAX_COUNT instead of magic constant 1024 + +* fix check for full queue, because size != count here +* make sure we have enough space in queue for 2 resp. 4 more commands in + GlamoDRMAddCommand resp. GlamoDRMAddCommandBO + +Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> +--- + src/glamo-drm.c | 16 +++++++++++----- + 1 files changed, 11 insertions(+), 5 deletions(-) + +diff --git a/src/glamo-drm.c b/src/glamo-drm.c +index aac93bb..01e8510 100644 +--- a/src/glamo-drm.c ++++ b/src/glamo-drm.c +@@ -32,6 +32,8 @@ + + #include "glamo.h" + ++/* How many commands can be stored before forced dispatch */ ++#define GLAMO_CMDQ_MAX_COUNT 1024 + + /* Submit the prepared command sequence to the kernel */ + void GlamoDRMDispatch(GlamoPtr pGlamo) +@@ -60,7 +62,7 @@ void GlamoDRMDispatch(GlamoPtr pGlamo) + + void GlamoDRMAddCommand(GlamoPtr pGlamo, uint16_t reg, uint16_t val) + { +- if ( pGlamo->cmdq_drm_used == pGlamo->cmdq_drm_size ) { ++ if ( pGlamo->cmdq_drm_used >= GLAMO_CMDQ_MAX_COUNT - 2 ) { + xf86DrvMsg(pGlamo->pScreen->myNum, X_INFO, + "Forced command cache flush.\n"); + GlamoDRMDispatch(pGlamo); +@@ -74,7 +76,8 @@ void GlamoDRMAddCommand(GlamoPtr pGlamo, uint16_t reg, uint16_t val) + + void GlamoDRMAddCommandBO(GlamoPtr pGlamo, uint16_t reg, struct glamo_bo *bo) + { +- if ( pGlamo->cmdq_drm_used == pGlamo->cmdq_drm_size ) { ++ if ( pGlamo->cmdq_drm_used >= GLAMO_CMDQ_MAX_COUNT - 4 || ++ pGlamo->cmdq_obj_used >= GLAMO_CMDQ_MAX_COUNT) { + xf86DrvMsg(pGlamo->pScreen->myNum, X_INFO, + "Forced command cache flush.\n"); + GlamoDRMDispatch(pGlamo); +@@ -98,10 +101,13 @@ void GlamoDRMAddCommandBO(GlamoPtr pGlamo, uint16_t reg, struct glamo_bo *bo) + + void GlamoDRMInit(GlamoPtr pGlamo) + { +- pGlamo->cmdq_objs = malloc(1024); +- pGlamo->cmdq_obj_pos = malloc(1024); ++ pGlamo->cmdq_objs = malloc(GLAMO_CMDQ_MAX_COUNT); ++ pGlamo->cmdq_obj_pos = malloc(GLAMO_CMDQ_MAX_COUNT); + pGlamo->cmdq_obj_used = 0; + pGlamo->cmdq_drm_used = 0; +- pGlamo->cmdq_drm_size = 4 * 1024; ++ /* we're using 2bytes per entry (uint16_t) that's why we need to allocate ++ * GLAMO_CMDQ_MAX_COUNT * 2 bytes ++ */ ++ pGlamo->cmdq_drm_size = 2 * GLAMO_CMDQ_MAX_COUNT; + pGlamo->cmdq_drm = malloc(pGlamo->cmdq_drm_size); + } +-- +1.7.3.2 + 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 00000000000..c9e1d5699ad --- /dev/null +++ b/meta-oe/recipes-graphics/xorg-driver/xf86-video-glamo_git.bb @@ -0,0 +1,19 @@ +require xorg-driver-video.inc +DESCRIPTION = "X.Org X server -- Glamo display driver with KMS support" +DEPENDS += "libdrm" + +LIC_FILES_CHKSUM = "file://COPYING;md5=d8cbd99fff773f92e844948f74ef0df8" + +RDEPENDS_${PN} = "xserver-xorg-extension-dri xserver-xorg-extension-dri2 xserver-xorg-extension-glx mesa-dri" +PE = "2" +PV = "1.0.0+gitr${SRCPV}" +PR = "${INC_PR}.5" + +SRC_URI = "git://git.openmoko.org/git/xf86-video-glamo.git;protocol=git;branch=master \ + file://0001-glamo-drm-define-GLAMO_CMDQ_MAX_COUNT-instead-of-mag.patch \ + " + +S = "${WORKDIR}/git" +SRCREV = "16af3c00195adc68cbd508e3613be4b2349260b3" + +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 00000000000..970b0d17622 --- /dev/null +++ b/meta-oe/recipes-graphics/xorg-driver/xorg-driver-common.inc @@ -0,0 +1,40 @@ +DESCRIPTION = "X driver" +HOMEPAGE = "http://www.x.org" +SECTION = "x11/drivers" +LICENSE = "MIT-X" +INC_PR = "r15" + +DEPENDS = "randrproto xorg-server xproto" + +SRC_URI = "${XORG_MIRROR}/individual/driver/${BPN}-${PV}.tar.bz2" + +S = "${WORKDIR}/${BPN}-${PV}" + +FILES_${PN} += " ${libdir}/xorg/modules" +FILES_${PN}-dbg += "${libdir}/xorg/modules/*/.debug" + +inherit autotools pkgconfig + +TARGET_CPPFLAGS += "-I${STAGING_DIR_HOST}/usr/include/xorg" + +# Another sucky behavor from Xorg configure scripts. +# They use AC_CHECK_FILE to check for DRI headers. Yuck! +# Of course this will blow up when cross compiling. + +do_configure_prepend() { + incdir=${layout_includedir}/xorg + for f in dri.h sarea.h dristruct.h exa.h damage.h xf86Module.h; do + path="$incdir/$f" + if [ -f "${STAGING_DIR_HOST}/$path" ]; then + p=`echo "$path" | sed 'y%*+%pp%;s%[^_[:alnum:]]%_%g'` + eval "export ac_cv_file_$p=yes" + fi + done +} + +# FIXME: We don't want to include the libtool archives (*.la) from modules +# directory, as they serve no useful purpose. Upstream should fix Makefile.am +do_install_append() { + find ${D}${libdir}/xorg/modules -regex ".*\.la$" | xargs rm -f -- +} + 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 00000000000..e44dbd58fe1 --- /dev/null +++ b/meta-oe/recipes-graphics/xorg-driver/xorg-driver-input.inc @@ -0,0 +1,4 @@ +include xorg-driver-common.inc + +DEPENDS = "randrproto inputproto xserver-xorg xproto" + 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 00000000000..36b5b759515 --- /dev/null +++ b/meta-oe/recipes-graphics/xorg-driver/xorg-driver-video.inc @@ -0,0 +1,4 @@ +include xorg-driver-common.inc + +DEPENDS = "randrproto renderproto videoproto xextproto fontsproto xserver-xorg xproto" + 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 00000000000..f9f4a6382cc --- /dev/null +++ b/meta-oe/recipes-graphics/xorg-lib/liblbxutil-1.1.0/mkg3states-1.1.patch @@ -0,0 +1,55 @@ +diff -uNr liblbxutil-1.1.0.orig/configure.ac liblbxutil-1.1.0/configure.ac +--- liblbxutil-1.1.0.orig/configure.ac 2009-12-04 23:52:04.000000000 +0100 ++++ liblbxutil-1.1.0/configure.ac 2009-12-16 10:45:00.000000000 +0100 +@@ -50,4 +50,5 @@ + + AC_OUTPUT([Makefile + src/Makefile ++ src/image/Makefile + lbxutil.pc]) +diff -uNr liblbxutil-1.1.0.orig/src/image/Makefile.am liblbxutil-1.1.0/src/image/Makefile.am +--- liblbxutil-1.1.0.orig/src/image/Makefile.am 1970-01-01 01:00:00.000000000 +0100 ++++ liblbxutil-1.1.0/src/image/Makefile.am 2009-12-16 10:45:00.000000000 +0100 +@@ -0,0 +1,15 @@ ++# evil hack ++CFLAGS=$(CFLAGS_FOR_BUILD) ++CPPFLAGS=$(CPPFLAGS_FOR_BUILD) ++LDFLAGS=$(LDFLAGS_FOR_BUILD) ++ ++CC=$(CC_FOR_BUILD) ++LIBTOOL = @LIBTOOL@ --tag=CC ++ ++noinst_PROGRAMS = mkg3states ++ ++mkg3states_SOURCES = \ ++ mkg3states.c ++ ++mkg3states_CFLAGS=$(CFLAGS_FOR_BUILD) ++mkg3states_LDFLAGS=$(LDFLAGS_FOR_BUILD) +diff -uNr liblbxutil-1.1.0.orig/src/Makefile.am liblbxutil-1.1.0/src/Makefile.am +--- liblbxutil-1.1.0.orig/src/Makefile.am 2009-12-16 10:48:11.000000000 +0100 ++++ liblbxutil-1.1.0/src/Makefile.am 2009-12-16 10:46:47.000000000 +0100 +@@ -3,10 +3,7 @@ + AM_CFLAGS = $(CWARNFLAGS) $(LBXUTIL_CFLAGS) + INCLUDES = -I$(top_srcdir)/include + +-noinst_PROGRAMS = mkg3states +- +-mkg3states_SOURCES = \ +- $(srcdir)/image/mkg3states.c ++SUBDIRS = image + + liblbxutil_la_SOURCES = \ + $(srcdir)/lbx_zlib/reqstats.h \ +@@ -38,9 +35,8 @@ + + $(srcdir)/image/dfaxg42d.c: g3states.h + +-g3states.h: mkg3states +- -rm -f g3states.h +- $(AM_V_GEN) ./mkg3states -c > g3states.h_ && mv g3states.h_ g3states.h ++g3states.h: image/mkg3states ++ $(AM_V_GEN) ./image/mkg3states -c > g3states.h_ && mv g3states.h_ g3states.h + + liblbxutil_la_LDFLAGS = -version-number 1:0:0 -no-undefined + 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 00000000000..52235866e98 --- /dev/null +++ b/meta-oe/recipes-graphics/xorg-lib/liblbxutil_1.1.0.bb @@ -0,0 +1,14 @@ +require xorg-lib-common.inc + +LIC_FILES_CHKSUM = "file://COPYING;md5=b0d5bdc98f7ebab3b6c3791d9bf40907" + +DESCRIPTION = "XFIXES Extension" +DEPENDS += " xextproto xproto zlib" +PE = "1" +PR = "${INC_PR}.0" + +SRC_URI += "file://mkg3states-1.1.patch" +SRC_URI[md5sum] = "273329a78c2e9ea189ac416c7fde94a1" +SRC_URI[sha256sum] = "c6b6ff7858ec619cafa8205debca6bf78c5610a2844a782ed643c7fd017cf8ae" + +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 00000000000..1a30e345f9b --- /dev/null +++ b/meta-oe/recipes-graphics/xorg-lib/libx11-1.4.1/keysymdef_include.patch @@ -0,0 +1,19 @@ +diff -uNr libX11-1.3.6.orig//configure.ac libX11-1.3.6/configure.ac +--- libX11-1.3.6.orig//configure.ac 2010-09-20 08:04:16.000000000 +0200 ++++ libX11-1.3.6/configure.ac 2010-09-28 16:29:26.000000000 +0200 +@@ -355,7 +355,14 @@ + # Find keysymdef.h + # + AC_MSG_CHECKING([keysym definitions]) +-KEYSYMDEFDIR=`$PKG_CONFIG --variable=includedir xproto`/X11 ++AC_ARG_WITH(keysymdefdir, ++ AC_HELP_STRING([--with-keysymdefdir=DIR], [The location of keysymdef.h]), ++ KEYSYMDEFDIR=$withval, KEYSYMDEFDIR="") ++ ++if test x$KEYSYMDEFDIR = x; then ++ KEYSYMDEFDIR=`$PKG_CONFIG --variable=includedir xproto`/X11 ++fi ++ + FILES="keysymdef.h XF86keysym.h Sunkeysym.h DECkeysym.h HPkeysym.h" + for i in $FILES; do + 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 00000000000..9763313975e --- /dev/null +++ b/meta-oe/recipes-graphics/xorg-lib/libx11-1.4.1/x11_disable_makekeys.patch @@ -0,0 +1,29 @@ +Index: libX11-1.3.4/src/util/Makefile.am +=================================================================== +--- libX11-1.3.4.orig/src/util/Makefile.am ++++ libX11-1.3.4/src/util/Makefile.am +@@ -1,24 +1 @@ +- +-noinst_PROGRAMS=makekeys +- +-makekeys_CFLAGS = \ +- $(X11_CFLAGS) \ +- $(CWARNFLAGS) +- +-CC = @CC_FOR_BUILD@ +-CPPFLAGS = @CPPFLAGS_FOR_BUILD@ +-CFLAGS = @CFLAGS_FOR_BUILD@ +-LDFLAGS = @LDFLAGS_FOR_BUILD@ +- + EXTRA_DIST = mkks.sh +- +-if LINT +-# Check source code with tools like lint & sparse +- +-ALL_LINT_FLAGS=$(LINT_FLAGS) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ +- $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) +- +-lint: +- $(LINT) $(ALL_LINT_FLAGS) makekeys.c +- +-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 00000000000..1a30e345f9b --- /dev/null +++ b/meta-oe/recipes-graphics/xorg-lib/libx11-1.4.3/keysymdef_include.patch @@ -0,0 +1,19 @@ +diff -uNr libX11-1.3.6.orig//configure.ac libX11-1.3.6/configure.ac +--- libX11-1.3.6.orig//configure.ac 2010-09-20 08:04:16.000000000 +0200 ++++ libX11-1.3.6/configure.ac 2010-09-28 16:29:26.000000000 +0200 +@@ -355,7 +355,14 @@ + # Find keysymdef.h + # + AC_MSG_CHECKING([keysym definitions]) +-KEYSYMDEFDIR=`$PKG_CONFIG --variable=includedir xproto`/X11 ++AC_ARG_WITH(keysymdefdir, ++ AC_HELP_STRING([--with-keysymdefdir=DIR], [The location of keysymdef.h]), ++ KEYSYMDEFDIR=$withval, KEYSYMDEFDIR="") ++ ++if test x$KEYSYMDEFDIR = x; then ++ KEYSYMDEFDIR=`$PKG_CONFIG --variable=includedir xproto`/X11 ++fi ++ + FILES="keysymdef.h XF86keysym.h Sunkeysym.h DECkeysym.h HPkeysym.h" + for i in $FILES; do + 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 00000000000..9763313975e --- /dev/null +++ b/meta-oe/recipes-graphics/xorg-lib/libx11-1.4.3/x11_disable_makekeys.patch @@ -0,0 +1,29 @@ +Index: libX11-1.3.4/src/util/Makefile.am +=================================================================== +--- libX11-1.3.4.orig/src/util/Makefile.am ++++ libX11-1.3.4/src/util/Makefile.am +@@ -1,24 +1 @@ +- +-noinst_PROGRAMS=makekeys +- +-makekeys_CFLAGS = \ +- $(X11_CFLAGS) \ +- $(CWARNFLAGS) +- +-CC = @CC_FOR_BUILD@ +-CPPFLAGS = @CPPFLAGS_FOR_BUILD@ +-CFLAGS = @CFLAGS_FOR_BUILD@ +-LDFLAGS = @LDFLAGS_FOR_BUILD@ +- + EXTRA_DIST = mkks.sh +- +-if LINT +-# Check source code with tools like lint & sparse +- +-ALL_LINT_FLAGS=$(LINT_FLAGS) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \ +- $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS) +- +-lint: +- $(LINT) $(ALL_LINT_FLAGS) makekeys.c +- +-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 00000000000..d1e646af0a6 --- /dev/null +++ b/meta-oe/recipes-graphics/xorg-lib/libx11.inc @@ -0,0 +1,52 @@ +require xorg-lib-common.inc + +DESCRIPTION = "Base X libs." +COMMON_DEPENDS = "util-macros xtrans libxdmcp libxau \ + bigreqsproto xproto xextproto xcmiscproto \ + xf86bigfontproto kbproto inputproto xproto-native" + +DEPENDS = "libxcb ${COMMON_DEPENDS}" +DEPENDS_virtclass-native = "${COMMON_DEPENDS}" +DEPENDS_virtclass-nativesdk = "${COMMON_DEPENDS}" + +FILESPATHPKG .= ":libx11-${PV}:libx11" +BBCLASSEXTEND = "native nativesdk" +PROVIDES = "virtual/libx11" +PE = "1" + +PACKAGES =+ "${PN}-xcb" + +FILES_${PN} += "${datadir}/X11/XKeysymDB ${datadir}/X11/XErrorDB ${libdir}/X11/Xcms.txt" +FILES_${PN}-xcb += "${libdir}/libX11-xcb.so.*" +FILES_${PN}-locale += "${datadir}/X11/locale ${libdir}/X11/locale" + +XORG_PN = "libX11" + +EXTRA_OECONF += " --with-xcb --with-keysymdefdir=${STAGING_INCDIR}/X11 --with-groff=no --with-ps2pdf=no --with-fop=no" +EXTRA_OECONF_virtclass-native = " --without-xcb --with-groff=no --with-ps2pdf=no --with-fop=no" +EXTRA_OECONF_virtclass-nativesdk = " --without-xcb --with-groff=no --with-ps2pdf=no --with-fop=no" + +# Below option is added to overcome the GCC bug on ARM +# see http://gcc.gnu.org/PR42981 for further details. +# We could potentially take it off when its fixed in gcc 4.5 + +CFLAGS_append_arm = " -fforward-propagate " + +SRC_URI += " file://keysymdef_include.patch \ + file://x11_disable_makekeys.patch \ +" + +do_compile_prepend() { + ( + unset CC LD CXX CCLD CFLAGS CPPFLAGS LDFLAGS CXXFLAGS + cd src/util; + mv makekeys.c.orig makekeys.c || true + # MIN_REHASH 10 is only in 1.0.1 + sed -i -e 's:MIN_REHASH 10:MIN_REHASH 16:g' makekeys.c + sed -i -e 's:MIN_REHASH 15:MIN_REHASH 16:g' makekeys.c + touch makekeys-makekeys.o ; ${BUILD_CC} ${BUILD_CFLAGS} -I${STAGING_INCDIR_NATIVE} makekeys.c -o makekeys + # mv to stop it getting rebuilt + mv makekeys.c makekeys.c.orig + cd ../../ + ) || exit 1 +} 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 00000000000..a4423305ec8 --- /dev/null +++ b/meta-oe/recipes-graphics/xorg-lib/libx11_1.4.1.bb @@ -0,0 +1,12 @@ +require libx11.inc + +LICENSE = "MIT & MIT-style & BSD" +LIC_FILES_CHKSUM = "file://COPYING;md5=172255dee66bb0151435b2d5d709fcf7" + +#--without-xcb is not an option anymore +#http://cgit.freedesktop.org/xorg/lib/libX11/commit/?id=15e5eaf62897b3179d1fbe457cb19f886f0449f8 +DEPENDS_virtclass-native = "libxcb-native ${COMMON_DEPENDS}" +PR = "${INC_PR}.0" + +SRC_URI[md5sum] = "4603bdbce1bd73cbc140de402fe6ed24" +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 00000000000..481b90f3862 --- /dev/null +++ b/meta-oe/recipes-graphics/xorg-lib/libx11_1.4.3.bb @@ -0,0 +1,12 @@ +require libx11.inc + +LICENSE = "MIT & MIT-style & BSD" +LIC_FILES_CHKSUM = "file://COPYING;md5=172255dee66bb0151435b2d5d709fcf7" + +#--without-xcb is not an option anymore +#http://cgit.freedesktop.org/xorg/lib/libX11/commit/?id=15e5eaf62897b3179d1fbe457cb19f886f0449f8 +DEPENDS_virtclass-native = "libxcb-native ${COMMON_DEPENDS}" +PR = "${INC_PR}.0" + +SRC_URI[md5sum] = "85e942627aaa020813e0eb8433353563" +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 00000000000..980de3a30c8 --- /dev/null +++ b/meta-oe/recipes-graphics/xorg-lib/libxaw_1.0.9.bb @@ -0,0 +1,28 @@ +require xorg-lib-common.inc +DESCRIPTION = "X Athena Widget Set" +DEPENDS += "xproto virtual/libx11 libxext xextproto libxt libxmu libxpm libxp printproto libxau" + +LIC_FILES_CHKSUM = "file://COPYING;md5=f1beacbc336a5a256bb28dbfcf01c2be" + +PE = "1" +PR = "${INC_PR}.0" + +SRC_URI[md5sum] = "ccc57478c41b7a75b9702241b889b1d4" +SRC_URI[sha256sum] = "a83977546b78e24ac5dca86affc10b6404a87c16272405b05386feca1a2db037" + +# disable docs as groff detection doesn't work on some hosts while cross compilling +EXTRA_OECONF += " --disable-docs " + +do_install_append () { + ln -sf libXaw6.so.6 ${D}${libdir}/libXaw.so.6 + ln -sf libXaw7.so.7 ${D}${libdir}/libXaw.so.7 + ln -sf libXaw7.so.7 ${D}${libdir}/libXaw.so +} + +PACKAGES =+ "libxaw6 libxaw7 libxaw8" + +FILES_libxaw6 = "${libdir}/libXaw*.so.6*" +FILES_libxaw7 = "${libdir}/libXaw*.so.7*" +FILES_libxaw8 = "${libdir}/libXaw8.so.8*" + +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 00000000000..4ca1ea284b8 --- /dev/null +++ b/meta-oe/recipes-graphics/xorg-lib/libxfixes_5.0.bb @@ -0,0 +1,22 @@ +SUMMARY = "XFixes: X Fixes extension library." + +DESCRIPTION = "X applications have often needed to work around various \ +shortcomings in the core X window system. This extension is designed to \ +provide the minimal server-side support necessary to eliminate problems \ +caused by these workarounds." + +require xorg-lib-common.inc + +LICENSE = "MIT-style" +LIC_FILES_CHKSUM = "file://COPYING;md5=3c1ce42c334a6f5cccb0277556a053e0" + +DEPENDS += "virtual/libx11 xproto fixesproto xextproto" +PE = "1" +PR = "${INC_PR}.0" + +SRC_URI[md5sum] = "678071bd7f9f7467e2fc712d81022318" +SRC_URI[sha256sum] = "537a2446129242737a35db40081be4bbcc126e56c03bf5f2b142b10a79cda2e3" + +BBCLASSEXTEND = "native" + +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 00000000000..94299c09132 --- /dev/null +++ b/meta-oe/recipes-graphics/xorg-lib/libxi_1.4.2.bb @@ -0,0 +1,21 @@ +require xorg-lib-common.inc + +SUMMARY = "XI: X Input extension library" + +DESCRIPTION = "libxi is an extension to the X11 protocol to support \ +input devices other than the core X keyboard and pointer. It allows \ +client programs to select input from these devices independently from \ +each other and independently from the core devices." + +LICENSE = "MIT & MIT-style" +LIC_FILES_CHKSUM = "file://COPYING;md5=17b064789fab936a1c58c4e13d965b0f \ + file://src/XIGetDevFocus.c;endline=23;md5=cdfb0d435a33ec57ea0d1e8e395b729f" + +DEPENDS += "libxext inputproto" +PE = "1" +PR = "${INC_PR}.0" + +SRC_URI[md5sum] = "3d14f7bfc4a4335cf0144de9b67a5444" +SRC_URI[sha256sum] = "272b8041efc0a0203fb0ba33481ddec989539aed862181b58c8c3e410e325691" + +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 00000000000..499caf16cd4 --- /dev/null +++ b/meta-oe/recipes-graphics/xorg-lib/libxkbui_1.0.2.bb @@ -0,0 +1,10 @@ +require xorg-lib-common.inc +DESCRIPTION = "X11 keyboard UI presentation library" +LICENSE = "GPL" +LIC_FILES_CHKSUM = "file://COPYING;md5=4641deddaa80fe7ca88e944e1fd94a94" +DEPENDS += "virtual/libx11 libxt libxkbfile" +PE = "1" +PR = "${INC_PR}.0" + +SRC_URI[md5sum] = "1143e456f7429e18e88f2eadb2f2b6b1" +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 00000000000..8c22f62eca2 --- /dev/null +++ b/meta-oe/recipes-graphics/xorg-lib/libxt_1.1.1.bb @@ -0,0 +1,37 @@ +require xorg-lib-common.inc + +SUMMARY = "Xt: X Toolkit Intrinsics library" + +DESCRIPTION = "The Intrinsics are a programming library tailored to the \ +special requirements of user interface construction within a network \ +window system, specifically the X Window System. The Intrinsics and a \ +widget set make up an X Toolkit. The Intrinsics provide the base \ +mechanism necessary to build a wide variety of interoperating widget \ +sets and application environments. The Intrinsics are a layer on top of \ +Xlib, the C Library X Interface. They extend the fundamental \ +abstractions provided by the X Window System while still remaining \ +independent of any particular user interface policy or style." + +LICENSE = "MIT & MIT-style" +LIC_FILES_CHKSUM = "file://COPYING;md5=3239170e81427c5948287df07691f03f" + +DEPENDS += "libsm virtual/libx11 kbproto" +PE = "1" +PR = "${INC_PR}.0" + +SRC_URI[md5sum] = "eb22c0a1f172b06b97a3f5ae89768412" +SRC_URI[sha256sum] = "a2a1c29c684e3c9082cdb920b5aea802b179d19107b9ab2170fda07575559da7" + +EXTRA_OECONF += "--disable-install-makestrs --disable-xkb" + +do_compile() { + ( + unset CC LD CXX CCLD + 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 + ) || exit 1 + oe_runmake +} + +BBCLASSEXTEND = "native" + +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 b3fbd4f155b..b66bc2a7357 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 @@ require pixman.inc -SRC_URI[archive.md5sum] = "c1a31d5cedfa97c5af7148a2d1fd4356" -SRC_URI[archive.sha256sum] = "9c02c22c6cc3f28f3633d02ef6f0cac130518f621edb011ebbbf08cd1a81251a" +SRC_URI[md5sum] = "c1a31d5cedfa97c5af7148a2d1fd4356" +SRC_URI[sha256sum] = "9c02c22c6cc3f28f3633d02ef6f0cac130518f621edb011ebbbf08cd1a81251a" PR = "${INC_PR}.0" 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 f0e9e388b17..237e4efa691 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 @@ require pixman.inc -SRC_URI[archive.md5sum] = "e50975ace979cd416a505827c15191b4" -SRC_URI[archive.sha256sum] = "57783330ee2f96121dc267b7f25b98356fd09fe9de185cd39e72e906b6444013" +SRC_URI[md5sum] = "e50975ace979cd416a505827c15191b4" +SRC_URI[sha256sum] = "57783330ee2f96121dc267b7f25b98356fd09fe9de185cd39e72e906b6444013" LICENSE = "MIT & MIT-style & Public Domain" 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 93212c591f5..2f733750741 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 @@ HOMEPAGE = "http://www.x.org" BUGTRACKER = "https://bugs.freedesktop.org/enter_bug.cgi?product=xorg" - SECTION = "x11/libs" LICENSE = "MIT-X" 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 00000000000..004813f668c --- /dev/null +++ b/meta-oe/recipes-graphics/xorg-proto/fixesproto_5.0.bb @@ -0,0 +1,21 @@ +require xorg-proto-common.inc +SUMMARY = "XFixes: X Fixes extension headers" + +DESCRIPTION = "This package provides the wire protocol for the X Fixes \ +extension. This extension is designed to provide server-side support \ +for application work arounds to shortcomings in the core X window \ +system." + + +LICENSE = "MIT & MIT-style" +LIC_FILES_CHKSUM = "file://COPYING;md5=262a7a87da56e66dd639bf7334a110c6 \ + file://xfixesproto.h;endline=44;md5=3deb31fbde34b96c9f19072b8d854fea" + +PE = "1" +PR = "${INC_PR}.0" + +SRC_URI[md5sum] = "e7431ab84d37b2678af71e29355e101d" +SRC_URI[sha256sum] = "ba2f3f31246bdd3f2a0acf8bd3b09ba99cab965c7fb2c2c92b7dc72870e424ce" + + +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 00000000000..9272ac1fffe --- /dev/null +++ b/meta-oe/recipes-graphics/xorg-proto/xextproto_7.2.0.bb @@ -0,0 +1,19 @@ +require xorg-proto-common.inc +SUMMARY = "XExt: X Extension headers" + +DESCRIPTION = "This package provides the wire protocol for several X \ +extensions. These protocol extensions include DOUBLE-BUFFER, DPMS, \ +Extended-Visual-Information, LBX, MIT_SHM, MIT_SUNDRY-NONSTANDARD, \ +Multi-Buffering, SECURITY, SHAPE, SYNC, TOG-CUP, XC-APPGROUP, XC-MISC, \ +XTEST. In addition a small set of utility functions are also \ +available." + +LICENSE = "MIT & MIT-style" +LIC_FILES_CHKSUM = "file://COPYING;md5=86f273291759d0ba2a22585cd1c06c53" + +PE = "1" +PR = "${INC_PR}.0" + +SRC_URI[md5sum] = "220732210ceffb01bf1caf970e3b1bfb" +SRC_URI[sha256sum] = "d2bc4208c6b1883ebe00bc5c0048e5d825038cda56775f74bb4aa89afdc576d5" + 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 3e7c701c799..dc6fedf164d 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 @@ DESCRIPTION = "X protocol headers: ${BPN}" HOMEPAGE = "http://www.x.org" +BUGTRACKER = "https://bugs.freedesktop.org/enter_bug.cgi?product=xorg" SECTION = "x11/libs" LICENSE = "MIT-X" @@ -9,9 +10,10 @@ ALLOW_EMPTY = "1" INC_PR = "r2" -SRC_URI = "${XORG_MIRROR}/individual/proto/${BPN}-${PV}.tar.bz2;name=archive" +SRC_URI = "${XORG_MIRROR}/individual/proto/${BPN}-${PV}.tar.bz2" S = "${WORKDIR}/${BPN}-${PV}" inherit autotools pkgconfig +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 00000000000..2bc95097de4 --- /dev/null +++ b/meta-oe/recipes-graphics/xorg-proto/xproto_7.0.21.bb @@ -0,0 +1,16 @@ +require xorg-proto-common.inc + +SUMMARY = "Xlib: C Language X interface headers" + +DESCRIPTION = "This package provides the basic headers for the X Window \ +System." + +LICENSE = "MIT & MIT-style" +LIC_FILES_CHKSUM = "file://COPYING;md5=b9e051107d5628966739a0b2e9b32676" + +PE = "1" +PR = "${INC_PR}.0" + +SRC_URI[md5sum] = "c5a93a69b701cf81925fab02b35b0d0e" +SRC_URI[sha256sum] = "38ee2f032c3a9e30504593f8b5e6c1161a6629daba93748a71c6f70c16f65548" + 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 00000000000..3f4471aee6c --- /dev/null +++ b/meta-oe/recipes-graphics/xorg-util/util-macros_1.13.0.bb @@ -0,0 +1,15 @@ +require xorg-util-common.inc + +DESCRIPTION = "X autotools macros" +PE = "1" + +LICENSE = "MIT & MIT-style" +LIC_FILES_CHKSUM = "file://COPYING;md5=1970511fddd439b07a6ba789d28ff662" + +ALLOW_EMPTY = "1" +BBCLASSEXTEND = "native nativesdk" + +PR = "${INC_PR}.0" + +SRC_URI[md5sum] = "31e9ddcbc1d8bc8c09ab180443974dd1" +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 00000000000..e5c8ce93047 --- /dev/null +++ b/meta-oe/recipes-graphics/xorg-util/xorg-util-common.inc @@ -0,0 +1,11 @@ +HOMEPAGE = "http://www.x.org" +SECTION = "x11/utils" +LICENSE = "MIT-X" + +INC_PR = "r2" + +SRC_URI = "${XORG_MIRROR}/individual/util/${BPN}-${PV}.tar.gz" + +S = "${WORKDIR}/${BPN}-${PV}" + +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 00000000000..79f13fc135c --- /dev/null +++ b/meta-oe/recipes-graphics/xorg-xserver/xorg-xserver-common.inc @@ -0,0 +1,112 @@ +HOMEPAGE = "http://www.x.org" +SECTION = "x11/base" +LICENSE = "MIT-X" +LIC_FILES_CHKSUM = "file://COPYING;md5=3dd2bbe3563837f80ed8926b06c1c353" + +INC_PR = "r18" + +PROVIDES = "virtual/xserver" + +# Config manager for xserver, options are: hal, udev, empty (for configuration in xorg.conf) +DISTRO_XORG_CONFIG_MANAGER ?= "hal" +DISTRO_XORG_CONFIG_MANAGER_shr ?= "udev" + +# default none, enabled by DISTRO_XORG_CONFIG_MANAGER setting +CONFIG_MANAGER_OPTION += "${@['--disable-config-hal','--enable-config-hal',''][bb.data.getVar('DISTRO_XORG_CONFIG_MANAGER',d) in ['hal']]}" +CONFIG_MANAGER_OPTION += "${@['--disable-config-udev','--enable-config-udev',''][bb.data.getVar('DISTRO_XORG_CONFIG_MANAGER',d) in ['udev']]}" + +DEPENDS = "fontconfig freetype flex-native liblbxutil kbproto \ +xf86driproto drm glproto randrproto renderproto fixesproto damageproto \ +xcmiscproto xextproto xproto xf86miscproto xf86vidmodeproto xf86bigfontproto \ +scrnsaverproto bigreqsproto resourceproto fontsproto inputproto \ +xf86dgaproto videoproto compositeproto trapproto recordproto dmxproto \ +resourceproto xineramaproto xtrans evieext libxkbfile libxfont libxau \ +libfontenc libxdmcp libxxf86vm libxaw libxmu libxt libxpm libxext libx11 \ +libxkbui libxxf86misc libxi libdmx libxtst libxres virtual/libgl libxcalibrate \ +libxv ${DISTRO_XORG_CONFIG_MANAGER}" + +RRECOMMENDS_${PN} = "libpciaccess" + +XORG_PN = "xorg-server" +SRC_URI = "${XORG_MIRROR}/individual/xserver/${XORG_PN}-${PV}.tar.bz2" + +S = "${WORKDIR}/${XORG_PN}-${PV}" + +inherit autotools pkgconfig glx-use-tls + +EXTRA_OECONF += " --enable-xcalibrate \ + --enable-kdrive \ + --enable-xephyr \ + --disable-xfbdev \ + --disable-xnest \ + --disable-kdrive-vesa \ + --with-default-font-path="/usr/share/fonts/X11/misc" \ + ac_cv_file__usr_share_sgml_X11_defs_ent=no" + +# CONFIG_MANAGER_OPTION is used only in recipes which support those options + +EXTRA_OECONF_append_arm = " ac_cv_header_linux_apm_bios_h=no " + +PACKAGES =+ "xserver-security-policy" +FILES_xserver-security-policy += "${libdir}/xserver/SecurityPolicy" +RRECOMMENDS_${PN} += "xserver-security-policy xkeyboard-config rgb xserver-xorg-conf" + +PACKAGES =+ "${PN}-sdl ${PN}-fbdev ${PN}-xprint ${PN}-xvfb ${PN}-utils ${PN}-xephyr" + +RDEPENDS_${PN}-xvfb += "xkeyboard-config" + +FILES_${PN}-fbdev = "${bindir}/Xfbdev" +FILES_${PN}-sdl = "${bindir}/Xsdl" +FILES_${PN}-xprint = "${libdir}/X11/xserver/*/print" +FILES_${PN}-xvfb = "${bindir}/Xvfb" +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" +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" +FILES_${PN}-doc += "${libdir}/X11/doc /usr/share/X11/xkb/compiled/README.compiled" +FILES_${PN}-xephyr = "${bindir}/Xephyr" + +FILES_${PN}-dbg += "${libdir}/xorg/modules/.debug \ + ${libdir}/xorg/modules/*/.debug \ + ${libdir}/xorg/modules/*/*/.debug \ + " + +# Split out some modules and extensions from the main package +# These aren't needed for basic operations and only take up space: +# 32.0k libdri.so +# 336.0k libglx.so +# 1360k libint10.so +# 180.0k libwfb.so +# 320.0k libxaa.so +# 124.0k libxf1bpp.so +# 84.0k libxf4bpp.so + +PACKAGES =+ "${PN}-extension-dri \ + ${PN}-extension-dri2 \ + ${PN}-extension-glx \ + ${PN}-module-libint10 \ + ${PN}-module-libafb \ + ${PN}-module-libwfb \ + ${PN}-module-libmfb \ + ${PN}-module-libcfb \ + ${PN}-module-xaa \ + ${PN}-module-libxf1bpp \ + ${PN}-module-libxf4bpp" + +FILES_${PN}-extension-dri = "${libdir}/xorg/modules/extensions/libdri.so" +FILES_${PN}-extension-dri2 = "${libdir}/xorg/modules/extensions/libdri2.so" +FILES_${PN}-extension-glx = "${libdir}/xorg/modules/extensions/libglx.so" +FILES_${PN}-module-libint10 = "${libdir}/xorg/modules/libint10.so" +FILES_${PN}-module-libafb = "${libdir}/xorg/modules/libafb.so" +FILES_${PN}-module-libwfb = "${libdir}/xorg/modules/libwfb.so" +FILES_${PN}-module-libmfb = "${libdir}/xorg/modules/libmfb.so" +FILES_${PN}-module-libcfb = "${libdir}/xorg/modules/libcfb.so" +FILES_${PN}-module-xaa = "${libdir}/xorg/modules/libxaa.so" +FILES_${PN}-module-libxf1bpp = "${libdir}/xorg/modules/libxf1bpp.so" +FILES_${PN}-module-libxf4bpp = "${libdir}/xorg/modules/libxf4bpp.so" + +PACKAGES =+ "${PN}-multimedia-modules" + +FILES_${PN}-multimedia-modules = "${libdir}/xorg/modules/multimedia/*drv*" + +do_install_append () { + ln -sf ${datadir}/fonts/X11 ${D}/${libdir}/X11/fonts +} 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 00000000000..a947582f153 --- /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 @@ +diff --git a/fb/fbcopy.c b/fb/fbcopy.c +index 07eb663..ba394b7 100644 +--- a/fb/fbcopy.c ++++ b/fb/fbcopy.c +@@ -91,8 +91,7 @@ fbCopyNtoN (DrawablePtr pSrcDrawable, + while (nbox--) + { + #ifndef FB_ACCESS_WRAPPER /* pixman_blt() doesn't support accessors yet */ +- if (pm == FB_ALLONES && alu == GXcopy && !reverse && +- !upsidedown) ++ if (pm == FB_ALLONES && alu == GXcopy) + { + if (!pixman_blt ((uint32_t *)src, (uint32_t *)dst, srcStride, dstStride, srcBpp, dstBpp, + (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 00000000000..d3661cbea2f --- /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 @@ +Ugly hack that prevents server termination with xf86-video-fbdev-0.4.1 +(and probably other) while returning from chvt or resume on some +hardware (e. g. zaurus). + +Correct fix would require debugging of fbdev mode during LeaveVT and +EnterVT. + +This patch may cause staying in incorrect or corrupted display mode +after EnterVT, but on man affected devices it does not cause any visible +problems. + +Hacked code is never called on properly written drivers. + +Devices affected and testers involved for future patch removal: +Sharp Zaurus (spitz/akita): Stanislav Brabec <utx@penguin.cz> + +See also: +https://bugzilla.redhat.com/show_bug.cgi?id=238451 + +The bug (first line indicates that your device is affected): + +(EE) FBDEV(0): FBIOPUT_VSCREENINFO succeeded but modified mode + +Fatal server error: +EnterVT failed for screen 0 + +Index: xorg-server-1.7.3/hw/xfree86/fbdevhw/fbdevhw.c +=================================================================== +--- xorg-server-1.7.3.orig/hw/xfree86/fbdevhw/fbdevhw.c ++++ xorg-server-1.7.3/hw/xfree86/fbdevhw/fbdevhw.c +@@ -571,7 +571,7 @@ fbdevHWSetMode(ScrnInfoPtr pScrn, Displa + #if DEBUG + print_fbdev_mode("returned", &set_var); + #endif +- return FALSE; ++ /* return FALSE; UGLY HACK to allow return from chvt */ + } + + 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 00000000000..e332ce0bbee --- /dev/null +++ b/meta-oe/recipes-graphics/xorg-xserver/xserver-xorg-1.9.4/dolt-fix.patch @@ -0,0 +1,22 @@ +Index: xorg-server/m4/dolt.m4 +=================================================================== +--- xorg-server.orig/m4/dolt.m4 2009-04-14 21:14:56.000000000 +0400 ++++ xorg-server/m4/dolt.m4 2009-07-15 12:38:33.796848843 +0400 +@@ -147,7 +147,7 @@ + cat <<__DOLTLIBTOOL__EOF__ > doltlibtool + #!$DOLT_BASH + __DOLTLIBTOOL__EOF__ +- cat <<'__DOLTLIBTOOL__EOF__' >>doltlibtool ++ cat <<'__DOLTLIBTOOL__EOF__' | sed -e "s/@host_alias@/$host_alias/g" >>doltlibtool + top_builddir_slash="${0%%doltlibtool}" + : ${top_builddir_slash:=./} + args=() +@@ -163,7 +163,7 @@ + if $modeok && $tagok ; then + . ${top_builddir_slash}doltcompile "${args@<:@@@:>@}" + else +- exec ${top_builddir_slash}libtool "$[]@" ++ exec ${top_builddir_slash}@host_alias@-libtool "$[]@" + fi + __DOLTLIBTOOL__EOF__ + 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 00000000000..a947582f153 --- /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 @@ +diff --git a/fb/fbcopy.c b/fb/fbcopy.c +index 07eb663..ba394b7 100644 +--- a/fb/fbcopy.c ++++ b/fb/fbcopy.c +@@ -91,8 +91,7 @@ fbCopyNtoN (DrawablePtr pSrcDrawable, + while (nbox--) + { + #ifndef FB_ACCESS_WRAPPER /* pixman_blt() doesn't support accessors yet */ +- if (pm == FB_ALLONES && alu == GXcopy && !reverse && +- !upsidedown) ++ if (pm == FB_ALLONES && alu == GXcopy) + { + if (!pixman_blt ((uint32_t *)src, (uint32_t *)dst, srcStride, dstStride, srcBpp, dstBpp, + (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 00000000000..d3661cbea2f --- /dev/null +++ b/meta-oe/recipes-graphics/xorg-xserver/xserver-xorg-1.9.4/hack-fbdev-ignore-return-mode.patch @@ -0,0 +1,39 @@ +Ugly hack that prevents server termination with xf86-video-fbdev-0.4.1 +(and probably other) while returning from chvt or resume on some +hardware (e. g. zaurus). + +Correct fix would require debugging of fbdev mode during LeaveVT and +EnterVT. + +This patch may cause staying in incorrect or corrupted display mode +after EnterVT, but on man affected devices it does not cause any visible +problems. + +Hacked code is never called on properly written drivers. + +Devices affected and testers involved for future patch removal: +Sharp Zaurus (spitz/akita): Stanislav Brabec <utx@penguin.cz> + +See also: +https://bugzilla.redhat.com/show_bug.cgi?id=238451 + +The bug (first line indicates that your device is affected): + +(EE) FBDEV(0): FBIOPUT_VSCREENINFO succeeded but modified mode + +Fatal server error: +EnterVT failed for screen 0 + +Index: xorg-server-1.7.3/hw/xfree86/fbdevhw/fbdevhw.c +=================================================================== +--- xorg-server-1.7.3.orig/hw/xfree86/fbdevhw/fbdevhw.c ++++ xorg-server-1.7.3/hw/xfree86/fbdevhw/fbdevhw.c +@@ -571,7 +571,7 @@ fbdevHWSetMode(ScrnInfoPtr pScrn, Displa + #if DEBUG + print_fbdev_mode("returned", &set_var); + #endif +- return FALSE; ++ /* return FALSE; UGLY HACK to allow return from chvt */ + } + + 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 00000000000..abc7db41eba --- /dev/null +++ b/meta-oe/recipes-graphics/xorg-xserver/xserver-xorg-1.9.4/randr-support.patch @@ -0,0 +1,102 @@ +diff -uNr xorg-server-1.9.0.orig//hw/xfree86/common/xf86Xinput.c xorg-server-1.9.0/hw/xfree86/common/xf86Xinput.c +--- xorg-server-1.9.0.orig//hw/xfree86/common/xf86Xinput.c 2010-08-13 07:53:48.000000000 +0200 ++++ xorg-server-1.9.0/hw/xfree86/common/xf86Xinput.c 2010-08-28 21:31:10.000000000 +0200 +@@ -106,6 +106,8 @@ + + #include "os.h" + ++#define RR_Rotate_All (RR_Rotate_0|RR_Rotate_90|RR_Rotate_180|RR_Rotate_270) ++ + EventListPtr xf86Events = NULL; + + /** +@@ -1359,4 +1361,73 @@ + EnableDevice(dev, TRUE); + } + ++/* Taken from evdev-properties.h. */ ++#define EVDEV_PROP_SWAP_AXES "Evdev Axes Swap" ++#define EVDEV_PROP_INVERT_AXES "Evdev Axis Inversion" ++ ++/* This is a hack until we get device -> CRTC association. */ ++void ++xf86InputRotationNotify(Rotation rotation) ++{ ++ DeviceIntPtr dev; ++ LocalDevicePtr local; ++ int ret; ++ int swap_axes = 0; ++ CARD8 invert[2] = { 0, 0 }; ++ static Atom prop_swap = 0, prop_invert = 0; ++ static int atom_generation = -1; ++ ++ if (atom_generation != serverGeneration) { ++ prop_swap = 0; ++ prop_invert = 0; ++ } ++ ++ switch (rotation & RR_Rotate_All) { ++ case RR_Rotate_0: ++ swap_axes = 1; ++ invert[0] = 0; ++ invert[1] = 0; ++ break; ++ case RR_Rotate_90: ++ swap_axes = 0; ++ invert[0] = 0; ++ invert[1] = 1; ++ break; ++ case RR_Rotate_180: ++ swap_axes = 1; ++ invert[0] = 0; ++ invert[1] = 0; ++ break; ++ case RR_Rotate_270: ++ swap_axes = 0; ++ invert[0] = 0; ++ invert[1] = 1; ++ break; ++ } ++ ++ if (!prop_swap) ++ prop_swap = MakeAtom(EVDEV_PROP_SWAP_AXES, ++ strlen(EVDEV_PROP_SWAP_AXES), TRUE); ++ if (!prop_invert) ++ prop_invert = MakeAtom(EVDEV_PROP_INVERT_AXES, ++ strlen(EVDEV_PROP_INVERT_AXES), TRUE); ++ ++ for (dev = inputInfo.devices; dev; dev = dev->next) { ++ local = dev->public.devicePrivate; ++ ret = XIChangeDeviceProperty(dev, prop_swap, XA_INTEGER, 8, ++ PropModeReplace, 1, &swap_axes, FALSE); ++ if (ret != Success) { ++ xf86Msg(X_ERROR, "Changing swap_xy property failed!\n"); ++ continue; ++ } ++ ret = XIChangeDeviceProperty(dev, prop_invert, XA_INTEGER, 8, ++ PropModeReplace, 2, invert, FALSE); ++ if (ret != Success) { ++ xf86Msg(X_ERROR, "Changing invert property failed!\n"); ++ continue; ++ } ++ } ++} ++ ++ + /* end of xf86Xinput.c */ +diff -uNr xorg-server-1.9.0.orig//hw/xfree86/modes/xf86Crtc.c xorg-server-1.9.0/hw/xfree86/modes/xf86Crtc.c +--- xorg-server-1.9.0.orig//hw/xfree86/modes/xf86Crtc.c 2010-07-20 05:24:12.000000000 +0200 ++++ xorg-server-1.9.0/hw/xfree86/modes/xf86Crtc.c 2010-08-28 21:28:48.000000000 +0200 +@@ -387,6 +387,12 @@ + if (didLock) + crtc->funcs->unlock (crtc); + ++ /* ++ * Rotate Touchscreen ++ */ ++ xf86InputRotationNotify(crtc->rotation); ++ ++ + return ret; + } + 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 00000000000..983bb0823a7 --- /dev/null +++ b/meta-oe/recipes-graphics/xorg-xserver/xserver-xorg-conf/am3517-evm/xorg.conf @@ -0,0 +1,29 @@ +Section "Module" + Load "extmod" + Load "dbe" + Load "glx" + Load "freetype" + Load "type1" + Load "record" + Load "dri" +EndSection + +Section "Monitor" + Identifier "Builtin Default Monitor" +EndSection + +Section "Device" + Identifier "Builtin Default fbdev Device 0" + Driver "omapfb" +EndSection + +Section "Screen" + Identifier "Builtin Default fbdev Screen 0" + Device "Builtin Default fbdev Device 0" + Monitor "Builtin Default Monitor" +EndSection + +Section "ServerLayout" + Identifier "Builtin Default Layout" + Screen "Builtin Default fbdev Screen 0" +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 00000000000..983bb0823a7 --- /dev/null +++ b/meta-oe/recipes-graphics/xorg-xserver/xserver-xorg-conf/am37x-evm/xorg.conf @@ -0,0 +1,29 @@ +Section "Module" + Load "extmod" + Load "dbe" + Load "glx" + Load "freetype" + Load "type1" + Load "record" + Load "dri" +EndSection + +Section "Monitor" + Identifier "Builtin Default Monitor" +EndSection + +Section "Device" + Identifier "Builtin Default fbdev Device 0" + Driver "omapfb" +EndSection + +Section "Screen" + Identifier "Builtin Default fbdev Screen 0" + Device "Builtin Default fbdev Device 0" + Monitor "Builtin Default Monitor" +EndSection + +Section "ServerLayout" + Identifier "Builtin Default Layout" + Screen "Builtin Default fbdev Screen 0" +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 00000000000..983bb0823a7 --- /dev/null +++ b/meta-oe/recipes-graphics/xorg-xserver/xserver-xorg-conf/archos5/xorg.conf @@ -0,0 +1,29 @@ +Section "Module" + Load "extmod" + Load "dbe" + Load "glx" + Load "freetype" + Load "type1" + Load "record" + Load "dri" +EndSection + +Section "Monitor" + Identifier "Builtin Default Monitor" +EndSection + +Section "Device" + Identifier "Builtin Default fbdev Device 0" + Driver "omapfb" +EndSection + +Section "Screen" + Identifier "Builtin Default fbdev Screen 0" + Device "Builtin Default fbdev Device 0" + Monitor "Builtin Default Monitor" +EndSection + +Section "ServerLayout" + Identifier "Builtin Default Layout" + Screen "Builtin Default fbdev Screen 0" +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 00000000000..983bb0823a7 --- /dev/null +++ b/meta-oe/recipes-graphics/xorg-xserver/xserver-xorg-conf/archos5it/xorg.conf @@ -0,0 +1,29 @@ +Section "Module" + Load "extmod" + Load "dbe" + Load "glx" + Load "freetype" + Load "type1" + Load "record" + Load "dri" +EndSection + +Section "Monitor" + Identifier "Builtin Default Monitor" +EndSection + +Section "Device" + Identifier "Builtin Default fbdev Device 0" + Driver "omapfb" +EndSection + +Section "Screen" + Identifier "Builtin Default fbdev Screen 0" + Device "Builtin Default fbdev Device 0" + Monitor "Builtin Default Monitor" +EndSection + +Section "ServerLayout" + Identifier "Builtin Default Layout" + Screen "Builtin Default fbdev Screen 0" +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 00000000000..7f3eb7797f5 --- /dev/null +++ b/meta-oe/recipes-graphics/xorg-xserver/xserver-xorg-conf/at91sam9263ek/xorg.conf @@ -0,0 +1,11 @@ +Section "ServerLayout" + Identifier "default" + InputDevice "atmel-ts" "CorePointer" +EndSection + +Section "InputDevice" + Identifier "atmel-ts" + Driver "evdev" + Option "SwapAxes" "1" + Option "Device" "/dev/input/touchscreen0" +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 00000000000..0502f8737cf --- /dev/null +++ b/meta-oe/recipes-graphics/xorg-xserver/xserver-xorg-conf/at91sam9g45ek/xorg.conf @@ -0,0 +1,23 @@ +Section "ServerLayout" + Identifier "default" + InputDevice "atmel-tsadcc" "CorePointer" +EndSection + +Section "InputDevice" + Identifier "atmel-tsadcc" + Driver "evdev" + Option "Device" "/dev/input/touchscreen0" +EndSection + +Section "InputDevice" + Driver "mouse" + Identifier "Mouse[1]" + Option "Buttons" "10" + Option "Device" "/dev/input/mice" +EndSection + +Section "InputDevice" + Driver "kbd" + Identifier "Keyboard[0]" + Option "Protocol" "Standard" +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 00000000000..d4d41db42d7 --- /dev/null +++ b/meta-oe/recipes-graphics/xorg-xserver/xserver-xorg-conf/babbage/xorg.conf @@ -0,0 +1,56 @@ +# +# X11 configuration for i.MX51 Babbage EVK +# Based on pm9263 by Koan sas +# + +Section "Monitor" + Identifier "Display" +EndSection + +Section "Device" + Identifier "fbdevice" + Driver "fbdev" + Option "fbdev" "/dev/fb0" + Option "shadowfb" "true" +EndSection + +Section "Screen" + Identifier "fbscreen" + Device "fbdevice" + Monitor "Display" +EndSection + +Section "InputDevice" + Identifier "mxc_ts" + Driver "evdev" + Option "SwapAxes" "0" + Option "Device" "/dev/input/touchscreen0" +EndSection + +Section "InputDevice" + Identifier "Generic Mouse" + Driver "mouse" + Option "CorePointer" +EndSection + +Section "InputDevice" + Identifier "Keypad" + Driver "evdev" + Option "Device" "/dev/input/event0" +# Option "XkbModel" "nokiarx51" +# Option "XkbLayout" "us" +EndSection + +Section "ServerLayout" + Identifier "Layout" + Screen "fbscreen" + InputDevice "mxc_ts" "CorePointer" + InputDevice "Keypad" +# Enable mouse only if necessary, it may interfere with touchscreen behaviour +# InputDevice "Generic Mouse" +EndSection + +#Section "ServerFlags" +# Option "AutoAddDevices" "false" +#EndSection + 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 00000000000..983bb0823a7 --- /dev/null +++ b/meta-oe/recipes-graphics/xorg-xserver/xserver-xorg-conf/beagleboard/xorg.conf @@ -0,0 +1,29 @@ +Section "Module" + Load "extmod" + Load "dbe" + Load "glx" + Load "freetype" + Load "type1" + Load "record" + Load "dri" +EndSection + +Section "Monitor" + Identifier "Builtin Default Monitor" +EndSection + +Section "Device" + Identifier "Builtin Default fbdev Device 0" + Driver "omapfb" +EndSection + +Section "Screen" + Identifier "Builtin Default fbdev Screen 0" + Device "Builtin Default fbdev Device 0" + Monitor "Builtin Default Monitor" +EndSection + +Section "ServerLayout" + Identifier "Builtin Default Layout" + Screen "Builtin Default fbdev Screen 0" +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 00000000000..cf684ec1770 --- /dev/null +++ b/meta-oe/recipes-graphics/xorg-xserver/xserver-xorg-conf/bug/xorg.conf @@ -0,0 +1,75 @@ +# +# Initial version of X11 configuration for BugLabs BUG device. +# +# Up to 2 LCD modules are supported (as DISPLAY=0.0/0.1). +# Touchscreen on both screen works properly (req tslib 0.0.6 driver). +# +# Mouse is not supported yet because the evdev driver need a precise +# dev node and evdev dev nodes are somewhat random +# + +Section "Monitor" + Identifier "Monitor 1" +EndSection + +Section "Monitor" + Identifier "Monitor 2" +EndSection + +Section "Device" + Identifier "fbdev Device 2" + Driver "fbdev" + Option "fbdev" "/dev/fb2" + Option "shadowfb" "true" +EndSection + +Section "Device" + Identifier "fbdev Device 1" + Driver "fbdev" + Option "fbdev" "/dev/fb1" + Option "shadowfb" "true" +EndSection + +Section "Screen" + Identifier "fbdev Screen 2" + Device "fbdev Device 2" + Monitor "Monitor 2" +EndSection + +Section "Screen" + Identifier "fbdev Screen 1" + Device "fbdev Device 1" + Monitor "Monitor 1" +EndSection + +Section "ServerLayout" + Identifier "Layout" + Screen "fbdev Screen 1" + Screen "fbdev Screen 2" Below "fbdev Screen 1" + InputDevice "ts4" + InputDevice "ts5" + InputDevice "Keyboard" +EndSection + +Section "InputDevice" + Identifier "ts5" + Driver "tslib" + Option "Device" "/dev/input/bmi_lcd_ts5" + Option "ScreenNumber" "1" +EndSection + +Section "InputDevice" + Identifier "ts4" + Driver "tslib" + Option "Device" "/dev/input/bmi_lcd_ts4" + Option "ScreenNumber" "0" +EndSection + +Section "InputDevice" + Identifier "Keyboard" + Driver "kbd" +EndSection + +Section "ServerFlags" + Option "AutoAddDevices" "false" +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 00000000000..6301d069005 --- /dev/null +++ b/meta-oe/recipes-graphics/xorg-xserver/xserver-xorg-conf/bug20/xorg.conf @@ -0,0 +1,37 @@ +Section "Module" + Load "extmod" + Load "dbe" + Load "glx" + Load "freetype" +# Load "type1" +# Load "record" + Load "dri" +EndSection + +Section "Monitor" + Identifier "Builtin Default Monitor" +EndSection + +Section "Device" + Identifier "Builtin Default fbdev Device 0" + Driver "omapfb" +EndSection + +Section "Screen" + Identifier "Builtin Default fbdev Screen 0" + Device "Builtin Default fbdev Device 0" + Monitor "Builtin Default Monitor" +EndSection + +Section "ServerLayout" + Identifier "Builtin Default Layout" + Screen "Builtin Default fbdev Screen 0" + InputDevice "bmi-lcd-ts" "CorePointer" +EndSection + +Section "InputDevice" + Identifier "bmi-lcd-ts" + Driver "tslib" + Option "SwapAxes" "1" + Option "Device" "/dev/input/touchscreen0" +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 00000000000..07d849d705a --- /dev/null +++ b/meta-oe/recipes-graphics/xorg-xserver/xserver-xorg-conf/cm-t35/xorg.conf @@ -0,0 +1,29 @@ +Section "Module" + Load "extmod" + Load "dbe" + Load "glx" + Load "freetype" + Load "type1" + Load "record" + Load "dri" +EndSection + +Section "Monitor" + Identifier "Builtin Default Monitor" +EndSection + +Section "Device" + Identifier "Builtin Default fbdev Device 0" + Driver "omapfb" +EndSection + +Section "Screen" + Identifier "Builtin Default fbdev Screen 0" + Device "Builtin Default fbdev Device 0" + Monitor "Builtin Default Monitor" +EndSection + +Section "ServerLayout" + Identifier "Builtin Default Layout" + Screen "Builtin Default fbdev Screen 0" +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 00000000000..983bb0823a7 --- /dev/null +++ b/meta-oe/recipes-graphics/xorg-xserver/xserver-xorg-conf/dm37x-evm/xorg.conf @@ -0,0 +1,29 @@ +Section "Module" + Load "extmod" + Load "dbe" + Load "glx" + Load "freetype" + Load "type1" + Load "record" + Load "dri" +EndSection + +Section "Monitor" + Identifier "Builtin Default Monitor" +EndSection + +Section "Device" + Identifier "Builtin Default fbdev Device 0" + Driver "omapfb" +EndSection + +Section "Screen" + Identifier "Builtin Default fbdev Screen 0" + Device "Builtin Default fbdev Device 0" + Monitor "Builtin Default Monitor" +EndSection + +Section "ServerLayout" + Identifier "Builtin Default Layout" + Screen "Builtin Default fbdev Screen 0" +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 00000000000..4ee293b797c --- /dev/null +++ b/meta-oe/recipes-graphics/xorg-xserver/xserver-xorg-conf/eee701/xorg.conf @@ -0,0 +1,97 @@ +Section "ServerLayout" + Identifier "X.org Configured" + Screen 0 "Screen0" 0 0 + InputDevice "Touchpad" + InputDevice "Keyboard" + InputDevice "Mouse" + Option "AllowEmptyInput" "false" +EndSection + +Section "Files" + ModulePath "/usr/lib/xorg/modules" + FontPath "/usr/share/fonts/X11/misc" +EndSection + +Section "Module" + Load "dbe" + Load "extmod" +EndSection + +Section "InputDevice" + Identifier "Keyboard" + Driver "kbd" + Option "CoreKeyboard" +EndSection + +Section "InputDevice" + Identifier "Touchpad" + Driver "synaptics" + Option "TapButton1" "1" + Option "CorePointer" +EndSection + +Section "InputDevice" + Identifier "Mouse" + Driver "mouse" + Option "Protocol" "Auto" +EndSection + + +Section "Monitor" + Identifier "Monitor0" + VendorName "Monitor Vendor" + ModelName "Monitor Model" +EndSection + +Section "Device" + ### Available Driver options are:- + ### Values: <i>: integer, <f>: float, <bool>: "True"/"False", + ### <string>: "String", <freq>: "<f> Hz/kHz/MHz" + ### [arg]: arg optional + #Option "NoAccel" # [<bool>] + #Option "SWcursor" # [<bool>] + #Option "ColorKey" # <i> + #Option "CacheLines" # <i> + #Option "Dac6Bit" # [<bool>] + #Option "DRI" # [<bool>] + #Option "NoDDC" # [<bool>] + #Option "ShowCache" # [<bool>] + #Option "XvMCSurfaces" # <i> + #Option "PageFlip" # [<bool>] + Identifier "Card0" + Driver "intel" + VendorName "Unknown Vendor" + BoardName "Unknown Board" + BusID "PCI:0:2:0" +EndSection + +Section "Screen" + Identifier "Screen0" + Device "Card0" + Monitor "Monitor0" + SubSection "Display" + Viewport 0 0 + Depth 1 + EndSubSection + SubSection "Display" + Viewport 0 0 + Depth 4 + EndSubSection + SubSection "Display" + Viewport 0 0 + Depth 8 + EndSubSection + SubSection "Display" + Viewport 0 0 + Depth 15 + EndSubSection + SubSection "Display" + Viewport 0 0 + Depth 16 + EndSubSection + SubSection "Display" + Viewport 0 0 + Depth 24 + EndSubSection +EndSection + 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 00000000000..be3c6ec545f --- /dev/null +++ b/meta-oe/recipes-graphics/xorg-xserver/xserver-xorg-conf/htcdream/xorg.conf @@ -0,0 +1,69 @@ +Section "Monitor" + Identifier "Monitor0" + Mode "320x480" + DotClock 0 + HTimings 320 320 320 320 + VTimings 480 480 480 480 + Flags "-HSync" "-VSync" + EndMode +EndSection + +Section "Device" + Identifier "fbdev" + Driver "fbdev" + Option "ShadowFB" "on" + Option "Rotate" "CW" # comment for disabling rotation +EndSection + +Section "Screen" + Identifier "Framebuffer" + Device "fbdev" + Monitor "Monitor0" + DefaultFbBpp 16 + SubSection "Display" + Depth 16 + Modes "320x480" + EndSubSection +EndSection + + +Section "ServerLayout" + Identifier "Builtin Default Layout" + Screen "Framebuffer" + InputDevice "Trackball" + InputDevice "Touchscreen" + InputDevice "Keyboard" +EndSection + +Section "InputDevice" + Identifier "Trackball" + Driver "evdev" + Option "Device" "/dev/input/event2" + Option "ScreenNumber" "0" + Option "ReportingMode" "Raw" + Option "SwapAxes" "True" # comment for disabling rotation + Option "InvertY" "True" # comment for disabling rotation +EndSection + + +Section "InputDevice" + Identifier "Touchscreen" + Driver "evdev" + Option "Device" "/dev/input/event1" + Option "SwapAxes" "True" # comment for disabling rotation + Option "InvertY" "True" # comment for disabling rotation + Option "ReportingMode" "Raw" +EndSection + +Section "InputDevice" + Identifier "Keyboard" + Driver "kbd" + Option "XkbLayout" "us" + Option "XkbModel" "htcdream" +EndSection + + +Section "ServerFlags" + Option "AutoAddDevices" "false" +EndSection + 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 00000000000..4153a262815 --- /dev/null +++ b/meta-oe/recipes-graphics/xorg-xserver/xserver-xorg-conf/htcleo/xorg.conf @@ -0,0 +1,73 @@ +Section "Monitor" + Identifier "Monitor0" + Mode "480x800" + DotClock 0 + HTimings 480 480 480 480 + VTimings 800 800 800 800 + Flags "-HSync" "-VSync" + EndMode +EndSection + + + +Section "Device" + Identifier "fbdev" + Driver "fbdev" + Option "ShadowFB" "on" + #Option "Rotate" "CW" +EndSection + + +Section "Screen" + Identifier "Framebuffer" + Device "fbdev" + Monitor "Monitor" + DefaultFbBpp 16 + SubSection "Display" + Depth 16 + Modes "480x800" + EndSubSection +EndSection + +Section "Screen" + Identifier "480x800x16" + Device "fbdev" + Monitor "Monitor" + DefaultFbBpp 16 + SubSection "Display" + Depth 16 + Modes "480x800" + EndSubSection +EndSection + + +Section "ServerLayout" + Identifier "Builtin Default Layout" + Screen "Framebuffer" + InputDevice "Touchscreen" "CorePointer" + InputDevice "Keyboard" "CoreKeyboard" +EndSection + +Section "InputDevice" + Identifier "Mouse0" + Driver "mouse" + Option "Protocol" "auto" + Option "Device" "/dev/input/mice" + Option "Emulate3Buttons" "no" + Option "ZAxisMapping" "4 5" +EndSection + + +Section "InputDevice" + Identifier "Touchscreen" + Driver "tslib" + Option "Protocol" "auto" + Option "Device" "/dev/input/event0" + Option "CorePointer" "true" +EndSection + +Section "InputDevice" + Identifier "Keyboard" + Driver "kbd" + Option "XkbLayout" "en_US" +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 00000000000..07d849d705a --- /dev/null +++ b/meta-oe/recipes-graphics/xorg-xserver/xserver-xorg-conf/igep0020/xorg.conf @@ -0,0 +1,29 @@ +Section "Module" + Load "extmod" + Load "dbe" + Load "glx" + Load "freetype" + Load "type1" + Load "record" + Load "dri" +EndSection + +Section "Monitor" + Identifier "Builtin Default Monitor" +EndSection + +Section "Device" + Identifier "Builtin Default fbdev Device 0" + Driver "omapfb" +EndSection + +Section "Screen" + Identifier "Builtin Default fbdev Screen 0" + Device "Builtin Default fbdev Device 0" + Monitor "Builtin Default Monitor" +EndSection + +Section "ServerLayout" + Identifier "Builtin Default Layout" + Screen "Builtin Default fbdev Screen 0" +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 00000000000..95a15235b94 --- /dev/null +++ b/meta-oe/recipes-graphics/xorg-xserver/xserver-xorg-conf/ion/xorg.conf @@ -0,0 +1,51 @@ +# xorg.conf (X.Org X Window System server configuration file) +# +# This file was generated by dexconf, the Debian X Configuration tool, using +# values from the debconf database. +# +# Edit this file with caution, and see the xorg.conf manual page. +# (Type "man xorg.conf" at the shell prompt.) +# +# This file is automatically updated on xserver-xorg package upgrades *only* +# if it has not been modified since the last upgrade of the xserver-xorg +# package. +# +# Note that some configuration settings that could be done previously +# in this file, now are automatically configured by the server and settings +# here are ignored. +# +# If you have edited this file but would like it to be automatically updated +# again, run the following command: +# sudo dpkg-reconfigure -phigh xserver-xorg + +Section "Device" + Identifier "NVidia" + Driver "nvidia" +# Option "NoLogo" "True" +EndSection + +Section "Monitor" + Identifier "DELL 2007WFP" +# Option "DPMS" + HorizSync 30.0-83.0 + VertRefresh 56.0-76.0 + ModeLine "1680x1050" 119.0 1680 1728 1760 1840 1050 1053 1059 1080 -HSync +VSync +EndSection + +Section "Screen" + Identifier "Default Screen" + Device "NVidia" + Monitor "DELL 2007WFP" + DefaultDepth 24 + SubSection "Display" + Depth 24 + Modes "1680x1050" + ViewPort 0 0 + EndSubSection +EndSection + +Section "Module" + Load "glx" +EndSection + + 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 00000000000..83ac9c14864 --- /dev/null +++ b/meta-oe/recipes-graphics/xorg-xserver/xserver-xorg-conf/iphone3g/xorg.conf @@ -0,0 +1,29 @@ +Section "Device" + Identifier "Builtin Default fbdev Device 0" + Driver "fbdev" + Option "ShadowFB" "on" +EndSection + +Section "Screen" + Identifier "Builtin Default fbdev Screen 0" + Device "Builtin Default fbdev Device 0" +EndSection + + +Section "InputDevice" + Identifier "touchscreen" + Driver "evdev" + Option "Device" "/dev/input/event2" + Option "ReportingMode" "Raw" + Option "SendCoreEvents" "On" + Option "GrabDevices" "True" + Option "InvertY" "0" + Option "SwapAxes" "0" +EndSection + + +Section "ServerLayout" + Identifier "Builtin Default Layout" + Screen "Builtin Default fbdev Screen 0" + InputDevice "touchscreen" "CorePointer" "AlwaysCore" +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 00000000000..4c275c9dc47 --- /dev/null +++ b/meta-oe/recipes-graphics/xorg-xserver/xserver-xorg-conf/mh355/xorg.conf @@ -0,0 +1,47 @@ +# +# X11 configuration for Microhard MH355 device +# (C)2010 Koan sas - www.KoanSoftware.com +# + +Section "Monitor" + Identifier "Display" +EndSection + +Section "Device" + Identifier "fbdevice" + Driver "fbdev" + Option "fbdev" "/dev/fb0" + Option "shadowfb" "true" +EndSection + +Section "Screen" + Identifier "fbscreen" + Device "fbdevice" + Monitor "Display" +EndSection + +Section "InputDevice" + Identifier "mh355-ts" + Driver "evdev" + Option "SwapAxes" "1" + Option "Device" "/dev/input/touchscreen0" +EndSection + +Section "InputDevice" + Identifier "Generic Mouse" + Driver "mouse" + Option "CorePointer" +EndSection + +Section "ServerLayout" + Identifier "Layout" + Screen "fbscreen" + InputDevice "mh355-ts" "CorePointer" +# Enable mouse only if necessary, it may interfere with touchscreen behaviour +# InputDevice "Generic Mouse" +EndSection + +Section "ServerFlags" + Option "AutoAddDevices" "false" +EndSection + 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 00000000000..983bb0823a7 --- /dev/null +++ b/meta-oe/recipes-graphics/xorg-xserver/xserver-xorg-conf/nokia800/xorg.conf @@ -0,0 +1,29 @@ +Section "Module" + Load "extmod" + Load "dbe" + Load "glx" + Load "freetype" + Load "type1" + Load "record" + Load "dri" +EndSection + +Section "Monitor" + Identifier "Builtin Default Monitor" +EndSection + +Section "Device" + Identifier "Builtin Default fbdev Device 0" + Driver "omapfb" +EndSection + +Section "Screen" + Identifier "Builtin Default fbdev Screen 0" + Device "Builtin Default fbdev Device 0" + Monitor "Builtin Default Monitor" +EndSection + +Section "ServerLayout" + Identifier "Builtin Default Layout" + Screen "Builtin Default fbdev Screen 0" +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 00000000000..d9d742ffb04 --- /dev/null +++ b/meta-oe/recipes-graphics/xorg-xserver/xserver-xorg-conf/nokia900/xorg.conf @@ -0,0 +1,62 @@ +Section "Module" + Load "extmod" + Load "dbe" + Load "glx" + Load "freetype" + Load "type1" + Load "record" + Load "dri" +EndSection + +Section "Monitor" + Identifier "Default Monitor" +EndSection + +Section "Device" + Identifier "Default omapfb Device" + Driver "omapfb" + Option "fb" "/dev/fb0" + +EndSection + +Section "InputDevice" + Identifier "gpio-keys" + Driver "evdev" + Option "Device" "/dev/input/event0" +EndSection + +Section "InputDevice" + Identifier "twl4030_pwrbutton" + Driver "evdev" + Option "Device" "/dev/input/event3" +EndSection + + +Section "InputDevice" + Identifier "Keyboard" + Driver "evdev" + Option "Device" "/dev/input/event1" + Option "XkbModel" "nokiarx51" + Option "XkbLayout" "us" + Option "CoreKeyboard" +EndSection + +Section "InputDevice" + Identifier "Touchscreen" + Driver "evdev" + Option "Device" "/dev/input/event2" +EndSection + +Section "Screen" + Identifier "Default Screen" + Device "Default omapfb Device" +EndSection + +Section "ServerLayout" + Identifier "Default Layout" + Screen "Default Screen" + InputDevice "Touchscreen" + InputDevice "Keyboard" + InputDevice "gpio-keys" + InputDevice "twl4030_pwrbutton" +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 00000000000..edb5e0ee411 --- /dev/null +++ b/meta-oe/recipes-graphics/xorg-xserver/xserver-xorg-conf/om-gta01/xorg.conf @@ -0,0 +1,49 @@ +Section "Monitor" + Identifier "LCD Panel" +EndSection + + +Section "Device" + Identifier "Fbdev" + Driver "fbdev" +EndSection + + +Section "Screen" + Identifier "Default Screen" + Device "Fbdev" + Monitor "LCD Panel" +EndSection + + +Section "InputDevice" + Identifier "Power Button" + Driver "evdev" + Option "Device" "/dev/input/event2" +EndSection + + +Section "InputDevice" + Identifier "AUX Button" + Driver "evdev" + Option "Device" "/dev/input/event0" +EndSection + + +Section "InputDevice" + Identifier "Touchscreen" + Driver "evdev" + Option "Device" "/dev/input/event1" +EndSection + +Section "ServerFlags" + Option "AutoAddDevices" "False" +EndSection + +Section "ServerLayout" + Identifier "Default Layout" + Screen "Default Screen" + InputDevice "Power Button" + InputDevice "AUX Button" + InputDevice "Touchscreen" +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 00000000000..de6ed1c14f1 --- /dev/null +++ b/meta-oe/recipes-graphics/xorg-xserver/xserver-xorg-conf/om-gta02/xorg.conf @@ -0,0 +1,55 @@ +Section "Module" + Load "glx" + Load "dri2" +EndSection + + +Section "Monitor" + Identifier "LCD Panel" +EndSection + + +Section "Device" + Identifier "Glamo Graphics Chip" + Driver "glamo" +EndSection + + +Section "Screen" + Identifier "Default Screen" + Device "Glamo Graphics Chip" + Monitor "LCD Panel" +EndSection + + +Section "InputDevice" + Identifier "Power Button" + Driver "evdev" + Option "Device" "/dev/input/event0" +EndSection + + +Section "InputDevice" + Identifier "AUX Button" + Driver "evdev" + Option "Device" "/dev/input/event2" +EndSection + + +Section "InputDevice" + Identifier "Touchscreen" + Driver "evdev" + Option "Device" "/dev/input/event1" +EndSection + +Section "ServerFlags" + Option "AutoAddDevices" "False" +EndSection + +Section "ServerLayout" + Identifier "Default Layout" + Screen "Default Screen" + InputDevice "Power Button" + InputDevice "AUX Button" + InputDevice "Touchscreen" +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 00000000000..446ac9777fa --- /dev/null +++ b/meta-oe/recipes-graphics/xorg-xserver/xserver-xorg-conf/omap3-pandora/xorg.conf @@ -0,0 +1,24 @@ +Section "Module" + Load "extmod" + Load "dbe" +EndSection + +Section "Monitor" + Identifier "Builtin Default Monitor" +EndSection + +Section "Device" + Identifier "Builtin Default fbdev Device 0" + Driver "omapfb" +EndSection + +Section "Screen" + Identifier "Builtin Default fbdev Screen 0" + Device "Builtin Default fbdev Device 0" + Monitor "Builtin Default Monitor" +EndSection + +Section "ServerLayout" + Identifier "Builtin Default Layout" + Screen "Builtin Default fbdev Screen 0" +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 00000000000..56425abf81a --- /dev/null +++ b/meta-oe/recipes-graphics/xorg-xserver/xserver-xorg-conf/omap3-touchbook/xorg.conf @@ -0,0 +1,25 @@ +Section "Module" + Load "extmod" + Load "dbe" +EndSection + +Section "Monitor" + Identifier "Builtin Default Monitor" +EndSection + +Section "Device" + Identifier "Builtin Default fbdev Device 0" + Driver "fbdev" + Option "ShadowFB" "false" +EndSection + +Section "Screen" + Identifier "Builtin Default fbdev Screen 0" + Device "Builtin Default fbdev Device 0" + Monitor "Builtin Default Monitor" +EndSection + +Section "ServerLayout" + Identifier "Builtin Default Layout" + Screen "Builtin Default fbdev Screen 0" +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 00000000000..983bb0823a7 --- /dev/null +++ b/meta-oe/recipes-graphics/xorg-xserver/xserver-xorg-conf/omap3/xorg.conf @@ -0,0 +1,29 @@ +Section "Module" + Load "extmod" + Load "dbe" + Load "glx" + Load "freetype" + Load "type1" + Load "record" + Load "dri" +EndSection + +Section "Monitor" + Identifier "Builtin Default Monitor" +EndSection + +Section "Device" + Identifier "Builtin Default fbdev Device 0" + Driver "omapfb" +EndSection + +Section "Screen" + Identifier "Builtin Default fbdev Screen 0" + Device "Builtin Default fbdev Device 0" + Monitor "Builtin Default Monitor" +EndSection + +Section "ServerLayout" + Identifier "Builtin Default Layout" + Screen "Builtin Default fbdev Screen 0" +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 00000000000..983bb0823a7 --- /dev/null +++ b/meta-oe/recipes-graphics/xorg-xserver/xserver-xorg-conf/omap3evm/xorg.conf @@ -0,0 +1,29 @@ +Section "Module" + Load "extmod" + Load "dbe" + Load "glx" + Load "freetype" + Load "type1" + Load "record" + Load "dri" +EndSection + +Section "Monitor" + Identifier "Builtin Default Monitor" +EndSection + +Section "Device" + Identifier "Builtin Default fbdev Device 0" + Driver "omapfb" +EndSection + +Section "Screen" + Identifier "Builtin Default fbdev Screen 0" + Device "Builtin Default fbdev Device 0" + Monitor "Builtin Default Monitor" +EndSection + +Section "ServerLayout" + Identifier "Builtin Default Layout" + Screen "Builtin Default fbdev Screen 0" +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 00000000000..983bb0823a7 --- /dev/null +++ b/meta-oe/recipes-graphics/xorg-xserver/xserver-xorg-conf/omapzoom/xorg.conf @@ -0,0 +1,29 @@ +Section "Module" + Load "extmod" + Load "dbe" + Load "glx" + Load "freetype" + Load "type1" + Load "record" + Load "dri" +EndSection + +Section "Monitor" + Identifier "Builtin Default Monitor" +EndSection + +Section "Device" + Identifier "Builtin Default fbdev Device 0" + Driver "omapfb" +EndSection + +Section "Screen" + Identifier "Builtin Default fbdev Screen 0" + Device "Builtin Default fbdev Device 0" + Monitor "Builtin Default Monitor" +EndSection + +Section "ServerLayout" + Identifier "Builtin Default Layout" + Screen "Builtin Default fbdev Screen 0" +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 00000000000..983bb0823a7 --- /dev/null +++ b/meta-oe/recipes-graphics/xorg-xserver/xserver-xorg-conf/omapzoom2/xorg.conf @@ -0,0 +1,29 @@ +Section "Module" + Load "extmod" + Load "dbe" + Load "glx" + Load "freetype" + Load "type1" + Load "record" + Load "dri" +EndSection + +Section "Monitor" + Identifier "Builtin Default Monitor" +EndSection + +Section "Device" + Identifier "Builtin Default fbdev Device 0" + Driver "omapfb" +EndSection + +Section "Screen" + Identifier "Builtin Default fbdev Screen 0" + Device "Builtin Default fbdev Device 0" + Monitor "Builtin Default Monitor" +EndSection + +Section "ServerLayout" + Identifier "Builtin Default Layout" + Screen "Builtin Default fbdev Screen 0" +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 00000000000..983bb0823a7 --- /dev/null +++ b/meta-oe/recipes-graphics/xorg-xserver/xserver-xorg-conf/omapzoom36x/xorg.conf @@ -0,0 +1,29 @@ +Section "Module" + Load "extmod" + Load "dbe" + Load "glx" + Load "freetype" + Load "type1" + Load "record" + Load "dri" +EndSection + +Section "Monitor" + Identifier "Builtin Default Monitor" +EndSection + +Section "Device" + Identifier "Builtin Default fbdev Device 0" + Driver "omapfb" +EndSection + +Section "Screen" + Identifier "Builtin Default fbdev Screen 0" + Device "Builtin Default fbdev Device 0" + Monitor "Builtin Default Monitor" +EndSection + +Section "ServerLayout" + Identifier "Builtin Default Layout" + Screen "Builtin Default fbdev Screen 0" +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 00000000000..983bb0823a7 --- /dev/null +++ b/meta-oe/recipes-graphics/xorg-xserver/xserver-xorg-conf/overo/xorg.conf @@ -0,0 +1,29 @@ +Section "Module" + Load "extmod" + Load "dbe" + Load "glx" + Load "freetype" + Load "type1" + Load "record" + Load "dri" +EndSection + +Section "Monitor" + Identifier "Builtin Default Monitor" +EndSection + +Section "Device" + Identifier "Builtin Default fbdev Device 0" + Driver "omapfb" +EndSection + +Section "Screen" + Identifier "Builtin Default fbdev Screen 0" + Device "Builtin Default fbdev Device 0" + Monitor "Builtin Default Monitor" +EndSection + +Section "ServerLayout" + Identifier "Builtin Default Layout" + Screen "Builtin Default fbdev Screen 0" +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 00000000000..6915b87b96a --- /dev/null +++ b/meta-oe/recipes-graphics/xorg-xserver/xserver-xorg-conf/palmpre/xorg.conf @@ -0,0 +1,58 @@ +Section "Module" + Load "extmod" + Load "dbe" + Load "freetype" + Load "type1" + Load "record" + Load "dri" +EndSection + +Section "Monitor" + Identifier "Builtin Default Monitor" +EndSection + +Section "Device" + Identifier "Builtin Default fbdev Device 0" + Driver "omapfb" + Option "fb" "/dev/fb0" +EndSection + +Section "Screen" + Identifier "Builtin Default fbdev Screen 0" + Device "Builtin Default fbdev Device 0" + Monitor "Builtin Default Monitor" +EndSection + +Section "ServerLayout" + Identifier "Builtin Default Layout" + Screen "Builtin Default fbdev Screen 0" + InputDevice "Touchscreen" "CorePointer" +EndSection + +Section "InputDevice" + Identifier "Touchscreen" + Driver "evdev" + Option "Device" "/dev/input/event6" + Option "SendCoreEvents" "true" + Option "Protocol" "Auto" + Option "Width" "320" + Option "Height" "528" + Option "EmulateRightButton" "1" + Option "CorePointer" "true" +EndSection + +Section "InputDevice" + Identifier "Keyboard" + Driver "palm-pre" + Option "Device" "/dev/input/event2" + Option "SendCoreEvents" "true" + #Option "XkbModel" "palm-pre" + Option "XkbLayout" "palm-pre" +# Option "XKbOptions" "" +EndSection + +#Section "InputDevice" +# Identifier "Keyboard" +# Driver "evdev" +# Option "Device" "/dev/input/event2" +#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 00000000000..d4651ad8770 --- /dev/null +++ b/meta-oe/recipes-graphics/xorg-xserver/xserver-xorg-conf/ronetix-pm9263/xorg.conf @@ -0,0 +1,47 @@ +# +# X11 configuration for Ronetix PM9263 device. +# (C)2009-2010 Koan sas - www.KoanSoftware.com +# + +Section "Monitor" + Identifier "Display" +EndSection + +Section "Device" + Identifier "fbdevice" + Driver "fbdev" + Option "fbdev" "/dev/fb0" + Option "shadowfb" "true" +EndSection + +Section "Screen" + Identifier "fbscreen" + Device "fbdevice" + Monitor "Display" +EndSection + +Section "InputDevice" + Identifier "atmel-ts" + Driver "evdev" + Option "SwapAxes" "1" + Option "Device" "/dev/input/touchscreen0" +EndSection + +Section "InputDevice" + Identifier "Generic Mouse" + Driver "mouse" + Option "CorePointer" +EndSection + +Section "ServerLayout" + Identifier "Layout" + Screen "fbscreen" + InputDevice "atmel-ts" "CorePointer" +# Enable mouse only if necessary, it may interfere with touchscreen behaviour +# InputDevice "Generic Mouse" +EndSection + +Section "ServerFlags" + Option "AutoAddDevices" "false" +EndSection + 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 00000000000..224df5c8b05 --- /dev/null +++ b/meta-oe/recipes-graphics/xorg-xserver/xserver-xorg-conf/spitz/xorg.conf @@ -0,0 +1,49 @@ +Section "Device" + Identifier "Generic Video Card" + Driver "fbdev" + Option "UseFBDev" "true" + Option "Rotate" "CW" +EndSection + +Section "Monitor" + Identifier "Generic Monitor" + Option "DPMS" + HorizSync 28-32 + VertRefresh 43-60 +EndSection + +Section "Screen" + Identifier "Default Screen" + Device "Generic Video Card" + Monitor "Generic Monitor" + DefaultDepth 16 + SubSection "Display" + Depth 1 + Modes "640x480" + EndSubSection + SubSection "Display" + Depth 4 + Modes "640x480" + EndSubSection + SubSection "Display" + Depth 8 + Modes "640x480" + EndSubSection + SubSection "Display" + Depth 15 + Modes "640x480" + EndSubSection + SubSection "Display" + Depth 16 + Modes "640x480" + EndSubSection + SubSection "Display" + Depth 24 + Modes "640x480" + EndSubSection +EndSection + +Section "ServerLayout" + Identifier "Default Layout" + Screen "Default Screen" +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 00000000000..0f03faf33d1 --- /dev/null +++ b/meta-oe/recipes-graphics/xorg-xserver/xserver-xorg-conf/vortex86sx/xorg.conf @@ -0,0 +1,13 @@ +Section "Device" + Identifier "Card0" + Driver "vesa" +EndSection + +# SIS driver is proper one for this device but fails with misc errors. +#Section "Device" +# Identifier "Card0" +# Driver "sis" +# +# Disable MMX/SSE tests +# Option "BenchmarkMemCpy" "off" +#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 00000000000..2950193ce38 --- /dev/null +++ b/meta-oe/recipes-graphics/xorg-xserver/xserver-xorg-conf/xilinx-ml507/xorg.conf @@ -0,0 +1,39 @@ +Section "Monitor" + Identifier "LCD Panel" +EndSection + +Section "Device" + Identifier "Xilinx frame buffer" + Driver "fbdev" +EndSection + +Section "Screen" + Identifier "Default Screen" + Device "Xilinx frame buffer" + Monitor "LCD Panel" + SubSection "Display" + Depth 24 + Modes "640x480" + EndSubSection +EndSection + +Section "InputDevice" + Identifier "Keyboard" + Driver "kbd" +# Option "XkbLayout" "es" +# Option "XkbModel" "pc105" +EndSection + +Section "InputDevice" + Identifier "Mouse" + Driver "mouse" + Option "protocol" "auto" + Option "device" "/dev/input/mice" +EndSection + +Section "ServerLayout" + Identifier "Default Layout" + Screen "Default Screen" + InputDevice "Keyboard" + InputDevice "Mouse" +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 00000000000..61f0f9fcddf --- /dev/null +++ b/meta-oe/recipes-graphics/xorg-xserver/xserver-xorg-conf/xilinx-virtex5/xorg.conf @@ -0,0 +1,38 @@ +# Xorg conf file for Xilinx platforms +Section "Monitor" + Identifier "LCD Panel" +EndSection + +Section "Device" + Identifier "Xilinx frame buffer" + Driver "fbdev" +EndSection + +Section "Screen" + Identifier "Default Screen" + Device "Xilinx frame buffer" + Monitor "LCD Panel" + SubSection "Display" + Depth 24 + Modes "640x480" + EndSubSection +EndSection + +Section "InputDevice" + Identifier "Keyboard" + Driver "kbd" +EndSection + +Section "InputDevice" + Identifier "Mouse" + Driver "mouse" + Option "protocol" "auto" + Option "device" "/dev/input/mice" +EndSection + +Section "ServerLayout" + Identifier "Default Layout" + Screen 0 "Default Screen" 0 0 + InputDevice "Keyboard" + InputDevice "Mouse" +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 00000000000..e69de29bb2d --- /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 00000000000..ae4493d41d5 --- /dev/null +++ b/meta-oe/recipes-graphics/xorg-xserver/xserver-xorg-conf_0.1.bb @@ -0,0 +1,17 @@ +DESCRIPTION = "Machine specific xorg.conf files" +PR = "r43" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://${TOPDIR}/meta-shr/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420" + +SRC_URI = "file://xorg.conf" + +do_install() { + install -d ${D}/${sysconfdir}/X11 + install -m 0644 ${WORKDIR}/xorg.conf ${D}/${sysconfdir}/X11/ +} + +# Set some dependencies to make the confs actually work +RDEPENDS_omap3 = "xf86-video-omapfb" + +CONFFILES_${PN} += "${sysconfdir}/X11/xorg.conf" +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 00000000000..c1d956648aa --- /dev/null +++ b/meta-oe/recipes-graphics/xorg-xserver/xserver-xorg_1.10.0.901.bb @@ -0,0 +1,29 @@ +# Assign it here, since the hal->udev transition happens post 1.7 in angstrom +DISTRO_XORG_CONFIG_MANAGER_angstrom = "udev" + +require xorg-xserver-common.inc + +DESCRIPTION = "the X.Org X server" +DEPENDS += "pixman libpciaccess openssl dri2proto glproto xorg-minimal-fonts font-util-native" +PE = "2" +PR = "${INC_PR}.0" + +SRC_URI += " \ + file://hack-fbdev-ignore-return-mode.patch \ + file://hack-assume-pixman-supports-overlapped-blt.patch \ + " +SRC_URI[md5sum] = "d750cf5f6342b548b7ac2be56e9d1841" +SRC_URI[sha256sum] = "de18f52c35fc3d3f18c7e905296f9de5ac42dc71e4e01da9ae8e154a78c7771c" + +do_install_prepend() { + mkdir -p ${D}/${libdir}/X11/fonts +} + +# The NVidia driver requires Xinerama support in the X server. Ion uses it. +PACKAGE_ARCH_ion = "${MACHINE_ARCH}" +XINERAMA = "${@['--disable-xinerama','--enable-xinerama'][bb.data.getVar('MACHINE',d) in ['ion']]}" + +EXTRA_OECONF += " ${CONFIG_MANAGER_OPTION} ${XINERAMA} --disable-kdrive --disable-xephyr --disable-xsdl --disable-xfake --disable-xfbdev --disable-dmx" +EXTRA_OECONF += " --enable-dri2 --disable-unit-tests --disable-docs --disable-devel-docs" + +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 00000000000..086ac176f30 --- /dev/null +++ b/meta-oe/recipes-graphics/xorg-xserver/xserver-xorg_1.9.4.bb @@ -0,0 +1,31 @@ +# Assign it here, since the hal->udev transition happens post 1.7 in angstrom +DISTRO_XORG_CONFIG_MANAGER_angstrom = "udev" + +require xorg-xserver-common.inc + +DESCRIPTION = "the X.Org X server" +DEPENDS += "pixman libpciaccess openssl dri2proto glproto xorg-minimal-fonts font-util-native" +PE = "2" +PR = "${INC_PR}.0" + +SRC_URI += " \ + file://dolt-fix.patch \ + file://randr-support.patch \ + file://hack-fbdev-ignore-return-mode.patch \ + file://hack-assume-pixman-supports-overlapped-blt.patch \ + " +SRC_URI[md5sum] = "040f091dfdfb4e335116eb0032cc690b" +SRC_URI[sha256sum] = "ad11047ebba58f2e37b03c70c986db3ea0cc0f1a19d2d3612713ab77b8ec2458" + +do_install_prepend() { + mkdir -p ${D}/${libdir}/X11/fonts +} + +# The NVidia driver requires Xinerama support in the X server. Ion uses it. +PACKAGE_ARCH_ion = "${MACHINE_ARCH}" +XINERAMA = "${@['--disable-xinerama','--enable-xinerama'][bb.data.getVar('MACHINE',d) in ['ion']]}" + +EXTRA_OECONF += " ${CONFIG_MANAGER_OPTION} ${XINERAMA} --disable-kdrive --disable-xephyr --disable-xsdl --disable-xfake --disable-xfbdev --disable-dmx" +EXTRA_OECONF += " --enable-dri2 --disable-unit-tests --disable-docs --disable-devel-docs" + +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 00000000000..be441a35af8 --- /dev/null +++ b/meta-oe/recipes-graphics/xorg-xserver/xserver-xorg_git.bb @@ -0,0 +1,38 @@ +# Assign it here, since the hal->udev transition happens post 1.7 in angstrom +DISTRO_XORG_CONFIG_MANAGER_angstrom = "udev" + +require xorg-xserver-common.inc + +LICENSE = "MIT-X" +LIC_FILES_CHKSUM = "file://COPYING;md5=74df27b6254cc88d2799b5f4f5949c00" + +DESCRIPTION = "the X.Org X server" +DEPENDS += "pixman libpciaccess openssl dri2proto glproto xorg-minimal-fonts font-util-native" +PV = "1.10.0.901" +PR = "${INC_PR}.0" +PR_append = "+gitr${SRCPV}" +PE = "2" + +#DEFAULT_PREFERENCE = "-1" + +SRCREV = "1f51fe4f748b2997e466863d8387bd6791b32931" +SRC_URI = " \ + git://anongit.freedesktop.org/xorg/xserver;protocol=git;branch=server-1.10-branch \ + file://hack-fbdev-ignore-return-mode.patch \ + file://hack-assume-pixman-supports-overlapped-blt.patch \ +" + +S = "${WORKDIR}/git" + +do_install_prepend() { + mkdir -p ${D}/${libdir}/X11/fonts +} + +# The NVidia driver requires Xinerama support in the X server. Ion uses it. +PACKAGE_ARCH_ion = "${MACHINE_ARCH}" +XINERAMA = "${@['--disable-xinerama','--enable-xinerama'][bb.data.getVar('MACHINE',d) in ['ion']]}" + +EXTRA_OECONF += " ${CONFIG_MANAGER_OPTION} ${XINERAMA} --disable-kdrive --disable-xephyr --disable-xsdl --disable-xfake --disable-xfbdev --disable-dmx" +EXTRA_OECONF += " --enable-dri2 --disable-unit-tests --disable-docs --disable-devel-docs" + +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 00000000000..c04ad961a28 --- /dev/null +++ b/meta-oe/recipes-graphics/xserver-common/xserver-common-1.34/89xTs_Calibrate.xinput_calibrator.patch @@ -0,0 +1,12 @@ +Index: xserver-common/X11/Xsession.d/89xTs_Calibrate_xinput_calibrator +=================================================================== +--- xserver-common/X11/Xsession.d/89xTs_Calibrate_xinput_calibrator (revision 0) ++++ xserver-common/X11/Xsession.d/89xTs_Calibrate_xinput_calibrator (revision 0) +@@ -0,0 +1,7 @@ ++#!/bin/sh ++ ++if [ -e /usr/bin/xinput_calibrator_once.sh ] ; then ++ if [ -e /etc/pointercal.xinput ] ; then ++ /usr/bin/xinput_calibrator_once.sh ++ fi ++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 00000000000..9886f9fee15 --- /dev/null +++ b/meta-oe/recipes-graphics/xserver-common/xserver-common-1.34/89xdgautostart.sh @@ -0,0 +1,9 @@ +#!/bin/sh + +XDGAUTOSTART=/etc/xdg/autostart +if [ -d $XDGAUTOSTART ] ; then + for SCRIPT in $XDGAUTOSTART/*; do + CMD=`grep ^Exec= $SCRIPT | cut -d '=' -f 2` + $CMD & + done +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 00000000000..be5f5ce70cf --- /dev/null +++ b/meta-oe/recipes-graphics/xserver-common/xserver-common-1.34/90xXWindowManager.patch @@ -0,0 +1,11 @@ +Index: xserver-common/X11/Xsession.d/90xXWindowManager +=================================================================== +--- xserver-common/X11/Xsession.d/90xXWindowManager (revision 0) ++++ xserver-common/X11/Xsession.d/90xXWindowManager (revision 0) +@@ -0,0 +1,6 @@ ++#!/bin/sh ++if [ -x $HOME/.Xsession ]; then ++ exec $HOME/.Xsession ++else ++ exec /usr/bin/x-window-manager ++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 00000000000..f6e36d9e103 --- /dev/null +++ b/meta-oe/recipes-graphics/xserver-common/xserver-common-1.34/Xserver.add.dpi.for.gta.patch @@ -0,0 +1,29 @@ +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) + +diff -uNr xserver-common-1.33.orig//X11/xserver-common xserver-common-1.33/X11/xserver-common +--- xserver-common-1.33.orig//X11/xserver-common 2010-04-28 23:27:10.000000000 +0200 ++++ xserver-common-1.33/X11/xserver-common 2010-04-28 23:29:07.000000000 +0200 +@@ -133,19 +133,19 @@ + ARGS="$ARGS -screen ${SCREEN_SIZE}" + DPI="225" ;; + "gta01" ) +- DPI="285" ++ DPI="280" + if [ "$XSERVER" != "Xorg" ] ; then + ARGS="$ARGS -screen 480x640" + else +- ARGS="$ARGS -nocursor" ++ ARGS="$ARGS -dpi ${DPI} -nocursor" + fi + ;; + "gta02") +- DPI="285" ++ DPI="280" + if [ "$XSERVER" != "Xorg" ] ; then + ARGS="$ARGS -screen ${SCREEN_SIZE}" + else +- ARGS="$ARGS -nocursor" ++ ARGS="$ARGS -dpi ${DPI} -nocursor" + fi + ;; + "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 00000000000..bd16efc1060 --- /dev/null +++ b/meta-oe/recipes-graphics/xserver-common/xserver-common-1.34/Xserver.add.nocursor.for.gta.patch @@ -0,0 +1,20 @@ +diff -uNr xserver-common-1.33.orig//X11/xserver-common xserver-common-1.33/X11/xserver-common +--- xserver-common-1.33.orig//X11/xserver-common 2010-04-28 10:44:23.000000000 +0200 ++++ xserver-common-1.33/X11/xserver-common 2010-04-28 10:46:41.000000000 +0200 +@@ -136,12 +136,16 @@ + DPI="285" + if [ "$XSERVER" != "Xorg" ] ; then + ARGS="$ARGS -screen 480x640" ++ else ++ ARGS="$ARGS -nocursor" + fi + ;; + "gta02") + DPI="285" + if [ "$XSERVER" != "Xorg" ] ; then + ARGS="$ARGS -screen ${SCREEN_SIZE}" ++ else ++ ARGS="$ARGS -nocursor" + fi + ;; + "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 00000000000..5d9d5d128df --- /dev/null +++ b/meta-oe/recipes-graphics/xserver-common/xserver-common-1.34/Xserver.add.xserver-system.patch @@ -0,0 +1,12 @@ +diff -uNr xserver-common-1.33.orig//X11/xserver-common xserver-common-1.33/X11/xserver-common +--- xserver-common-1.33.orig//X11/xserver-common 2010-04-28 23:27:10.000000000 +0200 ++++ xserver-common-1.33/X11/xserver-common 2010-04-28 23:29:07.000000000 +0200 +@@ -192,3 +196,8 @@ + if [ "$XSERVER" != "Xorg" ] ; then + ARGS="$ARGS $MOUSE" + fi ++ ++# let a local script modify the variables ++if [ -e /etc/X11/xserver-system ] ; then ++ . /etc/X11/xserver-system ++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 00000000000..4d36f5f7130 --- /dev/null +++ b/meta-oe/recipes-graphics/xserver-common/xserver-common-1.34/Xserver.n900.patch @@ -0,0 +1,17 @@ +diff -uri xserver-common-1.33.orig/X11/xserver-common xserver-common-1.33/X11/xserver-common +--- xserver-common-1.33.orig/X11/xserver-common 2010-09-14 17:10:35.955430177 +0200 ++++ xserver-common-1.33/X11/xserver-common 2010-09-14 17:17:12.484423440 +0200 +@@ -132,6 +132,13 @@ + "nokia_n800" | "nokia_rx-44" | "nokia_n770") + ARGS="$ARGS -screen ${SCREEN_SIZE}" + DPI="225" ;; ++ "nokia_rx-51_board" ) ++ DPI="267" ++ if [ "$XSERVER" != "Xorg" ] ; then ++ ARGS="$ARGS -screen ${SCREEN_SIZE}" ++ else ++ ARGS="$ARGS -dpi ${DPI} -nocursor" ++ fi ;; + "gta01" ) + DPI="280" + 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 00000000000..ec932533476 --- /dev/null +++ b/meta-oe/recipes-graphics/xserver-common/xserver-common-1.34/gplv2-license.patch @@ -0,0 +1,353 @@ +COPYING: add GPLv2 license file + +this is a local file recipe and the license file is missing.In order +to pass the license checksum checking, the license file is needed. So +this patch add the GPLv2 license file. + +Signed-off-by: Yu Ke <ke.yu@intel.com> + +diff --git a/COPYING b/COPYING +new file mode 100644 +index 0000000..d511905 +--- /dev/null ++++ b/COPYING +@@ -0,0 +1,339 @@ ++ GNU GENERAL PUBLIC LICENSE ++ Version 2, June 1991 ++ ++ Copyright (C) 1989, 1991 Free Software Foundation, Inc., ++ 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA ++ Everyone is permitted to copy and distribute verbatim copies ++ of this license document, but changing it is not allowed. ++ ++ Preamble ++ ++ The licenses for most software are designed to take away your ++freedom to share and change it. By contrast, the GNU General Public ++License is intended to guarantee your freedom to share and change free ++software--to make sure the software is free for all its users. This ++General Public License applies to most of the Free Software ++Foundation's software and to any other program whose authors commit to ++using it. (Some other Free Software Foundation software is covered by ++the GNU Lesser General Public License instead.) You can apply it to ++your programs, too. ++ ++ When we speak of free software, we are referring to freedom, not ++price. Our General Public Licenses are designed to make sure that you ++have the freedom to distribute copies of free software (and charge for ++this service if you wish), that you receive source code or can get it ++if you want it, that you can change the software or use pieces of it ++in new free programs; and that you know you can do these things. ++ ++ To protect your rights, we need to make restrictions that forbid ++anyone to deny you these rights or to ask you to surrender the rights. ++These restrictions translate to certain responsibilities for you if you ++distribute copies of the software, or if you modify it. ++ ++ For example, if you distribute copies of such a program, whether ++gratis or for a fee, you must give the recipients all the rights that ++you have. You must make sure that they, too, receive or can get the ++source code. And you must show them these terms so they know their ++rights. ++ ++ We protect your rights with two steps: (1) copyright the software, and ++(2) offer you this license which gives you legal permission to copy, ++distribute and/or modify the software. ++ ++ Also, for each author's protection and ours, we want to make certain ++that everyone understands that there is no warranty for this free ++software. If the software is modified by someone else and passed on, we ++want its recipients to know that what they have is not the original, so ++that any problems introduced by others will not reflect on the original ++authors' reputations. ++ ++ Finally, any free program is threatened constantly by software ++patents. We wish to avoid the danger that redistributors of a free ++program will individually obtain patent licenses, in effect making the ++program proprietary. To prevent this, we have made it clear that any ++patent must be licensed for everyone's free use or not licensed at all. ++ ++ The precise terms and conditions for copying, distribution and ++modification follow. ++ ++ GNU GENERAL PUBLIC LICENSE ++ TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION ++ ++ 0. This License applies to any program or other work which contains ++a notice placed by the copyright holder saying it may be distributed ++under the terms of this General Public License. The "Program", below, ++refers to any such program or work, and a "work based on the Program" ++means either the Program or any derivative work under copyright law: ++that is to say, a work containing the Program or a portion of it, ++either verbatim or with modifications and/or translated into another ++language. (Hereinafter, translation is included without limitation in ++the term "modification".) Each licensee is addressed as "you". ++ ++Activities other than copying, distribution and modification are not ++covered by this License; they are outside its scope. The act of ++running the Program is not restricted, and the output from the Program ++is covered only if its contents constitute a work based on the ++Program (independent of having been made by running the Program). ++Whether that is true depends on what the Program does. ++ ++ 1. You may copy and distribute verbatim copies of the Program's ++source code as you receive it, in any medium, provided that you ++conspicuously and appropriately publish on each copy an appropriate ++copyright notice and disclaimer of warranty; keep intact all the ++notices that refer to this License and to the absence of any warranty; ++and give any other recipients of the Program a copy of this License ++along with the Program. ++ ++You may charge a fee for the physical act of transferring a copy, and ++you may at your option offer warranty protection in exchange for a fee. ++ ++ 2. You may modify your copy or copies of the Program or any portion ++of it, thus forming a work based on the Program, and copy and ++distribute such modifications or work under the terms of Section 1 ++above, provided that you also meet all of these conditions: ++ ++ a) You must cause the modified files to carry prominent notices ++ stating that you changed the files and the date of any change. ++ ++ b) You must cause any work that you distribute or publish, that in ++ whole or in part contains or is derived from the Program or any ++ part thereof, to be licensed as a whole at no charge to all third ++ parties under the terms of this License. ++ ++ c) If the modified program normally reads commands interactively ++ when run, you must cause it, when started running for such ++ interactive use in the most ordinary way, to print or display an ++ announcement including an appropriate copyright notice and a ++ notice that there is no warranty (or else, saying that you provide ++ a warranty) and that users may redistribute the program under ++ these conditions, and telling the user how to view a copy of this ++ License. (Exception: if the Program itself is interactive but ++ does not normally print such an announcement, your work based on ++ the Program is not required to print an announcement.) ++ ++These requirements apply to the modified work as a whole. If ++identifiable sections of that work are not derived from the Program, ++and can be reasonably considered independent and separate works in ++themselves, then this License, and its terms, do not apply to those ++sections when you distribute them as separate works. But when you ++distribute the same sections as part of a whole which is a work based ++on the Program, the distribution of the whole must be on the terms of ++this License, whose permissions for other licensees extend to the ++entire whole, and thus to each and every part regardless of who wrote it. ++ ++Thus, it is not the intent of this section to claim rights or contest ++your rights to work written entirely by you; rather, the intent is to ++exercise the right to control the distribution of derivative or ++collective works based on the Program. ++ ++In addition, mere aggregation of another work not based on the Program ++with the Program (or with a work based on the Program) on a volume of ++a storage or distribution medium does not bring the other work under ++the scope of this License. ++ ++ 3. You may copy and distribute the Program (or a work based on it, ++under Section 2) in object code or executable form under the terms of ++Sections 1 and 2 above provided that you also do one of the following: ++ ++ a) Accompany it with the complete corresponding machine-readable ++ source code, which must be distributed under the terms of Sections ++ 1 and 2 above on a medium customarily used for software interchange; or, ++ ++ b) Accompany it with a written offer, valid for at least three ++ years, to give any third party, for a charge no more than your ++ cost of physically performing source distribution, a complete ++ machine-readable copy of the corresponding source code, to be ++ distributed under the terms of Sections 1 and 2 above on a medium ++ customarily used for software interchange; or, ++ ++ c) Accompany it with the information you received as to the offer ++ to distribute corresponding source code. (This alternative is ++ allowed only for noncommercial distribution and only if you ++ received the program in object code or executable form with such ++ an offer, in accord with Subsection b above.) ++ ++The source code for a work means the preferred form of the work for ++making modifications to it. For an executable work, complete source ++code means all the source code for all modules it contains, plus any ++associated interface definition files, plus the scripts used to ++control compilation and installation of the executable. However, as a ++special exception, the source code distributed need not include ++anything that is normally distributed (in either source or binary ++form) with the major components (compiler, kernel, and so on) of the ++operating system on which the executable runs, unless that component ++itself accompanies the executable. ++ ++If distribution of executable or object code is made by offering ++access to copy from a designated place, then offering equivalent ++access to copy the source code from the same place counts as ++distribution of the source code, even though third parties are not ++compelled to copy the source along with the object code. ++ ++ 4. You may not copy, modify, sublicense, or distribute the Program ++except as expressly provided under this License. Any attempt ++otherwise to copy, modify, sublicense or distribute the Program is ++void, and will automatically terminate your rights under this License. ++However, parties who have received copies, or rights, from you under ++this License will not have their licenses terminated so long as such ++parties remain in full compliance. ++ ++ 5. You are not required to accept this License, since you have not ++signed it. However, nothing else grants you permission to modify or ++distribute the Program or its derivative works. These actions are ++prohibited by law if you do not accept this License. Therefore, by ++modifying or distributing the Program (or any work based on the ++Program), you indicate your acceptance of this License to do so, and ++all its terms and conditions for copying, distributing or modifying ++the Program or works based on it. ++ ++ 6. Each time you redistribute the Program (or any work based on the ++Program), the recipient automatically receives a license from the ++original licensor to copy, distribute or modify the Program subject to ++these terms and conditions. You may not impose any further ++restrictions on the recipients' exercise of the rights granted herein. ++You are not responsible for enforcing compliance by third parties to ++this License. ++ ++ 7. If, as a consequence of a court judgment or allegation of patent ++infringement or for any other reason (not limited to patent issues), ++conditions are imposed on you (whether by court order, agreement or ++otherwise) that contradict the conditions of this License, they do not ++excuse you from the conditions of this License. If you cannot ++distribute so as to satisfy simultaneously your obligations under this ++License and any other pertinent obligations, then as a consequence you ++may not distribute the Program at all. For example, if a patent ++license would not permit royalty-free redistribution of the Program by ++all those who receive copies directly or indirectly through you, then ++the only way you could satisfy both it and this License would be to ++refrain entirely from distribution of the Program. ++ ++If any portion of this section is held invalid or unenforceable under ++any particular circumstance, the balance of the section is intended to ++apply and the section as a whole is intended to apply in other ++circumstances. ++ ++It is not the purpose of this section to induce you to infringe any ++patents or other property right claims or to contest validity of any ++such claims; this section has the sole purpose of protecting the ++integrity of the free software distribution system, which is ++implemented by public license practices. Many people have made ++generous contributions to the wide range of software distributed ++through that system in reliance on consistent application of that ++system; it is up to the author/donor to decide if he or she is willing ++to distribute software through any other system and a licensee cannot ++impose that choice. ++ ++This section is intended to make thoroughly clear what is believed to ++be a consequence of the rest of this License. ++ ++ 8. If the distribution and/or use of the Program is restricted in ++certain countries either by patents or by copyrighted interfaces, the ++original copyright holder who places the Program under this License ++may add an explicit geographical distribution limitation excluding ++those countries, so that distribution is permitted only in or among ++countries not thus excluded. In such case, this License incorporates ++the limitation as if written in the body of this License. ++ ++ 9. The Free Software Foundation may publish revised and/or new versions ++of the General Public License from time to time. Such new versions will ++be similar in spirit to the present version, but may differ in detail to ++address new problems or concerns. ++ ++Each version is given a distinguishing version number. If the Program ++specifies a version number of this License which applies to it and "any ++later version", you have the option of following the terms and conditions ++either of that version or of any later version published by the Free ++Software Foundation. If the Program does not specify a version number of ++this License, you may choose any version ever published by the Free Software ++Foundation. ++ ++ 10. If you wish to incorporate parts of the Program into other free ++programs whose distribution conditions are different, write to the author ++to ask for permission. For software which is copyrighted by the Free ++Software Foundation, write to the Free Software Foundation; we sometimes ++make exceptions for this. Our decision will be guided by the two goals ++of preserving the free status of all derivatives of our free software and ++of promoting the sharing and reuse of software generally. ++ ++ NO WARRANTY ++ ++ 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY ++FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN ++OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES ++PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED ++OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF ++MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS ++TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE ++PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, ++REPAIR OR CORRECTION. ++ ++ 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING ++WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR ++REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, ++INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING ++OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED ++TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY ++YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER ++PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE ++POSSIBILITY OF SUCH DAMAGES. ++ ++ END OF TERMS AND CONDITIONS ++ ++ How to Apply These Terms to Your New Programs ++ ++ If you develop a new program, and you want it to be of the greatest ++possible use to the public, the best way to achieve this is to make it ++free software which everyone can redistribute and change under these terms. ++ ++ To do so, attach the following notices to the program. It is safest ++to attach them to the start of each source file to most effectively ++convey the exclusion of warranty; and each file should have at least ++the "copyright" line and a pointer to where the full notice is found. ++ ++ <one line to give the program's name and a brief idea of what it does.> ++ Copyright (C) <year> <name of author> ++ ++ This program is free software; you can redistribute it and/or modify ++ it under the terms of the GNU General Public License as published by ++ the Free Software Foundation; either version 2 of the License, or ++ (at your option) any later version. ++ ++ This program is distributed in the hope that it will be useful, ++ but WITHOUT ANY WARRANTY; without even the implied warranty of ++ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++ GNU General Public License for more details. ++ ++ You should have received a copy of the GNU General Public License along ++ with this program; if not, write to the Free Software Foundation, Inc., ++ 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. ++ ++Also add information on how to contact you by electronic and paper mail. ++ ++If the program is interactive, make it output a short notice like this ++when it starts in an interactive mode: ++ ++ Gnomovision version 69, Copyright (C) year name of author ++ Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. ++ This is free software, and you are welcome to redistribute it ++ under certain conditions; type `show c' for details. ++ ++The hypothetical commands `show w' and `show c' should show the appropriate ++parts of the General Public License. Of course, the commands you use may ++be called something other than `show w' and `show c'; they could even be ++mouse-clicks or menu items--whatever suits your program. ++ ++You should also get your employer (if you work as a programmer) or your ++school, if any, to sign a "copyright disclaimer" for the program, if ++necessary. Here is a sample; alter the names: ++ ++ Yoyodyne, Inc., hereby disclaims all copyright interest in the program ++ `Gnomovision' (which makes passes at compilers) written by James Hacker. ++ ++ <signature of Ty Coon>, 1 April 1989 ++ Ty Coon, President of Vice ++ ++This General Public License does not permit incorporating your program into ++proprietary programs. If your program is a subroutine library, you may ++consider it more useful to permit linking proprietary applications with the ++library. If this is what you want to do, use the GNU Lesser General ++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 00000000000..04a2edd6c61 --- /dev/null +++ b/meta-oe/recipes-graphics/xserver-common/xserver-common-1.34/setDPI.sh @@ -0,0 +1,92 @@ +#! /bin/sh +# +# Copyright Matthias Hentges <devel@hentges.net> (c) 2006 +# License: GPL (see http://www.gnu.org/licenses/gpl.txt for a copy of the license) +# +# Filename: setDPI.sh +# Date: 09-Apr-06 + +# This script configures Xft.dpi dependent on your screens DPI. This insures that the same font-size +# setting of 7 can be used on all machines. + + +XDEFAULTS="/etc/X11/Xdefaults" + + + +set_dpi() { + + CURRENT_SETTING="`cat ${XDEFAULTS} | sed -n "/Xft.dpi\:/s/.*\:\(.*\)/\1/p" | sed -n "s/\ //p"`" + + if test "$CURRENT_SETTING" != "$1" + then + echo "Using Xft.dpi of $SET_SCREEN_DPI for your $SCREEN_DPI DPI screen" + + if grep -q "Xft.dpi" "$XDEFAULTS" + then + cat "${XDEFAULTS}" | sed "s/^Xft.dpi\:.*/Xft.dpi\: $SET_SCREEN_DPI/" > "${XDEFAULTS}_" + mv "${XDEFAULTS}_" "${XDEFAULTS}" + else + echo -e "Xft.dpi: $SET_SCREEN_DPI\n" >> "$XDEFAULTS" + fi + else + echo "Your $SCREEN_DPI DPI screen is already configured." + fi +} + +set_rxvt_font() { + + CURRENT_SETTING="`cat ${XDEFAULTS} | sed -n "/Rxvt\*font/s/\(.*\pixelsize=\)\(.*\)/\2/p"`" + + if test "$1" -gt 100 + then + + # Configure the rxvt font-size for your screen here: + test "$1" -gt 180 -a "$1" -lt "221" && RXVT_FONT_SIZE=16 + + if test -z "$RXVT_FONT_SIZE" + then + echo "WARNING: No rxvt font-size configured for a $SCREEN_DPI DPI screen!" + echo "Defaulting to size 9" + RXVT_FONT_SIZE=9 + fi + + if test "$CURRENT_SETTING" != "$RXVT_FONT_SIZE" + then + echo "Using a rxvt font-size of $RXVT_FONT_SIZE" + cat ${XDEFAULTS} | sed "/Rxvt\*font/s/\(.*\pixelsize\)\(=*.*\)/\1=$RXVT_FONT_SIZE/" > ${XDEFAULTS}_ + mv ${XDEFAULTS}_ ${XDEFAULTS} + else + echo "The rxvt font-size is already configured" + fi + fi +} + +if test -z "$DISPLAY" +then + echo "DISPLAY is not set, aborting..." + exit 0 +fi + +SCREEN_DPI="`/usr/bin/xdpyinfo | grep "dots per inch" | awk '{print $2}'| sed -n "s/\(.*\)x\(.*\)/\2/p"`" + +if test -z "$SCREEN_DPI" +then + echo "WARNING: Couldn't read your screens DPI, defaulting to 100" + SCREEN_DPI=100 +fi + +# Configure your screen here: +test "$SCREEN_DPI" -gt 180 -a "$SCREEN_DPI" -lt "221" && SET_SCREEN_DPI=160 +test "$SCREEN_DPI" -gt 90 -a "$SCREEN_DPI" -lt "121" && SET_SCREEN_DPI=100 + + +if test -z "$SET_SCREEN_DPI" +then + echo "WARNING: No default configuration found for your $SCREEN_DPI DPI screen!" + echo "Using 100 DPI" + SET_SCREEN_DPI=100 +fi + +set_dpi "$SET_SCREEN_DPI" +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 00000000000..8269205b67c --- /dev/null +++ b/meta-oe/recipes-graphics/xserver-common/xserver-common_1.34.bb @@ -0,0 +1,38 @@ +DESCRIPTION = "Common X11 scripts and support files" +LICENSE = "GPL" +LICENSE = "GPLv2" +LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe" +RDEPENDS_${PN} = "xmodmap xrandr xdpyinfo" +PR = "r0" + +PACKAGE_ARCH = "all" + +RCONFLICTS_${PN} = "xserver-kdrive-common" +RREPLACES_${PN} = "xserver-kdrive-common" + +# we are using a gpe-style Makefile +inherit gpe + +SRC_URI[md5sum] = "82f2f84cd96610e8f7b92c700cd31c14" +SRC_URI[sha256sum] = "cd04c33418f776b1e13fcc7af3d6bd0c7cccd03fbabd7dbcd97f88166cc34210" + +SRC_URI_append = " \ + file://gplv2-license.patch \ + file://setDPI.sh \ + file://89xdgautostart.sh" + +RDEPENDS_${PN}_append_shr = " xinput-calibrator " + +SRC_URI_append_shr = " file://89xTs_Calibrate.xinput_calibrator.patch \ + file://90xXWindowManager.patch \ + file://Xserver.add.nocursor.for.gta.patch \ + file://Xserver.add.xserver-system.patch \ + file://Xserver.add.dpi.for.gta.patch \ + file://Xserver.n900.patch" + +do_install_append() { + install -m 0755 "${WORKDIR}/setDPI.sh" "${D}/etc/X11/Xinit.d/50setdpi" + install -m 0755 "${WORKDIR}/89xdgautostart.sh" "${D}/etc/X11/Xsession.d/89xdgautostart" + sed -i 's:^BINDIR=.*$:BINDIR=${bindir}:' ${D}/etc/X11/xserver-common +} + 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 00000000000..ec932533476 --- /dev/null +++ b/meta-oe/recipes-graphics/xserver-nodm-init/xserver-nodm-init-2.0/gplv2-license.patch @@ -0,0 +1,353 @@ +COPYING: add GPLv2 license file + +this is a local file recipe and the license file is missing.In order +to pass the license checksum checking, the license file is needed. So +this patch add the GPLv2 license file. + +Signed-off-by: Yu Ke <ke.yu@intel.com> + +diff --git a/COPYING b/COPYING +new file mode 100644 +index 0000000..d511905 +--- /dev/null ++++ b/COPYING +@@ -0,0 +1,339 @@ ++ GNU GENERAL PUBLIC LICENSE ++ Version 2, June 1991 ++ ++ Copyright (C) 1989, 1991 Free Software Foundation, Inc., ++ 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA ++ Everyone is permitted to copy and distribute verbatim copies ++ of this license document, but changing it is not allowed. ++ ++ Preamble ++ ++ The licenses for most software are designed to take away your ++freedom to share and change it. By contrast, the GNU General Public ++License is intended to guarantee your freedom to share and change free ++software--to make sure the software is free for all its users. This ++General Public License applies to most of the Free Software ++Foundation's software and to any other program whose authors commit to ++using it. (Some other Free Software Foundation software is covered by ++the GNU Lesser General Public License instead.) You can apply it to ++your programs, too. ++ ++ When we speak of free software, we are referring to freedom, not ++price. Our General Public Licenses are designed to make sure that you ++have the freedom to distribute copies of free software (and charge for ++this service if you wish), that you receive source code or can get it ++if you want it, that you can change the software or use pieces of it ++in new free programs; and that you know you can do these things. ++ ++ To protect your rights, we need to make restrictions that forbid ++anyone to deny you these rights or to ask you to surrender the rights. ++These restrictions translate to certain responsibilities for you if you ++distribute copies of the software, or if you modify it. ++ ++ For example, if you distribute copies of such a program, whether ++gratis or for a fee, you must give the recipients all the rights that ++you have. You must make sure that they, too, receive or can get the ++source code. And you must show them these terms so they know their ++rights. ++ ++ We protect your rights with two steps: (1) copyright the software, and ++(2) offer you this license which gives you legal permission to copy, ++distribute and/or modify the software. ++ ++ Also, for each author's protection and ours, we want to make certain ++that everyone understands that there is no warranty for this free ++software. If the software is modified by someone else and passed on, we ++want its recipients to know that what they have is not the original, so ++that any problems introduced by others will not reflect on the original ++authors' reputations. ++ ++ Finally, any free program is threatened constantly by software ++patents. We wish to avoid the danger that redistributors of a free ++program will individually obtain patent licenses, in effect making the ++program proprietary. To prevent this, we have made it clear that any ++patent must be licensed for everyone's free use or not licensed at all. ++ ++ The precise terms and conditions for copying, distribution and ++modification follow. ++ ++ GNU GENERAL PUBLIC LICENSE ++ TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION ++ ++ 0. This License applies to any program or other work which contains ++a notice placed by the copyright holder saying it may be distributed ++under the terms of this General Public License. The "Program", below, ++refers to any such program or work, and a "work based on the Program" ++means either the Program or any derivative work under copyright law: ++that is to say, a work containing the Program or a portion of it, ++either verbatim or with modifications and/or translated into another ++language. (Hereinafter, translation is included without limitation in ++the term "modification".) Each licensee is addressed as "you". ++ ++Activities other than copying, distribution and modification are not ++covered by this License; they are outside its scope. The act of ++running the Program is not restricted, and the output from the Program ++is covered only if its contents constitute a work based on the ++Program (independent of having been made by running the Program). ++Whether that is true depends on what the Program does. ++ ++ 1. You may copy and distribute verbatim copies of the Program's ++source code as you receive it, in any medium, provided that you ++conspicuously and appropriately publish on each copy an appropriate ++copyright notice and disclaimer of warranty; keep intact all the ++notices that refer to this License and to the absence of any warranty; ++and give any other recipients of the Program a copy of this License ++along with the Program. ++ ++You may charge a fee for the physical act of transferring a copy, and ++you may at your option offer warranty protection in exchange for a fee. ++ ++ 2. You may modify your copy or copies of the Program or any portion ++of it, thus forming a work based on the Program, and copy and ++distribute such modifications or work under the terms of Section 1 ++above, provided that you also meet all of these conditions: ++ ++ a) You must cause the modified files to carry prominent notices ++ stating that you changed the files and the date of any change. ++ ++ b) You must cause any work that you distribute or publish, that in ++ whole or in part contains or is derived from the Program or any ++ part thereof, to be licensed as a whole at no charge to all third ++ parties under the terms of this License. ++ ++ c) If the modified program normally reads commands interactively ++ when run, you must cause it, when started running for such ++ interactive use in the most ordinary way, to print or display an ++ announcement including an appropriate copyright notice and a ++ notice that there is no warranty (or else, saying that you provide ++ a warranty) and that users may redistribute the program under ++ these conditions, and telling the user how to view a copy of this ++ License. (Exception: if the Program itself is interactive but ++ does not normally print such an announcement, your work based on ++ the Program is not required to print an announcement.) ++ ++These requirements apply to the modified work as a whole. If ++identifiable sections of that work are not derived from the Program, ++and can be reasonably considered independent and separate works in ++themselves, then this License, and its terms, do not apply to those ++sections when you distribute them as separate works. But when you ++distribute the same sections as part of a whole which is a work based ++on the Program, the distribution of the whole must be on the terms of ++this License, whose permissions for other licensees extend to the ++entire whole, and thus to each and every part regardless of who wrote it. ++ ++Thus, it is not the intent of this section to claim rights or contest ++your rights to work written entirely by you; rather, the intent is to ++exercise the right to control the distribution of derivative or ++collective works based on the Program. ++ ++In addition, mere aggregation of another work not based on the Program ++with the Program (or with a work based on the Program) on a volume of ++a storage or distribution medium does not bring the other work under ++the scope of this License. ++ ++ 3. You may copy and distribute the Program (or a work based on it, ++under Section 2) in object code or executable form under the terms of ++Sections 1 and 2 above provided that you also do one of the following: ++ ++ a) Accompany it with the complete corresponding machine-readable ++ source code, which must be distributed under the terms of Sections ++ 1 and 2 above on a medium customarily used for software interchange; or, ++ ++ b) Accompany it with a written offer, valid for at least three ++ years, to give any third party, for a charge no more than your ++ cost of physically performing source distribution, a complete ++ machine-readable copy of the corresponding source code, to be ++ distributed under the terms of Sections 1 and 2 above on a medium ++ customarily used for software interchange; or, ++ ++ c) Accompany it with the information you received as to the offer ++ to distribute corresponding source code. (This alternative is ++ allowed only for noncommercial distribution and only if you ++ received the program in object code or executable form with such ++ an offer, in accord with Subsection b above.) ++ ++The source code for a work means the preferred form of the work for ++making modifications to it. For an executable work, complete source ++code means all the source code for all modules it contains, plus any ++associated interface definition files, plus the scripts used to ++control compilation and installation of the executable. However, as a ++special exception, the source code distributed need not include ++anything that is normally distributed (in either source or binary ++form) with the major components (compiler, kernel, and so on) of the ++operating system on which the executable runs, unless that component ++itself accompanies the executable. ++ ++If distribution of executable or object code is made by offering ++access to copy from a designated place, then offering equivalent ++access to copy the source code from the same place counts as ++distribution of the source code, even though third parties are not ++compelled to copy the source along with the object code. ++ ++ 4. You may not copy, modify, sublicense, or distribute the Program ++except as expressly provided under this License. Any attempt ++otherwise to copy, modify, sublicense or distribute the Program is ++void, and will automatically terminate your rights under this License. ++However, parties who have received copies, or rights, from you under ++this License will not have their licenses terminated so long as such ++parties remain in full compliance. ++ ++ 5. You are not required to accept this License, since you have not ++signed it. However, nothing else grants you permission to modify or ++distribute the Program or its derivative works. These actions are ++prohibited by law if you do not accept this License. Therefore, by ++modifying or distributing the Program (or any work based on the ++Program), you indicate your acceptance of this License to do so, and ++all its terms and conditions for copying, distributing or modifying ++the Program or works based on it. ++ ++ 6. Each time you redistribute the Program (or any work based on the ++Program), the recipient automatically receives a license from the ++original licensor to copy, distribute or modify the Program subject to ++these terms and conditions. You may not impose any further ++restrictions on the recipients' exercise of the rights granted herein. ++You are not responsible for enforcing compliance by third parties to ++this License. ++ ++ 7. If, as a consequence of a court judgment or allegation of patent ++infringement or for any other reason (not limited to patent issues), ++conditions are imposed on you (whether by court order, agreement or ++otherwise) that contradict the conditions of this License, they do not ++excuse you from the conditions of this License. If you cannot ++distribute so as to satisfy simultaneously your obligations under this ++License and any other pertinent obligations, then as a consequence you ++may not distribute the Program at all. For example, if a patent ++license would not permit royalty-free redistribution of the Program by ++all those who receive copies directly or indirectly through you, then ++the only way you could satisfy both it and this License would be to ++refrain entirely from distribution of the Program. ++ ++If any portion of this section is held invalid or unenforceable under ++any particular circumstance, the balance of the section is intended to ++apply and the section as a whole is intended to apply in other ++circumstances. ++ ++It is not the purpose of this section to induce you to infringe any ++patents or other property right claims or to contest validity of any ++such claims; this section has the sole purpose of protecting the ++integrity of the free software distribution system, which is ++implemented by public license practices. Many people have made ++generous contributions to the wide range of software distributed ++through that system in reliance on consistent application of that ++system; it is up to the author/donor to decide if he or she is willing ++to distribute software through any other system and a licensee cannot ++impose that choice. ++ ++This section is intended to make thoroughly clear what is believed to ++be a consequence of the rest of this License. ++ ++ 8. If the distribution and/or use of the Program is restricted in ++certain countries either by patents or by copyrighted interfaces, the ++original copyright holder who places the Program under this License ++may add an explicit geographical distribution limitation excluding ++those countries, so that distribution is permitted only in or among ++countries not thus excluded. In such case, this License incorporates ++the limitation as if written in the body of this License. ++ ++ 9. The Free Software Foundation may publish revised and/or new versions ++of the General Public License from time to time. Such new versions will ++be similar in spirit to the present version, but may differ in detail to ++address new problems or concerns. ++ ++Each version is given a distinguishing version number. If the Program ++specifies a version number of this License which applies to it and "any ++later version", you have the option of following the terms and conditions ++either of that version or of any later version published by the Free ++Software Foundation. If the Program does not specify a version number of ++this License, you may choose any version ever published by the Free Software ++Foundation. ++ ++ 10. If you wish to incorporate parts of the Program into other free ++programs whose distribution conditions are different, write to the author ++to ask for permission. For software which is copyrighted by the Free ++Software Foundation, write to the Free Software Foundation; we sometimes ++make exceptions for this. Our decision will be guided by the two goals ++of preserving the free status of all derivatives of our free software and ++of promoting the sharing and reuse of software generally. ++ ++ NO WARRANTY ++ ++ 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY ++FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN ++OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES ++PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED ++OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF ++MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS ++TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE ++PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, ++REPAIR OR CORRECTION. ++ ++ 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING ++WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR ++REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, ++INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING ++OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED ++TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY ++YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER ++PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE ++POSSIBILITY OF SUCH DAMAGES. ++ ++ END OF TERMS AND CONDITIONS ++ ++ How to Apply These Terms to Your New Programs ++ ++ If you develop a new program, and you want it to be of the greatest ++possible use to the public, the best way to achieve this is to make it ++free software which everyone can redistribute and change under these terms. ++ ++ To do so, attach the following notices to the program. It is safest ++to attach them to the start of each source file to most effectively ++convey the exclusion of warranty; and each file should have at least ++the "copyright" line and a pointer to where the full notice is found. ++ ++ <one line to give the program's name and a brief idea of what it does.> ++ Copyright (C) <year> <name of author> ++ ++ This program is free software; you can redistribute it and/or modify ++ it under the terms of the GNU General Public License as published by ++ the Free Software Foundation; either version 2 of the License, or ++ (at your option) any later version. ++ ++ This program is distributed in the hope that it will be useful, ++ but WITHOUT ANY WARRANTY; without even the implied warranty of ++ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++ GNU General Public License for more details. ++ ++ You should have received a copy of the GNU General Public License along ++ with this program; if not, write to the Free Software Foundation, Inc., ++ 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. ++ ++Also add information on how to contact you by electronic and paper mail. ++ ++If the program is interactive, make it output a short notice like this ++when it starts in an interactive mode: ++ ++ Gnomovision version 69, Copyright (C) year name of author ++ Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. ++ This is free software, and you are welcome to redistribute it ++ under certain conditions; type `show c' for details. ++ ++The hypothetical commands `show w' and `show c' should show the appropriate ++parts of the General Public License. Of course, the commands you use may ++be called something other than `show w' and `show c'; they could even be ++mouse-clicks or menu items--whatever suits your program. ++ ++You should also get your employer (if you work as a programmer) or your ++school, if any, to sign a "copyright disclaimer" for the program, if ++necessary. Here is a sample; alter the names: ++ ++ Yoyodyne, Inc., hereby disclaims all copyright interest in the program ++ `Gnomovision' (which makes passes at compilers) written by James Hacker. ++ ++ <signature of Ty Coon>, 1 April 1989 ++ Ty Coon, President of Vice ++ ++This General Public License does not permit incorporating your program into ++proprietary programs. If your program is a subroutine library, you may ++consider it more useful to permit linking proprietary applications with the ++library. If this is what you want to do, use the GNU Lesser General ++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 00000000000..39ce890fdf4 --- /dev/null +++ b/meta-oe/recipes-graphics/xserver-nodm-init/xserver-nodm-init-2.0/xserver-nodm @@ -0,0 +1,44 @@ +#!/bin/sh + +. /etc/init.d/functions + +for x in $(cat /proc/cmdline); do + case $x in + x11=false) + echo "X Server disabled" + exit 0; + ;; + esac +done + +case "$1" in + start) + # We don't want this script to block the rest of the boot process + if [ "$2" != "background" ]; then + $0 $1 background & + else + . /etc/profile + + echo "Starting Xserver" + . /etc/X11/xserver-common + xinit /etc/X11/Xsession -- `which $XSERVER` $ARGS >/var/log/Xsession.log 2>&1 + fi + ;; + + stop) + echo "Stopping XServer" + killproc xinit + ;; + + restart) + $0 stop + sleep 1 + $0 start + ;; + + *) + echo "usage: $0 { start | stop | restart }" + ;; +esac + +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 00000000000..8310bcd81db --- /dev/null +++ b/meta-oe/recipes-graphics/xserver-nodm-init/xserver-nodm-init_2.0.bb @@ -0,0 +1,27 @@ +DESCRIPTION = "Simple Xserver Init Script (no dm)" +LICENSE = "GPLv2" +LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe" +SECTION = "x11" +PRIORITY = "optional" +RDEPENDS_${PN} = "xserver-common (>= 1.30) xinit" +DEFAULT_PREFERENCE = "-1" +PR = "r4" + +SRC_URI = "file://xserver-nodm \ + file://gplv2-license.patch \ +" +S = ${WORKDIR} + +PACKAGE_ARCH = "all" + +do_install() { + install -d ${D}/etc + install -d ${D}/etc/init.d + install xserver-nodm ${D}/etc/init.d +} + +inherit update-rc.d + +INITSCRIPT_NAME = "xserver-nodm" +INITSCRIPT_PARAMS = "start 01 5 2 . stop 01 0 1 6 ." +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 00000000000..7552c6f7887 --- /dev/null +++ b/meta-oe/recipes-support/ca-certificates/ca-certificates_20090814+nmu2.bb @@ -0,0 +1,40 @@ +DESCRIPTION = "Common CA certificates" +HOMEPAGE = "http://packages.debian.org/sid/ca-certificates" +SECTION = "misc" +PRIORITY = "optional" +LICENSE = "GPL" +LIC_FILES_CHKSUM = "file://debian/copyright;md5=6275b491c91b57d92ebe11205ebf4dfe" + +SRC_URI = "${DEBIAN_MIRROR}/main/c/ca-certificates/ca-certificates_${PV}.tar.gz \ + file://remove-c-rehash.patch" +SRC_URI[md5sum] = "76a2b0381b0aa7a6892e2340cd2c159a" +SRC_URI[sha256sum] = "b1b144a3732df638e25b84ec6414ca9d1da4898cfd06d86b09f671585ce9c747" +inherit autotools + +do_install_prepend() { + mkdir -p ${D}/usr/share/ca-certificates + mkdir -p ${D}/usr/sbin + mkdir -p ${D}/etc/ssl/certs + mkdir -p ${D}/etc/ca-certificates/update.d +} + +do_install_append() { + cd ${D}/usr/share/ca-certificates + echo "# Lines starting with # will be ignored" > ${D}/etc/ca-certificates.conf + echo "# Lines starting with ! will remove certificate on next update" >> ${D}/etc/ca-certificates.conf + echo "#" >> ${D}/etc/ca-certificates.conf + for crt in $(find . -type f -name '*.crt' -print) + do + crt=$(echo $crt | sed -e 's/\.\///') + echo $crt >> ${D}/etc/ca-certificates.conf + done +} + +PACKAGE_ARCH = "all" +PACKAGES = "${PN}" + +pkg_postinst_${PN} () { + /usr/sbin/update-ca-certificates +} + +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 00000000000..9d9b8ade3a4 --- /dev/null +++ b/meta-oe/recipes-support/ca-certificates/files/remove-c-rehash.patch @@ -0,0 +1,29 @@ +--- ca-certificates-20090814/sbin/update-ca-certificates.orig 2010-02-25 19:25:08.272807308 +0100 ++++ ca-certificates-20090814/sbin/update-ca-certificates 2010-02-25 19:25:33.962806273 +0100 +@@ -133,16 +133,16 @@ + ADDED_CNT=$(wc -l < "$ADDED") + REMOVED_CNT=$(wc -l < "$REMOVED") + +-if [ "$ADDED_CNT" -gt 0 ] || [ "$REMOVED_CNT" -gt 0 ] +-then +- # only run if set of files has changed +- if [ "$verbose" = 0 ] +- then +- c_rehash . > /dev/null +- else +- c_rehash . +- fi +-fi ++#if [ "$ADDED_CNT" -gt 0 ] || [ "$REMOVED_CNT" -gt 0 ] ++#then ++# # only run if set of files has changed ++# if [ "$verbose" = 0 ] ++# then ++# c_rehash . > /dev/null ++# else ++# c_rehash . ++# fi ++#fi + + echo "$ADDED_CNT added, $REMOVED_CNT removed; done." + 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 00000000000..c103509d136 --- /dev/null +++ b/meta-oe/recipes-support/dfu-util/dfu-util-native_svn.bb @@ -0,0 +1,16 @@ +require dfu-util_${PV}.bb + +inherit native deploy +do_deploy[sstate-outputdirs] = "${DEPLOY_DIR_TOOLS}" + +DEPENDS = "libusb-compat usbpath-native" + +do_deploy() { + install -d ${DEPLOY_DIR_TOOLS} + install -m 0755 src/dfu-util_static ${DEPLOY_DIR_TOOLS}/dfu-util-${PV} + rm -f ${DEPLOY_DIR_TOOLS}/dfu-util + ln -sf ./dfu-util-${PV} ${DEPLOY_DIR_TOOLS}/dfu-util + +} + +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 00000000000..503583243b2 --- /dev/null +++ b/meta-oe/recipes-support/dfu-util/dfu-util.inc @@ -0,0 +1,13 @@ +DESCRIPTION = "USB Device Firmware Upgrade utility" +SECTION = "devel" +AUTHOR = "Harald Welte <laforge@openmoko.org>" +LICENSE = "GPLv2" +LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f" + +DEPENDS = "virtual/libusb0 usbpath" + +SRC_URI = "http://dfu-util.gnumonks.org/releases/dfu-util-${PV}.tar.gz" + +BBCLASSEXTEND = "native" + +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 00000000000..7b25b135794 --- /dev/null +++ b/meta-oe/recipes-support/dfu-util/dfu-util_0.1.bb @@ -0,0 +1,7 @@ +require dfu-util.inc + +PV = "0.1" +PR = "r1" + +SRC_URI[md5sum] = "454b931249d29e4a6c2a2ade17858490" +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 00000000000..abb85fafc46 --- /dev/null +++ b/meta-oe/recipes-support/dfu-util/dfu-util_svn.bb @@ -0,0 +1,16 @@ +DESCRIPTION = "USB Device Firmware Upgrade utility" +SECTION = "devel" +AUTHOR = "Harald Welte <laforge@openmoko.org>" +LICENSE = "GPLv2" +LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f" +SRCREV = "4160" +PV = "0.1+svnr${SRCPV}" +PR = "r2" + +DEPENDS = "virtual/libusb0 usbpath" + +SRC_URI = "svn://svn.openmoko.org/trunk/src/host/;module=dfu-util;proto=http" +S = "${WORKDIR}/dfu-util" + +inherit autotools + 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 00000000000..1eb25aa26d7 --- /dev/null +++ b/meta-oe/recipes-support/farsight/farsight2_0.0.22.bb @@ -0,0 +1,23 @@ +DESCRIPTION = "FarSight is an audio/video conferencing framework specifically designed for Instant Messengers." +HOMEPAGE = "http://farsight.sf.net" +SRC_URI = "http://farsight.freedesktop.org/releases/farsight2/${P}.tar.gz" +LICENSE = "unknown" + +DEPENDS = "libnice glib-2.0 libxml2 zlib dbus gstreamer gst-plugins-base" + +inherit autotools + +EXTRA_OECONF = " \ + --disable-debug \ + --disable-gtk-doc \ + --disable-python \ +" + +FILES_${PN} += "${libdir}/*/*.so" +FILES_${PN}-dev += "${libdir}/*/*a" +FILES_${PN}-dbg += "${libdir}/*/.debug" + + +SRC_URI[md5sum] = "e1f540cf3ebab06c3d7db1f46b44ac88" +SRC_URI[sha256sum] = "3ae59aa61a8071c9fad111e5fd606aabc27961eb4192f8729987a27dae6b3974" + 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 00000000000..81f9c9801b1 --- /dev/null +++ b/meta-oe/recipes-support/farsight/libnice_0.0.13.bb @@ -0,0 +1,25 @@ +DESCRIPTION = "Libnice is an implementation of the IETF's draft Interactice Connectivity Establishment standard (ICE)." +HOMEPAGE = "http://nice.freedesktop.org/wiki/" +SRC_URI = "http://nice.freedesktop.org/releases/libnice-${PV}.tar.gz" + +LICENSE = "LGPL/MPL" +DEPENDS = "glib-2.0 gstreamer" + +inherit autotools + +FILES_${PN} += "${libdir}/gstreamer-0.10/*.so" +FILES_${PN}-dev += "${libdir}/gstreamer-0.10/*a" +FILES_${PN}-dbg += "${libdir}/gstreamer-0.10/.debug" + +do_compile_append() { + for i in $(find ${S} -name "*.pc") ; do + sed -i -e s:${STAGING_DIR_TARGET}::g \ + -e s:/${TARGET_SYS}::g \ + $i + done +} + + +SRC_URI[md5sum] = "e5b9f799a57cb939ea2658ec35253ab9" +SRC_URI[sha256sum] = "d8dd260c486a470a6052a5323920878a084e44a19df09b15728b85c9e3d6edf0" + 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 00000000000..82b1c61e9c8 --- /dev/null +++ b/meta-oe/recipes-support/fbset/fbset-2.1/makefile.patch @@ -0,0 +1,11 @@ +--- fbset-2.1/Makefile.orig 2006-05-28 04:04:27.412095480 +0200 ++++ fbset-2.1/Makefile 2006-05-28 04:14:05.379231120 +0200 +@@ -2,7 +2,7 @@ + # Linux Frame Buffer Device Configuration + # + +-CC = gcc -Wall -O2 -I. ++CFLAGS = -Wall -O2 -I. + BISON = bison -d + FLEX = flex + 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 00000000000..415c00babc6 --- /dev/null +++ b/meta-oe/recipes-support/fbset/fbset-modes.bb @@ -0,0 +1,17 @@ +DESCRIPTION = "Default display timings and resolutions for fbset" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://${TOPDIR}/meta-shr/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420" + +PV = "0.1.0" +PR = "r5" + +SRC_URI = "file://fb.modes" + +do_install() { + install -d ${D}${sysconfdir} + install -m 0644 ${WORKDIR}/fb.modes ${D}${sysconfdir} +} + +PACKAGE_ARCH = "all" +CONFFILES_${PN} = "${sysconfdir}/fb.modes" + 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 00000000000..ba5e6ed719c --- /dev/null +++ b/meta-oe/recipes-support/fbset/fbset-modes/fb.modes @@ -0,0 +1,3 @@ +# By default there is nothing in this file just a reminder to define some +# modes in OE + 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 00000000000..446d23dd8e1 --- /dev/null +++ b/meta-oe/recipes-support/fbset/fbset-modes/om-gta01/fb.modes @@ -0,0 +1,29 @@ +# Timings for GTA01 VGA and QVGA mode + +mode "480x640" + # D: 26.000 MHz, H: 43.334 kHz, V: 65.657 Hz + geometry 480 640 480 640 16 + timings 38461 104 8 2 16 8 2 + accel false +endmode + +mode "vga" + # D: 26.000 MHz, H: 43.334 kHz, V: 65.657 Hz + geometry 480 640 480 640 16 + timings 38461 104 8 2 16 8 2 + accel false +endmode + +mode "240x320" + # D: 8.475 MHz, H: 24.635 kHz, V: 75.569 Hz + geometry 240 320 240 320 16 + timings 118000 88 8 2 2 8 2 + accel false +endmode + +mode "qvga" + # D: 8.475 MHz, H: 24.635 kHz, V: 75.569 Hz + geometry 240 320 240 320 16 + timings 118000 88 8 2 2 8 2 + accel false +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 00000000000..0c87401b5f1 --- /dev/null +++ b/meta-oe/recipes-support/fbset/fbset-modes/omap3-pandora/fb.modes @@ -0,0 +1,6 @@ +mode "800x480-65" + # D: 36.001 MHz, H: 34.124 kHz, V: 64.998 Hz + geometry 800 480 800 480 16 + timings 27777 40 214 10 34 1 1 + rgba 5/11,6/5,5/0,0/0 +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 00000000000..1114564797f --- /dev/null +++ b/meta-oe/recipes-support/fbset/fbset-modes/qemuarm/fb.modes @@ -0,0 +1,17 @@ +# QEMU versatilepb machine, qemuarm in OE + +mode "vga" "640x480" + geometry 640 480 640 480 16 +endmode + +mode "vga-portrait" "480x640" + geometry 480 640 480 640 16 +endmode + +mode "qvga" "320x240" + geometry 320 240 320 240 16 +endmode + +mode "qvga-portrait" "240x320" + geometry 240 320 240 320 16 +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 00000000000..1114564797f --- /dev/null +++ b/meta-oe/recipes-support/fbset/fbset-modes/qemumips/fb.modes @@ -0,0 +1,17 @@ +# QEMU versatilepb machine, qemuarm in OE + +mode "vga" "640x480" + geometry 640 480 640 480 16 +endmode + +mode "vga-portrait" "480x640" + geometry 480 640 480 640 16 +endmode + +mode "qvga" "320x240" + geometry 320 240 320 240 16 +endmode + +mode "qvga-portrait" "240x320" + geometry 240 320 240 320 16 +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 00000000000..12c1c944efb --- /dev/null +++ b/meta-oe/recipes-support/fbset/fbset_2.1.bb @@ -0,0 +1,38 @@ +# +# Copyright Matthias Hentges <devel@hentges.net> (c) 2006 +# License: MIT (see http://www.opensource.org/licenses/mit-license.php for a copy of the license) +# +# Filename: fbset_2.1.bb +# Date: 28-May-06 + +DESCRIPTION = "The fbset console tool" +LICENSE = "GPLv2" +LIC_FILES_CHKSUM = "file://fbset.c;endline=19;md5=bf326f82cdfcac391af208f019c5603f" +RRECOMMENDS_${PN} = "fbset-modes" +DEPENDS = "bison-native" + +PR = "r4" + +SRC_URI = "http://ftp.debian.org/debian/pool/main/f/fbset/fbset_2.1.orig.tar.gz \ + file://makefile.patch" + +inherit autotools update-alternatives + +PARALLEL_MAKE = "" + +do_install() { + install -d ${D}${sbindir} ${D}${datadir}/man/man8 ${D}${datadir}/man/man5 + install -m 0755 ${WORKDIR}/${P}/fbset ${D}${sbindir}/fbset.real + install -m 0644 ${WORKDIR}/${P}/*.5 ${D}${datadir}/man/man5 + install -m 0644 ${WORKDIR}/${P}/*.8 ${D}${datadir}/man/man8 +} + +ALTERNATIVE_NAME = "fbset" +ALTERNATIVE_LINK = "${sbindir}/${ALTERNATIVE_NAME}" +ALTERNATIVE_PATH = "${sbindir}/fbset.real" +ALTERNATIVE_PRIORITY = "55" + + + +SRC_URI[md5sum] = "40ed9608f46d787bfb65fd1269f7f459" +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 00000000000..8ec516dbba4 --- /dev/null +++ b/meta-oe/recipes-support/lcms/lcms_1.17.bb @@ -0,0 +1,14 @@ +DESCRIPTION = "Little cms is a small-footprint, speed optimized color management engine." +SECTION = "libs" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://COPYING;md5=156745cad721a8783cb847e82b79f586" +SRC_URI = "${SOURCEFORGE_MIRROR}/lcms/lcms-${PV}.tar.gz" + +PR = "r2" + +BBCLASSEXTEND = "native" + +inherit autotools + +SRC_URI[md5sum] = "07bdbb4cfb05d21caa58fe3d1c84ddc1" +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 00000000000..435e52816ca --- /dev/null +++ b/meta-oe/recipes-support/libiconv/libiconv-1.13.1/autoconf.patch @@ -0,0 +1,16018 @@ +Index: libiconv-1.13.1/configure.ac +=================================================================== +--- libiconv-1.13.1.orig/configure.ac ++++ libiconv-1.13.1/configure.ac +@@ -23,7 +23,7 @@ AC_CONFIG_AUX_DIR([build-aux]) + AM_INIT_AUTOMAKE([libiconv], [1.13.1]) + AC_CONFIG_HEADERS([config.h lib/config.h]) + AC_PROG_MAKE_SET +- ++AC_CONFIG_MACRO_DIR([m4]) + dnl checks for basic programs + + AC_PROG_CC +Index: libiconv-1.13.1/libcharset/configure.ac +=================================================================== +--- libiconv-1.13.1.orig/libcharset/configure.ac ++++ libiconv-1.13.1/libcharset/configure.ac +@@ -16,17 +16,17 @@ dnl along with the GNU CHARSET Library; + dnl write to the Free Software Foundation, Inc., 51 Franklin Street, + dnl Fifth Floor, Boston, MA 02110-1301, USA. + +-AC_PREREQ([2.13]) ++AC_PREREQ(2.61) ++AC_INIT([libcharset],[1.4] ) ++AC_CONFIG_SRCDIR([lib/localcharset.c]) + +-PACKAGE=libcharset +-VERSION=1.4 +- +-AC_INIT([lib/localcharset.c]) + AC_CONFIG_AUX_DIR([build-aux]) + AC_CONFIG_HEADER([config.h]) + AC_PROG_MAKE_SET +-AC_SUBST([PACKAGE]) +-AC_SUBST([VERSION]) ++dnl AC_SUBST(PACKAGE) ++dnl AC_SUBST(VERSION) ++ ++AC_CONFIG_MACRO_DIR([m4]) + + dnl checks for basic programs + +Index: libiconv-1.13.1/libcharset/m4/libtool.m4 +=================================================================== +--- libiconv-1.13.1.orig/libcharset/m4/libtool.m4 ++++ /dev/null +@@ -1,7357 +0,0 @@ +-# libtool.m4 - Configure libtool for the host system. -*-Autoconf-*- +-# +-# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005, +-# 2006, 2007, 2008 Free Software Foundation, Inc. +-# Written by Gordon Matzigkeit, 1996 +-# +-# This file is free software; the Free Software Foundation gives +-# unlimited permission to copy and/or distribute it, with or without +-# modifications, as long as this notice is preserved. +- +-m4_define([_LT_COPYING], [dnl +-# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005, +-# 2006, 2007, 2008 Free Software Foundation, Inc. +-# Written by Gordon Matzigkeit, 1996 +-# +-# This file is part of GNU Libtool. +-# +-# GNU Libtool is free software; you can redistribute it and/or +-# modify it under the terms of the GNU General Public License as +-# published by the Free Software Foundation; either version 2 of +-# the License, or (at your option) any later version. +-# +-# As a special exception to the GNU General Public License, +-# if you distribute this file as part of a program or library that +-# is built using GNU Libtool, you may include this file under the +-# same distribution terms that you use for the rest of that program. +-# +-# GNU Libtool is distributed in the hope that it will be useful, +-# but WITHOUT ANY WARRANTY; without even the implied warranty of +-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +-# GNU General Public License for more details. +-# +-# You should have received a copy of the GNU General Public License +-# along with GNU Libtool; see the file COPYING. If not, a copy +-# can be downloaded from http://www.gnu.org/licenses/gpl.html, or +-# obtained by writing to the Free Software Foundation, Inc., +-# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. +-]) +- +-# serial 56 LT_INIT +- +- +-# LT_PREREQ(VERSION) +-# ------------------ +-# Complain and exit if this libtool version is less that VERSION. +-m4_defun([LT_PREREQ], +-[m4_if(m4_version_compare(m4_defn([LT_PACKAGE_VERSION]), [$1]), -1, +- [m4_default([$3], +- [m4_fatal([Libtool version $1 or higher is required], +- 63)])], +- [$2])]) +- +- +-# _LT_CHECK_BUILDDIR +-# ------------------ +-# Complain if the absolute build directory name contains unusual characters +-m4_defun([_LT_CHECK_BUILDDIR], +-[case `pwd` in +- *\ * | *\ *) +- AC_MSG_WARN([Libtool does not cope well with whitespace in `pwd`]) ;; +-esac +-]) +- +- +-# LT_INIT([OPTIONS]) +-# ------------------ +-AC_DEFUN([LT_INIT], +-[AC_PREREQ([2.58])dnl We use AC_INCLUDES_DEFAULT +-AC_BEFORE([$0], [LT_LANG])dnl +-AC_BEFORE([$0], [LT_OUTPUT])dnl +-AC_BEFORE([$0], [LTDL_INIT])dnl +-m4_require([_LT_CHECK_BUILDDIR])dnl +- +-dnl Autoconf doesn't catch unexpanded LT_ macros by default: +-m4_pattern_forbid([^_?LT_[A-Z_]+$])dnl +-m4_pattern_allow([^(_LT_EOF|LT_DLGLOBAL|LT_DLLAZY_OR_NOW|LT_MULTI_MODULE)$])dnl +-dnl aclocal doesn't pull ltoptions.m4, ltsugar.m4, or ltversion.m4 +-dnl unless we require an AC_DEFUNed macro: +-AC_REQUIRE([LTOPTIONS_VERSION])dnl +-AC_REQUIRE([LTSUGAR_VERSION])dnl +-AC_REQUIRE([LTVERSION_VERSION])dnl +-AC_REQUIRE([LTOBSOLETE_VERSION])dnl +-m4_require([_LT_PROG_LTMAIN])dnl +- +-dnl Parse OPTIONS +-_LT_SET_OPTIONS([$0], [$1]) +- +-# This can be used to rebuild libtool when needed +-LIBTOOL_DEPS="$ltmain" +- +-# Always use our own libtool. +-LIBTOOL="${CONFIG_SHELL-$SHELL} "'$(top_builddir)/libtool' +-AC_SUBST(LIBTOOL)dnl +- +-_LT_SETUP +- +-# Only expand once: +-m4_define([LT_INIT]) +-])# LT_INIT +- +-# Old names: +-AU_ALIAS([AC_PROG_LIBTOOL], [LT_INIT]) +-AU_ALIAS([AM_PROG_LIBTOOL], [LT_INIT]) +-dnl aclocal-1.4 backwards compatibility: +-dnl AC_DEFUN([AC_PROG_LIBTOOL], []) +-dnl AC_DEFUN([AM_PROG_LIBTOOL], []) +- +- +-# _LT_CC_BASENAME(CC) +-# ------------------- +-# Calculate cc_basename. Skip known compiler wrappers and cross-prefix. +-m4_defun([_LT_CC_BASENAME], +-[for cc_temp in $1""; do +- case $cc_temp in +- compile | *[[\\/]]compile | ccache | *[[\\/]]ccache ) ;; +- distcc | *[[\\/]]distcc | purify | *[[\\/]]purify ) ;; +- \-*) ;; +- *) break;; +- esac +-done +-cc_basename=`$ECHO "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"` +-]) +- +- +-# _LT_FILEUTILS_DEFAULTS +-# ---------------------- +-# It is okay to use these file commands and assume they have been set +-# sensibly after `m4_require([_LT_FILEUTILS_DEFAULTS])'. +-m4_defun([_LT_FILEUTILS_DEFAULTS], +-[: ${CP="cp -f"} +-: ${MV="mv -f"} +-: ${RM="rm -f"} +-])# _LT_FILEUTILS_DEFAULTS +- +- +-# _LT_SETUP +-# --------- +-m4_defun([_LT_SETUP], +-[AC_REQUIRE([AC_CANONICAL_HOST])dnl +-AC_REQUIRE([AC_CANONICAL_BUILD])dnl +-_LT_DECL([], [host_alias], [0], [The host system])dnl +-_LT_DECL([], [host], [0])dnl +-_LT_DECL([], [host_os], [0])dnl +-dnl +-_LT_DECL([], [build_alias], [0], [The build system])dnl +-_LT_DECL([], [build], [0])dnl +-_LT_DECL([], [build_os], [0])dnl +-dnl +-AC_REQUIRE([AC_PROG_CC])dnl +-AC_REQUIRE([LT_PATH_LD])dnl +-AC_REQUIRE([LT_PATH_NM])dnl +-dnl +-AC_REQUIRE([AC_PROG_LN_S])dnl +-test -z "$LN_S" && LN_S="ln -s" +-_LT_DECL([], [LN_S], [1], [Whether we need soft or hard links])dnl +-dnl +-AC_REQUIRE([LT_CMD_MAX_LEN])dnl +-_LT_DECL([objext], [ac_objext], [0], [Object file suffix (normally "o")])dnl +-_LT_DECL([], [exeext], [0], [Executable file suffix (normally "")])dnl +-dnl +-m4_require([_LT_FILEUTILS_DEFAULTS])dnl +-m4_require([_LT_CHECK_SHELL_FEATURES])dnl +-m4_require([_LT_CMD_RELOAD])dnl +-m4_require([_LT_CHECK_MAGIC_METHOD])dnl +-m4_require([_LT_CMD_OLD_ARCHIVE])dnl +-m4_require([_LT_CMD_GLOBAL_SYMBOLS])dnl +- +-_LT_CONFIG_LIBTOOL_INIT([ +-# See if we are running on zsh, and set the options which allow our +-# commands through without removal of \ escapes INIT. +-if test -n "\${ZSH_VERSION+set}" ; then +- setopt NO_GLOB_SUBST +-fi +-]) +-if test -n "${ZSH_VERSION+set}" ; then +- setopt NO_GLOB_SUBST +-fi +- +-_LT_CHECK_OBJDIR +- +-m4_require([_LT_TAG_COMPILER])dnl +-_LT_PROG_ECHO_BACKSLASH +- +-case $host_os in +-aix3*) +- # AIX sometimes has problems with the GCC collect2 program. For some +- # reason, if we set the COLLECT_NAMES environment variable, the problems +- # vanish in a puff of smoke. +- if test "X${COLLECT_NAMES+set}" != Xset; then +- COLLECT_NAMES= +- export COLLECT_NAMES +- fi +- ;; +-esac +- +-# Sed substitution that helps us do robust quoting. It backslashifies +-# metacharacters that are still active within double-quoted strings. +-sed_quote_subst='s/\([["`$\\]]\)/\\\1/g' +- +-# Same as above, but do not quote variable references. +-double_quote_subst='s/\([["`\\]]\)/\\\1/g' +- +-# Sed substitution to delay expansion of an escaped shell variable in a +-# double_quote_subst'ed string. +-delay_variable_subst='s/\\\\\\\\\\\$/\\\\\\$/g' +- +-# Sed substitution to delay expansion of an escaped single quote. +-delay_single_quote_subst='s/'\''/'\'\\\\\\\'\''/g' +- +-# Sed substitution to avoid accidental globbing in evaled expressions +-no_glob_subst='s/\*/\\\*/g' +- +-# Global variables: +-ofile=libtool +-can_build_shared=yes +- +-# All known linkers require a `.a' archive for static linking (except MSVC, +-# which needs '.lib'). +-libext=a +- +-with_gnu_ld="$lt_cv_prog_gnu_ld" +- +-old_CC="$CC" +-old_CFLAGS="$CFLAGS" +- +-# Set sane defaults for various variables +-test -z "$CC" && CC=cc +-test -z "$LTCC" && LTCC=$CC +-test -z "$LTCFLAGS" && LTCFLAGS=$CFLAGS +-test -z "$LD" && LD=ld +-test -z "$ac_objext" && ac_objext=o +- +-_LT_CC_BASENAME([$compiler]) +- +-# Only perform the check for file, if the check method requires it +-test -z "$MAGIC_CMD" && MAGIC_CMD=file +-case $deplibs_check_method in +-file_magic*) +- if test "$file_magic_cmd" = '$MAGIC_CMD'; then +- _LT_PATH_MAGIC +- fi +- ;; +-esac +- +-# Use C for the default configuration in the libtool script +-LT_SUPPORTED_TAG([CC]) +-_LT_LANG_C_CONFIG +-_LT_LANG_DEFAULT_CONFIG +-_LT_CONFIG_COMMANDS +-])# _LT_SETUP +- +- +-# _LT_PROG_LTMAIN +-# --------------- +-# Note that this code is called both from `configure', and `config.status' +-# now that we use AC_CONFIG_COMMANDS to generate libtool. Notably, +-# `config.status' has no value for ac_aux_dir unless we are using Automake, +-# so we pass a copy along to make sure it has a sensible value anyway. +-m4_defun([_LT_PROG_LTMAIN], +-[m4_ifdef([AC_REQUIRE_AUX_FILE], [AC_REQUIRE_AUX_FILE([ltmain.sh])])dnl +-_LT_CONFIG_LIBTOOL_INIT([ac_aux_dir='$ac_aux_dir']) +-ltmain="$ac_aux_dir/ltmain.sh" +-])# _LT_PROG_LTMAIN +- +- +-## ------------------------------------- ## +-## Accumulate code for creating libtool. ## +-## ------------------------------------- ## +- +-# So that we can recreate a full libtool script including additional +-# tags, we accumulate the chunks of code to send to AC_CONFIG_COMMANDS +-# in macros and then make a single call at the end using the `libtool' +-# label. +- +- +-# _LT_CONFIG_LIBTOOL_INIT([INIT-COMMANDS]) +-# ---------------------------------------- +-# Register INIT-COMMANDS to be passed to AC_CONFIG_COMMANDS later. +-m4_define([_LT_CONFIG_LIBTOOL_INIT], +-[m4_ifval([$1], +- [m4_append([_LT_OUTPUT_LIBTOOL_INIT], +- [$1 +-])])]) +- +-# Initialize. +-m4_define([_LT_OUTPUT_LIBTOOL_INIT]) +- +- +-# _LT_CONFIG_LIBTOOL([COMMANDS]) +-# ------------------------------ +-# Register COMMANDS to be passed to AC_CONFIG_COMMANDS later. +-m4_define([_LT_CONFIG_LIBTOOL], +-[m4_ifval([$1], +- [m4_append([_LT_OUTPUT_LIBTOOL_COMMANDS], +- [$1 +-])])]) +- +-# Initialize. +-m4_define([_LT_OUTPUT_LIBTOOL_COMMANDS]) +- +- +-# _LT_CONFIG_SAVE_COMMANDS([COMMANDS], [INIT_COMMANDS]) +-# ----------------------------------------------------- +-m4_defun([_LT_CONFIG_SAVE_COMMANDS], +-[_LT_CONFIG_LIBTOOL([$1]) +-_LT_CONFIG_LIBTOOL_INIT([$2]) +-]) +- +- +-# _LT_FORMAT_COMMENT([COMMENT]) +-# ----------------------------- +-# Add leading comment marks to the start of each line, and a trailing +-# full-stop to the whole comment if one is not present already. +-m4_define([_LT_FORMAT_COMMENT], +-[m4_ifval([$1], [ +-m4_bpatsubst([m4_bpatsubst([$1], [^ *], [# ])], +- [['`$\]], [\\\&])]m4_bmatch([$1], [[!?.]$], [], [.]) +-)]) +- +- +- +-## ------------------------ ## +-## FIXME: Eliminate VARNAME ## +-## ------------------------ ## +- +- +-# _LT_DECL([CONFIGNAME], VARNAME, VALUE, [DESCRIPTION], [IS-TAGGED?]) +-# ------------------------------------------------------------------- +-# CONFIGNAME is the name given to the value in the libtool script. +-# VARNAME is the (base) name used in the configure script. +-# VALUE may be 0, 1 or 2 for a computed quote escaped value based on +-# VARNAME. Any other value will be used directly. +-m4_define([_LT_DECL], +-[lt_if_append_uniq([lt_decl_varnames], [$2], [, ], +- [lt_dict_add_subkey([lt_decl_dict], [$2], [libtool_name], +- [m4_ifval([$1], [$1], [$2])]) +- lt_dict_add_subkey([lt_decl_dict], [$2], [value], [$3]) +- m4_ifval([$4], +- [lt_dict_add_subkey([lt_decl_dict], [$2], [description], [$4])]) +- lt_dict_add_subkey([lt_decl_dict], [$2], +- [tagged?], [m4_ifval([$5], [yes], [no])])]) +-]) +- +- +-# _LT_TAGDECL([CONFIGNAME], VARNAME, VALUE, [DESCRIPTION]) +-# -------------------------------------------------------- +-m4_define([_LT_TAGDECL], [_LT_DECL([$1], [$2], [$3], [$4], [yes])]) +- +- +-# lt_decl_tag_varnames([SEPARATOR], [VARNAME1...]) +-# ------------------------------------------------ +-m4_define([lt_decl_tag_varnames], +-[_lt_decl_filter([tagged?], [yes], $@)]) +- +- +-# _lt_decl_filter(SUBKEY, VALUE, [SEPARATOR], [VARNAME1..]) +-# --------------------------------------------------------- +-m4_define([_lt_decl_filter], +-[m4_case([$#], +- [0], [m4_fatal([$0: too few arguments: $#])], +- [1], [m4_fatal([$0: too few arguments: $#: $1])], +- [2], [lt_dict_filter([lt_decl_dict], [$1], [$2], [], lt_decl_varnames)], +- [3], [lt_dict_filter([lt_decl_dict], [$1], [$2], [$3], lt_decl_varnames)], +- [lt_dict_filter([lt_decl_dict], $@)])[]dnl +-]) +- +- +-# lt_decl_quote_varnames([SEPARATOR], [VARNAME1...]) +-# -------------------------------------------------- +-m4_define([lt_decl_quote_varnames], +-[_lt_decl_filter([value], [1], $@)]) +- +- +-# lt_decl_dquote_varnames([SEPARATOR], [VARNAME1...]) +-# --------------------------------------------------- +-m4_define([lt_decl_dquote_varnames], +-[_lt_decl_filter([value], [2], $@)]) +- +- +-# lt_decl_varnames_tagged([SEPARATOR], [VARNAME1...]) +-# --------------------------------------------------- +-m4_define([lt_decl_varnames_tagged], +-[m4_assert([$# <= 2])dnl +-_$0(m4_quote(m4_default([$1], [[, ]])), +- m4_ifval([$2], [[$2]], [m4_dquote(lt_decl_tag_varnames)]), +- m4_split(m4_normalize(m4_quote(_LT_TAGS)), [ ]))]) +-m4_define([_lt_decl_varnames_tagged], +-[m4_ifval([$3], [lt_combine([$1], [$2], [_], $3)])]) +- +- +-# lt_decl_all_varnames([SEPARATOR], [VARNAME1...]) +-# ------------------------------------------------ +-m4_define([lt_decl_all_varnames], +-[_$0(m4_quote(m4_default([$1], [[, ]])), +- m4_if([$2], [], +- m4_quote(lt_decl_varnames), +- m4_quote(m4_shift($@))))[]dnl +-]) +-m4_define([_lt_decl_all_varnames], +-[lt_join($@, lt_decl_varnames_tagged([$1], +- lt_decl_tag_varnames([[, ]], m4_shift($@))))dnl +-]) +- +- +-# _LT_CONFIG_STATUS_DECLARE([VARNAME]) +-# ------------------------------------ +-# Quote a variable value, and forward it to `config.status' so that its +-# declaration there will have the same value as in `configure'. VARNAME +-# must have a single quote delimited value for this to work. +-m4_define([_LT_CONFIG_STATUS_DECLARE], +-[$1='`$ECHO "X$][$1" | $Xsed -e "$delay_single_quote_subst"`']) +- +- +-# _LT_CONFIG_STATUS_DECLARATIONS +-# ------------------------------ +-# We delimit libtool config variables with single quotes, so when +-# we write them to config.status, we have to be sure to quote all +-# embedded single quotes properly. In configure, this macro expands +-# each variable declared with _LT_DECL (and _LT_TAGDECL) into: +-# +-# <var>='`$ECHO "X$<var>" | $Xsed -e "$delay_single_quote_subst"`' +-m4_defun([_LT_CONFIG_STATUS_DECLARATIONS], +-[m4_foreach([_lt_var], m4_quote(lt_decl_all_varnames), +- [m4_n([_LT_CONFIG_STATUS_DECLARE(_lt_var)])])]) +- +- +-# _LT_LIBTOOL_TAGS +-# ---------------- +-# Output comment and list of tags supported by the script +-m4_defun([_LT_LIBTOOL_TAGS], +-[_LT_FORMAT_COMMENT([The names of the tagged configurations supported by this script])dnl +-available_tags="_LT_TAGS"dnl +-]) +- +- +-# _LT_LIBTOOL_DECLARE(VARNAME, [TAG]) +-# ----------------------------------- +-# Extract the dictionary values for VARNAME (optionally with TAG) and +-# expand to a commented shell variable setting: +-# +-# # Some comment about what VAR is for. +-# visible_name=$lt_internal_name +-m4_define([_LT_LIBTOOL_DECLARE], +-[_LT_FORMAT_COMMENT(m4_quote(lt_dict_fetch([lt_decl_dict], [$1], +- [description])))[]dnl +-m4_pushdef([_libtool_name], +- m4_quote(lt_dict_fetch([lt_decl_dict], [$1], [libtool_name])))[]dnl +-m4_case(m4_quote(lt_dict_fetch([lt_decl_dict], [$1], [value])), +- [0], [_libtool_name=[$]$1], +- [1], [_libtool_name=$lt_[]$1], +- [2], [_libtool_name=$lt_[]$1], +- [_libtool_name=lt_dict_fetch([lt_decl_dict], [$1], [value])])[]dnl +-m4_ifval([$2], [_$2])[]m4_popdef([_libtool_name])[]dnl +-]) +- +- +-# _LT_LIBTOOL_CONFIG_VARS +-# ----------------------- +-# Produce commented declarations of non-tagged libtool config variables +-# suitable for insertion in the LIBTOOL CONFIG section of the `libtool' +-# script. Tagged libtool config variables (even for the LIBTOOL CONFIG +-# section) are produced by _LT_LIBTOOL_TAG_VARS. +-m4_defun([_LT_LIBTOOL_CONFIG_VARS], +-[m4_foreach([_lt_var], +- m4_quote(_lt_decl_filter([tagged?], [no], [], lt_decl_varnames)), +- [m4_n([_LT_LIBTOOL_DECLARE(_lt_var)])])]) +- +- +-# _LT_LIBTOOL_TAG_VARS(TAG) +-# ------------------------- +-m4_define([_LT_LIBTOOL_TAG_VARS], +-[m4_foreach([_lt_var], m4_quote(lt_decl_tag_varnames), +- [m4_n([_LT_LIBTOOL_DECLARE(_lt_var, [$1])])])]) +- +- +-# _LT_TAGVAR(VARNAME, [TAGNAME]) +-# ------------------------------ +-m4_define([_LT_TAGVAR], [m4_ifval([$2], [$1_$2], [$1])]) +- +- +-# _LT_CONFIG_COMMANDS +-# ------------------- +-# Send accumulated output to $CONFIG_STATUS. Thanks to the lists of +-# variables for single and double quote escaping we saved from calls +-# to _LT_DECL, we can put quote escaped variables declarations +-# into `config.status', and then the shell code to quote escape them in +-# for loops in `config.status'. Finally, any additional code accumulated +-# from calls to _LT_CONFIG_LIBTOOL_INIT is expanded. +-m4_defun([_LT_CONFIG_COMMANDS], +-[AC_PROVIDE_IFELSE([LT_OUTPUT], +- dnl If the libtool generation code has been placed in $CONFIG_LT, +- dnl instead of duplicating it all over again into config.status, +- dnl then we will have config.status run $CONFIG_LT later, so it +- dnl needs to know what name is stored there: +- [AC_CONFIG_COMMANDS([libtool], +- [$SHELL $CONFIG_LT || AS_EXIT(1)], [CONFIG_LT='$CONFIG_LT'])], +- dnl If the libtool generation code is destined for config.status, +- dnl expand the accumulated commands and init code now: +- [AC_CONFIG_COMMANDS([libtool], +- [_LT_OUTPUT_LIBTOOL_COMMANDS], [_LT_OUTPUT_LIBTOOL_COMMANDS_INIT])]) +-])#_LT_CONFIG_COMMANDS +- +- +-# Initialize. +-m4_define([_LT_OUTPUT_LIBTOOL_COMMANDS_INIT], +-[ +- +-# The HP-UX ksh and POSIX shell print the target directory to stdout +-# if CDPATH is set. +-(unset CDPATH) >/dev/null 2>&1 && unset CDPATH +- +-sed_quote_subst='$sed_quote_subst' +-double_quote_subst='$double_quote_subst' +-delay_variable_subst='$delay_variable_subst' +-_LT_CONFIG_STATUS_DECLARATIONS +-LTCC='$LTCC' +-LTCFLAGS='$LTCFLAGS' +-compiler='$compiler_DEFAULT' +- +-# Quote evaled strings. +-for var in lt_decl_all_varnames([[ \ +-]], lt_decl_quote_varnames); do +- case \`eval \\\\\$ECHO "X\\\\\$\$var"\` in +- *[[\\\\\\\`\\"\\\$]]*) +- eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"X\\\$\$var\\" | \\\$Xsed -e \\"\\\$sed_quote_subst\\"\\\`\\\\\\"" +- ;; +- *) +- eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\"" +- ;; +- esac +-done +- +-# Double-quote double-evaled strings. +-for var in lt_decl_all_varnames([[ \ +-]], lt_decl_dquote_varnames); do +- case \`eval \\\\\$ECHO "X\\\\\$\$var"\` in +- *[[\\\\\\\`\\"\\\$]]*) +- eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"X\\\$\$var\\" | \\\$Xsed -e \\"\\\$double_quote_subst\\" -e \\"\\\$sed_quote_subst\\" -e \\"\\\$delay_variable_subst\\"\\\`\\\\\\"" +- ;; +- *) +- eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\"" +- ;; +- esac +-done +- +-# Fix-up fallback echo if it was mangled by the above quoting rules. +-case \$lt_ECHO in +-*'\\\[$]0 --fallback-echo"')dnl " +- lt_ECHO=\`\$ECHO "X\$lt_ECHO" | \$Xsed -e 's/\\\\\\\\\\\\\\\[$]0 --fallback-echo"\[$]/\[$]0 --fallback-echo"/'\` +- ;; +-esac +- +-_LT_OUTPUT_LIBTOOL_INIT +-]) +- +- +-# LT_OUTPUT +-# --------- +-# This macro allows early generation of the libtool script (before +-# AC_OUTPUT is called), incase it is used in configure for compilation +-# tests. +-AC_DEFUN([LT_OUTPUT], +-[: ${CONFIG_LT=./config.lt} +-AC_MSG_NOTICE([creating $CONFIG_LT]) +-cat >"$CONFIG_LT" <<_LTEOF +-#! $SHELL +-# Generated by $as_me. +-# Run this file to recreate a libtool stub with the current configuration. +- +-lt_cl_silent=false +-SHELL=\${CONFIG_SHELL-$SHELL} +-_LTEOF +- +-cat >>"$CONFIG_LT" <<\_LTEOF +-AS_SHELL_SANITIZE +-_AS_PREPARE +- +-exec AS_MESSAGE_FD>&1 +-exec AS_MESSAGE_LOG_FD>>config.log +-{ +- echo +- AS_BOX([Running $as_me.]) +-} >&AS_MESSAGE_LOG_FD +- +-lt_cl_help="\ +-\`$as_me' creates a local libtool stub from the current configuration, +-for use in further configure time tests before the real libtool is +-generated. +- +-Usage: $[0] [[OPTIONS]] +- +- -h, --help print this help, then exit +- -V, --version print version number, then exit +- -q, --quiet do not print progress messages +- -d, --debug don't remove temporary files +- +-Report bugs to <bug-libtool@gnu.org>." +- +-lt_cl_version="\ +-m4_ifset([AC_PACKAGE_NAME], [AC_PACKAGE_NAME ])config.lt[]dnl +-m4_ifset([AC_PACKAGE_VERSION], [ AC_PACKAGE_VERSION]) +-configured by $[0], generated by m4_PACKAGE_STRING. +- +-Copyright (C) 2008 Free Software Foundation, Inc. +-This config.lt script is free software; the Free Software Foundation +-gives unlimited permision to copy, distribute and modify it." +- +-while test $[#] != 0 +-do +- case $[1] in +- --version | --v* | -V ) +- echo "$lt_cl_version"; exit 0 ;; +- --help | --h* | -h ) +- echo "$lt_cl_help"; exit 0 ;; +- --debug | --d* | -d ) +- debug=: ;; +- --quiet | --q* | --silent | --s* | -q ) +- lt_cl_silent=: ;; +- +- -*) AC_MSG_ERROR([unrecognized option: $[1] +-Try \`$[0] --help' for more information.]) ;; +- +- *) AC_MSG_ERROR([unrecognized argument: $[1] +-Try \`$[0] --help' for more information.]) ;; +- esac +- shift +-done +- +-if $lt_cl_silent; then +- exec AS_MESSAGE_FD>/dev/null +-fi +-_LTEOF +- +-cat >>"$CONFIG_LT" <<_LTEOF +-_LT_OUTPUT_LIBTOOL_COMMANDS_INIT +-_LTEOF +- +-cat >>"$CONFIG_LT" <<\_LTEOF +-AC_MSG_NOTICE([creating $ofile]) +-_LT_OUTPUT_LIBTOOL_COMMANDS +-AS_EXIT(0) +-_LTEOF +-chmod +x "$CONFIG_LT" +- +-# configure is writing to config.log, but config.lt does its own redirection, +-# appending to config.log, which fails on DOS, as config.log is still kept +-# open by configure. Here we exec the FD to /dev/null, effectively closing +-# config.log, so it can be properly (re)opened and appended to by config.lt. +-if test "$no_create" != yes; then +- lt_cl_success=: +- test "$silent" = yes && +- lt_config_lt_args="$lt_config_lt_args --quiet" +- exec AS_MESSAGE_LOG_FD>/dev/null +- $SHELL "$CONFIG_LT" $lt_config_lt_args || lt_cl_success=false +- exec AS_MESSAGE_LOG_FD>>config.log +- $lt_cl_success || AS_EXIT(1) +-fi +-])# LT_OUTPUT +- +- +-# _LT_CONFIG(TAG) +-# --------------- +-# If TAG is the built-in tag, create an initial libtool script with a +-# default configuration from the untagged config vars. Otherwise add code +-# to config.status for appending the configuration named by TAG from the +-# matching tagged config vars. +-m4_defun([_LT_CONFIG], +-[m4_require([_LT_FILEUTILS_DEFAULTS])dnl +-_LT_CONFIG_SAVE_COMMANDS([ +- m4_define([_LT_TAG], m4_if([$1], [], [C], [$1]))dnl +- m4_if(_LT_TAG, [C], [ +- # See if we are running on zsh, and set the options which allow our +- # commands through without removal of \ escapes. +- if test -n "${ZSH_VERSION+set}" ; then +- setopt NO_GLOB_SUBST +- fi +- +- cfgfile="${ofile}T" +- trap "$RM \"$cfgfile\"; exit 1" 1 2 15 +- $RM "$cfgfile" +- +- cat <<_LT_EOF >> "$cfgfile" +-#! $SHELL +- +-# `$ECHO "$ofile" | sed 's%^.*/%%'` - Provide generalized library-building support services. +-# Generated automatically by $as_me ($PACKAGE$TIMESTAMP) $VERSION +-# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`: +-# NOTE: Changes made to this file will be lost: look at ltmain.sh. +-# +-_LT_COPYING +-_LT_LIBTOOL_TAGS +- +-# ### BEGIN LIBTOOL CONFIG +-_LT_LIBTOOL_CONFIG_VARS +-_LT_LIBTOOL_TAG_VARS +-# ### END LIBTOOL CONFIG +- +-_LT_EOF +- +- case $host_os in +- aix3*) +- cat <<\_LT_EOF >> "$cfgfile" +-# AIX sometimes has problems with the GCC collect2 program. For some +-# reason, if we set the COLLECT_NAMES environment variable, the problems +-# vanish in a puff of smoke. +-if test "X${COLLECT_NAMES+set}" != Xset; then +- COLLECT_NAMES= +- export COLLECT_NAMES +-fi +-_LT_EOF +- ;; +- esac +- +- _LT_PROG_LTMAIN +- +- # We use sed instead of cat because bash on DJGPP gets confused if +- # if finds mixed CR/LF and LF-only lines. Since sed operates in +- # text mode, it properly converts lines to CR/LF. This bash problem +- # is reportedly fixed, but why not run on old versions too? +- sed '/^# Generated shell functions inserted here/q' "$ltmain" >> "$cfgfile" \ +- || (rm -f "$cfgfile"; exit 1) +- +- _LT_PROG_XSI_SHELLFNS +- +- sed -n '/^# Generated shell functions inserted here/,$p' "$ltmain" >> "$cfgfile" \ +- || (rm -f "$cfgfile"; exit 1) +- +- mv -f "$cfgfile" "$ofile" || +- (rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile") +- chmod +x "$ofile" +-], +-[cat <<_LT_EOF >> "$ofile" +- +-dnl Unfortunately we have to use $1 here, since _LT_TAG is not expanded +-dnl in a comment (ie after a #). +-# ### BEGIN LIBTOOL TAG CONFIG: $1 +-_LT_LIBTOOL_TAG_VARS(_LT_TAG) +-# ### END LIBTOOL TAG CONFIG: $1 +-_LT_EOF +-])dnl /m4_if +-], +-[m4_if([$1], [], [ +- PACKAGE='$PACKAGE' +- VERSION='$VERSION' +- TIMESTAMP='$TIMESTAMP' +- RM='$RM' +- ofile='$ofile'], []) +-])dnl /_LT_CONFIG_SAVE_COMMANDS +-])# _LT_CONFIG +- +- +-# LT_SUPPORTED_TAG(TAG) +-# --------------------- +-# Trace this macro to discover what tags are supported by the libtool +-# --tag option, using: +-# autoconf --trace 'LT_SUPPORTED_TAG:$1' +-AC_DEFUN([LT_SUPPORTED_TAG], []) +- +- +-# C support is built-in for now +-m4_define([_LT_LANG_C_enabled], []) +-m4_define([_LT_TAGS], []) +- +- +-# LT_LANG(LANG) +-# ------------- +-# Enable libtool support for the given language if not already enabled. +-AC_DEFUN([LT_LANG], +-[AC_BEFORE([$0], [LT_OUTPUT])dnl +-m4_case([$1], +- [C], [_LT_LANG(C)], +- [C++], [_LT_LANG(CXX)], +- [Java], [_LT_LANG(GCJ)], +- [Fortran 77], [_LT_LANG(F77)], +- [Fortran], [_LT_LANG(FC)], +- [Windows Resource], [_LT_LANG(RC)], +- [m4_ifdef([_LT_LANG_]$1[_CONFIG], +- [_LT_LANG($1)], +- [m4_fatal([$0: unsupported language: "$1"])])])dnl +-])# LT_LANG +- +- +-# _LT_LANG(LANGNAME) +-# ------------------ +-m4_defun([_LT_LANG], +-[m4_ifdef([_LT_LANG_]$1[_enabled], [], +- [LT_SUPPORTED_TAG([$1])dnl +- m4_append([_LT_TAGS], [$1 ])dnl +- m4_define([_LT_LANG_]$1[_enabled], [])dnl +- _LT_LANG_$1_CONFIG($1)])dnl +-])# _LT_LANG +- +- +-# _LT_LANG_DEFAULT_CONFIG +-# ----------------------- +-m4_defun([_LT_LANG_DEFAULT_CONFIG], +-[AC_PROVIDE_IFELSE([AC_PROG_CXX], +- [LT_LANG(CXX)], +- [m4_define([AC_PROG_CXX], defn([AC_PROG_CXX])[LT_LANG(CXX)])]) +- +-AC_PROVIDE_IFELSE([AC_PROG_F77], +- [LT_LANG(F77)], +- [m4_define([AC_PROG_F77], defn([AC_PROG_F77])[LT_LANG(F77)])]) +- +-AC_PROVIDE_IFELSE([AC_PROG_FC], +- [LT_LANG(FC)], +- [m4_define([AC_PROG_FC], defn([AC_PROG_FC])[LT_LANG(FC)])]) +- +-dnl The call to [A][M_PROG_GCJ] is quoted like that to stop aclocal +-dnl pulling things in needlessly. +-AC_PROVIDE_IFELSE([AC_PROG_GCJ], +- [LT_LANG(GCJ)], +- [AC_PROVIDE_IFELSE([A][M_PROG_GCJ], +- [LT_LANG(GCJ)], +- [AC_PROVIDE_IFELSE([LT_PROG_GCJ], +- [LT_LANG(GCJ)], +- [m4_ifdef([AC_PROG_GCJ], +- [m4_define([AC_PROG_GCJ], defn([AC_PROG_GCJ])[LT_LANG(GCJ)])]) +- m4_ifdef([A][M_PROG_GCJ], +- [m4_define([A][M_PROG_GCJ], defn([A][M_PROG_GCJ])[LT_LANG(GCJ)])]) +- m4_ifdef([LT_PROG_GCJ], +- [m4_define([LT_PROG_GCJ], defn([LT_PROG_GCJ])[LT_LANG(GCJ)])])])])]) +- +-AC_PROVIDE_IFELSE([LT_PROG_RC], +- [LT_LANG(RC)], +- [m4_define([LT_PROG_RC], defn([LT_PROG_RC])[LT_LANG(RC)])]) +-])# _LT_LANG_DEFAULT_CONFIG +- +-# Obsolete macros: +-AU_DEFUN([AC_LIBTOOL_CXX], [LT_LANG(C++)]) +-AU_DEFUN([AC_LIBTOOL_F77], [LT_LANG(Fortran 77)]) +-AU_DEFUN([AC_LIBTOOL_FC], [LT_LANG(Fortran)]) +-AU_DEFUN([AC_LIBTOOL_GCJ], [LT_LANG(Java)]) +-dnl aclocal-1.4 backwards compatibility: +-dnl AC_DEFUN([AC_LIBTOOL_CXX], []) +-dnl AC_DEFUN([AC_LIBTOOL_F77], []) +-dnl AC_DEFUN([AC_LIBTOOL_FC], []) +-dnl AC_DEFUN([AC_LIBTOOL_GCJ], []) +- +- +-# _LT_TAG_COMPILER +-# ---------------- +-m4_defun([_LT_TAG_COMPILER], +-[AC_REQUIRE([AC_PROG_CC])dnl +- +-_LT_DECL([LTCC], [CC], [1], [A C compiler])dnl +-_LT_DECL([LTCFLAGS], [CFLAGS], [1], [LTCC compiler flags])dnl +-_LT_TAGDECL([CC], [compiler], [1], [A language specific compiler])dnl +-_LT_TAGDECL([with_gcc], [GCC], [0], [Is the compiler the GNU compiler?])dnl +- +-# If no C compiler was specified, use CC. +-LTCC=${LTCC-"$CC"} +- +-# If no C compiler flags were specified, use CFLAGS. +-LTCFLAGS=${LTCFLAGS-"$CFLAGS"} +- +-# Allow CC to be a program name with arguments. +-compiler=$CC +-])# _LT_TAG_COMPILER +- +- +-# _LT_COMPILER_BOILERPLATE +-# ------------------------ +-# Check for compiler boilerplate output or warnings with +-# the simple compiler test code. +-m4_defun([_LT_COMPILER_BOILERPLATE], +-[m4_require([_LT_DECL_SED])dnl +-ac_outfile=conftest.$ac_objext +-echo "$lt_simple_compile_test_code" >conftest.$ac_ext +-eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err +-_lt_compiler_boilerplate=`cat conftest.err` +-$RM conftest* +-])# _LT_COMPILER_BOILERPLATE +- +- +-# _LT_LINKER_BOILERPLATE +-# ---------------------- +-# Check for linker boilerplate output or warnings with +-# the simple link test code. +-m4_defun([_LT_LINKER_BOILERPLATE], +-[m4_require([_LT_DECL_SED])dnl +-ac_outfile=conftest.$ac_objext +-echo "$lt_simple_link_test_code" >conftest.$ac_ext +-eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err +-_lt_linker_boilerplate=`cat conftest.err` +-$RM -r conftest* +-])# _LT_LINKER_BOILERPLATE +- +-# _LT_REQUIRED_DARWIN_CHECKS +-# ------------------------- +-m4_defun_once([_LT_REQUIRED_DARWIN_CHECKS],[ +- case $host_os in +- rhapsody* | darwin*) +- AC_CHECK_TOOL([DSYMUTIL], [dsymutil], [:]) +- AC_CHECK_TOOL([NMEDIT], [nmedit], [:]) +- AC_CHECK_TOOL([LIPO], [lipo], [:]) +- AC_CHECK_TOOL([OTOOL], [otool], [:]) +- AC_CHECK_TOOL([OTOOL64], [otool64], [:]) +- _LT_DECL([], [DSYMUTIL], [1], +- [Tool to manipulate archived DWARF debug symbol files on Mac OS X]) +- _LT_DECL([], [NMEDIT], [1], +- [Tool to change global to local symbols on Mac OS X]) +- _LT_DECL([], [LIPO], [1], +- [Tool to manipulate fat objects and archives on Mac OS X]) +- _LT_DECL([], [OTOOL], [1], +- [ldd/readelf like tool for Mach-O binaries on Mac OS X]) +- _LT_DECL([], [OTOOL64], [1], +- [ldd/readelf like tool for 64 bit Mach-O binaries on Mac OS X 10.4]) +- +- AC_CACHE_CHECK([for -single_module linker flag],[lt_cv_apple_cc_single_mod], +- [lt_cv_apple_cc_single_mod=no +- if test -z "${LT_MULTI_MODULE}"; then +- # By default we will add the -single_module flag. You can override +- # by either setting the environment variable LT_MULTI_MODULE +- # non-empty at configure time, or by adding -multi_module to the +- # link flags. +- rm -rf libconftest.dylib* +- echo "int foo(void){return 1;}" > conftest.c +- echo "$LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \ +--dynamiclib -Wl,-single_module conftest.c" >&AS_MESSAGE_LOG_FD +- $LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \ +- -dynamiclib -Wl,-single_module conftest.c 2>conftest.err +- _lt_result=$? +- if test -f libconftest.dylib && test ! -s conftest.err && test $_lt_result = 0; then +- lt_cv_apple_cc_single_mod=yes +- else +- cat conftest.err >&AS_MESSAGE_LOG_FD +- fi +- rm -rf libconftest.dylib* +- rm -f conftest.* +- fi]) +- AC_CACHE_CHECK([for -exported_symbols_list linker flag], +- [lt_cv_ld_exported_symbols_list], +- [lt_cv_ld_exported_symbols_list=no +- save_LDFLAGS=$LDFLAGS +- echo "_main" > conftest.sym +- LDFLAGS="$LDFLAGS -Wl,-exported_symbols_list,conftest.sym" +- AC_LINK_IFELSE([AC_LANG_PROGRAM([],[])], +- [lt_cv_ld_exported_symbols_list=yes], +- [lt_cv_ld_exported_symbols_list=no]) +- LDFLAGS="$save_LDFLAGS" +- ]) +- case $host_os in +- rhapsody* | darwin1.[[012]]) +- _lt_dar_allow_undefined='${wl}-undefined ${wl}suppress' ;; +- darwin1.*) +- _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;; +- darwin*) # darwin 5.x on +- # if running on 10.5 or later, the deployment target defaults +- # to the OS version, if on x86, and 10.4, the deployment +- # target defaults to 10.4. Don't you love it? +- case ${MACOSX_DEPLOYMENT_TARGET-10.0},$host in +- 10.0,*86*-darwin8*|10.0,*-darwin[[91]]*) +- _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;; +- 10.[[012]]*) +- _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;; +- 10.*) +- _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;; +- esac +- ;; +- esac +- if test "$lt_cv_apple_cc_single_mod" = "yes"; then +- _lt_dar_single_mod='$single_module' +- fi +- if test "$lt_cv_ld_exported_symbols_list" = "yes"; then +- _lt_dar_export_syms=' ${wl}-exported_symbols_list,$output_objdir/${libname}-symbols.expsym' +- else +- _lt_dar_export_syms='~$NMEDIT -s $output_objdir/${libname}-symbols.expsym ${lib}' +- fi +- if test "$DSYMUTIL" != ":"; then +- _lt_dsymutil='~$DSYMUTIL $lib || :' +- else +- _lt_dsymutil= +- fi +- ;; +- esac +-]) +- +- +-# _LT_DARWIN_LINKER_FEATURES +-# -------------------------- +-# Checks for linker and compiler features on darwin +-m4_defun([_LT_DARWIN_LINKER_FEATURES], +-[ +- m4_require([_LT_REQUIRED_DARWIN_CHECKS]) +- _LT_TAGVAR(archive_cmds_need_lc, $1)=no +- _LT_TAGVAR(hardcode_direct, $1)=no +- _LT_TAGVAR(hardcode_automatic, $1)=yes +- _LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported +- _LT_TAGVAR(whole_archive_flag_spec, $1)='' +- _LT_TAGVAR(link_all_deplibs, $1)=yes +- _LT_TAGVAR(allow_undefined_flag, $1)="$_lt_dar_allow_undefined" +- case $cc_basename in +- ifort*) _lt_dar_can_shared=yes ;; +- *) _lt_dar_can_shared=$GCC ;; +- esac +- if test "$_lt_dar_can_shared" = "yes"; then +- output_verbose_link_cmd=echo +- _LT_TAGVAR(archive_cmds, $1)="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod${_lt_dsymutil}" +- _LT_TAGVAR(module_cmds, $1)="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}" +- _LT_TAGVAR(archive_expsym_cmds, $1)="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring ${_lt_dar_single_mod}${_lt_dar_export_syms}${_lt_dsymutil}" +- _LT_TAGVAR(module_expsym_cmds, $1)="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}" +- m4_if([$1], [CXX], +-[ if test "$lt_cv_apple_cc_single_mod" != "yes"; then +- _LT_TAGVAR(archive_cmds, $1)="\$CC -r -keep_private_externs -nostdlib -o \${lib}-master.o \$libobjs~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \${lib}-master.o \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring${_lt_dsymutil}" +- _LT_TAGVAR(archive_expsym_cmds, $1)="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -r -keep_private_externs -nostdlib -o \${lib}-master.o \$libobjs~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \${lib}-master.o \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring${_lt_dar_export_syms}${_lt_dsymutil}" +- fi +-],[]) +- else +- _LT_TAGVAR(ld_shlibs, $1)=no +- fi +-]) +- +-# _LT_SYS_MODULE_PATH_AIX +-# ----------------------- +-# Links a minimal program and checks the executable +-# for the system default hardcoded library path. In most cases, +-# this is /usr/lib:/lib, but when the MPI compilers are used +-# the location of the communication and MPI libs are included too. +-# If we don't find anything, use the default library path according +-# to the aix ld manual. +-m4_defun([_LT_SYS_MODULE_PATH_AIX], +-[m4_require([_LT_DECL_SED])dnl +-AC_LINK_IFELSE(AC_LANG_PROGRAM,[ +-lt_aix_libpath_sed=' +- /Import File Strings/,/^$/ { +- /^0/ { +- s/^0 *\(.*\)$/\1/ +- p +- } +- }' +-aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` +-# Check for a 64-bit object if we didn't find anything. +-if test -z "$aix_libpath"; then +- aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` +-fi],[]) +-if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi +-])# _LT_SYS_MODULE_PATH_AIX +- +- +-# _LT_SHELL_INIT(ARG) +-# ------------------- +-m4_define([_LT_SHELL_INIT], +-[ifdef([AC_DIVERSION_NOTICE], +- [AC_DIVERT_PUSH(AC_DIVERSION_NOTICE)], +- [AC_DIVERT_PUSH(NOTICE)]) +-$1 +-AC_DIVERT_POP +-])# _LT_SHELL_INIT +- +- +-# _LT_PROG_ECHO_BACKSLASH +-# ----------------------- +-# Add some code to the start of the generated configure script which +-# will find an echo command which doesn't interpret backslashes. +-m4_defun([_LT_PROG_ECHO_BACKSLASH], +-[_LT_SHELL_INIT([ +-# Check that we are running under the correct shell. +-SHELL=${CONFIG_SHELL-/bin/sh} +- +-case X$lt_ECHO in +-X*--fallback-echo) +- # Remove one level of quotation (which was required for Make). +- ECHO=`echo "$lt_ECHO" | sed 's,\\\\\[$]\\[$]0,'[$]0','` +- ;; +-esac +- +-ECHO=${lt_ECHO-echo} +-if test "X[$]1" = X--no-reexec; then +- # Discard the --no-reexec flag, and continue. +- shift +-elif test "X[$]1" = X--fallback-echo; then +- # Avoid inline document here, it may be left over +- : +-elif test "X`{ $ECHO '\t'; } 2>/dev/null`" = 'X\t' ; then +- # Yippee, $ECHO works! +- : +-else +- # Restart under the correct shell. +- exec $SHELL "[$]0" --no-reexec ${1+"[$]@"} +-fi +- +-if test "X[$]1" = X--fallback-echo; then +- # used as fallback echo +- shift +- cat <<_LT_EOF +-[$]* +-_LT_EOF +- exit 0 +-fi +- +-# The HP-UX ksh and POSIX shell print the target directory to stdout +-# if CDPATH is set. +-(unset CDPATH) >/dev/null 2>&1 && unset CDPATH +- +-if test -z "$lt_ECHO"; then +- if test "X${echo_test_string+set}" != Xset; then +- # find a string as large as possible, as long as the shell can cope with it +- for cmd in 'sed 50q "[$]0"' 'sed 20q "[$]0"' 'sed 10q "[$]0"' 'sed 2q "[$]0"' 'echo test'; do +- # expected sizes: less than 2Kb, 1Kb, 512 bytes, 16 bytes, ... +- if { echo_test_string=`eval $cmd`; } 2>/dev/null && +- { test "X$echo_test_string" = "X$echo_test_string"; } 2>/dev/null +- then +- break +- fi +- done +- fi +- +- if test "X`{ $ECHO '\t'; } 2>/dev/null`" = 'X\t' && +- echo_testing_string=`{ $ECHO "$echo_test_string"; } 2>/dev/null` && +- test "X$echo_testing_string" = "X$echo_test_string"; then +- : +- else +- # The Solaris, AIX, and Digital Unix default echo programs unquote +- # backslashes. This makes it impossible to quote backslashes using +- # echo "$something" | sed 's/\\/\\\\/g' +- # +- # So, first we look for a working echo in the user's PATH. +- +- lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR +- for dir in $PATH /usr/ucb; do +- IFS="$lt_save_ifs" +- if (test -f $dir/echo || test -f $dir/echo$ac_exeext) && +- test "X`($dir/echo '\t') 2>/dev/null`" = 'X\t' && +- echo_testing_string=`($dir/echo "$echo_test_string") 2>/dev/null` && +- test "X$echo_testing_string" = "X$echo_test_string"; then +- ECHO="$dir/echo" +- break +- fi +- done +- IFS="$lt_save_ifs" +- +- if test "X$ECHO" = Xecho; then +- # We didn't find a better echo, so look for alternatives. +- if test "X`{ print -r '\t'; } 2>/dev/null`" = 'X\t' && +- echo_testing_string=`{ print -r "$echo_test_string"; } 2>/dev/null` && +- test "X$echo_testing_string" = "X$echo_test_string"; then +- # This shell has a builtin print -r that does the trick. +- ECHO='print -r' +- elif { test -f /bin/ksh || test -f /bin/ksh$ac_exeext; } && +- test "X$CONFIG_SHELL" != X/bin/ksh; then +- # If we have ksh, try running configure again with it. +- ORIGINAL_CONFIG_SHELL=${CONFIG_SHELL-/bin/sh} +- export ORIGINAL_CONFIG_SHELL +- CONFIG_SHELL=/bin/ksh +- export CONFIG_SHELL +- exec $CONFIG_SHELL "[$]0" --no-reexec ${1+"[$]@"} +- else +- # Try using printf. +- ECHO='printf %s\n' +- if test "X`{ $ECHO '\t'; } 2>/dev/null`" = 'X\t' && +- echo_testing_string=`{ $ECHO "$echo_test_string"; } 2>/dev/null` && +- test "X$echo_testing_string" = "X$echo_test_string"; then +- # Cool, printf works +- : +- elif echo_testing_string=`($ORIGINAL_CONFIG_SHELL "[$]0" --fallback-echo '\t') 2>/dev/null` && +- test "X$echo_testing_string" = 'X\t' && +- echo_testing_string=`($ORIGINAL_CONFIG_SHELL "[$]0" --fallback-echo "$echo_test_string") 2>/dev/null` && +- test "X$echo_testing_string" = "X$echo_test_string"; then +- CONFIG_SHELL=$ORIGINAL_CONFIG_SHELL +- export CONFIG_SHELL +- SHELL="$CONFIG_SHELL" +- export SHELL +- ECHO="$CONFIG_SHELL [$]0 --fallback-echo" +- elif echo_testing_string=`($CONFIG_SHELL "[$]0" --fallback-echo '\t') 2>/dev/null` && +- test "X$echo_testing_string" = 'X\t' && +- echo_testing_string=`($CONFIG_SHELL "[$]0" --fallback-echo "$echo_test_string") 2>/dev/null` && +- test "X$echo_testing_string" = "X$echo_test_string"; then +- ECHO="$CONFIG_SHELL [$]0 --fallback-echo" +- else +- # maybe with a smaller string... +- prev=: +- +- for cmd in 'echo test' 'sed 2q "[$]0"' 'sed 10q "[$]0"' 'sed 20q "[$]0"' 'sed 50q "[$]0"'; do +- if { test "X$echo_test_string" = "X`eval $cmd`"; } 2>/dev/null +- then +- break +- fi +- prev="$cmd" +- done +- +- if test "$prev" != 'sed 50q "[$]0"'; then +- echo_test_string=`eval $prev` +- export echo_test_string +- exec ${ORIGINAL_CONFIG_SHELL-${CONFIG_SHELL-/bin/sh}} "[$]0" ${1+"[$]@"} +- else +- # Oops. We lost completely, so just stick with echo. +- ECHO=echo +- fi +- fi +- fi +- fi +- fi +-fi +- +-# Copy echo and quote the copy suitably for passing to libtool from +-# the Makefile, instead of quoting the original, which is used later. +-lt_ECHO=$ECHO +-if test "X$lt_ECHO" = "X$CONFIG_SHELL [$]0 --fallback-echo"; then +- lt_ECHO="$CONFIG_SHELL \\\$\[$]0 --fallback-echo" +-fi +- +-AC_SUBST(lt_ECHO) +-]) +-_LT_DECL([], [SHELL], [1], [Shell to use when invoking shell scripts]) +-_LT_DECL([], [ECHO], [1], +- [An echo program that does not interpret backslashes]) +-])# _LT_PROG_ECHO_BACKSLASH +- +- +-# _LT_ENABLE_LOCK +-# --------------- +-m4_defun([_LT_ENABLE_LOCK], +-[AC_ARG_ENABLE([libtool-lock], +- [AS_HELP_STRING([--disable-libtool-lock], +- [avoid locking (might break parallel builds)])]) +-test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes +- +-# Some flags need to be propagated to the compiler or linker for good +-# libtool support. +-case $host in +-ia64-*-hpux*) +- # Find out which ABI we are using. +- echo 'int i;' > conftest.$ac_ext +- if AC_TRY_EVAL(ac_compile); then +- case `/usr/bin/file conftest.$ac_objext` in +- *ELF-32*) +- HPUX_IA64_MODE="32" +- ;; +- *ELF-64*) +- HPUX_IA64_MODE="64" +- ;; +- esac +- fi +- rm -rf conftest* +- ;; +-*-*-irix6*) +- # Find out which ABI we are using. +- echo '[#]line __oline__ "configure"' > conftest.$ac_ext +- if AC_TRY_EVAL(ac_compile); then +- if test "$lt_cv_prog_gnu_ld" = yes; then +- case `/usr/bin/file conftest.$ac_objext` in +- *32-bit*) +- LD="${LD-ld} -melf32bsmip" +- ;; +- *N32*) +- LD="${LD-ld} -melf32bmipn32" +- ;; +- *64-bit*) +- LD="${LD-ld} -melf64bmip" +- ;; +- esac +- else +- case `/usr/bin/file conftest.$ac_objext` in +- *32-bit*) +- LD="${LD-ld} -32" +- ;; +- *N32*) +- LD="${LD-ld} -n32" +- ;; +- *64-bit*) +- LD="${LD-ld} -64" +- ;; +- esac +- fi +- fi +- rm -rf conftest* +- ;; +- +-x86_64-*kfreebsd*-gnu|x86_64-*linux*|ppc*-*linux*|powerpc*-*linux*| \ +-s390*-*linux*|s390*-*tpf*|sparc*-*linux*) +- # Find out which ABI we are using. +- echo 'int i;' > conftest.$ac_ext +- if AC_TRY_EVAL(ac_compile); then +- case `/usr/bin/file conftest.o` in +- *32-bit*) +- case $host in +- x86_64-*kfreebsd*-gnu) +- LD="${LD-ld} -m elf_i386_fbsd" +- ;; +- x86_64-*linux*) +- LD="${LD-ld} -m elf_i386" +- ;; +- ppc64-*linux*|powerpc64-*linux*) +- LD="${LD-ld} -m elf32ppclinux" +- ;; +- s390x-*linux*) +- LD="${LD-ld} -m elf_s390" +- ;; +- sparc64-*linux*) +- LD="${LD-ld} -m elf32_sparc" +- ;; +- esac +- ;; +- *64-bit*) +- case $host in +- x86_64-*kfreebsd*-gnu) +- LD="${LD-ld} -m elf_x86_64_fbsd" +- ;; +- x86_64-*linux*) +- LD="${LD-ld} -m elf_x86_64" +- ;; +- ppc*-*linux*|powerpc*-*linux*) +- LD="${LD-ld} -m elf64ppc" +- ;; +- s390*-*linux*|s390*-*tpf*) +- LD="${LD-ld} -m elf64_s390" +- ;; +- sparc*-*linux*) +- LD="${LD-ld} -m elf64_sparc" +- ;; +- esac +- ;; +- esac +- fi +- rm -rf conftest* +- ;; +- +-*-*-sco3.2v5*) +- # On SCO OpenServer 5, we need -belf to get full-featured binaries. +- SAVE_CFLAGS="$CFLAGS" +- CFLAGS="$CFLAGS -belf" +- AC_CACHE_CHECK([whether the C compiler needs -belf], lt_cv_cc_needs_belf, +- [AC_LANG_PUSH(C) +- AC_LINK_IFELSE([AC_LANG_PROGRAM([[]],[[]])],[lt_cv_cc_needs_belf=yes],[lt_cv_cc_needs_belf=no]) +- AC_LANG_POP]) +- if test x"$lt_cv_cc_needs_belf" != x"yes"; then +- # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf +- CFLAGS="$SAVE_CFLAGS" +- fi +- ;; +-sparc*-*solaris*) +- # Find out which ABI we are using. +- echo 'int i;' > conftest.$ac_ext +- if AC_TRY_EVAL(ac_compile); then +- case `/usr/bin/file conftest.o` in +- *64-bit*) +- case $lt_cv_prog_gnu_ld in +- yes*) LD="${LD-ld} -m elf64_sparc" ;; +- *) +- if ${LD-ld} -64 -r -o conftest2.o conftest.o >/dev/null 2>&1; then +- LD="${LD-ld} -64" +- fi +- ;; +- esac +- ;; +- esac +- fi +- rm -rf conftest* +- ;; +-esac +- +-need_locks="$enable_libtool_lock" +-])# _LT_ENABLE_LOCK +- +- +-# _LT_CMD_OLD_ARCHIVE +-# ------------------- +-m4_defun([_LT_CMD_OLD_ARCHIVE], +-[AC_CHECK_TOOL(AR, ar, false) +-test -z "$AR" && AR=ar +-test -z "$AR_FLAGS" && AR_FLAGS=cru +-_LT_DECL([], [AR], [1], [The archiver]) +-_LT_DECL([], [AR_FLAGS], [1]) +- +-AC_CHECK_TOOL(STRIP, strip, :) +-test -z "$STRIP" && STRIP=: +-_LT_DECL([], [STRIP], [1], [A symbol stripping program]) +- +-AC_CHECK_TOOL(RANLIB, ranlib, :) +-test -z "$RANLIB" && RANLIB=: +-_LT_DECL([], [RANLIB], [1], +- [Commands used to install an old-style archive]) +- +-# Determine commands to create old-style static archives. +-old_archive_cmds='$AR $AR_FLAGS $oldlib$oldobjs' +-old_postinstall_cmds='chmod 644 $oldlib' +-old_postuninstall_cmds= +- +-if test -n "$RANLIB"; then +- case $host_os in +- openbsd*) +- old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$oldlib" +- ;; +- *) +- old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$oldlib" +- ;; +- esac +- old_archive_cmds="$old_archive_cmds~\$RANLIB \$oldlib" +-fi +-_LT_DECL([], [old_postinstall_cmds], [2]) +-_LT_DECL([], [old_postuninstall_cmds], [2]) +-_LT_TAGDECL([], [old_archive_cmds], [2], +- [Commands used to build an old-style archive]) +-])# _LT_CMD_OLD_ARCHIVE +- +- +-# _LT_COMPILER_OPTION(MESSAGE, VARIABLE-NAME, FLAGS, +-# [OUTPUT-FILE], [ACTION-SUCCESS], [ACTION-FAILURE]) +-# ---------------------------------------------------------------- +-# Check whether the given compiler option works +-AC_DEFUN([_LT_COMPILER_OPTION], +-[m4_require([_LT_FILEUTILS_DEFAULTS])dnl +-m4_require([_LT_DECL_SED])dnl +-AC_CACHE_CHECK([$1], [$2], +- [$2=no +- m4_if([$4], , [ac_outfile=conftest.$ac_objext], [ac_outfile=$4]) +- echo "$lt_simple_compile_test_code" > conftest.$ac_ext +- lt_compiler_flag="$3" +- # Insert the option either (1) after the last *FLAGS variable, or +- # (2) before a word containing "conftest.", or (3) at the end. +- # Note that $ac_compile itself does not contain backslashes and begins +- # with a dollar sign (not a hyphen), so the echo should work correctly. +- # The option is referenced via a variable to avoid confusing sed. +- lt_compile=`echo "$ac_compile" | $SED \ +- -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ +- -e 's: [[^ ]]*conftest\.: $lt_compiler_flag&:; t' \ +- -e 's:$: $lt_compiler_flag:'` +- (eval echo "\"\$as_me:__oline__: $lt_compile\"" >&AS_MESSAGE_LOG_FD) +- (eval "$lt_compile" 2>conftest.err) +- ac_status=$? +- cat conftest.err >&AS_MESSAGE_LOG_FD +- echo "$as_me:__oline__: \$? = $ac_status" >&AS_MESSAGE_LOG_FD +- if (exit $ac_status) && test -s "$ac_outfile"; then +- # The compiler can only warn and ignore the option if not recognized +- # So say no if there are warnings other than the usual output. +- $ECHO "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp +- $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 +- if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then +- $2=yes +- fi +- fi +- $RM conftest* +-]) +- +-if test x"[$]$2" = xyes; then +- m4_if([$5], , :, [$5]) +-else +- m4_if([$6], , :, [$6]) +-fi +-])# _LT_COMPILER_OPTION +- +-# Old name: +-AU_ALIAS([AC_LIBTOOL_COMPILER_OPTION], [_LT_COMPILER_OPTION]) +-dnl aclocal-1.4 backwards compatibility: +-dnl AC_DEFUN([AC_LIBTOOL_COMPILER_OPTION], []) +- +- +-# _LT_LINKER_OPTION(MESSAGE, VARIABLE-NAME, FLAGS, +-# [ACTION-SUCCESS], [ACTION-FAILURE]) +-# ---------------------------------------------------- +-# Check whether the given linker option works +-AC_DEFUN([_LT_LINKER_OPTION], +-[m4_require([_LT_FILEUTILS_DEFAULTS])dnl +-m4_require([_LT_DECL_SED])dnl +-AC_CACHE_CHECK([$1], [$2], +- [$2=no +- save_LDFLAGS="$LDFLAGS" +- LDFLAGS="$LDFLAGS $3" +- echo "$lt_simple_link_test_code" > conftest.$ac_ext +- if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then +- # The linker can only warn and ignore the option if not recognized +- # So say no if there are warnings +- if test -s conftest.err; then +- # Append any errors to the config.log. +- cat conftest.err 1>&AS_MESSAGE_LOG_FD +- $ECHO "X$_lt_linker_boilerplate" | $Xsed -e '/^$/d' > conftest.exp +- $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 +- if diff conftest.exp conftest.er2 >/dev/null; then +- $2=yes +- fi +- else +- $2=yes +- fi +- fi +- $RM -r conftest* +- LDFLAGS="$save_LDFLAGS" +-]) +- +-if test x"[$]$2" = xyes; then +- m4_if([$4], , :, [$4]) +-else +- m4_if([$5], , :, [$5]) +-fi +-])# _LT_LINKER_OPTION +- +-# Old name: +-AU_ALIAS([AC_LIBTOOL_LINKER_OPTION], [_LT_LINKER_OPTION]) +-dnl aclocal-1.4 backwards compatibility: +-dnl AC_DEFUN([AC_LIBTOOL_LINKER_OPTION], []) +- +- +-# LT_CMD_MAX_LEN +-#--------------- +-AC_DEFUN([LT_CMD_MAX_LEN], +-[AC_REQUIRE([AC_CANONICAL_HOST])dnl +-# find the maximum length of command line arguments +-AC_MSG_CHECKING([the maximum length of command line arguments]) +-AC_CACHE_VAL([lt_cv_sys_max_cmd_len], [dnl +- i=0 +- teststring="ABCD" +- +- case $build_os in +- msdosdjgpp*) +- # On DJGPP, this test can blow up pretty badly due to problems in libc +- # (any single argument exceeding 2000 bytes causes a buffer overrun +- # during glob expansion). Even if it were fixed, the result of this +- # check would be larger than it should be. +- lt_cv_sys_max_cmd_len=12288; # 12K is about right +- ;; +- +- gnu*) +- # Under GNU Hurd, this test is not required because there is +- # no limit to the length of command line arguments. +- # Libtool will interpret -1 as no limit whatsoever +- lt_cv_sys_max_cmd_len=-1; +- ;; +- +- cygwin* | mingw* | cegcc*) +- # On Win9x/ME, this test blows up -- it succeeds, but takes +- # about 5 minutes as the teststring grows exponentially. +- # Worse, since 9x/ME are not pre-emptively multitasking, +- # you end up with a "frozen" computer, even though with patience +- # the test eventually succeeds (with a max line length of 256k). +- # Instead, let's just punt: use the minimum linelength reported by +- # all of the supported platforms: 8192 (on NT/2K/XP). +- lt_cv_sys_max_cmd_len=8192; +- ;; +- +- amigaos*) +- # On AmigaOS with pdksh, this test takes hours, literally. +- # So we just punt and use a minimum line length of 8192. +- lt_cv_sys_max_cmd_len=8192; +- ;; +- +- netbsd* | freebsd* | openbsd* | darwin* | dragonfly*) +- # This has been around since 386BSD, at least. Likely further. +- if test -x /sbin/sysctl; then +- lt_cv_sys_max_cmd_len=`/sbin/sysctl -n kern.argmax` +- elif test -x /usr/sbin/sysctl; then +- lt_cv_sys_max_cmd_len=`/usr/sbin/sysctl -n kern.argmax` +- else +- lt_cv_sys_max_cmd_len=65536 # usable default for all BSDs +- fi +- # And add a safety zone +- lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4` +- lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3` +- ;; +- +- interix*) +- # We know the value 262144 and hardcode it with a safety zone (like BSD) +- lt_cv_sys_max_cmd_len=196608 +- ;; +- +- osf*) +- # Dr. Hans Ekkehard Plesser reports seeing a kernel panic running configure +- # due to this test when exec_disable_arg_limit is 1 on Tru64. It is not +- # nice to cause kernel panics so lets avoid the loop below. +- # First set a reasonable default. +- lt_cv_sys_max_cmd_len=16384 +- # +- if test -x /sbin/sysconfig; then +- case `/sbin/sysconfig -q proc exec_disable_arg_limit` in +- *1*) lt_cv_sys_max_cmd_len=-1 ;; +- esac +- fi +- ;; +- sco3.2v5*) +- lt_cv_sys_max_cmd_len=102400 +- ;; +- sysv5* | sco5v6* | sysv4.2uw2*) +- kargmax=`grep ARG_MAX /etc/conf/cf.d/stune 2>/dev/null` +- if test -n "$kargmax"; then +- lt_cv_sys_max_cmd_len=`echo $kargmax | sed 's/.*[[ ]]//'` +- else +- lt_cv_sys_max_cmd_len=32768 +- fi +- ;; +- *) +- lt_cv_sys_max_cmd_len=`(getconf ARG_MAX) 2> /dev/null` +- if test -n "$lt_cv_sys_max_cmd_len"; then +- lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4` +- lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3` +- else +- # Make teststring a little bigger before we do anything with it. +- # a 1K string should be a reasonable start. +- for i in 1 2 3 4 5 6 7 8 ; do +- teststring=$teststring$teststring +- done +- SHELL=${SHELL-${CONFIG_SHELL-/bin/sh}} +- # If test is not a shell built-in, we'll probably end up computing a +- # maximum length that is only half of the actual maximum length, but +- # we can't tell. +- while { test "X"`$SHELL [$]0 --fallback-echo "X$teststring$teststring" 2>/dev/null` \ +- = "XX$teststring$teststring"; } >/dev/null 2>&1 && +- test $i != 17 # 1/2 MB should be enough +- do +- i=`expr $i + 1` +- teststring=$teststring$teststring +- done +- # Only check the string length outside the loop. +- lt_cv_sys_max_cmd_len=`expr "X$teststring" : ".*" 2>&1` +- teststring= +- # Add a significant safety factor because C++ compilers can tack on +- # massive amounts of additional arguments before passing them to the +- # linker. It appears as though 1/2 is a usable value. +- lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 2` +- fi +- ;; +- esac +-]) +-if test -n $lt_cv_sys_max_cmd_len ; then +- AC_MSG_RESULT($lt_cv_sys_max_cmd_len) +-else +- AC_MSG_RESULT(none) +-fi +-max_cmd_len=$lt_cv_sys_max_cmd_len +-_LT_DECL([], [max_cmd_len], [0], +- [What is the maximum length of a command?]) +-])# LT_CMD_MAX_LEN +- +-# Old name: +-AU_ALIAS([AC_LIBTOOL_SYS_MAX_CMD_LEN], [LT_CMD_MAX_LEN]) +-dnl aclocal-1.4 backwards compatibility: +-dnl AC_DEFUN([AC_LIBTOOL_SYS_MAX_CMD_LEN], []) +- +- +-# _LT_HEADER_DLFCN +-# ---------------- +-m4_defun([_LT_HEADER_DLFCN], +-[AC_CHECK_HEADERS([dlfcn.h], [], [], [AC_INCLUDES_DEFAULT])dnl +-])# _LT_HEADER_DLFCN +- +- +-# _LT_TRY_DLOPEN_SELF (ACTION-IF-TRUE, ACTION-IF-TRUE-W-USCORE, +-# ACTION-IF-FALSE, ACTION-IF-CROSS-COMPILING) +-# ---------------------------------------------------------------- +-m4_defun([_LT_TRY_DLOPEN_SELF], +-[m4_require([_LT_HEADER_DLFCN])dnl +-if test "$cross_compiling" = yes; then : +- [$4] +-else +- lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 +- lt_status=$lt_dlunknown +- cat > conftest.$ac_ext <<_LT_EOF +-[#line __oline__ "configure" +-#include "confdefs.h" +- +-#if HAVE_DLFCN_H +-#include <dlfcn.h> +-#endif +- +-#include <stdio.h> +- +-#ifdef RTLD_GLOBAL +-# define LT_DLGLOBAL RTLD_GLOBAL +-#else +-# ifdef DL_GLOBAL +-# define LT_DLGLOBAL DL_GLOBAL +-# else +-# define LT_DLGLOBAL 0 +-# endif +-#endif +- +-/* We may have to define LT_DLLAZY_OR_NOW in the command line if we +- find out it does not work in some platform. */ +-#ifndef LT_DLLAZY_OR_NOW +-# ifdef RTLD_LAZY +-# define LT_DLLAZY_OR_NOW RTLD_LAZY +-# else +-# ifdef DL_LAZY +-# define LT_DLLAZY_OR_NOW DL_LAZY +-# else +-# ifdef RTLD_NOW +-# define LT_DLLAZY_OR_NOW RTLD_NOW +-# else +-# ifdef DL_NOW +-# define LT_DLLAZY_OR_NOW DL_NOW +-# else +-# define LT_DLLAZY_OR_NOW 0 +-# endif +-# endif +-# endif +-# endif +-#endif +- +-void fnord() { int i=42;} +-int main () +-{ +- void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW); +- int status = $lt_dlunknown; +- +- if (self) +- { +- if (dlsym (self,"fnord")) status = $lt_dlno_uscore; +- else if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore; +- /* dlclose (self); */ +- } +- else +- puts (dlerror ()); +- +- return status; +-}] +-_LT_EOF +- if AC_TRY_EVAL(ac_link) && test -s conftest${ac_exeext} 2>/dev/null; then +- (./conftest; exit; ) >&AS_MESSAGE_LOG_FD 2>/dev/null +- lt_status=$? +- case x$lt_status in +- x$lt_dlno_uscore) $1 ;; +- x$lt_dlneed_uscore) $2 ;; +- x$lt_dlunknown|x*) $3 ;; +- esac +- else : +- # compilation failed +- $3 +- fi +-fi +-rm -fr conftest* +-])# _LT_TRY_DLOPEN_SELF +- +- +-# LT_SYS_DLOPEN_SELF +-# ------------------ +-AC_DEFUN([LT_SYS_DLOPEN_SELF], +-[m4_require([_LT_HEADER_DLFCN])dnl +-if test "x$enable_dlopen" != xyes; then +- enable_dlopen=unknown +- enable_dlopen_self=unknown +- enable_dlopen_self_static=unknown +-else +- lt_cv_dlopen=no +- lt_cv_dlopen_libs= +- +- case $host_os in +- beos*) +- lt_cv_dlopen="load_add_on" +- lt_cv_dlopen_libs= +- lt_cv_dlopen_self=yes +- ;; +- +- mingw* | pw32* | cegcc*) +- lt_cv_dlopen="LoadLibrary" +- lt_cv_dlopen_libs= +- ;; +- +- cygwin*) +- lt_cv_dlopen="dlopen" +- lt_cv_dlopen_libs= +- ;; +- +- darwin*) +- # if libdl is installed we need to link against it +- AC_CHECK_LIB([dl], [dlopen], +- [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"],[ +- lt_cv_dlopen="dyld" +- lt_cv_dlopen_libs= +- lt_cv_dlopen_self=yes +- ]) +- ;; +- +- *) +- AC_CHECK_FUNC([shl_load], +- [lt_cv_dlopen="shl_load"], +- [AC_CHECK_LIB([dld], [shl_load], +- [lt_cv_dlopen="shl_load" lt_cv_dlopen_libs="-ldld"], +- [AC_CHECK_FUNC([dlopen], +- [lt_cv_dlopen="dlopen"], +- [AC_CHECK_LIB([dl], [dlopen], +- [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"], +- [AC_CHECK_LIB([svld], [dlopen], +- [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-lsvld"], +- [AC_CHECK_LIB([dld], [dld_link], +- [lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-ldld"]) +- ]) +- ]) +- ]) +- ]) +- ]) +- ;; +- esac +- +- if test "x$lt_cv_dlopen" != xno; then +- enable_dlopen=yes +- else +- enable_dlopen=no +- fi +- +- case $lt_cv_dlopen in +- dlopen) +- save_CPPFLAGS="$CPPFLAGS" +- test "x$ac_cv_header_dlfcn_h" = xyes && CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H" +- +- save_LDFLAGS="$LDFLAGS" +- wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\" +- +- save_LIBS="$LIBS" +- LIBS="$lt_cv_dlopen_libs $LIBS" +- +- AC_CACHE_CHECK([whether a program can dlopen itself], +- lt_cv_dlopen_self, [dnl +- _LT_TRY_DLOPEN_SELF( +- lt_cv_dlopen_self=yes, lt_cv_dlopen_self=yes, +- lt_cv_dlopen_self=no, lt_cv_dlopen_self=cross) +- ]) +- +- if test "x$lt_cv_dlopen_self" = xyes; then +- wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $lt_prog_compiler_static\" +- AC_CACHE_CHECK([whether a statically linked program can dlopen itself], +- lt_cv_dlopen_self_static, [dnl +- _LT_TRY_DLOPEN_SELF( +- lt_cv_dlopen_self_static=yes, lt_cv_dlopen_self_static=yes, +- lt_cv_dlopen_self_static=no, lt_cv_dlopen_self_static=cross) +- ]) +- fi +- +- CPPFLAGS="$save_CPPFLAGS" +- LDFLAGS="$save_LDFLAGS" +- LIBS="$save_LIBS" +- ;; +- esac +- +- case $lt_cv_dlopen_self in +- yes|no) enable_dlopen_self=$lt_cv_dlopen_self ;; +- *) enable_dlopen_self=unknown ;; +- esac +- +- case $lt_cv_dlopen_self_static in +- yes|no) enable_dlopen_self_static=$lt_cv_dlopen_self_static ;; +- *) enable_dlopen_self_static=unknown ;; +- esac +-fi +-_LT_DECL([dlopen_support], [enable_dlopen], [0], +- [Whether dlopen is supported]) +-_LT_DECL([dlopen_self], [enable_dlopen_self], [0], +- [Whether dlopen of programs is supported]) +-_LT_DECL([dlopen_self_static], [enable_dlopen_self_static], [0], +- [Whether dlopen of statically linked programs is supported]) +-])# LT_SYS_DLOPEN_SELF +- +-# Old name: +-AU_ALIAS([AC_LIBTOOL_DLOPEN_SELF], [LT_SYS_DLOPEN_SELF]) +-dnl aclocal-1.4 backwards compatibility: +-dnl AC_DEFUN([AC_LIBTOOL_DLOPEN_SELF], []) +- +- +-# _LT_COMPILER_C_O([TAGNAME]) +-# --------------------------- +-# Check to see if options -c and -o are simultaneously supported by compiler. +-# This macro does not hard code the compiler like AC_PROG_CC_C_O. +-m4_defun([_LT_COMPILER_C_O], +-[m4_require([_LT_DECL_SED])dnl +-m4_require([_LT_FILEUTILS_DEFAULTS])dnl +-m4_require([_LT_TAG_COMPILER])dnl +-AC_CACHE_CHECK([if $compiler supports -c -o file.$ac_objext], +- [_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)], +- [_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)=no +- $RM -r conftest 2>/dev/null +- mkdir conftest +- cd conftest +- mkdir out +- echo "$lt_simple_compile_test_code" > conftest.$ac_ext +- +- lt_compiler_flag="-o out/conftest2.$ac_objext" +- # Insert the option either (1) after the last *FLAGS variable, or +- # (2) before a word containing "conftest.", or (3) at the end. +- # Note that $ac_compile itself does not contain backslashes and begins +- # with a dollar sign (not a hyphen), so the echo should work correctly. +- lt_compile=`echo "$ac_compile" | $SED \ +- -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ +- -e 's: [[^ ]]*conftest\.: $lt_compiler_flag&:; t' \ +- -e 's:$: $lt_compiler_flag:'` +- (eval echo "\"\$as_me:__oline__: $lt_compile\"" >&AS_MESSAGE_LOG_FD) +- (eval "$lt_compile" 2>out/conftest.err) +- ac_status=$? +- cat out/conftest.err >&AS_MESSAGE_LOG_FD +- echo "$as_me:__oline__: \$? = $ac_status" >&AS_MESSAGE_LOG_FD +- if (exit $ac_status) && test -s out/conftest2.$ac_objext +- then +- # The compiler can only warn and ignore the option if not recognized +- # So say no if there are warnings +- $ECHO "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' > out/conftest.exp +- $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 +- if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then +- _LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)=yes +- fi +- fi +- chmod u+w . 2>&AS_MESSAGE_LOG_FD +- $RM conftest* +- # SGI C++ compiler will create directory out/ii_files/ for +- # template instantiation +- test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files +- $RM out/* && rmdir out +- cd .. +- $RM -r conftest +- $RM conftest* +-]) +-_LT_TAGDECL([compiler_c_o], [lt_cv_prog_compiler_c_o], [1], +- [Does compiler simultaneously support -c and -o options?]) +-])# _LT_COMPILER_C_O +- +- +-# _LT_COMPILER_FILE_LOCKS([TAGNAME]) +-# ---------------------------------- +-# Check to see if we can do hard links to lock some files if needed +-m4_defun([_LT_COMPILER_FILE_LOCKS], +-[m4_require([_LT_ENABLE_LOCK])dnl +-m4_require([_LT_FILEUTILS_DEFAULTS])dnl +-_LT_COMPILER_C_O([$1]) +- +-hard_links="nottested" +-if test "$_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)" = no && test "$need_locks" != no; then +- # do not overwrite the value of need_locks provided by the user +- AC_MSG_CHECKING([if we can lock with hard links]) +- hard_links=yes +- $RM conftest* +- ln conftest.a conftest.b 2>/dev/null && hard_links=no +- touch conftest.a +- ln conftest.a conftest.b 2>&5 || hard_links=no +- ln conftest.a conftest.b 2>/dev/null && hard_links=no +- AC_MSG_RESULT([$hard_links]) +- if test "$hard_links" = no; then +- AC_MSG_WARN([`$CC' does not support `-c -o', so `make -j' may be unsafe]) +- need_locks=warn +- fi +-else +- need_locks=no +-fi +-_LT_DECL([], [need_locks], [1], [Must we lock files when doing compilation?]) +-])# _LT_COMPILER_FILE_LOCKS +- +- +-# _LT_CHECK_OBJDIR +-# ---------------- +-m4_defun([_LT_CHECK_OBJDIR], +-[AC_CACHE_CHECK([for objdir], [lt_cv_objdir], +-[rm -f .libs 2>/dev/null +-mkdir .libs 2>/dev/null +-if test -d .libs; then +- lt_cv_objdir=.libs +-else +- # MS-DOS does not allow filenames that begin with a dot. +- lt_cv_objdir=_libs +-fi +-rmdir .libs 2>/dev/null]) +-objdir=$lt_cv_objdir +-_LT_DECL([], [objdir], [0], +- [The name of the directory that contains temporary libtool files])dnl +-m4_pattern_allow([LT_OBJDIR])dnl +-AC_DEFINE_UNQUOTED(LT_OBJDIR, "$lt_cv_objdir/", +- [Define to the sub-directory in which libtool stores uninstalled libraries.]) +-])# _LT_CHECK_OBJDIR +- +- +-# _LT_LINKER_HARDCODE_LIBPATH([TAGNAME]) +-# -------------------------------------- +-# Check hardcoding attributes. +-m4_defun([_LT_LINKER_HARDCODE_LIBPATH], +-[AC_MSG_CHECKING([how to hardcode library paths into programs]) +-_LT_TAGVAR(hardcode_action, $1)= +-if test -n "$_LT_TAGVAR(hardcode_libdir_flag_spec, $1)" || +- test -n "$_LT_TAGVAR(runpath_var, $1)" || +- test "X$_LT_TAGVAR(hardcode_automatic, $1)" = "Xyes" ; then +- +- # We can hardcode non-existent directories. +- if test "$_LT_TAGVAR(hardcode_direct, $1)" != no && +- # If the only mechanism to avoid hardcoding is shlibpath_var, we +- # have to relink, otherwise we might link with an installed library +- # when we should be linking with a yet-to-be-installed one +- ## test "$_LT_TAGVAR(hardcode_shlibpath_var, $1)" != no && +- test "$_LT_TAGVAR(hardcode_minus_L, $1)" != no; then +- # Linking always hardcodes the temporary library directory. +- _LT_TAGVAR(hardcode_action, $1)=relink +- else +- # We can link without hardcoding, and we can hardcode nonexisting dirs. +- _LT_TAGVAR(hardcode_action, $1)=immediate +- fi +-else +- # We cannot hardcode anything, or else we can only hardcode existing +- # directories. +- _LT_TAGVAR(hardcode_action, $1)=unsupported +-fi +-AC_MSG_RESULT([$_LT_TAGVAR(hardcode_action, $1)]) +- +-if test "$_LT_TAGVAR(hardcode_action, $1)" = relink || +- test "$_LT_TAGVAR(inherit_rpath, $1)" = yes; then +- # Fast installation is not supported +- enable_fast_install=no +-elif test "$shlibpath_overrides_runpath" = yes || +- test "$enable_shared" = no; then +- # Fast installation is not necessary +- enable_fast_install=needless +-fi +-_LT_TAGDECL([], [hardcode_action], [0], +- [How to hardcode a shared library path into an executable]) +-])# _LT_LINKER_HARDCODE_LIBPATH +- +- +-# _LT_CMD_STRIPLIB +-# ---------------- +-m4_defun([_LT_CMD_STRIPLIB], +-[m4_require([_LT_DECL_EGREP]) +-striplib= +-old_striplib= +-AC_MSG_CHECKING([whether stripping libraries is possible]) +-if test -n "$STRIP" && $STRIP -V 2>&1 | $GREP "GNU strip" >/dev/null; then +- test -z "$old_striplib" && old_striplib="$STRIP --strip-debug" +- test -z "$striplib" && striplib="$STRIP --strip-unneeded" +- AC_MSG_RESULT([yes]) +-else +-# FIXME - insert some real tests, host_os isn't really good enough +- case $host_os in +- darwin*) +- if test -n "$STRIP" ; then +- striplib="$STRIP -x" +- old_striplib="$STRIP -S" +- AC_MSG_RESULT([yes]) +- else +- AC_MSG_RESULT([no]) +- fi +- ;; +- *) +- AC_MSG_RESULT([no]) +- ;; +- esac +-fi +-_LT_DECL([], [old_striplib], [1], [Commands to strip libraries]) +-_LT_DECL([], [striplib], [1]) +-])# _LT_CMD_STRIPLIB +- +- +-# _LT_SYS_DYNAMIC_LINKER([TAG]) +-# ----------------------------- +-# PORTME Fill in your ld.so characteristics +-m4_defun([_LT_SYS_DYNAMIC_LINKER], +-[AC_REQUIRE([AC_CANONICAL_HOST])dnl +-m4_require([_LT_DECL_EGREP])dnl +-m4_require([_LT_FILEUTILS_DEFAULTS])dnl +-m4_require([_LT_DECL_OBJDUMP])dnl +-m4_require([_LT_DECL_SED])dnl +-AC_MSG_CHECKING([dynamic linker characteristics]) +-m4_if([$1], +- [], [ +-if test "$GCC" = yes; then +- case $host_os in +- darwin*) lt_awk_arg="/^libraries:/,/LR/" ;; +- *) lt_awk_arg="/^libraries:/" ;; +- esac +- lt_search_path_spec=`$CC -print-search-dirs | awk $lt_awk_arg | $SED -e "s/^libraries://" -e "s,=/,/,g"` +- if $ECHO "$lt_search_path_spec" | $GREP ';' >/dev/null ; then +- # if the path contains ";" then we assume it to be the separator +- # otherwise default to the standard path separator (i.e. ":") - it is +- # assumed that no part of a normal pathname contains ";" but that should +- # okay in the real world where ";" in dirpaths is itself problematic. +- lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED -e 's/;/ /g'` +- else +- lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` +- fi +- # Ok, now we have the path, separated by spaces, we can step through it +- # and add multilib dir if necessary. +- lt_tmp_lt_search_path_spec= +- lt_multi_os_dir=`$CC $CPPFLAGS $CFLAGS $LDFLAGS -print-multi-os-directory 2>/dev/null` +- for lt_sys_path in $lt_search_path_spec; do +- if test -d "$lt_sys_path/$lt_multi_os_dir"; then +- lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path/$lt_multi_os_dir" +- else +- test -d "$lt_sys_path" && \ +- lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path" +- fi +- done +- lt_search_path_spec=`$ECHO $lt_tmp_lt_search_path_spec | awk ' +-BEGIN {RS=" "; FS="/|\n";} { +- lt_foo=""; +- lt_count=0; +- for (lt_i = NF; lt_i > 0; lt_i--) { +- if ($lt_i != "" && $lt_i != ".") { +- if ($lt_i == "..") { +- lt_count++; +- } else { +- if (lt_count == 0) { +- lt_foo="/" $lt_i lt_foo; +- } else { +- lt_count--; +- } +- } +- } +- } +- if (lt_foo != "") { lt_freq[[lt_foo]]++; } +- if (lt_freq[[lt_foo]] == 1) { print lt_foo; } +-}'` +- sys_lib_search_path_spec=`$ECHO $lt_search_path_spec` +-else +- sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib" +-fi]) +-library_names_spec= +-libname_spec='lib$name' +-soname_spec= +-shrext_cmds=".so" +-postinstall_cmds= +-postuninstall_cmds= +-finish_cmds= +-finish_eval= +-shlibpath_var= +-shlibpath_overrides_runpath=unknown +-version_type=none +-dynamic_linker="$host_os ld.so" +-sys_lib_dlsearch_path_spec="/lib /usr/lib" +-need_lib_prefix=unknown +-hardcode_into_libs=no +- +-# when you set need_version to no, make sure it does not cause -set_version +-# flags to be left without arguments +-need_version=unknown +- +-case $host_os in +-aix3*) +- version_type=linux +- library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a' +- shlibpath_var=LIBPATH +- +- # AIX 3 has no versioning support, so we append a major version to the name. +- soname_spec='${libname}${release}${shared_ext}$major' +- ;; +- +-aix[[4-9]]*) +- version_type=linux +- need_lib_prefix=no +- need_version=no +- hardcode_into_libs=yes +- if test "$host_cpu" = ia64; then +- # AIX 5 supports IA64 +- library_names_spec='${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext}$versuffix $libname${shared_ext}' +- shlibpath_var=LD_LIBRARY_PATH +- else +- # With GCC up to 2.95.x, collect2 would create an import file +- # for dependence libraries. The import file would start with +- # the line `#! .'. This would cause the generated library to +- # depend on `.', always an invalid library. This was fixed in +- # development snapshots of GCC prior to 3.0. +- case $host_os in +- aix4 | aix4.[[01]] | aix4.[[01]].*) +- if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)' +- echo ' yes ' +- echo '#endif'; } | ${CC} -E - | $GREP yes > /dev/null; then +- : +- else +- can_build_shared=no +- fi +- ;; +- esac +- # AIX (on Power*) has no versioning support, so currently we can not hardcode correct +- # soname into executable. Probably we can add versioning support to +- # collect2, so additional links can be useful in future. +- if test "$aix_use_runtimelinking" = yes; then +- # If using run time linking (on AIX 4.2 or later) use lib<name>.so +- # instead of lib<name>.a to let people know that these are not +- # typical AIX shared libraries. +- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' +- else +- # We preserve .a as extension for shared libraries through AIX4.2 +- # and later when we are not doing run time linking. +- library_names_spec='${libname}${release}.a $libname.a' +- soname_spec='${libname}${release}${shared_ext}$major' +- fi +- shlibpath_var=LIBPATH +- fi +- ;; +- +-amigaos*) +- case $host_cpu in +- powerpc) +- # Since July 2007 AmigaOS4 officially supports .so libraries. +- # When compiling the executable, add -use-dynld -Lsobjs: to the compileline. +- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' +- ;; +- m68k) +- library_names_spec='$libname.ixlibrary $libname.a' +- # Create ${libname}_ixlibrary.a entries in /sys/libs. +- finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`$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' +- ;; +- esac +- ;; +- +-beos*) +- library_names_spec='${libname}${shared_ext}' +- dynamic_linker="$host_os ld.so" +- shlibpath_var=LIBRARY_PATH +- ;; +- +-bsdi[[45]]*) +- version_type=linux +- need_version=no +- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' +- soname_spec='${libname}${release}${shared_ext}$major' +- finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir' +- shlibpath_var=LD_LIBRARY_PATH +- sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib" +- sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib" +- # the default ld.so.conf also contains /usr/contrib/lib and +- # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow +- # libtool to hard-code these into programs +- ;; +- +-cygwin* | mingw* | pw32* | cegcc*) +- version_type=windows +- shrext_cmds=".dll" +- need_version=no +- need_lib_prefix=no +- +- case $GCC,$host_os in +- yes,cygwin* | yes,mingw* | yes,pw32* | yes,cegcc*) +- library_names_spec='$libname.dll.a' +- # DLL is installed to $(libdir)/../bin by postinstall_cmds +- postinstall_cmds='base_file=`basename \${file}`~ +- dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i; echo \$dlname'\''`~ +- dldir=$destdir/`dirname \$dlpath`~ +- test -d \$dldir || mkdir -p \$dldir~ +- $install_prog $dir/$dlname \$dldir/$dlname~ +- chmod a+x \$dldir/$dlname~ +- if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then +- eval '\''$striplib \$dldir/$dlname'\'' || exit \$?; +- fi' +- postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ +- dlpath=$dir/\$dldll~ +- $RM \$dlpath' +- shlibpath_overrides_runpath=yes +- +- case $host_os in +- cygwin*) +- # Cygwin DLLs use 'cyg' prefix rather than 'lib' +- soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}' +- sys_lib_search_path_spec="/usr/lib /lib/w32api /lib /usr/local/lib" +- ;; +- mingw* | cegcc*) +- # MinGW DLLs use traditional 'lib' prefix +- soname_spec='${libname}`echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}' +- sys_lib_search_path_spec=`$CC -print-search-dirs | $GREP "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"` +- if $ECHO "$sys_lib_search_path_spec" | [$GREP ';[c-zC-Z]:/' >/dev/null]; then +- # It is most probably a Windows format PATH printed by +- # mingw gcc, but we are running on Cygwin. Gcc prints its search +- # path with ; separators, and with drive letters. We can handle the +- # drive letters (cygwin fileutils understands them), so leave them, +- # especially as we might pass files found there to a mingw objdump, +- # which wouldn't understand a cygwinified path. Ahh. +- sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'` +- else +- sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` +- fi +- ;; +- pw32*) +- # pw32 DLLs use 'pw' prefix rather than 'lib' +- library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}' +- ;; +- esac +- ;; +- +- *) +- library_names_spec='${libname}`echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext} $libname.lib' +- ;; +- esac +- dynamic_linker='Win32 ld.exe' +- # FIXME: first we should search . and the directory the executable is in +- shlibpath_var=PATH +- ;; +- +-darwin* | rhapsody*) +- dynamic_linker="$host_os dyld" +- version_type=darwin +- need_lib_prefix=no +- need_version=no +- library_names_spec='${libname}${release}${major}$shared_ext ${libname}$shared_ext' +- soname_spec='${libname}${release}${major}$shared_ext' +- shlibpath_overrides_runpath=yes +- shlibpath_var=DYLD_LIBRARY_PATH +- shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`' +-m4_if([$1], [],[ +- sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/local/lib"]) +- sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib' +- ;; +- +-dgux*) +- version_type=linux +- need_lib_prefix=no +- need_version=no +- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext' +- soname_spec='${libname}${release}${shared_ext}$major' +- shlibpath_var=LD_LIBRARY_PATH +- ;; +- +-freebsd1*) +- dynamic_linker=no +- ;; +- +-freebsd* | dragonfly*) +- # DragonFly does not have aout. When/if they implement a new +- # versioning mechanism, adjust this. +- if test -x /usr/bin/objformat; then +- objformat=`/usr/bin/objformat` +- else +- case $host_os in +- freebsd[[123]]*) objformat=aout ;; +- *) objformat=elf ;; +- esac +- fi +- version_type=freebsd-$objformat +- case $version_type in +- freebsd-elf*) +- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' +- need_version=no +- need_lib_prefix=no +- ;; +- freebsd-*) +- library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix' +- need_version=yes +- ;; +- esac +- shlibpath_var=LD_LIBRARY_PATH +- case $host_os in +- freebsd2*) +- shlibpath_overrides_runpath=yes +- ;; +- freebsd3.[[01]]* | freebsdelf3.[[01]]*) +- shlibpath_overrides_runpath=yes +- hardcode_into_libs=yes +- ;; +- freebsd3.[[2-9]]* | freebsdelf3.[[2-9]]* | \ +- freebsd4.[[0-5]] | freebsdelf4.[[0-5]] | freebsd4.1.1 | freebsdelf4.1.1) +- shlibpath_overrides_runpath=no +- hardcode_into_libs=yes +- ;; +- *) # from 4.6 on, and DragonFly +- shlibpath_overrides_runpath=yes +- hardcode_into_libs=yes +- ;; +- esac +- ;; +- +-gnu*) +- version_type=linux +- need_lib_prefix=no +- need_version=no +- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}' +- soname_spec='${libname}${release}${shared_ext}$major' +- shlibpath_var=LD_LIBRARY_PATH +- hardcode_into_libs=yes +- ;; +- +-hpux9* | hpux10* | hpux11*) +- # Give a soname corresponding to the major version so that dld.sl refuses to +- # link against other versions. +- version_type=sunos +- need_lib_prefix=no +- need_version=no +- case $host_cpu in +- ia64*) +- shrext_cmds='.so' +- hardcode_into_libs=yes +- dynamic_linker="$host_os dld.so" +- shlibpath_var=LD_LIBRARY_PATH +- shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. +- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' +- soname_spec='${libname}${release}${shared_ext}$major' +- if test "X$HPUX_IA64_MODE" = X32; then +- sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib" +- else +- sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64" +- fi +- sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec +- ;; +- hppa*64*) +- shrext_cmds='.sl' +- hardcode_into_libs=yes +- dynamic_linker="$host_os dld.sl" +- shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH +- shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. +- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' +- soname_spec='${libname}${release}${shared_ext}$major' +- sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64" +- sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec +- ;; +- *) +- shrext_cmds='.sl' +- dynamic_linker="$host_os dld.sl" +- shlibpath_var=SHLIB_PATH +- shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH +- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' +- soname_spec='${libname}${release}${shared_ext}$major' +- ;; +- esac +- # HP-UX runs *really* slowly unless shared libraries are mode 555. +- postinstall_cmds='chmod 555 $lib' +- ;; +- +-interix[[3-9]]*) +- version_type=linux +- need_lib_prefix=no +- need_version=no +- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' +- soname_spec='${libname}${release}${shared_ext}$major' +- dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)' +- shlibpath_var=LD_LIBRARY_PATH +- shlibpath_overrides_runpath=no +- hardcode_into_libs=yes +- ;; +- +-irix5* | irix6* | nonstopux*) +- case $host_os in +- nonstopux*) version_type=nonstopux ;; +- *) +- if test "$lt_cv_prog_gnu_ld" = yes; then +- version_type=linux +- else +- version_type=irix +- fi ;; +- esac +- need_lib_prefix=no +- need_version=no +- soname_spec='${libname}${release}${shared_ext}$major' +- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} $libname${shared_ext}' +- case $host_os in +- irix5* | nonstopux*) +- libsuff= shlibsuff= +- ;; +- *) +- case $LD in # libtool.m4 will add one of these switches to LD +- *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ") +- libsuff= shlibsuff= libmagic=32-bit;; +- *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ") +- libsuff=32 shlibsuff=N32 libmagic=N32;; +- *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ") +- libsuff=64 shlibsuff=64 libmagic=64-bit;; +- *) libsuff= shlibsuff= libmagic=never-match;; +- esac +- ;; +- esac +- shlibpath_var=LD_LIBRARY${shlibsuff}_PATH +- shlibpath_overrides_runpath=no +- sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}" +- sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}" +- hardcode_into_libs=yes +- ;; +- +-# No shared lib support for Linux oldld, aout, or coff. +-linux*oldld* | linux*aout* | linux*coff*) +- dynamic_linker=no +- ;; +- +-# This must be Linux ELF. +-linux* | k*bsd*-gnu) +- version_type=linux +- need_lib_prefix=no +- need_version=no +- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' +- soname_spec='${libname}${release}${shared_ext}$major' +- finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir' +- shlibpath_var=LD_LIBRARY_PATH +- shlibpath_overrides_runpath=no +- # Some binutils ld are patched to set DT_RUNPATH +- save_LDFLAGS=$LDFLAGS +- save_libdir=$libdir +- eval "libdir=/foo; wl=\"$_LT_TAGVAR(lt_prog_compiler_wl, $1)\"; \ +- LDFLAGS=\"\$LDFLAGS $_LT_TAGVAR(hardcode_libdir_flag_spec, $1)\"" +- AC_LINK_IFELSE([AC_LANG_PROGRAM([],[])], +- [AS_IF([ ($OBJDUMP -p conftest$ac_exeext) 2>/dev/null | grep "RUNPATH.*$libdir" >/dev/null], +- [shlibpath_overrides_runpath=yes])]) +- LDFLAGS=$save_LDFLAGS +- libdir=$save_libdir +- +- # This implies no fast_install, which is unacceptable. +- # Some rework will be needed to allow for fast_install +- # before this can be enabled. +- hardcode_into_libs=yes +- +- # Append ld.so.conf contents to the search path +- if test -f /etc/ld.so.conf; then +- lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \[$]2)); skip = 1; } { if (!skip) print \[$]0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[ ]*hwcap[ ]/d;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '` +- sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra" +- fi +- +- # We used to test for /lib/ld.so.1 and disable shared libraries on +- # powerpc, because MkLinux only supported shared libraries with the +- # GNU dynamic linker. Since this was broken with cross compilers, +- # most powerpc-linux boxes support dynamic linking these days and +- # people can always --disable-shared, the test was removed, and we +- # assume the GNU/Linux dynamic linker is in use. +- dynamic_linker='GNU/Linux ld.so' +- ;; +- +-netbsd*) +- version_type=sunos +- need_lib_prefix=no +- need_version=no +- if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then +- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' +- finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' +- dynamic_linker='NetBSD (a.out) ld.so' +- else +- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' +- soname_spec='${libname}${release}${shared_ext}$major' +- dynamic_linker='NetBSD ld.elf_so' +- fi +- shlibpath_var=LD_LIBRARY_PATH +- shlibpath_overrides_runpath=yes +- hardcode_into_libs=yes +- ;; +- +-newsos6) +- version_type=linux +- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' +- shlibpath_var=LD_LIBRARY_PATH +- shlibpath_overrides_runpath=yes +- ;; +- +-*nto* | *qnx*) +- version_type=qnx +- need_lib_prefix=no +- need_version=no +- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' +- soname_spec='${libname}${release}${shared_ext}$major' +- shlibpath_var=LD_LIBRARY_PATH +- shlibpath_overrides_runpath=no +- hardcode_into_libs=yes +- dynamic_linker='ldqnx.so' +- ;; +- +-openbsd*) +- version_type=sunos +- sys_lib_dlsearch_path_spec="/usr/lib" +- need_lib_prefix=no +- # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs. +- case $host_os in +- openbsd3.3 | openbsd3.3.*) need_version=yes ;; +- *) need_version=no ;; +- esac +- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' +- finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' +- shlibpath_var=LD_LIBRARY_PATH +- if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then +- case $host_os in +- openbsd2.[[89]] | openbsd2.[[89]].*) +- shlibpath_overrides_runpath=no +- ;; +- *) +- shlibpath_overrides_runpath=yes +- ;; +- esac +- else +- shlibpath_overrides_runpath=yes +- fi +- ;; +- +-os2*) +- libname_spec='$name' +- shrext_cmds=".dll" +- need_lib_prefix=no +- library_names_spec='$libname${shared_ext} $libname.a' +- dynamic_linker='OS/2 ld.exe' +- shlibpath_var=LIBPATH +- ;; +- +-osf3* | osf4* | osf5*) +- version_type=osf +- need_lib_prefix=no +- need_version=no +- soname_spec='${libname}${release}${shared_ext}$major' +- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' +- shlibpath_var=LD_LIBRARY_PATH +- sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib" +- sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec" +- ;; +- +-rdos*) +- dynamic_linker=no +- ;; +- +-solaris*) +- version_type=linux +- need_lib_prefix=no +- need_version=no +- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' +- soname_spec='${libname}${release}${shared_ext}$major' +- shlibpath_var=LD_LIBRARY_PATH +- shlibpath_overrides_runpath=yes +- hardcode_into_libs=yes +- # ldd complains unless libraries are executable +- postinstall_cmds='chmod +x $lib' +- ;; +- +-sunos4*) +- version_type=sunos +- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' +- finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir' +- shlibpath_var=LD_LIBRARY_PATH +- shlibpath_overrides_runpath=yes +- if test "$with_gnu_ld" = yes; then +- need_lib_prefix=no +- fi +- need_version=yes +- ;; +- +-sysv4 | sysv4.3*) +- version_type=linux +- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' +- soname_spec='${libname}${release}${shared_ext}$major' +- shlibpath_var=LD_LIBRARY_PATH +- case $host_vendor in +- sni) +- shlibpath_overrides_runpath=no +- need_lib_prefix=no +- runpath_var=LD_RUN_PATH +- ;; +- siemens) +- need_lib_prefix=no +- ;; +- motorola) +- need_lib_prefix=no +- need_version=no +- shlibpath_overrides_runpath=no +- sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib' +- ;; +- esac +- ;; +- +-sysv4*MP*) +- if test -d /usr/nec ;then +- version_type=linux +- library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}' +- soname_spec='$libname${shared_ext}.$major' +- shlibpath_var=LD_LIBRARY_PATH +- fi +- ;; +- +-sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) +- version_type=freebsd-elf +- need_lib_prefix=no +- need_version=no +- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' +- soname_spec='${libname}${release}${shared_ext}$major' +- shlibpath_var=LD_LIBRARY_PATH +- shlibpath_overrides_runpath=yes +- hardcode_into_libs=yes +- if test "$with_gnu_ld" = yes; then +- sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib' +- else +- sys_lib_search_path_spec='/usr/ccs/lib /usr/lib' +- case $host_os in +- sco3.2v5*) +- sys_lib_search_path_spec="$sys_lib_search_path_spec /lib" +- ;; +- esac +- fi +- sys_lib_dlsearch_path_spec='/usr/lib' +- ;; +- +-tpf*) +- # TPF is a cross-target only. Preferred cross-host = GNU/Linux. +- version_type=linux +- need_lib_prefix=no +- need_version=no +- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' +- shlibpath_var=LD_LIBRARY_PATH +- shlibpath_overrides_runpath=no +- hardcode_into_libs=yes +- ;; +- +-uts4*) +- version_type=linux +- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' +- soname_spec='${libname}${release}${shared_ext}$major' +- shlibpath_var=LD_LIBRARY_PATH +- ;; +- +-*) +- dynamic_linker=no +- ;; +-esac +-AC_MSG_RESULT([$dynamic_linker]) +-test "$dynamic_linker" = no && can_build_shared=no +- +-variables_saved_for_relink="PATH $shlibpath_var $runpath_var" +-if test "$GCC" = yes; then +- variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH" +-fi +- +-if test "${lt_cv_sys_lib_search_path_spec+set}" = set; then +- sys_lib_search_path_spec="$lt_cv_sys_lib_search_path_spec" +-fi +-if test "${lt_cv_sys_lib_dlsearch_path_spec+set}" = set; then +- sys_lib_dlsearch_path_spec="$lt_cv_sys_lib_dlsearch_path_spec" +-fi +- +-_LT_DECL([], [variables_saved_for_relink], [1], +- [Variables whose values should be saved in libtool wrapper scripts and +- restored at link time]) +-_LT_DECL([], [need_lib_prefix], [0], +- [Do we need the "lib" prefix for modules?]) +-_LT_DECL([], [need_version], [0], [Do we need a version for libraries?]) +-_LT_DECL([], [version_type], [0], [Library versioning type]) +-_LT_DECL([], [runpath_var], [0], [Shared library runtime path variable]) +-_LT_DECL([], [shlibpath_var], [0],[Shared library path variable]) +-_LT_DECL([], [shlibpath_overrides_runpath], [0], +- [Is shlibpath searched before the hard-coded library search path?]) +-_LT_DECL([], [libname_spec], [1], [Format of library name prefix]) +-_LT_DECL([], [library_names_spec], [1], +- [[List of archive names. First name is the real one, the rest are links. +- The last name is the one that the linker finds with -lNAME]]) +-_LT_DECL([], [soname_spec], [1], +- [[The coded name of the library, if different from the real name]]) +-_LT_DECL([], [postinstall_cmds], [2], +- [Command to use after installation of a shared archive]) +-_LT_DECL([], [postuninstall_cmds], [2], +- [Command to use after uninstallation of a shared archive]) +-_LT_DECL([], [finish_cmds], [2], +- [Commands used to finish a libtool library installation in a directory]) +-_LT_DECL([], [finish_eval], [1], +- [[As "finish_cmds", except a single script fragment to be evaled but +- not shown]]) +-_LT_DECL([], [hardcode_into_libs], [0], +- [Whether we should hardcode library paths into libraries]) +-_LT_DECL([], [sys_lib_search_path_spec], [2], +- [Compile-time system search path for libraries]) +-_LT_DECL([], [sys_lib_dlsearch_path_spec], [2], +- [Run-time system search path for libraries]) +-])# _LT_SYS_DYNAMIC_LINKER +- +- +-# _LT_PATH_TOOL_PREFIX(TOOL) +-# -------------------------- +-# find a file program which can recognize shared library +-AC_DEFUN([_LT_PATH_TOOL_PREFIX], +-[m4_require([_LT_DECL_EGREP])dnl +-AC_MSG_CHECKING([for $1]) +-AC_CACHE_VAL(lt_cv_path_MAGIC_CMD, +-[case $MAGIC_CMD in +-[[\\/*] | ?:[\\/]*]) +- lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path. +- ;; +-*) +- lt_save_MAGIC_CMD="$MAGIC_CMD" +- lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR +-dnl $ac_dummy forces splitting on constant user-supplied paths. +-dnl POSIX.2 word splitting is done only on the output of word expansions, +-dnl not every word. This closes a longstanding sh security hole. +- ac_dummy="m4_if([$2], , $PATH, [$2])" +- for ac_dir in $ac_dummy; do +- IFS="$lt_save_ifs" +- test -z "$ac_dir" && ac_dir=. +- if test -f $ac_dir/$1; then +- lt_cv_path_MAGIC_CMD="$ac_dir/$1" +- if test -n "$file_magic_test_file"; then +- case $deplibs_check_method in +- "file_magic "*) +- file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"` +- MAGIC_CMD="$lt_cv_path_MAGIC_CMD" +- if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null | +- $EGREP "$file_magic_regex" > /dev/null; then +- : +- else +- cat <<_LT_EOF 1>&2 +- +-*** Warning: the command libtool uses to detect shared libraries, +-*** $file_magic_cmd, produces output that libtool cannot recognize. +-*** The result is that libtool may fail to recognize shared libraries +-*** as such. This will affect the creation of libtool libraries that +-*** depend on shared libraries, but programs linked with such libtool +-*** libraries will work regardless of this problem. Nevertheless, you +-*** may want to report the problem to your system manager and/or to +-*** bug-libtool@gnu.org +- +-_LT_EOF +- fi ;; +- esac +- fi +- break +- fi +- done +- IFS="$lt_save_ifs" +- MAGIC_CMD="$lt_save_MAGIC_CMD" +- ;; +-esac]) +-MAGIC_CMD="$lt_cv_path_MAGIC_CMD" +-if test -n "$MAGIC_CMD"; then +- AC_MSG_RESULT($MAGIC_CMD) +-else +- AC_MSG_RESULT(no) +-fi +-_LT_DECL([], [MAGIC_CMD], [0], +- [Used to examine libraries when file_magic_cmd begins with "file"])dnl +-])# _LT_PATH_TOOL_PREFIX +- +-# Old name: +-AU_ALIAS([AC_PATH_TOOL_PREFIX], [_LT_PATH_TOOL_PREFIX]) +-dnl aclocal-1.4 backwards compatibility: +-dnl AC_DEFUN([AC_PATH_TOOL_PREFIX], []) +- +- +-# _LT_PATH_MAGIC +-# -------------- +-# find a file program which can recognize a shared library +-m4_defun([_LT_PATH_MAGIC], +-[_LT_PATH_TOOL_PREFIX(${ac_tool_prefix}file, /usr/bin$PATH_SEPARATOR$PATH) +-if test -z "$lt_cv_path_MAGIC_CMD"; then +- if test -n "$ac_tool_prefix"; then +- _LT_PATH_TOOL_PREFIX(file, /usr/bin$PATH_SEPARATOR$PATH) +- else +- MAGIC_CMD=: +- fi +-fi +-])# _LT_PATH_MAGIC +- +- +-# LT_PATH_LD +-# ---------- +-# find the pathname to the GNU or non-GNU linker +-AC_DEFUN([LT_PATH_LD], +-[AC_REQUIRE([AC_PROG_CC])dnl +-AC_REQUIRE([AC_CANONICAL_HOST])dnl +-AC_REQUIRE([AC_CANONICAL_BUILD])dnl +-m4_require([_LT_DECL_SED])dnl +-m4_require([_LT_DECL_EGREP])dnl +- +-AC_ARG_WITH([gnu-ld], +- [AS_HELP_STRING([--with-gnu-ld], +- [assume the C compiler uses GNU ld @<:@default=no@:>@])], +- [test "$withval" = no || with_gnu_ld=yes], +- [with_gnu_ld=no])dnl +- +-ac_prog=ld +-if test "$GCC" = yes; then +- # Check if gcc -print-prog-name=ld gives a path. +- AC_MSG_CHECKING([for ld used by $CC]) +- case $host in +- *-*-mingw*) +- # gcc leaves a trailing carriage return which upsets mingw +- ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;; +- *) +- ac_prog=`($CC -print-prog-name=ld) 2>&5` ;; +- esac +- case $ac_prog in +- # Accept absolute paths. +- [[\\/]]* | ?:[[\\/]]*) +- re_direlt='/[[^/]][[^/]]*/\.\./' +- # Canonicalize the pathname of ld +- ac_prog=`$ECHO "$ac_prog"| $SED 's%\\\\%/%g'` +- while $ECHO "$ac_prog" | $GREP "$re_direlt" > /dev/null 2>&1; do +- ac_prog=`$ECHO $ac_prog| $SED "s%$re_direlt%/%"` +- done +- test -z "$LD" && LD="$ac_prog" +- ;; +- "") +- # If it fails, then pretend we aren't using GCC. +- ac_prog=ld +- ;; +- *) +- # If it is relative, then search for the first ld in PATH. +- with_gnu_ld=unknown +- ;; +- esac +-elif test "$with_gnu_ld" = yes; then +- AC_MSG_CHECKING([for GNU ld]) +-else +- AC_MSG_CHECKING([for non-GNU ld]) +-fi +-AC_CACHE_VAL(lt_cv_path_LD, +-[if test -z "$LD"; then +- lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR +- for ac_dir in $PATH; do +- IFS="$lt_save_ifs" +- test -z "$ac_dir" && ac_dir=. +- if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then +- lt_cv_path_LD="$ac_dir/$ac_prog" +- # Check to see if the program is GNU ld. I'd rather use --version, +- # but apparently some variants of GNU ld only accept -v. +- # Break only if it was the GNU/non-GNU ld that we prefer. +- case `"$lt_cv_path_LD" -v 2>&1 </dev/null` in +- *GNU* | *'with BFD'*) +- test "$with_gnu_ld" != no && break +- ;; +- *) +- test "$with_gnu_ld" != yes && break +- ;; +- esac +- fi +- done +- IFS="$lt_save_ifs" +-else +- lt_cv_path_LD="$LD" # Let the user override the test with a path. +-fi]) +-LD="$lt_cv_path_LD" +-if test -n "$LD"; then +- AC_MSG_RESULT($LD) +-else +- AC_MSG_RESULT(no) +-fi +-test -z "$LD" && AC_MSG_ERROR([no acceptable ld found in \$PATH]) +-_LT_PATH_LD_GNU +-AC_SUBST([LD]) +- +-_LT_TAGDECL([], [LD], [1], [The linker used to build libraries]) +-])# LT_PATH_LD +- +-# Old names: +-AU_ALIAS([AM_PROG_LD], [LT_PATH_LD]) +-AU_ALIAS([AC_PROG_LD], [LT_PATH_LD]) +-dnl aclocal-1.4 backwards compatibility: +-dnl AC_DEFUN([AM_PROG_LD], []) +-dnl AC_DEFUN([AC_PROG_LD], []) +- +- +-# _LT_PATH_LD_GNU +-#- -------------- +-m4_defun([_LT_PATH_LD_GNU], +-[AC_CACHE_CHECK([if the linker ($LD) is GNU ld], lt_cv_prog_gnu_ld, +-[# I'd rather use --version here, but apparently some GNU lds only accept -v. +-case `$LD -v 2>&1 </dev/null` in +-*GNU* | *'with BFD'*) +- lt_cv_prog_gnu_ld=yes +- ;; +-*) +- lt_cv_prog_gnu_ld=no +- ;; +-esac]) +-with_gnu_ld=$lt_cv_prog_gnu_ld +-])# _LT_PATH_LD_GNU +- +- +-# _LT_CMD_RELOAD +-# -------------- +-# find reload flag for linker +-# -- PORTME Some linkers may need a different reload flag. +-m4_defun([_LT_CMD_RELOAD], +-[AC_CACHE_CHECK([for $LD option to reload object files], +- lt_cv_ld_reload_flag, +- [lt_cv_ld_reload_flag='-r']) +-reload_flag=$lt_cv_ld_reload_flag +-case $reload_flag in +-"" | " "*) ;; +-*) reload_flag=" $reload_flag" ;; +-esac +-reload_cmds='$LD$reload_flag -o $output$reload_objs' +-case $host_os in +- darwin*) +- if test "$GCC" = yes; then +- reload_cmds='$LTCC $LTCFLAGS -nostdlib ${wl}-r -o $output$reload_objs' +- else +- reload_cmds='$LD$reload_flag -o $output$reload_objs' +- fi +- ;; +-esac +-_LT_DECL([], [reload_flag], [1], [How to create reloadable object files])dnl +-_LT_DECL([], [reload_cmds], [2])dnl +-])# _LT_CMD_RELOAD +- +- +-# _LT_CHECK_MAGIC_METHOD +-# ---------------------- +-# how to check for library dependencies +-# -- PORTME fill in with the dynamic library characteristics +-m4_defun([_LT_CHECK_MAGIC_METHOD], +-[m4_require([_LT_DECL_EGREP]) +-m4_require([_LT_DECL_OBJDUMP]) +-AC_CACHE_CHECK([how to recognize dependent libraries], +-lt_cv_deplibs_check_method, +-[lt_cv_file_magic_cmd='$MAGIC_CMD' +-lt_cv_file_magic_test_file= +-lt_cv_deplibs_check_method='unknown' +-# Need to set the preceding variable on all platforms that support +-# interlibrary dependencies. +-# 'none' -- dependencies not supported. +-# `unknown' -- same as none, but documents that we really don't know. +-# 'pass_all' -- all dependencies passed with no checks. +-# 'test_compile' -- check by making test program. +-# 'file_magic [[regex]]' -- check by looking for files in library path +-# which responds to the $file_magic_cmd with a given extended regex. +-# If you have `file' or equivalent on your system and you're not sure +-# whether `pass_all' will *always* work, you probably want this one. +- +-case $host_os in +-aix[[4-9]]*) +- lt_cv_deplibs_check_method=pass_all +- ;; +- +-beos*) +- lt_cv_deplibs_check_method=pass_all +- ;; +- +-bsdi[[45]]*) +- lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (shared object|dynamic lib)' +- lt_cv_file_magic_cmd='/usr/bin/file -L' +- lt_cv_file_magic_test_file=/shlib/libc.so +- ;; +- +-cygwin*) +- # func_win32_libid is a shell function defined in ltmain.sh +- lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL' +- lt_cv_file_magic_cmd='func_win32_libid' +- ;; +- +-mingw* | pw32*) +- # Base MSYS/MinGW do not provide the 'file' command needed by +- # func_win32_libid shell function, so use a weaker test based on 'objdump', +- # unless we find 'file', for example because we are cross-compiling. +- if ( file / ) >/dev/null 2>&1; then +- lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL' +- lt_cv_file_magic_cmd='func_win32_libid' +- else +- lt_cv_deplibs_check_method='file_magic file format pei*-i386(.*architecture: i386)?' +- lt_cv_file_magic_cmd='$OBJDUMP -f' +- fi +- ;; +- +-cegcc) +- # use the weaker test based on 'objdump'. See mingw*. +- lt_cv_deplibs_check_method='file_magic file format pe-arm-.*little(.*architecture: arm)?' +- lt_cv_file_magic_cmd='$OBJDUMP -f' +- ;; +- +-darwin* | rhapsody*) +- lt_cv_deplibs_check_method=pass_all +- ;; +- +-freebsd* | dragonfly*) +- if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then +- case $host_cpu in +- i*86 ) +- # Not sure whether the presence of OpenBSD here was a mistake. +- # Let's accept both of them until this is cleared up. +- lt_cv_deplibs_check_method='file_magic (FreeBSD|OpenBSD|DragonFly)/i[[3-9]]86 (compact )?demand paged shared library' +- lt_cv_file_magic_cmd=/usr/bin/file +- lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*` +- ;; +- esac +- else +- lt_cv_deplibs_check_method=pass_all +- fi +- ;; +- +-gnu*) +- lt_cv_deplibs_check_method=pass_all +- ;; +- +-hpux10.20* | hpux11*) +- lt_cv_file_magic_cmd=/usr/bin/file +- case $host_cpu in +- ia64*) +- lt_cv_deplibs_check_method='file_magic (s[[0-9]][[0-9]][[0-9]]|ELF-[[0-9]][[0-9]]) shared object file - IA64' +- lt_cv_file_magic_test_file=/usr/lib/hpux32/libc.so +- ;; +- hppa*64*) +- [lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF-[0-9][0-9]) shared object file - PA-RISC [0-9].[0-9]'] +- lt_cv_file_magic_test_file=/usr/lib/pa20_64/libc.sl +- ;; +- *) +- lt_cv_deplibs_check_method='file_magic (s[[0-9]][[0-9]][[0-9]]|PA-RISC[[0-9]].[[0-9]]) shared library' +- lt_cv_file_magic_test_file=/usr/lib/libc.sl +- ;; +- esac +- ;; +- +-interix[[3-9]]*) +- # PIC code is broken on Interix 3.x, that's why |\.a not |_pic\.a here +- lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so|\.a)$' +- ;; +- +-irix5* | irix6* | nonstopux*) +- case $LD in +- *-32|*"-32 ") libmagic=32-bit;; +- *-n32|*"-n32 ") libmagic=N32;; +- *-64|*"-64 ") libmagic=64-bit;; +- *) libmagic=never-match;; +- esac +- lt_cv_deplibs_check_method=pass_all +- ;; +- +-# This must be Linux ELF. +-linux* | k*bsd*-gnu) +- lt_cv_deplibs_check_method=pass_all +- ;; +- +-netbsd*) +- if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then +- lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|_pic\.a)$' +- else +- lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so|_pic\.a)$' +- fi +- ;; +- +-newos6*) +- lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (executable|dynamic lib)' +- lt_cv_file_magic_cmd=/usr/bin/file +- lt_cv_file_magic_test_file=/usr/lib/libnls.so +- ;; +- +-*nto* | *qnx*) +- lt_cv_deplibs_check_method=pass_all +- ;; +- +-openbsd*) +- if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then +- lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|\.so|_pic\.a)$' +- else +- lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|_pic\.a)$' +- fi +- ;; +- +-osf3* | osf4* | osf5*) +- lt_cv_deplibs_check_method=pass_all +- ;; +- +-rdos*) +- lt_cv_deplibs_check_method=pass_all +- ;; +- +-solaris*) +- lt_cv_deplibs_check_method=pass_all +- ;; +- +-sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) +- lt_cv_deplibs_check_method=pass_all +- ;; +- +-sysv4 | sysv4.3*) +- case $host_vendor in +- motorola) +- lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (shared object|dynamic lib) M[[0-9]][[0-9]]* Version [[0-9]]' +- lt_cv_file_magic_test_file=`echo /usr/lib/libc.so*` +- ;; +- ncr) +- lt_cv_deplibs_check_method=pass_all +- ;; +- sequent) +- lt_cv_file_magic_cmd='/bin/file' +- lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB (shared object|dynamic lib )' +- ;; +- sni) +- lt_cv_file_magic_cmd='/bin/file' +- lt_cv_deplibs_check_method="file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB dynamic lib" +- lt_cv_file_magic_test_file=/lib/libc.so +- ;; +- siemens) +- lt_cv_deplibs_check_method=pass_all +- ;; +- pc) +- lt_cv_deplibs_check_method=pass_all +- ;; +- esac +- ;; +- +-tpf*) +- lt_cv_deplibs_check_method=pass_all +- ;; +-esac +-]) +-file_magic_cmd=$lt_cv_file_magic_cmd +-deplibs_check_method=$lt_cv_deplibs_check_method +-test -z "$deplibs_check_method" && deplibs_check_method=unknown +- +-_LT_DECL([], [deplibs_check_method], [1], +- [Method to check whether dependent libraries are shared objects]) +-_LT_DECL([], [file_magic_cmd], [1], +- [Command to use when deplibs_check_method == "file_magic"]) +-])# _LT_CHECK_MAGIC_METHOD +- +- +-# LT_PATH_NM +-# ---------- +-# find the pathname to a BSD- or MS-compatible name lister +-AC_DEFUN([LT_PATH_NM], +-[AC_REQUIRE([AC_PROG_CC])dnl +-AC_CACHE_CHECK([for BSD- or MS-compatible name lister (nm)], lt_cv_path_NM, +-[if test -n "$NM"; then +- # Let the user override the test. +- lt_cv_path_NM="$NM" +-else +- lt_nm_to_check="${ac_tool_prefix}nm" +- if test -n "$ac_tool_prefix" && test "$build" = "$host"; then +- lt_nm_to_check="$lt_nm_to_check nm" +- fi +- for lt_tmp_nm in $lt_nm_to_check; do +- lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR +- for ac_dir in $PATH /usr/ccs/bin/elf /usr/ccs/bin /usr/ucb /bin; do +- IFS="$lt_save_ifs" +- test -z "$ac_dir" && ac_dir=. +- tmp_nm="$ac_dir/$lt_tmp_nm" +- if test -f "$tmp_nm" || test -f "$tmp_nm$ac_exeext" ; then +- # Check to see if the nm accepts a BSD-compat flag. +- # Adding the `sed 1q' prevents false positives on HP-UX, which says: +- # nm: unknown option "B" ignored +- # Tru64's nm complains that /dev/null is an invalid object file +- case `"$tmp_nm" -B /dev/null 2>&1 | sed '1q'` in +- */dev/null* | *'Invalid file or object type'*) +- lt_cv_path_NM="$tmp_nm -B" +- break +- ;; +- *) +- case `"$tmp_nm" -p /dev/null 2>&1 | sed '1q'` in +- */dev/null*) +- lt_cv_path_NM="$tmp_nm -p" +- break +- ;; +- *) +- lt_cv_path_NM=${lt_cv_path_NM="$tmp_nm"} # keep the first match, but +- continue # so that we can try to find one that supports BSD flags +- ;; +- esac +- ;; +- esac +- fi +- done +- IFS="$lt_save_ifs" +- done +- : ${lt_cv_path_NM=no} +-fi]) +-if test "$lt_cv_path_NM" != "no"; then +- NM="$lt_cv_path_NM" +-else +- # Didn't find any BSD compatible name lister, look for dumpbin. +- AC_CHECK_TOOLS(DUMPBIN, ["dumpbin -symbols" "link -dump -symbols"], :) +- AC_SUBST([DUMPBIN]) +- if test "$DUMPBIN" != ":"; then +- NM="$DUMPBIN" +- fi +-fi +-test -z "$NM" && NM=nm +-AC_SUBST([NM]) +-_LT_DECL([], [NM], [1], [A BSD- or MS-compatible name lister])dnl +- +-AC_CACHE_CHECK([the name lister ($NM) interface], [lt_cv_nm_interface], +- [lt_cv_nm_interface="BSD nm" +- echo "int some_variable = 0;" > conftest.$ac_ext +- (eval echo "\"\$as_me:__oline__: $ac_compile\"" >&AS_MESSAGE_LOG_FD) +- (eval "$ac_compile" 2>conftest.err) +- cat conftest.err >&AS_MESSAGE_LOG_FD +- (eval echo "\"\$as_me:__oline__: $NM \\\"conftest.$ac_objext\\\"\"" >&AS_MESSAGE_LOG_FD) +- (eval "$NM \"conftest.$ac_objext\"" 2>conftest.err > conftest.out) +- cat conftest.err >&AS_MESSAGE_LOG_FD +- (eval echo "\"\$as_me:__oline__: output\"" >&AS_MESSAGE_LOG_FD) +- cat conftest.out >&AS_MESSAGE_LOG_FD +- if $GREP 'External.*some_variable' conftest.out > /dev/null; then +- lt_cv_nm_interface="MS dumpbin" +- fi +- rm -f conftest*]) +-])# LT_PATH_NM +- +-# Old names: +-AU_ALIAS([AM_PROG_NM], [LT_PATH_NM]) +-AU_ALIAS([AC_PROG_NM], [LT_PATH_NM]) +-dnl aclocal-1.4 backwards compatibility: +-dnl AC_DEFUN([AM_PROG_NM], []) +-dnl AC_DEFUN([AC_PROG_NM], []) +- +- +-# LT_LIB_M +-# -------- +-# check for math library +-AC_DEFUN([LT_LIB_M], +-[AC_REQUIRE([AC_CANONICAL_HOST])dnl +-LIBM= +-case $host in +-*-*-beos* | *-*-cygwin* | *-*-pw32* | *-*-darwin*) +- # These system don't have libm, or don't need it +- ;; +-*-ncr-sysv4.3*) +- AC_CHECK_LIB(mw, _mwvalidcheckl, LIBM="-lmw") +- AC_CHECK_LIB(m, cos, LIBM="$LIBM -lm") +- ;; +-*) +- AC_CHECK_LIB(m, cos, LIBM="-lm") +- ;; +-esac +-AC_SUBST([LIBM]) +-])# LT_LIB_M +- +-# Old name: +-AU_ALIAS([AC_CHECK_LIBM], [LT_LIB_M]) +-dnl aclocal-1.4 backwards compatibility: +-dnl AC_DEFUN([AC_CHECK_LIBM], []) +- +- +-# _LT_COMPILER_NO_RTTI([TAGNAME]) +-# ------------------------------- +-m4_defun([_LT_COMPILER_NO_RTTI], +-[m4_require([_LT_TAG_COMPILER])dnl +- +-_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)= +- +-if test "$GCC" = yes; then +- _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -fno-builtin' +- +- _LT_COMPILER_OPTION([if $compiler supports -fno-rtti -fno-exceptions], +- lt_cv_prog_compiler_rtti_exceptions, +- [-fno-rtti -fno-exceptions], [], +- [_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)="$_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1) -fno-rtti -fno-exceptions"]) +-fi +-_LT_TAGDECL([no_builtin_flag], [lt_prog_compiler_no_builtin_flag], [1], +- [Compiler flag to turn off builtin functions]) +-])# _LT_COMPILER_NO_RTTI +- +- +-# _LT_CMD_GLOBAL_SYMBOLS +-# ---------------------- +-m4_defun([_LT_CMD_GLOBAL_SYMBOLS], +-[AC_REQUIRE([AC_CANONICAL_HOST])dnl +-AC_REQUIRE([AC_PROG_CC])dnl +-AC_REQUIRE([LT_PATH_NM])dnl +-AC_REQUIRE([LT_PATH_LD])dnl +-m4_require([_LT_DECL_SED])dnl +-m4_require([_LT_DECL_EGREP])dnl +-m4_require([_LT_TAG_COMPILER])dnl +- +-# Check for command to grab the raw symbol name followed by C symbol from nm. +-AC_MSG_CHECKING([command to parse $NM output from $compiler object]) +-AC_CACHE_VAL([lt_cv_sys_global_symbol_pipe], +-[ +-# These are sane defaults that work on at least a few old systems. +-# [They come from Ultrix. What could be older than Ultrix?!! ;)] +- +-# Character class describing NM global symbol codes. +-symcode='[[BCDEGRST]]' +- +-# Regexp to match symbols that can be accessed directly from C. +-sympat='\([[_A-Za-z]][[_A-Za-z0-9]]*\)' +- +-# Define system-specific variables. +-case $host_os in +-aix*) +- symcode='[[BCDT]]' +- ;; +-cygwin* | mingw* | pw32* | cegcc*) +- symcode='[[ABCDGISTW]]' +- ;; +-hpux*) +- if test "$host_cpu" = ia64; then +- symcode='[[ABCDEGRST]]' +- fi +- ;; +-irix* | nonstopux*) +- symcode='[[BCDEGRST]]' +- ;; +-osf*) +- symcode='[[BCDEGQRST]]' +- ;; +-solaris*) +- symcode='[[BDRT]]' +- ;; +-sco3.2v5*) +- symcode='[[DT]]' +- ;; +-sysv4.2uw2*) +- symcode='[[DT]]' +- ;; +-sysv5* | sco5v6* | unixware* | OpenUNIX*) +- symcode='[[ABDT]]' +- ;; +-sysv4) +- symcode='[[DFNSTU]]' +- ;; +-esac +- +-# If we're using GNU nm, then use its standard symbol codes. +-case `$NM -V 2>&1` in +-*GNU* | *'with BFD'*) +- symcode='[[ABCDGIRSTW]]' ;; +-esac +- +-# Transform an extracted symbol line into a proper C declaration. +-# Some systems (esp. on ia64) link data and code symbols differently, +-# so use this general approach. +-lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'" +- +-# Transform an extracted symbol line into symbol name and symbol address +-lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([[^ ]]*\) $/ {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([[^ ]]*\) \([[^ ]]*\)$/ {\"\2\", (void *) \&\2},/p'" +-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'" +- +-# Handle CRLF in mingw tool chain +-opt_cr= +-case $build_os in +-mingw*) +- opt_cr=`$ECHO 'x\{0,1\}' | tr x '\015'` # option cr in regexp +- ;; +-esac +- +-# Try without a prefix underscore, then with it. +-for ac_symprfx in "" "_"; do +- +- # Transform symcode, sympat, and symprfx into a raw symbol and a C symbol. +- symxfrm="\\1 $ac_symprfx\\2 \\2" +- +- # Write the raw and C identifiers. +- if test "$lt_cv_nm_interface" = "MS dumpbin"; then +- # Fake it for dumpbin and say T for any non-static function +- # and D for any global variable. +- # Also find C++ and __fastcall symbols from MSVC++, +- # which start with @ or ?. +- lt_cv_sys_global_symbol_pipe="$AWK ['"\ +-" {last_section=section; section=\$ 3};"\ +-" /Section length .*#relocs.*(pick any)/{hide[last_section]=1};"\ +-" \$ 0!~/External *\|/{next};"\ +-" / 0+ UNDEF /{next}; / UNDEF \([^|]\)*()/{next};"\ +-" {if(hide[section]) next};"\ +-" {f=0}; \$ 0~/\(\).*\|/{f=1}; {printf f ? \"T \" : \"D \"};"\ +-" {split(\$ 0, a, /\||\r/); split(a[2], s)};"\ +-" s[1]~/^[@?]/{print s[1], s[1]; next};"\ +-" s[1]~prfx {split(s[1],t,\"@\"); print t[1], substr(t[1],length(prfx))}"\ +-" ' prfx=^$ac_symprfx]" +- else +- lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[[ ]]\($symcode$symcode*\)[[ ]][[ ]]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'" +- fi +- +- # Check to see that the pipe works correctly. +- pipe_works=no +- +- rm -f conftest* +- cat > conftest.$ac_ext <<_LT_EOF +-#ifdef __cplusplus +-extern "C" { +-#endif +-char nm_test_var; +-void nm_test_func(void); +-void nm_test_func(void){} +-#ifdef __cplusplus +-} +-#endif +-int main(){nm_test_var='a';nm_test_func();return(0);} +-_LT_EOF +- +- if AC_TRY_EVAL(ac_compile); then +- # Now try to grab the symbols. +- nlist=conftest.nm +- if AC_TRY_EVAL(NM conftest.$ac_objext \| $lt_cv_sys_global_symbol_pipe \> $nlist) && test -s "$nlist"; then +- # Try sorting and uniquifying the output. +- if sort "$nlist" | uniq > "$nlist"T; then +- mv -f "$nlist"T "$nlist" +- else +- rm -f "$nlist"T +- fi +- +- # Make sure that we snagged all the symbols we need. +- if $GREP ' nm_test_var$' "$nlist" >/dev/null; then +- if $GREP ' nm_test_func$' "$nlist" >/dev/null; then +- cat <<_LT_EOF > conftest.$ac_ext +-#ifdef __cplusplus +-extern "C" { +-#endif +- +-_LT_EOF +- # Now generate the symbol file. +- eval "$lt_cv_sys_global_symbol_to_cdecl"' < "$nlist" | $GREP -v main >> conftest.$ac_ext' +- +- cat <<_LT_EOF >> conftest.$ac_ext +- +-/* The mapping between symbol names and symbols. */ +-const struct { +- const char *name; +- void *address; +-} +-lt__PROGRAM__LTX_preloaded_symbols[[]] = +-{ +- { "@PROGRAM@", (void *) 0 }, +-_LT_EOF +- $SED "s/^$symcode$symcode* \(.*\) \(.*\)$/ {\"\2\", (void *) \&\2},/" < "$nlist" | $GREP -v main >> conftest.$ac_ext +- cat <<\_LT_EOF >> conftest.$ac_ext +- {0, (void *) 0} +-}; +- +-/* This works around a problem in FreeBSD linker */ +-#ifdef FREEBSD_WORKAROUND +-static const void *lt_preloaded_setup() { +- return lt__PROGRAM__LTX_preloaded_symbols; +-} +-#endif +- +-#ifdef __cplusplus +-} +-#endif +-_LT_EOF +- # Now try linking the two files. +- mv conftest.$ac_objext conftstm.$ac_objext +- lt_save_LIBS="$LIBS" +- lt_save_CFLAGS="$CFLAGS" +- LIBS="conftstm.$ac_objext" +- CFLAGS="$CFLAGS$_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)" +- if AC_TRY_EVAL(ac_link) && test -s conftest${ac_exeext}; then +- pipe_works=yes +- fi +- LIBS="$lt_save_LIBS" +- CFLAGS="$lt_save_CFLAGS" +- else +- echo "cannot find nm_test_func in $nlist" >&AS_MESSAGE_LOG_FD +- fi +- else +- echo "cannot find nm_test_var in $nlist" >&AS_MESSAGE_LOG_FD +- fi +- else +- echo "cannot run $lt_cv_sys_global_symbol_pipe" >&AS_MESSAGE_LOG_FD +- fi +- else +- echo "$progname: failed program was:" >&AS_MESSAGE_LOG_FD +- cat conftest.$ac_ext >&5 +- fi +- rm -rf conftest* conftst* +- +- # Do not use the global_symbol_pipe unless it works. +- if test "$pipe_works" = yes; then +- break +- else +- lt_cv_sys_global_symbol_pipe= +- fi +-done +-]) +-if test -z "$lt_cv_sys_global_symbol_pipe"; then +- lt_cv_sys_global_symbol_to_cdecl= +-fi +-if test -z "$lt_cv_sys_global_symbol_pipe$lt_cv_sys_global_symbol_to_cdecl"; then +- AC_MSG_RESULT(failed) +-else +- AC_MSG_RESULT(ok) +-fi +- +-_LT_DECL([global_symbol_pipe], [lt_cv_sys_global_symbol_pipe], [1], +- [Take the output of nm and produce a listing of raw symbols and C names]) +-_LT_DECL([global_symbol_to_cdecl], [lt_cv_sys_global_symbol_to_cdecl], [1], +- [Transform the output of nm in a proper C declaration]) +-_LT_DECL([global_symbol_to_c_name_address], +- [lt_cv_sys_global_symbol_to_c_name_address], [1], +- [Transform the output of nm in a C name address pair]) +-_LT_DECL([global_symbol_to_c_name_address_lib_prefix], +- [lt_cv_sys_global_symbol_to_c_name_address_lib_prefix], [1], +- [Transform the output of nm in a C name address pair when lib prefix is needed]) +-]) # _LT_CMD_GLOBAL_SYMBOLS +- +- +-# _LT_COMPILER_PIC([TAGNAME]) +-# --------------------------- +-m4_defun([_LT_COMPILER_PIC], +-[m4_require([_LT_TAG_COMPILER])dnl +-_LT_TAGVAR(lt_prog_compiler_wl, $1)= +-_LT_TAGVAR(lt_prog_compiler_pic, $1)= +-_LT_TAGVAR(lt_prog_compiler_static, $1)= +- +-AC_MSG_CHECKING([for $compiler option to produce PIC]) +-m4_if([$1], [CXX], [ +- # C++ specific cases for pic, static, wl, etc. +- if test "$GXX" = yes; then +- _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' +- _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' +- +- case $host_os in +- aix*) +- # All AIX code is PIC. +- if test "$host_cpu" = ia64; then +- # AIX 5 now supports IA64 processor +- _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' +- fi +- ;; +- +- amigaos*) +- case $host_cpu in +- powerpc) +- # see comment about AmigaOS4 .so support +- _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' +- ;; +- m68k) +- # FIXME: we need at least 68020 code to build shared libraries, but +- # adding the `-m68020' flag to GCC prevents building anything better, +- # like `-m68040'. +- _LT_TAGVAR(lt_prog_compiler_pic, $1)='-m68020 -resident32 -malways-restore-a4' +- ;; +- esac +- ;; +- +- beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) +- # PIC is the default for these OSes. +- ;; +- mingw* | cygwin* | os2* | pw32* | cegcc*) +- # This hack is so that the source file can tell whether it is being +- # built for inclusion in a dll (and should export symbols for example). +- # Although the cygwin gcc ignores -fPIC, still need this for old-style +- # (--disable-auto-import) libraries +- m4_if([$1], [GCJ], [], +- [_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT']) +- ;; +- darwin* | rhapsody*) +- # PIC is the default on this platform +- # Common symbols not allowed in MH_DYLIB files +- _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common' +- ;; +- *djgpp*) +- # DJGPP does not support shared libraries at all +- _LT_TAGVAR(lt_prog_compiler_pic, $1)= +- ;; +- interix[[3-9]]*) +- # Interix 3.x gcc -fpic/-fPIC options generate broken code. +- # Instead, we relocate shared libraries at runtime. +- ;; +- sysv4*MP*) +- if test -d /usr/nec; then +- _LT_TAGVAR(lt_prog_compiler_pic, $1)=-Kconform_pic +- fi +- ;; +- hpux*) +- # PIC is the default for 64-bit PA HP-UX, but not for 32-bit +- # PA HP-UX. On IA64 HP-UX, PIC is the default but the pic flag +- # sets the default TLS model and affects inlining. +- case $host_cpu in +- hppa*64*) +- ;; +- *) +- _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' +- ;; +- esac +- ;; +- *qnx* | *nto*) +- # QNX uses GNU C++, but need to define -shared option too, otherwise +- # it will coredump. +- _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared' +- ;; +- *) +- _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' +- ;; +- esac +- else +- case $host_os in +- aix[[4-9]]*) +- # All AIX code is PIC. +- if test "$host_cpu" = ia64; then +- # AIX 5 now supports IA64 processor +- _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' +- else +- _LT_TAGVAR(lt_prog_compiler_static, $1)='-bnso -bI:/lib/syscalls.exp' +- fi +- ;; +- chorus*) +- case $cc_basename in +- cxch68*) +- # Green Hills C++ Compiler +- # _LT_TAGVAR(lt_prog_compiler_static, $1)="--no_auto_instantiation -u __main -u __premain -u _abort -r $COOL_DIR/lib/libOrb.a $MVME_DIR/lib/CC/libC.a $MVME_DIR/lib/classix/libcx.s.a" +- ;; +- esac +- ;; +- dgux*) +- case $cc_basename in +- ec++*) +- _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' +- ;; +- ghcx*) +- # Green Hills C++ Compiler +- _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic' +- ;; +- *) +- ;; +- esac +- ;; +- freebsd* | dragonfly*) +- # FreeBSD uses GNU C++ +- ;; +- hpux9* | hpux10* | hpux11*) +- case $cc_basename in +- CC*) +- _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' +- _LT_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive' +- if test "$host_cpu" != ia64; then +- _LT_TAGVAR(lt_prog_compiler_pic, $1)='+Z' +- fi +- ;; +- aCC*) +- _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' +- _LT_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive' +- case $host_cpu in +- hppa*64*|ia64*) +- # +Z the default +- ;; +- *) +- _LT_TAGVAR(lt_prog_compiler_pic, $1)='+Z' +- ;; +- esac +- ;; +- *) +- ;; +- esac +- ;; +- interix*) +- # This is c89, which is MS Visual C++ (no shared libs) +- # Anyone wants to do a port? +- ;; +- irix5* | irix6* | nonstopux*) +- case $cc_basename in +- CC*) +- _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' +- _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' +- # CC pic flag -KPIC is the default. +- ;; +- *) +- ;; +- esac +- ;; +- linux* | k*bsd*-gnu) +- case $cc_basename in +- KCC*) +- # KAI C++ Compiler +- _LT_TAGVAR(lt_prog_compiler_wl, $1)='--backend -Wl,' +- _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' +- ;; +- ecpc* ) +- # old Intel C++ for x86_64 which still supported -KPIC. +- _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' +- _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' +- _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' +- ;; +- icpc* ) +- # Intel C++, used to be incompatible with GCC. +- # ICC 10 doesn't accept -KPIC any more. +- _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' +- _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' +- _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' +- ;; +- pgCC* | pgcpp*) +- # Portland Group C++ compiler +- _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' +- _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fpic' +- _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' +- ;; +- cxx*) +- # Compaq C++ +- # Make sure the PIC flag is empty. It appears that all Alpha +- # Linux and Compaq Tru64 Unix objects are PIC. +- _LT_TAGVAR(lt_prog_compiler_pic, $1)= +- _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' +- ;; +- xlc* | xlC*) +- # IBM XL 8.0 on PPC +- _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' +- _LT_TAGVAR(lt_prog_compiler_pic, $1)='-qpic' +- _LT_TAGVAR(lt_prog_compiler_static, $1)='-qstaticlink' +- ;; +- *) +- case `$CC -V 2>&1 | sed 5q` in +- *Sun\ C*) +- # Sun C++ 5.9 +- _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' +- _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' +- _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ' +- ;; +- esac +- ;; +- esac +- ;; +- lynxos*) +- ;; +- m88k*) +- ;; +- mvs*) +- case $cc_basename in +- cxx*) +- _LT_TAGVAR(lt_prog_compiler_pic, $1)='-W c,exportall' +- ;; +- *) +- ;; +- esac +- ;; +- netbsd*) +- ;; +- *qnx* | *nto*) +- # QNX uses GNU C++, but need to define -shared option too, otherwise +- # it will coredump. +- _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared' +- ;; +- osf3* | osf4* | osf5*) +- case $cc_basename in +- KCC*) +- _LT_TAGVAR(lt_prog_compiler_wl, $1)='--backend -Wl,' +- ;; +- RCC*) +- # Rational C++ 2.4.1 +- _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic' +- ;; +- cxx*) +- # Digital/Compaq C++ +- _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' +- # Make sure the PIC flag is empty. It appears that all Alpha +- # Linux and Compaq Tru64 Unix objects are PIC. +- _LT_TAGVAR(lt_prog_compiler_pic, $1)= +- _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' +- ;; +- *) +- ;; +- esac +- ;; +- psos*) +- ;; +- solaris*) +- case $cc_basename in +- CC*) +- # Sun C++ 4.2, 5.x and Centerline C++ +- _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' +- _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' +- _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ' +- ;; +- gcx*) +- # Green Hills C++ Compiler +- _LT_TAGVAR(lt_prog_compiler_pic, $1)='-PIC' +- ;; +- *) +- ;; +- esac +- ;; +- sunos4*) +- case $cc_basename in +- CC*) +- # Sun C++ 4.x +- _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic' +- _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' +- ;; +- lcc*) +- # Lucid +- _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic' +- ;; +- *) +- ;; +- esac +- ;; +- sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) +- case $cc_basename in +- CC*) +- _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' +- _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' +- _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' +- ;; +- esac +- ;; +- tandem*) +- case $cc_basename in +- NCC*) +- # NonStop-UX NCC 3.20 +- _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' +- ;; +- *) +- ;; +- esac +- ;; +- vxworks*) +- ;; +- *) +- _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no +- ;; +- esac +- fi +-], +-[ +- if test "$GCC" = yes; then +- _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' +- _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' +- +- case $host_os in +- aix*) +- # All AIX code is PIC. +- if test "$host_cpu" = ia64; then +- # AIX 5 now supports IA64 processor +- _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' +- fi +- ;; +- +- amigaos*) +- case $host_cpu in +- powerpc) +- # see comment about AmigaOS4 .so support +- _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' +- ;; +- m68k) +- # FIXME: we need at least 68020 code to build shared libraries, but +- # adding the `-m68020' flag to GCC prevents building anything better, +- # like `-m68040'. +- _LT_TAGVAR(lt_prog_compiler_pic, $1)='-m68020 -resident32 -malways-restore-a4' +- ;; +- esac +- ;; +- +- beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) +- # PIC is the default for these OSes. +- ;; +- +- mingw* | cygwin* | pw32* | os2* | cegcc*) +- # This hack is so that the source file can tell whether it is being +- # built for inclusion in a dll (and should export symbols for example). +- # Although the cygwin gcc ignores -fPIC, still need this for old-style +- # (--disable-auto-import) libraries +- m4_if([$1], [GCJ], [], +- [_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT']) +- ;; +- +- darwin* | rhapsody*) +- # PIC is the default on this platform +- # Common symbols not allowed in MH_DYLIB files +- _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common' +- ;; +- +- hpux*) +- # PIC is the default for 64-bit PA HP-UX, but not for 32-bit +- # PA HP-UX. On IA64 HP-UX, PIC is the default but the pic flag +- # sets the default TLS model and affects inlining. +- case $host_cpu in +- hppa*64*) +- # +Z the default +- ;; +- *) +- _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' +- ;; +- esac +- ;; +- +- interix[[3-9]]*) +- # Interix 3.x gcc -fpic/-fPIC options generate broken code. +- # Instead, we relocate shared libraries at runtime. +- ;; +- +- msdosdjgpp*) +- # Just because we use GCC doesn't mean we suddenly get shared libraries +- # on systems that don't support them. +- _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no +- enable_shared=no +- ;; +- +- *nto* | *qnx*) +- # QNX uses GNU C++, but need to define -shared option too, otherwise +- # it will coredump. +- _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared' +- ;; +- +- sysv4*MP*) +- if test -d /usr/nec; then +- _LT_TAGVAR(lt_prog_compiler_pic, $1)=-Kconform_pic +- fi +- ;; +- +- *) +- _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' +- ;; +- esac +- else +- # PORTME Check for flag to pass linker flags through the system compiler. +- case $host_os in +- aix*) +- _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' +- if test "$host_cpu" = ia64; then +- # AIX 5 now supports IA64 processor +- _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' +- else +- _LT_TAGVAR(lt_prog_compiler_static, $1)='-bnso -bI:/lib/syscalls.exp' +- fi +- ;; +- +- mingw* | cygwin* | pw32* | os2* | cegcc*) +- # This hack is so that the source file can tell whether it is being +- # built for inclusion in a dll (and should export symbols for example). +- m4_if([$1], [GCJ], [], +- [_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT']) +- ;; +- +- hpux9* | hpux10* | hpux11*) +- _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' +- # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but +- # not for PA HP-UX. +- case $host_cpu in +- hppa*64*|ia64*) +- # +Z the default +- ;; +- *) +- _LT_TAGVAR(lt_prog_compiler_pic, $1)='+Z' +- ;; +- esac +- # Is there a better lt_prog_compiler_static that works with the bundled CC? +- _LT_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive' +- ;; +- +- irix5* | irix6* | nonstopux*) +- _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' +- # PIC (with -KPIC) is the default. +- _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' +- ;; +- +- linux* | k*bsd*-gnu) +- case $cc_basename in +- # old Intel for x86_64 which still supported -KPIC. +- ecc*) +- _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' +- _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' +- _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' +- ;; +- # icc used to be incompatible with GCC. +- # ICC 10 doesn't accept -KPIC any more. +- icc* | ifort*) +- _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' +- _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' +- _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' +- ;; +- # Lahey Fortran 8.1. +- lf95*) +- _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' +- _LT_TAGVAR(lt_prog_compiler_pic, $1)='--shared' +- _LT_TAGVAR(lt_prog_compiler_static, $1)='--static' +- ;; +- pgcc* | pgf77* | pgf90* | pgf95*) +- # Portland Group compilers (*not* the Pentium gcc compiler, +- # which looks to be a dead project) +- _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' +- _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fpic' +- _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' +- ;; +- ccc*) +- _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' +- # All Alpha code is PIC. +- _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' +- ;; +- xl*) +- # IBM XL C 8.0/Fortran 10.1 on PPC +- _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' +- _LT_TAGVAR(lt_prog_compiler_pic, $1)='-qpic' +- _LT_TAGVAR(lt_prog_compiler_static, $1)='-qstaticlink' +- ;; +- *) +- case `$CC -V 2>&1 | sed 5q` in +- *Sun\ C*) +- # Sun C 5.9 +- _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' +- _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' +- _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' +- ;; +- *Sun\ F*) +- # Sun Fortran 8.3 passes all unrecognized flags to the linker +- _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' +- _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' +- _LT_TAGVAR(lt_prog_compiler_wl, $1)='' +- ;; +- esac +- ;; +- esac +- ;; +- +- newsos6) +- _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' +- _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' +- ;; +- +- *nto* | *qnx*) +- # QNX uses GNU C++, but need to define -shared option too, otherwise +- # it will coredump. +- _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared' +- ;; +- +- osf3* | osf4* | osf5*) +- _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' +- # All OSF/1 code is PIC. +- _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' +- ;; +- +- rdos*) +- _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' +- ;; +- +- solaris*) +- _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' +- _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' +- case $cc_basename in +- f77* | f90* | f95*) +- _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ';; +- *) +- _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,';; +- esac +- ;; +- +- sunos4*) +- _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ' +- _LT_TAGVAR(lt_prog_compiler_pic, $1)='-PIC' +- _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' +- ;; +- +- sysv4 | sysv4.2uw2* | sysv4.3*) +- _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' +- _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' +- _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' +- ;; +- +- sysv4*MP*) +- if test -d /usr/nec ;then +- _LT_TAGVAR(lt_prog_compiler_pic, $1)='-Kconform_pic' +- _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' +- fi +- ;; +- +- sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) +- _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' +- _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' +- _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' +- ;; +- +- unicos*) +- _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' +- _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no +- ;; +- +- uts4*) +- _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic' +- _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' +- ;; +- +- *) +- _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no +- ;; +- esac +- fi +-]) +-case $host_os in +- # For platforms which do not support PIC, -DPIC is meaningless: +- *djgpp*) +- _LT_TAGVAR(lt_prog_compiler_pic, $1)= +- ;; +- *) +- _LT_TAGVAR(lt_prog_compiler_pic, $1)="$_LT_TAGVAR(lt_prog_compiler_pic, $1)@&t@m4_if([$1],[],[ -DPIC],[m4_if([$1],[CXX],[ -DPIC],[])])" +- ;; +-esac +-AC_MSG_RESULT([$_LT_TAGVAR(lt_prog_compiler_pic, $1)]) +-_LT_TAGDECL([wl], [lt_prog_compiler_wl], [1], +- [How to pass a linker flag through the compiler]) +- +-# +-# Check to make sure the PIC flag actually works. +-# +-if test -n "$_LT_TAGVAR(lt_prog_compiler_pic, $1)"; then +- _LT_COMPILER_OPTION([if $compiler PIC flag $_LT_TAGVAR(lt_prog_compiler_pic, $1) works], +- [_LT_TAGVAR(lt_cv_prog_compiler_pic_works, $1)], +- [$_LT_TAGVAR(lt_prog_compiler_pic, $1)@&t@m4_if([$1],[],[ -DPIC],[m4_if([$1],[CXX],[ -DPIC],[])])], [], +- [case $_LT_TAGVAR(lt_prog_compiler_pic, $1) in +- "" | " "*) ;; +- *) _LT_TAGVAR(lt_prog_compiler_pic, $1)=" $_LT_TAGVAR(lt_prog_compiler_pic, $1)" ;; +- esac], +- [_LT_TAGVAR(lt_prog_compiler_pic, $1)= +- _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no]) +-fi +-_LT_TAGDECL([pic_flag], [lt_prog_compiler_pic], [1], +- [Additional compiler flags for building library objects]) +- +-# +-# Check to make sure the static flag actually works. +-# +-wl=$_LT_TAGVAR(lt_prog_compiler_wl, $1) eval lt_tmp_static_flag=\"$_LT_TAGVAR(lt_prog_compiler_static, $1)\" +-_LT_LINKER_OPTION([if $compiler static flag $lt_tmp_static_flag works], +- _LT_TAGVAR(lt_cv_prog_compiler_static_works, $1), +- $lt_tmp_static_flag, +- [], +- [_LT_TAGVAR(lt_prog_compiler_static, $1)=]) +-_LT_TAGDECL([link_static_flag], [lt_prog_compiler_static], [1], +- [Compiler flag to prevent dynamic linking]) +-])# _LT_COMPILER_PIC +- +- +-# _LT_LINKER_SHLIBS([TAGNAME]) +-# ---------------------------- +-# See if the linker supports building shared libraries. +-m4_defun([_LT_LINKER_SHLIBS], +-[AC_REQUIRE([LT_PATH_LD])dnl +-AC_REQUIRE([LT_PATH_NM])dnl +-m4_require([_LT_FILEUTILS_DEFAULTS])dnl +-m4_require([_LT_DECL_EGREP])dnl +-m4_require([_LT_DECL_SED])dnl +-m4_require([_LT_CMD_GLOBAL_SYMBOLS])dnl +-m4_require([_LT_TAG_COMPILER])dnl +-AC_MSG_CHECKING([whether the $compiler linker ($LD) supports shared libraries]) +-m4_if([$1], [CXX], [ +- _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' +- case $host_os in +- aix[[4-9]]*) +- # If we're using GNU nm, then we don't want the "-C" option. +- # -C means demangle to AIX nm, but means don't demangle with GNU nm +- if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then +- _LT_TAGVAR(export_symbols_cmds, $1)='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && ([substr](\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols' +- else +- _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' +- fi +- ;; +- pw32*) +- _LT_TAGVAR(export_symbols_cmds, $1)="$ltdll_cmds" +- ;; +- cygwin* | mingw* | cegcc*) +- _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' +- ;; +- *) +- _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' +- ;; +- esac +- _LT_TAGVAR(exclude_expsyms, $1)=['_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*'] +-], [ +- runpath_var= +- _LT_TAGVAR(allow_undefined_flag, $1)= +- _LT_TAGVAR(always_export_symbols, $1)=no +- _LT_TAGVAR(archive_cmds, $1)= +- _LT_TAGVAR(archive_expsym_cmds, $1)= +- _LT_TAGVAR(compiler_needs_object, $1)=no +- _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no +- _LT_TAGVAR(export_dynamic_flag_spec, $1)= +- _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' +- _LT_TAGVAR(hardcode_automatic, $1)=no +- _LT_TAGVAR(hardcode_direct, $1)=no +- _LT_TAGVAR(hardcode_direct_absolute, $1)=no +- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)= +- _LT_TAGVAR(hardcode_libdir_flag_spec_ld, $1)= +- _LT_TAGVAR(hardcode_libdir_separator, $1)= +- _LT_TAGVAR(hardcode_minus_L, $1)=no +- _LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported +- _LT_TAGVAR(inherit_rpath, $1)=no +- _LT_TAGVAR(link_all_deplibs, $1)=unknown +- _LT_TAGVAR(module_cmds, $1)= +- _LT_TAGVAR(module_expsym_cmds, $1)= +- _LT_TAGVAR(old_archive_from_new_cmds, $1)= +- _LT_TAGVAR(old_archive_from_expsyms_cmds, $1)= +- _LT_TAGVAR(thread_safe_flag_spec, $1)= +- _LT_TAGVAR(whole_archive_flag_spec, $1)= +- # include_expsyms should be a list of space-separated symbols to be *always* +- # included in the symbol list +- _LT_TAGVAR(include_expsyms, $1)= +- # exclude_expsyms can be an extended regexp of symbols to exclude +- # it will be wrapped by ` (' and `)$', so one must not match beginning or +- # end of line. Example: `a|bc|.*d.*' will exclude the symbols `a' and `bc', +- # as well as any symbol that contains `d'. +- _LT_TAGVAR(exclude_expsyms, $1)=['_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*'] +- # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out +- # platforms (ab)use it in PIC code, but their linkers get confused if +- # the symbol is explicitly referenced. Since portable code cannot +- # rely on this symbol name, it's probably fine to never include it in +- # preloaded symbol tables. +- # Exclude shared library initialization/finalization symbols. +-dnl Note also adjust exclude_expsyms for C++ above. +- extract_expsyms_cmds= +- +- case $host_os in +- cygwin* | mingw* | pw32* | cegcc*) +- # FIXME: the MSVC++ port hasn't been tested in a loooong time +- # When not using gcc, we currently assume that we are using +- # Microsoft Visual C++. +- if test "$GCC" != yes; then +- with_gnu_ld=no +- fi +- ;; +- interix*) +- # we just hope/assume this is gcc and not c89 (= MSVC++) +- with_gnu_ld=yes +- ;; +- openbsd*) +- with_gnu_ld=no +- ;; +- esac +- +- _LT_TAGVAR(ld_shlibs, $1)=yes +- if test "$with_gnu_ld" = yes; then +- # If archive_cmds runs LD, not CC, wlarc should be empty +- wlarc='${wl}' +- +- # Set some defaults for GNU ld with shared library support. These +- # are reset later if shared libraries are not supported. Putting them +- # here allows them to be overridden if necessary. +- runpath_var=LD_RUN_PATH +- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' +- _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' +- # ancient GNU ld didn't support --whole-archive et. al. +- if $LD --help 2>&1 | $GREP 'no-whole-archive' > /dev/null; then +- _LT_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' +- else +- _LT_TAGVAR(whole_archive_flag_spec, $1)= +- fi +- supports_anon_versioning=no +- case `$LD -v 2>&1` in +- *\ [[01]].* | *\ 2.[[0-9]].* | *\ 2.10.*) ;; # catch versions < 2.11 +- *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ... +- *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ... +- *\ 2.11.*) ;; # other 2.11 versions +- *) supports_anon_versioning=yes ;; +- esac +- +- # See if GNU ld supports shared libraries. +- case $host_os in +- aix[[3-9]]*) +- # On AIX/PPC, the GNU linker is very broken +- if test "$host_cpu" != ia64; then +- _LT_TAGVAR(ld_shlibs, $1)=no +- cat <<_LT_EOF 1>&2 +- +-*** Warning: the GNU linker, at least up to release 2.9.1, is reported +-*** to be unable to reliably create shared libraries on AIX. +-*** Therefore, libtool is disabling shared libraries support. If you +-*** really care for shared libraries, you may want to modify your PATH +-*** so that a non-GNU linker is found, and then restart. +- +-_LT_EOF +- fi +- ;; +- +- amigaos*) +- case $host_cpu in +- powerpc) +- # see comment about AmigaOS4 .so support +- _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' +- _LT_TAGVAR(archive_expsym_cmds, $1)='' +- ;; +- m68k) +- _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/a2ixlibrary.data~$ECHO "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$ECHO "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$ECHO "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$ECHO "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' +- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' +- _LT_TAGVAR(hardcode_minus_L, $1)=yes +- ;; +- esac +- ;; +- +- beos*) +- if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then +- _LT_TAGVAR(allow_undefined_flag, $1)=unsupported +- # Joseph Beckenbach <jrb3@best.com> says some releases of gcc +- # support --undefined. This deserves some investigation. FIXME +- _LT_TAGVAR(archive_cmds, $1)='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' +- else +- _LT_TAGVAR(ld_shlibs, $1)=no +- fi +- ;; +- +- cygwin* | mingw* | pw32* | cegcc*) +- # _LT_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless, +- # as there is no search path for DLLs. +- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' +- _LT_TAGVAR(allow_undefined_flag, $1)=unsupported +- _LT_TAGVAR(always_export_symbols, $1)=no +- _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes +- _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]][[ ]]/s/.*[[ ]]\([[^ ]]*\)/\1 DATA/'\'' | $SED -e '\''/^[[AITW]][[ ]]/s/.*[[ ]]//'\'' | sort | uniq > $export_symbols' +- +- if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then +- _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' +- # If the export-symbols file already is a .def file (1st line +- # is EXPORTS), use it as is; otherwise, prepend... +- _LT_TAGVAR(archive_expsym_cmds, $1)='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then +- cp $export_symbols $output_objdir/$soname.def; +- else +- echo EXPORTS > $output_objdir/$soname.def; +- cat $export_symbols >> $output_objdir/$soname.def; +- fi~ +- $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' +- else +- _LT_TAGVAR(ld_shlibs, $1)=no +- fi +- ;; +- +- interix[[3-9]]*) +- _LT_TAGVAR(hardcode_direct, $1)=no +- _LT_TAGVAR(hardcode_shlibpath_var, $1)=no +- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' +- _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' +- # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. +- # Instead, shared libraries are loaded at an image base (0x10000000 by +- # default) and relocated if they conflict, which is a slow very memory +- # consuming and fragmenting process. To avoid this, we pick a random, +- # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link +- # time. Moving up from 0x10000000 also allows more sbrk(2) space. +- _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' +- _LT_TAGVAR(archive_expsym_cmds, $1)='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' +- ;; +- +- gnu* | linux* | tpf* | k*bsd*-gnu) +- tmp_diet=no +- if test "$host_os" = linux-dietlibc; then +- case $cc_basename in +- diet\ *) tmp_diet=yes;; # linux-dietlibc with static linking (!diet-dyn) +- esac +- fi +- if $LD --help 2>&1 | $EGREP ': supported targets:.* elf' > /dev/null \ +- && test "$tmp_diet" = no +- then +- tmp_addflag= +- tmp_sharedflag='-shared' +- case $cc_basename,$host_cpu in +- pgcc*) # Portland Group C compiler +- _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $ECHO \"$new_convenience\"` ${wl}--no-whole-archive' +- tmp_addflag=' $pic_flag' +- ;; +- pgf77* | pgf90* | pgf95*) # Portland Group f77 and f90 compilers +- _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $ECHO \"$new_convenience\"` ${wl}--no-whole-archive' +- tmp_addflag=' $pic_flag -Mnomain' ;; +- ecc*,ia64* | icc*,ia64*) # Intel C compiler on ia64 +- tmp_addflag=' -i_dynamic' ;; +- efc*,ia64* | ifort*,ia64*) # Intel Fortran compiler on ia64 +- tmp_addflag=' -i_dynamic -nofor_main' ;; +- ifc* | ifort*) # Intel Fortran compiler +- tmp_addflag=' -nofor_main' ;; +- lf95*) # Lahey Fortran 8.1 +- _LT_TAGVAR(whole_archive_flag_spec, $1)= +- tmp_sharedflag='--shared' ;; +- xl[[cC]]*) # IBM XL C 8.0 on PPC (deal with xlf below) +- tmp_sharedflag='-qmkshrobj' +- tmp_addflag= ;; +- esac +- case `$CC -V 2>&1 | sed 5q` in +- *Sun\ C*) # Sun C 5.9 +- _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; $ECHO \"$new_convenience\"` ${wl}--no-whole-archive' +- _LT_TAGVAR(compiler_needs_object, $1)=yes +- tmp_sharedflag='-G' ;; +- *Sun\ F*) # Sun Fortran 8.3 +- tmp_sharedflag='-G' ;; +- esac +- _LT_TAGVAR(archive_cmds, $1)='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' +- +- if test "x$supports_anon_versioning" = xyes; then +- _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~ +- cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ +- echo "local: *; };" >> $output_objdir/$libname.ver~ +- $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib' +- fi +- +- case $cc_basename in +- xlf*) +- # IBM XL Fortran 10.1 on PPC cannot create shared libs itself +- _LT_TAGVAR(whole_archive_flag_spec, $1)='--whole-archive$convenience --no-whole-archive' +- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)= +- _LT_TAGVAR(hardcode_libdir_flag_spec_ld, $1)='-rpath $libdir' +- _LT_TAGVAR(archive_cmds, $1)='$LD -shared $libobjs $deplibs $compiler_flags -soname $soname -o $lib' +- if test "x$supports_anon_versioning" = xyes; then +- _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~ +- cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ +- echo "local: *; };" >> $output_objdir/$libname.ver~ +- $LD -shared $libobjs $deplibs $compiler_flags -soname $soname -version-script $output_objdir/$libname.ver -o $lib' +- fi +- ;; +- esac +- else +- _LT_TAGVAR(ld_shlibs, $1)=no +- fi +- ;; +- +- netbsd*) +- if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then +- _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib' +- wlarc= +- else +- _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' +- _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' +- fi +- ;; +- +- solaris*) +- if $LD -v 2>&1 | $GREP 'BFD 2\.8' > /dev/null; then +- _LT_TAGVAR(ld_shlibs, $1)=no +- cat <<_LT_EOF 1>&2 +- +-*** Warning: The releases 2.8.* of the GNU linker cannot reliably +-*** create shared libraries on Solaris systems. Therefore, libtool +-*** is disabling shared libraries support. We urge you to upgrade GNU +-*** binutils to release 2.9.1 or newer. Another option is to modify +-*** your PATH or compiler configuration so that the native linker is +-*** used, and then restart. +- +-_LT_EOF +- elif $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then +- _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' +- _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' +- else +- _LT_TAGVAR(ld_shlibs, $1)=no +- fi +- ;; +- +- sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*) +- case `$LD -v 2>&1` in +- *\ [[01]].* | *\ 2.[[0-9]].* | *\ 2.1[[0-5]].*) +- _LT_TAGVAR(ld_shlibs, $1)=no +- cat <<_LT_EOF 1>&2 +- +-*** Warning: Releases of the GNU linker prior to 2.16.91.0.3 can not +-*** reliably create shared libraries on SCO systems. Therefore, libtool +-*** is disabling shared libraries support. We urge you to upgrade GNU +-*** binutils to release 2.16.91.0.3 or newer. Another option is to modify +-*** your PATH or compiler configuration so that the native linker is +-*** used, and then restart. +- +-_LT_EOF +- ;; +- *) +- # For security reasons, it is highly recommended that you always +- # use absolute paths for naming shared libraries, and exclude the +- # DT_RUNPATH tag from executables and libraries. But doing so +- # requires that you compile everything twice, which is a pain. +- if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then +- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' +- _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' +- _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' +- else +- _LT_TAGVAR(ld_shlibs, $1)=no +- fi +- ;; +- esac +- ;; +- +- sunos4*) +- _LT_TAGVAR(archive_cmds, $1)='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags' +- wlarc= +- _LT_TAGVAR(hardcode_direct, $1)=yes +- _LT_TAGVAR(hardcode_shlibpath_var, $1)=no +- ;; +- +- *) +- if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then +- _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' +- _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' +- else +- _LT_TAGVAR(ld_shlibs, $1)=no +- fi +- ;; +- esac +- +- if test "$_LT_TAGVAR(ld_shlibs, $1)" = no; then +- runpath_var= +- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)= +- _LT_TAGVAR(export_dynamic_flag_spec, $1)= +- _LT_TAGVAR(whole_archive_flag_spec, $1)= +- fi +- else +- # PORTME fill in a description of your system's linker (not GNU ld) +- case $host_os in +- aix3*) +- _LT_TAGVAR(allow_undefined_flag, $1)=unsupported +- _LT_TAGVAR(always_export_symbols, $1)=yes +- _LT_TAGVAR(archive_expsym_cmds, $1)='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname' +- # Note: this linker hardcodes the directories in LIBPATH if there +- # are no directories specified by -L. +- _LT_TAGVAR(hardcode_minus_L, $1)=yes +- if test "$GCC" = yes && test -z "$lt_prog_compiler_static"; then +- # Neither direct hardcoding nor static linking is supported with a +- # broken collect2. +- _LT_TAGVAR(hardcode_direct, $1)=unsupported +- fi +- ;; +- +- aix[[4-9]]*) +- if test "$host_cpu" = ia64; then +- # On IA64, the linker does run time linking by default, so we don't +- # have to do anything special. +- aix_use_runtimelinking=no +- exp_sym_flag='-Bexport' +- no_entry_flag="" +- else +- # If we're using GNU nm, then we don't want the "-C" option. +- # -C means demangle to AIX nm, but means don't demangle with GNU nm +- if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then +- _LT_TAGVAR(export_symbols_cmds, $1)='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && ([substr](\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols' +- else +- _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' +- fi +- aix_use_runtimelinking=no +- +- # Test if we are trying to use run time linking or normal +- # AIX style linking. If -brtl is somewhere in LDFLAGS, we +- # need to do runtime linking. +- case $host_os in aix4.[[23]]|aix4.[[23]].*|aix[[5-9]]*) +- for ld_flag in $LDFLAGS; do +- if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then +- aix_use_runtimelinking=yes +- break +- fi +- done +- ;; +- esac +- +- exp_sym_flag='-bexport' +- no_entry_flag='-bnoentry' +- fi +- +- # When large executables or shared objects are built, AIX ld can +- # have problems creating the table of contents. If linking a library +- # or program results in "error TOC overflow" add -mminimal-toc to +- # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not +- # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. +- +- _LT_TAGVAR(archive_cmds, $1)='' +- _LT_TAGVAR(hardcode_direct, $1)=yes +- _LT_TAGVAR(hardcode_direct_absolute, $1)=yes +- _LT_TAGVAR(hardcode_libdir_separator, $1)=':' +- _LT_TAGVAR(link_all_deplibs, $1)=yes +- _LT_TAGVAR(file_list_spec, $1)='${wl}-f,' +- +- if test "$GCC" = yes; then +- case $host_os in aix4.[[012]]|aix4.[[012]].*) +- # We only want to do this on AIX 4.2 and lower, the check +- # below for broken collect2 doesn't work under 4.3+ +- collect2name=`${CC} -print-prog-name=collect2` +- if test -f "$collect2name" && +- strings "$collect2name" | $GREP resolve_lib_name >/dev/null +- then +- # We have reworked collect2 +- : +- else +- # We have old collect2 +- _LT_TAGVAR(hardcode_direct, $1)=unsupported +- # It fails to find uninstalled libraries when the uninstalled +- # path is not listed in the libpath. Setting hardcode_minus_L +- # to unsupported forces relinking +- _LT_TAGVAR(hardcode_minus_L, $1)=yes +- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' +- _LT_TAGVAR(hardcode_libdir_separator, $1)= +- fi +- ;; +- esac +- shared_flag='-shared' +- if test "$aix_use_runtimelinking" = yes; then +- shared_flag="$shared_flag "'${wl}-G' +- fi +- else +- # not using gcc +- if test "$host_cpu" = ia64; then +- # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release +- # chokes on -Wl,-G. The following line is correct: +- shared_flag='-G' +- else +- if test "$aix_use_runtimelinking" = yes; then +- shared_flag='${wl}-G' +- else +- shared_flag='${wl}-bM:SRE' +- fi +- fi +- fi +- +- _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-bexpall' +- # It seems that -bexpall does not export symbols beginning with +- # underscore (_), so it is better to generate a list of symbols to export. +- _LT_TAGVAR(always_export_symbols, $1)=yes +- if test "$aix_use_runtimelinking" = yes; then +- # Warning - without using the other runtime loading flags (-brtl), +- # -berok will link without error, but may produce a broken library. +- _LT_TAGVAR(allow_undefined_flag, $1)='-berok' +- # Determine the default libpath from the value encoded in an +- # empty executable. +- _LT_SYS_MODULE_PATH_AIX +- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath" +- _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then $ECHO "X${wl}${allow_undefined_flag}" | $Xsed; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag" +- else +- if test "$host_cpu" = ia64; then +- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $libdir:/usr/lib:/lib' +- _LT_TAGVAR(allow_undefined_flag, $1)="-z nodefs" +- _LT_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols" +- else +- # Determine the default libpath from the value encoded in an +- # empty executable. +- _LT_SYS_MODULE_PATH_AIX +- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath" +- # Warning - without using the other run time loading flags, +- # -berok will link without error, but may produce a broken library. +- _LT_TAGVAR(no_undefined_flag, $1)=' ${wl}-bernotok' +- _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-berok' +- # Exported symbols can be pulled into shared objects from archives +- _LT_TAGVAR(whole_archive_flag_spec, $1)='$convenience' +- _LT_TAGVAR(archive_cmds_need_lc, $1)=yes +- # This is similar to how AIX traditionally builds its shared libraries. +- _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' +- fi +- fi +- ;; +- +- amigaos*) +- case $host_cpu in +- powerpc) +- # see comment about AmigaOS4 .so support +- _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' +- _LT_TAGVAR(archive_expsym_cmds, $1)='' +- ;; +- m68k) +- _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/a2ixlibrary.data~$ECHO "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$ECHO "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$ECHO "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$ECHO "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' +- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' +- _LT_TAGVAR(hardcode_minus_L, $1)=yes +- ;; +- esac +- ;; +- +- bsdi[[45]]*) +- _LT_TAGVAR(export_dynamic_flag_spec, $1)=-rdynamic +- ;; +- +- cygwin* | mingw* | pw32* | cegcc*) +- # When not using gcc, we currently assume that we are using +- # Microsoft Visual C++. +- # hardcode_libdir_flag_spec is actually meaningless, as there is +- # no search path for DLLs. +- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=' ' +- _LT_TAGVAR(allow_undefined_flag, $1)=unsupported +- # Tell ltmain to make .lib files, not .a files. +- libext=lib +- # Tell ltmain to make .dll files, not .so files. +- shrext_cmds=".dll" +- # FIXME: Setting linknames here is a bad hack. +- _LT_TAGVAR(archive_cmds, $1)='$CC -o $lib $libobjs $compiler_flags `$ECHO "X$deplibs" | $Xsed -e '\''s/ -lc$//'\''` -link -dll~linknames=' +- # The linker will automatically build a .lib file if we build a DLL. +- _LT_TAGVAR(old_archive_from_new_cmds, $1)='true' +- # FIXME: Should let the user specify the lib program. +- _LT_TAGVAR(old_archive_cmds, $1)='lib -OUT:$oldlib$oldobjs$old_deplibs' +- _LT_TAGVAR(fix_srcfile_path, $1)='`cygpath -w "$srcfile"`' +- _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes +- ;; +- +- darwin* | rhapsody*) +- _LT_DARWIN_LINKER_FEATURES($1) +- ;; +- +- dgux*) +- _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' +- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' +- _LT_TAGVAR(hardcode_shlibpath_var, $1)=no +- ;; +- +- freebsd1*) +- _LT_TAGVAR(ld_shlibs, $1)=no +- ;; +- +- # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor +- # support. Future versions do this automatically, but an explicit c++rt0.o +- # does not break anything, and helps significantly (at the cost of a little +- # extra space). +- freebsd2.2*) +- _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o' +- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' +- _LT_TAGVAR(hardcode_direct, $1)=yes +- _LT_TAGVAR(hardcode_shlibpath_var, $1)=no +- ;; +- +- # Unfortunately, older versions of FreeBSD 2 do not have this feature. +- freebsd2*) +- _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' +- _LT_TAGVAR(hardcode_direct, $1)=yes +- _LT_TAGVAR(hardcode_minus_L, $1)=yes +- _LT_TAGVAR(hardcode_shlibpath_var, $1)=no +- ;; +- +- # FreeBSD 3 and greater uses gcc -shared to do shared libraries. +- freebsd* | dragonfly*) +- _LT_TAGVAR(archive_cmds, $1)='$CC -shared -o $lib $libobjs $deplibs $compiler_flags' +- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' +- _LT_TAGVAR(hardcode_direct, $1)=yes +- _LT_TAGVAR(hardcode_shlibpath_var, $1)=no +- ;; +- +- hpux9*) +- if test "$GCC" = yes; then +- _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' +- else +- _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' +- fi +- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' +- _LT_TAGVAR(hardcode_libdir_separator, $1)=: +- _LT_TAGVAR(hardcode_direct, $1)=yes +- +- # hardcode_minus_L: Not really in the search PATH, +- # but as the default location of the library. +- _LT_TAGVAR(hardcode_minus_L, $1)=yes +- _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' +- ;; +- +- hpux10*) +- if test "$GCC" = yes -a "$with_gnu_ld" = no; then +- _LT_TAGVAR(archive_cmds, $1)='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' +- else +- _LT_TAGVAR(archive_cmds, $1)='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags' +- fi +- if test "$with_gnu_ld" = no; then +- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' +- _LT_TAGVAR(hardcode_libdir_flag_spec_ld, $1)='+b $libdir' +- _LT_TAGVAR(hardcode_libdir_separator, $1)=: +- _LT_TAGVAR(hardcode_direct, $1)=yes +- _LT_TAGVAR(hardcode_direct_absolute, $1)=yes +- _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' +- # hardcode_minus_L: Not really in the search PATH, +- # but as the default location of the library. +- _LT_TAGVAR(hardcode_minus_L, $1)=yes +- fi +- ;; +- +- hpux11*) +- if test "$GCC" = yes -a "$with_gnu_ld" = no; then +- case $host_cpu in +- hppa*64*) +- _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' +- ;; +- ia64*) +- _LT_TAGVAR(archive_cmds, $1)='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' +- ;; +- *) +- _LT_TAGVAR(archive_cmds, $1)='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' +- ;; +- esac +- else +- case $host_cpu in +- hppa*64*) +- _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' +- ;; +- ia64*) +- _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' +- ;; +- *) +- _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' +- ;; +- esac +- fi +- if test "$with_gnu_ld" = no; then +- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' +- _LT_TAGVAR(hardcode_libdir_separator, $1)=: +- +- case $host_cpu in +- hppa*64*|ia64*) +- _LT_TAGVAR(hardcode_direct, $1)=no +- _LT_TAGVAR(hardcode_shlibpath_var, $1)=no +- ;; +- *) +- _LT_TAGVAR(hardcode_direct, $1)=yes +- _LT_TAGVAR(hardcode_direct_absolute, $1)=yes +- _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' +- +- # hardcode_minus_L: Not really in the search PATH, +- # but as the default location of the library. +- _LT_TAGVAR(hardcode_minus_L, $1)=yes +- ;; +- esac +- fi +- ;; +- +- irix5* | irix6* | nonstopux*) +- if test "$GCC" = yes; then +- _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' +- # Try to use the -exported_symbol ld option, if it does not +- # work, assume that -exports_file does not work either and +- # implicitly export all symbols. +- save_LDFLAGS="$LDFLAGS" +- LDFLAGS="$LDFLAGS -shared ${wl}-exported_symbol ${wl}foo ${wl}-update_registry ${wl}/dev/null" +- AC_LINK_IFELSE(int foo(void) {}, +- _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' +- ) +- LDFLAGS="$save_LDFLAGS" +- else +- _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' +- _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' +- fi +- _LT_TAGVAR(archive_cmds_need_lc, $1)='no' +- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' +- _LT_TAGVAR(hardcode_libdir_separator, $1)=: +- _LT_TAGVAR(inherit_rpath, $1)=yes +- _LT_TAGVAR(link_all_deplibs, $1)=yes +- ;; +- +- netbsd*) +- if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then +- _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out +- else +- _LT_TAGVAR(archive_cmds, $1)='$LD -shared -o $lib $libobjs $deplibs $linker_flags' # ELF +- fi +- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' +- _LT_TAGVAR(hardcode_direct, $1)=yes +- _LT_TAGVAR(hardcode_shlibpath_var, $1)=no +- ;; +- +- newsos6) +- _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' +- _LT_TAGVAR(hardcode_direct, $1)=yes +- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' +- _LT_TAGVAR(hardcode_libdir_separator, $1)=: +- _LT_TAGVAR(hardcode_shlibpath_var, $1)=no +- ;; +- +- *nto* | *qnx*) +- ;; +- +- openbsd*) +- if test -f /usr/libexec/ld.so; then +- _LT_TAGVAR(hardcode_direct, $1)=yes +- _LT_TAGVAR(hardcode_shlibpath_var, $1)=no +- _LT_TAGVAR(hardcode_direct_absolute, $1)=yes +- if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then +- _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' +- _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols' +- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' +- _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' +- else +- case $host_os in +- openbsd[[01]].* | openbsd2.[[0-7]] | openbsd2.[[0-7]].*) +- _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' +- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' +- ;; +- *) +- _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' +- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' +- ;; +- esac +- fi +- else +- _LT_TAGVAR(ld_shlibs, $1)=no +- fi +- ;; +- +- os2*) +- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' +- _LT_TAGVAR(hardcode_minus_L, $1)=yes +- _LT_TAGVAR(allow_undefined_flag, $1)=unsupported +- _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' +- _LT_TAGVAR(old_archive_from_new_cmds, $1)='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def' +- ;; +- +- osf3*) +- if test "$GCC" = yes; then +- _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*' +- _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' +- else +- _LT_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*' +- _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib' +- fi +- _LT_TAGVAR(archive_cmds_need_lc, $1)='no' +- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' +- _LT_TAGVAR(hardcode_libdir_separator, $1)=: +- ;; +- +- osf4* | osf5*) # as osf3* with the addition of -msym flag +- if test "$GCC" = yes; then +- _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*' +- _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-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' +- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' +- else +- _LT_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*' +- _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags -msym -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib' +- _LT_TAGVAR(archive_expsym_cmds, $1)='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; printf "%s\\n" "-hidden">> $lib.exp~ +- $CC -shared${allow_undefined_flag} ${wl}-input ${wl}$lib.exp $compiler_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib~$RM $lib.exp' +- +- # Both c and cxx compiler support -rpath directly +- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir' +- fi +- _LT_TAGVAR(archive_cmds_need_lc, $1)='no' +- _LT_TAGVAR(hardcode_libdir_separator, $1)=: +- ;; +- +- solaris*) +- _LT_TAGVAR(no_undefined_flag, $1)=' -z defs' +- if test "$GCC" = yes; then +- wlarc='${wl}' +- _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-z ${wl}text ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' +- _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ +- $CC -shared ${wl}-z ${wl}text ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp' +- else +- case `$CC -V 2>&1` in +- *"Compilers 5.0"*) +- wlarc='' +- _LT_TAGVAR(archive_cmds, $1)='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags' +- _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ +- $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$RM $lib.exp' +- ;; +- *) +- wlarc='${wl}' +- _LT_TAGVAR(archive_cmds, $1)='$CC -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $compiler_flags' +- _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ +- $CC -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp' +- ;; +- esac +- fi +- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' +- _LT_TAGVAR(hardcode_shlibpath_var, $1)=no +- case $host_os in +- solaris2.[[0-5]] | solaris2.[[0-5]].*) ;; +- *) +- # The compiler driver will combine and reorder linker options, +- # but understands `-z linker_flag'. GCC discards it without `$wl', +- # but is careful enough not to reorder. +- # Supported since Solaris 2.6 (maybe 2.5.1?) +- if test "$GCC" = yes; then +- _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract' +- else +- _LT_TAGVAR(whole_archive_flag_spec, $1)='-z allextract$convenience -z defaultextract' +- fi +- ;; +- esac +- _LT_TAGVAR(link_all_deplibs, $1)=yes +- ;; +- +- sunos4*) +- if test "x$host_vendor" = xsequent; then +- # Use $CC to link under sequent, because it throws in some extra .o +- # files that make .init and .fini sections work. +- _LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h $soname -o $lib $libobjs $deplibs $compiler_flags' +- else +- _LT_TAGVAR(archive_cmds, $1)='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags' +- fi +- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' +- _LT_TAGVAR(hardcode_direct, $1)=yes +- _LT_TAGVAR(hardcode_minus_L, $1)=yes +- _LT_TAGVAR(hardcode_shlibpath_var, $1)=no +- ;; +- +- sysv4) +- case $host_vendor in +- sni) +- _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' +- _LT_TAGVAR(hardcode_direct, $1)=yes # is this really true??? +- ;; +- siemens) +- ## LD is ld it makes a PLAMLIB +- ## CC just makes a GrossModule. +- _LT_TAGVAR(archive_cmds, $1)='$LD -G -o $lib $libobjs $deplibs $linker_flags' +- _LT_TAGVAR(reload_cmds, $1)='$CC -r -o $output$reload_objs' +- _LT_TAGVAR(hardcode_direct, $1)=no +- ;; +- motorola) +- _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' +- _LT_TAGVAR(hardcode_direct, $1)=no #Motorola manual says yes, but my tests say they lie +- ;; +- esac +- runpath_var='LD_RUN_PATH' +- _LT_TAGVAR(hardcode_shlibpath_var, $1)=no +- ;; +- +- sysv4.3*) +- _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' +- _LT_TAGVAR(hardcode_shlibpath_var, $1)=no +- _LT_TAGVAR(export_dynamic_flag_spec, $1)='-Bexport' +- ;; +- +- sysv4*MP*) +- if test -d /usr/nec; then +- _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' +- _LT_TAGVAR(hardcode_shlibpath_var, $1)=no +- runpath_var=LD_RUN_PATH +- hardcode_runpath_var=yes +- _LT_TAGVAR(ld_shlibs, $1)=yes +- fi +- ;; +- +- sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[[01]].[[10]]* | unixware7* | sco3.2v5.0.[[024]]*) +- _LT_TAGVAR(no_undefined_flag, $1)='${wl}-z,text' +- _LT_TAGVAR(archive_cmds_need_lc, $1)=no +- _LT_TAGVAR(hardcode_shlibpath_var, $1)=no +- runpath_var='LD_RUN_PATH' +- +- if test "$GCC" = yes; then +- _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' +- _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' +- else +- _LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' +- _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' +- fi +- ;; +- +- sysv5* | sco3.2v5* | sco5v6*) +- # Note: We can NOT use -z defs as we might desire, because we do not +- # link with -lc, and that would cause any symbols used from libc to +- # always be unresolved, which means just about no library would +- # ever link correctly. If we're not using GNU ld we use -z text +- # though, which does catch some bad symbols but isn't as heavy-handed +- # as -z defs. +- _LT_TAGVAR(no_undefined_flag, $1)='${wl}-z,text' +- _LT_TAGVAR(allow_undefined_flag, $1)='${wl}-z,nodefs' +- _LT_TAGVAR(archive_cmds_need_lc, $1)=no +- _LT_TAGVAR(hardcode_shlibpath_var, $1)=no +- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R,$libdir' +- _LT_TAGVAR(hardcode_libdir_separator, $1)=':' +- _LT_TAGVAR(link_all_deplibs, $1)=yes +- _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-Bexport' +- runpath_var='LD_RUN_PATH' +- +- if test "$GCC" = yes; then +- _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' +- _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' +- else +- _LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' +- _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' +- fi +- ;; +- +- uts4*) +- _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' +- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' +- _LT_TAGVAR(hardcode_shlibpath_var, $1)=no +- ;; +- +- *) +- _LT_TAGVAR(ld_shlibs, $1)=no +- ;; +- esac +- +- if test x$host_vendor = xsni; then +- case $host in +- sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*) +- _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-Blargedynsym' +- ;; +- esac +- fi +- fi +-]) +-AC_MSG_RESULT([$_LT_TAGVAR(ld_shlibs, $1)]) +-test "$_LT_TAGVAR(ld_shlibs, $1)" = no && can_build_shared=no +- +-_LT_TAGVAR(with_gnu_ld, $1)=$with_gnu_ld +- +-_LT_DECL([], [libext], [0], [Old archive suffix (normally "a")])dnl +-_LT_DECL([], [shrext_cmds], [1], [Shared library suffix (normally ".so")])dnl +-_LT_DECL([], [extract_expsyms_cmds], [2], +- [The commands to extract the exported symbol list from a shared archive]) +- +-# +-# Do we need to explicitly link libc? +-# +-case "x$_LT_TAGVAR(archive_cmds_need_lc, $1)" in +-x|xyes) +- # Assume -lc should be added +- _LT_TAGVAR(archive_cmds_need_lc, $1)=yes +- +- if test "$enable_shared" = yes && test "$GCC" = yes; then +- case $_LT_TAGVAR(archive_cmds, $1) in +- *'~'*) +- # FIXME: we may have to deal with multi-command sequences. +- ;; +- '$CC '*) +- # Test whether the compiler implicitly links with -lc since on some +- # systems, -lgcc has to come before -lc. If gcc already passes -lc +- # to ld, don't add -lc before -lgcc. +- AC_MSG_CHECKING([whether -lc should be explicitly linked in]) +- $RM conftest* +- echo "$lt_simple_compile_test_code" > conftest.$ac_ext +- +- if AC_TRY_EVAL(ac_compile) 2>conftest.err; then +- soname=conftest +- lib=conftest +- libobjs=conftest.$ac_objext +- deplibs= +- wl=$_LT_TAGVAR(lt_prog_compiler_wl, $1) +- pic_flag=$_LT_TAGVAR(lt_prog_compiler_pic, $1) +- compiler_flags=-v +- linker_flags=-v +- verstring= +- output_objdir=. +- libname=conftest +- lt_save_allow_undefined_flag=$_LT_TAGVAR(allow_undefined_flag, $1) +- _LT_TAGVAR(allow_undefined_flag, $1)= +- if AC_TRY_EVAL(_LT_TAGVAR(archive_cmds, $1) 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1) +- then +- _LT_TAGVAR(archive_cmds_need_lc, $1)=no +- else +- _LT_TAGVAR(archive_cmds_need_lc, $1)=yes +- fi +- _LT_TAGVAR(allow_undefined_flag, $1)=$lt_save_allow_undefined_flag +- else +- cat conftest.err 1>&5 +- fi +- $RM conftest* +- AC_MSG_RESULT([$_LT_TAGVAR(archive_cmds_need_lc, $1)]) +- ;; +- esac +- fi +- ;; +-esac +- +-_LT_TAGDECL([build_libtool_need_lc], [archive_cmds_need_lc], [0], +- [Whether or not to add -lc for building shared libraries]) +-_LT_TAGDECL([allow_libtool_libs_with_static_runtimes], +- [enable_shared_with_static_runtimes], [0], +- [Whether or not to disallow shared libs when runtime libs are static]) +-_LT_TAGDECL([], [export_dynamic_flag_spec], [1], +- [Compiler flag to allow reflexive dlopens]) +-_LT_TAGDECL([], [whole_archive_flag_spec], [1], +- [Compiler flag to generate shared objects directly from archives]) +-_LT_TAGDECL([], [compiler_needs_object], [1], +- [Whether the compiler copes with passing no objects directly]) +-_LT_TAGDECL([], [old_archive_from_new_cmds], [2], +- [Create an old-style archive from a shared archive]) +-_LT_TAGDECL([], [old_archive_from_expsyms_cmds], [2], +- [Create a temporary old-style archive to link instead of a shared archive]) +-_LT_TAGDECL([], [archive_cmds], [2], [Commands used to build a shared archive]) +-_LT_TAGDECL([], [archive_expsym_cmds], [2]) +-_LT_TAGDECL([], [module_cmds], [2], +- [Commands used to build a loadable module if different from building +- a shared archive.]) +-_LT_TAGDECL([], [module_expsym_cmds], [2]) +-_LT_TAGDECL([], [with_gnu_ld], [1], +- [Whether we are building with GNU ld or not]) +-_LT_TAGDECL([], [allow_undefined_flag], [1], +- [Flag that allows shared libraries with undefined symbols to be built]) +-_LT_TAGDECL([], [no_undefined_flag], [1], +- [Flag that enforces no undefined symbols]) +-_LT_TAGDECL([], [hardcode_libdir_flag_spec], [1], +- [Flag to hardcode $libdir into a binary during linking. +- This must work even if $libdir does not exist]) +-_LT_TAGDECL([], [hardcode_libdir_flag_spec_ld], [1], +- [[If ld is used when linking, flag to hardcode $libdir into a binary +- during linking. This must work even if $libdir does not exist]]) +-_LT_TAGDECL([], [hardcode_libdir_separator], [1], +- [Whether we need a single "-rpath" flag with a separated argument]) +-_LT_TAGDECL([], [hardcode_direct], [0], +- [Set to "yes" if using DIR/libNAME${shared_ext} during linking hardcodes +- DIR into the resulting binary]) +-_LT_TAGDECL([], [hardcode_direct_absolute], [0], +- [Set to "yes" if using DIR/libNAME${shared_ext} during linking hardcodes +- DIR into the resulting binary and the resulting library dependency is +- "absolute", i.e impossible to change by setting ${shlibpath_var} if the +- library is relocated]) +-_LT_TAGDECL([], [hardcode_minus_L], [0], +- [Set to "yes" if using the -LDIR flag during linking hardcodes DIR +- into the resulting binary]) +-_LT_TAGDECL([], [hardcode_shlibpath_var], [0], +- [Set to "yes" if using SHLIBPATH_VAR=DIR during linking hardcodes DIR +- into the resulting binary]) +-_LT_TAGDECL([], [hardcode_automatic], [0], +- [Set to "yes" if building a shared library automatically hardcodes DIR +- into the library and all subsequent libraries and executables linked +- against it]) +-_LT_TAGDECL([], [inherit_rpath], [0], +- [Set to yes if linker adds runtime paths of dependent libraries +- to runtime path list]) +-_LT_TAGDECL([], [link_all_deplibs], [0], +- [Whether libtool must link a program against all its dependency libraries]) +-_LT_TAGDECL([], [fix_srcfile_path], [1], +- [Fix the shell variable $srcfile for the compiler]) +-_LT_TAGDECL([], [always_export_symbols], [0], +- [Set to "yes" if exported symbols are required]) +-_LT_TAGDECL([], [export_symbols_cmds], [2], +- [The commands to list exported symbols]) +-_LT_TAGDECL([], [exclude_expsyms], [1], +- [Symbols that should not be listed in the preloaded symbols]) +-_LT_TAGDECL([], [include_expsyms], [1], +- [Symbols that must always be exported]) +-_LT_TAGDECL([], [prelink_cmds], [2], +- [Commands necessary for linking programs (against libraries) with templates]) +-_LT_TAGDECL([], [file_list_spec], [1], +- [Specify filename containing input files]) +-dnl FIXME: Not yet implemented +-dnl _LT_TAGDECL([], [thread_safe_flag_spec], [1], +-dnl [Compiler flag to generate thread safe objects]) +-])# _LT_LINKER_SHLIBS +- +- +-# _LT_LANG_C_CONFIG([TAG]) +-# ------------------------ +-# Ensure that the configuration variables for a C compiler are suitably +-# defined. These variables are subsequently used by _LT_CONFIG to write +-# the compiler configuration to `libtool'. +-m4_defun([_LT_LANG_C_CONFIG], +-[m4_require([_LT_DECL_EGREP])dnl +-lt_save_CC="$CC" +-AC_LANG_PUSH(C) +- +-# Source file extension for C test sources. +-ac_ext=c +- +-# Object file extension for compiled C test sources. +-objext=o +-_LT_TAGVAR(objext, $1)=$objext +- +-# Code to be used in simple compile tests +-lt_simple_compile_test_code="int some_variable = 0;" +- +-# Code to be used in simple link tests +-lt_simple_link_test_code='int main(){return(0);}' +- +-_LT_TAG_COMPILER +-# Save the default compiler, since it gets overwritten when the other +-# tags are being tested, and _LT_TAGVAR(compiler, []) is a NOP. +-compiler_DEFAULT=$CC +- +-# save warnings/boilerplate of simple test code +-_LT_COMPILER_BOILERPLATE +-_LT_LINKER_BOILERPLATE +- +-## CAVEAT EMPTOR: +-## There is no encapsulation within the following macros, do not change +-## the running order or otherwise move them around unless you know exactly +-## what you are doing... +-if test -n "$compiler"; then +- _LT_COMPILER_NO_RTTI($1) +- _LT_COMPILER_PIC($1) +- _LT_COMPILER_C_O($1) +- _LT_COMPILER_FILE_LOCKS($1) +- _LT_LINKER_SHLIBS($1) +- _LT_SYS_DYNAMIC_LINKER($1) +- _LT_LINKER_HARDCODE_LIBPATH($1) +- LT_SYS_DLOPEN_SELF +- _LT_CMD_STRIPLIB +- +- # Report which library types will actually be built +- AC_MSG_CHECKING([if libtool supports shared libraries]) +- AC_MSG_RESULT([$can_build_shared]) +- +- AC_MSG_CHECKING([whether to build shared libraries]) +- test "$can_build_shared" = "no" && enable_shared=no +- +- # On AIX, shared libraries and static libraries use the same namespace, and +- # are all built from PIC. +- case $host_os in +- aix3*) +- test "$enable_shared" = yes && enable_static=no +- if test -n "$RANLIB"; then +- archive_cmds="$archive_cmds~\$RANLIB \$lib" +- postinstall_cmds='$RANLIB $lib' +- fi +- ;; +- +- aix[[4-9]]*) +- if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then +- test "$enable_shared" = yes && enable_static=no +- fi +- ;; +- esac +- AC_MSG_RESULT([$enable_shared]) +- +- AC_MSG_CHECKING([whether to build static libraries]) +- # Make sure either enable_shared or enable_static is yes. +- test "$enable_shared" = yes || enable_static=yes +- AC_MSG_RESULT([$enable_static]) +- +- _LT_CONFIG($1) +-fi +-AC_LANG_POP +-CC="$lt_save_CC" +-])# _LT_LANG_C_CONFIG +- +- +-# _LT_PROG_CXX +-# ------------ +-# Since AC_PROG_CXX is broken, in that it returns g++ if there is no c++ +-# compiler, we have our own version here. +-m4_defun([_LT_PROG_CXX], +-[ +-pushdef([AC_MSG_ERROR], [_lt_caught_CXX_error=yes]) +-AC_PROG_CXX +-if test -n "$CXX" && ( test "X$CXX" != "Xno" && +- ( (test "X$CXX" = "Xg++" && `g++ -v >/dev/null 2>&1` ) || +- (test "X$CXX" != "Xg++"))) ; then +- AC_PROG_CXXCPP +-else +- _lt_caught_CXX_error=yes +-fi +-popdef([AC_MSG_ERROR]) +-])# _LT_PROG_CXX +- +-dnl aclocal-1.4 backwards compatibility: +-dnl AC_DEFUN([_LT_PROG_CXX], []) +- +- +-# _LT_LANG_CXX_CONFIG([TAG]) +-# -------------------------- +-# Ensure that the configuration variables for a C++ compiler are suitably +-# defined. These variables are subsequently used by _LT_CONFIG to write +-# the compiler configuration to `libtool'. +-m4_defun([_LT_LANG_CXX_CONFIG], +-[AC_REQUIRE([_LT_PROG_CXX])dnl +-m4_require([_LT_FILEUTILS_DEFAULTS])dnl +-m4_require([_LT_DECL_EGREP])dnl +- +-AC_LANG_PUSH(C++) +-_LT_TAGVAR(archive_cmds_need_lc, $1)=no +-_LT_TAGVAR(allow_undefined_flag, $1)= +-_LT_TAGVAR(always_export_symbols, $1)=no +-_LT_TAGVAR(archive_expsym_cmds, $1)= +-_LT_TAGVAR(compiler_needs_object, $1)=no +-_LT_TAGVAR(export_dynamic_flag_spec, $1)= +-_LT_TAGVAR(hardcode_direct, $1)=no +-_LT_TAGVAR(hardcode_direct_absolute, $1)=no +-_LT_TAGVAR(hardcode_libdir_flag_spec, $1)= +-_LT_TAGVAR(hardcode_libdir_flag_spec_ld, $1)= +-_LT_TAGVAR(hardcode_libdir_separator, $1)= +-_LT_TAGVAR(hardcode_minus_L, $1)=no +-_LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported +-_LT_TAGVAR(hardcode_automatic, $1)=no +-_LT_TAGVAR(inherit_rpath, $1)=no +-_LT_TAGVAR(module_cmds, $1)= +-_LT_TAGVAR(module_expsym_cmds, $1)= +-_LT_TAGVAR(link_all_deplibs, $1)=unknown +-_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds +-_LT_TAGVAR(no_undefined_flag, $1)= +-_LT_TAGVAR(whole_archive_flag_spec, $1)= +-_LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no +- +-# Source file extension for C++ test sources. +-ac_ext=cpp +- +-# Object file extension for compiled C++ test sources. +-objext=o +-_LT_TAGVAR(objext, $1)=$objext +- +-# No sense in running all these tests if we already determined that +-# the CXX compiler isn't working. Some variables (like enable_shared) +-# are currently assumed to apply to all compilers on this platform, +-# and will be corrupted by setting them based on a non-working compiler. +-if test "$_lt_caught_CXX_error" != yes; then +- # Code to be used in simple compile tests +- lt_simple_compile_test_code="int some_variable = 0;" +- +- # Code to be used in simple link tests +- lt_simple_link_test_code='int main(int, char *[[]]) { return(0); }' +- +- # ltmain only uses $CC for tagged configurations so make sure $CC is set. +- _LT_TAG_COMPILER +- +- # save warnings/boilerplate of simple test code +- _LT_COMPILER_BOILERPLATE +- _LT_LINKER_BOILERPLATE +- +- # Allow CC to be a program name with arguments. +- lt_save_CC=$CC +- lt_save_LD=$LD +- lt_save_GCC=$GCC +- GCC=$GXX +- lt_save_with_gnu_ld=$with_gnu_ld +- lt_save_path_LD=$lt_cv_path_LD +- if test -n "${lt_cv_prog_gnu_ldcxx+set}"; then +- lt_cv_prog_gnu_ld=$lt_cv_prog_gnu_ldcxx +- else +- $as_unset lt_cv_prog_gnu_ld +- fi +- if test -n "${lt_cv_path_LDCXX+set}"; then +- lt_cv_path_LD=$lt_cv_path_LDCXX +- else +- $as_unset lt_cv_path_LD +- fi +- test -z "${LDCXX+set}" || LD=$LDCXX +- CC=${CXX-"c++"} +- compiler=$CC +- _LT_TAGVAR(compiler, $1)=$CC +- _LT_CC_BASENAME([$compiler]) +- +- if test -n "$compiler"; then +- # We don't want -fno-exception when compiling C++ code, so set the +- # no_builtin_flag separately +- if test "$GXX" = yes; then +- _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -fno-builtin' +- else +- _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)= +- fi +- +- if test "$GXX" = yes; then +- # Set up default GNU C++ configuration +- +- LT_PATH_LD +- +- # Check if GNU C++ uses GNU ld as the underlying linker, since the +- # archiving commands below assume that GNU ld is being used. +- if test "$with_gnu_ld" = yes; then +- _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib' +- _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' +- +- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' +- _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' +- +- # If archive_cmds runs LD, not CC, wlarc should be empty +- # XXX I think wlarc can be eliminated in ltcf-cxx, but I need to +- # investigate it a little bit more. (MM) +- wlarc='${wl}' +- +- # ancient GNU ld didn't support --whole-archive et. al. +- if eval "`$CC -print-prog-name=ld` --help 2>&1" | +- $GREP 'no-whole-archive' > /dev/null; then +- _LT_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' +- else +- _LT_TAGVAR(whole_archive_flag_spec, $1)= +- fi +- else +- with_gnu_ld=no +- wlarc= +- +- # A generic and very simple default shared library creation +- # command for GNU C++ for the case where it uses the native +- # linker, instead of GNU ld. If possible, this setting should +- # overridden to take advantage of the native linker features on +- # the platform it is being used on. +- _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib' +- fi +- +- # Commands to make compiler produce verbose output that lists +- # what "hidden" libraries, object files and flags are used when +- # linking a shared library. +- output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "\-L"' +- +- else +- GXX=no +- with_gnu_ld=no +- wlarc= +- fi +- +- # PORTME: fill in a description of your system's C++ link characteristics +- AC_MSG_CHECKING([whether the $compiler linker ($LD) supports shared libraries]) +- _LT_TAGVAR(ld_shlibs, $1)=yes +- case $host_os in +- aix3*) +- # FIXME: insert proper C++ library support +- _LT_TAGVAR(ld_shlibs, $1)=no +- ;; +- aix[[4-9]]*) +- if test "$host_cpu" = ia64; then +- # On IA64, the linker does run time linking by default, so we don't +- # have to do anything special. +- aix_use_runtimelinking=no +- exp_sym_flag='-Bexport' +- no_entry_flag="" +- else +- aix_use_runtimelinking=no +- +- # Test if we are trying to use run time linking or normal +- # AIX style linking. If -brtl is somewhere in LDFLAGS, we +- # need to do runtime linking. +- case $host_os in aix4.[[23]]|aix4.[[23]].*|aix[[5-9]]*) +- for ld_flag in $LDFLAGS; do +- case $ld_flag in +- *-brtl*) +- aix_use_runtimelinking=yes +- break +- ;; +- esac +- done +- ;; +- esac +- +- exp_sym_flag='-bexport' +- no_entry_flag='-bnoentry' +- fi +- +- # When large executables or shared objects are built, AIX ld can +- # have problems creating the table of contents. If linking a library +- # or program results in "error TOC overflow" add -mminimal-toc to +- # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not +- # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. +- +- _LT_TAGVAR(archive_cmds, $1)='' +- _LT_TAGVAR(hardcode_direct, $1)=yes +- _LT_TAGVAR(hardcode_direct_absolute, $1)=yes +- _LT_TAGVAR(hardcode_libdir_separator, $1)=':' +- _LT_TAGVAR(link_all_deplibs, $1)=yes +- _LT_TAGVAR(file_list_spec, $1)='${wl}-f,' +- +- if test "$GXX" = yes; then +- case $host_os in aix4.[[012]]|aix4.[[012]].*) +- # We only want to do this on AIX 4.2 and lower, the check +- # below for broken collect2 doesn't work under 4.3+ +- collect2name=`${CC} -print-prog-name=collect2` +- if test -f "$collect2name" && +- strings "$collect2name" | $GREP resolve_lib_name >/dev/null +- then +- # We have reworked collect2 +- : +- else +- # We have old collect2 +- _LT_TAGVAR(hardcode_direct, $1)=unsupported +- # It fails to find uninstalled libraries when the uninstalled +- # path is not listed in the libpath. Setting hardcode_minus_L +- # to unsupported forces relinking +- _LT_TAGVAR(hardcode_minus_L, $1)=yes +- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' +- _LT_TAGVAR(hardcode_libdir_separator, $1)= +- fi +- esac +- shared_flag='-shared' +- if test "$aix_use_runtimelinking" = yes; then +- shared_flag="$shared_flag "'${wl}-G' +- fi +- else +- # not using gcc +- if test "$host_cpu" = ia64; then +- # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release +- # chokes on -Wl,-G. The following line is correct: +- shared_flag='-G' +- else +- if test "$aix_use_runtimelinking" = yes; then +- shared_flag='${wl}-G' +- else +- shared_flag='${wl}-bM:SRE' +- fi +- fi +- fi +- +- _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-bexpall' +- # It seems that -bexpall does not export symbols beginning with +- # underscore (_), so it is better to generate a list of symbols to +- # export. +- _LT_TAGVAR(always_export_symbols, $1)=yes +- if test "$aix_use_runtimelinking" = yes; then +- # Warning - without using the other runtime loading flags (-brtl), +- # -berok will link without error, but may produce a broken library. +- _LT_TAGVAR(allow_undefined_flag, $1)='-berok' +- # Determine the default libpath from the value encoded in an empty +- # executable. +- _LT_SYS_MODULE_PATH_AIX +- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath" +- +- _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then $ECHO "X${wl}${allow_undefined_flag}" | $Xsed; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag" +- else +- if test "$host_cpu" = ia64; then +- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $libdir:/usr/lib:/lib' +- _LT_TAGVAR(allow_undefined_flag, $1)="-z nodefs" +- _LT_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols" +- else +- # Determine the default libpath from the value encoded in an +- # empty executable. +- _LT_SYS_MODULE_PATH_AIX +- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath" +- # Warning - without using the other run time loading flags, +- # -berok will link without error, but may produce a broken library. +- _LT_TAGVAR(no_undefined_flag, $1)=' ${wl}-bernotok' +- _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-berok' +- # Exported symbols can be pulled into shared objects from archives +- _LT_TAGVAR(whole_archive_flag_spec, $1)='$convenience' +- _LT_TAGVAR(archive_cmds_need_lc, $1)=yes +- # This is similar to how AIX traditionally builds its shared +- # libraries. +- _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' +- fi +- fi +- ;; +- +- beos*) +- if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then +- _LT_TAGVAR(allow_undefined_flag, $1)=unsupported +- # Joseph Beckenbach <jrb3@best.com> says some releases of gcc +- # support --undefined. This deserves some investigation. FIXME +- _LT_TAGVAR(archive_cmds, $1)='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' +- else +- _LT_TAGVAR(ld_shlibs, $1)=no +- fi +- ;; +- +- chorus*) +- case $cc_basename in +- *) +- # FIXME: insert proper C++ library support +- _LT_TAGVAR(ld_shlibs, $1)=no +- ;; +- esac +- ;; +- +- cygwin* | mingw* | pw32* | cegcc*) +- # _LT_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless, +- # as there is no search path for DLLs. +- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' +- _LT_TAGVAR(allow_undefined_flag, $1)=unsupported +- _LT_TAGVAR(always_export_symbols, $1)=no +- _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes +- +- if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then +- _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' +- # If the export-symbols file already is a .def file (1st line +- # is EXPORTS), use it as is; otherwise, prepend... +- _LT_TAGVAR(archive_expsym_cmds, $1)='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then +- cp $export_symbols $output_objdir/$soname.def; +- else +- echo EXPORTS > $output_objdir/$soname.def; +- cat $export_symbols >> $output_objdir/$soname.def; +- fi~ +- $CC -shared -nostdlib $output_objdir/$soname.def $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' +- else +- _LT_TAGVAR(ld_shlibs, $1)=no +- fi +- ;; +- darwin* | rhapsody*) +- _LT_DARWIN_LINKER_FEATURES($1) +- ;; +- +- dgux*) +- case $cc_basename in +- ec++*) +- # FIXME: insert proper C++ library support +- _LT_TAGVAR(ld_shlibs, $1)=no +- ;; +- ghcx*) +- # Green Hills C++ Compiler +- # FIXME: insert proper C++ library support +- _LT_TAGVAR(ld_shlibs, $1)=no +- ;; +- *) +- # FIXME: insert proper C++ library support +- _LT_TAGVAR(ld_shlibs, $1)=no +- ;; +- esac +- ;; +- +- freebsd[[12]]*) +- # C++ shared libraries reported to be fairly broken before +- # switch to ELF +- _LT_TAGVAR(ld_shlibs, $1)=no +- ;; +- +- freebsd-elf*) +- _LT_TAGVAR(archive_cmds_need_lc, $1)=no +- ;; +- +- freebsd* | dragonfly*) +- # FreeBSD 3 and later use GNU C++ and GNU ld with standard ELF +- # conventions +- _LT_TAGVAR(ld_shlibs, $1)=yes +- ;; +- +- gnu*) +- ;; +- +- hpux9*) +- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' +- _LT_TAGVAR(hardcode_libdir_separator, $1)=: +- _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' +- _LT_TAGVAR(hardcode_direct, $1)=yes +- _LT_TAGVAR(hardcode_minus_L, $1)=yes # Not in the search PATH, +- # but as the default +- # location of the library. +- +- case $cc_basename in +- CC*) +- # FIXME: insert proper C++ library support +- _LT_TAGVAR(ld_shlibs, $1)=no +- ;; +- aCC*) +- _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$CC -b ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' +- # Commands to make compiler produce verbose output that lists +- # what "hidden" libraries, object files and flags are used when +- # linking a shared library. +- # +- # There doesn't appear to be a way to prevent this compiler from +- # explicitly linking system object files so we need to strip them +- # from the output so that they don't get included in the library +- # dependencies. +- output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $EGREP "\-L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; $ECHO "X$list" | $Xsed' +- ;; +- *) +- if test "$GXX" = yes; then +- _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' +- else +- # FIXME: insert proper C++ library support +- _LT_TAGVAR(ld_shlibs, $1)=no +- fi +- ;; +- esac +- ;; +- +- hpux10*|hpux11*) +- if test $with_gnu_ld = no; then +- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' +- _LT_TAGVAR(hardcode_libdir_separator, $1)=: +- +- case $host_cpu in +- hppa*64*|ia64*) +- ;; +- *) +- _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' +- ;; +- esac +- fi +- case $host_cpu in +- hppa*64*|ia64*) +- _LT_TAGVAR(hardcode_direct, $1)=no +- _LT_TAGVAR(hardcode_shlibpath_var, $1)=no +- ;; +- *) +- _LT_TAGVAR(hardcode_direct, $1)=yes +- _LT_TAGVAR(hardcode_direct_absolute, $1)=yes +- _LT_TAGVAR(hardcode_minus_L, $1)=yes # Not in the search PATH, +- # but as the default +- # location of the library. +- ;; +- esac +- +- case $cc_basename in +- CC*) +- # FIXME: insert proper C++ library support +- _LT_TAGVAR(ld_shlibs, $1)=no +- ;; +- aCC*) +- case $host_cpu in +- hppa*64*) +- _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' +- ;; +- ia64*) +- _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' +- ;; +- *) +- _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' +- ;; +- esac +- # Commands to make compiler produce verbose output that lists +- # what "hidden" libraries, object files and flags are used when +- # linking a shared library. +- # +- # There doesn't appear to be a way to prevent this compiler from +- # explicitly linking system object files so we need to strip them +- # from the output so that they don't get included in the library +- # dependencies. +- output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $GREP "\-L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; $ECHO "X$list" | $Xsed' +- ;; +- *) +- if test "$GXX" = yes; then +- if test $with_gnu_ld = no; then +- case $host_cpu in +- hppa*64*) +- _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' +- ;; +- ia64*) +- _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' +- ;; +- *) +- _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' +- ;; +- esac +- fi +- else +- # FIXME: insert proper C++ library support +- _LT_TAGVAR(ld_shlibs, $1)=no +- fi +- ;; +- esac +- ;; +- +- interix[[3-9]]*) +- _LT_TAGVAR(hardcode_direct, $1)=no +- _LT_TAGVAR(hardcode_shlibpath_var, $1)=no +- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' +- _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' +- # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. +- # Instead, shared libraries are loaded at an image base (0x10000000 by +- # default) and relocated if they conflict, which is a slow very memory +- # consuming and fragmenting process. To avoid this, we pick a random, +- # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link +- # time. Moving up from 0x10000000 also allows more sbrk(2) space. +- _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' +- _LT_TAGVAR(archive_expsym_cmds, $1)='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' +- ;; +- irix5* | irix6*) +- case $cc_basename in +- CC*) +- # SGI C++ +- _LT_TAGVAR(archive_cmds, $1)='$CC -shared -all -multigot $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib' +- +- # Archives containing C++ object files must be created using +- # "CC -ar", where "CC" is the IRIX C++ compiler. This is +- # necessary to make sure instantiated templates are included +- # in the archive. +- _LT_TAGVAR(old_archive_cmds, $1)='$CC -ar -WR,-u -o $oldlib $oldobjs' +- ;; +- *) +- if test "$GXX" = yes; then +- if test "$with_gnu_ld" = no; then +- _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' +- else +- _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' +- fi +- fi +- _LT_TAGVAR(link_all_deplibs, $1)=yes +- ;; +- esac +- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' +- _LT_TAGVAR(hardcode_libdir_separator, $1)=: +- _LT_TAGVAR(inherit_rpath, $1)=yes +- ;; +- +- linux* | k*bsd*-gnu) +- case $cc_basename in +- KCC*) +- # Kuck and Associates, Inc. (KAI) C++ Compiler +- +- # KCC will only create a shared library if the output file +- # ends with ".so" (or ".sl" for HP-UX), so rename the library +- # to its proper name (with version) after linking. +- _LT_TAGVAR(archive_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib' +- _LT_TAGVAR(archive_expsym_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib ${wl}-retain-symbols-file,$export_symbols; mv \$templib $lib' +- # Commands to make compiler produce verbose output that lists +- # what "hidden" libraries, object files and flags are used when +- # linking a shared library. +- # +- # There doesn't appear to be a way to prevent this compiler from +- # explicitly linking system object files so we need to strip them +- # from the output so that they don't get included in the library +- # dependencies. +- output_verbose_link_cmd='templist=`$CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1 | $GREP "ld"`; rm -f libconftest$shared_ext; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; $ECHO "X$list" | $Xsed' +- +- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' +- _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' +- +- # Archives containing C++ object files must be created using +- # "CC -Bstatic", where "CC" is the KAI C++ compiler. +- _LT_TAGVAR(old_archive_cmds, $1)='$CC -Bstatic -o $oldlib $oldobjs' +- ;; +- icpc* | ecpc* ) +- # Intel C++ +- with_gnu_ld=yes +- # version 8.0 and above of icpc choke on multiply defined symbols +- # if we add $predep_objects and $postdep_objects, however 7.1 and +- # earlier do not add the objects themselves. +- case `$CC -V 2>&1` in +- *"Version 7."*) +- _LT_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib' +- _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' +- ;; +- *) # Version 8.0 or newer +- tmp_idyn= +- case $host_cpu in +- ia64*) tmp_idyn=' -i_dynamic';; +- esac +- _LT_TAGVAR(archive_cmds, $1)='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' +- _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' +- ;; +- esac +- _LT_TAGVAR(archive_cmds_need_lc, $1)=no +- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' +- _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' +- _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive$convenience ${wl}--no-whole-archive' +- ;; +- pgCC* | pgcpp*) +- # Portland Group C++ compiler +- case `$CC -V` in +- *pgCC\ [[1-5]]* | *pgcpp\ [[1-5]]*) +- _LT_TAGVAR(prelink_cmds, $1)='tpldir=Template.dir~ +- rm -rf $tpldir~ +- $CC --prelink_objects --instantiation_dir $tpldir $objs $libobjs $compile_deplibs~ +- compile_command="$compile_command `find $tpldir -name \*.o | $NL2SP`"' +- _LT_TAGVAR(old_archive_cmds, $1)='tpldir=Template.dir~ +- rm -rf $tpldir~ +- $CC --prelink_objects --instantiation_dir $tpldir $oldobjs$old_deplibs~ +- $AR $AR_FLAGS $oldlib$oldobjs$old_deplibs `find $tpldir -name \*.o | $NL2SP`~ +- $RANLIB $oldlib' +- _LT_TAGVAR(archive_cmds, $1)='tpldir=Template.dir~ +- rm -rf $tpldir~ +- $CC --prelink_objects --instantiation_dir $tpldir $predep_objects $libobjs $deplibs $convenience $postdep_objects~ +- $CC -shared $pic_flag $predep_objects $libobjs $deplibs `find $tpldir -name \*.o | $NL2SP` $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib' +- _LT_TAGVAR(archive_expsym_cmds, $1)='tpldir=Template.dir~ +- rm -rf $tpldir~ +- $CC --prelink_objects --instantiation_dir $tpldir $predep_objects $libobjs $deplibs $convenience $postdep_objects~ +- $CC -shared $pic_flag $predep_objects $libobjs $deplibs `find $tpldir -name \*.o | $NL2SP` $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname ${wl}-retain-symbols-file ${wl}$export_symbols -o $lib' +- ;; +- *) # Version 6 will use weak symbols +- _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib' +- _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname ${wl}-retain-symbols-file ${wl}$export_symbols -o $lib' +- ;; +- esac +- +- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}--rpath ${wl}$libdir' +- _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' +- _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $ECHO \"$new_convenience\"` ${wl}--no-whole-archive' +- ;; +- cxx*) +- # Compaq C++ +- _LT_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib' +- _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib ${wl}-retain-symbols-file $wl$export_symbols' +- +- runpath_var=LD_RUN_PATH +- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir' +- _LT_TAGVAR(hardcode_libdir_separator, $1)=: +- +- # Commands to make compiler produce verbose output that lists +- # what "hidden" libraries, object files and flags are used when +- # linking a shared library. +- # +- # There doesn't appear to be a way to prevent this compiler from +- # explicitly linking system object files so we need to strip them +- # from the output so that they don't get included in the library +- # dependencies. +- output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "ld"`; templist=`$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' +- ;; +- xl*) +- # IBM XL 8.0 on PPC, with GNU ld +- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' +- _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' +- _LT_TAGVAR(archive_cmds, $1)='$CC -qmkshrobj $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' +- if test "x$supports_anon_versioning" = xyes; then +- _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~ +- cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ +- echo "local: *; };" >> $output_objdir/$libname.ver~ +- $CC -qmkshrobj $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib' +- fi +- ;; +- *) +- case `$CC -V 2>&1 | sed 5q` in +- *Sun\ C*) +- # Sun C++ 5.9 +- _LT_TAGVAR(no_undefined_flag, $1)=' -zdefs' +- _LT_TAGVAR(archive_cmds, $1)='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' +- _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-retain-symbols-file ${wl}$export_symbols' +- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' +- _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; $ECHO \"$new_convenience\"` ${wl}--no-whole-archive' +- _LT_TAGVAR(compiler_needs_object, $1)=yes +- +- # Not sure whether something based on +- # $CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1 +- # would be better. +- output_verbose_link_cmd='echo' +- +- # Archives containing C++ object files must be created using +- # "CC -xar", where "CC" is the Sun C++ compiler. This is +- # necessary to make sure instantiated templates are included +- # in the archive. +- _LT_TAGVAR(old_archive_cmds, $1)='$CC -xar -o $oldlib $oldobjs' +- ;; +- esac +- ;; +- esac +- ;; +- +- lynxos*) +- # FIXME: insert proper C++ library support +- _LT_TAGVAR(ld_shlibs, $1)=no +- ;; +- +- m88k*) +- # FIXME: insert proper C++ library support +- _LT_TAGVAR(ld_shlibs, $1)=no +- ;; +- +- mvs*) +- case $cc_basename in +- cxx*) +- # FIXME: insert proper C++ library support +- _LT_TAGVAR(ld_shlibs, $1)=no +- ;; +- *) +- # FIXME: insert proper C++ library support +- _LT_TAGVAR(ld_shlibs, $1)=no +- ;; +- esac +- ;; +- +- netbsd*) +- if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then +- _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $predep_objects $libobjs $deplibs $postdep_objects $linker_flags' +- wlarc= +- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' +- _LT_TAGVAR(hardcode_direct, $1)=yes +- _LT_TAGVAR(hardcode_shlibpath_var, $1)=no +- fi +- # Workaround some broken pre-1.5 toolchains +- output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP conftest.$objext | $SED -e "s:-lgcc -lc -lgcc::"' +- ;; +- +- *nto* | *qnx*) +- _LT_TAGVAR(ld_shlibs, $1)=yes +- ;; +- +- openbsd2*) +- # C++ shared libraries are fairly broken +- _LT_TAGVAR(ld_shlibs, $1)=no +- ;; +- +- openbsd*) +- if test -f /usr/libexec/ld.so; then +- _LT_TAGVAR(hardcode_direct, $1)=yes +- _LT_TAGVAR(hardcode_shlibpath_var, $1)=no +- _LT_TAGVAR(hardcode_direct_absolute, $1)=yes +- _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib' +- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' +- if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then +- _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-retain-symbols-file,$export_symbols -o $lib' +- _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' +- _LT_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' +- fi +- output_verbose_link_cmd=echo +- else +- _LT_TAGVAR(ld_shlibs, $1)=no +- fi +- ;; +- +- osf3* | osf4* | osf5*) +- case $cc_basename in +- KCC*) +- # Kuck and Associates, Inc. (KAI) C++ Compiler +- +- # KCC will only create a shared library if the output file +- # ends with ".so" (or ".sl" for HP-UX), so rename the library +- # to its proper name (with version) after linking. +- _LT_TAGVAR(archive_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo "$lib" | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib' +- +- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' +- _LT_TAGVAR(hardcode_libdir_separator, $1)=: +- +- # Archives containing C++ object files must be created using +- # the KAI C++ compiler. +- case $host in +- osf3*) _LT_TAGVAR(old_archive_cmds, $1)='$CC -Bstatic -o $oldlib $oldobjs' ;; +- *) _LT_TAGVAR(old_archive_cmds, $1)='$CC -o $oldlib $oldobjs' ;; +- esac +- ;; +- RCC*) +- # Rational C++ 2.4.1 +- # FIXME: insert proper C++ library support +- _LT_TAGVAR(ld_shlibs, $1)=no +- ;; +- cxx*) +- case $host in +- osf3*) +- _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*' +- _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $soname `test -n "$verstring" && $ECHO "X${wl}-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib' +- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' +- ;; +- *) +- _LT_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*' +- _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib' +- _LT_TAGVAR(archive_expsym_cmds, $1)='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done~ +- echo "-hidden">> $lib.exp~ +- $CC -shared$allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname ${wl}-input ${wl}$lib.exp `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib~ +- $RM $lib.exp' +- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir' +- ;; +- esac +- +- _LT_TAGVAR(hardcode_libdir_separator, $1)=: +- +- # Commands to make compiler produce verbose output that lists +- # what "hidden" libraries, object files and flags are used when +- # linking a shared library. +- # +- # There doesn't appear to be a way to prevent this compiler from +- # explicitly linking system object files so we need to strip them +- # from the output so that they don't get included in the library +- # dependencies. +- output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "ld" | $GREP -v "ld:"`; templist=`$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' +- ;; +- *) +- if test "$GXX" = yes && test "$with_gnu_ld" = no; then +- _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*' +- case $host in +- osf3*) +- _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' +- ;; +- *) +- _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' +- ;; +- esac +- +- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' +- _LT_TAGVAR(hardcode_libdir_separator, $1)=: +- +- # Commands to make compiler produce verbose output that lists +- # what "hidden" libraries, object files and flags are used when +- # linking a shared library. +- output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "\-L"' +- +- else +- # FIXME: insert proper C++ library support +- _LT_TAGVAR(ld_shlibs, $1)=no +- fi +- ;; +- esac +- ;; +- +- psos*) +- # FIXME: insert proper C++ library support +- _LT_TAGVAR(ld_shlibs, $1)=no +- ;; +- +- sunos4*) +- case $cc_basename in +- CC*) +- # Sun C++ 4.x +- # FIXME: insert proper C++ library support +- _LT_TAGVAR(ld_shlibs, $1)=no +- ;; +- lcc*) +- # Lucid +- # FIXME: insert proper C++ library support +- _LT_TAGVAR(ld_shlibs, $1)=no +- ;; +- *) +- # FIXME: insert proper C++ library support +- _LT_TAGVAR(ld_shlibs, $1)=no +- ;; +- esac +- ;; +- +- solaris*) +- case $cc_basename in +- CC*) +- # Sun C++ 4.2, 5.x and Centerline C++ +- _LT_TAGVAR(archive_cmds_need_lc,$1)=yes +- _LT_TAGVAR(no_undefined_flag, $1)=' -zdefs' +- _LT_TAGVAR(archive_cmds, $1)='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' +- _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ +- $CC -G${allow_undefined_flag} ${wl}-M ${wl}$lib.exp -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp' +- +- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' +- _LT_TAGVAR(hardcode_shlibpath_var, $1)=no +- case $host_os in +- solaris2.[[0-5]] | solaris2.[[0-5]].*) ;; +- *) +- # The compiler driver will combine and reorder linker options, +- # but understands `-z linker_flag'. +- # Supported since Solaris 2.6 (maybe 2.5.1?) +- _LT_TAGVAR(whole_archive_flag_spec, $1)='-z allextract$convenience -z defaultextract' +- ;; +- esac +- _LT_TAGVAR(link_all_deplibs, $1)=yes +- +- output_verbose_link_cmd='echo' +- +- # Archives containing C++ object files must be created using +- # "CC -xar", where "CC" is the Sun C++ compiler. This is +- # necessary to make sure instantiated templates are included +- # in the archive. +- _LT_TAGVAR(old_archive_cmds, $1)='$CC -xar -o $oldlib $oldobjs' +- ;; +- gcx*) +- # Green Hills C++ Compiler +- _LT_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib' +- +- # The C++ compiler must be used to create the archive. +- _LT_TAGVAR(old_archive_cmds, $1)='$CC $LDFLAGS -archive -o $oldlib $oldobjs' +- ;; +- *) +- # GNU C++ compiler with Solaris linker +- if test "$GXX" = yes && test "$with_gnu_ld" = no; then +- _LT_TAGVAR(no_undefined_flag, $1)=' ${wl}-z ${wl}defs' +- if $CC --version | $GREP -v '^2\.7' > /dev/null; then +- _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib' +- _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ +- $CC -shared -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp' +- +- # Commands to make compiler produce verbose output that lists +- # what "hidden" libraries, object files and flags are used when +- # linking a shared library. +- output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "\-L"' +- else +- # g++ 2.7 appears to require `-G' NOT `-shared' on this +- # platform. +- _LT_TAGVAR(archive_cmds, $1)='$CC -G -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib' +- _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ +- $CC -G -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp' +- +- # Commands to make compiler produce verbose output that lists +- # what "hidden" libraries, object files and flags are used when +- # linking a shared library. +- output_verbose_link_cmd='$CC -G $CFLAGS -v conftest.$objext 2>&1 | $GREP "\-L"' +- fi +- +- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $wl$libdir' +- case $host_os in +- solaris2.[[0-5]] | solaris2.[[0-5]].*) ;; +- *) +- _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract' +- ;; +- esac +- fi +- ;; +- esac +- ;; +- +- sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[[01]].[[10]]* | unixware7* | sco3.2v5.0.[[024]]*) +- _LT_TAGVAR(no_undefined_flag, $1)='${wl}-z,text' +- _LT_TAGVAR(archive_cmds_need_lc, $1)=no +- _LT_TAGVAR(hardcode_shlibpath_var, $1)=no +- runpath_var='LD_RUN_PATH' +- +- case $cc_basename in +- CC*) +- _LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' +- _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' +- ;; +- *) +- _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' +- _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' +- ;; +- esac +- ;; +- +- sysv5* | sco3.2v5* | sco5v6*) +- # Note: We can NOT use -z defs as we might desire, because we do not +- # link with -lc, and that would cause any symbols used from libc to +- # always be unresolved, which means just about no library would +- # ever link correctly. If we're not using GNU ld we use -z text +- # though, which does catch some bad symbols but isn't as heavy-handed +- # as -z defs. +- _LT_TAGVAR(no_undefined_flag, $1)='${wl}-z,text' +- _LT_TAGVAR(allow_undefined_flag, $1)='${wl}-z,nodefs' +- _LT_TAGVAR(archive_cmds_need_lc, $1)=no +- _LT_TAGVAR(hardcode_shlibpath_var, $1)=no +- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R,$libdir' +- _LT_TAGVAR(hardcode_libdir_separator, $1)=':' +- _LT_TAGVAR(link_all_deplibs, $1)=yes +- _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-Bexport' +- runpath_var='LD_RUN_PATH' +- +- case $cc_basename in +- CC*) +- _LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' +- _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' +- ;; +- *) +- _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' +- _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' +- ;; +- esac +- ;; +- +- tandem*) +- case $cc_basename in +- NCC*) +- # NonStop-UX NCC 3.20 +- # FIXME: insert proper C++ library support +- _LT_TAGVAR(ld_shlibs, $1)=no +- ;; +- *) +- # FIXME: insert proper C++ library support +- _LT_TAGVAR(ld_shlibs, $1)=no +- ;; +- esac +- ;; +- +- vxworks*) +- # FIXME: insert proper C++ library support +- _LT_TAGVAR(ld_shlibs, $1)=no +- ;; +- +- *) +- # FIXME: insert proper C++ library support +- _LT_TAGVAR(ld_shlibs, $1)=no +- ;; +- esac +- +- AC_MSG_RESULT([$_LT_TAGVAR(ld_shlibs, $1)]) +- test "$_LT_TAGVAR(ld_shlibs, $1)" = no && can_build_shared=no +- +- _LT_TAGVAR(GCC, $1)="$GXX" +- _LT_TAGVAR(LD, $1)="$LD" +- +- ## CAVEAT EMPTOR: +- ## There is no encapsulation within the following macros, do not change +- ## the running order or otherwise move them around unless you know exactly +- ## what you are doing... +- _LT_SYS_HIDDEN_LIBDEPS($1) +- _LT_COMPILER_PIC($1) +- _LT_COMPILER_C_O($1) +- _LT_COMPILER_FILE_LOCKS($1) +- _LT_LINKER_SHLIBS($1) +- _LT_SYS_DYNAMIC_LINKER($1) +- _LT_LINKER_HARDCODE_LIBPATH($1) +- +- _LT_CONFIG($1) +- fi # test -n "$compiler" +- +- CC=$lt_save_CC +- LDCXX=$LD +- LD=$lt_save_LD +- GCC=$lt_save_GCC +- with_gnu_ld=$lt_save_with_gnu_ld +- lt_cv_path_LDCXX=$lt_cv_path_LD +- lt_cv_path_LD=$lt_save_path_LD +- lt_cv_prog_gnu_ldcxx=$lt_cv_prog_gnu_ld +- lt_cv_prog_gnu_ld=$lt_save_with_gnu_ld +-fi # test "$_lt_caught_CXX_error" != yes +- +-AC_LANG_POP +-])# _LT_LANG_CXX_CONFIG +- +- +-# _LT_SYS_HIDDEN_LIBDEPS([TAGNAME]) +-# --------------------------------- +-# Figure out "hidden" library dependencies from verbose +-# compiler output when linking a shared library. +-# Parse the compiler output and extract the necessary +-# objects, libraries and library flags. +-m4_defun([_LT_SYS_HIDDEN_LIBDEPS], +-[m4_require([_LT_FILEUTILS_DEFAULTS])dnl +-# Dependencies to place before and after the object being linked: +-_LT_TAGVAR(predep_objects, $1)= +-_LT_TAGVAR(postdep_objects, $1)= +-_LT_TAGVAR(predeps, $1)= +-_LT_TAGVAR(postdeps, $1)= +-_LT_TAGVAR(compiler_lib_search_path, $1)= +- +-dnl we can't use the lt_simple_compile_test_code here, +-dnl because it contains code intended for an executable, +-dnl not a library. It's possible we should let each +-dnl tag define a new lt_????_link_test_code variable, +-dnl but it's only used here... +-m4_if([$1], [], [cat > conftest.$ac_ext <<_LT_EOF +-int a; +-void foo (void) { a = 0; } +-_LT_EOF +-], [$1], [CXX], [cat > conftest.$ac_ext <<_LT_EOF +-class Foo +-{ +-public: +- Foo (void) { a = 0; } +-private: +- int a; +-}; +-_LT_EOF +-], [$1], [F77], [cat > conftest.$ac_ext <<_LT_EOF +- subroutine foo +- implicit none +- integer*4 a +- a=0 +- return +- end +-_LT_EOF +-], [$1], [FC], [cat > conftest.$ac_ext <<_LT_EOF +- subroutine foo +- implicit none +- integer a +- a=0 +- return +- end +-_LT_EOF +-], [$1], [GCJ], [cat > conftest.$ac_ext <<_LT_EOF +-public class foo { +- private int a; +- public void bar (void) { +- a = 0; +- } +-}; +-_LT_EOF +-]) +-dnl Parse the compiler output and extract the necessary +-dnl objects, libraries and library flags. +-if AC_TRY_EVAL(ac_compile); then +- # Parse the compiler output and extract the necessary +- # objects, libraries and library flags. +- +- # Sentinel used to keep track of whether or not we are before +- # the conftest object file. +- pre_test_object_deps_done=no +- +- for p in `eval "$output_verbose_link_cmd"`; do +- case $p in +- +- -L* | -R* | -l*) +- # Some compilers place space between "-{L,R}" and the path. +- # Remove the space. +- if test $p = "-L" || +- test $p = "-R"; then +- prev=$p +- continue +- else +- prev= +- fi +- +- if test "$pre_test_object_deps_done" = no; then +- case $p in +- -L* | -R*) +- # Internal compiler library paths should come after those +- # provided the user. The postdeps already come after the +- # user supplied libs so there is no need to process them. +- if test -z "$_LT_TAGVAR(compiler_lib_search_path, $1)"; then +- _LT_TAGVAR(compiler_lib_search_path, $1)="${prev}${p}" +- else +- _LT_TAGVAR(compiler_lib_search_path, $1)="${_LT_TAGVAR(compiler_lib_search_path, $1)} ${prev}${p}" +- fi +- ;; +- # The "-l" case would never come before the object being +- # linked, so don't bother handling this case. +- esac +- else +- if test -z "$_LT_TAGVAR(postdeps, $1)"; then +- _LT_TAGVAR(postdeps, $1)="${prev}${p}" +- else +- _LT_TAGVAR(postdeps, $1)="${_LT_TAGVAR(postdeps, $1)} ${prev}${p}" +- fi +- fi +- ;; +- +- *.$objext) +- # This assumes that the test object file only shows up +- # once in the compiler output. +- if test "$p" = "conftest.$objext"; then +- pre_test_object_deps_done=yes +- continue +- fi +- +- if test "$pre_test_object_deps_done" = no; then +- if test -z "$_LT_TAGVAR(predep_objects, $1)"; then +- _LT_TAGVAR(predep_objects, $1)="$p" +- else +- _LT_TAGVAR(predep_objects, $1)="$_LT_TAGVAR(predep_objects, $1) $p" +- fi +- else +- if test -z "$_LT_TAGVAR(postdep_objects, $1)"; then +- _LT_TAGVAR(postdep_objects, $1)="$p" +- else +- _LT_TAGVAR(postdep_objects, $1)="$_LT_TAGVAR(postdep_objects, $1) $p" +- fi +- fi +- ;; +- +- *) ;; # Ignore the rest. +- +- esac +- done +- +- # Clean up. +- rm -f a.out a.exe +-else +- echo "libtool.m4: error: problem compiling $1 test program" +-fi +- +-$RM -f confest.$objext +- +-# PORTME: override above test on systems where it is broken +-m4_if([$1], [CXX], +-[case $host_os in +-interix[[3-9]]*) +- # Interix 3.5 installs completely hosed .la files for C++, so rather than +- # hack all around it, let's just trust "g++" to DTRT. +- _LT_TAGVAR(predep_objects,$1)= +- _LT_TAGVAR(postdep_objects,$1)= +- _LT_TAGVAR(postdeps,$1)= +- ;; +- +-linux*) +- case `$CC -V 2>&1 | sed 5q` in +- *Sun\ C*) +- # Sun C++ 5.9 +- +- # The more standards-conforming stlport4 library is +- # incompatible with the Cstd library. Avoid specifying +- # it if it's in CXXFLAGS. Ignore libCrun as +- # -library=stlport4 depends on it. +- case " $CXX $CXXFLAGS " in +- *" -library=stlport4 "*) +- solaris_use_stlport4=yes +- ;; +- esac +- +- if test "$solaris_use_stlport4" != yes; then +- _LT_TAGVAR(postdeps,$1)='-library=Cstd -library=Crun' +- fi +- ;; +- esac +- ;; +- +-solaris*) +- case $cc_basename in +- CC*) +- # The more standards-conforming stlport4 library is +- # incompatible with the Cstd library. Avoid specifying +- # it if it's in CXXFLAGS. Ignore libCrun as +- # -library=stlport4 depends on it. +- case " $CXX $CXXFLAGS " in +- *" -library=stlport4 "*) +- solaris_use_stlport4=yes +- ;; +- esac +- +- # Adding this requires a known-good setup of shared libraries for +- # Sun compiler versions before 5.6, else PIC objects from an old +- # archive will be linked into the output, leading to subtle bugs. +- if test "$solaris_use_stlport4" != yes; then +- _LT_TAGVAR(postdeps,$1)='-library=Cstd -library=Crun' +- fi +- ;; +- esac +- ;; +-esac +-]) +- +-case " $_LT_TAGVAR(postdeps, $1) " in +-*" -lc "*) _LT_TAGVAR(archive_cmds_need_lc, $1)=no ;; +-esac +- _LT_TAGVAR(compiler_lib_search_dirs, $1)= +-if test -n "${_LT_TAGVAR(compiler_lib_search_path, $1)}"; then +- _LT_TAGVAR(compiler_lib_search_dirs, $1)=`echo " ${_LT_TAGVAR(compiler_lib_search_path, $1)}" | ${SED} -e 's! -L! !g' -e 's!^ !!'` +-fi +-_LT_TAGDECL([], [compiler_lib_search_dirs], [1], +- [The directories searched by this compiler when creating a shared library]) +-_LT_TAGDECL([], [predep_objects], [1], +- [Dependencies to place before and after the objects being linked to +- create a shared library]) +-_LT_TAGDECL([], [postdep_objects], [1]) +-_LT_TAGDECL([], [predeps], [1]) +-_LT_TAGDECL([], [postdeps], [1]) +-_LT_TAGDECL([], [compiler_lib_search_path], [1], +- [The library search path used internally by the compiler when linking +- a shared library]) +-])# _LT_SYS_HIDDEN_LIBDEPS +- +- +-# _LT_PROG_F77 +-# ------------ +-# Since AC_PROG_F77 is broken, in that it returns the empty string +-# if there is no fortran compiler, we have our own version here. +-m4_defun([_LT_PROG_F77], +-[ +-pushdef([AC_MSG_ERROR], [_lt_disable_F77=yes]) +-AC_PROG_F77 +-if test -z "$F77" || test "X$F77" = "Xno"; then +- _lt_disable_F77=yes +-fi +-popdef([AC_MSG_ERROR]) +-])# _LT_PROG_F77 +- +-dnl aclocal-1.4 backwards compatibility: +-dnl AC_DEFUN([_LT_PROG_F77], []) +- +- +-# _LT_LANG_F77_CONFIG([TAG]) +-# -------------------------- +-# Ensure that the configuration variables for a Fortran 77 compiler are +-# suitably defined. These variables are subsequently used by _LT_CONFIG +-# to write the compiler configuration to `libtool'. +-m4_defun([_LT_LANG_F77_CONFIG], +-[AC_REQUIRE([_LT_PROG_F77])dnl +-AC_LANG_PUSH(Fortran 77) +- +-_LT_TAGVAR(archive_cmds_need_lc, $1)=no +-_LT_TAGVAR(allow_undefined_flag, $1)= +-_LT_TAGVAR(always_export_symbols, $1)=no +-_LT_TAGVAR(archive_expsym_cmds, $1)= +-_LT_TAGVAR(export_dynamic_flag_spec, $1)= +-_LT_TAGVAR(hardcode_direct, $1)=no +-_LT_TAGVAR(hardcode_direct_absolute, $1)=no +-_LT_TAGVAR(hardcode_libdir_flag_spec, $1)= +-_LT_TAGVAR(hardcode_libdir_flag_spec_ld, $1)= +-_LT_TAGVAR(hardcode_libdir_separator, $1)= +-_LT_TAGVAR(hardcode_minus_L, $1)=no +-_LT_TAGVAR(hardcode_automatic, $1)=no +-_LT_TAGVAR(inherit_rpath, $1)=no +-_LT_TAGVAR(module_cmds, $1)= +-_LT_TAGVAR(module_expsym_cmds, $1)= +-_LT_TAGVAR(link_all_deplibs, $1)=unknown +-_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds +-_LT_TAGVAR(no_undefined_flag, $1)= +-_LT_TAGVAR(whole_archive_flag_spec, $1)= +-_LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no +- +-# Source file extension for f77 test sources. +-ac_ext=f +- +-# Object file extension for compiled f77 test sources. +-objext=o +-_LT_TAGVAR(objext, $1)=$objext +- +-# No sense in running all these tests if we already determined that +-# the F77 compiler isn't working. Some variables (like enable_shared) +-# are currently assumed to apply to all compilers on this platform, +-# and will be corrupted by setting them based on a non-working compiler. +-if test "$_lt_disable_F77" != yes; then +- # Code to be used in simple compile tests +- lt_simple_compile_test_code="\ +- subroutine t +- return +- end +-" +- +- # Code to be used in simple link tests +- lt_simple_link_test_code="\ +- program t +- end +-" +- +- # ltmain only uses $CC for tagged configurations so make sure $CC is set. +- _LT_TAG_COMPILER +- +- # save warnings/boilerplate of simple test code +- _LT_COMPILER_BOILERPLATE +- _LT_LINKER_BOILERPLATE +- +- # Allow CC to be a program name with arguments. +- lt_save_CC="$CC" +- lt_save_GCC=$GCC +- CC=${F77-"f77"} +- compiler=$CC +- _LT_TAGVAR(compiler, $1)=$CC +- _LT_CC_BASENAME([$compiler]) +- GCC=$G77 +- if test -n "$compiler"; then +- AC_MSG_CHECKING([if libtool supports shared libraries]) +- AC_MSG_RESULT([$can_build_shared]) +- +- AC_MSG_CHECKING([whether to build shared libraries]) +- test "$can_build_shared" = "no" && enable_shared=no +- +- # On AIX, shared libraries and static libraries use the same namespace, and +- # are all built from PIC. +- case $host_os in +- aix3*) +- test "$enable_shared" = yes && enable_static=no +- if test -n "$RANLIB"; then +- archive_cmds="$archive_cmds~\$RANLIB \$lib" +- postinstall_cmds='$RANLIB $lib' +- fi +- ;; +- aix[[4-9]]*) +- if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then +- test "$enable_shared" = yes && enable_static=no +- fi +- ;; +- esac +- AC_MSG_RESULT([$enable_shared]) +- +- AC_MSG_CHECKING([whether to build static libraries]) +- # Make sure either enable_shared or enable_static is yes. +- test "$enable_shared" = yes || enable_static=yes +- AC_MSG_RESULT([$enable_static]) +- +- _LT_TAGVAR(GCC, $1)="$G77" +- _LT_TAGVAR(LD, $1)="$LD" +- +- ## CAVEAT EMPTOR: +- ## There is no encapsulation within the following macros, do not change +- ## the running order or otherwise move them around unless you know exactly +- ## what you are doing... +- _LT_COMPILER_PIC($1) +- _LT_COMPILER_C_O($1) +- _LT_COMPILER_FILE_LOCKS($1) +- _LT_LINKER_SHLIBS($1) +- _LT_SYS_DYNAMIC_LINKER($1) +- _LT_LINKER_HARDCODE_LIBPATH($1) +- +- _LT_CONFIG($1) +- fi # test -n "$compiler" +- +- GCC=$lt_save_GCC +- CC="$lt_save_CC" +-fi # test "$_lt_disable_F77" != yes +- +-AC_LANG_POP +-])# _LT_LANG_F77_CONFIG +- +- +-# _LT_PROG_FC +-# ----------- +-# Since AC_PROG_FC is broken, in that it returns the empty string +-# if there is no fortran compiler, we have our own version here. +-m4_defun([_LT_PROG_FC], +-[ +-pushdef([AC_MSG_ERROR], [_lt_disable_FC=yes]) +-AC_PROG_FC +-if test -z "$FC" || test "X$FC" = "Xno"; then +- _lt_disable_FC=yes +-fi +-popdef([AC_MSG_ERROR]) +-])# _LT_PROG_FC +- +-dnl aclocal-1.4 backwards compatibility: +-dnl AC_DEFUN([_LT_PROG_FC], []) +- +- +-# _LT_LANG_FC_CONFIG([TAG]) +-# ------------------------- +-# Ensure that the configuration variables for a Fortran compiler are +-# suitably defined. These variables are subsequently used by _LT_CONFIG +-# to write the compiler configuration to `libtool'. +-m4_defun([_LT_LANG_FC_CONFIG], +-[AC_REQUIRE([_LT_PROG_FC])dnl +-AC_LANG_PUSH(Fortran) +- +-_LT_TAGVAR(archive_cmds_need_lc, $1)=no +-_LT_TAGVAR(allow_undefined_flag, $1)= +-_LT_TAGVAR(always_export_symbols, $1)=no +-_LT_TAGVAR(archive_expsym_cmds, $1)= +-_LT_TAGVAR(export_dynamic_flag_spec, $1)= +-_LT_TAGVAR(hardcode_direct, $1)=no +-_LT_TAGVAR(hardcode_direct_absolute, $1)=no +-_LT_TAGVAR(hardcode_libdir_flag_spec, $1)= +-_LT_TAGVAR(hardcode_libdir_flag_spec_ld, $1)= +-_LT_TAGVAR(hardcode_libdir_separator, $1)= +-_LT_TAGVAR(hardcode_minus_L, $1)=no +-_LT_TAGVAR(hardcode_automatic, $1)=no +-_LT_TAGVAR(inherit_rpath, $1)=no +-_LT_TAGVAR(module_cmds, $1)= +-_LT_TAGVAR(module_expsym_cmds, $1)= +-_LT_TAGVAR(link_all_deplibs, $1)=unknown +-_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds +-_LT_TAGVAR(no_undefined_flag, $1)= +-_LT_TAGVAR(whole_archive_flag_spec, $1)= +-_LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no +- +-# Source file extension for fc test sources. +-ac_ext=${ac_fc_srcext-f} +- +-# Object file extension for compiled fc test sources. +-objext=o +-_LT_TAGVAR(objext, $1)=$objext +- +-# No sense in running all these tests if we already determined that +-# the FC compiler isn't working. Some variables (like enable_shared) +-# are currently assumed to apply to all compilers on this platform, +-# and will be corrupted by setting them based on a non-working compiler. +-if test "$_lt_disable_FC" != yes; then +- # Code to be used in simple compile tests +- lt_simple_compile_test_code="\ +- subroutine t +- return +- end +-" +- +- # Code to be used in simple link tests +- lt_simple_link_test_code="\ +- program t +- end +-" +- +- # ltmain only uses $CC for tagged configurations so make sure $CC is set. +- _LT_TAG_COMPILER +- +- # save warnings/boilerplate of simple test code +- _LT_COMPILER_BOILERPLATE +- _LT_LINKER_BOILERPLATE +- +- # Allow CC to be a program name with arguments. +- lt_save_CC="$CC" +- lt_save_GCC=$GCC +- CC=${FC-"f95"} +- compiler=$CC +- GCC=$ac_cv_fc_compiler_gnu +- +- _LT_TAGVAR(compiler, $1)=$CC +- _LT_CC_BASENAME([$compiler]) +- +- if test -n "$compiler"; then +- AC_MSG_CHECKING([if libtool supports shared libraries]) +- AC_MSG_RESULT([$can_build_shared]) +- +- AC_MSG_CHECKING([whether to build shared libraries]) +- test "$can_build_shared" = "no" && enable_shared=no +- +- # On AIX, shared libraries and static libraries use the same namespace, and +- # are all built from PIC. +- case $host_os in +- aix3*) +- test "$enable_shared" = yes && enable_static=no +- if test -n "$RANLIB"; then +- archive_cmds="$archive_cmds~\$RANLIB \$lib" +- postinstall_cmds='$RANLIB $lib' +- fi +- ;; +- aix[[4-9]]*) +- if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then +- test "$enable_shared" = yes && enable_static=no +- fi +- ;; +- esac +- AC_MSG_RESULT([$enable_shared]) +- +- AC_MSG_CHECKING([whether to build static libraries]) +- # Make sure either enable_shared or enable_static is yes. +- test "$enable_shared" = yes || enable_static=yes +- AC_MSG_RESULT([$enable_static]) +- +- _LT_TAGVAR(GCC, $1)="$ac_cv_fc_compiler_gnu" +- _LT_TAGVAR(LD, $1)="$LD" +- +- ## CAVEAT EMPTOR: +- ## There is no encapsulation within the following macros, do not change +- ## the running order or otherwise move them around unless you know exactly +- ## what you are doing... +- _LT_SYS_HIDDEN_LIBDEPS($1) +- _LT_COMPILER_PIC($1) +- _LT_COMPILER_C_O($1) +- _LT_COMPILER_FILE_LOCKS($1) +- _LT_LINKER_SHLIBS($1) +- _LT_SYS_DYNAMIC_LINKER($1) +- _LT_LINKER_HARDCODE_LIBPATH($1) +- +- _LT_CONFIG($1) +- fi # test -n "$compiler" +- +- GCC=$lt_save_GCC +- CC="$lt_save_CC" +-fi # test "$_lt_disable_FC" != yes +- +-AC_LANG_POP +-])# _LT_LANG_FC_CONFIG +- +- +-# _LT_LANG_GCJ_CONFIG([TAG]) +-# -------------------------- +-# Ensure that the configuration variables for the GNU Java Compiler compiler +-# are suitably defined. These variables are subsequently used by _LT_CONFIG +-# to write the compiler configuration to `libtool'. +-m4_defun([_LT_LANG_GCJ_CONFIG], +-[AC_REQUIRE([LT_PROG_GCJ])dnl +-AC_LANG_SAVE +- +-# Source file extension for Java test sources. +-ac_ext=java +- +-# Object file extension for compiled Java test sources. +-objext=o +-_LT_TAGVAR(objext, $1)=$objext +- +-# Code to be used in simple compile tests +-lt_simple_compile_test_code="class foo {}" +- +-# Code to be used in simple link tests +-lt_simple_link_test_code='public class conftest { public static void main(String[[]] argv) {}; }' +- +-# ltmain only uses $CC for tagged configurations so make sure $CC is set. +-_LT_TAG_COMPILER +- +-# save warnings/boilerplate of simple test code +-_LT_COMPILER_BOILERPLATE +-_LT_LINKER_BOILERPLATE +- +-# Allow CC to be a program name with arguments. +-lt_save_CC="$CC" +-lt_save_GCC=$GCC +-GCC=yes +-CC=${GCJ-"gcj"} +-compiler=$CC +-_LT_TAGVAR(compiler, $1)=$CC +-_LT_TAGVAR(LD, $1)="$LD" +-_LT_CC_BASENAME([$compiler]) +- +-# GCJ did not exist at the time GCC didn't implicitly link libc in. +-_LT_TAGVAR(archive_cmds_need_lc, $1)=no +- +-_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds +- +-## CAVEAT EMPTOR: +-## There is no encapsulation within the following macros, do not change +-## the running order or otherwise move them around unless you know exactly +-## what you are doing... +-if test -n "$compiler"; then +- _LT_COMPILER_NO_RTTI($1) +- _LT_COMPILER_PIC($1) +- _LT_COMPILER_C_O($1) +- _LT_COMPILER_FILE_LOCKS($1) +- _LT_LINKER_SHLIBS($1) +- _LT_LINKER_HARDCODE_LIBPATH($1) +- +- _LT_CONFIG($1) +-fi +- +-AC_LANG_RESTORE +- +-GCC=$lt_save_GCC +-CC="$lt_save_CC" +-])# _LT_LANG_GCJ_CONFIG +- +- +-# _LT_LANG_RC_CONFIG([TAG]) +-# ------------------------- +-# Ensure that the configuration variables for the Windows resource compiler +-# are suitably defined. These variables are subsequently used by _LT_CONFIG +-# to write the compiler configuration to `libtool'. +-m4_defun([_LT_LANG_RC_CONFIG], +-[AC_REQUIRE([LT_PROG_RC])dnl +-AC_LANG_SAVE +- +-# Source file extension for RC test sources. +-ac_ext=rc +- +-# Object file extension for compiled RC test sources. +-objext=o +-_LT_TAGVAR(objext, $1)=$objext +- +-# Code to be used in simple compile tests +-lt_simple_compile_test_code='sample MENU { MENUITEM "&Soup", 100, CHECKED }' +- +-# Code to be used in simple link tests +-lt_simple_link_test_code="$lt_simple_compile_test_code" +- +-# ltmain only uses $CC for tagged configurations so make sure $CC is set. +-_LT_TAG_COMPILER +- +-# save warnings/boilerplate of simple test code +-_LT_COMPILER_BOILERPLATE +-_LT_LINKER_BOILERPLATE +- +-# Allow CC to be a program name with arguments. +-lt_save_CC="$CC" +-lt_save_GCC=$GCC +-GCC= +-CC=${RC-"windres"} +-compiler=$CC +-_LT_TAGVAR(compiler, $1)=$CC +-_LT_CC_BASENAME([$compiler]) +-_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)=yes +- +-if test -n "$compiler"; then +- : +- _LT_CONFIG($1) +-fi +- +-GCC=$lt_save_GCC +-AC_LANG_RESTORE +-CC="$lt_save_CC" +-])# _LT_LANG_RC_CONFIG +- +- +-# LT_PROG_GCJ +-# ----------- +-AC_DEFUN([LT_PROG_GCJ], +-[m4_ifdef([AC_PROG_GCJ], [AC_PROG_GCJ], +- [m4_ifdef([A][M_PROG_GCJ], [A][M_PROG_GCJ], +- [AC_CHECK_TOOL(GCJ, gcj,) +- test "x${GCJFLAGS+set}" = xset || GCJFLAGS="-g -O2" +- AC_SUBST(GCJFLAGS)])])[]dnl +-]) +- +-# Old name: +-AU_ALIAS([LT_AC_PROG_GCJ], [LT_PROG_GCJ]) +-dnl aclocal-1.4 backwards compatibility: +-dnl AC_DEFUN([LT_AC_PROG_GCJ], []) +- +- +-# LT_PROG_RC +-# ---------- +-AC_DEFUN([LT_PROG_RC], +-[AC_CHECK_TOOL(RC, windres,) +-]) +- +-# Old name: +-AU_ALIAS([LT_AC_PROG_RC], [LT_PROG_RC]) +-dnl aclocal-1.4 backwards compatibility: +-dnl AC_DEFUN([LT_AC_PROG_RC], []) +- +- +-# _LT_DECL_EGREP +-# -------------- +-# If we don't have a new enough Autoconf to choose the best grep +-# available, choose the one first in the user's PATH. +-m4_defun([_LT_DECL_EGREP], +-[AC_REQUIRE([AC_PROG_EGREP])dnl +-AC_REQUIRE([AC_PROG_FGREP])dnl +-test -z "$GREP" && GREP=grep +-_LT_DECL([], [GREP], [1], [A grep program that handles long lines]) +-_LT_DECL([], [EGREP], [1], [An ERE matcher]) +-_LT_DECL([], [FGREP], [1], [A literal string matcher]) +-dnl Non-bleeding-edge autoconf doesn't subst GREP, so do it here too +-AC_SUBST([GREP]) +-]) +- +- +-# _LT_DECL_OBJDUMP +-# -------------- +-# If we don't have a new enough Autoconf to choose the best objdump +-# available, choose the one first in the user's PATH. +-m4_defun([_LT_DECL_OBJDUMP], +-[AC_CHECK_TOOL(OBJDUMP, objdump, false) +-test -z "$OBJDUMP" && OBJDUMP=objdump +-_LT_DECL([], [OBJDUMP], [1], [An object symbol dumper]) +-AC_SUBST([OBJDUMP]) +-]) +- +- +-# _LT_DECL_SED +-# ------------ +-# Check for a fully-functional sed program, that truncates +-# as few characters as possible. Prefer GNU sed if found. +-m4_defun([_LT_DECL_SED], +-[AC_PROG_SED +-test -z "$SED" && SED=sed +-Xsed="$SED -e 1s/^X//" +-_LT_DECL([], [SED], [1], [A sed program that does not truncate output]) +-_LT_DECL([], [Xsed], ["\$SED -e 1s/^X//"], +- [Sed that helps us avoid accidentally triggering echo(1) options like -n]) +-])# _LT_DECL_SED +- +-m4_ifndef([AC_PROG_SED], [ +-############################################################ +-# NOTE: This macro has been submitted for inclusion into # +-# GNU Autoconf as AC_PROG_SED. When it is available in # +-# a released version of Autoconf we should remove this # +-# macro and use it instead. # +-############################################################ +- +-m4_defun([AC_PROG_SED], +-[AC_MSG_CHECKING([for a sed that does not truncate output]) +-AC_CACHE_VAL(lt_cv_path_SED, +-[# Loop through the user's path and test for sed and gsed. +-# Then use that list of sed's as ones to test for truncation. +-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +-for as_dir in $PATH +-do +- IFS=$as_save_IFS +- test -z "$as_dir" && as_dir=. +- for lt_ac_prog in sed gsed; do +- for ac_exec_ext in '' $ac_executable_extensions; do +- if $as_executable_p "$as_dir/$lt_ac_prog$ac_exec_ext"; then +- lt_ac_sed_list="$lt_ac_sed_list $as_dir/$lt_ac_prog$ac_exec_ext" +- fi +- done +- done +-done +-IFS=$as_save_IFS +-lt_ac_max=0 +-lt_ac_count=0 +-# Add /usr/xpg4/bin/sed as it is typically found on Solaris +-# along with /bin/sed that truncates output. +-for lt_ac_sed in $lt_ac_sed_list /usr/xpg4/bin/sed; do +- test ! -f $lt_ac_sed && continue +- cat /dev/null > conftest.in +- lt_ac_count=0 +- echo $ECHO_N "0123456789$ECHO_C" >conftest.in +- # Check for GNU sed and select it if it is found. +- if "$lt_ac_sed" --version 2>&1 < /dev/null | grep 'GNU' > /dev/null; then +- lt_cv_path_SED=$lt_ac_sed +- break +- fi +- while true; do +- cat conftest.in conftest.in >conftest.tmp +- mv conftest.tmp conftest.in +- cp conftest.in conftest.nl +- echo >>conftest.nl +- $lt_ac_sed -e 's/a$//' < conftest.nl >conftest.out || break +- cmp -s conftest.out conftest.nl || break +- # 10000 chars as input seems more than enough +- test $lt_ac_count -gt 10 && break +- lt_ac_count=`expr $lt_ac_count + 1` +- if test $lt_ac_count -gt $lt_ac_max; then +- lt_ac_max=$lt_ac_count +- lt_cv_path_SED=$lt_ac_sed +- fi +- done +-done +-]) +-SED=$lt_cv_path_SED +-AC_SUBST([SED]) +-AC_MSG_RESULT([$SED]) +-])#AC_PROG_SED +-])#m4_ifndef +- +-# Old name: +-AU_ALIAS([LT_AC_PROG_SED], [AC_PROG_SED]) +-dnl aclocal-1.4 backwards compatibility: +-dnl AC_DEFUN([LT_AC_PROG_SED], []) +- +- +-# _LT_CHECK_SHELL_FEATURES +-# ------------------------ +-# Find out whether the shell is Bourne or XSI compatible, +-# or has some other useful features. +-m4_defun([_LT_CHECK_SHELL_FEATURES], +-[AC_MSG_CHECKING([whether the shell understands some XSI constructs]) +-# Try some XSI features +-xsi_shell=no +-( _lt_dummy="a/b/c" +- test "${_lt_dummy##*/},${_lt_dummy%/*},"${_lt_dummy%"$_lt_dummy"}, \ +- = c,a/b,, \ +- && eval 'test $(( 1 + 1 )) -eq 2 \ +- && test "${#_lt_dummy}" -eq 5' ) >/dev/null 2>&1 \ +- && xsi_shell=yes +-AC_MSG_RESULT([$xsi_shell]) +-_LT_CONFIG_LIBTOOL_INIT([xsi_shell='$xsi_shell']) +- +-AC_MSG_CHECKING([whether the shell understands "+="]) +-lt_shell_append=no +-( foo=bar; set foo baz; eval "$[1]+=\$[2]" && test "$foo" = barbaz ) \ +- >/dev/null 2>&1 \ +- && lt_shell_append=yes +-AC_MSG_RESULT([$lt_shell_append]) +-_LT_CONFIG_LIBTOOL_INIT([lt_shell_append='$lt_shell_append']) +- +-if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then +- lt_unset=unset +-else +- lt_unset=false +-fi +-_LT_DECL([], [lt_unset], [0], [whether the shell understands "unset"])dnl +- +-# test EBCDIC or ASCII +-case `echo X|tr X '\101'` in +- A) # ASCII based system +- # \n is not interpreted correctly by Solaris 8 /usr/ucb/tr +- lt_SP2NL='tr \040 \012' +- lt_NL2SP='tr \015\012 \040\040' +- ;; +- *) # EBCDIC based system +- lt_SP2NL='tr \100 \n' +- lt_NL2SP='tr \r\n \100\100' +- ;; +-esac +-_LT_DECL([SP2NL], [lt_SP2NL], [1], [turn spaces into newlines])dnl +-_LT_DECL([NL2SP], [lt_NL2SP], [1], [turn newlines into spaces])dnl +-])# _LT_CHECK_SHELL_FEATURES +- +- +-# _LT_PROG_XSI_SHELLFNS +-# --------------------- +-# Bourne and XSI compatible variants of some useful shell functions. +-m4_defun([_LT_PROG_XSI_SHELLFNS], +-[case $xsi_shell in +- yes) +- cat << \_LT_EOF >> "$cfgfile" +- +-# func_dirname file append nondir_replacement +-# Compute the dirname of FILE. If nonempty, add APPEND to the result, +-# otherwise set result to NONDIR_REPLACEMENT. +-func_dirname () +-{ +- case ${1} in +- */*) func_dirname_result="${1%/*}${2}" ;; +- * ) func_dirname_result="${3}" ;; +- esac +-} +- +-# func_basename file +-func_basename () +-{ +- func_basename_result="${1##*/}" +-} +- +-# func_dirname_and_basename file append nondir_replacement +-# perform func_basename and func_dirname in a single function +-# call: +-# dirname: Compute the dirname of FILE. If nonempty, +-# add APPEND to the result, otherwise set result +-# to NONDIR_REPLACEMENT. +-# value returned in "$func_dirname_result" +-# basename: Compute filename of FILE. +-# value retuned in "$func_basename_result" +-# Implementation must be kept synchronized with func_dirname +-# and func_basename. For efficiency, we do not delegate to +-# those functions but instead duplicate the functionality here. +-func_dirname_and_basename () +-{ +- case ${1} in +- */*) func_dirname_result="${1%/*}${2}" ;; +- * ) func_dirname_result="${3}" ;; +- esac +- func_basename_result="${1##*/}" +-} +- +-# func_stripname prefix suffix name +-# strip PREFIX and SUFFIX off of NAME. +-# PREFIX and SUFFIX must not contain globbing or regex special +-# characters, hashes, percent signs, but SUFFIX may contain a leading +-# dot (in which case that matches only a dot). +-func_stripname () +-{ +- # pdksh 5.2.14 does not do ${X%$Y} correctly if both X and Y are +- # positional parameters, so assign one to ordinary parameter first. +- func_stripname_result=${3} +- func_stripname_result=${func_stripname_result#"${1}"} +- func_stripname_result=${func_stripname_result%"${2}"} +-} +- +-# func_opt_split +-func_opt_split () +-{ +- func_opt_split_opt=${1%%=*} +- func_opt_split_arg=${1#*=} +-} +- +-# func_lo2o object +-func_lo2o () +-{ +- case ${1} in +- *.lo) func_lo2o_result=${1%.lo}.${objext} ;; +- *) func_lo2o_result=${1} ;; +- esac +-} +- +-# func_xform libobj-or-source +-func_xform () +-{ +- func_xform_result=${1%.*}.lo +-} +- +-# func_arith arithmetic-term... +-func_arith () +-{ +- func_arith_result=$(( $[*] )) +-} +- +-# func_len string +-# STRING may not start with a hyphen. +-func_len () +-{ +- func_len_result=${#1} +-} +- +-_LT_EOF +- ;; +- *) # Bourne compatible functions. +- cat << \_LT_EOF >> "$cfgfile" +- +-# func_dirname file append nondir_replacement +-# Compute the dirname of FILE. If nonempty, add APPEND to the result, +-# otherwise set result to NONDIR_REPLACEMENT. +-func_dirname () +-{ +- # Extract subdirectory from the argument. +- func_dirname_result=`$ECHO "X${1}" | $Xsed -e "$dirname"` +- if test "X$func_dirname_result" = "X${1}"; then +- func_dirname_result="${3}" +- else +- func_dirname_result="$func_dirname_result${2}" +- fi +-} +- +-# func_basename file +-func_basename () +-{ +- func_basename_result=`$ECHO "X${1}" | $Xsed -e "$basename"` +-} +- +-dnl func_dirname_and_basename +-dnl A portable version of this function is already defined in general.m4sh +-dnl so there is no need for it here. +- +-# func_stripname prefix suffix name +-# strip PREFIX and SUFFIX off of NAME. +-# PREFIX and SUFFIX must not contain globbing or regex special +-# characters, hashes, percent signs, but SUFFIX may contain a leading +-# dot (in which case that matches only a dot). +-# func_strip_suffix prefix name +-func_stripname () +-{ +- case ${2} in +- .*) func_stripname_result=`$ECHO "X${3}" \ +- | $Xsed -e "s%^${1}%%" -e "s%\\\\${2}\$%%"`;; +- *) func_stripname_result=`$ECHO "X${3}" \ +- | $Xsed -e "s%^${1}%%" -e "s%${2}\$%%"`;; +- esac +-} +- +-# sed scripts: +-my_sed_long_opt='1s/^\(-[[^=]]*\)=.*/\1/;q' +-my_sed_long_arg='1s/^-[[^=]]*=//' +- +-# func_opt_split +-func_opt_split () +-{ +- func_opt_split_opt=`$ECHO "X${1}" | $Xsed -e "$my_sed_long_opt"` +- func_opt_split_arg=`$ECHO "X${1}" | $Xsed -e "$my_sed_long_arg"` +-} +- +-# func_lo2o object +-func_lo2o () +-{ +- func_lo2o_result=`$ECHO "X${1}" | $Xsed -e "$lo2o"` +-} +- +-# func_xform libobj-or-source +-func_xform () +-{ +- func_xform_result=`$ECHO "X${1}" | $Xsed -e 's/\.[[^.]]*$/.lo/'` +-} +- +-# func_arith arithmetic-term... +-func_arith () +-{ +- func_arith_result=`expr "$[@]"` +-} +- +-# func_len string +-# STRING may not start with a hyphen. +-func_len () +-{ +- func_len_result=`expr "$[1]" : ".*" 2>/dev/null || echo $max_cmd_len` +-} +- +-_LT_EOF +-esac +- +-case $lt_shell_append in +- yes) +- cat << \_LT_EOF >> "$cfgfile" +- +-# func_append var value +-# Append VALUE to the end of shell variable VAR. +-func_append () +-{ +- eval "$[1]+=\$[2]" +-} +-_LT_EOF +- ;; +- *) +- cat << \_LT_EOF >> "$cfgfile" +- +-# func_append var value +-# Append VALUE to the end of shell variable VAR. +-func_append () +-{ +- eval "$[1]=\$$[1]\$[2]" +-} +- +-_LT_EOF +- ;; +- esac +-]) +Index: libiconv-1.13.1/libcharset/m4/ltoptions.m4 +=================================================================== +--- libiconv-1.13.1.orig/libcharset/m4/ltoptions.m4 ++++ /dev/null +@@ -1,368 +0,0 @@ +-# Helper functions for option handling. -*- Autoconf -*- +-# +-# Copyright (C) 2004, 2005, 2007, 2008 Free Software Foundation, Inc. +-# Written by Gary V. Vaughan, 2004 +-# +-# This file is free software; the Free Software Foundation gives +-# unlimited permission to copy and/or distribute it, with or without +-# modifications, as long as this notice is preserved. +- +-# serial 6 ltoptions.m4 +- +-# This is to help aclocal find these macros, as it can't see m4_define. +-AC_DEFUN([LTOPTIONS_VERSION], [m4_if([1])]) +- +- +-# _LT_MANGLE_OPTION(MACRO-NAME, OPTION-NAME) +-# ------------------------------------------ +-m4_define([_LT_MANGLE_OPTION], +-[[_LT_OPTION_]m4_bpatsubst($1__$2, [[^a-zA-Z0-9_]], [_])]) +- +- +-# _LT_SET_OPTION(MACRO-NAME, OPTION-NAME) +-# --------------------------------------- +-# Set option OPTION-NAME for macro MACRO-NAME, and if there is a +-# matching handler defined, dispatch to it. Other OPTION-NAMEs are +-# saved as a flag. +-m4_define([_LT_SET_OPTION], +-[m4_define(_LT_MANGLE_OPTION([$1], [$2]))dnl +-m4_ifdef(_LT_MANGLE_DEFUN([$1], [$2]), +- _LT_MANGLE_DEFUN([$1], [$2]), +- [m4_warning([Unknown $1 option `$2'])])[]dnl +-]) +- +- +-# _LT_IF_OPTION(MACRO-NAME, OPTION-NAME, IF-SET, [IF-NOT-SET]) +-# ------------------------------------------------------------ +-# Execute IF-SET if OPTION is set, IF-NOT-SET otherwise. +-m4_define([_LT_IF_OPTION], +-[m4_ifdef(_LT_MANGLE_OPTION([$1], [$2]), [$3], [$4])]) +- +- +-# _LT_UNLESS_OPTIONS(MACRO-NAME, OPTION-LIST, IF-NOT-SET) +-# ------------------------------------------------------- +-# Execute IF-NOT-SET unless all options in OPTION-LIST for MACRO-NAME +-# are set. +-m4_define([_LT_UNLESS_OPTIONS], +-[m4_foreach([_LT_Option], m4_split(m4_normalize([$2])), +- [m4_ifdef(_LT_MANGLE_OPTION([$1], _LT_Option), +- [m4_define([$0_found])])])[]dnl +-m4_ifdef([$0_found], [m4_undefine([$0_found])], [$3 +-])[]dnl +-]) +- +- +-# _LT_SET_OPTIONS(MACRO-NAME, OPTION-LIST) +-# ---------------------------------------- +-# OPTION-LIST is a space-separated list of Libtool options associated +-# with MACRO-NAME. If any OPTION has a matching handler declared with +-# LT_OPTION_DEFINE, dispatch to that macro; otherwise complain about +-# the unknown option and exit. +-m4_defun([_LT_SET_OPTIONS], +-[# Set options +-m4_foreach([_LT_Option], m4_split(m4_normalize([$2])), +- [_LT_SET_OPTION([$1], _LT_Option)]) +- +-m4_if([$1],[LT_INIT],[ +- dnl +- dnl Simply set some default values (i.e off) if boolean options were not +- dnl specified: +- _LT_UNLESS_OPTIONS([LT_INIT], [dlopen], [enable_dlopen=no +- ]) +- _LT_UNLESS_OPTIONS([LT_INIT], [win32-dll], [enable_win32_dll=no +- ]) +- dnl +- dnl If no reference was made to various pairs of opposing options, then +- dnl we run the default mode handler for the pair. For example, if neither +- dnl `shared' nor `disable-shared' was passed, we enable building of shared +- dnl archives by default: +- _LT_UNLESS_OPTIONS([LT_INIT], [shared disable-shared], [_LT_ENABLE_SHARED]) +- _LT_UNLESS_OPTIONS([LT_INIT], [static disable-static], [_LT_ENABLE_STATIC]) +- _LT_UNLESS_OPTIONS([LT_INIT], [pic-only no-pic], [_LT_WITH_PIC]) +- _LT_UNLESS_OPTIONS([LT_INIT], [fast-install disable-fast-install], +- [_LT_ENABLE_FAST_INSTALL]) +- ]) +-])# _LT_SET_OPTIONS +- +- +-## --------------------------------- ## +-## Macros to handle LT_INIT options. ## +-## --------------------------------- ## +- +-# _LT_MANGLE_DEFUN(MACRO-NAME, OPTION-NAME) +-# ----------------------------------------- +-m4_define([_LT_MANGLE_DEFUN], +-[[_LT_OPTION_DEFUN_]m4_bpatsubst(m4_toupper([$1__$2]), [[^A-Z0-9_]], [_])]) +- +- +-# LT_OPTION_DEFINE(MACRO-NAME, OPTION-NAME, CODE) +-# ----------------------------------------------- +-m4_define([LT_OPTION_DEFINE], +-[m4_define(_LT_MANGLE_DEFUN([$1], [$2]), [$3])[]dnl +-])# LT_OPTION_DEFINE +- +- +-# dlopen +-# ------ +-LT_OPTION_DEFINE([LT_INIT], [dlopen], [enable_dlopen=yes +-]) +- +-AU_DEFUN([AC_LIBTOOL_DLOPEN], +-[_LT_SET_OPTION([LT_INIT], [dlopen]) +-AC_DIAGNOSE([obsolete], +-[$0: Remove this warning and the call to _LT_SET_OPTION when you +-put the `dlopen' option into LT_INIT's first parameter.]) +-]) +- +-dnl aclocal-1.4 backwards compatibility: +-dnl AC_DEFUN([AC_LIBTOOL_DLOPEN], []) +- +- +-# win32-dll +-# --------- +-# Declare package support for building win32 dll's. +-LT_OPTION_DEFINE([LT_INIT], [win32-dll], +-[enable_win32_dll=yes +- +-case $host in +-*-*-cygwin* | *-*-mingw* | *-*-pw32* | *-cegcc*) +- AC_CHECK_TOOL(AS, as, false) +- AC_CHECK_TOOL(DLLTOOL, dlltool, false) +- AC_CHECK_TOOL(OBJDUMP, objdump, false) +- ;; +-esac +- +-test -z "$AS" && AS=as +-_LT_DECL([], [AS], [0], [Assembler program])dnl +- +-test -z "$DLLTOOL" && DLLTOOL=dlltool +-_LT_DECL([], [DLLTOOL], [0], [DLL creation program])dnl +- +-test -z "$OBJDUMP" && OBJDUMP=objdump +-_LT_DECL([], [OBJDUMP], [0], [Object dumper program])dnl +-])# win32-dll +- +-AU_DEFUN([AC_LIBTOOL_WIN32_DLL], +-[AC_REQUIRE([AC_CANONICAL_HOST])dnl +-_LT_SET_OPTION([LT_INIT], [win32-dll]) +-AC_DIAGNOSE([obsolete], +-[$0: Remove this warning and the call to _LT_SET_OPTION when you +-put the `win32-dll' option into LT_INIT's first parameter.]) +-]) +- +-dnl aclocal-1.4 backwards compatibility: +-dnl AC_DEFUN([AC_LIBTOOL_WIN32_DLL], []) +- +- +-# _LT_ENABLE_SHARED([DEFAULT]) +-# ---------------------------- +-# implement the --enable-shared flag, and supports the `shared' and +-# `disable-shared' LT_INIT options. +-# DEFAULT is either `yes' or `no'. If omitted, it defaults to `yes'. +-m4_define([_LT_ENABLE_SHARED], +-[m4_define([_LT_ENABLE_SHARED_DEFAULT], [m4_if($1, no, no, yes)])dnl +-AC_ARG_ENABLE([shared], +- [AS_HELP_STRING([--enable-shared@<:@=PKGS@:>@], +- [build shared libraries @<:@default=]_LT_ENABLE_SHARED_DEFAULT[@:>@])], +- [p=${PACKAGE-default} +- case $enableval in +- yes) enable_shared=yes ;; +- no) enable_shared=no ;; +- *) +- enable_shared=no +- # Look at the argument we got. We use all the common list separators. +- lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," +- for pkg in $enableval; do +- IFS="$lt_save_ifs" +- if test "X$pkg" = "X$p"; then +- enable_shared=yes +- fi +- done +- IFS="$lt_save_ifs" +- ;; +- esac], +- [enable_shared=]_LT_ENABLE_SHARED_DEFAULT) +- +- _LT_DECL([build_libtool_libs], [enable_shared], [0], +- [Whether or not to build shared libraries]) +-])# _LT_ENABLE_SHARED +- +-LT_OPTION_DEFINE([LT_INIT], [shared], [_LT_ENABLE_SHARED([yes])]) +-LT_OPTION_DEFINE([LT_INIT], [disable-shared], [_LT_ENABLE_SHARED([no])]) +- +-# Old names: +-AC_DEFUN([AC_ENABLE_SHARED], +-[_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[shared]) +-]) +- +-AC_DEFUN([AC_DISABLE_SHARED], +-[_LT_SET_OPTION([LT_INIT], [disable-shared]) +-]) +- +-AU_DEFUN([AM_ENABLE_SHARED], [AC_ENABLE_SHARED($@)]) +-AU_DEFUN([AM_DISABLE_SHARED], [AC_DISABLE_SHARED($@)]) +- +-dnl aclocal-1.4 backwards compatibility: +-dnl AC_DEFUN([AM_ENABLE_SHARED], []) +-dnl AC_DEFUN([AM_DISABLE_SHARED], []) +- +- +- +-# _LT_ENABLE_STATIC([DEFAULT]) +-# ---------------------------- +-# implement the --enable-static flag, and support the `static' and +-# `disable-static' LT_INIT options. +-# DEFAULT is either `yes' or `no'. If omitted, it defaults to `yes'. +-m4_define([_LT_ENABLE_STATIC], +-[m4_define([_LT_ENABLE_STATIC_DEFAULT], [m4_if($1, no, no, yes)])dnl +-AC_ARG_ENABLE([static], +- [AS_HELP_STRING([--enable-static@<:@=PKGS@:>@], +- [build static libraries @<:@default=]_LT_ENABLE_STATIC_DEFAULT[@:>@])], +- [p=${PACKAGE-default} +- case $enableval in +- yes) enable_static=yes ;; +- no) enable_static=no ;; +- *) +- enable_static=no +- # Look at the argument we got. We use all the common list separators. +- lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," +- for pkg in $enableval; do +- IFS="$lt_save_ifs" +- if test "X$pkg" = "X$p"; then +- enable_static=yes +- fi +- done +- IFS="$lt_save_ifs" +- ;; +- esac], +- [enable_static=]_LT_ENABLE_STATIC_DEFAULT) +- +- _LT_DECL([build_old_libs], [enable_static], [0], +- [Whether or not to build static libraries]) +-])# _LT_ENABLE_STATIC +- +-LT_OPTION_DEFINE([LT_INIT], [static], [_LT_ENABLE_STATIC([yes])]) +-LT_OPTION_DEFINE([LT_INIT], [disable-static], [_LT_ENABLE_STATIC([no])]) +- +-# Old names: +-AC_DEFUN([AC_ENABLE_STATIC], +-[_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[static]) +-]) +- +-AC_DEFUN([AC_DISABLE_STATIC], +-[_LT_SET_OPTION([LT_INIT], [disable-static]) +-]) +- +-AU_DEFUN([AM_ENABLE_STATIC], [AC_ENABLE_STATIC($@)]) +-AU_DEFUN([AM_DISABLE_STATIC], [AC_DISABLE_STATIC($@)]) +- +-dnl aclocal-1.4 backwards compatibility: +-dnl AC_DEFUN([AM_ENABLE_STATIC], []) +-dnl AC_DEFUN([AM_DISABLE_STATIC], []) +- +- +- +-# _LT_ENABLE_FAST_INSTALL([DEFAULT]) +-# ---------------------------------- +-# implement the --enable-fast-install flag, and support the `fast-install' +-# and `disable-fast-install' LT_INIT options. +-# DEFAULT is either `yes' or `no'. If omitted, it defaults to `yes'. +-m4_define([_LT_ENABLE_FAST_INSTALL], +-[m4_define([_LT_ENABLE_FAST_INSTALL_DEFAULT], [m4_if($1, no, no, yes)])dnl +-AC_ARG_ENABLE([fast-install], +- [AS_HELP_STRING([--enable-fast-install@<:@=PKGS@:>@], +- [optimize for fast installation @<:@default=]_LT_ENABLE_FAST_INSTALL_DEFAULT[@:>@])], +- [p=${PACKAGE-default} +- case $enableval in +- yes) enable_fast_install=yes ;; +- no) enable_fast_install=no ;; +- *) +- enable_fast_install=no +- # Look at the argument we got. We use all the common list separators. +- lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," +- for pkg in $enableval; do +- IFS="$lt_save_ifs" +- if test "X$pkg" = "X$p"; then +- enable_fast_install=yes +- fi +- done +- IFS="$lt_save_ifs" +- ;; +- esac], +- [enable_fast_install=]_LT_ENABLE_FAST_INSTALL_DEFAULT) +- +-_LT_DECL([fast_install], [enable_fast_install], [0], +- [Whether or not to optimize for fast installation])dnl +-])# _LT_ENABLE_FAST_INSTALL +- +-LT_OPTION_DEFINE([LT_INIT], [fast-install], [_LT_ENABLE_FAST_INSTALL([yes])]) +-LT_OPTION_DEFINE([LT_INIT], [disable-fast-install], [_LT_ENABLE_FAST_INSTALL([no])]) +- +-# Old names: +-AU_DEFUN([AC_ENABLE_FAST_INSTALL], +-[_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[fast-install]) +-AC_DIAGNOSE([obsolete], +-[$0: Remove this warning and the call to _LT_SET_OPTION when you put +-the `fast-install' option into LT_INIT's first parameter.]) +-]) +- +-AU_DEFUN([AC_DISABLE_FAST_INSTALL], +-[_LT_SET_OPTION([LT_INIT], [disable-fast-install]) +-AC_DIAGNOSE([obsolete], +-[$0: Remove this warning and the call to _LT_SET_OPTION when you put +-the `disable-fast-install' option into LT_INIT's first parameter.]) +-]) +- +-dnl aclocal-1.4 backwards compatibility: +-dnl AC_DEFUN([AC_ENABLE_FAST_INSTALL], []) +-dnl AC_DEFUN([AM_DISABLE_FAST_INSTALL], []) +- +- +-# _LT_WITH_PIC([MODE]) +-# -------------------- +-# implement the --with-pic flag, and support the `pic-only' and `no-pic' +-# LT_INIT options. +-# MODE is either `yes' or `no'. If omitted, it defaults to `both'. +-m4_define([_LT_WITH_PIC], +-[AC_ARG_WITH([pic], +- [AS_HELP_STRING([--with-pic], +- [try to use only PIC/non-PIC objects @<:@default=use both@:>@])], +- [pic_mode="$withval"], +- [pic_mode=default]) +- +-test -z "$pic_mode" && pic_mode=m4_default([$1], [default]) +- +-_LT_DECL([], [pic_mode], [0], [What type of objects to build])dnl +-])# _LT_WITH_PIC +- +-LT_OPTION_DEFINE([LT_INIT], [pic-only], [_LT_WITH_PIC([yes])]) +-LT_OPTION_DEFINE([LT_INIT], [no-pic], [_LT_WITH_PIC([no])]) +- +-# Old name: +-AU_DEFUN([AC_LIBTOOL_PICMODE], +-[_LT_SET_OPTION([LT_INIT], [pic-only]) +-AC_DIAGNOSE([obsolete], +-[$0: Remove this warning and the call to _LT_SET_OPTION when you +-put the `pic-only' option into LT_INIT's first parameter.]) +-]) +- +-dnl aclocal-1.4 backwards compatibility: +-dnl AC_DEFUN([AC_LIBTOOL_PICMODE], []) +- +-## ----------------- ## +-## LTDL_INIT Options ## +-## ----------------- ## +- +-m4_define([_LTDL_MODE], []) +-LT_OPTION_DEFINE([LTDL_INIT], [nonrecursive], +- [m4_define([_LTDL_MODE], [nonrecursive])]) +-LT_OPTION_DEFINE([LTDL_INIT], [recursive], +- [m4_define([_LTDL_MODE], [recursive])]) +-LT_OPTION_DEFINE([LTDL_INIT], [subproject], +- [m4_define([_LTDL_MODE], [subproject])]) +- +-m4_define([_LTDL_TYPE], []) +-LT_OPTION_DEFINE([LTDL_INIT], [installable], +- [m4_define([_LTDL_TYPE], [installable])]) +-LT_OPTION_DEFINE([LTDL_INIT], [convenience], +- [m4_define([_LTDL_TYPE], [convenience])]) +Index: libiconv-1.13.1/libcharset/m4/ltsugar.m4 +=================================================================== +--- libiconv-1.13.1.orig/libcharset/m4/ltsugar.m4 ++++ /dev/null +@@ -1,123 +0,0 @@ +-# ltsugar.m4 -- libtool m4 base layer. -*-Autoconf-*- +-# +-# Copyright (C) 2004, 2005, 2007, 2008 Free Software Foundation, Inc. +-# Written by Gary V. Vaughan, 2004 +-# +-# This file is free software; the Free Software Foundation gives +-# unlimited permission to copy and/or distribute it, with or without +-# modifications, as long as this notice is preserved. +- +-# serial 6 ltsugar.m4 +- +-# This is to help aclocal find these macros, as it can't see m4_define. +-AC_DEFUN([LTSUGAR_VERSION], [m4_if([0.1])]) +- +- +-# lt_join(SEP, ARG1, [ARG2...]) +-# ----------------------------- +-# Produce ARG1SEPARG2...SEPARGn, omitting [] arguments and their +-# associated separator. +-# Needed until we can rely on m4_join from Autoconf 2.62, since all earlier +-# versions in m4sugar had bugs. +-m4_define([lt_join], +-[m4_if([$#], [1], [], +- [$#], [2], [[$2]], +- [m4_if([$2], [], [], [[$2]_])$0([$1], m4_shift(m4_shift($@)))])]) +-m4_define([_lt_join], +-[m4_if([$#$2], [2], [], +- [m4_if([$2], [], [], [[$1$2]])$0([$1], m4_shift(m4_shift($@)))])]) +- +- +-# lt_car(LIST) +-# lt_cdr(LIST) +-# ------------ +-# Manipulate m4 lists. +-# These macros are necessary as long as will still need to support +-# Autoconf-2.59 which quotes differently. +-m4_define([lt_car], [[$1]]) +-m4_define([lt_cdr], +-[m4_if([$#], 0, [m4_fatal([$0: cannot be called without arguments])], +- [$#], 1, [], +- [m4_dquote(m4_shift($@))])]) +-m4_define([lt_unquote], $1) +- +- +-# lt_append(MACRO-NAME, STRING, [SEPARATOR]) +-# ------------------------------------------ +-# Redefine MACRO-NAME to hold its former content plus `SEPARATOR'`STRING'. +-# Note that neither SEPARATOR nor STRING are expanded; they are appended +-# to MACRO-NAME as is (leaving the expansion for when MACRO-NAME is invoked). +-# No SEPARATOR is output if MACRO-NAME was previously undefined (different +-# than defined and empty). +-# +-# This macro is needed until we can rely on Autoconf 2.62, since earlier +-# versions of m4sugar mistakenly expanded SEPARATOR but not STRING. +-m4_define([lt_append], +-[m4_define([$1], +- m4_ifdef([$1], [m4_defn([$1])[$3]])[$2])]) +- +- +- +-# lt_combine(SEP, PREFIX-LIST, INFIX, SUFFIX1, [SUFFIX2...]) +-# ---------------------------------------------------------- +-# Produce a SEP delimited list of all paired combinations of elements of +-# PREFIX-LIST with SUFFIX1 through SUFFIXn. Each element of the list +-# has the form PREFIXmINFIXSUFFIXn. +-# Needed until we can rely on m4_combine added in Autoconf 2.62. +-m4_define([lt_combine], +-[m4_if(m4_eval([$# > 3]), [1], +- [m4_pushdef([_Lt_sep], [m4_define([_Lt_sep], m4_defn([lt_car]))])]]dnl +-[[m4_foreach([_Lt_prefix], [$2], +- [m4_foreach([_Lt_suffix], +- ]m4_dquote(m4_dquote(m4_shift(m4_shift(m4_shift($@)))))[, +- [_Lt_sep([$1])[]m4_defn([_Lt_prefix])[$3]m4_defn([_Lt_suffix])])])])]) +- +- +-# lt_if_append_uniq(MACRO-NAME, VARNAME, [SEPARATOR], [UNIQ], [NOT-UNIQ]) +-# ----------------------------------------------------------------------- +-# Iff MACRO-NAME does not yet contain VARNAME, then append it (delimited +-# by SEPARATOR if supplied) and expand UNIQ, else NOT-UNIQ. +-m4_define([lt_if_append_uniq], +-[m4_ifdef([$1], +- [m4_if(m4_index([$3]m4_defn([$1])[$3], [$3$2$3]), [-1], +- [lt_append([$1], [$2], [$3])$4], +- [$5])], +- [lt_append([$1], [$2], [$3])$4])]) +- +- +-# lt_dict_add(DICT, KEY, VALUE) +-# ----------------------------- +-m4_define([lt_dict_add], +-[m4_define([$1($2)], [$3])]) +- +- +-# lt_dict_add_subkey(DICT, KEY, SUBKEY, VALUE) +-# -------------------------------------------- +-m4_define([lt_dict_add_subkey], +-[m4_define([$1($2:$3)], [$4])]) +- +- +-# lt_dict_fetch(DICT, KEY, [SUBKEY]) +-# ---------------------------------- +-m4_define([lt_dict_fetch], +-[m4_ifval([$3], +- m4_ifdef([$1($2:$3)], [m4_defn([$1($2:$3)])]), +- m4_ifdef([$1($2)], [m4_defn([$1($2)])]))]) +- +- +-# lt_if_dict_fetch(DICT, KEY, [SUBKEY], VALUE, IF-TRUE, [IF-FALSE]) +-# ----------------------------------------------------------------- +-m4_define([lt_if_dict_fetch], +-[m4_if(lt_dict_fetch([$1], [$2], [$3]), [$4], +- [$5], +- [$6])]) +- +- +-# lt_dict_filter(DICT, [SUBKEY], VALUE, [SEPARATOR], KEY, [...]) +-# -------------------------------------------------------------- +-m4_define([lt_dict_filter], +-[m4_if([$5], [], [], +- [lt_join(m4_quote(m4_default([$4], [[, ]])), +- lt_unquote(m4_split(m4_normalize(m4_foreach(_Lt_key, lt_car([m4_shiftn(4, $@)]), +- [lt_if_dict_fetch([$1], _Lt_key, [$2], [$3], [_Lt_key ])])))))])[]dnl +-]) +Index: libiconv-1.13.1/libcharset/m4/ltversion.m4 +=================================================================== +--- libiconv-1.13.1.orig/libcharset/m4/ltversion.m4 ++++ /dev/null +@@ -1,23 +0,0 @@ +-# ltversion.m4 -- version numbers -*- Autoconf -*- +-# +-# Copyright (C) 2004 Free Software Foundation, Inc. +-# Written by Scott James Remnant, 2004 +-# +-# This file is free software; the Free Software Foundation gives +-# unlimited permission to copy and/or distribute it, with or without +-# modifications, as long as this notice is preserved. +- +-# Generated from ltversion.in. +- +-# serial 3012 ltversion.m4 +-# This file is part of GNU Libtool +- +-m4_define([LT_PACKAGE_VERSION], [2.2.6]) +-m4_define([LT_PACKAGE_REVISION], [1.3012]) +- +-AC_DEFUN([LTVERSION_VERSION], +-[macro_version='2.2.6' +-macro_revision='1.3012' +-_LT_DECL(, macro_version, 0, [Which release of libtool.m4 was used?]) +-_LT_DECL(, macro_revision, 0) +-]) +Index: libiconv-1.13.1/libcharset/m4/lt~obsolete.m4 +=================================================================== +--- libiconv-1.13.1.orig/libcharset/m4/lt~obsolete.m4 ++++ /dev/null +@@ -1,92 +0,0 @@ +-# lt~obsolete.m4 -- aclocal satisfying obsolete definitions. -*-Autoconf-*- +-# +-# Copyright (C) 2004, 2005, 2007 Free Software Foundation, Inc. +-# Written by Scott James Remnant, 2004. +-# +-# This file is free software; the Free Software Foundation gives +-# unlimited permission to copy and/or distribute it, with or without +-# modifications, as long as this notice is preserved. +- +-# serial 4 lt~obsolete.m4 +- +-# These exist entirely to fool aclocal when bootstrapping libtool. +-# +-# In the past libtool.m4 has provided macros via AC_DEFUN (or AU_DEFUN) +-# which have later been changed to m4_define as they aren't part of the +-# exported API, or moved to Autoconf or Automake where they belong. +-# +-# The trouble is, aclocal is a bit thick. It'll see the old AC_DEFUN +-# in /usr/share/aclocal/libtool.m4 and remember it, then when it sees us +-# using a macro with the same name in our local m4/libtool.m4 it'll +-# pull the old libtool.m4 in (it doesn't see our shiny new m4_define +-# and doesn't know about Autoconf macros at all.) +-# +-# So we provide this file, which has a silly filename so it's always +-# included after everything else. This provides aclocal with the +-# AC_DEFUNs it wants, but when m4 processes it, it doesn't do anything +-# because those macros already exist, or will be overwritten later. +-# We use AC_DEFUN over AU_DEFUN for compatibility with aclocal-1.6. +-# +-# Anytime we withdraw an AC_DEFUN or AU_DEFUN, remember to add it here. +-# Yes, that means every name once taken will need to remain here until +-# we give up compatibility with versions before 1.7, at which point +-# we need to keep only those names which we still refer to. +- +-# This is to help aclocal find these macros, as it can't see m4_define. +-AC_DEFUN([LTOBSOLETE_VERSION], [m4_if([1])]) +- +-m4_ifndef([AC_LIBTOOL_LINKER_OPTION], [AC_DEFUN([AC_LIBTOOL_LINKER_OPTION])]) +-m4_ifndef([AC_PROG_EGREP], [AC_DEFUN([AC_PROG_EGREP])]) +-m4_ifndef([_LT_AC_PROG_ECHO_BACKSLASH], [AC_DEFUN([_LT_AC_PROG_ECHO_BACKSLASH])]) +-m4_ifndef([_LT_AC_SHELL_INIT], [AC_DEFUN([_LT_AC_SHELL_INIT])]) +-m4_ifndef([_LT_AC_SYS_LIBPATH_AIX], [AC_DEFUN([_LT_AC_SYS_LIBPATH_AIX])]) +-m4_ifndef([_LT_PROG_LTMAIN], [AC_DEFUN([_LT_PROG_LTMAIN])]) +-m4_ifndef([_LT_AC_TAGVAR], [AC_DEFUN([_LT_AC_TAGVAR])]) +-m4_ifndef([AC_LTDL_ENABLE_INSTALL], [AC_DEFUN([AC_LTDL_ENABLE_INSTALL])]) +-m4_ifndef([AC_LTDL_PREOPEN], [AC_DEFUN([AC_LTDL_PREOPEN])]) +-m4_ifndef([_LT_AC_SYS_COMPILER], [AC_DEFUN([_LT_AC_SYS_COMPILER])]) +-m4_ifndef([_LT_AC_LOCK], [AC_DEFUN([_LT_AC_LOCK])]) +-m4_ifndef([AC_LIBTOOL_SYS_OLD_ARCHIVE], [AC_DEFUN([AC_LIBTOOL_SYS_OLD_ARCHIVE])]) +-m4_ifndef([_LT_AC_TRY_DLOPEN_SELF], [AC_DEFUN([_LT_AC_TRY_DLOPEN_SELF])]) +-m4_ifndef([AC_LIBTOOL_PROG_CC_C_O], [AC_DEFUN([AC_LIBTOOL_PROG_CC_C_O])]) +-m4_ifndef([AC_LIBTOOL_SYS_HARD_LINK_LOCKS], [AC_DEFUN([AC_LIBTOOL_SYS_HARD_LINK_LOCKS])]) +-m4_ifndef([AC_LIBTOOL_OBJDIR], [AC_DEFUN([AC_LIBTOOL_OBJDIR])]) +-m4_ifndef([AC_LTDL_OBJDIR], [AC_DEFUN([AC_LTDL_OBJDIR])]) +-m4_ifndef([AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH], [AC_DEFUN([AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH])]) +-m4_ifndef([AC_LIBTOOL_SYS_LIB_STRIP], [AC_DEFUN([AC_LIBTOOL_SYS_LIB_STRIP])]) +-m4_ifndef([AC_PATH_MAGIC], [AC_DEFUN([AC_PATH_MAGIC])]) +-m4_ifndef([AC_PROG_LD_GNU], [AC_DEFUN([AC_PROG_LD_GNU])]) +-m4_ifndef([AC_PROG_LD_RELOAD_FLAG], [AC_DEFUN([AC_PROG_LD_RELOAD_FLAG])]) +-m4_ifndef([AC_DEPLIBS_CHECK_METHOD], [AC_DEFUN([AC_DEPLIBS_CHECK_METHOD])]) +-m4_ifndef([AC_LIBTOOL_PROG_COMPILER_NO_RTTI], [AC_DEFUN([AC_LIBTOOL_PROG_COMPILER_NO_RTTI])]) +-m4_ifndef([AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE], [AC_DEFUN([AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE])]) +-m4_ifndef([AC_LIBTOOL_PROG_COMPILER_PIC], [AC_DEFUN([AC_LIBTOOL_PROG_COMPILER_PIC])]) +-m4_ifndef([AC_LIBTOOL_PROG_LD_SHLIBS], [AC_DEFUN([AC_LIBTOOL_PROG_LD_SHLIBS])]) +-m4_ifndef([AC_LIBTOOL_POSTDEP_PREDEP], [AC_DEFUN([AC_LIBTOOL_POSTDEP_PREDEP])]) +-m4_ifndef([LT_AC_PROG_EGREP], [AC_DEFUN([LT_AC_PROG_EGREP])]) +-m4_ifndef([LT_AC_PROG_SED], [AC_DEFUN([LT_AC_PROG_SED])]) +-m4_ifndef([_LT_CC_BASENAME], [AC_DEFUN([_LT_CC_BASENAME])]) +-m4_ifndef([_LT_COMPILER_BOILERPLATE], [AC_DEFUN([_LT_COMPILER_BOILERPLATE])]) +-m4_ifndef([_LT_LINKER_BOILERPLATE], [AC_DEFUN([_LT_LINKER_BOILERPLATE])]) +-m4_ifndef([_AC_PROG_LIBTOOL], [AC_DEFUN([_AC_PROG_LIBTOOL])]) +-m4_ifndef([AC_LIBTOOL_SETUP], [AC_DEFUN([AC_LIBTOOL_SETUP])]) +-m4_ifndef([_LT_AC_CHECK_DLFCN], [AC_DEFUN([_LT_AC_CHECK_DLFCN])]) +-m4_ifndef([AC_LIBTOOL_SYS_DYNAMIC_LINKER], [AC_DEFUN([AC_LIBTOOL_SYS_DYNAMIC_LINKER])]) +-m4_ifndef([_LT_AC_TAGCONFIG], [AC_DEFUN([_LT_AC_TAGCONFIG])]) +-m4_ifndef([AC_DISABLE_FAST_INSTALL], [AC_DEFUN([AC_DISABLE_FAST_INSTALL])]) +-m4_ifndef([_LT_AC_LANG_CXX], [AC_DEFUN([_LT_AC_LANG_CXX])]) +-m4_ifndef([_LT_AC_LANG_F77], [AC_DEFUN([_LT_AC_LANG_F77])]) +-m4_ifndef([_LT_AC_LANG_GCJ], [AC_DEFUN([_LT_AC_LANG_GCJ])]) +-m4_ifndef([AC_LIBTOOL_RC], [AC_DEFUN([AC_LIBTOOL_RC])]) +-m4_ifndef([AC_LIBTOOL_LANG_C_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_C_CONFIG])]) +-m4_ifndef([_LT_AC_LANG_C_CONFIG], [AC_DEFUN([_LT_AC_LANG_C_CONFIG])]) +-m4_ifndef([AC_LIBTOOL_LANG_CXX_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_CXX_CONFIG])]) +-m4_ifndef([_LT_AC_LANG_CXX_CONFIG], [AC_DEFUN([_LT_AC_LANG_CXX_CONFIG])]) +-m4_ifndef([AC_LIBTOOL_LANG_F77_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_F77_CONFIG])]) +-m4_ifndef([_LT_AC_LANG_F77_CONFIG], [AC_DEFUN([_LT_AC_LANG_F77_CONFIG])]) +-m4_ifndef([AC_LIBTOOL_LANG_GCJ_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_GCJ_CONFIG])]) +-m4_ifndef([_LT_AC_LANG_GCJ_CONFIG], [AC_DEFUN([_LT_AC_LANG_GCJ_CONFIG])]) +-m4_ifndef([AC_LIBTOOL_LANG_RC_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_RC_CONFIG])]) +-m4_ifndef([_LT_AC_LANG_RC_CONFIG], [AC_DEFUN([_LT_AC_LANG_RC_CONFIG])]) +-m4_ifndef([AC_LIBTOOL_CONFIG], [AC_DEFUN([AC_LIBTOOL_CONFIG])]) +-m4_ifndef([_LT_AC_FILE_LTDLL_C], [AC_DEFUN([_LT_AC_FILE_LTDLL_C])]) +Index: libiconv-1.13.1/m4/libtool.m4 +=================================================================== +--- libiconv-1.13.1.orig/m4/libtool.m4 ++++ /dev/null +@@ -1,7357 +0,0 @@ +-# libtool.m4 - Configure libtool for the host system. -*-Autoconf-*- +-# +-# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005, +-# 2006, 2007, 2008 Free Software Foundation, Inc. +-# Written by Gordon Matzigkeit, 1996 +-# +-# This file is free software; the Free Software Foundation gives +-# unlimited permission to copy and/or distribute it, with or without +-# modifications, as long as this notice is preserved. +- +-m4_define([_LT_COPYING], [dnl +-# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005, +-# 2006, 2007, 2008 Free Software Foundation, Inc. +-# Written by Gordon Matzigkeit, 1996 +-# +-# This file is part of GNU Libtool. +-# +-# GNU Libtool is free software; you can redistribute it and/or +-# modify it under the terms of the GNU General Public License as +-# published by the Free Software Foundation; either version 2 of +-# the License, or (at your option) any later version. +-# +-# As a special exception to the GNU General Public License, +-# if you distribute this file as part of a program or library that +-# is built using GNU Libtool, you may include this file under the +-# same distribution terms that you use for the rest of that program. +-# +-# GNU Libtool is distributed in the hope that it will be useful, +-# but WITHOUT ANY WARRANTY; without even the implied warranty of +-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +-# GNU General Public License for more details. +-# +-# You should have received a copy of the GNU General Public License +-# along with GNU Libtool; see the file COPYING. If not, a copy +-# can be downloaded from http://www.gnu.org/licenses/gpl.html, or +-# obtained by writing to the Free Software Foundation, Inc., +-# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. +-]) +- +-# serial 56 LT_INIT +- +- +-# LT_PREREQ(VERSION) +-# ------------------ +-# Complain and exit if this libtool version is less that VERSION. +-m4_defun([LT_PREREQ], +-[m4_if(m4_version_compare(m4_defn([LT_PACKAGE_VERSION]), [$1]), -1, +- [m4_default([$3], +- [m4_fatal([Libtool version $1 or higher is required], +- 63)])], +- [$2])]) +- +- +-# _LT_CHECK_BUILDDIR +-# ------------------ +-# Complain if the absolute build directory name contains unusual characters +-m4_defun([_LT_CHECK_BUILDDIR], +-[case `pwd` in +- *\ * | *\ *) +- AC_MSG_WARN([Libtool does not cope well with whitespace in `pwd`]) ;; +-esac +-]) +- +- +-# LT_INIT([OPTIONS]) +-# ------------------ +-AC_DEFUN([LT_INIT], +-[AC_PREREQ([2.58])dnl We use AC_INCLUDES_DEFAULT +-AC_BEFORE([$0], [LT_LANG])dnl +-AC_BEFORE([$0], [LT_OUTPUT])dnl +-AC_BEFORE([$0], [LTDL_INIT])dnl +-m4_require([_LT_CHECK_BUILDDIR])dnl +- +-dnl Autoconf doesn't catch unexpanded LT_ macros by default: +-m4_pattern_forbid([^_?LT_[A-Z_]+$])dnl +-m4_pattern_allow([^(_LT_EOF|LT_DLGLOBAL|LT_DLLAZY_OR_NOW|LT_MULTI_MODULE)$])dnl +-dnl aclocal doesn't pull ltoptions.m4, ltsugar.m4, or ltversion.m4 +-dnl unless we require an AC_DEFUNed macro: +-AC_REQUIRE([LTOPTIONS_VERSION])dnl +-AC_REQUIRE([LTSUGAR_VERSION])dnl +-AC_REQUIRE([LTVERSION_VERSION])dnl +-AC_REQUIRE([LTOBSOLETE_VERSION])dnl +-m4_require([_LT_PROG_LTMAIN])dnl +- +-dnl Parse OPTIONS +-_LT_SET_OPTIONS([$0], [$1]) +- +-# This can be used to rebuild libtool when needed +-LIBTOOL_DEPS="$ltmain" +- +-# Always use our own libtool. +-LIBTOOL="${CONFIG_SHELL-$SHELL} "'$(top_builddir)/libtool' +-AC_SUBST(LIBTOOL)dnl +- +-_LT_SETUP +- +-# Only expand once: +-m4_define([LT_INIT]) +-])# LT_INIT +- +-# Old names: +-AU_ALIAS([AC_PROG_LIBTOOL], [LT_INIT]) +-AU_ALIAS([AM_PROG_LIBTOOL], [LT_INIT]) +-dnl aclocal-1.4 backwards compatibility: +-dnl AC_DEFUN([AC_PROG_LIBTOOL], []) +-dnl AC_DEFUN([AM_PROG_LIBTOOL], []) +- +- +-# _LT_CC_BASENAME(CC) +-# ------------------- +-# Calculate cc_basename. Skip known compiler wrappers and cross-prefix. +-m4_defun([_LT_CC_BASENAME], +-[for cc_temp in $1""; do +- case $cc_temp in +- compile | *[[\\/]]compile | ccache | *[[\\/]]ccache ) ;; +- distcc | *[[\\/]]distcc | purify | *[[\\/]]purify ) ;; +- \-*) ;; +- *) break;; +- esac +-done +-cc_basename=`$ECHO "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"` +-]) +- +- +-# _LT_FILEUTILS_DEFAULTS +-# ---------------------- +-# It is okay to use these file commands and assume they have been set +-# sensibly after `m4_require([_LT_FILEUTILS_DEFAULTS])'. +-m4_defun([_LT_FILEUTILS_DEFAULTS], +-[: ${CP="cp -f"} +-: ${MV="mv -f"} +-: ${RM="rm -f"} +-])# _LT_FILEUTILS_DEFAULTS +- +- +-# _LT_SETUP +-# --------- +-m4_defun([_LT_SETUP], +-[AC_REQUIRE([AC_CANONICAL_HOST])dnl +-AC_REQUIRE([AC_CANONICAL_BUILD])dnl +-_LT_DECL([], [host_alias], [0], [The host system])dnl +-_LT_DECL([], [host], [0])dnl +-_LT_DECL([], [host_os], [0])dnl +-dnl +-_LT_DECL([], [build_alias], [0], [The build system])dnl +-_LT_DECL([], [build], [0])dnl +-_LT_DECL([], [build_os], [0])dnl +-dnl +-AC_REQUIRE([AC_PROG_CC])dnl +-AC_REQUIRE([LT_PATH_LD])dnl +-AC_REQUIRE([LT_PATH_NM])dnl +-dnl +-AC_REQUIRE([AC_PROG_LN_S])dnl +-test -z "$LN_S" && LN_S="ln -s" +-_LT_DECL([], [LN_S], [1], [Whether we need soft or hard links])dnl +-dnl +-AC_REQUIRE([LT_CMD_MAX_LEN])dnl +-_LT_DECL([objext], [ac_objext], [0], [Object file suffix (normally "o")])dnl +-_LT_DECL([], [exeext], [0], [Executable file suffix (normally "")])dnl +-dnl +-m4_require([_LT_FILEUTILS_DEFAULTS])dnl +-m4_require([_LT_CHECK_SHELL_FEATURES])dnl +-m4_require([_LT_CMD_RELOAD])dnl +-m4_require([_LT_CHECK_MAGIC_METHOD])dnl +-m4_require([_LT_CMD_OLD_ARCHIVE])dnl +-m4_require([_LT_CMD_GLOBAL_SYMBOLS])dnl +- +-_LT_CONFIG_LIBTOOL_INIT([ +-# See if we are running on zsh, and set the options which allow our +-# commands through without removal of \ escapes INIT. +-if test -n "\${ZSH_VERSION+set}" ; then +- setopt NO_GLOB_SUBST +-fi +-]) +-if test -n "${ZSH_VERSION+set}" ; then +- setopt NO_GLOB_SUBST +-fi +- +-_LT_CHECK_OBJDIR +- +-m4_require([_LT_TAG_COMPILER])dnl +-_LT_PROG_ECHO_BACKSLASH +- +-case $host_os in +-aix3*) +- # AIX sometimes has problems with the GCC collect2 program. For some +- # reason, if we set the COLLECT_NAMES environment variable, the problems +- # vanish in a puff of smoke. +- if test "X${COLLECT_NAMES+set}" != Xset; then +- COLLECT_NAMES= +- export COLLECT_NAMES +- fi +- ;; +-esac +- +-# Sed substitution that helps us do robust quoting. It backslashifies +-# metacharacters that are still active within double-quoted strings. +-sed_quote_subst='s/\([["`$\\]]\)/\\\1/g' +- +-# Same as above, but do not quote variable references. +-double_quote_subst='s/\([["`\\]]\)/\\\1/g' +- +-# Sed substitution to delay expansion of an escaped shell variable in a +-# double_quote_subst'ed string. +-delay_variable_subst='s/\\\\\\\\\\\$/\\\\\\$/g' +- +-# Sed substitution to delay expansion of an escaped single quote. +-delay_single_quote_subst='s/'\''/'\'\\\\\\\'\''/g' +- +-# Sed substitution to avoid accidental globbing in evaled expressions +-no_glob_subst='s/\*/\\\*/g' +- +-# Global variables: +-ofile=libtool +-can_build_shared=yes +- +-# All known linkers require a `.a' archive for static linking (except MSVC, +-# which needs '.lib'). +-libext=a +- +-with_gnu_ld="$lt_cv_prog_gnu_ld" +- +-old_CC="$CC" +-old_CFLAGS="$CFLAGS" +- +-# Set sane defaults for various variables +-test -z "$CC" && CC=cc +-test -z "$LTCC" && LTCC=$CC +-test -z "$LTCFLAGS" && LTCFLAGS=$CFLAGS +-test -z "$LD" && LD=ld +-test -z "$ac_objext" && ac_objext=o +- +-_LT_CC_BASENAME([$compiler]) +- +-# Only perform the check for file, if the check method requires it +-test -z "$MAGIC_CMD" && MAGIC_CMD=file +-case $deplibs_check_method in +-file_magic*) +- if test "$file_magic_cmd" = '$MAGIC_CMD'; then +- _LT_PATH_MAGIC +- fi +- ;; +-esac +- +-# Use C for the default configuration in the libtool script +-LT_SUPPORTED_TAG([CC]) +-_LT_LANG_C_CONFIG +-_LT_LANG_DEFAULT_CONFIG +-_LT_CONFIG_COMMANDS +-])# _LT_SETUP +- +- +-# _LT_PROG_LTMAIN +-# --------------- +-# Note that this code is called both from `configure', and `config.status' +-# now that we use AC_CONFIG_COMMANDS to generate libtool. Notably, +-# `config.status' has no value for ac_aux_dir unless we are using Automake, +-# so we pass a copy along to make sure it has a sensible value anyway. +-m4_defun([_LT_PROG_LTMAIN], +-[m4_ifdef([AC_REQUIRE_AUX_FILE], [AC_REQUIRE_AUX_FILE([ltmain.sh])])dnl +-_LT_CONFIG_LIBTOOL_INIT([ac_aux_dir='$ac_aux_dir']) +-ltmain="$ac_aux_dir/ltmain.sh" +-])# _LT_PROG_LTMAIN +- +- +-## ------------------------------------- ## +-## Accumulate code for creating libtool. ## +-## ------------------------------------- ## +- +-# So that we can recreate a full libtool script including additional +-# tags, we accumulate the chunks of code to send to AC_CONFIG_COMMANDS +-# in macros and then make a single call at the end using the `libtool' +-# label. +- +- +-# _LT_CONFIG_LIBTOOL_INIT([INIT-COMMANDS]) +-# ---------------------------------------- +-# Register INIT-COMMANDS to be passed to AC_CONFIG_COMMANDS later. +-m4_define([_LT_CONFIG_LIBTOOL_INIT], +-[m4_ifval([$1], +- [m4_append([_LT_OUTPUT_LIBTOOL_INIT], +- [$1 +-])])]) +- +-# Initialize. +-m4_define([_LT_OUTPUT_LIBTOOL_INIT]) +- +- +-# _LT_CONFIG_LIBTOOL([COMMANDS]) +-# ------------------------------ +-# Register COMMANDS to be passed to AC_CONFIG_COMMANDS later. +-m4_define([_LT_CONFIG_LIBTOOL], +-[m4_ifval([$1], +- [m4_append([_LT_OUTPUT_LIBTOOL_COMMANDS], +- [$1 +-])])]) +- +-# Initialize. +-m4_define([_LT_OUTPUT_LIBTOOL_COMMANDS]) +- +- +-# _LT_CONFIG_SAVE_COMMANDS([COMMANDS], [INIT_COMMANDS]) +-# ----------------------------------------------------- +-m4_defun([_LT_CONFIG_SAVE_COMMANDS], +-[_LT_CONFIG_LIBTOOL([$1]) +-_LT_CONFIG_LIBTOOL_INIT([$2]) +-]) +- +- +-# _LT_FORMAT_COMMENT([COMMENT]) +-# ----------------------------- +-# Add leading comment marks to the start of each line, and a trailing +-# full-stop to the whole comment if one is not present already. +-m4_define([_LT_FORMAT_COMMENT], +-[m4_ifval([$1], [ +-m4_bpatsubst([m4_bpatsubst([$1], [^ *], [# ])], +- [['`$\]], [\\\&])]m4_bmatch([$1], [[!?.]$], [], [.]) +-)]) +- +- +- +-## ------------------------ ## +-## FIXME: Eliminate VARNAME ## +-## ------------------------ ## +- +- +-# _LT_DECL([CONFIGNAME], VARNAME, VALUE, [DESCRIPTION], [IS-TAGGED?]) +-# ------------------------------------------------------------------- +-# CONFIGNAME is the name given to the value in the libtool script. +-# VARNAME is the (base) name used in the configure script. +-# VALUE may be 0, 1 or 2 for a computed quote escaped value based on +-# VARNAME. Any other value will be used directly. +-m4_define([_LT_DECL], +-[lt_if_append_uniq([lt_decl_varnames], [$2], [, ], +- [lt_dict_add_subkey([lt_decl_dict], [$2], [libtool_name], +- [m4_ifval([$1], [$1], [$2])]) +- lt_dict_add_subkey([lt_decl_dict], [$2], [value], [$3]) +- m4_ifval([$4], +- [lt_dict_add_subkey([lt_decl_dict], [$2], [description], [$4])]) +- lt_dict_add_subkey([lt_decl_dict], [$2], +- [tagged?], [m4_ifval([$5], [yes], [no])])]) +-]) +- +- +-# _LT_TAGDECL([CONFIGNAME], VARNAME, VALUE, [DESCRIPTION]) +-# -------------------------------------------------------- +-m4_define([_LT_TAGDECL], [_LT_DECL([$1], [$2], [$3], [$4], [yes])]) +- +- +-# lt_decl_tag_varnames([SEPARATOR], [VARNAME1...]) +-# ------------------------------------------------ +-m4_define([lt_decl_tag_varnames], +-[_lt_decl_filter([tagged?], [yes], $@)]) +- +- +-# _lt_decl_filter(SUBKEY, VALUE, [SEPARATOR], [VARNAME1..]) +-# --------------------------------------------------------- +-m4_define([_lt_decl_filter], +-[m4_case([$#], +- [0], [m4_fatal([$0: too few arguments: $#])], +- [1], [m4_fatal([$0: too few arguments: $#: $1])], +- [2], [lt_dict_filter([lt_decl_dict], [$1], [$2], [], lt_decl_varnames)], +- [3], [lt_dict_filter([lt_decl_dict], [$1], [$2], [$3], lt_decl_varnames)], +- [lt_dict_filter([lt_decl_dict], $@)])[]dnl +-]) +- +- +-# lt_decl_quote_varnames([SEPARATOR], [VARNAME1...]) +-# -------------------------------------------------- +-m4_define([lt_decl_quote_varnames], +-[_lt_decl_filter([value], [1], $@)]) +- +- +-# lt_decl_dquote_varnames([SEPARATOR], [VARNAME1...]) +-# --------------------------------------------------- +-m4_define([lt_decl_dquote_varnames], +-[_lt_decl_filter([value], [2], $@)]) +- +- +-# lt_decl_varnames_tagged([SEPARATOR], [VARNAME1...]) +-# --------------------------------------------------- +-m4_define([lt_decl_varnames_tagged], +-[m4_assert([$# <= 2])dnl +-_$0(m4_quote(m4_default([$1], [[, ]])), +- m4_ifval([$2], [[$2]], [m4_dquote(lt_decl_tag_varnames)]), +- m4_split(m4_normalize(m4_quote(_LT_TAGS)), [ ]))]) +-m4_define([_lt_decl_varnames_tagged], +-[m4_ifval([$3], [lt_combine([$1], [$2], [_], $3)])]) +- +- +-# lt_decl_all_varnames([SEPARATOR], [VARNAME1...]) +-# ------------------------------------------------ +-m4_define([lt_decl_all_varnames], +-[_$0(m4_quote(m4_default([$1], [[, ]])), +- m4_if([$2], [], +- m4_quote(lt_decl_varnames), +- m4_quote(m4_shift($@))))[]dnl +-]) +-m4_define([_lt_decl_all_varnames], +-[lt_join($@, lt_decl_varnames_tagged([$1], +- lt_decl_tag_varnames([[, ]], m4_shift($@))))dnl +-]) +- +- +-# _LT_CONFIG_STATUS_DECLARE([VARNAME]) +-# ------------------------------------ +-# Quote a variable value, and forward it to `config.status' so that its +-# declaration there will have the same value as in `configure'. VARNAME +-# must have a single quote delimited value for this to work. +-m4_define([_LT_CONFIG_STATUS_DECLARE], +-[$1='`$ECHO "X$][$1" | $Xsed -e "$delay_single_quote_subst"`']) +- +- +-# _LT_CONFIG_STATUS_DECLARATIONS +-# ------------------------------ +-# We delimit libtool config variables with single quotes, so when +-# we write them to config.status, we have to be sure to quote all +-# embedded single quotes properly. In configure, this macro expands +-# each variable declared with _LT_DECL (and _LT_TAGDECL) into: +-# +-# <var>='`$ECHO "X$<var>" | $Xsed -e "$delay_single_quote_subst"`' +-m4_defun([_LT_CONFIG_STATUS_DECLARATIONS], +-[m4_foreach([_lt_var], m4_quote(lt_decl_all_varnames), +- [m4_n([_LT_CONFIG_STATUS_DECLARE(_lt_var)])])]) +- +- +-# _LT_LIBTOOL_TAGS +-# ---------------- +-# Output comment and list of tags supported by the script +-m4_defun([_LT_LIBTOOL_TAGS], +-[_LT_FORMAT_COMMENT([The names of the tagged configurations supported by this script])dnl +-available_tags="_LT_TAGS"dnl +-]) +- +- +-# _LT_LIBTOOL_DECLARE(VARNAME, [TAG]) +-# ----------------------------------- +-# Extract the dictionary values for VARNAME (optionally with TAG) and +-# expand to a commented shell variable setting: +-# +-# # Some comment about what VAR is for. +-# visible_name=$lt_internal_name +-m4_define([_LT_LIBTOOL_DECLARE], +-[_LT_FORMAT_COMMENT(m4_quote(lt_dict_fetch([lt_decl_dict], [$1], +- [description])))[]dnl +-m4_pushdef([_libtool_name], +- m4_quote(lt_dict_fetch([lt_decl_dict], [$1], [libtool_name])))[]dnl +-m4_case(m4_quote(lt_dict_fetch([lt_decl_dict], [$1], [value])), +- [0], [_libtool_name=[$]$1], +- [1], [_libtool_name=$lt_[]$1], +- [2], [_libtool_name=$lt_[]$1], +- [_libtool_name=lt_dict_fetch([lt_decl_dict], [$1], [value])])[]dnl +-m4_ifval([$2], [_$2])[]m4_popdef([_libtool_name])[]dnl +-]) +- +- +-# _LT_LIBTOOL_CONFIG_VARS +-# ----------------------- +-# Produce commented declarations of non-tagged libtool config variables +-# suitable for insertion in the LIBTOOL CONFIG section of the `libtool' +-# script. Tagged libtool config variables (even for the LIBTOOL CONFIG +-# section) are produced by _LT_LIBTOOL_TAG_VARS. +-m4_defun([_LT_LIBTOOL_CONFIG_VARS], +-[m4_foreach([_lt_var], +- m4_quote(_lt_decl_filter([tagged?], [no], [], lt_decl_varnames)), +- [m4_n([_LT_LIBTOOL_DECLARE(_lt_var)])])]) +- +- +-# _LT_LIBTOOL_TAG_VARS(TAG) +-# ------------------------- +-m4_define([_LT_LIBTOOL_TAG_VARS], +-[m4_foreach([_lt_var], m4_quote(lt_decl_tag_varnames), +- [m4_n([_LT_LIBTOOL_DECLARE(_lt_var, [$1])])])]) +- +- +-# _LT_TAGVAR(VARNAME, [TAGNAME]) +-# ------------------------------ +-m4_define([_LT_TAGVAR], [m4_ifval([$2], [$1_$2], [$1])]) +- +- +-# _LT_CONFIG_COMMANDS +-# ------------------- +-# Send accumulated output to $CONFIG_STATUS. Thanks to the lists of +-# variables for single and double quote escaping we saved from calls +-# to _LT_DECL, we can put quote escaped variables declarations +-# into `config.status', and then the shell code to quote escape them in +-# for loops in `config.status'. Finally, any additional code accumulated +-# from calls to _LT_CONFIG_LIBTOOL_INIT is expanded. +-m4_defun([_LT_CONFIG_COMMANDS], +-[AC_PROVIDE_IFELSE([LT_OUTPUT], +- dnl If the libtool generation code has been placed in $CONFIG_LT, +- dnl instead of duplicating it all over again into config.status, +- dnl then we will have config.status run $CONFIG_LT later, so it +- dnl needs to know what name is stored there: +- [AC_CONFIG_COMMANDS([libtool], +- [$SHELL $CONFIG_LT || AS_EXIT(1)], [CONFIG_LT='$CONFIG_LT'])], +- dnl If the libtool generation code is destined for config.status, +- dnl expand the accumulated commands and init code now: +- [AC_CONFIG_COMMANDS([libtool], +- [_LT_OUTPUT_LIBTOOL_COMMANDS], [_LT_OUTPUT_LIBTOOL_COMMANDS_INIT])]) +-])#_LT_CONFIG_COMMANDS +- +- +-# Initialize. +-m4_define([_LT_OUTPUT_LIBTOOL_COMMANDS_INIT], +-[ +- +-# The HP-UX ksh and POSIX shell print the target directory to stdout +-# if CDPATH is set. +-(unset CDPATH) >/dev/null 2>&1 && unset CDPATH +- +-sed_quote_subst='$sed_quote_subst' +-double_quote_subst='$double_quote_subst' +-delay_variable_subst='$delay_variable_subst' +-_LT_CONFIG_STATUS_DECLARATIONS +-LTCC='$LTCC' +-LTCFLAGS='$LTCFLAGS' +-compiler='$compiler_DEFAULT' +- +-# Quote evaled strings. +-for var in lt_decl_all_varnames([[ \ +-]], lt_decl_quote_varnames); do +- case \`eval \\\\\$ECHO "X\\\\\$\$var"\` in +- *[[\\\\\\\`\\"\\\$]]*) +- eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"X\\\$\$var\\" | \\\$Xsed -e \\"\\\$sed_quote_subst\\"\\\`\\\\\\"" +- ;; +- *) +- eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\"" +- ;; +- esac +-done +- +-# Double-quote double-evaled strings. +-for var in lt_decl_all_varnames([[ \ +-]], lt_decl_dquote_varnames); do +- case \`eval \\\\\$ECHO "X\\\\\$\$var"\` in +- *[[\\\\\\\`\\"\\\$]]*) +- eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"X\\\$\$var\\" | \\\$Xsed -e \\"\\\$double_quote_subst\\" -e \\"\\\$sed_quote_subst\\" -e \\"\\\$delay_variable_subst\\"\\\`\\\\\\"" +- ;; +- *) +- eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\"" +- ;; +- esac +-done +- +-# Fix-up fallback echo if it was mangled by the above quoting rules. +-case \$lt_ECHO in +-*'\\\[$]0 --fallback-echo"')dnl " +- lt_ECHO=\`\$ECHO "X\$lt_ECHO" | \$Xsed -e 's/\\\\\\\\\\\\\\\[$]0 --fallback-echo"\[$]/\[$]0 --fallback-echo"/'\` +- ;; +-esac +- +-_LT_OUTPUT_LIBTOOL_INIT +-]) +- +- +-# LT_OUTPUT +-# --------- +-# This macro allows early generation of the libtool script (before +-# AC_OUTPUT is called), incase it is used in configure for compilation +-# tests. +-AC_DEFUN([LT_OUTPUT], +-[: ${CONFIG_LT=./config.lt} +-AC_MSG_NOTICE([creating $CONFIG_LT]) +-cat >"$CONFIG_LT" <<_LTEOF +-#! $SHELL +-# Generated by $as_me. +-# Run this file to recreate a libtool stub with the current configuration. +- +-lt_cl_silent=false +-SHELL=\${CONFIG_SHELL-$SHELL} +-_LTEOF +- +-cat >>"$CONFIG_LT" <<\_LTEOF +-AS_SHELL_SANITIZE +-_AS_PREPARE +- +-exec AS_MESSAGE_FD>&1 +-exec AS_MESSAGE_LOG_FD>>config.log +-{ +- echo +- AS_BOX([Running $as_me.]) +-} >&AS_MESSAGE_LOG_FD +- +-lt_cl_help="\ +-\`$as_me' creates a local libtool stub from the current configuration, +-for use in further configure time tests before the real libtool is +-generated. +- +-Usage: $[0] [[OPTIONS]] +- +- -h, --help print this help, then exit +- -V, --version print version number, then exit +- -q, --quiet do not print progress messages +- -d, --debug don't remove temporary files +- +-Report bugs to <bug-libtool@gnu.org>." +- +-lt_cl_version="\ +-m4_ifset([AC_PACKAGE_NAME], [AC_PACKAGE_NAME ])config.lt[]dnl +-m4_ifset([AC_PACKAGE_VERSION], [ AC_PACKAGE_VERSION]) +-configured by $[0], generated by m4_PACKAGE_STRING. +- +-Copyright (C) 2008 Free Software Foundation, Inc. +-This config.lt script is free software; the Free Software Foundation +-gives unlimited permision to copy, distribute and modify it." +- +-while test $[#] != 0 +-do +- case $[1] in +- --version | --v* | -V ) +- echo "$lt_cl_version"; exit 0 ;; +- --help | --h* | -h ) +- echo "$lt_cl_help"; exit 0 ;; +- --debug | --d* | -d ) +- debug=: ;; +- --quiet | --q* | --silent | --s* | -q ) +- lt_cl_silent=: ;; +- +- -*) AC_MSG_ERROR([unrecognized option: $[1] +-Try \`$[0] --help' for more information.]) ;; +- +- *) AC_MSG_ERROR([unrecognized argument: $[1] +-Try \`$[0] --help' for more information.]) ;; +- esac +- shift +-done +- +-if $lt_cl_silent; then +- exec AS_MESSAGE_FD>/dev/null +-fi +-_LTEOF +- +-cat >>"$CONFIG_LT" <<_LTEOF +-_LT_OUTPUT_LIBTOOL_COMMANDS_INIT +-_LTEOF +- +-cat >>"$CONFIG_LT" <<\_LTEOF +-AC_MSG_NOTICE([creating $ofile]) +-_LT_OUTPUT_LIBTOOL_COMMANDS +-AS_EXIT(0) +-_LTEOF +-chmod +x "$CONFIG_LT" +- +-# configure is writing to config.log, but config.lt does its own redirection, +-# appending to config.log, which fails on DOS, as config.log is still kept +-# open by configure. Here we exec the FD to /dev/null, effectively closing +-# config.log, so it can be properly (re)opened and appended to by config.lt. +-if test "$no_create" != yes; then +- lt_cl_success=: +- test "$silent" = yes && +- lt_config_lt_args="$lt_config_lt_args --quiet" +- exec AS_MESSAGE_LOG_FD>/dev/null +- $SHELL "$CONFIG_LT" $lt_config_lt_args || lt_cl_success=false +- exec AS_MESSAGE_LOG_FD>>config.log +- $lt_cl_success || AS_EXIT(1) +-fi +-])# LT_OUTPUT +- +- +-# _LT_CONFIG(TAG) +-# --------------- +-# If TAG is the built-in tag, create an initial libtool script with a +-# default configuration from the untagged config vars. Otherwise add code +-# to config.status for appending the configuration named by TAG from the +-# matching tagged config vars. +-m4_defun([_LT_CONFIG], +-[m4_require([_LT_FILEUTILS_DEFAULTS])dnl +-_LT_CONFIG_SAVE_COMMANDS([ +- m4_define([_LT_TAG], m4_if([$1], [], [C], [$1]))dnl +- m4_if(_LT_TAG, [C], [ +- # See if we are running on zsh, and set the options which allow our +- # commands through without removal of \ escapes. +- if test -n "${ZSH_VERSION+set}" ; then +- setopt NO_GLOB_SUBST +- fi +- +- cfgfile="${ofile}T" +- trap "$RM \"$cfgfile\"; exit 1" 1 2 15 +- $RM "$cfgfile" +- +- cat <<_LT_EOF >> "$cfgfile" +-#! $SHELL +- +-# `$ECHO "$ofile" | sed 's%^.*/%%'` - Provide generalized library-building support services. +-# Generated automatically by $as_me ($PACKAGE$TIMESTAMP) $VERSION +-# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`: +-# NOTE: Changes made to this file will be lost: look at ltmain.sh. +-# +-_LT_COPYING +-_LT_LIBTOOL_TAGS +- +-# ### BEGIN LIBTOOL CONFIG +-_LT_LIBTOOL_CONFIG_VARS +-_LT_LIBTOOL_TAG_VARS +-# ### END LIBTOOL CONFIG +- +-_LT_EOF +- +- case $host_os in +- aix3*) +- cat <<\_LT_EOF >> "$cfgfile" +-# AIX sometimes has problems with the GCC collect2 program. For some +-# reason, if we set the COLLECT_NAMES environment variable, the problems +-# vanish in a puff of smoke. +-if test "X${COLLECT_NAMES+set}" != Xset; then +- COLLECT_NAMES= +- export COLLECT_NAMES +-fi +-_LT_EOF +- ;; +- esac +- +- _LT_PROG_LTMAIN +- +- # We use sed instead of cat because bash on DJGPP gets confused if +- # if finds mixed CR/LF and LF-only lines. Since sed operates in +- # text mode, it properly converts lines to CR/LF. This bash problem +- # is reportedly fixed, but why not run on old versions too? +- sed '/^# Generated shell functions inserted here/q' "$ltmain" >> "$cfgfile" \ +- || (rm -f "$cfgfile"; exit 1) +- +- _LT_PROG_XSI_SHELLFNS +- +- sed -n '/^# Generated shell functions inserted here/,$p' "$ltmain" >> "$cfgfile" \ +- || (rm -f "$cfgfile"; exit 1) +- +- mv -f "$cfgfile" "$ofile" || +- (rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile") +- chmod +x "$ofile" +-], +-[cat <<_LT_EOF >> "$ofile" +- +-dnl Unfortunately we have to use $1 here, since _LT_TAG is not expanded +-dnl in a comment (ie after a #). +-# ### BEGIN LIBTOOL TAG CONFIG: $1 +-_LT_LIBTOOL_TAG_VARS(_LT_TAG) +-# ### END LIBTOOL TAG CONFIG: $1 +-_LT_EOF +-])dnl /m4_if +-], +-[m4_if([$1], [], [ +- PACKAGE='$PACKAGE' +- VERSION='$VERSION' +- TIMESTAMP='$TIMESTAMP' +- RM='$RM' +- ofile='$ofile'], []) +-])dnl /_LT_CONFIG_SAVE_COMMANDS +-])# _LT_CONFIG +- +- +-# LT_SUPPORTED_TAG(TAG) +-# --------------------- +-# Trace this macro to discover what tags are supported by the libtool +-# --tag option, using: +-# autoconf --trace 'LT_SUPPORTED_TAG:$1' +-AC_DEFUN([LT_SUPPORTED_TAG], []) +- +- +-# C support is built-in for now +-m4_define([_LT_LANG_C_enabled], []) +-m4_define([_LT_TAGS], []) +- +- +-# LT_LANG(LANG) +-# ------------- +-# Enable libtool support for the given language if not already enabled. +-AC_DEFUN([LT_LANG], +-[AC_BEFORE([$0], [LT_OUTPUT])dnl +-m4_case([$1], +- [C], [_LT_LANG(C)], +- [C++], [_LT_LANG(CXX)], +- [Java], [_LT_LANG(GCJ)], +- [Fortran 77], [_LT_LANG(F77)], +- [Fortran], [_LT_LANG(FC)], +- [Windows Resource], [_LT_LANG(RC)], +- [m4_ifdef([_LT_LANG_]$1[_CONFIG], +- [_LT_LANG($1)], +- [m4_fatal([$0: unsupported language: "$1"])])])dnl +-])# LT_LANG +- +- +-# _LT_LANG(LANGNAME) +-# ------------------ +-m4_defun([_LT_LANG], +-[m4_ifdef([_LT_LANG_]$1[_enabled], [], +- [LT_SUPPORTED_TAG([$1])dnl +- m4_append([_LT_TAGS], [$1 ])dnl +- m4_define([_LT_LANG_]$1[_enabled], [])dnl +- _LT_LANG_$1_CONFIG($1)])dnl +-])# _LT_LANG +- +- +-# _LT_LANG_DEFAULT_CONFIG +-# ----------------------- +-m4_defun([_LT_LANG_DEFAULT_CONFIG], +-[AC_PROVIDE_IFELSE([AC_PROG_CXX], +- [LT_LANG(CXX)], +- [m4_define([AC_PROG_CXX], defn([AC_PROG_CXX])[LT_LANG(CXX)])]) +- +-AC_PROVIDE_IFELSE([AC_PROG_F77], +- [LT_LANG(F77)], +- [m4_define([AC_PROG_F77], defn([AC_PROG_F77])[LT_LANG(F77)])]) +- +-AC_PROVIDE_IFELSE([AC_PROG_FC], +- [LT_LANG(FC)], +- [m4_define([AC_PROG_FC], defn([AC_PROG_FC])[LT_LANG(FC)])]) +- +-dnl The call to [A][M_PROG_GCJ] is quoted like that to stop aclocal +-dnl pulling things in needlessly. +-AC_PROVIDE_IFELSE([AC_PROG_GCJ], +- [LT_LANG(GCJ)], +- [AC_PROVIDE_IFELSE([A][M_PROG_GCJ], +- [LT_LANG(GCJ)], +- [AC_PROVIDE_IFELSE([LT_PROG_GCJ], +- [LT_LANG(GCJ)], +- [m4_ifdef([AC_PROG_GCJ], +- [m4_define([AC_PROG_GCJ], defn([AC_PROG_GCJ])[LT_LANG(GCJ)])]) +- m4_ifdef([A][M_PROG_GCJ], +- [m4_define([A][M_PROG_GCJ], defn([A][M_PROG_GCJ])[LT_LANG(GCJ)])]) +- m4_ifdef([LT_PROG_GCJ], +- [m4_define([LT_PROG_GCJ], defn([LT_PROG_GCJ])[LT_LANG(GCJ)])])])])]) +- +-AC_PROVIDE_IFELSE([LT_PROG_RC], +- [LT_LANG(RC)], +- [m4_define([LT_PROG_RC], defn([LT_PROG_RC])[LT_LANG(RC)])]) +-])# _LT_LANG_DEFAULT_CONFIG +- +-# Obsolete macros: +-AU_DEFUN([AC_LIBTOOL_CXX], [LT_LANG(C++)]) +-AU_DEFUN([AC_LIBTOOL_F77], [LT_LANG(Fortran 77)]) +-AU_DEFUN([AC_LIBTOOL_FC], [LT_LANG(Fortran)]) +-AU_DEFUN([AC_LIBTOOL_GCJ], [LT_LANG(Java)]) +-dnl aclocal-1.4 backwards compatibility: +-dnl AC_DEFUN([AC_LIBTOOL_CXX], []) +-dnl AC_DEFUN([AC_LIBTOOL_F77], []) +-dnl AC_DEFUN([AC_LIBTOOL_FC], []) +-dnl AC_DEFUN([AC_LIBTOOL_GCJ], []) +- +- +-# _LT_TAG_COMPILER +-# ---------------- +-m4_defun([_LT_TAG_COMPILER], +-[AC_REQUIRE([AC_PROG_CC])dnl +- +-_LT_DECL([LTCC], [CC], [1], [A C compiler])dnl +-_LT_DECL([LTCFLAGS], [CFLAGS], [1], [LTCC compiler flags])dnl +-_LT_TAGDECL([CC], [compiler], [1], [A language specific compiler])dnl +-_LT_TAGDECL([with_gcc], [GCC], [0], [Is the compiler the GNU compiler?])dnl +- +-# If no C compiler was specified, use CC. +-LTCC=${LTCC-"$CC"} +- +-# If no C compiler flags were specified, use CFLAGS. +-LTCFLAGS=${LTCFLAGS-"$CFLAGS"} +- +-# Allow CC to be a program name with arguments. +-compiler=$CC +-])# _LT_TAG_COMPILER +- +- +-# _LT_COMPILER_BOILERPLATE +-# ------------------------ +-# Check for compiler boilerplate output or warnings with +-# the simple compiler test code. +-m4_defun([_LT_COMPILER_BOILERPLATE], +-[m4_require([_LT_DECL_SED])dnl +-ac_outfile=conftest.$ac_objext +-echo "$lt_simple_compile_test_code" >conftest.$ac_ext +-eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err +-_lt_compiler_boilerplate=`cat conftest.err` +-$RM conftest* +-])# _LT_COMPILER_BOILERPLATE +- +- +-# _LT_LINKER_BOILERPLATE +-# ---------------------- +-# Check for linker boilerplate output or warnings with +-# the simple link test code. +-m4_defun([_LT_LINKER_BOILERPLATE], +-[m4_require([_LT_DECL_SED])dnl +-ac_outfile=conftest.$ac_objext +-echo "$lt_simple_link_test_code" >conftest.$ac_ext +-eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err +-_lt_linker_boilerplate=`cat conftest.err` +-$RM -r conftest* +-])# _LT_LINKER_BOILERPLATE +- +-# _LT_REQUIRED_DARWIN_CHECKS +-# ------------------------- +-m4_defun_once([_LT_REQUIRED_DARWIN_CHECKS],[ +- case $host_os in +- rhapsody* | darwin*) +- AC_CHECK_TOOL([DSYMUTIL], [dsymutil], [:]) +- AC_CHECK_TOOL([NMEDIT], [nmedit], [:]) +- AC_CHECK_TOOL([LIPO], [lipo], [:]) +- AC_CHECK_TOOL([OTOOL], [otool], [:]) +- AC_CHECK_TOOL([OTOOL64], [otool64], [:]) +- _LT_DECL([], [DSYMUTIL], [1], +- [Tool to manipulate archived DWARF debug symbol files on Mac OS X]) +- _LT_DECL([], [NMEDIT], [1], +- [Tool to change global to local symbols on Mac OS X]) +- _LT_DECL([], [LIPO], [1], +- [Tool to manipulate fat objects and archives on Mac OS X]) +- _LT_DECL([], [OTOOL], [1], +- [ldd/readelf like tool for Mach-O binaries on Mac OS X]) +- _LT_DECL([], [OTOOL64], [1], +- [ldd/readelf like tool for 64 bit Mach-O binaries on Mac OS X 10.4]) +- +- AC_CACHE_CHECK([for -single_module linker flag],[lt_cv_apple_cc_single_mod], +- [lt_cv_apple_cc_single_mod=no +- if test -z "${LT_MULTI_MODULE}"; then +- # By default we will add the -single_module flag. You can override +- # by either setting the environment variable LT_MULTI_MODULE +- # non-empty at configure time, or by adding -multi_module to the +- # link flags. +- rm -rf libconftest.dylib* +- echo "int foo(void){return 1;}" > conftest.c +- echo "$LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \ +--dynamiclib -Wl,-single_module conftest.c" >&AS_MESSAGE_LOG_FD +- $LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \ +- -dynamiclib -Wl,-single_module conftest.c 2>conftest.err +- _lt_result=$? +- if test -f libconftest.dylib && test ! -s conftest.err && test $_lt_result = 0; then +- lt_cv_apple_cc_single_mod=yes +- else +- cat conftest.err >&AS_MESSAGE_LOG_FD +- fi +- rm -rf libconftest.dylib* +- rm -f conftest.* +- fi]) +- AC_CACHE_CHECK([for -exported_symbols_list linker flag], +- [lt_cv_ld_exported_symbols_list], +- [lt_cv_ld_exported_symbols_list=no +- save_LDFLAGS=$LDFLAGS +- echo "_main" > conftest.sym +- LDFLAGS="$LDFLAGS -Wl,-exported_symbols_list,conftest.sym" +- AC_LINK_IFELSE([AC_LANG_PROGRAM([],[])], +- [lt_cv_ld_exported_symbols_list=yes], +- [lt_cv_ld_exported_symbols_list=no]) +- LDFLAGS="$save_LDFLAGS" +- ]) +- case $host_os in +- rhapsody* | darwin1.[[012]]) +- _lt_dar_allow_undefined='${wl}-undefined ${wl}suppress' ;; +- darwin1.*) +- _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;; +- darwin*) # darwin 5.x on +- # if running on 10.5 or later, the deployment target defaults +- # to the OS version, if on x86, and 10.4, the deployment +- # target defaults to 10.4. Don't you love it? +- case ${MACOSX_DEPLOYMENT_TARGET-10.0},$host in +- 10.0,*86*-darwin8*|10.0,*-darwin[[91]]*) +- _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;; +- 10.[[012]]*) +- _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;; +- 10.*) +- _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;; +- esac +- ;; +- esac +- if test "$lt_cv_apple_cc_single_mod" = "yes"; then +- _lt_dar_single_mod='$single_module' +- fi +- if test "$lt_cv_ld_exported_symbols_list" = "yes"; then +- _lt_dar_export_syms=' ${wl}-exported_symbols_list,$output_objdir/${libname}-symbols.expsym' +- else +- _lt_dar_export_syms='~$NMEDIT -s $output_objdir/${libname}-symbols.expsym ${lib}' +- fi +- if test "$DSYMUTIL" != ":"; then +- _lt_dsymutil='~$DSYMUTIL $lib || :' +- else +- _lt_dsymutil= +- fi +- ;; +- esac +-]) +- +- +-# _LT_DARWIN_LINKER_FEATURES +-# -------------------------- +-# Checks for linker and compiler features on darwin +-m4_defun([_LT_DARWIN_LINKER_FEATURES], +-[ +- m4_require([_LT_REQUIRED_DARWIN_CHECKS]) +- _LT_TAGVAR(archive_cmds_need_lc, $1)=no +- _LT_TAGVAR(hardcode_direct, $1)=no +- _LT_TAGVAR(hardcode_automatic, $1)=yes +- _LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported +- _LT_TAGVAR(whole_archive_flag_spec, $1)='' +- _LT_TAGVAR(link_all_deplibs, $1)=yes +- _LT_TAGVAR(allow_undefined_flag, $1)="$_lt_dar_allow_undefined" +- case $cc_basename in +- ifort*) _lt_dar_can_shared=yes ;; +- *) _lt_dar_can_shared=$GCC ;; +- esac +- if test "$_lt_dar_can_shared" = "yes"; then +- output_verbose_link_cmd=echo +- _LT_TAGVAR(archive_cmds, $1)="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod${_lt_dsymutil}" +- _LT_TAGVAR(module_cmds, $1)="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}" +- _LT_TAGVAR(archive_expsym_cmds, $1)="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring ${_lt_dar_single_mod}${_lt_dar_export_syms}${_lt_dsymutil}" +- _LT_TAGVAR(module_expsym_cmds, $1)="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}" +- m4_if([$1], [CXX], +-[ if test "$lt_cv_apple_cc_single_mod" != "yes"; then +- _LT_TAGVAR(archive_cmds, $1)="\$CC -r -keep_private_externs -nostdlib -o \${lib}-master.o \$libobjs~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \${lib}-master.o \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring${_lt_dsymutil}" +- _LT_TAGVAR(archive_expsym_cmds, $1)="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -r -keep_private_externs -nostdlib -o \${lib}-master.o \$libobjs~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \${lib}-master.o \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring${_lt_dar_export_syms}${_lt_dsymutil}" +- fi +-],[]) +- else +- _LT_TAGVAR(ld_shlibs, $1)=no +- fi +-]) +- +-# _LT_SYS_MODULE_PATH_AIX +-# ----------------------- +-# Links a minimal program and checks the executable +-# for the system default hardcoded library path. In most cases, +-# this is /usr/lib:/lib, but when the MPI compilers are used +-# the location of the communication and MPI libs are included too. +-# If we don't find anything, use the default library path according +-# to the aix ld manual. +-m4_defun([_LT_SYS_MODULE_PATH_AIX], +-[m4_require([_LT_DECL_SED])dnl +-AC_LINK_IFELSE(AC_LANG_PROGRAM,[ +-lt_aix_libpath_sed=' +- /Import File Strings/,/^$/ { +- /^0/ { +- s/^0 *\(.*\)$/\1/ +- p +- } +- }' +-aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` +-# Check for a 64-bit object if we didn't find anything. +-if test -z "$aix_libpath"; then +- aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` +-fi],[]) +-if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi +-])# _LT_SYS_MODULE_PATH_AIX +- +- +-# _LT_SHELL_INIT(ARG) +-# ------------------- +-m4_define([_LT_SHELL_INIT], +-[ifdef([AC_DIVERSION_NOTICE], +- [AC_DIVERT_PUSH(AC_DIVERSION_NOTICE)], +- [AC_DIVERT_PUSH(NOTICE)]) +-$1 +-AC_DIVERT_POP +-])# _LT_SHELL_INIT +- +- +-# _LT_PROG_ECHO_BACKSLASH +-# ----------------------- +-# Add some code to the start of the generated configure script which +-# will find an echo command which doesn't interpret backslashes. +-m4_defun([_LT_PROG_ECHO_BACKSLASH], +-[_LT_SHELL_INIT([ +-# Check that we are running under the correct shell. +-SHELL=${CONFIG_SHELL-/bin/sh} +- +-case X$lt_ECHO in +-X*--fallback-echo) +- # Remove one level of quotation (which was required for Make). +- ECHO=`echo "$lt_ECHO" | sed 's,\\\\\[$]\\[$]0,'[$]0','` +- ;; +-esac +- +-ECHO=${lt_ECHO-echo} +-if test "X[$]1" = X--no-reexec; then +- # Discard the --no-reexec flag, and continue. +- shift +-elif test "X[$]1" = X--fallback-echo; then +- # Avoid inline document here, it may be left over +- : +-elif test "X`{ $ECHO '\t'; } 2>/dev/null`" = 'X\t' ; then +- # Yippee, $ECHO works! +- : +-else +- # Restart under the correct shell. +- exec $SHELL "[$]0" --no-reexec ${1+"[$]@"} +-fi +- +-if test "X[$]1" = X--fallback-echo; then +- # used as fallback echo +- shift +- cat <<_LT_EOF +-[$]* +-_LT_EOF +- exit 0 +-fi +- +-# The HP-UX ksh and POSIX shell print the target directory to stdout +-# if CDPATH is set. +-(unset CDPATH) >/dev/null 2>&1 && unset CDPATH +- +-if test -z "$lt_ECHO"; then +- if test "X${echo_test_string+set}" != Xset; then +- # find a string as large as possible, as long as the shell can cope with it +- for cmd in 'sed 50q "[$]0"' 'sed 20q "[$]0"' 'sed 10q "[$]0"' 'sed 2q "[$]0"' 'echo test'; do +- # expected sizes: less than 2Kb, 1Kb, 512 bytes, 16 bytes, ... +- if { echo_test_string=`eval $cmd`; } 2>/dev/null && +- { test "X$echo_test_string" = "X$echo_test_string"; } 2>/dev/null +- then +- break +- fi +- done +- fi +- +- if test "X`{ $ECHO '\t'; } 2>/dev/null`" = 'X\t' && +- echo_testing_string=`{ $ECHO "$echo_test_string"; } 2>/dev/null` && +- test "X$echo_testing_string" = "X$echo_test_string"; then +- : +- else +- # The Solaris, AIX, and Digital Unix default echo programs unquote +- # backslashes. This makes it impossible to quote backslashes using +- # echo "$something" | sed 's/\\/\\\\/g' +- # +- # So, first we look for a working echo in the user's PATH. +- +- lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR +- for dir in $PATH /usr/ucb; do +- IFS="$lt_save_ifs" +- if (test -f $dir/echo || test -f $dir/echo$ac_exeext) && +- test "X`($dir/echo '\t') 2>/dev/null`" = 'X\t' && +- echo_testing_string=`($dir/echo "$echo_test_string") 2>/dev/null` && +- test "X$echo_testing_string" = "X$echo_test_string"; then +- ECHO="$dir/echo" +- break +- fi +- done +- IFS="$lt_save_ifs" +- +- if test "X$ECHO" = Xecho; then +- # We didn't find a better echo, so look for alternatives. +- if test "X`{ print -r '\t'; } 2>/dev/null`" = 'X\t' && +- echo_testing_string=`{ print -r "$echo_test_string"; } 2>/dev/null` && +- test "X$echo_testing_string" = "X$echo_test_string"; then +- # This shell has a builtin print -r that does the trick. +- ECHO='print -r' +- elif { test -f /bin/ksh || test -f /bin/ksh$ac_exeext; } && +- test "X$CONFIG_SHELL" != X/bin/ksh; then +- # If we have ksh, try running configure again with it. +- ORIGINAL_CONFIG_SHELL=${CONFIG_SHELL-/bin/sh} +- export ORIGINAL_CONFIG_SHELL +- CONFIG_SHELL=/bin/ksh +- export CONFIG_SHELL +- exec $CONFIG_SHELL "[$]0" --no-reexec ${1+"[$]@"} +- else +- # Try using printf. +- ECHO='printf %s\n' +- if test "X`{ $ECHO '\t'; } 2>/dev/null`" = 'X\t' && +- echo_testing_string=`{ $ECHO "$echo_test_string"; } 2>/dev/null` && +- test "X$echo_testing_string" = "X$echo_test_string"; then +- # Cool, printf works +- : +- elif echo_testing_string=`($ORIGINAL_CONFIG_SHELL "[$]0" --fallback-echo '\t') 2>/dev/null` && +- test "X$echo_testing_string" = 'X\t' && +- echo_testing_string=`($ORIGINAL_CONFIG_SHELL "[$]0" --fallback-echo "$echo_test_string") 2>/dev/null` && +- test "X$echo_testing_string" = "X$echo_test_string"; then +- CONFIG_SHELL=$ORIGINAL_CONFIG_SHELL +- export CONFIG_SHELL +- SHELL="$CONFIG_SHELL" +- export SHELL +- ECHO="$CONFIG_SHELL [$]0 --fallback-echo" +- elif echo_testing_string=`($CONFIG_SHELL "[$]0" --fallback-echo '\t') 2>/dev/null` && +- test "X$echo_testing_string" = 'X\t' && +- echo_testing_string=`($CONFIG_SHELL "[$]0" --fallback-echo "$echo_test_string") 2>/dev/null` && +- test "X$echo_testing_string" = "X$echo_test_string"; then +- ECHO="$CONFIG_SHELL [$]0 --fallback-echo" +- else +- # maybe with a smaller string... +- prev=: +- +- for cmd in 'echo test' 'sed 2q "[$]0"' 'sed 10q "[$]0"' 'sed 20q "[$]0"' 'sed 50q "[$]0"'; do +- if { test "X$echo_test_string" = "X`eval $cmd`"; } 2>/dev/null +- then +- break +- fi +- prev="$cmd" +- done +- +- if test "$prev" != 'sed 50q "[$]0"'; then +- echo_test_string=`eval $prev` +- export echo_test_string +- exec ${ORIGINAL_CONFIG_SHELL-${CONFIG_SHELL-/bin/sh}} "[$]0" ${1+"[$]@"} +- else +- # Oops. We lost completely, so just stick with echo. +- ECHO=echo +- fi +- fi +- fi +- fi +- fi +-fi +- +-# Copy echo and quote the copy suitably for passing to libtool from +-# the Makefile, instead of quoting the original, which is used later. +-lt_ECHO=$ECHO +-if test "X$lt_ECHO" = "X$CONFIG_SHELL [$]0 --fallback-echo"; then +- lt_ECHO="$CONFIG_SHELL \\\$\[$]0 --fallback-echo" +-fi +- +-AC_SUBST(lt_ECHO) +-]) +-_LT_DECL([], [SHELL], [1], [Shell to use when invoking shell scripts]) +-_LT_DECL([], [ECHO], [1], +- [An echo program that does not interpret backslashes]) +-])# _LT_PROG_ECHO_BACKSLASH +- +- +-# _LT_ENABLE_LOCK +-# --------------- +-m4_defun([_LT_ENABLE_LOCK], +-[AC_ARG_ENABLE([libtool-lock], +- [AS_HELP_STRING([--disable-libtool-lock], +- [avoid locking (might break parallel builds)])]) +-test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes +- +-# Some flags need to be propagated to the compiler or linker for good +-# libtool support. +-case $host in +-ia64-*-hpux*) +- # Find out which ABI we are using. +- echo 'int i;' > conftest.$ac_ext +- if AC_TRY_EVAL(ac_compile); then +- case `/usr/bin/file conftest.$ac_objext` in +- *ELF-32*) +- HPUX_IA64_MODE="32" +- ;; +- *ELF-64*) +- HPUX_IA64_MODE="64" +- ;; +- esac +- fi +- rm -rf conftest* +- ;; +-*-*-irix6*) +- # Find out which ABI we are using. +- echo '[#]line __oline__ "configure"' > conftest.$ac_ext +- if AC_TRY_EVAL(ac_compile); then +- if test "$lt_cv_prog_gnu_ld" = yes; then +- case `/usr/bin/file conftest.$ac_objext` in +- *32-bit*) +- LD="${LD-ld} -melf32bsmip" +- ;; +- *N32*) +- LD="${LD-ld} -melf32bmipn32" +- ;; +- *64-bit*) +- LD="${LD-ld} -melf64bmip" +- ;; +- esac +- else +- case `/usr/bin/file conftest.$ac_objext` in +- *32-bit*) +- LD="${LD-ld} -32" +- ;; +- *N32*) +- LD="${LD-ld} -n32" +- ;; +- *64-bit*) +- LD="${LD-ld} -64" +- ;; +- esac +- fi +- fi +- rm -rf conftest* +- ;; +- +-x86_64-*kfreebsd*-gnu|x86_64-*linux*|ppc*-*linux*|powerpc*-*linux*| \ +-s390*-*linux*|s390*-*tpf*|sparc*-*linux*) +- # Find out which ABI we are using. +- echo 'int i;' > conftest.$ac_ext +- if AC_TRY_EVAL(ac_compile); then +- case `/usr/bin/file conftest.o` in +- *32-bit*) +- case $host in +- x86_64-*kfreebsd*-gnu) +- LD="${LD-ld} -m elf_i386_fbsd" +- ;; +- x86_64-*linux*) +- LD="${LD-ld} -m elf_i386" +- ;; +- ppc64-*linux*|powerpc64-*linux*) +- LD="${LD-ld} -m elf32ppclinux" +- ;; +- s390x-*linux*) +- LD="${LD-ld} -m elf_s390" +- ;; +- sparc64-*linux*) +- LD="${LD-ld} -m elf32_sparc" +- ;; +- esac +- ;; +- *64-bit*) +- case $host in +- x86_64-*kfreebsd*-gnu) +- LD="${LD-ld} -m elf_x86_64_fbsd" +- ;; +- x86_64-*linux*) +- LD="${LD-ld} -m elf_x86_64" +- ;; +- ppc*-*linux*|powerpc*-*linux*) +- LD="${LD-ld} -m elf64ppc" +- ;; +- s390*-*linux*|s390*-*tpf*) +- LD="${LD-ld} -m elf64_s390" +- ;; +- sparc*-*linux*) +- LD="${LD-ld} -m elf64_sparc" +- ;; +- esac +- ;; +- esac +- fi +- rm -rf conftest* +- ;; +- +-*-*-sco3.2v5*) +- # On SCO OpenServer 5, we need -belf to get full-featured binaries. +- SAVE_CFLAGS="$CFLAGS" +- CFLAGS="$CFLAGS -belf" +- AC_CACHE_CHECK([whether the C compiler needs -belf], lt_cv_cc_needs_belf, +- [AC_LANG_PUSH(C) +- AC_LINK_IFELSE([AC_LANG_PROGRAM([[]],[[]])],[lt_cv_cc_needs_belf=yes],[lt_cv_cc_needs_belf=no]) +- AC_LANG_POP]) +- if test x"$lt_cv_cc_needs_belf" != x"yes"; then +- # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf +- CFLAGS="$SAVE_CFLAGS" +- fi +- ;; +-sparc*-*solaris*) +- # Find out which ABI we are using. +- echo 'int i;' > conftest.$ac_ext +- if AC_TRY_EVAL(ac_compile); then +- case `/usr/bin/file conftest.o` in +- *64-bit*) +- case $lt_cv_prog_gnu_ld in +- yes*) LD="${LD-ld} -m elf64_sparc" ;; +- *) +- if ${LD-ld} -64 -r -o conftest2.o conftest.o >/dev/null 2>&1; then +- LD="${LD-ld} -64" +- fi +- ;; +- esac +- ;; +- esac +- fi +- rm -rf conftest* +- ;; +-esac +- +-need_locks="$enable_libtool_lock" +-])# _LT_ENABLE_LOCK +- +- +-# _LT_CMD_OLD_ARCHIVE +-# ------------------- +-m4_defun([_LT_CMD_OLD_ARCHIVE], +-[AC_CHECK_TOOL(AR, ar, false) +-test -z "$AR" && AR=ar +-test -z "$AR_FLAGS" && AR_FLAGS=cru +-_LT_DECL([], [AR], [1], [The archiver]) +-_LT_DECL([], [AR_FLAGS], [1]) +- +-AC_CHECK_TOOL(STRIP, strip, :) +-test -z "$STRIP" && STRIP=: +-_LT_DECL([], [STRIP], [1], [A symbol stripping program]) +- +-AC_CHECK_TOOL(RANLIB, ranlib, :) +-test -z "$RANLIB" && RANLIB=: +-_LT_DECL([], [RANLIB], [1], +- [Commands used to install an old-style archive]) +- +-# Determine commands to create old-style static archives. +-old_archive_cmds='$AR $AR_FLAGS $oldlib$oldobjs' +-old_postinstall_cmds='chmod 644 $oldlib' +-old_postuninstall_cmds= +- +-if test -n "$RANLIB"; then +- case $host_os in +- openbsd*) +- old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$oldlib" +- ;; +- *) +- old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$oldlib" +- ;; +- esac +- old_archive_cmds="$old_archive_cmds~\$RANLIB \$oldlib" +-fi +-_LT_DECL([], [old_postinstall_cmds], [2]) +-_LT_DECL([], [old_postuninstall_cmds], [2]) +-_LT_TAGDECL([], [old_archive_cmds], [2], +- [Commands used to build an old-style archive]) +-])# _LT_CMD_OLD_ARCHIVE +- +- +-# _LT_COMPILER_OPTION(MESSAGE, VARIABLE-NAME, FLAGS, +-# [OUTPUT-FILE], [ACTION-SUCCESS], [ACTION-FAILURE]) +-# ---------------------------------------------------------------- +-# Check whether the given compiler option works +-AC_DEFUN([_LT_COMPILER_OPTION], +-[m4_require([_LT_FILEUTILS_DEFAULTS])dnl +-m4_require([_LT_DECL_SED])dnl +-AC_CACHE_CHECK([$1], [$2], +- [$2=no +- m4_if([$4], , [ac_outfile=conftest.$ac_objext], [ac_outfile=$4]) +- echo "$lt_simple_compile_test_code" > conftest.$ac_ext +- lt_compiler_flag="$3" +- # Insert the option either (1) after the last *FLAGS variable, or +- # (2) before a word containing "conftest.", or (3) at the end. +- # Note that $ac_compile itself does not contain backslashes and begins +- # with a dollar sign (not a hyphen), so the echo should work correctly. +- # The option is referenced via a variable to avoid confusing sed. +- lt_compile=`echo "$ac_compile" | $SED \ +- -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ +- -e 's: [[^ ]]*conftest\.: $lt_compiler_flag&:; t' \ +- -e 's:$: $lt_compiler_flag:'` +- (eval echo "\"\$as_me:__oline__: $lt_compile\"" >&AS_MESSAGE_LOG_FD) +- (eval "$lt_compile" 2>conftest.err) +- ac_status=$? +- cat conftest.err >&AS_MESSAGE_LOG_FD +- echo "$as_me:__oline__: \$? = $ac_status" >&AS_MESSAGE_LOG_FD +- if (exit $ac_status) && test -s "$ac_outfile"; then +- # The compiler can only warn and ignore the option if not recognized +- # So say no if there are warnings other than the usual output. +- $ECHO "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp +- $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 +- if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then +- $2=yes +- fi +- fi +- $RM conftest* +-]) +- +-if test x"[$]$2" = xyes; then +- m4_if([$5], , :, [$5]) +-else +- m4_if([$6], , :, [$6]) +-fi +-])# _LT_COMPILER_OPTION +- +-# Old name: +-AU_ALIAS([AC_LIBTOOL_COMPILER_OPTION], [_LT_COMPILER_OPTION]) +-dnl aclocal-1.4 backwards compatibility: +-dnl AC_DEFUN([AC_LIBTOOL_COMPILER_OPTION], []) +- +- +-# _LT_LINKER_OPTION(MESSAGE, VARIABLE-NAME, FLAGS, +-# [ACTION-SUCCESS], [ACTION-FAILURE]) +-# ---------------------------------------------------- +-# Check whether the given linker option works +-AC_DEFUN([_LT_LINKER_OPTION], +-[m4_require([_LT_FILEUTILS_DEFAULTS])dnl +-m4_require([_LT_DECL_SED])dnl +-AC_CACHE_CHECK([$1], [$2], +- [$2=no +- save_LDFLAGS="$LDFLAGS" +- LDFLAGS="$LDFLAGS $3" +- echo "$lt_simple_link_test_code" > conftest.$ac_ext +- if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then +- # The linker can only warn and ignore the option if not recognized +- # So say no if there are warnings +- if test -s conftest.err; then +- # Append any errors to the config.log. +- cat conftest.err 1>&AS_MESSAGE_LOG_FD +- $ECHO "X$_lt_linker_boilerplate" | $Xsed -e '/^$/d' > conftest.exp +- $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 +- if diff conftest.exp conftest.er2 >/dev/null; then +- $2=yes +- fi +- else +- $2=yes +- fi +- fi +- $RM -r conftest* +- LDFLAGS="$save_LDFLAGS" +-]) +- +-if test x"[$]$2" = xyes; then +- m4_if([$4], , :, [$4]) +-else +- m4_if([$5], , :, [$5]) +-fi +-])# _LT_LINKER_OPTION +- +-# Old name: +-AU_ALIAS([AC_LIBTOOL_LINKER_OPTION], [_LT_LINKER_OPTION]) +-dnl aclocal-1.4 backwards compatibility: +-dnl AC_DEFUN([AC_LIBTOOL_LINKER_OPTION], []) +- +- +-# LT_CMD_MAX_LEN +-#--------------- +-AC_DEFUN([LT_CMD_MAX_LEN], +-[AC_REQUIRE([AC_CANONICAL_HOST])dnl +-# find the maximum length of command line arguments +-AC_MSG_CHECKING([the maximum length of command line arguments]) +-AC_CACHE_VAL([lt_cv_sys_max_cmd_len], [dnl +- i=0 +- teststring="ABCD" +- +- case $build_os in +- msdosdjgpp*) +- # On DJGPP, this test can blow up pretty badly due to problems in libc +- # (any single argument exceeding 2000 bytes causes a buffer overrun +- # during glob expansion). Even if it were fixed, the result of this +- # check would be larger than it should be. +- lt_cv_sys_max_cmd_len=12288; # 12K is about right +- ;; +- +- gnu*) +- # Under GNU Hurd, this test is not required because there is +- # no limit to the length of command line arguments. +- # Libtool will interpret -1 as no limit whatsoever +- lt_cv_sys_max_cmd_len=-1; +- ;; +- +- cygwin* | mingw* | cegcc*) +- # On Win9x/ME, this test blows up -- it succeeds, but takes +- # about 5 minutes as the teststring grows exponentially. +- # Worse, since 9x/ME are not pre-emptively multitasking, +- # you end up with a "frozen" computer, even though with patience +- # the test eventually succeeds (with a max line length of 256k). +- # Instead, let's just punt: use the minimum linelength reported by +- # all of the supported platforms: 8192 (on NT/2K/XP). +- lt_cv_sys_max_cmd_len=8192; +- ;; +- +- amigaos*) +- # On AmigaOS with pdksh, this test takes hours, literally. +- # So we just punt and use a minimum line length of 8192. +- lt_cv_sys_max_cmd_len=8192; +- ;; +- +- netbsd* | freebsd* | openbsd* | darwin* | dragonfly*) +- # This has been around since 386BSD, at least. Likely further. +- if test -x /sbin/sysctl; then +- lt_cv_sys_max_cmd_len=`/sbin/sysctl -n kern.argmax` +- elif test -x /usr/sbin/sysctl; then +- lt_cv_sys_max_cmd_len=`/usr/sbin/sysctl -n kern.argmax` +- else +- lt_cv_sys_max_cmd_len=65536 # usable default for all BSDs +- fi +- # And add a safety zone +- lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4` +- lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3` +- ;; +- +- interix*) +- # We know the value 262144 and hardcode it with a safety zone (like BSD) +- lt_cv_sys_max_cmd_len=196608 +- ;; +- +- osf*) +- # Dr. Hans Ekkehard Plesser reports seeing a kernel panic running configure +- # due to this test when exec_disable_arg_limit is 1 on Tru64. It is not +- # nice to cause kernel panics so lets avoid the loop below. +- # First set a reasonable default. +- lt_cv_sys_max_cmd_len=16384 +- # +- if test -x /sbin/sysconfig; then +- case `/sbin/sysconfig -q proc exec_disable_arg_limit` in +- *1*) lt_cv_sys_max_cmd_len=-1 ;; +- esac +- fi +- ;; +- sco3.2v5*) +- lt_cv_sys_max_cmd_len=102400 +- ;; +- sysv5* | sco5v6* | sysv4.2uw2*) +- kargmax=`grep ARG_MAX /etc/conf/cf.d/stune 2>/dev/null` +- if test -n "$kargmax"; then +- lt_cv_sys_max_cmd_len=`echo $kargmax | sed 's/.*[[ ]]//'` +- else +- lt_cv_sys_max_cmd_len=32768 +- fi +- ;; +- *) +- lt_cv_sys_max_cmd_len=`(getconf ARG_MAX) 2> /dev/null` +- if test -n "$lt_cv_sys_max_cmd_len"; then +- lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4` +- lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3` +- else +- # Make teststring a little bigger before we do anything with it. +- # a 1K string should be a reasonable start. +- for i in 1 2 3 4 5 6 7 8 ; do +- teststring=$teststring$teststring +- done +- SHELL=${SHELL-${CONFIG_SHELL-/bin/sh}} +- # If test is not a shell built-in, we'll probably end up computing a +- # maximum length that is only half of the actual maximum length, but +- # we can't tell. +- while { test "X"`$SHELL [$]0 --fallback-echo "X$teststring$teststring" 2>/dev/null` \ +- = "XX$teststring$teststring"; } >/dev/null 2>&1 && +- test $i != 17 # 1/2 MB should be enough +- do +- i=`expr $i + 1` +- teststring=$teststring$teststring +- done +- # Only check the string length outside the loop. +- lt_cv_sys_max_cmd_len=`expr "X$teststring" : ".*" 2>&1` +- teststring= +- # Add a significant safety factor because C++ compilers can tack on +- # massive amounts of additional arguments before passing them to the +- # linker. It appears as though 1/2 is a usable value. +- lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 2` +- fi +- ;; +- esac +-]) +-if test -n $lt_cv_sys_max_cmd_len ; then +- AC_MSG_RESULT($lt_cv_sys_max_cmd_len) +-else +- AC_MSG_RESULT(none) +-fi +-max_cmd_len=$lt_cv_sys_max_cmd_len +-_LT_DECL([], [max_cmd_len], [0], +- [What is the maximum length of a command?]) +-])# LT_CMD_MAX_LEN +- +-# Old name: +-AU_ALIAS([AC_LIBTOOL_SYS_MAX_CMD_LEN], [LT_CMD_MAX_LEN]) +-dnl aclocal-1.4 backwards compatibility: +-dnl AC_DEFUN([AC_LIBTOOL_SYS_MAX_CMD_LEN], []) +- +- +-# _LT_HEADER_DLFCN +-# ---------------- +-m4_defun([_LT_HEADER_DLFCN], +-[AC_CHECK_HEADERS([dlfcn.h], [], [], [AC_INCLUDES_DEFAULT])dnl +-])# _LT_HEADER_DLFCN +- +- +-# _LT_TRY_DLOPEN_SELF (ACTION-IF-TRUE, ACTION-IF-TRUE-W-USCORE, +-# ACTION-IF-FALSE, ACTION-IF-CROSS-COMPILING) +-# ---------------------------------------------------------------- +-m4_defun([_LT_TRY_DLOPEN_SELF], +-[m4_require([_LT_HEADER_DLFCN])dnl +-if test "$cross_compiling" = yes; then : +- [$4] +-else +- lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 +- lt_status=$lt_dlunknown +- cat > conftest.$ac_ext <<_LT_EOF +-[#line __oline__ "configure" +-#include "confdefs.h" +- +-#if HAVE_DLFCN_H +-#include <dlfcn.h> +-#endif +- +-#include <stdio.h> +- +-#ifdef RTLD_GLOBAL +-# define LT_DLGLOBAL RTLD_GLOBAL +-#else +-# ifdef DL_GLOBAL +-# define LT_DLGLOBAL DL_GLOBAL +-# else +-# define LT_DLGLOBAL 0 +-# endif +-#endif +- +-/* We may have to define LT_DLLAZY_OR_NOW in the command line if we +- find out it does not work in some platform. */ +-#ifndef LT_DLLAZY_OR_NOW +-# ifdef RTLD_LAZY +-# define LT_DLLAZY_OR_NOW RTLD_LAZY +-# else +-# ifdef DL_LAZY +-# define LT_DLLAZY_OR_NOW DL_LAZY +-# else +-# ifdef RTLD_NOW +-# define LT_DLLAZY_OR_NOW RTLD_NOW +-# else +-# ifdef DL_NOW +-# define LT_DLLAZY_OR_NOW DL_NOW +-# else +-# define LT_DLLAZY_OR_NOW 0 +-# endif +-# endif +-# endif +-# endif +-#endif +- +-void fnord() { int i=42;} +-int main () +-{ +- void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW); +- int status = $lt_dlunknown; +- +- if (self) +- { +- if (dlsym (self,"fnord")) status = $lt_dlno_uscore; +- else if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore; +- /* dlclose (self); */ +- } +- else +- puts (dlerror ()); +- +- return status; +-}] +-_LT_EOF +- if AC_TRY_EVAL(ac_link) && test -s conftest${ac_exeext} 2>/dev/null; then +- (./conftest; exit; ) >&AS_MESSAGE_LOG_FD 2>/dev/null +- lt_status=$? +- case x$lt_status in +- x$lt_dlno_uscore) $1 ;; +- x$lt_dlneed_uscore) $2 ;; +- x$lt_dlunknown|x*) $3 ;; +- esac +- else : +- # compilation failed +- $3 +- fi +-fi +-rm -fr conftest* +-])# _LT_TRY_DLOPEN_SELF +- +- +-# LT_SYS_DLOPEN_SELF +-# ------------------ +-AC_DEFUN([LT_SYS_DLOPEN_SELF], +-[m4_require([_LT_HEADER_DLFCN])dnl +-if test "x$enable_dlopen" != xyes; then +- enable_dlopen=unknown +- enable_dlopen_self=unknown +- enable_dlopen_self_static=unknown +-else +- lt_cv_dlopen=no +- lt_cv_dlopen_libs= +- +- case $host_os in +- beos*) +- lt_cv_dlopen="load_add_on" +- lt_cv_dlopen_libs= +- lt_cv_dlopen_self=yes +- ;; +- +- mingw* | pw32* | cegcc*) +- lt_cv_dlopen="LoadLibrary" +- lt_cv_dlopen_libs= +- ;; +- +- cygwin*) +- lt_cv_dlopen="dlopen" +- lt_cv_dlopen_libs= +- ;; +- +- darwin*) +- # if libdl is installed we need to link against it +- AC_CHECK_LIB([dl], [dlopen], +- [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"],[ +- lt_cv_dlopen="dyld" +- lt_cv_dlopen_libs= +- lt_cv_dlopen_self=yes +- ]) +- ;; +- +- *) +- AC_CHECK_FUNC([shl_load], +- [lt_cv_dlopen="shl_load"], +- [AC_CHECK_LIB([dld], [shl_load], +- [lt_cv_dlopen="shl_load" lt_cv_dlopen_libs="-ldld"], +- [AC_CHECK_FUNC([dlopen], +- [lt_cv_dlopen="dlopen"], +- [AC_CHECK_LIB([dl], [dlopen], +- [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"], +- [AC_CHECK_LIB([svld], [dlopen], +- [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-lsvld"], +- [AC_CHECK_LIB([dld], [dld_link], +- [lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-ldld"]) +- ]) +- ]) +- ]) +- ]) +- ]) +- ;; +- esac +- +- if test "x$lt_cv_dlopen" != xno; then +- enable_dlopen=yes +- else +- enable_dlopen=no +- fi +- +- case $lt_cv_dlopen in +- dlopen) +- save_CPPFLAGS="$CPPFLAGS" +- test "x$ac_cv_header_dlfcn_h" = xyes && CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H" +- +- save_LDFLAGS="$LDFLAGS" +- wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\" +- +- save_LIBS="$LIBS" +- LIBS="$lt_cv_dlopen_libs $LIBS" +- +- AC_CACHE_CHECK([whether a program can dlopen itself], +- lt_cv_dlopen_self, [dnl +- _LT_TRY_DLOPEN_SELF( +- lt_cv_dlopen_self=yes, lt_cv_dlopen_self=yes, +- lt_cv_dlopen_self=no, lt_cv_dlopen_self=cross) +- ]) +- +- if test "x$lt_cv_dlopen_self" = xyes; then +- wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $lt_prog_compiler_static\" +- AC_CACHE_CHECK([whether a statically linked program can dlopen itself], +- lt_cv_dlopen_self_static, [dnl +- _LT_TRY_DLOPEN_SELF( +- lt_cv_dlopen_self_static=yes, lt_cv_dlopen_self_static=yes, +- lt_cv_dlopen_self_static=no, lt_cv_dlopen_self_static=cross) +- ]) +- fi +- +- CPPFLAGS="$save_CPPFLAGS" +- LDFLAGS="$save_LDFLAGS" +- LIBS="$save_LIBS" +- ;; +- esac +- +- case $lt_cv_dlopen_self in +- yes|no) enable_dlopen_self=$lt_cv_dlopen_self ;; +- *) enable_dlopen_self=unknown ;; +- esac +- +- case $lt_cv_dlopen_self_static in +- yes|no) enable_dlopen_self_static=$lt_cv_dlopen_self_static ;; +- *) enable_dlopen_self_static=unknown ;; +- esac +-fi +-_LT_DECL([dlopen_support], [enable_dlopen], [0], +- [Whether dlopen is supported]) +-_LT_DECL([dlopen_self], [enable_dlopen_self], [0], +- [Whether dlopen of programs is supported]) +-_LT_DECL([dlopen_self_static], [enable_dlopen_self_static], [0], +- [Whether dlopen of statically linked programs is supported]) +-])# LT_SYS_DLOPEN_SELF +- +-# Old name: +-AU_ALIAS([AC_LIBTOOL_DLOPEN_SELF], [LT_SYS_DLOPEN_SELF]) +-dnl aclocal-1.4 backwards compatibility: +-dnl AC_DEFUN([AC_LIBTOOL_DLOPEN_SELF], []) +- +- +-# _LT_COMPILER_C_O([TAGNAME]) +-# --------------------------- +-# Check to see if options -c and -o are simultaneously supported by compiler. +-# This macro does not hard code the compiler like AC_PROG_CC_C_O. +-m4_defun([_LT_COMPILER_C_O], +-[m4_require([_LT_DECL_SED])dnl +-m4_require([_LT_FILEUTILS_DEFAULTS])dnl +-m4_require([_LT_TAG_COMPILER])dnl +-AC_CACHE_CHECK([if $compiler supports -c -o file.$ac_objext], +- [_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)], +- [_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)=no +- $RM -r conftest 2>/dev/null +- mkdir conftest +- cd conftest +- mkdir out +- echo "$lt_simple_compile_test_code" > conftest.$ac_ext +- +- lt_compiler_flag="-o out/conftest2.$ac_objext" +- # Insert the option either (1) after the last *FLAGS variable, or +- # (2) before a word containing "conftest.", or (3) at the end. +- # Note that $ac_compile itself does not contain backslashes and begins +- # with a dollar sign (not a hyphen), so the echo should work correctly. +- lt_compile=`echo "$ac_compile" | $SED \ +- -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ +- -e 's: [[^ ]]*conftest\.: $lt_compiler_flag&:; t' \ +- -e 's:$: $lt_compiler_flag:'` +- (eval echo "\"\$as_me:__oline__: $lt_compile\"" >&AS_MESSAGE_LOG_FD) +- (eval "$lt_compile" 2>out/conftest.err) +- ac_status=$? +- cat out/conftest.err >&AS_MESSAGE_LOG_FD +- echo "$as_me:__oline__: \$? = $ac_status" >&AS_MESSAGE_LOG_FD +- if (exit $ac_status) && test -s out/conftest2.$ac_objext +- then +- # The compiler can only warn and ignore the option if not recognized +- # So say no if there are warnings +- $ECHO "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' > out/conftest.exp +- $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 +- if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then +- _LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)=yes +- fi +- fi +- chmod u+w . 2>&AS_MESSAGE_LOG_FD +- $RM conftest* +- # SGI C++ compiler will create directory out/ii_files/ for +- # template instantiation +- test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files +- $RM out/* && rmdir out +- cd .. +- $RM -r conftest +- $RM conftest* +-]) +-_LT_TAGDECL([compiler_c_o], [lt_cv_prog_compiler_c_o], [1], +- [Does compiler simultaneously support -c and -o options?]) +-])# _LT_COMPILER_C_O +- +- +-# _LT_COMPILER_FILE_LOCKS([TAGNAME]) +-# ---------------------------------- +-# Check to see if we can do hard links to lock some files if needed +-m4_defun([_LT_COMPILER_FILE_LOCKS], +-[m4_require([_LT_ENABLE_LOCK])dnl +-m4_require([_LT_FILEUTILS_DEFAULTS])dnl +-_LT_COMPILER_C_O([$1]) +- +-hard_links="nottested" +-if test "$_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)" = no && test "$need_locks" != no; then +- # do not overwrite the value of need_locks provided by the user +- AC_MSG_CHECKING([if we can lock with hard links]) +- hard_links=yes +- $RM conftest* +- ln conftest.a conftest.b 2>/dev/null && hard_links=no +- touch conftest.a +- ln conftest.a conftest.b 2>&5 || hard_links=no +- ln conftest.a conftest.b 2>/dev/null && hard_links=no +- AC_MSG_RESULT([$hard_links]) +- if test "$hard_links" = no; then +- AC_MSG_WARN([`$CC' does not support `-c -o', so `make -j' may be unsafe]) +- need_locks=warn +- fi +-else +- need_locks=no +-fi +-_LT_DECL([], [need_locks], [1], [Must we lock files when doing compilation?]) +-])# _LT_COMPILER_FILE_LOCKS +- +- +-# _LT_CHECK_OBJDIR +-# ---------------- +-m4_defun([_LT_CHECK_OBJDIR], +-[AC_CACHE_CHECK([for objdir], [lt_cv_objdir], +-[rm -f .libs 2>/dev/null +-mkdir .libs 2>/dev/null +-if test -d .libs; then +- lt_cv_objdir=.libs +-else +- # MS-DOS does not allow filenames that begin with a dot. +- lt_cv_objdir=_libs +-fi +-rmdir .libs 2>/dev/null]) +-objdir=$lt_cv_objdir +-_LT_DECL([], [objdir], [0], +- [The name of the directory that contains temporary libtool files])dnl +-m4_pattern_allow([LT_OBJDIR])dnl +-AC_DEFINE_UNQUOTED(LT_OBJDIR, "$lt_cv_objdir/", +- [Define to the sub-directory in which libtool stores uninstalled libraries.]) +-])# _LT_CHECK_OBJDIR +- +- +-# _LT_LINKER_HARDCODE_LIBPATH([TAGNAME]) +-# -------------------------------------- +-# Check hardcoding attributes. +-m4_defun([_LT_LINKER_HARDCODE_LIBPATH], +-[AC_MSG_CHECKING([how to hardcode library paths into programs]) +-_LT_TAGVAR(hardcode_action, $1)= +-if test -n "$_LT_TAGVAR(hardcode_libdir_flag_spec, $1)" || +- test -n "$_LT_TAGVAR(runpath_var, $1)" || +- test "X$_LT_TAGVAR(hardcode_automatic, $1)" = "Xyes" ; then +- +- # We can hardcode non-existent directories. +- if test "$_LT_TAGVAR(hardcode_direct, $1)" != no && +- # If the only mechanism to avoid hardcoding is shlibpath_var, we +- # have to relink, otherwise we might link with an installed library +- # when we should be linking with a yet-to-be-installed one +- ## test "$_LT_TAGVAR(hardcode_shlibpath_var, $1)" != no && +- test "$_LT_TAGVAR(hardcode_minus_L, $1)" != no; then +- # Linking always hardcodes the temporary library directory. +- _LT_TAGVAR(hardcode_action, $1)=relink +- else +- # We can link without hardcoding, and we can hardcode nonexisting dirs. +- _LT_TAGVAR(hardcode_action, $1)=immediate +- fi +-else +- # We cannot hardcode anything, or else we can only hardcode existing +- # directories. +- _LT_TAGVAR(hardcode_action, $1)=unsupported +-fi +-AC_MSG_RESULT([$_LT_TAGVAR(hardcode_action, $1)]) +- +-if test "$_LT_TAGVAR(hardcode_action, $1)" = relink || +- test "$_LT_TAGVAR(inherit_rpath, $1)" = yes; then +- # Fast installation is not supported +- enable_fast_install=no +-elif test "$shlibpath_overrides_runpath" = yes || +- test "$enable_shared" = no; then +- # Fast installation is not necessary +- enable_fast_install=needless +-fi +-_LT_TAGDECL([], [hardcode_action], [0], +- [How to hardcode a shared library path into an executable]) +-])# _LT_LINKER_HARDCODE_LIBPATH +- +- +-# _LT_CMD_STRIPLIB +-# ---------------- +-m4_defun([_LT_CMD_STRIPLIB], +-[m4_require([_LT_DECL_EGREP]) +-striplib= +-old_striplib= +-AC_MSG_CHECKING([whether stripping libraries is possible]) +-if test -n "$STRIP" && $STRIP -V 2>&1 | $GREP "GNU strip" >/dev/null; then +- test -z "$old_striplib" && old_striplib="$STRIP --strip-debug" +- test -z "$striplib" && striplib="$STRIP --strip-unneeded" +- AC_MSG_RESULT([yes]) +-else +-# FIXME - insert some real tests, host_os isn't really good enough +- case $host_os in +- darwin*) +- if test -n "$STRIP" ; then +- striplib="$STRIP -x" +- old_striplib="$STRIP -S" +- AC_MSG_RESULT([yes]) +- else +- AC_MSG_RESULT([no]) +- fi +- ;; +- *) +- AC_MSG_RESULT([no]) +- ;; +- esac +-fi +-_LT_DECL([], [old_striplib], [1], [Commands to strip libraries]) +-_LT_DECL([], [striplib], [1]) +-])# _LT_CMD_STRIPLIB +- +- +-# _LT_SYS_DYNAMIC_LINKER([TAG]) +-# ----------------------------- +-# PORTME Fill in your ld.so characteristics +-m4_defun([_LT_SYS_DYNAMIC_LINKER], +-[AC_REQUIRE([AC_CANONICAL_HOST])dnl +-m4_require([_LT_DECL_EGREP])dnl +-m4_require([_LT_FILEUTILS_DEFAULTS])dnl +-m4_require([_LT_DECL_OBJDUMP])dnl +-m4_require([_LT_DECL_SED])dnl +-AC_MSG_CHECKING([dynamic linker characteristics]) +-m4_if([$1], +- [], [ +-if test "$GCC" = yes; then +- case $host_os in +- darwin*) lt_awk_arg="/^libraries:/,/LR/" ;; +- *) lt_awk_arg="/^libraries:/" ;; +- esac +- lt_search_path_spec=`$CC -print-search-dirs | awk $lt_awk_arg | $SED -e "s/^libraries://" -e "s,=/,/,g"` +- if $ECHO "$lt_search_path_spec" | $GREP ';' >/dev/null ; then +- # if the path contains ";" then we assume it to be the separator +- # otherwise default to the standard path separator (i.e. ":") - it is +- # assumed that no part of a normal pathname contains ";" but that should +- # okay in the real world where ";" in dirpaths is itself problematic. +- lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED -e 's/;/ /g'` +- else +- lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` +- fi +- # Ok, now we have the path, separated by spaces, we can step through it +- # and add multilib dir if necessary. +- lt_tmp_lt_search_path_spec= +- lt_multi_os_dir=`$CC $CPPFLAGS $CFLAGS $LDFLAGS -print-multi-os-directory 2>/dev/null` +- for lt_sys_path in $lt_search_path_spec; do +- if test -d "$lt_sys_path/$lt_multi_os_dir"; then +- lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path/$lt_multi_os_dir" +- else +- test -d "$lt_sys_path" && \ +- lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path" +- fi +- done +- lt_search_path_spec=`$ECHO $lt_tmp_lt_search_path_spec | awk ' +-BEGIN {RS=" "; FS="/|\n";} { +- lt_foo=""; +- lt_count=0; +- for (lt_i = NF; lt_i > 0; lt_i--) { +- if ($lt_i != "" && $lt_i != ".") { +- if ($lt_i == "..") { +- lt_count++; +- } else { +- if (lt_count == 0) { +- lt_foo="/" $lt_i lt_foo; +- } else { +- lt_count--; +- } +- } +- } +- } +- if (lt_foo != "") { lt_freq[[lt_foo]]++; } +- if (lt_freq[[lt_foo]] == 1) { print lt_foo; } +-}'` +- sys_lib_search_path_spec=`$ECHO $lt_search_path_spec` +-else +- sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib" +-fi]) +-library_names_spec= +-libname_spec='lib$name' +-soname_spec= +-shrext_cmds=".so" +-postinstall_cmds= +-postuninstall_cmds= +-finish_cmds= +-finish_eval= +-shlibpath_var= +-shlibpath_overrides_runpath=unknown +-version_type=none +-dynamic_linker="$host_os ld.so" +-sys_lib_dlsearch_path_spec="/lib /usr/lib" +-need_lib_prefix=unknown +-hardcode_into_libs=no +- +-# when you set need_version to no, make sure it does not cause -set_version +-# flags to be left without arguments +-need_version=unknown +- +-case $host_os in +-aix3*) +- version_type=linux +- library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a' +- shlibpath_var=LIBPATH +- +- # AIX 3 has no versioning support, so we append a major version to the name. +- soname_spec='${libname}${release}${shared_ext}$major' +- ;; +- +-aix[[4-9]]*) +- version_type=linux +- need_lib_prefix=no +- need_version=no +- hardcode_into_libs=yes +- if test "$host_cpu" = ia64; then +- # AIX 5 supports IA64 +- library_names_spec='${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext}$versuffix $libname${shared_ext}' +- shlibpath_var=LD_LIBRARY_PATH +- else +- # With GCC up to 2.95.x, collect2 would create an import file +- # for dependence libraries. The import file would start with +- # the line `#! .'. This would cause the generated library to +- # depend on `.', always an invalid library. This was fixed in +- # development snapshots of GCC prior to 3.0. +- case $host_os in +- aix4 | aix4.[[01]] | aix4.[[01]].*) +- if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)' +- echo ' yes ' +- echo '#endif'; } | ${CC} -E - | $GREP yes > /dev/null; then +- : +- else +- can_build_shared=no +- fi +- ;; +- esac +- # AIX (on Power*) has no versioning support, so currently we can not hardcode correct +- # soname into executable. Probably we can add versioning support to +- # collect2, so additional links can be useful in future. +- if test "$aix_use_runtimelinking" = yes; then +- # If using run time linking (on AIX 4.2 or later) use lib<name>.so +- # instead of lib<name>.a to let people know that these are not +- # typical AIX shared libraries. +- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' +- else +- # We preserve .a as extension for shared libraries through AIX4.2 +- # and later when we are not doing run time linking. +- library_names_spec='${libname}${release}.a $libname.a' +- soname_spec='${libname}${release}${shared_ext}$major' +- fi +- shlibpath_var=LIBPATH +- fi +- ;; +- +-amigaos*) +- case $host_cpu in +- powerpc) +- # Since July 2007 AmigaOS4 officially supports .so libraries. +- # When compiling the executable, add -use-dynld -Lsobjs: to the compileline. +- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' +- ;; +- m68k) +- library_names_spec='$libname.ixlibrary $libname.a' +- # Create ${libname}_ixlibrary.a entries in /sys/libs. +- finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`$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' +- ;; +- esac +- ;; +- +-beos*) +- library_names_spec='${libname}${shared_ext}' +- dynamic_linker="$host_os ld.so" +- shlibpath_var=LIBRARY_PATH +- ;; +- +-bsdi[[45]]*) +- version_type=linux +- need_version=no +- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' +- soname_spec='${libname}${release}${shared_ext}$major' +- finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir' +- shlibpath_var=LD_LIBRARY_PATH +- sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib" +- sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib" +- # the default ld.so.conf also contains /usr/contrib/lib and +- # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow +- # libtool to hard-code these into programs +- ;; +- +-cygwin* | mingw* | pw32* | cegcc*) +- version_type=windows +- shrext_cmds=".dll" +- need_version=no +- need_lib_prefix=no +- +- case $GCC,$host_os in +- yes,cygwin* | yes,mingw* | yes,pw32* | yes,cegcc*) +- library_names_spec='$libname.dll.a' +- # DLL is installed to $(libdir)/../bin by postinstall_cmds +- postinstall_cmds='base_file=`basename \${file}`~ +- dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i; echo \$dlname'\''`~ +- dldir=$destdir/`dirname \$dlpath`~ +- test -d \$dldir || mkdir -p \$dldir~ +- $install_prog $dir/$dlname \$dldir/$dlname~ +- chmod a+x \$dldir/$dlname~ +- if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then +- eval '\''$striplib \$dldir/$dlname'\'' || exit \$?; +- fi' +- postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ +- dlpath=$dir/\$dldll~ +- $RM \$dlpath' +- shlibpath_overrides_runpath=yes +- +- case $host_os in +- cygwin*) +- # Cygwin DLLs use 'cyg' prefix rather than 'lib' +- soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}' +- sys_lib_search_path_spec="/usr/lib /lib/w32api /lib /usr/local/lib" +- ;; +- mingw* | cegcc*) +- # MinGW DLLs use traditional 'lib' prefix +- soname_spec='${libname}`echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}' +- sys_lib_search_path_spec=`$CC -print-search-dirs | $GREP "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"` +- if $ECHO "$sys_lib_search_path_spec" | [$GREP ';[c-zC-Z]:/' >/dev/null]; then +- # It is most probably a Windows format PATH printed by +- # mingw gcc, but we are running on Cygwin. Gcc prints its search +- # path with ; separators, and with drive letters. We can handle the +- # drive letters (cygwin fileutils understands them), so leave them, +- # especially as we might pass files found there to a mingw objdump, +- # which wouldn't understand a cygwinified path. Ahh. +- sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'` +- else +- sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` +- fi +- ;; +- pw32*) +- # pw32 DLLs use 'pw' prefix rather than 'lib' +- library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}' +- ;; +- esac +- ;; +- +- *) +- library_names_spec='${libname}`echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext} $libname.lib' +- ;; +- esac +- dynamic_linker='Win32 ld.exe' +- # FIXME: first we should search . and the directory the executable is in +- shlibpath_var=PATH +- ;; +- +-darwin* | rhapsody*) +- dynamic_linker="$host_os dyld" +- version_type=darwin +- need_lib_prefix=no +- need_version=no +- library_names_spec='${libname}${release}${major}$shared_ext ${libname}$shared_ext' +- soname_spec='${libname}${release}${major}$shared_ext' +- shlibpath_overrides_runpath=yes +- shlibpath_var=DYLD_LIBRARY_PATH +- shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`' +-m4_if([$1], [],[ +- sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/local/lib"]) +- sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib' +- ;; +- +-dgux*) +- version_type=linux +- need_lib_prefix=no +- need_version=no +- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext' +- soname_spec='${libname}${release}${shared_ext}$major' +- shlibpath_var=LD_LIBRARY_PATH +- ;; +- +-freebsd1*) +- dynamic_linker=no +- ;; +- +-freebsd* | dragonfly*) +- # DragonFly does not have aout. When/if they implement a new +- # versioning mechanism, adjust this. +- if test -x /usr/bin/objformat; then +- objformat=`/usr/bin/objformat` +- else +- case $host_os in +- freebsd[[123]]*) objformat=aout ;; +- *) objformat=elf ;; +- esac +- fi +- version_type=freebsd-$objformat +- case $version_type in +- freebsd-elf*) +- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' +- need_version=no +- need_lib_prefix=no +- ;; +- freebsd-*) +- library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix' +- need_version=yes +- ;; +- esac +- shlibpath_var=LD_LIBRARY_PATH +- case $host_os in +- freebsd2*) +- shlibpath_overrides_runpath=yes +- ;; +- freebsd3.[[01]]* | freebsdelf3.[[01]]*) +- shlibpath_overrides_runpath=yes +- hardcode_into_libs=yes +- ;; +- freebsd3.[[2-9]]* | freebsdelf3.[[2-9]]* | \ +- freebsd4.[[0-5]] | freebsdelf4.[[0-5]] | freebsd4.1.1 | freebsdelf4.1.1) +- shlibpath_overrides_runpath=no +- hardcode_into_libs=yes +- ;; +- *) # from 4.6 on, and DragonFly +- shlibpath_overrides_runpath=yes +- hardcode_into_libs=yes +- ;; +- esac +- ;; +- +-gnu*) +- version_type=linux +- need_lib_prefix=no +- need_version=no +- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}' +- soname_spec='${libname}${release}${shared_ext}$major' +- shlibpath_var=LD_LIBRARY_PATH +- hardcode_into_libs=yes +- ;; +- +-hpux9* | hpux10* | hpux11*) +- # Give a soname corresponding to the major version so that dld.sl refuses to +- # link against other versions. +- version_type=sunos +- need_lib_prefix=no +- need_version=no +- case $host_cpu in +- ia64*) +- shrext_cmds='.so' +- hardcode_into_libs=yes +- dynamic_linker="$host_os dld.so" +- shlibpath_var=LD_LIBRARY_PATH +- shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. +- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' +- soname_spec='${libname}${release}${shared_ext}$major' +- if test "X$HPUX_IA64_MODE" = X32; then +- sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib" +- else +- sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64" +- fi +- sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec +- ;; +- hppa*64*) +- shrext_cmds='.sl' +- hardcode_into_libs=yes +- dynamic_linker="$host_os dld.sl" +- shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH +- shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. +- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' +- soname_spec='${libname}${release}${shared_ext}$major' +- sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64" +- sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec +- ;; +- *) +- shrext_cmds='.sl' +- dynamic_linker="$host_os dld.sl" +- shlibpath_var=SHLIB_PATH +- shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH +- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' +- soname_spec='${libname}${release}${shared_ext}$major' +- ;; +- esac +- # HP-UX runs *really* slowly unless shared libraries are mode 555. +- postinstall_cmds='chmod 555 $lib' +- ;; +- +-interix[[3-9]]*) +- version_type=linux +- need_lib_prefix=no +- need_version=no +- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' +- soname_spec='${libname}${release}${shared_ext}$major' +- dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)' +- shlibpath_var=LD_LIBRARY_PATH +- shlibpath_overrides_runpath=no +- hardcode_into_libs=yes +- ;; +- +-irix5* | irix6* | nonstopux*) +- case $host_os in +- nonstopux*) version_type=nonstopux ;; +- *) +- if test "$lt_cv_prog_gnu_ld" = yes; then +- version_type=linux +- else +- version_type=irix +- fi ;; +- esac +- need_lib_prefix=no +- need_version=no +- soname_spec='${libname}${release}${shared_ext}$major' +- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} $libname${shared_ext}' +- case $host_os in +- irix5* | nonstopux*) +- libsuff= shlibsuff= +- ;; +- *) +- case $LD in # libtool.m4 will add one of these switches to LD +- *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ") +- libsuff= shlibsuff= libmagic=32-bit;; +- *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ") +- libsuff=32 shlibsuff=N32 libmagic=N32;; +- *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ") +- libsuff=64 shlibsuff=64 libmagic=64-bit;; +- *) libsuff= shlibsuff= libmagic=never-match;; +- esac +- ;; +- esac +- shlibpath_var=LD_LIBRARY${shlibsuff}_PATH +- shlibpath_overrides_runpath=no +- sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}" +- sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}" +- hardcode_into_libs=yes +- ;; +- +-# No shared lib support for Linux oldld, aout, or coff. +-linux*oldld* | linux*aout* | linux*coff*) +- dynamic_linker=no +- ;; +- +-# This must be Linux ELF. +-linux* | k*bsd*-gnu) +- version_type=linux +- need_lib_prefix=no +- need_version=no +- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' +- soname_spec='${libname}${release}${shared_ext}$major' +- finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir' +- shlibpath_var=LD_LIBRARY_PATH +- shlibpath_overrides_runpath=no +- # Some binutils ld are patched to set DT_RUNPATH +- save_LDFLAGS=$LDFLAGS +- save_libdir=$libdir +- eval "libdir=/foo; wl=\"$_LT_TAGVAR(lt_prog_compiler_wl, $1)\"; \ +- LDFLAGS=\"\$LDFLAGS $_LT_TAGVAR(hardcode_libdir_flag_spec, $1)\"" +- AC_LINK_IFELSE([AC_LANG_PROGRAM([],[])], +- [AS_IF([ ($OBJDUMP -p conftest$ac_exeext) 2>/dev/null | grep "RUNPATH.*$libdir" >/dev/null], +- [shlibpath_overrides_runpath=yes])]) +- LDFLAGS=$save_LDFLAGS +- libdir=$save_libdir +- +- # This implies no fast_install, which is unacceptable. +- # Some rework will be needed to allow for fast_install +- # before this can be enabled. +- hardcode_into_libs=yes +- +- # Append ld.so.conf contents to the search path +- if test -f /etc/ld.so.conf; then +- lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \[$]2)); skip = 1; } { if (!skip) print \[$]0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[ ]*hwcap[ ]/d;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '` +- sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra" +- fi +- +- # We used to test for /lib/ld.so.1 and disable shared libraries on +- # powerpc, because MkLinux only supported shared libraries with the +- # GNU dynamic linker. Since this was broken with cross compilers, +- # most powerpc-linux boxes support dynamic linking these days and +- # people can always --disable-shared, the test was removed, and we +- # assume the GNU/Linux dynamic linker is in use. +- dynamic_linker='GNU/Linux ld.so' +- ;; +- +-netbsd*) +- version_type=sunos +- need_lib_prefix=no +- need_version=no +- if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then +- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' +- finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' +- dynamic_linker='NetBSD (a.out) ld.so' +- else +- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' +- soname_spec='${libname}${release}${shared_ext}$major' +- dynamic_linker='NetBSD ld.elf_so' +- fi +- shlibpath_var=LD_LIBRARY_PATH +- shlibpath_overrides_runpath=yes +- hardcode_into_libs=yes +- ;; +- +-newsos6) +- version_type=linux +- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' +- shlibpath_var=LD_LIBRARY_PATH +- shlibpath_overrides_runpath=yes +- ;; +- +-*nto* | *qnx*) +- version_type=qnx +- need_lib_prefix=no +- need_version=no +- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' +- soname_spec='${libname}${release}${shared_ext}$major' +- shlibpath_var=LD_LIBRARY_PATH +- shlibpath_overrides_runpath=no +- hardcode_into_libs=yes +- dynamic_linker='ldqnx.so' +- ;; +- +-openbsd*) +- version_type=sunos +- sys_lib_dlsearch_path_spec="/usr/lib" +- need_lib_prefix=no +- # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs. +- case $host_os in +- openbsd3.3 | openbsd3.3.*) need_version=yes ;; +- *) need_version=no ;; +- esac +- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' +- finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' +- shlibpath_var=LD_LIBRARY_PATH +- if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then +- case $host_os in +- openbsd2.[[89]] | openbsd2.[[89]].*) +- shlibpath_overrides_runpath=no +- ;; +- *) +- shlibpath_overrides_runpath=yes +- ;; +- esac +- else +- shlibpath_overrides_runpath=yes +- fi +- ;; +- +-os2*) +- libname_spec='$name' +- shrext_cmds=".dll" +- need_lib_prefix=no +- library_names_spec='$libname${shared_ext} $libname.a' +- dynamic_linker='OS/2 ld.exe' +- shlibpath_var=LIBPATH +- ;; +- +-osf3* | osf4* | osf5*) +- version_type=osf +- need_lib_prefix=no +- need_version=no +- soname_spec='${libname}${release}${shared_ext}$major' +- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' +- shlibpath_var=LD_LIBRARY_PATH +- sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib" +- sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec" +- ;; +- +-rdos*) +- dynamic_linker=no +- ;; +- +-solaris*) +- version_type=linux +- need_lib_prefix=no +- need_version=no +- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' +- soname_spec='${libname}${release}${shared_ext}$major' +- shlibpath_var=LD_LIBRARY_PATH +- shlibpath_overrides_runpath=yes +- hardcode_into_libs=yes +- # ldd complains unless libraries are executable +- postinstall_cmds='chmod +x $lib' +- ;; +- +-sunos4*) +- version_type=sunos +- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' +- finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir' +- shlibpath_var=LD_LIBRARY_PATH +- shlibpath_overrides_runpath=yes +- if test "$with_gnu_ld" = yes; then +- need_lib_prefix=no +- fi +- need_version=yes +- ;; +- +-sysv4 | sysv4.3*) +- version_type=linux +- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' +- soname_spec='${libname}${release}${shared_ext}$major' +- shlibpath_var=LD_LIBRARY_PATH +- case $host_vendor in +- sni) +- shlibpath_overrides_runpath=no +- need_lib_prefix=no +- runpath_var=LD_RUN_PATH +- ;; +- siemens) +- need_lib_prefix=no +- ;; +- motorola) +- need_lib_prefix=no +- need_version=no +- shlibpath_overrides_runpath=no +- sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib' +- ;; +- esac +- ;; +- +-sysv4*MP*) +- if test -d /usr/nec ;then +- version_type=linux +- library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}' +- soname_spec='$libname${shared_ext}.$major' +- shlibpath_var=LD_LIBRARY_PATH +- fi +- ;; +- +-sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) +- version_type=freebsd-elf +- need_lib_prefix=no +- need_version=no +- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' +- soname_spec='${libname}${release}${shared_ext}$major' +- shlibpath_var=LD_LIBRARY_PATH +- shlibpath_overrides_runpath=yes +- hardcode_into_libs=yes +- if test "$with_gnu_ld" = yes; then +- sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib' +- else +- sys_lib_search_path_spec='/usr/ccs/lib /usr/lib' +- case $host_os in +- sco3.2v5*) +- sys_lib_search_path_spec="$sys_lib_search_path_spec /lib" +- ;; +- esac +- fi +- sys_lib_dlsearch_path_spec='/usr/lib' +- ;; +- +-tpf*) +- # TPF is a cross-target only. Preferred cross-host = GNU/Linux. +- version_type=linux +- need_lib_prefix=no +- need_version=no +- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' +- shlibpath_var=LD_LIBRARY_PATH +- shlibpath_overrides_runpath=no +- hardcode_into_libs=yes +- ;; +- +-uts4*) +- version_type=linux +- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' +- soname_spec='${libname}${release}${shared_ext}$major' +- shlibpath_var=LD_LIBRARY_PATH +- ;; +- +-*) +- dynamic_linker=no +- ;; +-esac +-AC_MSG_RESULT([$dynamic_linker]) +-test "$dynamic_linker" = no && can_build_shared=no +- +-variables_saved_for_relink="PATH $shlibpath_var $runpath_var" +-if test "$GCC" = yes; then +- variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH" +-fi +- +-if test "${lt_cv_sys_lib_search_path_spec+set}" = set; then +- sys_lib_search_path_spec="$lt_cv_sys_lib_search_path_spec" +-fi +-if test "${lt_cv_sys_lib_dlsearch_path_spec+set}" = set; then +- sys_lib_dlsearch_path_spec="$lt_cv_sys_lib_dlsearch_path_spec" +-fi +- +-_LT_DECL([], [variables_saved_for_relink], [1], +- [Variables whose values should be saved in libtool wrapper scripts and +- restored at link time]) +-_LT_DECL([], [need_lib_prefix], [0], +- [Do we need the "lib" prefix for modules?]) +-_LT_DECL([], [need_version], [0], [Do we need a version for libraries?]) +-_LT_DECL([], [version_type], [0], [Library versioning type]) +-_LT_DECL([], [runpath_var], [0], [Shared library runtime path variable]) +-_LT_DECL([], [shlibpath_var], [0],[Shared library path variable]) +-_LT_DECL([], [shlibpath_overrides_runpath], [0], +- [Is shlibpath searched before the hard-coded library search path?]) +-_LT_DECL([], [libname_spec], [1], [Format of library name prefix]) +-_LT_DECL([], [library_names_spec], [1], +- [[List of archive names. First name is the real one, the rest are links. +- The last name is the one that the linker finds with -lNAME]]) +-_LT_DECL([], [soname_spec], [1], +- [[The coded name of the library, if different from the real name]]) +-_LT_DECL([], [postinstall_cmds], [2], +- [Command to use after installation of a shared archive]) +-_LT_DECL([], [postuninstall_cmds], [2], +- [Command to use after uninstallation of a shared archive]) +-_LT_DECL([], [finish_cmds], [2], +- [Commands used to finish a libtool library installation in a directory]) +-_LT_DECL([], [finish_eval], [1], +- [[As "finish_cmds", except a single script fragment to be evaled but +- not shown]]) +-_LT_DECL([], [hardcode_into_libs], [0], +- [Whether we should hardcode library paths into libraries]) +-_LT_DECL([], [sys_lib_search_path_spec], [2], +- [Compile-time system search path for libraries]) +-_LT_DECL([], [sys_lib_dlsearch_path_spec], [2], +- [Run-time system search path for libraries]) +-])# _LT_SYS_DYNAMIC_LINKER +- +- +-# _LT_PATH_TOOL_PREFIX(TOOL) +-# -------------------------- +-# find a file program which can recognize shared library +-AC_DEFUN([_LT_PATH_TOOL_PREFIX], +-[m4_require([_LT_DECL_EGREP])dnl +-AC_MSG_CHECKING([for $1]) +-AC_CACHE_VAL(lt_cv_path_MAGIC_CMD, +-[case $MAGIC_CMD in +-[[\\/*] | ?:[\\/]*]) +- lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path. +- ;; +-*) +- lt_save_MAGIC_CMD="$MAGIC_CMD" +- lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR +-dnl $ac_dummy forces splitting on constant user-supplied paths. +-dnl POSIX.2 word splitting is done only on the output of word expansions, +-dnl not every word. This closes a longstanding sh security hole. +- ac_dummy="m4_if([$2], , $PATH, [$2])" +- for ac_dir in $ac_dummy; do +- IFS="$lt_save_ifs" +- test -z "$ac_dir" && ac_dir=. +- if test -f $ac_dir/$1; then +- lt_cv_path_MAGIC_CMD="$ac_dir/$1" +- if test -n "$file_magic_test_file"; then +- case $deplibs_check_method in +- "file_magic "*) +- file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"` +- MAGIC_CMD="$lt_cv_path_MAGIC_CMD" +- if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null | +- $EGREP "$file_magic_regex" > /dev/null; then +- : +- else +- cat <<_LT_EOF 1>&2 +- +-*** Warning: the command libtool uses to detect shared libraries, +-*** $file_magic_cmd, produces output that libtool cannot recognize. +-*** The result is that libtool may fail to recognize shared libraries +-*** as such. This will affect the creation of libtool libraries that +-*** depend on shared libraries, but programs linked with such libtool +-*** libraries will work regardless of this problem. Nevertheless, you +-*** may want to report the problem to your system manager and/or to +-*** bug-libtool@gnu.org +- +-_LT_EOF +- fi ;; +- esac +- fi +- break +- fi +- done +- IFS="$lt_save_ifs" +- MAGIC_CMD="$lt_save_MAGIC_CMD" +- ;; +-esac]) +-MAGIC_CMD="$lt_cv_path_MAGIC_CMD" +-if test -n "$MAGIC_CMD"; then +- AC_MSG_RESULT($MAGIC_CMD) +-else +- AC_MSG_RESULT(no) +-fi +-_LT_DECL([], [MAGIC_CMD], [0], +- [Used to examine libraries when file_magic_cmd begins with "file"])dnl +-])# _LT_PATH_TOOL_PREFIX +- +-# Old name: +-AU_ALIAS([AC_PATH_TOOL_PREFIX], [_LT_PATH_TOOL_PREFIX]) +-dnl aclocal-1.4 backwards compatibility: +-dnl AC_DEFUN([AC_PATH_TOOL_PREFIX], []) +- +- +-# _LT_PATH_MAGIC +-# -------------- +-# find a file program which can recognize a shared library +-m4_defun([_LT_PATH_MAGIC], +-[_LT_PATH_TOOL_PREFIX(${ac_tool_prefix}file, /usr/bin$PATH_SEPARATOR$PATH) +-if test -z "$lt_cv_path_MAGIC_CMD"; then +- if test -n "$ac_tool_prefix"; then +- _LT_PATH_TOOL_PREFIX(file, /usr/bin$PATH_SEPARATOR$PATH) +- else +- MAGIC_CMD=: +- fi +-fi +-])# _LT_PATH_MAGIC +- +- +-# LT_PATH_LD +-# ---------- +-# find the pathname to the GNU or non-GNU linker +-AC_DEFUN([LT_PATH_LD], +-[AC_REQUIRE([AC_PROG_CC])dnl +-AC_REQUIRE([AC_CANONICAL_HOST])dnl +-AC_REQUIRE([AC_CANONICAL_BUILD])dnl +-m4_require([_LT_DECL_SED])dnl +-m4_require([_LT_DECL_EGREP])dnl +- +-AC_ARG_WITH([gnu-ld], +- [AS_HELP_STRING([--with-gnu-ld], +- [assume the C compiler uses GNU ld @<:@default=no@:>@])], +- [test "$withval" = no || with_gnu_ld=yes], +- [with_gnu_ld=no])dnl +- +-ac_prog=ld +-if test "$GCC" = yes; then +- # Check if gcc -print-prog-name=ld gives a path. +- AC_MSG_CHECKING([for ld used by $CC]) +- case $host in +- *-*-mingw*) +- # gcc leaves a trailing carriage return which upsets mingw +- ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;; +- *) +- ac_prog=`($CC -print-prog-name=ld) 2>&5` ;; +- esac +- case $ac_prog in +- # Accept absolute paths. +- [[\\/]]* | ?:[[\\/]]*) +- re_direlt='/[[^/]][[^/]]*/\.\./' +- # Canonicalize the pathname of ld +- ac_prog=`$ECHO "$ac_prog"| $SED 's%\\\\%/%g'` +- while $ECHO "$ac_prog" | $GREP "$re_direlt" > /dev/null 2>&1; do +- ac_prog=`$ECHO $ac_prog| $SED "s%$re_direlt%/%"` +- done +- test -z "$LD" && LD="$ac_prog" +- ;; +- "") +- # If it fails, then pretend we aren't using GCC. +- ac_prog=ld +- ;; +- *) +- # If it is relative, then search for the first ld in PATH. +- with_gnu_ld=unknown +- ;; +- esac +-elif test "$with_gnu_ld" = yes; then +- AC_MSG_CHECKING([for GNU ld]) +-else +- AC_MSG_CHECKING([for non-GNU ld]) +-fi +-AC_CACHE_VAL(lt_cv_path_LD, +-[if test -z "$LD"; then +- lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR +- for ac_dir in $PATH; do +- IFS="$lt_save_ifs" +- test -z "$ac_dir" && ac_dir=. +- if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then +- lt_cv_path_LD="$ac_dir/$ac_prog" +- # Check to see if the program is GNU ld. I'd rather use --version, +- # but apparently some variants of GNU ld only accept -v. +- # Break only if it was the GNU/non-GNU ld that we prefer. +- case `"$lt_cv_path_LD" -v 2>&1 </dev/null` in +- *GNU* | *'with BFD'*) +- test "$with_gnu_ld" != no && break +- ;; +- *) +- test "$with_gnu_ld" != yes && break +- ;; +- esac +- fi +- done +- IFS="$lt_save_ifs" +-else +- lt_cv_path_LD="$LD" # Let the user override the test with a path. +-fi]) +-LD="$lt_cv_path_LD" +-if test -n "$LD"; then +- AC_MSG_RESULT($LD) +-else +- AC_MSG_RESULT(no) +-fi +-test -z "$LD" && AC_MSG_ERROR([no acceptable ld found in \$PATH]) +-_LT_PATH_LD_GNU +-AC_SUBST([LD]) +- +-_LT_TAGDECL([], [LD], [1], [The linker used to build libraries]) +-])# LT_PATH_LD +- +-# Old names: +-AU_ALIAS([AM_PROG_LD], [LT_PATH_LD]) +-AU_ALIAS([AC_PROG_LD], [LT_PATH_LD]) +-dnl aclocal-1.4 backwards compatibility: +-dnl AC_DEFUN([AM_PROG_LD], []) +-dnl AC_DEFUN([AC_PROG_LD], []) +- +- +-# _LT_PATH_LD_GNU +-#- -------------- +-m4_defun([_LT_PATH_LD_GNU], +-[AC_CACHE_CHECK([if the linker ($LD) is GNU ld], lt_cv_prog_gnu_ld, +-[# I'd rather use --version here, but apparently some GNU lds only accept -v. +-case `$LD -v 2>&1 </dev/null` in +-*GNU* | *'with BFD'*) +- lt_cv_prog_gnu_ld=yes +- ;; +-*) +- lt_cv_prog_gnu_ld=no +- ;; +-esac]) +-with_gnu_ld=$lt_cv_prog_gnu_ld +-])# _LT_PATH_LD_GNU +- +- +-# _LT_CMD_RELOAD +-# -------------- +-# find reload flag for linker +-# -- PORTME Some linkers may need a different reload flag. +-m4_defun([_LT_CMD_RELOAD], +-[AC_CACHE_CHECK([for $LD option to reload object files], +- lt_cv_ld_reload_flag, +- [lt_cv_ld_reload_flag='-r']) +-reload_flag=$lt_cv_ld_reload_flag +-case $reload_flag in +-"" | " "*) ;; +-*) reload_flag=" $reload_flag" ;; +-esac +-reload_cmds='$LD$reload_flag -o $output$reload_objs' +-case $host_os in +- darwin*) +- if test "$GCC" = yes; then +- reload_cmds='$LTCC $LTCFLAGS -nostdlib ${wl}-r -o $output$reload_objs' +- else +- reload_cmds='$LD$reload_flag -o $output$reload_objs' +- fi +- ;; +-esac +-_LT_DECL([], [reload_flag], [1], [How to create reloadable object files])dnl +-_LT_DECL([], [reload_cmds], [2])dnl +-])# _LT_CMD_RELOAD +- +- +-# _LT_CHECK_MAGIC_METHOD +-# ---------------------- +-# how to check for library dependencies +-# -- PORTME fill in with the dynamic library characteristics +-m4_defun([_LT_CHECK_MAGIC_METHOD], +-[m4_require([_LT_DECL_EGREP]) +-m4_require([_LT_DECL_OBJDUMP]) +-AC_CACHE_CHECK([how to recognize dependent libraries], +-lt_cv_deplibs_check_method, +-[lt_cv_file_magic_cmd='$MAGIC_CMD' +-lt_cv_file_magic_test_file= +-lt_cv_deplibs_check_method='unknown' +-# Need to set the preceding variable on all platforms that support +-# interlibrary dependencies. +-# 'none' -- dependencies not supported. +-# `unknown' -- same as none, but documents that we really don't know. +-# 'pass_all' -- all dependencies passed with no checks. +-# 'test_compile' -- check by making test program. +-# 'file_magic [[regex]]' -- check by looking for files in library path +-# which responds to the $file_magic_cmd with a given extended regex. +-# If you have `file' or equivalent on your system and you're not sure +-# whether `pass_all' will *always* work, you probably want this one. +- +-case $host_os in +-aix[[4-9]]*) +- lt_cv_deplibs_check_method=pass_all +- ;; +- +-beos*) +- lt_cv_deplibs_check_method=pass_all +- ;; +- +-bsdi[[45]]*) +- lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (shared object|dynamic lib)' +- lt_cv_file_magic_cmd='/usr/bin/file -L' +- lt_cv_file_magic_test_file=/shlib/libc.so +- ;; +- +-cygwin*) +- # func_win32_libid is a shell function defined in ltmain.sh +- lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL' +- lt_cv_file_magic_cmd='func_win32_libid' +- ;; +- +-mingw* | pw32*) +- # Base MSYS/MinGW do not provide the 'file' command needed by +- # func_win32_libid shell function, so use a weaker test based on 'objdump', +- # unless we find 'file', for example because we are cross-compiling. +- if ( file / ) >/dev/null 2>&1; then +- lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL' +- lt_cv_file_magic_cmd='func_win32_libid' +- else +- lt_cv_deplibs_check_method='file_magic file format pei*-i386(.*architecture: i386)?' +- lt_cv_file_magic_cmd='$OBJDUMP -f' +- fi +- ;; +- +-cegcc) +- # use the weaker test based on 'objdump'. See mingw*. +- lt_cv_deplibs_check_method='file_magic file format pe-arm-.*little(.*architecture: arm)?' +- lt_cv_file_magic_cmd='$OBJDUMP -f' +- ;; +- +-darwin* | rhapsody*) +- lt_cv_deplibs_check_method=pass_all +- ;; +- +-freebsd* | dragonfly*) +- if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then +- case $host_cpu in +- i*86 ) +- # Not sure whether the presence of OpenBSD here was a mistake. +- # Let's accept both of them until this is cleared up. +- lt_cv_deplibs_check_method='file_magic (FreeBSD|OpenBSD|DragonFly)/i[[3-9]]86 (compact )?demand paged shared library' +- lt_cv_file_magic_cmd=/usr/bin/file +- lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*` +- ;; +- esac +- else +- lt_cv_deplibs_check_method=pass_all +- fi +- ;; +- +-gnu*) +- lt_cv_deplibs_check_method=pass_all +- ;; +- +-hpux10.20* | hpux11*) +- lt_cv_file_magic_cmd=/usr/bin/file +- case $host_cpu in +- ia64*) +- lt_cv_deplibs_check_method='file_magic (s[[0-9]][[0-9]][[0-9]]|ELF-[[0-9]][[0-9]]) shared object file - IA64' +- lt_cv_file_magic_test_file=/usr/lib/hpux32/libc.so +- ;; +- hppa*64*) +- [lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF-[0-9][0-9]) shared object file - PA-RISC [0-9].[0-9]'] +- lt_cv_file_magic_test_file=/usr/lib/pa20_64/libc.sl +- ;; +- *) +- lt_cv_deplibs_check_method='file_magic (s[[0-9]][[0-9]][[0-9]]|PA-RISC[[0-9]].[[0-9]]) shared library' +- lt_cv_file_magic_test_file=/usr/lib/libc.sl +- ;; +- esac +- ;; +- +-interix[[3-9]]*) +- # PIC code is broken on Interix 3.x, that's why |\.a not |_pic\.a here +- lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so|\.a)$' +- ;; +- +-irix5* | irix6* | nonstopux*) +- case $LD in +- *-32|*"-32 ") libmagic=32-bit;; +- *-n32|*"-n32 ") libmagic=N32;; +- *-64|*"-64 ") libmagic=64-bit;; +- *) libmagic=never-match;; +- esac +- lt_cv_deplibs_check_method=pass_all +- ;; +- +-# This must be Linux ELF. +-linux* | k*bsd*-gnu) +- lt_cv_deplibs_check_method=pass_all +- ;; +- +-netbsd*) +- if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then +- lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|_pic\.a)$' +- else +- lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so|_pic\.a)$' +- fi +- ;; +- +-newos6*) +- lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (executable|dynamic lib)' +- lt_cv_file_magic_cmd=/usr/bin/file +- lt_cv_file_magic_test_file=/usr/lib/libnls.so +- ;; +- +-*nto* | *qnx*) +- lt_cv_deplibs_check_method=pass_all +- ;; +- +-openbsd*) +- if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then +- lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|\.so|_pic\.a)$' +- else +- lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|_pic\.a)$' +- fi +- ;; +- +-osf3* | osf4* | osf5*) +- lt_cv_deplibs_check_method=pass_all +- ;; +- +-rdos*) +- lt_cv_deplibs_check_method=pass_all +- ;; +- +-solaris*) +- lt_cv_deplibs_check_method=pass_all +- ;; +- +-sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) +- lt_cv_deplibs_check_method=pass_all +- ;; +- +-sysv4 | sysv4.3*) +- case $host_vendor in +- motorola) +- lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (shared object|dynamic lib) M[[0-9]][[0-9]]* Version [[0-9]]' +- lt_cv_file_magic_test_file=`echo /usr/lib/libc.so*` +- ;; +- ncr) +- lt_cv_deplibs_check_method=pass_all +- ;; +- sequent) +- lt_cv_file_magic_cmd='/bin/file' +- lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB (shared object|dynamic lib )' +- ;; +- sni) +- lt_cv_file_magic_cmd='/bin/file' +- lt_cv_deplibs_check_method="file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB dynamic lib" +- lt_cv_file_magic_test_file=/lib/libc.so +- ;; +- siemens) +- lt_cv_deplibs_check_method=pass_all +- ;; +- pc) +- lt_cv_deplibs_check_method=pass_all +- ;; +- esac +- ;; +- +-tpf*) +- lt_cv_deplibs_check_method=pass_all +- ;; +-esac +-]) +-file_magic_cmd=$lt_cv_file_magic_cmd +-deplibs_check_method=$lt_cv_deplibs_check_method +-test -z "$deplibs_check_method" && deplibs_check_method=unknown +- +-_LT_DECL([], [deplibs_check_method], [1], +- [Method to check whether dependent libraries are shared objects]) +-_LT_DECL([], [file_magic_cmd], [1], +- [Command to use when deplibs_check_method == "file_magic"]) +-])# _LT_CHECK_MAGIC_METHOD +- +- +-# LT_PATH_NM +-# ---------- +-# find the pathname to a BSD- or MS-compatible name lister +-AC_DEFUN([LT_PATH_NM], +-[AC_REQUIRE([AC_PROG_CC])dnl +-AC_CACHE_CHECK([for BSD- or MS-compatible name lister (nm)], lt_cv_path_NM, +-[if test -n "$NM"; then +- # Let the user override the test. +- lt_cv_path_NM="$NM" +-else +- lt_nm_to_check="${ac_tool_prefix}nm" +- if test -n "$ac_tool_prefix" && test "$build" = "$host"; then +- lt_nm_to_check="$lt_nm_to_check nm" +- fi +- for lt_tmp_nm in $lt_nm_to_check; do +- lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR +- for ac_dir in $PATH /usr/ccs/bin/elf /usr/ccs/bin /usr/ucb /bin; do +- IFS="$lt_save_ifs" +- test -z "$ac_dir" && ac_dir=. +- tmp_nm="$ac_dir/$lt_tmp_nm" +- if test -f "$tmp_nm" || test -f "$tmp_nm$ac_exeext" ; then +- # Check to see if the nm accepts a BSD-compat flag. +- # Adding the `sed 1q' prevents false positives on HP-UX, which says: +- # nm: unknown option "B" ignored +- # Tru64's nm complains that /dev/null is an invalid object file +- case `"$tmp_nm" -B /dev/null 2>&1 | sed '1q'` in +- */dev/null* | *'Invalid file or object type'*) +- lt_cv_path_NM="$tmp_nm -B" +- break +- ;; +- *) +- case `"$tmp_nm" -p /dev/null 2>&1 | sed '1q'` in +- */dev/null*) +- lt_cv_path_NM="$tmp_nm -p" +- break +- ;; +- *) +- lt_cv_path_NM=${lt_cv_path_NM="$tmp_nm"} # keep the first match, but +- continue # so that we can try to find one that supports BSD flags +- ;; +- esac +- ;; +- esac +- fi +- done +- IFS="$lt_save_ifs" +- done +- : ${lt_cv_path_NM=no} +-fi]) +-if test "$lt_cv_path_NM" != "no"; then +- NM="$lt_cv_path_NM" +-else +- # Didn't find any BSD compatible name lister, look for dumpbin. +- AC_CHECK_TOOLS(DUMPBIN, ["dumpbin -symbols" "link -dump -symbols"], :) +- AC_SUBST([DUMPBIN]) +- if test "$DUMPBIN" != ":"; then +- NM="$DUMPBIN" +- fi +-fi +-test -z "$NM" && NM=nm +-AC_SUBST([NM]) +-_LT_DECL([], [NM], [1], [A BSD- or MS-compatible name lister])dnl +- +-AC_CACHE_CHECK([the name lister ($NM) interface], [lt_cv_nm_interface], +- [lt_cv_nm_interface="BSD nm" +- echo "int some_variable = 0;" > conftest.$ac_ext +- (eval echo "\"\$as_me:__oline__: $ac_compile\"" >&AS_MESSAGE_LOG_FD) +- (eval "$ac_compile" 2>conftest.err) +- cat conftest.err >&AS_MESSAGE_LOG_FD +- (eval echo "\"\$as_me:__oline__: $NM \\\"conftest.$ac_objext\\\"\"" >&AS_MESSAGE_LOG_FD) +- (eval "$NM \"conftest.$ac_objext\"" 2>conftest.err > conftest.out) +- cat conftest.err >&AS_MESSAGE_LOG_FD +- (eval echo "\"\$as_me:__oline__: output\"" >&AS_MESSAGE_LOG_FD) +- cat conftest.out >&AS_MESSAGE_LOG_FD +- if $GREP 'External.*some_variable' conftest.out > /dev/null; then +- lt_cv_nm_interface="MS dumpbin" +- fi +- rm -f conftest*]) +-])# LT_PATH_NM +- +-# Old names: +-AU_ALIAS([AM_PROG_NM], [LT_PATH_NM]) +-AU_ALIAS([AC_PROG_NM], [LT_PATH_NM]) +-dnl aclocal-1.4 backwards compatibility: +-dnl AC_DEFUN([AM_PROG_NM], []) +-dnl AC_DEFUN([AC_PROG_NM], []) +- +- +-# LT_LIB_M +-# -------- +-# check for math library +-AC_DEFUN([LT_LIB_M], +-[AC_REQUIRE([AC_CANONICAL_HOST])dnl +-LIBM= +-case $host in +-*-*-beos* | *-*-cygwin* | *-*-pw32* | *-*-darwin*) +- # These system don't have libm, or don't need it +- ;; +-*-ncr-sysv4.3*) +- AC_CHECK_LIB(mw, _mwvalidcheckl, LIBM="-lmw") +- AC_CHECK_LIB(m, cos, LIBM="$LIBM -lm") +- ;; +-*) +- AC_CHECK_LIB(m, cos, LIBM="-lm") +- ;; +-esac +-AC_SUBST([LIBM]) +-])# LT_LIB_M +- +-# Old name: +-AU_ALIAS([AC_CHECK_LIBM], [LT_LIB_M]) +-dnl aclocal-1.4 backwards compatibility: +-dnl AC_DEFUN([AC_CHECK_LIBM], []) +- +- +-# _LT_COMPILER_NO_RTTI([TAGNAME]) +-# ------------------------------- +-m4_defun([_LT_COMPILER_NO_RTTI], +-[m4_require([_LT_TAG_COMPILER])dnl +- +-_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)= +- +-if test "$GCC" = yes; then +- _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -fno-builtin' +- +- _LT_COMPILER_OPTION([if $compiler supports -fno-rtti -fno-exceptions], +- lt_cv_prog_compiler_rtti_exceptions, +- [-fno-rtti -fno-exceptions], [], +- [_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)="$_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1) -fno-rtti -fno-exceptions"]) +-fi +-_LT_TAGDECL([no_builtin_flag], [lt_prog_compiler_no_builtin_flag], [1], +- [Compiler flag to turn off builtin functions]) +-])# _LT_COMPILER_NO_RTTI +- +- +-# _LT_CMD_GLOBAL_SYMBOLS +-# ---------------------- +-m4_defun([_LT_CMD_GLOBAL_SYMBOLS], +-[AC_REQUIRE([AC_CANONICAL_HOST])dnl +-AC_REQUIRE([AC_PROG_CC])dnl +-AC_REQUIRE([LT_PATH_NM])dnl +-AC_REQUIRE([LT_PATH_LD])dnl +-m4_require([_LT_DECL_SED])dnl +-m4_require([_LT_DECL_EGREP])dnl +-m4_require([_LT_TAG_COMPILER])dnl +- +-# Check for command to grab the raw symbol name followed by C symbol from nm. +-AC_MSG_CHECKING([command to parse $NM output from $compiler object]) +-AC_CACHE_VAL([lt_cv_sys_global_symbol_pipe], +-[ +-# These are sane defaults that work on at least a few old systems. +-# [They come from Ultrix. What could be older than Ultrix?!! ;)] +- +-# Character class describing NM global symbol codes. +-symcode='[[BCDEGRST]]' +- +-# Regexp to match symbols that can be accessed directly from C. +-sympat='\([[_A-Za-z]][[_A-Za-z0-9]]*\)' +- +-# Define system-specific variables. +-case $host_os in +-aix*) +- symcode='[[BCDT]]' +- ;; +-cygwin* | mingw* | pw32* | cegcc*) +- symcode='[[ABCDGISTW]]' +- ;; +-hpux*) +- if test "$host_cpu" = ia64; then +- symcode='[[ABCDEGRST]]' +- fi +- ;; +-irix* | nonstopux*) +- symcode='[[BCDEGRST]]' +- ;; +-osf*) +- symcode='[[BCDEGQRST]]' +- ;; +-solaris*) +- symcode='[[BDRT]]' +- ;; +-sco3.2v5*) +- symcode='[[DT]]' +- ;; +-sysv4.2uw2*) +- symcode='[[DT]]' +- ;; +-sysv5* | sco5v6* | unixware* | OpenUNIX*) +- symcode='[[ABDT]]' +- ;; +-sysv4) +- symcode='[[DFNSTU]]' +- ;; +-esac +- +-# If we're using GNU nm, then use its standard symbol codes. +-case `$NM -V 2>&1` in +-*GNU* | *'with BFD'*) +- symcode='[[ABCDGIRSTW]]' ;; +-esac +- +-# Transform an extracted symbol line into a proper C declaration. +-# Some systems (esp. on ia64) link data and code symbols differently, +-# so use this general approach. +-lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'" +- +-# Transform an extracted symbol line into symbol name and symbol address +-lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([[^ ]]*\) $/ {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([[^ ]]*\) \([[^ ]]*\)$/ {\"\2\", (void *) \&\2},/p'" +-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'" +- +-# Handle CRLF in mingw tool chain +-opt_cr= +-case $build_os in +-mingw*) +- opt_cr=`$ECHO 'x\{0,1\}' | tr x '\015'` # option cr in regexp +- ;; +-esac +- +-# Try without a prefix underscore, then with it. +-for ac_symprfx in "" "_"; do +- +- # Transform symcode, sympat, and symprfx into a raw symbol and a C symbol. +- symxfrm="\\1 $ac_symprfx\\2 \\2" +- +- # Write the raw and C identifiers. +- if test "$lt_cv_nm_interface" = "MS dumpbin"; then +- # Fake it for dumpbin and say T for any non-static function +- # and D for any global variable. +- # Also find C++ and __fastcall symbols from MSVC++, +- # which start with @ or ?. +- lt_cv_sys_global_symbol_pipe="$AWK ['"\ +-" {last_section=section; section=\$ 3};"\ +-" /Section length .*#relocs.*(pick any)/{hide[last_section]=1};"\ +-" \$ 0!~/External *\|/{next};"\ +-" / 0+ UNDEF /{next}; / UNDEF \([^|]\)*()/{next};"\ +-" {if(hide[section]) next};"\ +-" {f=0}; \$ 0~/\(\).*\|/{f=1}; {printf f ? \"T \" : \"D \"};"\ +-" {split(\$ 0, a, /\||\r/); split(a[2], s)};"\ +-" s[1]~/^[@?]/{print s[1], s[1]; next};"\ +-" s[1]~prfx {split(s[1],t,\"@\"); print t[1], substr(t[1],length(prfx))}"\ +-" ' prfx=^$ac_symprfx]" +- else +- lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[[ ]]\($symcode$symcode*\)[[ ]][[ ]]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'" +- fi +- +- # Check to see that the pipe works correctly. +- pipe_works=no +- +- rm -f conftest* +- cat > conftest.$ac_ext <<_LT_EOF +-#ifdef __cplusplus +-extern "C" { +-#endif +-char nm_test_var; +-void nm_test_func(void); +-void nm_test_func(void){} +-#ifdef __cplusplus +-} +-#endif +-int main(){nm_test_var='a';nm_test_func();return(0);} +-_LT_EOF +- +- if AC_TRY_EVAL(ac_compile); then +- # Now try to grab the symbols. +- nlist=conftest.nm +- if AC_TRY_EVAL(NM conftest.$ac_objext \| $lt_cv_sys_global_symbol_pipe \> $nlist) && test -s "$nlist"; then +- # Try sorting and uniquifying the output. +- if sort "$nlist" | uniq > "$nlist"T; then +- mv -f "$nlist"T "$nlist" +- else +- rm -f "$nlist"T +- fi +- +- # Make sure that we snagged all the symbols we need. +- if $GREP ' nm_test_var$' "$nlist" >/dev/null; then +- if $GREP ' nm_test_func$' "$nlist" >/dev/null; then +- cat <<_LT_EOF > conftest.$ac_ext +-#ifdef __cplusplus +-extern "C" { +-#endif +- +-_LT_EOF +- # Now generate the symbol file. +- eval "$lt_cv_sys_global_symbol_to_cdecl"' < "$nlist" | $GREP -v main >> conftest.$ac_ext' +- +- cat <<_LT_EOF >> conftest.$ac_ext +- +-/* The mapping between symbol names and symbols. */ +-const struct { +- const char *name; +- void *address; +-} +-lt__PROGRAM__LTX_preloaded_symbols[[]] = +-{ +- { "@PROGRAM@", (void *) 0 }, +-_LT_EOF +- $SED "s/^$symcode$symcode* \(.*\) \(.*\)$/ {\"\2\", (void *) \&\2},/" < "$nlist" | $GREP -v main >> conftest.$ac_ext +- cat <<\_LT_EOF >> conftest.$ac_ext +- {0, (void *) 0} +-}; +- +-/* This works around a problem in FreeBSD linker */ +-#ifdef FREEBSD_WORKAROUND +-static const void *lt_preloaded_setup() { +- return lt__PROGRAM__LTX_preloaded_symbols; +-} +-#endif +- +-#ifdef __cplusplus +-} +-#endif +-_LT_EOF +- # Now try linking the two files. +- mv conftest.$ac_objext conftstm.$ac_objext +- lt_save_LIBS="$LIBS" +- lt_save_CFLAGS="$CFLAGS" +- LIBS="conftstm.$ac_objext" +- CFLAGS="$CFLAGS$_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)" +- if AC_TRY_EVAL(ac_link) && test -s conftest${ac_exeext}; then +- pipe_works=yes +- fi +- LIBS="$lt_save_LIBS" +- CFLAGS="$lt_save_CFLAGS" +- else +- echo "cannot find nm_test_func in $nlist" >&AS_MESSAGE_LOG_FD +- fi +- else +- echo "cannot find nm_test_var in $nlist" >&AS_MESSAGE_LOG_FD +- fi +- else +- echo "cannot run $lt_cv_sys_global_symbol_pipe" >&AS_MESSAGE_LOG_FD +- fi +- else +- echo "$progname: failed program was:" >&AS_MESSAGE_LOG_FD +- cat conftest.$ac_ext >&5 +- fi +- rm -rf conftest* conftst* +- +- # Do not use the global_symbol_pipe unless it works. +- if test "$pipe_works" = yes; then +- break +- else +- lt_cv_sys_global_symbol_pipe= +- fi +-done +-]) +-if test -z "$lt_cv_sys_global_symbol_pipe"; then +- lt_cv_sys_global_symbol_to_cdecl= +-fi +-if test -z "$lt_cv_sys_global_symbol_pipe$lt_cv_sys_global_symbol_to_cdecl"; then +- AC_MSG_RESULT(failed) +-else +- AC_MSG_RESULT(ok) +-fi +- +-_LT_DECL([global_symbol_pipe], [lt_cv_sys_global_symbol_pipe], [1], +- [Take the output of nm and produce a listing of raw symbols and C names]) +-_LT_DECL([global_symbol_to_cdecl], [lt_cv_sys_global_symbol_to_cdecl], [1], +- [Transform the output of nm in a proper C declaration]) +-_LT_DECL([global_symbol_to_c_name_address], +- [lt_cv_sys_global_symbol_to_c_name_address], [1], +- [Transform the output of nm in a C name address pair]) +-_LT_DECL([global_symbol_to_c_name_address_lib_prefix], +- [lt_cv_sys_global_symbol_to_c_name_address_lib_prefix], [1], +- [Transform the output of nm in a C name address pair when lib prefix is needed]) +-]) # _LT_CMD_GLOBAL_SYMBOLS +- +- +-# _LT_COMPILER_PIC([TAGNAME]) +-# --------------------------- +-m4_defun([_LT_COMPILER_PIC], +-[m4_require([_LT_TAG_COMPILER])dnl +-_LT_TAGVAR(lt_prog_compiler_wl, $1)= +-_LT_TAGVAR(lt_prog_compiler_pic, $1)= +-_LT_TAGVAR(lt_prog_compiler_static, $1)= +- +-AC_MSG_CHECKING([for $compiler option to produce PIC]) +-m4_if([$1], [CXX], [ +- # C++ specific cases for pic, static, wl, etc. +- if test "$GXX" = yes; then +- _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' +- _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' +- +- case $host_os in +- aix*) +- # All AIX code is PIC. +- if test "$host_cpu" = ia64; then +- # AIX 5 now supports IA64 processor +- _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' +- fi +- ;; +- +- amigaos*) +- case $host_cpu in +- powerpc) +- # see comment about AmigaOS4 .so support +- _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' +- ;; +- m68k) +- # FIXME: we need at least 68020 code to build shared libraries, but +- # adding the `-m68020' flag to GCC prevents building anything better, +- # like `-m68040'. +- _LT_TAGVAR(lt_prog_compiler_pic, $1)='-m68020 -resident32 -malways-restore-a4' +- ;; +- esac +- ;; +- +- beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) +- # PIC is the default for these OSes. +- ;; +- mingw* | cygwin* | os2* | pw32* | cegcc*) +- # This hack is so that the source file can tell whether it is being +- # built for inclusion in a dll (and should export symbols for example). +- # Although the cygwin gcc ignores -fPIC, still need this for old-style +- # (--disable-auto-import) libraries +- m4_if([$1], [GCJ], [], +- [_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT']) +- ;; +- darwin* | rhapsody*) +- # PIC is the default on this platform +- # Common symbols not allowed in MH_DYLIB files +- _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common' +- ;; +- *djgpp*) +- # DJGPP does not support shared libraries at all +- _LT_TAGVAR(lt_prog_compiler_pic, $1)= +- ;; +- interix[[3-9]]*) +- # Interix 3.x gcc -fpic/-fPIC options generate broken code. +- # Instead, we relocate shared libraries at runtime. +- ;; +- sysv4*MP*) +- if test -d /usr/nec; then +- _LT_TAGVAR(lt_prog_compiler_pic, $1)=-Kconform_pic +- fi +- ;; +- hpux*) +- # PIC is the default for 64-bit PA HP-UX, but not for 32-bit +- # PA HP-UX. On IA64 HP-UX, PIC is the default but the pic flag +- # sets the default TLS model and affects inlining. +- case $host_cpu in +- hppa*64*) +- ;; +- *) +- _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' +- ;; +- esac +- ;; +- *qnx* | *nto*) +- # QNX uses GNU C++, but need to define -shared option too, otherwise +- # it will coredump. +- _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared' +- ;; +- *) +- _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' +- ;; +- esac +- else +- case $host_os in +- aix[[4-9]]*) +- # All AIX code is PIC. +- if test "$host_cpu" = ia64; then +- # AIX 5 now supports IA64 processor +- _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' +- else +- _LT_TAGVAR(lt_prog_compiler_static, $1)='-bnso -bI:/lib/syscalls.exp' +- fi +- ;; +- chorus*) +- case $cc_basename in +- cxch68*) +- # Green Hills C++ Compiler +- # _LT_TAGVAR(lt_prog_compiler_static, $1)="--no_auto_instantiation -u __main -u __premain -u _abort -r $COOL_DIR/lib/libOrb.a $MVME_DIR/lib/CC/libC.a $MVME_DIR/lib/classix/libcx.s.a" +- ;; +- esac +- ;; +- dgux*) +- case $cc_basename in +- ec++*) +- _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' +- ;; +- ghcx*) +- # Green Hills C++ Compiler +- _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic' +- ;; +- *) +- ;; +- esac +- ;; +- freebsd* | dragonfly*) +- # FreeBSD uses GNU C++ +- ;; +- hpux9* | hpux10* | hpux11*) +- case $cc_basename in +- CC*) +- _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' +- _LT_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive' +- if test "$host_cpu" != ia64; then +- _LT_TAGVAR(lt_prog_compiler_pic, $1)='+Z' +- fi +- ;; +- aCC*) +- _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' +- _LT_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive' +- case $host_cpu in +- hppa*64*|ia64*) +- # +Z the default +- ;; +- *) +- _LT_TAGVAR(lt_prog_compiler_pic, $1)='+Z' +- ;; +- esac +- ;; +- *) +- ;; +- esac +- ;; +- interix*) +- # This is c89, which is MS Visual C++ (no shared libs) +- # Anyone wants to do a port? +- ;; +- irix5* | irix6* | nonstopux*) +- case $cc_basename in +- CC*) +- _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' +- _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' +- # CC pic flag -KPIC is the default. +- ;; +- *) +- ;; +- esac +- ;; +- linux* | k*bsd*-gnu) +- case $cc_basename in +- KCC*) +- # KAI C++ Compiler +- _LT_TAGVAR(lt_prog_compiler_wl, $1)='--backend -Wl,' +- _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' +- ;; +- ecpc* ) +- # old Intel C++ for x86_64 which still supported -KPIC. +- _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' +- _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' +- _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' +- ;; +- icpc* ) +- # Intel C++, used to be incompatible with GCC. +- # ICC 10 doesn't accept -KPIC any more. +- _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' +- _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' +- _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' +- ;; +- pgCC* | pgcpp*) +- # Portland Group C++ compiler +- _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' +- _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fpic' +- _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' +- ;; +- cxx*) +- # Compaq C++ +- # Make sure the PIC flag is empty. It appears that all Alpha +- # Linux and Compaq Tru64 Unix objects are PIC. +- _LT_TAGVAR(lt_prog_compiler_pic, $1)= +- _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' +- ;; +- xlc* | xlC*) +- # IBM XL 8.0 on PPC +- _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' +- _LT_TAGVAR(lt_prog_compiler_pic, $1)='-qpic' +- _LT_TAGVAR(lt_prog_compiler_static, $1)='-qstaticlink' +- ;; +- *) +- case `$CC -V 2>&1 | sed 5q` in +- *Sun\ C*) +- # Sun C++ 5.9 +- _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' +- _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' +- _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ' +- ;; +- esac +- ;; +- esac +- ;; +- lynxos*) +- ;; +- m88k*) +- ;; +- mvs*) +- case $cc_basename in +- cxx*) +- _LT_TAGVAR(lt_prog_compiler_pic, $1)='-W c,exportall' +- ;; +- *) +- ;; +- esac +- ;; +- netbsd*) +- ;; +- *qnx* | *nto*) +- # QNX uses GNU C++, but need to define -shared option too, otherwise +- # it will coredump. +- _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared' +- ;; +- osf3* | osf4* | osf5*) +- case $cc_basename in +- KCC*) +- _LT_TAGVAR(lt_prog_compiler_wl, $1)='--backend -Wl,' +- ;; +- RCC*) +- # Rational C++ 2.4.1 +- _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic' +- ;; +- cxx*) +- # Digital/Compaq C++ +- _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' +- # Make sure the PIC flag is empty. It appears that all Alpha +- # Linux and Compaq Tru64 Unix objects are PIC. +- _LT_TAGVAR(lt_prog_compiler_pic, $1)= +- _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' +- ;; +- *) +- ;; +- esac +- ;; +- psos*) +- ;; +- solaris*) +- case $cc_basename in +- CC*) +- # Sun C++ 4.2, 5.x and Centerline C++ +- _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' +- _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' +- _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ' +- ;; +- gcx*) +- # Green Hills C++ Compiler +- _LT_TAGVAR(lt_prog_compiler_pic, $1)='-PIC' +- ;; +- *) +- ;; +- esac +- ;; +- sunos4*) +- case $cc_basename in +- CC*) +- # Sun C++ 4.x +- _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic' +- _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' +- ;; +- lcc*) +- # Lucid +- _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic' +- ;; +- *) +- ;; +- esac +- ;; +- sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) +- case $cc_basename in +- CC*) +- _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' +- _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' +- _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' +- ;; +- esac +- ;; +- tandem*) +- case $cc_basename in +- NCC*) +- # NonStop-UX NCC 3.20 +- _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' +- ;; +- *) +- ;; +- esac +- ;; +- vxworks*) +- ;; +- *) +- _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no +- ;; +- esac +- fi +-], +-[ +- if test "$GCC" = yes; then +- _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' +- _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' +- +- case $host_os in +- aix*) +- # All AIX code is PIC. +- if test "$host_cpu" = ia64; then +- # AIX 5 now supports IA64 processor +- _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' +- fi +- ;; +- +- amigaos*) +- case $host_cpu in +- powerpc) +- # see comment about AmigaOS4 .so support +- _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' +- ;; +- m68k) +- # FIXME: we need at least 68020 code to build shared libraries, but +- # adding the `-m68020' flag to GCC prevents building anything better, +- # like `-m68040'. +- _LT_TAGVAR(lt_prog_compiler_pic, $1)='-m68020 -resident32 -malways-restore-a4' +- ;; +- esac +- ;; +- +- beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) +- # PIC is the default for these OSes. +- ;; +- +- mingw* | cygwin* | pw32* | os2* | cegcc*) +- # This hack is so that the source file can tell whether it is being +- # built for inclusion in a dll (and should export symbols for example). +- # Although the cygwin gcc ignores -fPIC, still need this for old-style +- # (--disable-auto-import) libraries +- m4_if([$1], [GCJ], [], +- [_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT']) +- ;; +- +- darwin* | rhapsody*) +- # PIC is the default on this platform +- # Common symbols not allowed in MH_DYLIB files +- _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common' +- ;; +- +- hpux*) +- # PIC is the default for 64-bit PA HP-UX, but not for 32-bit +- # PA HP-UX. On IA64 HP-UX, PIC is the default but the pic flag +- # sets the default TLS model and affects inlining. +- case $host_cpu in +- hppa*64*) +- # +Z the default +- ;; +- *) +- _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' +- ;; +- esac +- ;; +- +- interix[[3-9]]*) +- # Interix 3.x gcc -fpic/-fPIC options generate broken code. +- # Instead, we relocate shared libraries at runtime. +- ;; +- +- msdosdjgpp*) +- # Just because we use GCC doesn't mean we suddenly get shared libraries +- # on systems that don't support them. +- _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no +- enable_shared=no +- ;; +- +- *nto* | *qnx*) +- # QNX uses GNU C++, but need to define -shared option too, otherwise +- # it will coredump. +- _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared' +- ;; +- +- sysv4*MP*) +- if test -d /usr/nec; then +- _LT_TAGVAR(lt_prog_compiler_pic, $1)=-Kconform_pic +- fi +- ;; +- +- *) +- _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' +- ;; +- esac +- else +- # PORTME Check for flag to pass linker flags through the system compiler. +- case $host_os in +- aix*) +- _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' +- if test "$host_cpu" = ia64; then +- # AIX 5 now supports IA64 processor +- _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' +- else +- _LT_TAGVAR(lt_prog_compiler_static, $1)='-bnso -bI:/lib/syscalls.exp' +- fi +- ;; +- +- mingw* | cygwin* | pw32* | os2* | cegcc*) +- # This hack is so that the source file can tell whether it is being +- # built for inclusion in a dll (and should export symbols for example). +- m4_if([$1], [GCJ], [], +- [_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT']) +- ;; +- +- hpux9* | hpux10* | hpux11*) +- _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' +- # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but +- # not for PA HP-UX. +- case $host_cpu in +- hppa*64*|ia64*) +- # +Z the default +- ;; +- *) +- _LT_TAGVAR(lt_prog_compiler_pic, $1)='+Z' +- ;; +- esac +- # Is there a better lt_prog_compiler_static that works with the bundled CC? +- _LT_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive' +- ;; +- +- irix5* | irix6* | nonstopux*) +- _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' +- # PIC (with -KPIC) is the default. +- _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' +- ;; +- +- linux* | k*bsd*-gnu) +- case $cc_basename in +- # old Intel for x86_64 which still supported -KPIC. +- ecc*) +- _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' +- _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' +- _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' +- ;; +- # icc used to be incompatible with GCC. +- # ICC 10 doesn't accept -KPIC any more. +- icc* | ifort*) +- _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' +- _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' +- _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' +- ;; +- # Lahey Fortran 8.1. +- lf95*) +- _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' +- _LT_TAGVAR(lt_prog_compiler_pic, $1)='--shared' +- _LT_TAGVAR(lt_prog_compiler_static, $1)='--static' +- ;; +- pgcc* | pgf77* | pgf90* | pgf95*) +- # Portland Group compilers (*not* the Pentium gcc compiler, +- # which looks to be a dead project) +- _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' +- _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fpic' +- _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' +- ;; +- ccc*) +- _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' +- # All Alpha code is PIC. +- _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' +- ;; +- xl*) +- # IBM XL C 8.0/Fortran 10.1 on PPC +- _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' +- _LT_TAGVAR(lt_prog_compiler_pic, $1)='-qpic' +- _LT_TAGVAR(lt_prog_compiler_static, $1)='-qstaticlink' +- ;; +- *) +- case `$CC -V 2>&1 | sed 5q` in +- *Sun\ C*) +- # Sun C 5.9 +- _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' +- _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' +- _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' +- ;; +- *Sun\ F*) +- # Sun Fortran 8.3 passes all unrecognized flags to the linker +- _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' +- _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' +- _LT_TAGVAR(lt_prog_compiler_wl, $1)='' +- ;; +- esac +- ;; +- esac +- ;; +- +- newsos6) +- _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' +- _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' +- ;; +- +- *nto* | *qnx*) +- # QNX uses GNU C++, but need to define -shared option too, otherwise +- # it will coredump. +- _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared' +- ;; +- +- osf3* | osf4* | osf5*) +- _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' +- # All OSF/1 code is PIC. +- _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' +- ;; +- +- rdos*) +- _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' +- ;; +- +- solaris*) +- _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' +- _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' +- case $cc_basename in +- f77* | f90* | f95*) +- _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ';; +- *) +- _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,';; +- esac +- ;; +- +- sunos4*) +- _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ' +- _LT_TAGVAR(lt_prog_compiler_pic, $1)='-PIC' +- _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' +- ;; +- +- sysv4 | sysv4.2uw2* | sysv4.3*) +- _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' +- _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' +- _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' +- ;; +- +- sysv4*MP*) +- if test -d /usr/nec ;then +- _LT_TAGVAR(lt_prog_compiler_pic, $1)='-Kconform_pic' +- _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' +- fi +- ;; +- +- sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) +- _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' +- _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' +- _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' +- ;; +- +- unicos*) +- _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' +- _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no +- ;; +- +- uts4*) +- _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic' +- _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' +- ;; +- +- *) +- _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no +- ;; +- esac +- fi +-]) +-case $host_os in +- # For platforms which do not support PIC, -DPIC is meaningless: +- *djgpp*) +- _LT_TAGVAR(lt_prog_compiler_pic, $1)= +- ;; +- *) +- _LT_TAGVAR(lt_prog_compiler_pic, $1)="$_LT_TAGVAR(lt_prog_compiler_pic, $1)@&t@m4_if([$1],[],[ -DPIC],[m4_if([$1],[CXX],[ -DPIC],[])])" +- ;; +-esac +-AC_MSG_RESULT([$_LT_TAGVAR(lt_prog_compiler_pic, $1)]) +-_LT_TAGDECL([wl], [lt_prog_compiler_wl], [1], +- [How to pass a linker flag through the compiler]) +- +-# +-# Check to make sure the PIC flag actually works. +-# +-if test -n "$_LT_TAGVAR(lt_prog_compiler_pic, $1)"; then +- _LT_COMPILER_OPTION([if $compiler PIC flag $_LT_TAGVAR(lt_prog_compiler_pic, $1) works], +- [_LT_TAGVAR(lt_cv_prog_compiler_pic_works, $1)], +- [$_LT_TAGVAR(lt_prog_compiler_pic, $1)@&t@m4_if([$1],[],[ -DPIC],[m4_if([$1],[CXX],[ -DPIC],[])])], [], +- [case $_LT_TAGVAR(lt_prog_compiler_pic, $1) in +- "" | " "*) ;; +- *) _LT_TAGVAR(lt_prog_compiler_pic, $1)=" $_LT_TAGVAR(lt_prog_compiler_pic, $1)" ;; +- esac], +- [_LT_TAGVAR(lt_prog_compiler_pic, $1)= +- _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no]) +-fi +-_LT_TAGDECL([pic_flag], [lt_prog_compiler_pic], [1], +- [Additional compiler flags for building library objects]) +- +-# +-# Check to make sure the static flag actually works. +-# +-wl=$_LT_TAGVAR(lt_prog_compiler_wl, $1) eval lt_tmp_static_flag=\"$_LT_TAGVAR(lt_prog_compiler_static, $1)\" +-_LT_LINKER_OPTION([if $compiler static flag $lt_tmp_static_flag works], +- _LT_TAGVAR(lt_cv_prog_compiler_static_works, $1), +- $lt_tmp_static_flag, +- [], +- [_LT_TAGVAR(lt_prog_compiler_static, $1)=]) +-_LT_TAGDECL([link_static_flag], [lt_prog_compiler_static], [1], +- [Compiler flag to prevent dynamic linking]) +-])# _LT_COMPILER_PIC +- +- +-# _LT_LINKER_SHLIBS([TAGNAME]) +-# ---------------------------- +-# See if the linker supports building shared libraries. +-m4_defun([_LT_LINKER_SHLIBS], +-[AC_REQUIRE([LT_PATH_LD])dnl +-AC_REQUIRE([LT_PATH_NM])dnl +-m4_require([_LT_FILEUTILS_DEFAULTS])dnl +-m4_require([_LT_DECL_EGREP])dnl +-m4_require([_LT_DECL_SED])dnl +-m4_require([_LT_CMD_GLOBAL_SYMBOLS])dnl +-m4_require([_LT_TAG_COMPILER])dnl +-AC_MSG_CHECKING([whether the $compiler linker ($LD) supports shared libraries]) +-m4_if([$1], [CXX], [ +- _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' +- case $host_os in +- aix[[4-9]]*) +- # If we're using GNU nm, then we don't want the "-C" option. +- # -C means demangle to AIX nm, but means don't demangle with GNU nm +- if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then +- _LT_TAGVAR(export_symbols_cmds, $1)='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && ([substr](\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols' +- else +- _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' +- fi +- ;; +- pw32*) +- _LT_TAGVAR(export_symbols_cmds, $1)="$ltdll_cmds" +- ;; +- cygwin* | mingw* | cegcc*) +- _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' +- ;; +- *) +- _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' +- ;; +- esac +- _LT_TAGVAR(exclude_expsyms, $1)=['_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*'] +-], [ +- runpath_var= +- _LT_TAGVAR(allow_undefined_flag, $1)= +- _LT_TAGVAR(always_export_symbols, $1)=no +- _LT_TAGVAR(archive_cmds, $1)= +- _LT_TAGVAR(archive_expsym_cmds, $1)= +- _LT_TAGVAR(compiler_needs_object, $1)=no +- _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no +- _LT_TAGVAR(export_dynamic_flag_spec, $1)= +- _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' +- _LT_TAGVAR(hardcode_automatic, $1)=no +- _LT_TAGVAR(hardcode_direct, $1)=no +- _LT_TAGVAR(hardcode_direct_absolute, $1)=no +- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)= +- _LT_TAGVAR(hardcode_libdir_flag_spec_ld, $1)= +- _LT_TAGVAR(hardcode_libdir_separator, $1)= +- _LT_TAGVAR(hardcode_minus_L, $1)=no +- _LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported +- _LT_TAGVAR(inherit_rpath, $1)=no +- _LT_TAGVAR(link_all_deplibs, $1)=unknown +- _LT_TAGVAR(module_cmds, $1)= +- _LT_TAGVAR(module_expsym_cmds, $1)= +- _LT_TAGVAR(old_archive_from_new_cmds, $1)= +- _LT_TAGVAR(old_archive_from_expsyms_cmds, $1)= +- _LT_TAGVAR(thread_safe_flag_spec, $1)= +- _LT_TAGVAR(whole_archive_flag_spec, $1)= +- # include_expsyms should be a list of space-separated symbols to be *always* +- # included in the symbol list +- _LT_TAGVAR(include_expsyms, $1)= +- # exclude_expsyms can be an extended regexp of symbols to exclude +- # it will be wrapped by ` (' and `)$', so one must not match beginning or +- # end of line. Example: `a|bc|.*d.*' will exclude the symbols `a' and `bc', +- # as well as any symbol that contains `d'. +- _LT_TAGVAR(exclude_expsyms, $1)=['_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*'] +- # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out +- # platforms (ab)use it in PIC code, but their linkers get confused if +- # the symbol is explicitly referenced. Since portable code cannot +- # rely on this symbol name, it's probably fine to never include it in +- # preloaded symbol tables. +- # Exclude shared library initialization/finalization symbols. +-dnl Note also adjust exclude_expsyms for C++ above. +- extract_expsyms_cmds= +- +- case $host_os in +- cygwin* | mingw* | pw32* | cegcc*) +- # FIXME: the MSVC++ port hasn't been tested in a loooong time +- # When not using gcc, we currently assume that we are using +- # Microsoft Visual C++. +- if test "$GCC" != yes; then +- with_gnu_ld=no +- fi +- ;; +- interix*) +- # we just hope/assume this is gcc and not c89 (= MSVC++) +- with_gnu_ld=yes +- ;; +- openbsd*) +- with_gnu_ld=no +- ;; +- esac +- +- _LT_TAGVAR(ld_shlibs, $1)=yes +- if test "$with_gnu_ld" = yes; then +- # If archive_cmds runs LD, not CC, wlarc should be empty +- wlarc='${wl}' +- +- # Set some defaults for GNU ld with shared library support. These +- # are reset later if shared libraries are not supported. Putting them +- # here allows them to be overridden if necessary. +- runpath_var=LD_RUN_PATH +- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' +- _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' +- # ancient GNU ld didn't support --whole-archive et. al. +- if $LD --help 2>&1 | $GREP 'no-whole-archive' > /dev/null; then +- _LT_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' +- else +- _LT_TAGVAR(whole_archive_flag_spec, $1)= +- fi +- supports_anon_versioning=no +- case `$LD -v 2>&1` in +- *\ [[01]].* | *\ 2.[[0-9]].* | *\ 2.10.*) ;; # catch versions < 2.11 +- *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ... +- *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ... +- *\ 2.11.*) ;; # other 2.11 versions +- *) supports_anon_versioning=yes ;; +- esac +- +- # See if GNU ld supports shared libraries. +- case $host_os in +- aix[[3-9]]*) +- # On AIX/PPC, the GNU linker is very broken +- if test "$host_cpu" != ia64; then +- _LT_TAGVAR(ld_shlibs, $1)=no +- cat <<_LT_EOF 1>&2 +- +-*** Warning: the GNU linker, at least up to release 2.9.1, is reported +-*** to be unable to reliably create shared libraries on AIX. +-*** Therefore, libtool is disabling shared libraries support. If you +-*** really care for shared libraries, you may want to modify your PATH +-*** so that a non-GNU linker is found, and then restart. +- +-_LT_EOF +- fi +- ;; +- +- amigaos*) +- case $host_cpu in +- powerpc) +- # see comment about AmigaOS4 .so support +- _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' +- _LT_TAGVAR(archive_expsym_cmds, $1)='' +- ;; +- m68k) +- _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/a2ixlibrary.data~$ECHO "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$ECHO "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$ECHO "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$ECHO "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' +- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' +- _LT_TAGVAR(hardcode_minus_L, $1)=yes +- ;; +- esac +- ;; +- +- beos*) +- if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then +- _LT_TAGVAR(allow_undefined_flag, $1)=unsupported +- # Joseph Beckenbach <jrb3@best.com> says some releases of gcc +- # support --undefined. This deserves some investigation. FIXME +- _LT_TAGVAR(archive_cmds, $1)='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' +- else +- _LT_TAGVAR(ld_shlibs, $1)=no +- fi +- ;; +- +- cygwin* | mingw* | pw32* | cegcc*) +- # _LT_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless, +- # as there is no search path for DLLs. +- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' +- _LT_TAGVAR(allow_undefined_flag, $1)=unsupported +- _LT_TAGVAR(always_export_symbols, $1)=no +- _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes +- _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]][[ ]]/s/.*[[ ]]\([[^ ]]*\)/\1 DATA/'\'' | $SED -e '\''/^[[AITW]][[ ]]/s/.*[[ ]]//'\'' | sort | uniq > $export_symbols' +- +- if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then +- _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' +- # If the export-symbols file already is a .def file (1st line +- # is EXPORTS), use it as is; otherwise, prepend... +- _LT_TAGVAR(archive_expsym_cmds, $1)='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then +- cp $export_symbols $output_objdir/$soname.def; +- else +- echo EXPORTS > $output_objdir/$soname.def; +- cat $export_symbols >> $output_objdir/$soname.def; +- fi~ +- $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' +- else +- _LT_TAGVAR(ld_shlibs, $1)=no +- fi +- ;; +- +- interix[[3-9]]*) +- _LT_TAGVAR(hardcode_direct, $1)=no +- _LT_TAGVAR(hardcode_shlibpath_var, $1)=no +- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' +- _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' +- # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. +- # Instead, shared libraries are loaded at an image base (0x10000000 by +- # default) and relocated if they conflict, which is a slow very memory +- # consuming and fragmenting process. To avoid this, we pick a random, +- # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link +- # time. Moving up from 0x10000000 also allows more sbrk(2) space. +- _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' +- _LT_TAGVAR(archive_expsym_cmds, $1)='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' +- ;; +- +- gnu* | linux* | tpf* | k*bsd*-gnu) +- tmp_diet=no +- if test "$host_os" = linux-dietlibc; then +- case $cc_basename in +- diet\ *) tmp_diet=yes;; # linux-dietlibc with static linking (!diet-dyn) +- esac +- fi +- if $LD --help 2>&1 | $EGREP ': supported targets:.* elf' > /dev/null \ +- && test "$tmp_diet" = no +- then +- tmp_addflag= +- tmp_sharedflag='-shared' +- case $cc_basename,$host_cpu in +- pgcc*) # Portland Group C compiler +- _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $ECHO \"$new_convenience\"` ${wl}--no-whole-archive' +- tmp_addflag=' $pic_flag' +- ;; +- pgf77* | pgf90* | pgf95*) # Portland Group f77 and f90 compilers +- _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $ECHO \"$new_convenience\"` ${wl}--no-whole-archive' +- tmp_addflag=' $pic_flag -Mnomain' ;; +- ecc*,ia64* | icc*,ia64*) # Intel C compiler on ia64 +- tmp_addflag=' -i_dynamic' ;; +- efc*,ia64* | ifort*,ia64*) # Intel Fortran compiler on ia64 +- tmp_addflag=' -i_dynamic -nofor_main' ;; +- ifc* | ifort*) # Intel Fortran compiler +- tmp_addflag=' -nofor_main' ;; +- lf95*) # Lahey Fortran 8.1 +- _LT_TAGVAR(whole_archive_flag_spec, $1)= +- tmp_sharedflag='--shared' ;; +- xl[[cC]]*) # IBM XL C 8.0 on PPC (deal with xlf below) +- tmp_sharedflag='-qmkshrobj' +- tmp_addflag= ;; +- esac +- case `$CC -V 2>&1 | sed 5q` in +- *Sun\ C*) # Sun C 5.9 +- _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; $ECHO \"$new_convenience\"` ${wl}--no-whole-archive' +- _LT_TAGVAR(compiler_needs_object, $1)=yes +- tmp_sharedflag='-G' ;; +- *Sun\ F*) # Sun Fortran 8.3 +- tmp_sharedflag='-G' ;; +- esac +- _LT_TAGVAR(archive_cmds, $1)='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' +- +- if test "x$supports_anon_versioning" = xyes; then +- _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~ +- cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ +- echo "local: *; };" >> $output_objdir/$libname.ver~ +- $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib' +- fi +- +- case $cc_basename in +- xlf*) +- # IBM XL Fortran 10.1 on PPC cannot create shared libs itself +- _LT_TAGVAR(whole_archive_flag_spec, $1)='--whole-archive$convenience --no-whole-archive' +- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)= +- _LT_TAGVAR(hardcode_libdir_flag_spec_ld, $1)='-rpath $libdir' +- _LT_TAGVAR(archive_cmds, $1)='$LD -shared $libobjs $deplibs $compiler_flags -soname $soname -o $lib' +- if test "x$supports_anon_versioning" = xyes; then +- _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~ +- cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ +- echo "local: *; };" >> $output_objdir/$libname.ver~ +- $LD -shared $libobjs $deplibs $compiler_flags -soname $soname -version-script $output_objdir/$libname.ver -o $lib' +- fi +- ;; +- esac +- else +- _LT_TAGVAR(ld_shlibs, $1)=no +- fi +- ;; +- +- netbsd*) +- if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then +- _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib' +- wlarc= +- else +- _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' +- _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' +- fi +- ;; +- +- solaris*) +- if $LD -v 2>&1 | $GREP 'BFD 2\.8' > /dev/null; then +- _LT_TAGVAR(ld_shlibs, $1)=no +- cat <<_LT_EOF 1>&2 +- +-*** Warning: The releases 2.8.* of the GNU linker cannot reliably +-*** create shared libraries on Solaris systems. Therefore, libtool +-*** is disabling shared libraries support. We urge you to upgrade GNU +-*** binutils to release 2.9.1 or newer. Another option is to modify +-*** your PATH or compiler configuration so that the native linker is +-*** used, and then restart. +- +-_LT_EOF +- elif $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then +- _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' +- _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' +- else +- _LT_TAGVAR(ld_shlibs, $1)=no +- fi +- ;; +- +- sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*) +- case `$LD -v 2>&1` in +- *\ [[01]].* | *\ 2.[[0-9]].* | *\ 2.1[[0-5]].*) +- _LT_TAGVAR(ld_shlibs, $1)=no +- cat <<_LT_EOF 1>&2 +- +-*** Warning: Releases of the GNU linker prior to 2.16.91.0.3 can not +-*** reliably create shared libraries on SCO systems. Therefore, libtool +-*** is disabling shared libraries support. We urge you to upgrade GNU +-*** binutils to release 2.16.91.0.3 or newer. Another option is to modify +-*** your PATH or compiler configuration so that the native linker is +-*** used, and then restart. +- +-_LT_EOF +- ;; +- *) +- # For security reasons, it is highly recommended that you always +- # use absolute paths for naming shared libraries, and exclude the +- # DT_RUNPATH tag from executables and libraries. But doing so +- # requires that you compile everything twice, which is a pain. +- if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then +- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' +- _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' +- _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' +- else +- _LT_TAGVAR(ld_shlibs, $1)=no +- fi +- ;; +- esac +- ;; +- +- sunos4*) +- _LT_TAGVAR(archive_cmds, $1)='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags' +- wlarc= +- _LT_TAGVAR(hardcode_direct, $1)=yes +- _LT_TAGVAR(hardcode_shlibpath_var, $1)=no +- ;; +- +- *) +- if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then +- _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' +- _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' +- else +- _LT_TAGVAR(ld_shlibs, $1)=no +- fi +- ;; +- esac +- +- if test "$_LT_TAGVAR(ld_shlibs, $1)" = no; then +- runpath_var= +- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)= +- _LT_TAGVAR(export_dynamic_flag_spec, $1)= +- _LT_TAGVAR(whole_archive_flag_spec, $1)= +- fi +- else +- # PORTME fill in a description of your system's linker (not GNU ld) +- case $host_os in +- aix3*) +- _LT_TAGVAR(allow_undefined_flag, $1)=unsupported +- _LT_TAGVAR(always_export_symbols, $1)=yes +- _LT_TAGVAR(archive_expsym_cmds, $1)='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname' +- # Note: this linker hardcodes the directories in LIBPATH if there +- # are no directories specified by -L. +- _LT_TAGVAR(hardcode_minus_L, $1)=yes +- if test "$GCC" = yes && test -z "$lt_prog_compiler_static"; then +- # Neither direct hardcoding nor static linking is supported with a +- # broken collect2. +- _LT_TAGVAR(hardcode_direct, $1)=unsupported +- fi +- ;; +- +- aix[[4-9]]*) +- if test "$host_cpu" = ia64; then +- # On IA64, the linker does run time linking by default, so we don't +- # have to do anything special. +- aix_use_runtimelinking=no +- exp_sym_flag='-Bexport' +- no_entry_flag="" +- else +- # If we're using GNU nm, then we don't want the "-C" option. +- # -C means demangle to AIX nm, but means don't demangle with GNU nm +- if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then +- _LT_TAGVAR(export_symbols_cmds, $1)='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && ([substr](\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols' +- else +- _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' +- fi +- aix_use_runtimelinking=no +- +- # Test if we are trying to use run time linking or normal +- # AIX style linking. If -brtl is somewhere in LDFLAGS, we +- # need to do runtime linking. +- case $host_os in aix4.[[23]]|aix4.[[23]].*|aix[[5-9]]*) +- for ld_flag in $LDFLAGS; do +- if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then +- aix_use_runtimelinking=yes +- break +- fi +- done +- ;; +- esac +- +- exp_sym_flag='-bexport' +- no_entry_flag='-bnoentry' +- fi +- +- # When large executables or shared objects are built, AIX ld can +- # have problems creating the table of contents. If linking a library +- # or program results in "error TOC overflow" add -mminimal-toc to +- # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not +- # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. +- +- _LT_TAGVAR(archive_cmds, $1)='' +- _LT_TAGVAR(hardcode_direct, $1)=yes +- _LT_TAGVAR(hardcode_direct_absolute, $1)=yes +- _LT_TAGVAR(hardcode_libdir_separator, $1)=':' +- _LT_TAGVAR(link_all_deplibs, $1)=yes +- _LT_TAGVAR(file_list_spec, $1)='${wl}-f,' +- +- if test "$GCC" = yes; then +- case $host_os in aix4.[[012]]|aix4.[[012]].*) +- # We only want to do this on AIX 4.2 and lower, the check +- # below for broken collect2 doesn't work under 4.3+ +- collect2name=`${CC} -print-prog-name=collect2` +- if test -f "$collect2name" && +- strings "$collect2name" | $GREP resolve_lib_name >/dev/null +- then +- # We have reworked collect2 +- : +- else +- # We have old collect2 +- _LT_TAGVAR(hardcode_direct, $1)=unsupported +- # It fails to find uninstalled libraries when the uninstalled +- # path is not listed in the libpath. Setting hardcode_minus_L +- # to unsupported forces relinking +- _LT_TAGVAR(hardcode_minus_L, $1)=yes +- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' +- _LT_TAGVAR(hardcode_libdir_separator, $1)= +- fi +- ;; +- esac +- shared_flag='-shared' +- if test "$aix_use_runtimelinking" = yes; then +- shared_flag="$shared_flag "'${wl}-G' +- fi +- else +- # not using gcc +- if test "$host_cpu" = ia64; then +- # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release +- # chokes on -Wl,-G. The following line is correct: +- shared_flag='-G' +- else +- if test "$aix_use_runtimelinking" = yes; then +- shared_flag='${wl}-G' +- else +- shared_flag='${wl}-bM:SRE' +- fi +- fi +- fi +- +- _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-bexpall' +- # It seems that -bexpall does not export symbols beginning with +- # underscore (_), so it is better to generate a list of symbols to export. +- _LT_TAGVAR(always_export_symbols, $1)=yes +- if test "$aix_use_runtimelinking" = yes; then +- # Warning - without using the other runtime loading flags (-brtl), +- # -berok will link without error, but may produce a broken library. +- _LT_TAGVAR(allow_undefined_flag, $1)='-berok' +- # Determine the default libpath from the value encoded in an +- # empty executable. +- _LT_SYS_MODULE_PATH_AIX +- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath" +- _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then $ECHO "X${wl}${allow_undefined_flag}" | $Xsed; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag" +- else +- if test "$host_cpu" = ia64; then +- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $libdir:/usr/lib:/lib' +- _LT_TAGVAR(allow_undefined_flag, $1)="-z nodefs" +- _LT_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols" +- else +- # Determine the default libpath from the value encoded in an +- # empty executable. +- _LT_SYS_MODULE_PATH_AIX +- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath" +- # Warning - without using the other run time loading flags, +- # -berok will link without error, but may produce a broken library. +- _LT_TAGVAR(no_undefined_flag, $1)=' ${wl}-bernotok' +- _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-berok' +- # Exported symbols can be pulled into shared objects from archives +- _LT_TAGVAR(whole_archive_flag_spec, $1)='$convenience' +- _LT_TAGVAR(archive_cmds_need_lc, $1)=yes +- # This is similar to how AIX traditionally builds its shared libraries. +- _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' +- fi +- fi +- ;; +- +- amigaos*) +- case $host_cpu in +- powerpc) +- # see comment about AmigaOS4 .so support +- _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' +- _LT_TAGVAR(archive_expsym_cmds, $1)='' +- ;; +- m68k) +- _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/a2ixlibrary.data~$ECHO "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$ECHO "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$ECHO "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$ECHO "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)' +- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' +- _LT_TAGVAR(hardcode_minus_L, $1)=yes +- ;; +- esac +- ;; +- +- bsdi[[45]]*) +- _LT_TAGVAR(export_dynamic_flag_spec, $1)=-rdynamic +- ;; +- +- cygwin* | mingw* | pw32* | cegcc*) +- # When not using gcc, we currently assume that we are using +- # Microsoft Visual C++. +- # hardcode_libdir_flag_spec is actually meaningless, as there is +- # no search path for DLLs. +- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=' ' +- _LT_TAGVAR(allow_undefined_flag, $1)=unsupported +- # Tell ltmain to make .lib files, not .a files. +- libext=lib +- # Tell ltmain to make .dll files, not .so files. +- shrext_cmds=".dll" +- # FIXME: Setting linknames here is a bad hack. +- _LT_TAGVAR(archive_cmds, $1)='$CC -o $lib $libobjs $compiler_flags `$ECHO "X$deplibs" | $Xsed -e '\''s/ -lc$//'\''` -link -dll~linknames=' +- # The linker will automatically build a .lib file if we build a DLL. +- _LT_TAGVAR(old_archive_from_new_cmds, $1)='true' +- # FIXME: Should let the user specify the lib program. +- _LT_TAGVAR(old_archive_cmds, $1)='lib -OUT:$oldlib$oldobjs$old_deplibs' +- _LT_TAGVAR(fix_srcfile_path, $1)='`cygpath -w "$srcfile"`' +- _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes +- ;; +- +- darwin* | rhapsody*) +- _LT_DARWIN_LINKER_FEATURES($1) +- ;; +- +- dgux*) +- _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' +- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' +- _LT_TAGVAR(hardcode_shlibpath_var, $1)=no +- ;; +- +- freebsd1*) +- _LT_TAGVAR(ld_shlibs, $1)=no +- ;; +- +- # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor +- # support. Future versions do this automatically, but an explicit c++rt0.o +- # does not break anything, and helps significantly (at the cost of a little +- # extra space). +- freebsd2.2*) +- _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o' +- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' +- _LT_TAGVAR(hardcode_direct, $1)=yes +- _LT_TAGVAR(hardcode_shlibpath_var, $1)=no +- ;; +- +- # Unfortunately, older versions of FreeBSD 2 do not have this feature. +- freebsd2*) +- _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' +- _LT_TAGVAR(hardcode_direct, $1)=yes +- _LT_TAGVAR(hardcode_minus_L, $1)=yes +- _LT_TAGVAR(hardcode_shlibpath_var, $1)=no +- ;; +- +- # FreeBSD 3 and greater uses gcc -shared to do shared libraries. +- freebsd* | dragonfly*) +- _LT_TAGVAR(archive_cmds, $1)='$CC -shared -o $lib $libobjs $deplibs $compiler_flags' +- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' +- _LT_TAGVAR(hardcode_direct, $1)=yes +- _LT_TAGVAR(hardcode_shlibpath_var, $1)=no +- ;; +- +- hpux9*) +- if test "$GCC" = yes; then +- _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' +- else +- _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' +- fi +- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' +- _LT_TAGVAR(hardcode_libdir_separator, $1)=: +- _LT_TAGVAR(hardcode_direct, $1)=yes +- +- # hardcode_minus_L: Not really in the search PATH, +- # but as the default location of the library. +- _LT_TAGVAR(hardcode_minus_L, $1)=yes +- _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' +- ;; +- +- hpux10*) +- if test "$GCC" = yes -a "$with_gnu_ld" = no; then +- _LT_TAGVAR(archive_cmds, $1)='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' +- else +- _LT_TAGVAR(archive_cmds, $1)='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags' +- fi +- if test "$with_gnu_ld" = no; then +- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' +- _LT_TAGVAR(hardcode_libdir_flag_spec_ld, $1)='+b $libdir' +- _LT_TAGVAR(hardcode_libdir_separator, $1)=: +- _LT_TAGVAR(hardcode_direct, $1)=yes +- _LT_TAGVAR(hardcode_direct_absolute, $1)=yes +- _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' +- # hardcode_minus_L: Not really in the search PATH, +- # but as the default location of the library. +- _LT_TAGVAR(hardcode_minus_L, $1)=yes +- fi +- ;; +- +- hpux11*) +- if test "$GCC" = yes -a "$with_gnu_ld" = no; then +- case $host_cpu in +- hppa*64*) +- _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' +- ;; +- ia64*) +- _LT_TAGVAR(archive_cmds, $1)='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' +- ;; +- *) +- _LT_TAGVAR(archive_cmds, $1)='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' +- ;; +- esac +- else +- case $host_cpu in +- hppa*64*) +- _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' +- ;; +- ia64*) +- _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' +- ;; +- *) +- _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' +- ;; +- esac +- fi +- if test "$with_gnu_ld" = no; then +- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' +- _LT_TAGVAR(hardcode_libdir_separator, $1)=: +- +- case $host_cpu in +- hppa*64*|ia64*) +- _LT_TAGVAR(hardcode_direct, $1)=no +- _LT_TAGVAR(hardcode_shlibpath_var, $1)=no +- ;; +- *) +- _LT_TAGVAR(hardcode_direct, $1)=yes +- _LT_TAGVAR(hardcode_direct_absolute, $1)=yes +- _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' +- +- # hardcode_minus_L: Not really in the search PATH, +- # but as the default location of the library. +- _LT_TAGVAR(hardcode_minus_L, $1)=yes +- ;; +- esac +- fi +- ;; +- +- irix5* | irix6* | nonstopux*) +- if test "$GCC" = yes; then +- _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' +- # Try to use the -exported_symbol ld option, if it does not +- # work, assume that -exports_file does not work either and +- # implicitly export all symbols. +- save_LDFLAGS="$LDFLAGS" +- LDFLAGS="$LDFLAGS -shared ${wl}-exported_symbol ${wl}foo ${wl}-update_registry ${wl}/dev/null" +- AC_LINK_IFELSE(int foo(void) {}, +- _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' +- ) +- LDFLAGS="$save_LDFLAGS" +- else +- _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' +- _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' +- fi +- _LT_TAGVAR(archive_cmds_need_lc, $1)='no' +- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' +- _LT_TAGVAR(hardcode_libdir_separator, $1)=: +- _LT_TAGVAR(inherit_rpath, $1)=yes +- _LT_TAGVAR(link_all_deplibs, $1)=yes +- ;; +- +- netbsd*) +- if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then +- _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out +- else +- _LT_TAGVAR(archive_cmds, $1)='$LD -shared -o $lib $libobjs $deplibs $linker_flags' # ELF +- fi +- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' +- _LT_TAGVAR(hardcode_direct, $1)=yes +- _LT_TAGVAR(hardcode_shlibpath_var, $1)=no +- ;; +- +- newsos6) +- _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' +- _LT_TAGVAR(hardcode_direct, $1)=yes +- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' +- _LT_TAGVAR(hardcode_libdir_separator, $1)=: +- _LT_TAGVAR(hardcode_shlibpath_var, $1)=no +- ;; +- +- *nto* | *qnx*) +- ;; +- +- openbsd*) +- if test -f /usr/libexec/ld.so; then +- _LT_TAGVAR(hardcode_direct, $1)=yes +- _LT_TAGVAR(hardcode_shlibpath_var, $1)=no +- _LT_TAGVAR(hardcode_direct_absolute, $1)=yes +- if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then +- _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' +- _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols' +- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' +- _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' +- else +- case $host_os in +- openbsd[[01]].* | openbsd2.[[0-7]] | openbsd2.[[0-7]].*) +- _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' +- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' +- ;; +- *) +- _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' +- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' +- ;; +- esac +- fi +- else +- _LT_TAGVAR(ld_shlibs, $1)=no +- fi +- ;; +- +- os2*) +- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' +- _LT_TAGVAR(hardcode_minus_L, $1)=yes +- _LT_TAGVAR(allow_undefined_flag, $1)=unsupported +- _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' +- _LT_TAGVAR(old_archive_from_new_cmds, $1)='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def' +- ;; +- +- osf3*) +- if test "$GCC" = yes; then +- _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*' +- _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' +- else +- _LT_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*' +- _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib' +- fi +- _LT_TAGVAR(archive_cmds_need_lc, $1)='no' +- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' +- _LT_TAGVAR(hardcode_libdir_separator, $1)=: +- ;; +- +- osf4* | osf5*) # as osf3* with the addition of -msym flag +- if test "$GCC" = yes; then +- _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*' +- _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-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' +- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' +- else +- _LT_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*' +- _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags -msym -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib' +- _LT_TAGVAR(archive_expsym_cmds, $1)='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; printf "%s\\n" "-hidden">> $lib.exp~ +- $CC -shared${allow_undefined_flag} ${wl}-input ${wl}$lib.exp $compiler_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib~$RM $lib.exp' +- +- # Both c and cxx compiler support -rpath directly +- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir' +- fi +- _LT_TAGVAR(archive_cmds_need_lc, $1)='no' +- _LT_TAGVAR(hardcode_libdir_separator, $1)=: +- ;; +- +- solaris*) +- _LT_TAGVAR(no_undefined_flag, $1)=' -z defs' +- if test "$GCC" = yes; then +- wlarc='${wl}' +- _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-z ${wl}text ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' +- _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ +- $CC -shared ${wl}-z ${wl}text ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp' +- else +- case `$CC -V 2>&1` in +- *"Compilers 5.0"*) +- wlarc='' +- _LT_TAGVAR(archive_cmds, $1)='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags' +- _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ +- $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$RM $lib.exp' +- ;; +- *) +- wlarc='${wl}' +- _LT_TAGVAR(archive_cmds, $1)='$CC -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $compiler_flags' +- _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ +- $CC -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp' +- ;; +- esac +- fi +- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' +- _LT_TAGVAR(hardcode_shlibpath_var, $1)=no +- case $host_os in +- solaris2.[[0-5]] | solaris2.[[0-5]].*) ;; +- *) +- # The compiler driver will combine and reorder linker options, +- # but understands `-z linker_flag'. GCC discards it without `$wl', +- # but is careful enough not to reorder. +- # Supported since Solaris 2.6 (maybe 2.5.1?) +- if test "$GCC" = yes; then +- _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract' +- else +- _LT_TAGVAR(whole_archive_flag_spec, $1)='-z allextract$convenience -z defaultextract' +- fi +- ;; +- esac +- _LT_TAGVAR(link_all_deplibs, $1)=yes +- ;; +- +- sunos4*) +- if test "x$host_vendor" = xsequent; then +- # Use $CC to link under sequent, because it throws in some extra .o +- # files that make .init and .fini sections work. +- _LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h $soname -o $lib $libobjs $deplibs $compiler_flags' +- else +- _LT_TAGVAR(archive_cmds, $1)='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags' +- fi +- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' +- _LT_TAGVAR(hardcode_direct, $1)=yes +- _LT_TAGVAR(hardcode_minus_L, $1)=yes +- _LT_TAGVAR(hardcode_shlibpath_var, $1)=no +- ;; +- +- sysv4) +- case $host_vendor in +- sni) +- _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' +- _LT_TAGVAR(hardcode_direct, $1)=yes # is this really true??? +- ;; +- siemens) +- ## LD is ld it makes a PLAMLIB +- ## CC just makes a GrossModule. +- _LT_TAGVAR(archive_cmds, $1)='$LD -G -o $lib $libobjs $deplibs $linker_flags' +- _LT_TAGVAR(reload_cmds, $1)='$CC -r -o $output$reload_objs' +- _LT_TAGVAR(hardcode_direct, $1)=no +- ;; +- motorola) +- _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' +- _LT_TAGVAR(hardcode_direct, $1)=no #Motorola manual says yes, but my tests say they lie +- ;; +- esac +- runpath_var='LD_RUN_PATH' +- _LT_TAGVAR(hardcode_shlibpath_var, $1)=no +- ;; +- +- sysv4.3*) +- _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' +- _LT_TAGVAR(hardcode_shlibpath_var, $1)=no +- _LT_TAGVAR(export_dynamic_flag_spec, $1)='-Bexport' +- ;; +- +- sysv4*MP*) +- if test -d /usr/nec; then +- _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' +- _LT_TAGVAR(hardcode_shlibpath_var, $1)=no +- runpath_var=LD_RUN_PATH +- hardcode_runpath_var=yes +- _LT_TAGVAR(ld_shlibs, $1)=yes +- fi +- ;; +- +- sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[[01]].[[10]]* | unixware7* | sco3.2v5.0.[[024]]*) +- _LT_TAGVAR(no_undefined_flag, $1)='${wl}-z,text' +- _LT_TAGVAR(archive_cmds_need_lc, $1)=no +- _LT_TAGVAR(hardcode_shlibpath_var, $1)=no +- runpath_var='LD_RUN_PATH' +- +- if test "$GCC" = yes; then +- _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' +- _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' +- else +- _LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' +- _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' +- fi +- ;; +- +- sysv5* | sco3.2v5* | sco5v6*) +- # Note: We can NOT use -z defs as we might desire, because we do not +- # link with -lc, and that would cause any symbols used from libc to +- # always be unresolved, which means just about no library would +- # ever link correctly. If we're not using GNU ld we use -z text +- # though, which does catch some bad symbols but isn't as heavy-handed +- # as -z defs. +- _LT_TAGVAR(no_undefined_flag, $1)='${wl}-z,text' +- _LT_TAGVAR(allow_undefined_flag, $1)='${wl}-z,nodefs' +- _LT_TAGVAR(archive_cmds_need_lc, $1)=no +- _LT_TAGVAR(hardcode_shlibpath_var, $1)=no +- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R,$libdir' +- _LT_TAGVAR(hardcode_libdir_separator, $1)=':' +- _LT_TAGVAR(link_all_deplibs, $1)=yes +- _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-Bexport' +- runpath_var='LD_RUN_PATH' +- +- if test "$GCC" = yes; then +- _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' +- _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' +- else +- _LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' +- _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' +- fi +- ;; +- +- uts4*) +- _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' +- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' +- _LT_TAGVAR(hardcode_shlibpath_var, $1)=no +- ;; +- +- *) +- _LT_TAGVAR(ld_shlibs, $1)=no +- ;; +- esac +- +- if test x$host_vendor = xsni; then +- case $host in +- sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*) +- _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-Blargedynsym' +- ;; +- esac +- fi +- fi +-]) +-AC_MSG_RESULT([$_LT_TAGVAR(ld_shlibs, $1)]) +-test "$_LT_TAGVAR(ld_shlibs, $1)" = no && can_build_shared=no +- +-_LT_TAGVAR(with_gnu_ld, $1)=$with_gnu_ld +- +-_LT_DECL([], [libext], [0], [Old archive suffix (normally "a")])dnl +-_LT_DECL([], [shrext_cmds], [1], [Shared library suffix (normally ".so")])dnl +-_LT_DECL([], [extract_expsyms_cmds], [2], +- [The commands to extract the exported symbol list from a shared archive]) +- +-# +-# Do we need to explicitly link libc? +-# +-case "x$_LT_TAGVAR(archive_cmds_need_lc, $1)" in +-x|xyes) +- # Assume -lc should be added +- _LT_TAGVAR(archive_cmds_need_lc, $1)=yes +- +- if test "$enable_shared" = yes && test "$GCC" = yes; then +- case $_LT_TAGVAR(archive_cmds, $1) in +- *'~'*) +- # FIXME: we may have to deal with multi-command sequences. +- ;; +- '$CC '*) +- # Test whether the compiler implicitly links with -lc since on some +- # systems, -lgcc has to come before -lc. If gcc already passes -lc +- # to ld, don't add -lc before -lgcc. +- AC_MSG_CHECKING([whether -lc should be explicitly linked in]) +- $RM conftest* +- echo "$lt_simple_compile_test_code" > conftest.$ac_ext +- +- if AC_TRY_EVAL(ac_compile) 2>conftest.err; then +- soname=conftest +- lib=conftest +- libobjs=conftest.$ac_objext +- deplibs= +- wl=$_LT_TAGVAR(lt_prog_compiler_wl, $1) +- pic_flag=$_LT_TAGVAR(lt_prog_compiler_pic, $1) +- compiler_flags=-v +- linker_flags=-v +- verstring= +- output_objdir=. +- libname=conftest +- lt_save_allow_undefined_flag=$_LT_TAGVAR(allow_undefined_flag, $1) +- _LT_TAGVAR(allow_undefined_flag, $1)= +- if AC_TRY_EVAL(_LT_TAGVAR(archive_cmds, $1) 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1) +- then +- _LT_TAGVAR(archive_cmds_need_lc, $1)=no +- else +- _LT_TAGVAR(archive_cmds_need_lc, $1)=yes +- fi +- _LT_TAGVAR(allow_undefined_flag, $1)=$lt_save_allow_undefined_flag +- else +- cat conftest.err 1>&5 +- fi +- $RM conftest* +- AC_MSG_RESULT([$_LT_TAGVAR(archive_cmds_need_lc, $1)]) +- ;; +- esac +- fi +- ;; +-esac +- +-_LT_TAGDECL([build_libtool_need_lc], [archive_cmds_need_lc], [0], +- [Whether or not to add -lc for building shared libraries]) +-_LT_TAGDECL([allow_libtool_libs_with_static_runtimes], +- [enable_shared_with_static_runtimes], [0], +- [Whether or not to disallow shared libs when runtime libs are static]) +-_LT_TAGDECL([], [export_dynamic_flag_spec], [1], +- [Compiler flag to allow reflexive dlopens]) +-_LT_TAGDECL([], [whole_archive_flag_spec], [1], +- [Compiler flag to generate shared objects directly from archives]) +-_LT_TAGDECL([], [compiler_needs_object], [1], +- [Whether the compiler copes with passing no objects directly]) +-_LT_TAGDECL([], [old_archive_from_new_cmds], [2], +- [Create an old-style archive from a shared archive]) +-_LT_TAGDECL([], [old_archive_from_expsyms_cmds], [2], +- [Create a temporary old-style archive to link instead of a shared archive]) +-_LT_TAGDECL([], [archive_cmds], [2], [Commands used to build a shared archive]) +-_LT_TAGDECL([], [archive_expsym_cmds], [2]) +-_LT_TAGDECL([], [module_cmds], [2], +- [Commands used to build a loadable module if different from building +- a shared archive.]) +-_LT_TAGDECL([], [module_expsym_cmds], [2]) +-_LT_TAGDECL([], [with_gnu_ld], [1], +- [Whether we are building with GNU ld or not]) +-_LT_TAGDECL([], [allow_undefined_flag], [1], +- [Flag that allows shared libraries with undefined symbols to be built]) +-_LT_TAGDECL([], [no_undefined_flag], [1], +- [Flag that enforces no undefined symbols]) +-_LT_TAGDECL([], [hardcode_libdir_flag_spec], [1], +- [Flag to hardcode $libdir into a binary during linking. +- This must work even if $libdir does not exist]) +-_LT_TAGDECL([], [hardcode_libdir_flag_spec_ld], [1], +- [[If ld is used when linking, flag to hardcode $libdir into a binary +- during linking. This must work even if $libdir does not exist]]) +-_LT_TAGDECL([], [hardcode_libdir_separator], [1], +- [Whether we need a single "-rpath" flag with a separated argument]) +-_LT_TAGDECL([], [hardcode_direct], [0], +- [Set to "yes" if using DIR/libNAME${shared_ext} during linking hardcodes +- DIR into the resulting binary]) +-_LT_TAGDECL([], [hardcode_direct_absolute], [0], +- [Set to "yes" if using DIR/libNAME${shared_ext} during linking hardcodes +- DIR into the resulting binary and the resulting library dependency is +- "absolute", i.e impossible to change by setting ${shlibpath_var} if the +- library is relocated]) +-_LT_TAGDECL([], [hardcode_minus_L], [0], +- [Set to "yes" if using the -LDIR flag during linking hardcodes DIR +- into the resulting binary]) +-_LT_TAGDECL([], [hardcode_shlibpath_var], [0], +- [Set to "yes" if using SHLIBPATH_VAR=DIR during linking hardcodes DIR +- into the resulting binary]) +-_LT_TAGDECL([], [hardcode_automatic], [0], +- [Set to "yes" if building a shared library automatically hardcodes DIR +- into the library and all subsequent libraries and executables linked +- against it]) +-_LT_TAGDECL([], [inherit_rpath], [0], +- [Set to yes if linker adds runtime paths of dependent libraries +- to runtime path list]) +-_LT_TAGDECL([], [link_all_deplibs], [0], +- [Whether libtool must link a program against all its dependency libraries]) +-_LT_TAGDECL([], [fix_srcfile_path], [1], +- [Fix the shell variable $srcfile for the compiler]) +-_LT_TAGDECL([], [always_export_symbols], [0], +- [Set to "yes" if exported symbols are required]) +-_LT_TAGDECL([], [export_symbols_cmds], [2], +- [The commands to list exported symbols]) +-_LT_TAGDECL([], [exclude_expsyms], [1], +- [Symbols that should not be listed in the preloaded symbols]) +-_LT_TAGDECL([], [include_expsyms], [1], +- [Symbols that must always be exported]) +-_LT_TAGDECL([], [prelink_cmds], [2], +- [Commands necessary for linking programs (against libraries) with templates]) +-_LT_TAGDECL([], [file_list_spec], [1], +- [Specify filename containing input files]) +-dnl FIXME: Not yet implemented +-dnl _LT_TAGDECL([], [thread_safe_flag_spec], [1], +-dnl [Compiler flag to generate thread safe objects]) +-])# _LT_LINKER_SHLIBS +- +- +-# _LT_LANG_C_CONFIG([TAG]) +-# ------------------------ +-# Ensure that the configuration variables for a C compiler are suitably +-# defined. These variables are subsequently used by _LT_CONFIG to write +-# the compiler configuration to `libtool'. +-m4_defun([_LT_LANG_C_CONFIG], +-[m4_require([_LT_DECL_EGREP])dnl +-lt_save_CC="$CC" +-AC_LANG_PUSH(C) +- +-# Source file extension for C test sources. +-ac_ext=c +- +-# Object file extension for compiled C test sources. +-objext=o +-_LT_TAGVAR(objext, $1)=$objext +- +-# Code to be used in simple compile tests +-lt_simple_compile_test_code="int some_variable = 0;" +- +-# Code to be used in simple link tests +-lt_simple_link_test_code='int main(){return(0);}' +- +-_LT_TAG_COMPILER +-# Save the default compiler, since it gets overwritten when the other +-# tags are being tested, and _LT_TAGVAR(compiler, []) is a NOP. +-compiler_DEFAULT=$CC +- +-# save warnings/boilerplate of simple test code +-_LT_COMPILER_BOILERPLATE +-_LT_LINKER_BOILERPLATE +- +-## CAVEAT EMPTOR: +-## There is no encapsulation within the following macros, do not change +-## the running order or otherwise move them around unless you know exactly +-## what you are doing... +-if test -n "$compiler"; then +- _LT_COMPILER_NO_RTTI($1) +- _LT_COMPILER_PIC($1) +- _LT_COMPILER_C_O($1) +- _LT_COMPILER_FILE_LOCKS($1) +- _LT_LINKER_SHLIBS($1) +- _LT_SYS_DYNAMIC_LINKER($1) +- _LT_LINKER_HARDCODE_LIBPATH($1) +- LT_SYS_DLOPEN_SELF +- _LT_CMD_STRIPLIB +- +- # Report which library types will actually be built +- AC_MSG_CHECKING([if libtool supports shared libraries]) +- AC_MSG_RESULT([$can_build_shared]) +- +- AC_MSG_CHECKING([whether to build shared libraries]) +- test "$can_build_shared" = "no" && enable_shared=no +- +- # On AIX, shared libraries and static libraries use the same namespace, and +- # are all built from PIC. +- case $host_os in +- aix3*) +- test "$enable_shared" = yes && enable_static=no +- if test -n "$RANLIB"; then +- archive_cmds="$archive_cmds~\$RANLIB \$lib" +- postinstall_cmds='$RANLIB $lib' +- fi +- ;; +- +- aix[[4-9]]*) +- if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then +- test "$enable_shared" = yes && enable_static=no +- fi +- ;; +- esac +- AC_MSG_RESULT([$enable_shared]) +- +- AC_MSG_CHECKING([whether to build static libraries]) +- # Make sure either enable_shared or enable_static is yes. +- test "$enable_shared" = yes || enable_static=yes +- AC_MSG_RESULT([$enable_static]) +- +- _LT_CONFIG($1) +-fi +-AC_LANG_POP +-CC="$lt_save_CC" +-])# _LT_LANG_C_CONFIG +- +- +-# _LT_PROG_CXX +-# ------------ +-# Since AC_PROG_CXX is broken, in that it returns g++ if there is no c++ +-# compiler, we have our own version here. +-m4_defun([_LT_PROG_CXX], +-[ +-pushdef([AC_MSG_ERROR], [_lt_caught_CXX_error=yes]) +-AC_PROG_CXX +-if test -n "$CXX" && ( test "X$CXX" != "Xno" && +- ( (test "X$CXX" = "Xg++" && `g++ -v >/dev/null 2>&1` ) || +- (test "X$CXX" != "Xg++"))) ; then +- AC_PROG_CXXCPP +-else +- _lt_caught_CXX_error=yes +-fi +-popdef([AC_MSG_ERROR]) +-])# _LT_PROG_CXX +- +-dnl aclocal-1.4 backwards compatibility: +-dnl AC_DEFUN([_LT_PROG_CXX], []) +- +- +-# _LT_LANG_CXX_CONFIG([TAG]) +-# -------------------------- +-# Ensure that the configuration variables for a C++ compiler are suitably +-# defined. These variables are subsequently used by _LT_CONFIG to write +-# the compiler configuration to `libtool'. +-m4_defun([_LT_LANG_CXX_CONFIG], +-[AC_REQUIRE([_LT_PROG_CXX])dnl +-m4_require([_LT_FILEUTILS_DEFAULTS])dnl +-m4_require([_LT_DECL_EGREP])dnl +- +-AC_LANG_PUSH(C++) +-_LT_TAGVAR(archive_cmds_need_lc, $1)=no +-_LT_TAGVAR(allow_undefined_flag, $1)= +-_LT_TAGVAR(always_export_symbols, $1)=no +-_LT_TAGVAR(archive_expsym_cmds, $1)= +-_LT_TAGVAR(compiler_needs_object, $1)=no +-_LT_TAGVAR(export_dynamic_flag_spec, $1)= +-_LT_TAGVAR(hardcode_direct, $1)=no +-_LT_TAGVAR(hardcode_direct_absolute, $1)=no +-_LT_TAGVAR(hardcode_libdir_flag_spec, $1)= +-_LT_TAGVAR(hardcode_libdir_flag_spec_ld, $1)= +-_LT_TAGVAR(hardcode_libdir_separator, $1)= +-_LT_TAGVAR(hardcode_minus_L, $1)=no +-_LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported +-_LT_TAGVAR(hardcode_automatic, $1)=no +-_LT_TAGVAR(inherit_rpath, $1)=no +-_LT_TAGVAR(module_cmds, $1)= +-_LT_TAGVAR(module_expsym_cmds, $1)= +-_LT_TAGVAR(link_all_deplibs, $1)=unknown +-_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds +-_LT_TAGVAR(no_undefined_flag, $1)= +-_LT_TAGVAR(whole_archive_flag_spec, $1)= +-_LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no +- +-# Source file extension for C++ test sources. +-ac_ext=cpp +- +-# Object file extension for compiled C++ test sources. +-objext=o +-_LT_TAGVAR(objext, $1)=$objext +- +-# No sense in running all these tests if we already determined that +-# the CXX compiler isn't working. Some variables (like enable_shared) +-# are currently assumed to apply to all compilers on this platform, +-# and will be corrupted by setting them based on a non-working compiler. +-if test "$_lt_caught_CXX_error" != yes; then +- # Code to be used in simple compile tests +- lt_simple_compile_test_code="int some_variable = 0;" +- +- # Code to be used in simple link tests +- lt_simple_link_test_code='int main(int, char *[[]]) { return(0); }' +- +- # ltmain only uses $CC for tagged configurations so make sure $CC is set. +- _LT_TAG_COMPILER +- +- # save warnings/boilerplate of simple test code +- _LT_COMPILER_BOILERPLATE +- _LT_LINKER_BOILERPLATE +- +- # Allow CC to be a program name with arguments. +- lt_save_CC=$CC +- lt_save_LD=$LD +- lt_save_GCC=$GCC +- GCC=$GXX +- lt_save_with_gnu_ld=$with_gnu_ld +- lt_save_path_LD=$lt_cv_path_LD +- if test -n "${lt_cv_prog_gnu_ldcxx+set}"; then +- lt_cv_prog_gnu_ld=$lt_cv_prog_gnu_ldcxx +- else +- $as_unset lt_cv_prog_gnu_ld +- fi +- if test -n "${lt_cv_path_LDCXX+set}"; then +- lt_cv_path_LD=$lt_cv_path_LDCXX +- else +- $as_unset lt_cv_path_LD +- fi +- test -z "${LDCXX+set}" || LD=$LDCXX +- CC=${CXX-"c++"} +- compiler=$CC +- _LT_TAGVAR(compiler, $1)=$CC +- _LT_CC_BASENAME([$compiler]) +- +- if test -n "$compiler"; then +- # We don't want -fno-exception when compiling C++ code, so set the +- # no_builtin_flag separately +- if test "$GXX" = yes; then +- _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -fno-builtin' +- else +- _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)= +- fi +- +- if test "$GXX" = yes; then +- # Set up default GNU C++ configuration +- +- LT_PATH_LD +- +- # Check if GNU C++ uses GNU ld as the underlying linker, since the +- # archiving commands below assume that GNU ld is being used. +- if test "$with_gnu_ld" = yes; then +- _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib' +- _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' +- +- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' +- _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' +- +- # If archive_cmds runs LD, not CC, wlarc should be empty +- # XXX I think wlarc can be eliminated in ltcf-cxx, but I need to +- # investigate it a little bit more. (MM) +- wlarc='${wl}' +- +- # ancient GNU ld didn't support --whole-archive et. al. +- if eval "`$CC -print-prog-name=ld` --help 2>&1" | +- $GREP 'no-whole-archive' > /dev/null; then +- _LT_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' +- else +- _LT_TAGVAR(whole_archive_flag_spec, $1)= +- fi +- else +- with_gnu_ld=no +- wlarc= +- +- # A generic and very simple default shared library creation +- # command for GNU C++ for the case where it uses the native +- # linker, instead of GNU ld. If possible, this setting should +- # overridden to take advantage of the native linker features on +- # the platform it is being used on. +- _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib' +- fi +- +- # Commands to make compiler produce verbose output that lists +- # what "hidden" libraries, object files and flags are used when +- # linking a shared library. +- output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "\-L"' +- +- else +- GXX=no +- with_gnu_ld=no +- wlarc= +- fi +- +- # PORTME: fill in a description of your system's C++ link characteristics +- AC_MSG_CHECKING([whether the $compiler linker ($LD) supports shared libraries]) +- _LT_TAGVAR(ld_shlibs, $1)=yes +- case $host_os in +- aix3*) +- # FIXME: insert proper C++ library support +- _LT_TAGVAR(ld_shlibs, $1)=no +- ;; +- aix[[4-9]]*) +- if test "$host_cpu" = ia64; then +- # On IA64, the linker does run time linking by default, so we don't +- # have to do anything special. +- aix_use_runtimelinking=no +- exp_sym_flag='-Bexport' +- no_entry_flag="" +- else +- aix_use_runtimelinking=no +- +- # Test if we are trying to use run time linking or normal +- # AIX style linking. If -brtl is somewhere in LDFLAGS, we +- # need to do runtime linking. +- case $host_os in aix4.[[23]]|aix4.[[23]].*|aix[[5-9]]*) +- for ld_flag in $LDFLAGS; do +- case $ld_flag in +- *-brtl*) +- aix_use_runtimelinking=yes +- break +- ;; +- esac +- done +- ;; +- esac +- +- exp_sym_flag='-bexport' +- no_entry_flag='-bnoentry' +- fi +- +- # When large executables or shared objects are built, AIX ld can +- # have problems creating the table of contents. If linking a library +- # or program results in "error TOC overflow" add -mminimal-toc to +- # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not +- # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. +- +- _LT_TAGVAR(archive_cmds, $1)='' +- _LT_TAGVAR(hardcode_direct, $1)=yes +- _LT_TAGVAR(hardcode_direct_absolute, $1)=yes +- _LT_TAGVAR(hardcode_libdir_separator, $1)=':' +- _LT_TAGVAR(link_all_deplibs, $1)=yes +- _LT_TAGVAR(file_list_spec, $1)='${wl}-f,' +- +- if test "$GXX" = yes; then +- case $host_os in aix4.[[012]]|aix4.[[012]].*) +- # We only want to do this on AIX 4.2 and lower, the check +- # below for broken collect2 doesn't work under 4.3+ +- collect2name=`${CC} -print-prog-name=collect2` +- if test -f "$collect2name" && +- strings "$collect2name" | $GREP resolve_lib_name >/dev/null +- then +- # We have reworked collect2 +- : +- else +- # We have old collect2 +- _LT_TAGVAR(hardcode_direct, $1)=unsupported +- # It fails to find uninstalled libraries when the uninstalled +- # path is not listed in the libpath. Setting hardcode_minus_L +- # to unsupported forces relinking +- _LT_TAGVAR(hardcode_minus_L, $1)=yes +- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' +- _LT_TAGVAR(hardcode_libdir_separator, $1)= +- fi +- esac +- shared_flag='-shared' +- if test "$aix_use_runtimelinking" = yes; then +- shared_flag="$shared_flag "'${wl}-G' +- fi +- else +- # not using gcc +- if test "$host_cpu" = ia64; then +- # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release +- # chokes on -Wl,-G. The following line is correct: +- shared_flag='-G' +- else +- if test "$aix_use_runtimelinking" = yes; then +- shared_flag='${wl}-G' +- else +- shared_flag='${wl}-bM:SRE' +- fi +- fi +- fi +- +- _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-bexpall' +- # It seems that -bexpall does not export symbols beginning with +- # underscore (_), so it is better to generate a list of symbols to +- # export. +- _LT_TAGVAR(always_export_symbols, $1)=yes +- if test "$aix_use_runtimelinking" = yes; then +- # Warning - without using the other runtime loading flags (-brtl), +- # -berok will link without error, but may produce a broken library. +- _LT_TAGVAR(allow_undefined_flag, $1)='-berok' +- # Determine the default libpath from the value encoded in an empty +- # executable. +- _LT_SYS_MODULE_PATH_AIX +- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath" +- +- _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then $ECHO "X${wl}${allow_undefined_flag}" | $Xsed; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag" +- else +- if test "$host_cpu" = ia64; then +- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $libdir:/usr/lib:/lib' +- _LT_TAGVAR(allow_undefined_flag, $1)="-z nodefs" +- _LT_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols" +- else +- # Determine the default libpath from the value encoded in an +- # empty executable. +- _LT_SYS_MODULE_PATH_AIX +- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath" +- # Warning - without using the other run time loading flags, +- # -berok will link without error, but may produce a broken library. +- _LT_TAGVAR(no_undefined_flag, $1)=' ${wl}-bernotok' +- _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-berok' +- # Exported symbols can be pulled into shared objects from archives +- _LT_TAGVAR(whole_archive_flag_spec, $1)='$convenience' +- _LT_TAGVAR(archive_cmds_need_lc, $1)=yes +- # This is similar to how AIX traditionally builds its shared +- # libraries. +- _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' +- fi +- fi +- ;; +- +- beos*) +- if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then +- _LT_TAGVAR(allow_undefined_flag, $1)=unsupported +- # Joseph Beckenbach <jrb3@best.com> says some releases of gcc +- # support --undefined. This deserves some investigation. FIXME +- _LT_TAGVAR(archive_cmds, $1)='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' +- else +- _LT_TAGVAR(ld_shlibs, $1)=no +- fi +- ;; +- +- chorus*) +- case $cc_basename in +- *) +- # FIXME: insert proper C++ library support +- _LT_TAGVAR(ld_shlibs, $1)=no +- ;; +- esac +- ;; +- +- cygwin* | mingw* | pw32* | cegcc*) +- # _LT_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless, +- # as there is no search path for DLLs. +- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' +- _LT_TAGVAR(allow_undefined_flag, $1)=unsupported +- _LT_TAGVAR(always_export_symbols, $1)=no +- _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes +- +- if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then +- _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' +- # If the export-symbols file already is a .def file (1st line +- # is EXPORTS), use it as is; otherwise, prepend... +- _LT_TAGVAR(archive_expsym_cmds, $1)='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then +- cp $export_symbols $output_objdir/$soname.def; +- else +- echo EXPORTS > $output_objdir/$soname.def; +- cat $export_symbols >> $output_objdir/$soname.def; +- fi~ +- $CC -shared -nostdlib $output_objdir/$soname.def $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' +- else +- _LT_TAGVAR(ld_shlibs, $1)=no +- fi +- ;; +- darwin* | rhapsody*) +- _LT_DARWIN_LINKER_FEATURES($1) +- ;; +- +- dgux*) +- case $cc_basename in +- ec++*) +- # FIXME: insert proper C++ library support +- _LT_TAGVAR(ld_shlibs, $1)=no +- ;; +- ghcx*) +- # Green Hills C++ Compiler +- # FIXME: insert proper C++ library support +- _LT_TAGVAR(ld_shlibs, $1)=no +- ;; +- *) +- # FIXME: insert proper C++ library support +- _LT_TAGVAR(ld_shlibs, $1)=no +- ;; +- esac +- ;; +- +- freebsd[[12]]*) +- # C++ shared libraries reported to be fairly broken before +- # switch to ELF +- _LT_TAGVAR(ld_shlibs, $1)=no +- ;; +- +- freebsd-elf*) +- _LT_TAGVAR(archive_cmds_need_lc, $1)=no +- ;; +- +- freebsd* | dragonfly*) +- # FreeBSD 3 and later use GNU C++ and GNU ld with standard ELF +- # conventions +- _LT_TAGVAR(ld_shlibs, $1)=yes +- ;; +- +- gnu*) +- ;; +- +- hpux9*) +- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' +- _LT_TAGVAR(hardcode_libdir_separator, $1)=: +- _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' +- _LT_TAGVAR(hardcode_direct, $1)=yes +- _LT_TAGVAR(hardcode_minus_L, $1)=yes # Not in the search PATH, +- # but as the default +- # location of the library. +- +- case $cc_basename in +- CC*) +- # FIXME: insert proper C++ library support +- _LT_TAGVAR(ld_shlibs, $1)=no +- ;; +- aCC*) +- _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$CC -b ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib' +- # Commands to make compiler produce verbose output that lists +- # what "hidden" libraries, object files and flags are used when +- # linking a shared library. +- # +- # There doesn't appear to be a way to prevent this compiler from +- # explicitly linking system object files so we need to strip them +- # from the output so that they don't get included in the library +- # dependencies. +- output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $EGREP "\-L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; $ECHO "X$list" | $Xsed' +- ;; +- *) +- if test "$GXX" = yes; then +- _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' +- else +- # FIXME: insert proper C++ library support +- _LT_TAGVAR(ld_shlibs, $1)=no +- fi +- ;; +- esac +- ;; +- +- hpux10*|hpux11*) +- if test $with_gnu_ld = no; then +- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' +- _LT_TAGVAR(hardcode_libdir_separator, $1)=: +- +- case $host_cpu in +- hppa*64*|ia64*) +- ;; +- *) +- _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' +- ;; +- esac +- fi +- case $host_cpu in +- hppa*64*|ia64*) +- _LT_TAGVAR(hardcode_direct, $1)=no +- _LT_TAGVAR(hardcode_shlibpath_var, $1)=no +- ;; +- *) +- _LT_TAGVAR(hardcode_direct, $1)=yes +- _LT_TAGVAR(hardcode_direct_absolute, $1)=yes +- _LT_TAGVAR(hardcode_minus_L, $1)=yes # Not in the search PATH, +- # but as the default +- # location of the library. +- ;; +- esac +- +- case $cc_basename in +- CC*) +- # FIXME: insert proper C++ library support +- _LT_TAGVAR(ld_shlibs, $1)=no +- ;; +- aCC*) +- case $host_cpu in +- hppa*64*) +- _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' +- ;; +- ia64*) +- _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' +- ;; +- *) +- _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' +- ;; +- esac +- # Commands to make compiler produce verbose output that lists +- # what "hidden" libraries, object files and flags are used when +- # linking a shared library. +- # +- # There doesn't appear to be a way to prevent this compiler from +- # explicitly linking system object files so we need to strip them +- # from the output so that they don't get included in the library +- # dependencies. +- output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $GREP "\-L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; $ECHO "X$list" | $Xsed' +- ;; +- *) +- if test "$GXX" = yes; then +- if test $with_gnu_ld = no; then +- case $host_cpu in +- hppa*64*) +- _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' +- ;; +- ia64*) +- _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' +- ;; +- *) +- _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' +- ;; +- esac +- fi +- else +- # FIXME: insert proper C++ library support +- _LT_TAGVAR(ld_shlibs, $1)=no +- fi +- ;; +- esac +- ;; +- +- interix[[3-9]]*) +- _LT_TAGVAR(hardcode_direct, $1)=no +- _LT_TAGVAR(hardcode_shlibpath_var, $1)=no +- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' +- _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' +- # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. +- # Instead, shared libraries are loaded at an image base (0x10000000 by +- # default) and relocated if they conflict, which is a slow very memory +- # consuming and fragmenting process. To avoid this, we pick a random, +- # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link +- # time. Moving up from 0x10000000 also allows more sbrk(2) space. +- _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' +- _LT_TAGVAR(archive_expsym_cmds, $1)='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib' +- ;; +- irix5* | irix6*) +- case $cc_basename in +- CC*) +- # SGI C++ +- _LT_TAGVAR(archive_cmds, $1)='$CC -shared -all -multigot $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib' +- +- # Archives containing C++ object files must be created using +- # "CC -ar", where "CC" is the IRIX C++ compiler. This is +- # necessary to make sure instantiated templates are included +- # in the archive. +- _LT_TAGVAR(old_archive_cmds, $1)='$CC -ar -WR,-u -o $oldlib $oldobjs' +- ;; +- *) +- if test "$GXX" = yes; then +- if test "$with_gnu_ld" = no; then +- _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' +- else +- _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' +- fi +- fi +- _LT_TAGVAR(link_all_deplibs, $1)=yes +- ;; +- esac +- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' +- _LT_TAGVAR(hardcode_libdir_separator, $1)=: +- _LT_TAGVAR(inherit_rpath, $1)=yes +- ;; +- +- linux* | k*bsd*-gnu) +- case $cc_basename in +- KCC*) +- # Kuck and Associates, Inc. (KAI) C++ Compiler +- +- # KCC will only create a shared library if the output file +- # ends with ".so" (or ".sl" for HP-UX), so rename the library +- # to its proper name (with version) after linking. +- _LT_TAGVAR(archive_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib' +- _LT_TAGVAR(archive_expsym_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib ${wl}-retain-symbols-file,$export_symbols; mv \$templib $lib' +- # Commands to make compiler produce verbose output that lists +- # what "hidden" libraries, object files and flags are used when +- # linking a shared library. +- # +- # There doesn't appear to be a way to prevent this compiler from +- # explicitly linking system object files so we need to strip them +- # from the output so that they don't get included in the library +- # dependencies. +- output_verbose_link_cmd='templist=`$CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1 | $GREP "ld"`; rm -f libconftest$shared_ext; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; $ECHO "X$list" | $Xsed' +- +- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' +- _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' +- +- # Archives containing C++ object files must be created using +- # "CC -Bstatic", where "CC" is the KAI C++ compiler. +- _LT_TAGVAR(old_archive_cmds, $1)='$CC -Bstatic -o $oldlib $oldobjs' +- ;; +- icpc* | ecpc* ) +- # Intel C++ +- with_gnu_ld=yes +- # version 8.0 and above of icpc choke on multiply defined symbols +- # if we add $predep_objects and $postdep_objects, however 7.1 and +- # earlier do not add the objects themselves. +- case `$CC -V 2>&1` in +- *"Version 7."*) +- _LT_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib' +- _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' +- ;; +- *) # Version 8.0 or newer +- tmp_idyn= +- case $host_cpu in +- ia64*) tmp_idyn=' -i_dynamic';; +- esac +- _LT_TAGVAR(archive_cmds, $1)='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' +- _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib' +- ;; +- esac +- _LT_TAGVAR(archive_cmds_need_lc, $1)=no +- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' +- _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' +- _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive$convenience ${wl}--no-whole-archive' +- ;; +- pgCC* | pgcpp*) +- # Portland Group C++ compiler +- case `$CC -V` in +- *pgCC\ [[1-5]]* | *pgcpp\ [[1-5]]*) +- _LT_TAGVAR(prelink_cmds, $1)='tpldir=Template.dir~ +- rm -rf $tpldir~ +- $CC --prelink_objects --instantiation_dir $tpldir $objs $libobjs $compile_deplibs~ +- compile_command="$compile_command `find $tpldir -name \*.o | $NL2SP`"' +- _LT_TAGVAR(old_archive_cmds, $1)='tpldir=Template.dir~ +- rm -rf $tpldir~ +- $CC --prelink_objects --instantiation_dir $tpldir $oldobjs$old_deplibs~ +- $AR $AR_FLAGS $oldlib$oldobjs$old_deplibs `find $tpldir -name \*.o | $NL2SP`~ +- $RANLIB $oldlib' +- _LT_TAGVAR(archive_cmds, $1)='tpldir=Template.dir~ +- rm -rf $tpldir~ +- $CC --prelink_objects --instantiation_dir $tpldir $predep_objects $libobjs $deplibs $convenience $postdep_objects~ +- $CC -shared $pic_flag $predep_objects $libobjs $deplibs `find $tpldir -name \*.o | $NL2SP` $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib' +- _LT_TAGVAR(archive_expsym_cmds, $1)='tpldir=Template.dir~ +- rm -rf $tpldir~ +- $CC --prelink_objects --instantiation_dir $tpldir $predep_objects $libobjs $deplibs $convenience $postdep_objects~ +- $CC -shared $pic_flag $predep_objects $libobjs $deplibs `find $tpldir -name \*.o | $NL2SP` $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname ${wl}-retain-symbols-file ${wl}$export_symbols -o $lib' +- ;; +- *) # Version 6 will use weak symbols +- _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib' +- _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname ${wl}-retain-symbols-file ${wl}$export_symbols -o $lib' +- ;; +- esac +- +- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}--rpath ${wl}$libdir' +- _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' +- _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $ECHO \"$new_convenience\"` ${wl}--no-whole-archive' +- ;; +- cxx*) +- # Compaq C++ +- _LT_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib' +- _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib ${wl}-retain-symbols-file $wl$export_symbols' +- +- runpath_var=LD_RUN_PATH +- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir' +- _LT_TAGVAR(hardcode_libdir_separator, $1)=: +- +- # Commands to make compiler produce verbose output that lists +- # what "hidden" libraries, object files and flags are used when +- # linking a shared library. +- # +- # There doesn't appear to be a way to prevent this compiler from +- # explicitly linking system object files so we need to strip them +- # from the output so that they don't get included in the library +- # dependencies. +- output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "ld"`; templist=`$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' +- ;; +- xl*) +- # IBM XL 8.0 on PPC, with GNU ld +- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' +- _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' +- _LT_TAGVAR(archive_cmds, $1)='$CC -qmkshrobj $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' +- if test "x$supports_anon_versioning" = xyes; then +- _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~ +- cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ +- echo "local: *; };" >> $output_objdir/$libname.ver~ +- $CC -qmkshrobj $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib' +- fi +- ;; +- *) +- case `$CC -V 2>&1 | sed 5q` in +- *Sun\ C*) +- # Sun C++ 5.9 +- _LT_TAGVAR(no_undefined_flag, $1)=' -zdefs' +- _LT_TAGVAR(archive_cmds, $1)='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' +- _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-retain-symbols-file ${wl}$export_symbols' +- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' +- _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; $ECHO \"$new_convenience\"` ${wl}--no-whole-archive' +- _LT_TAGVAR(compiler_needs_object, $1)=yes +- +- # Not sure whether something based on +- # $CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1 +- # would be better. +- output_verbose_link_cmd='echo' +- +- # Archives containing C++ object files must be created using +- # "CC -xar", where "CC" is the Sun C++ compiler. This is +- # necessary to make sure instantiated templates are included +- # in the archive. +- _LT_TAGVAR(old_archive_cmds, $1)='$CC -xar -o $oldlib $oldobjs' +- ;; +- esac +- ;; +- esac +- ;; +- +- lynxos*) +- # FIXME: insert proper C++ library support +- _LT_TAGVAR(ld_shlibs, $1)=no +- ;; +- +- m88k*) +- # FIXME: insert proper C++ library support +- _LT_TAGVAR(ld_shlibs, $1)=no +- ;; +- +- mvs*) +- case $cc_basename in +- cxx*) +- # FIXME: insert proper C++ library support +- _LT_TAGVAR(ld_shlibs, $1)=no +- ;; +- *) +- # FIXME: insert proper C++ library support +- _LT_TAGVAR(ld_shlibs, $1)=no +- ;; +- esac +- ;; +- +- netbsd*) +- if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then +- _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $predep_objects $libobjs $deplibs $postdep_objects $linker_flags' +- wlarc= +- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' +- _LT_TAGVAR(hardcode_direct, $1)=yes +- _LT_TAGVAR(hardcode_shlibpath_var, $1)=no +- fi +- # Workaround some broken pre-1.5 toolchains +- output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP conftest.$objext | $SED -e "s:-lgcc -lc -lgcc::"' +- ;; +- +- *nto* | *qnx*) +- _LT_TAGVAR(ld_shlibs, $1)=yes +- ;; +- +- openbsd2*) +- # C++ shared libraries are fairly broken +- _LT_TAGVAR(ld_shlibs, $1)=no +- ;; +- +- openbsd*) +- if test -f /usr/libexec/ld.so; then +- _LT_TAGVAR(hardcode_direct, $1)=yes +- _LT_TAGVAR(hardcode_shlibpath_var, $1)=no +- _LT_TAGVAR(hardcode_direct_absolute, $1)=yes +- _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib' +- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' +- if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then +- _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-retain-symbols-file,$export_symbols -o $lib' +- _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' +- _LT_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' +- fi +- output_verbose_link_cmd=echo +- else +- _LT_TAGVAR(ld_shlibs, $1)=no +- fi +- ;; +- +- osf3* | osf4* | osf5*) +- case $cc_basename in +- KCC*) +- # Kuck and Associates, Inc. (KAI) C++ Compiler +- +- # KCC will only create a shared library if the output file +- # ends with ".so" (or ".sl" for HP-UX), so rename the library +- # to its proper name (with version) after linking. +- _LT_TAGVAR(archive_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo "$lib" | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib' +- +- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' +- _LT_TAGVAR(hardcode_libdir_separator, $1)=: +- +- # Archives containing C++ object files must be created using +- # the KAI C++ compiler. +- case $host in +- osf3*) _LT_TAGVAR(old_archive_cmds, $1)='$CC -Bstatic -o $oldlib $oldobjs' ;; +- *) _LT_TAGVAR(old_archive_cmds, $1)='$CC -o $oldlib $oldobjs' ;; +- esac +- ;; +- RCC*) +- # Rational C++ 2.4.1 +- # FIXME: insert proper C++ library support +- _LT_TAGVAR(ld_shlibs, $1)=no +- ;; +- cxx*) +- case $host in +- osf3*) +- _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*' +- _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $soname `test -n "$verstring" && $ECHO "X${wl}-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib' +- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' +- ;; +- *) +- _LT_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*' +- _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib' +- _LT_TAGVAR(archive_expsym_cmds, $1)='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done~ +- echo "-hidden">> $lib.exp~ +- $CC -shared$allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname ${wl}-input ${wl}$lib.exp `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib~ +- $RM $lib.exp' +- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir' +- ;; +- esac +- +- _LT_TAGVAR(hardcode_libdir_separator, $1)=: +- +- # Commands to make compiler produce verbose output that lists +- # what "hidden" libraries, object files and flags are used when +- # linking a shared library. +- # +- # There doesn't appear to be a way to prevent this compiler from +- # explicitly linking system object files so we need to strip them +- # from the output so that they don't get included in the library +- # dependencies. +- output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "ld" | $GREP -v "ld:"`; templist=`$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' +- ;; +- *) +- if test "$GXX" = yes && test "$with_gnu_ld" = no; then +- _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*' +- case $host in +- osf3*) +- _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib' +- ;; +- *) +- _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' +- ;; +- esac +- +- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' +- _LT_TAGVAR(hardcode_libdir_separator, $1)=: +- +- # Commands to make compiler produce verbose output that lists +- # what "hidden" libraries, object files and flags are used when +- # linking a shared library. +- output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "\-L"' +- +- else +- # FIXME: insert proper C++ library support +- _LT_TAGVAR(ld_shlibs, $1)=no +- fi +- ;; +- esac +- ;; +- +- psos*) +- # FIXME: insert proper C++ library support +- _LT_TAGVAR(ld_shlibs, $1)=no +- ;; +- +- sunos4*) +- case $cc_basename in +- CC*) +- # Sun C++ 4.x +- # FIXME: insert proper C++ library support +- _LT_TAGVAR(ld_shlibs, $1)=no +- ;; +- lcc*) +- # Lucid +- # FIXME: insert proper C++ library support +- _LT_TAGVAR(ld_shlibs, $1)=no +- ;; +- *) +- # FIXME: insert proper C++ library support +- _LT_TAGVAR(ld_shlibs, $1)=no +- ;; +- esac +- ;; +- +- solaris*) +- case $cc_basename in +- CC*) +- # Sun C++ 4.2, 5.x and Centerline C++ +- _LT_TAGVAR(archive_cmds_need_lc,$1)=yes +- _LT_TAGVAR(no_undefined_flag, $1)=' -zdefs' +- _LT_TAGVAR(archive_cmds, $1)='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' +- _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ +- $CC -G${allow_undefined_flag} ${wl}-M ${wl}$lib.exp -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp' +- +- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' +- _LT_TAGVAR(hardcode_shlibpath_var, $1)=no +- case $host_os in +- solaris2.[[0-5]] | solaris2.[[0-5]].*) ;; +- *) +- # The compiler driver will combine and reorder linker options, +- # but understands `-z linker_flag'. +- # Supported since Solaris 2.6 (maybe 2.5.1?) +- _LT_TAGVAR(whole_archive_flag_spec, $1)='-z allextract$convenience -z defaultextract' +- ;; +- esac +- _LT_TAGVAR(link_all_deplibs, $1)=yes +- +- output_verbose_link_cmd='echo' +- +- # Archives containing C++ object files must be created using +- # "CC -xar", where "CC" is the Sun C++ compiler. This is +- # necessary to make sure instantiated templates are included +- # in the archive. +- _LT_TAGVAR(old_archive_cmds, $1)='$CC -xar -o $oldlib $oldobjs' +- ;; +- gcx*) +- # Green Hills C++ Compiler +- _LT_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib' +- +- # The C++ compiler must be used to create the archive. +- _LT_TAGVAR(old_archive_cmds, $1)='$CC $LDFLAGS -archive -o $oldlib $oldobjs' +- ;; +- *) +- # GNU C++ compiler with Solaris linker +- if test "$GXX" = yes && test "$with_gnu_ld" = no; then +- _LT_TAGVAR(no_undefined_flag, $1)=' ${wl}-z ${wl}defs' +- if $CC --version | $GREP -v '^2\.7' > /dev/null; then +- _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib' +- _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ +- $CC -shared -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp' +- +- # Commands to make compiler produce verbose output that lists +- # what "hidden" libraries, object files and flags are used when +- # linking a shared library. +- output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "\-L"' +- else +- # g++ 2.7 appears to require `-G' NOT `-shared' on this +- # platform. +- _LT_TAGVAR(archive_cmds, $1)='$CC -G -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib' +- _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ +- $CC -G -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp' +- +- # Commands to make compiler produce verbose output that lists +- # what "hidden" libraries, object files and flags are used when +- # linking a shared library. +- output_verbose_link_cmd='$CC -G $CFLAGS -v conftest.$objext 2>&1 | $GREP "\-L"' +- fi +- +- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $wl$libdir' +- case $host_os in +- solaris2.[[0-5]] | solaris2.[[0-5]].*) ;; +- *) +- _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract' +- ;; +- esac +- fi +- ;; +- esac +- ;; +- +- sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[[01]].[[10]]* | unixware7* | sco3.2v5.0.[[024]]*) +- _LT_TAGVAR(no_undefined_flag, $1)='${wl}-z,text' +- _LT_TAGVAR(archive_cmds_need_lc, $1)=no +- _LT_TAGVAR(hardcode_shlibpath_var, $1)=no +- runpath_var='LD_RUN_PATH' +- +- case $cc_basename in +- CC*) +- _LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' +- _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' +- ;; +- *) +- _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' +- _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' +- ;; +- esac +- ;; +- +- sysv5* | sco3.2v5* | sco5v6*) +- # Note: We can NOT use -z defs as we might desire, because we do not +- # link with -lc, and that would cause any symbols used from libc to +- # always be unresolved, which means just about no library would +- # ever link correctly. If we're not using GNU ld we use -z text +- # though, which does catch some bad symbols but isn't as heavy-handed +- # as -z defs. +- _LT_TAGVAR(no_undefined_flag, $1)='${wl}-z,text' +- _LT_TAGVAR(allow_undefined_flag, $1)='${wl}-z,nodefs' +- _LT_TAGVAR(archive_cmds_need_lc, $1)=no +- _LT_TAGVAR(hardcode_shlibpath_var, $1)=no +- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R,$libdir' +- _LT_TAGVAR(hardcode_libdir_separator, $1)=':' +- _LT_TAGVAR(link_all_deplibs, $1)=yes +- _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-Bexport' +- runpath_var='LD_RUN_PATH' +- +- case $cc_basename in +- CC*) +- _LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' +- _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' +- ;; +- *) +- _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' +- _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' +- ;; +- esac +- ;; +- +- tandem*) +- case $cc_basename in +- NCC*) +- # NonStop-UX NCC 3.20 +- # FIXME: insert proper C++ library support +- _LT_TAGVAR(ld_shlibs, $1)=no +- ;; +- *) +- # FIXME: insert proper C++ library support +- _LT_TAGVAR(ld_shlibs, $1)=no +- ;; +- esac +- ;; +- +- vxworks*) +- # FIXME: insert proper C++ library support +- _LT_TAGVAR(ld_shlibs, $1)=no +- ;; +- +- *) +- # FIXME: insert proper C++ library support +- _LT_TAGVAR(ld_shlibs, $1)=no +- ;; +- esac +- +- AC_MSG_RESULT([$_LT_TAGVAR(ld_shlibs, $1)]) +- test "$_LT_TAGVAR(ld_shlibs, $1)" = no && can_build_shared=no +- +- _LT_TAGVAR(GCC, $1)="$GXX" +- _LT_TAGVAR(LD, $1)="$LD" +- +- ## CAVEAT EMPTOR: +- ## There is no encapsulation within the following macros, do not change +- ## the running order or otherwise move them around unless you know exactly +- ## what you are doing... +- _LT_SYS_HIDDEN_LIBDEPS($1) +- _LT_COMPILER_PIC($1) +- _LT_COMPILER_C_O($1) +- _LT_COMPILER_FILE_LOCKS($1) +- _LT_LINKER_SHLIBS($1) +- _LT_SYS_DYNAMIC_LINKER($1) +- _LT_LINKER_HARDCODE_LIBPATH($1) +- +- _LT_CONFIG($1) +- fi # test -n "$compiler" +- +- CC=$lt_save_CC +- LDCXX=$LD +- LD=$lt_save_LD +- GCC=$lt_save_GCC +- with_gnu_ld=$lt_save_with_gnu_ld +- lt_cv_path_LDCXX=$lt_cv_path_LD +- lt_cv_path_LD=$lt_save_path_LD +- lt_cv_prog_gnu_ldcxx=$lt_cv_prog_gnu_ld +- lt_cv_prog_gnu_ld=$lt_save_with_gnu_ld +-fi # test "$_lt_caught_CXX_error" != yes +- +-AC_LANG_POP +-])# _LT_LANG_CXX_CONFIG +- +- +-# _LT_SYS_HIDDEN_LIBDEPS([TAGNAME]) +-# --------------------------------- +-# Figure out "hidden" library dependencies from verbose +-# compiler output when linking a shared library. +-# Parse the compiler output and extract the necessary +-# objects, libraries and library flags. +-m4_defun([_LT_SYS_HIDDEN_LIBDEPS], +-[m4_require([_LT_FILEUTILS_DEFAULTS])dnl +-# Dependencies to place before and after the object being linked: +-_LT_TAGVAR(predep_objects, $1)= +-_LT_TAGVAR(postdep_objects, $1)= +-_LT_TAGVAR(predeps, $1)= +-_LT_TAGVAR(postdeps, $1)= +-_LT_TAGVAR(compiler_lib_search_path, $1)= +- +-dnl we can't use the lt_simple_compile_test_code here, +-dnl because it contains code intended for an executable, +-dnl not a library. It's possible we should let each +-dnl tag define a new lt_????_link_test_code variable, +-dnl but it's only used here... +-m4_if([$1], [], [cat > conftest.$ac_ext <<_LT_EOF +-int a; +-void foo (void) { a = 0; } +-_LT_EOF +-], [$1], [CXX], [cat > conftest.$ac_ext <<_LT_EOF +-class Foo +-{ +-public: +- Foo (void) { a = 0; } +-private: +- int a; +-}; +-_LT_EOF +-], [$1], [F77], [cat > conftest.$ac_ext <<_LT_EOF +- subroutine foo +- implicit none +- integer*4 a +- a=0 +- return +- end +-_LT_EOF +-], [$1], [FC], [cat > conftest.$ac_ext <<_LT_EOF +- subroutine foo +- implicit none +- integer a +- a=0 +- return +- end +-_LT_EOF +-], [$1], [GCJ], [cat > conftest.$ac_ext <<_LT_EOF +-public class foo { +- private int a; +- public void bar (void) { +- a = 0; +- } +-}; +-_LT_EOF +-]) +-dnl Parse the compiler output and extract the necessary +-dnl objects, libraries and library flags. +-if AC_TRY_EVAL(ac_compile); then +- # Parse the compiler output and extract the necessary +- # objects, libraries and library flags. +- +- # Sentinel used to keep track of whether or not we are before +- # the conftest object file. +- pre_test_object_deps_done=no +- +- for p in `eval "$output_verbose_link_cmd"`; do +- case $p in +- +- -L* | -R* | -l*) +- # Some compilers place space between "-{L,R}" and the path. +- # Remove the space. +- if test $p = "-L" || +- test $p = "-R"; then +- prev=$p +- continue +- else +- prev= +- fi +- +- if test "$pre_test_object_deps_done" = no; then +- case $p in +- -L* | -R*) +- # Internal compiler library paths should come after those +- # provided the user. The postdeps already come after the +- # user supplied libs so there is no need to process them. +- if test -z "$_LT_TAGVAR(compiler_lib_search_path, $1)"; then +- _LT_TAGVAR(compiler_lib_search_path, $1)="${prev}${p}" +- else +- _LT_TAGVAR(compiler_lib_search_path, $1)="${_LT_TAGVAR(compiler_lib_search_path, $1)} ${prev}${p}" +- fi +- ;; +- # The "-l" case would never come before the object being +- # linked, so don't bother handling this case. +- esac +- else +- if test -z "$_LT_TAGVAR(postdeps, $1)"; then +- _LT_TAGVAR(postdeps, $1)="${prev}${p}" +- else +- _LT_TAGVAR(postdeps, $1)="${_LT_TAGVAR(postdeps, $1)} ${prev}${p}" +- fi +- fi +- ;; +- +- *.$objext) +- # This assumes that the test object file only shows up +- # once in the compiler output. +- if test "$p" = "conftest.$objext"; then +- pre_test_object_deps_done=yes +- continue +- fi +- +- if test "$pre_test_object_deps_done" = no; then +- if test -z "$_LT_TAGVAR(predep_objects, $1)"; then +- _LT_TAGVAR(predep_objects, $1)="$p" +- else +- _LT_TAGVAR(predep_objects, $1)="$_LT_TAGVAR(predep_objects, $1) $p" +- fi +- else +- if test -z "$_LT_TAGVAR(postdep_objects, $1)"; then +- _LT_TAGVAR(postdep_objects, $1)="$p" +- else +- _LT_TAGVAR(postdep_objects, $1)="$_LT_TAGVAR(postdep_objects, $1) $p" +- fi +- fi +- ;; +- +- *) ;; # Ignore the rest. +- +- esac +- done +- +- # Clean up. +- rm -f a.out a.exe +-else +- echo "libtool.m4: error: problem compiling $1 test program" +-fi +- +-$RM -f confest.$objext +- +-# PORTME: override above test on systems where it is broken +-m4_if([$1], [CXX], +-[case $host_os in +-interix[[3-9]]*) +- # Interix 3.5 installs completely hosed .la files for C++, so rather than +- # hack all around it, let's just trust "g++" to DTRT. +- _LT_TAGVAR(predep_objects,$1)= +- _LT_TAGVAR(postdep_objects,$1)= +- _LT_TAGVAR(postdeps,$1)= +- ;; +- +-linux*) +- case `$CC -V 2>&1 | sed 5q` in +- *Sun\ C*) +- # Sun C++ 5.9 +- +- # The more standards-conforming stlport4 library is +- # incompatible with the Cstd library. Avoid specifying +- # it if it's in CXXFLAGS. Ignore libCrun as +- # -library=stlport4 depends on it. +- case " $CXX $CXXFLAGS " in +- *" -library=stlport4 "*) +- solaris_use_stlport4=yes +- ;; +- esac +- +- if test "$solaris_use_stlport4" != yes; then +- _LT_TAGVAR(postdeps,$1)='-library=Cstd -library=Crun' +- fi +- ;; +- esac +- ;; +- +-solaris*) +- case $cc_basename in +- CC*) +- # The more standards-conforming stlport4 library is +- # incompatible with the Cstd library. Avoid specifying +- # it if it's in CXXFLAGS. Ignore libCrun as +- # -library=stlport4 depends on it. +- case " $CXX $CXXFLAGS " in +- *" -library=stlport4 "*) +- solaris_use_stlport4=yes +- ;; +- esac +- +- # Adding this requires a known-good setup of shared libraries for +- # Sun compiler versions before 5.6, else PIC objects from an old +- # archive will be linked into the output, leading to subtle bugs. +- if test "$solaris_use_stlport4" != yes; then +- _LT_TAGVAR(postdeps,$1)='-library=Cstd -library=Crun' +- fi +- ;; +- esac +- ;; +-esac +-]) +- +-case " $_LT_TAGVAR(postdeps, $1) " in +-*" -lc "*) _LT_TAGVAR(archive_cmds_need_lc, $1)=no ;; +-esac +- _LT_TAGVAR(compiler_lib_search_dirs, $1)= +-if test -n "${_LT_TAGVAR(compiler_lib_search_path, $1)}"; then +- _LT_TAGVAR(compiler_lib_search_dirs, $1)=`echo " ${_LT_TAGVAR(compiler_lib_search_path, $1)}" | ${SED} -e 's! -L! !g' -e 's!^ !!'` +-fi +-_LT_TAGDECL([], [compiler_lib_search_dirs], [1], +- [The directories searched by this compiler when creating a shared library]) +-_LT_TAGDECL([], [predep_objects], [1], +- [Dependencies to place before and after the objects being linked to +- create a shared library]) +-_LT_TAGDECL([], [postdep_objects], [1]) +-_LT_TAGDECL([], [predeps], [1]) +-_LT_TAGDECL([], [postdeps], [1]) +-_LT_TAGDECL([], [compiler_lib_search_path], [1], +- [The library search path used internally by the compiler when linking +- a shared library]) +-])# _LT_SYS_HIDDEN_LIBDEPS +- +- +-# _LT_PROG_F77 +-# ------------ +-# Since AC_PROG_F77 is broken, in that it returns the empty string +-# if there is no fortran compiler, we have our own version here. +-m4_defun([_LT_PROG_F77], +-[ +-pushdef([AC_MSG_ERROR], [_lt_disable_F77=yes]) +-AC_PROG_F77 +-if test -z "$F77" || test "X$F77" = "Xno"; then +- _lt_disable_F77=yes +-fi +-popdef([AC_MSG_ERROR]) +-])# _LT_PROG_F77 +- +-dnl aclocal-1.4 backwards compatibility: +-dnl AC_DEFUN([_LT_PROG_F77], []) +- +- +-# _LT_LANG_F77_CONFIG([TAG]) +-# -------------------------- +-# Ensure that the configuration variables for a Fortran 77 compiler are +-# suitably defined. These variables are subsequently used by _LT_CONFIG +-# to write the compiler configuration to `libtool'. +-m4_defun([_LT_LANG_F77_CONFIG], +-[AC_REQUIRE([_LT_PROG_F77])dnl +-AC_LANG_PUSH(Fortran 77) +- +-_LT_TAGVAR(archive_cmds_need_lc, $1)=no +-_LT_TAGVAR(allow_undefined_flag, $1)= +-_LT_TAGVAR(always_export_symbols, $1)=no +-_LT_TAGVAR(archive_expsym_cmds, $1)= +-_LT_TAGVAR(export_dynamic_flag_spec, $1)= +-_LT_TAGVAR(hardcode_direct, $1)=no +-_LT_TAGVAR(hardcode_direct_absolute, $1)=no +-_LT_TAGVAR(hardcode_libdir_flag_spec, $1)= +-_LT_TAGVAR(hardcode_libdir_flag_spec_ld, $1)= +-_LT_TAGVAR(hardcode_libdir_separator, $1)= +-_LT_TAGVAR(hardcode_minus_L, $1)=no +-_LT_TAGVAR(hardcode_automatic, $1)=no +-_LT_TAGVAR(inherit_rpath, $1)=no +-_LT_TAGVAR(module_cmds, $1)= +-_LT_TAGVAR(module_expsym_cmds, $1)= +-_LT_TAGVAR(link_all_deplibs, $1)=unknown +-_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds +-_LT_TAGVAR(no_undefined_flag, $1)= +-_LT_TAGVAR(whole_archive_flag_spec, $1)= +-_LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no +- +-# Source file extension for f77 test sources. +-ac_ext=f +- +-# Object file extension for compiled f77 test sources. +-objext=o +-_LT_TAGVAR(objext, $1)=$objext +- +-# No sense in running all these tests if we already determined that +-# the F77 compiler isn't working. Some variables (like enable_shared) +-# are currently assumed to apply to all compilers on this platform, +-# and will be corrupted by setting them based on a non-working compiler. +-if test "$_lt_disable_F77" != yes; then +- # Code to be used in simple compile tests +- lt_simple_compile_test_code="\ +- subroutine t +- return +- end +-" +- +- # Code to be used in simple link tests +- lt_simple_link_test_code="\ +- program t +- end +-" +- +- # ltmain only uses $CC for tagged configurations so make sure $CC is set. +- _LT_TAG_COMPILER +- +- # save warnings/boilerplate of simple test code +- _LT_COMPILER_BOILERPLATE +- _LT_LINKER_BOILERPLATE +- +- # Allow CC to be a program name with arguments. +- lt_save_CC="$CC" +- lt_save_GCC=$GCC +- CC=${F77-"f77"} +- compiler=$CC +- _LT_TAGVAR(compiler, $1)=$CC +- _LT_CC_BASENAME([$compiler]) +- GCC=$G77 +- if test -n "$compiler"; then +- AC_MSG_CHECKING([if libtool supports shared libraries]) +- AC_MSG_RESULT([$can_build_shared]) +- +- AC_MSG_CHECKING([whether to build shared libraries]) +- test "$can_build_shared" = "no" && enable_shared=no +- +- # On AIX, shared libraries and static libraries use the same namespace, and +- # are all built from PIC. +- case $host_os in +- aix3*) +- test "$enable_shared" = yes && enable_static=no +- if test -n "$RANLIB"; then +- archive_cmds="$archive_cmds~\$RANLIB \$lib" +- postinstall_cmds='$RANLIB $lib' +- fi +- ;; +- aix[[4-9]]*) +- if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then +- test "$enable_shared" = yes && enable_static=no +- fi +- ;; +- esac +- AC_MSG_RESULT([$enable_shared]) +- +- AC_MSG_CHECKING([whether to build static libraries]) +- # Make sure either enable_shared or enable_static is yes. +- test "$enable_shared" = yes || enable_static=yes +- AC_MSG_RESULT([$enable_static]) +- +- _LT_TAGVAR(GCC, $1)="$G77" +- _LT_TAGVAR(LD, $1)="$LD" +- +- ## CAVEAT EMPTOR: +- ## There is no encapsulation within the following macros, do not change +- ## the running order or otherwise move them around unless you know exactly +- ## what you are doing... +- _LT_COMPILER_PIC($1) +- _LT_COMPILER_C_O($1) +- _LT_COMPILER_FILE_LOCKS($1) +- _LT_LINKER_SHLIBS($1) +- _LT_SYS_DYNAMIC_LINKER($1) +- _LT_LINKER_HARDCODE_LIBPATH($1) +- +- _LT_CONFIG($1) +- fi # test -n "$compiler" +- +- GCC=$lt_save_GCC +- CC="$lt_save_CC" +-fi # test "$_lt_disable_F77" != yes +- +-AC_LANG_POP +-])# _LT_LANG_F77_CONFIG +- +- +-# _LT_PROG_FC +-# ----------- +-# Since AC_PROG_FC is broken, in that it returns the empty string +-# if there is no fortran compiler, we have our own version here. +-m4_defun([_LT_PROG_FC], +-[ +-pushdef([AC_MSG_ERROR], [_lt_disable_FC=yes]) +-AC_PROG_FC +-if test -z "$FC" || test "X$FC" = "Xno"; then +- _lt_disable_FC=yes +-fi +-popdef([AC_MSG_ERROR]) +-])# _LT_PROG_FC +- +-dnl aclocal-1.4 backwards compatibility: +-dnl AC_DEFUN([_LT_PROG_FC], []) +- +- +-# _LT_LANG_FC_CONFIG([TAG]) +-# ------------------------- +-# Ensure that the configuration variables for a Fortran compiler are +-# suitably defined. These variables are subsequently used by _LT_CONFIG +-# to write the compiler configuration to `libtool'. +-m4_defun([_LT_LANG_FC_CONFIG], +-[AC_REQUIRE([_LT_PROG_FC])dnl +-AC_LANG_PUSH(Fortran) +- +-_LT_TAGVAR(archive_cmds_need_lc, $1)=no +-_LT_TAGVAR(allow_undefined_flag, $1)= +-_LT_TAGVAR(always_export_symbols, $1)=no +-_LT_TAGVAR(archive_expsym_cmds, $1)= +-_LT_TAGVAR(export_dynamic_flag_spec, $1)= +-_LT_TAGVAR(hardcode_direct, $1)=no +-_LT_TAGVAR(hardcode_direct_absolute, $1)=no +-_LT_TAGVAR(hardcode_libdir_flag_spec, $1)= +-_LT_TAGVAR(hardcode_libdir_flag_spec_ld, $1)= +-_LT_TAGVAR(hardcode_libdir_separator, $1)= +-_LT_TAGVAR(hardcode_minus_L, $1)=no +-_LT_TAGVAR(hardcode_automatic, $1)=no +-_LT_TAGVAR(inherit_rpath, $1)=no +-_LT_TAGVAR(module_cmds, $1)= +-_LT_TAGVAR(module_expsym_cmds, $1)= +-_LT_TAGVAR(link_all_deplibs, $1)=unknown +-_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds +-_LT_TAGVAR(no_undefined_flag, $1)= +-_LT_TAGVAR(whole_archive_flag_spec, $1)= +-_LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no +- +-# Source file extension for fc test sources. +-ac_ext=${ac_fc_srcext-f} +- +-# Object file extension for compiled fc test sources. +-objext=o +-_LT_TAGVAR(objext, $1)=$objext +- +-# No sense in running all these tests if we already determined that +-# the FC compiler isn't working. Some variables (like enable_shared) +-# are currently assumed to apply to all compilers on this platform, +-# and will be corrupted by setting them based on a non-working compiler. +-if test "$_lt_disable_FC" != yes; then +- # Code to be used in simple compile tests +- lt_simple_compile_test_code="\ +- subroutine t +- return +- end +-" +- +- # Code to be used in simple link tests +- lt_simple_link_test_code="\ +- program t +- end +-" +- +- # ltmain only uses $CC for tagged configurations so make sure $CC is set. +- _LT_TAG_COMPILER +- +- # save warnings/boilerplate of simple test code +- _LT_COMPILER_BOILERPLATE +- _LT_LINKER_BOILERPLATE +- +- # Allow CC to be a program name with arguments. +- lt_save_CC="$CC" +- lt_save_GCC=$GCC +- CC=${FC-"f95"} +- compiler=$CC +- GCC=$ac_cv_fc_compiler_gnu +- +- _LT_TAGVAR(compiler, $1)=$CC +- _LT_CC_BASENAME([$compiler]) +- +- if test -n "$compiler"; then +- AC_MSG_CHECKING([if libtool supports shared libraries]) +- AC_MSG_RESULT([$can_build_shared]) +- +- AC_MSG_CHECKING([whether to build shared libraries]) +- test "$can_build_shared" = "no" && enable_shared=no +- +- # On AIX, shared libraries and static libraries use the same namespace, and +- # are all built from PIC. +- case $host_os in +- aix3*) +- test "$enable_shared" = yes && enable_static=no +- if test -n "$RANLIB"; then +- archive_cmds="$archive_cmds~\$RANLIB \$lib" +- postinstall_cmds='$RANLIB $lib' +- fi +- ;; +- aix[[4-9]]*) +- if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then +- test "$enable_shared" = yes && enable_static=no +- fi +- ;; +- esac +- AC_MSG_RESULT([$enable_shared]) +- +- AC_MSG_CHECKING([whether to build static libraries]) +- # Make sure either enable_shared or enable_static is yes. +- test "$enable_shared" = yes || enable_static=yes +- AC_MSG_RESULT([$enable_static]) +- +- _LT_TAGVAR(GCC, $1)="$ac_cv_fc_compiler_gnu" +- _LT_TAGVAR(LD, $1)="$LD" +- +- ## CAVEAT EMPTOR: +- ## There is no encapsulation within the following macros, do not change +- ## the running order or otherwise move them around unless you know exactly +- ## what you are doing... +- _LT_SYS_HIDDEN_LIBDEPS($1) +- _LT_COMPILER_PIC($1) +- _LT_COMPILER_C_O($1) +- _LT_COMPILER_FILE_LOCKS($1) +- _LT_LINKER_SHLIBS($1) +- _LT_SYS_DYNAMIC_LINKER($1) +- _LT_LINKER_HARDCODE_LIBPATH($1) +- +- _LT_CONFIG($1) +- fi # test -n "$compiler" +- +- GCC=$lt_save_GCC +- CC="$lt_save_CC" +-fi # test "$_lt_disable_FC" != yes +- +-AC_LANG_POP +-])# _LT_LANG_FC_CONFIG +- +- +-# _LT_LANG_GCJ_CONFIG([TAG]) +-# -------------------------- +-# Ensure that the configuration variables for the GNU Java Compiler compiler +-# are suitably defined. These variables are subsequently used by _LT_CONFIG +-# to write the compiler configuration to `libtool'. +-m4_defun([_LT_LANG_GCJ_CONFIG], +-[AC_REQUIRE([LT_PROG_GCJ])dnl +-AC_LANG_SAVE +- +-# Source file extension for Java test sources. +-ac_ext=java +- +-# Object file extension for compiled Java test sources. +-objext=o +-_LT_TAGVAR(objext, $1)=$objext +- +-# Code to be used in simple compile tests +-lt_simple_compile_test_code="class foo {}" +- +-# Code to be used in simple link tests +-lt_simple_link_test_code='public class conftest { public static void main(String[[]] argv) {}; }' +- +-# ltmain only uses $CC for tagged configurations so make sure $CC is set. +-_LT_TAG_COMPILER +- +-# save warnings/boilerplate of simple test code +-_LT_COMPILER_BOILERPLATE +-_LT_LINKER_BOILERPLATE +- +-# Allow CC to be a program name with arguments. +-lt_save_CC="$CC" +-lt_save_GCC=$GCC +-GCC=yes +-CC=${GCJ-"gcj"} +-compiler=$CC +-_LT_TAGVAR(compiler, $1)=$CC +-_LT_TAGVAR(LD, $1)="$LD" +-_LT_CC_BASENAME([$compiler]) +- +-# GCJ did not exist at the time GCC didn't implicitly link libc in. +-_LT_TAGVAR(archive_cmds_need_lc, $1)=no +- +-_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds +- +-## CAVEAT EMPTOR: +-## There is no encapsulation within the following macros, do not change +-## the running order or otherwise move them around unless you know exactly +-## what you are doing... +-if test -n "$compiler"; then +- _LT_COMPILER_NO_RTTI($1) +- _LT_COMPILER_PIC($1) +- _LT_COMPILER_C_O($1) +- _LT_COMPILER_FILE_LOCKS($1) +- _LT_LINKER_SHLIBS($1) +- _LT_LINKER_HARDCODE_LIBPATH($1) +- +- _LT_CONFIG($1) +-fi +- +-AC_LANG_RESTORE +- +-GCC=$lt_save_GCC +-CC="$lt_save_CC" +-])# _LT_LANG_GCJ_CONFIG +- +- +-# _LT_LANG_RC_CONFIG([TAG]) +-# ------------------------- +-# Ensure that the configuration variables for the Windows resource compiler +-# are suitably defined. These variables are subsequently used by _LT_CONFIG +-# to write the compiler configuration to `libtool'. +-m4_defun([_LT_LANG_RC_CONFIG], +-[AC_REQUIRE([LT_PROG_RC])dnl +-AC_LANG_SAVE +- +-# Source file extension for RC test sources. +-ac_ext=rc +- +-# Object file extension for compiled RC test sources. +-objext=o +-_LT_TAGVAR(objext, $1)=$objext +- +-# Code to be used in simple compile tests +-lt_simple_compile_test_code='sample MENU { MENUITEM "&Soup", 100, CHECKED }' +- +-# Code to be used in simple link tests +-lt_simple_link_test_code="$lt_simple_compile_test_code" +- +-# ltmain only uses $CC for tagged configurations so make sure $CC is set. +-_LT_TAG_COMPILER +- +-# save warnings/boilerplate of simple test code +-_LT_COMPILER_BOILERPLATE +-_LT_LINKER_BOILERPLATE +- +-# Allow CC to be a program name with arguments. +-lt_save_CC="$CC" +-lt_save_GCC=$GCC +-GCC= +-CC=${RC-"windres"} +-compiler=$CC +-_LT_TAGVAR(compiler, $1)=$CC +-_LT_CC_BASENAME([$compiler]) +-_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)=yes +- +-if test -n "$compiler"; then +- : +- _LT_CONFIG($1) +-fi +- +-GCC=$lt_save_GCC +-AC_LANG_RESTORE +-CC="$lt_save_CC" +-])# _LT_LANG_RC_CONFIG +- +- +-# LT_PROG_GCJ +-# ----------- +-AC_DEFUN([LT_PROG_GCJ], +-[m4_ifdef([AC_PROG_GCJ], [AC_PROG_GCJ], +- [m4_ifdef([A][M_PROG_GCJ], [A][M_PROG_GCJ], +- [AC_CHECK_TOOL(GCJ, gcj,) +- test "x${GCJFLAGS+set}" = xset || GCJFLAGS="-g -O2" +- AC_SUBST(GCJFLAGS)])])[]dnl +-]) +- +-# Old name: +-AU_ALIAS([LT_AC_PROG_GCJ], [LT_PROG_GCJ]) +-dnl aclocal-1.4 backwards compatibility: +-dnl AC_DEFUN([LT_AC_PROG_GCJ], []) +- +- +-# LT_PROG_RC +-# ---------- +-AC_DEFUN([LT_PROG_RC], +-[AC_CHECK_TOOL(RC, windres,) +-]) +- +-# Old name: +-AU_ALIAS([LT_AC_PROG_RC], [LT_PROG_RC]) +-dnl aclocal-1.4 backwards compatibility: +-dnl AC_DEFUN([LT_AC_PROG_RC], []) +- +- +-# _LT_DECL_EGREP +-# -------------- +-# If we don't have a new enough Autoconf to choose the best grep +-# available, choose the one first in the user's PATH. +-m4_defun([_LT_DECL_EGREP], +-[AC_REQUIRE([AC_PROG_EGREP])dnl +-AC_REQUIRE([AC_PROG_FGREP])dnl +-test -z "$GREP" && GREP=grep +-_LT_DECL([], [GREP], [1], [A grep program that handles long lines]) +-_LT_DECL([], [EGREP], [1], [An ERE matcher]) +-_LT_DECL([], [FGREP], [1], [A literal string matcher]) +-dnl Non-bleeding-edge autoconf doesn't subst GREP, so do it here too +-AC_SUBST([GREP]) +-]) +- +- +-# _LT_DECL_OBJDUMP +-# -------------- +-# If we don't have a new enough Autoconf to choose the best objdump +-# available, choose the one first in the user's PATH. +-m4_defun([_LT_DECL_OBJDUMP], +-[AC_CHECK_TOOL(OBJDUMP, objdump, false) +-test -z "$OBJDUMP" && OBJDUMP=objdump +-_LT_DECL([], [OBJDUMP], [1], [An object symbol dumper]) +-AC_SUBST([OBJDUMP]) +-]) +- +- +-# _LT_DECL_SED +-# ------------ +-# Check for a fully-functional sed program, that truncates +-# as few characters as possible. Prefer GNU sed if found. +-m4_defun([_LT_DECL_SED], +-[AC_PROG_SED +-test -z "$SED" && SED=sed +-Xsed="$SED -e 1s/^X//" +-_LT_DECL([], [SED], [1], [A sed program that does not truncate output]) +-_LT_DECL([], [Xsed], ["\$SED -e 1s/^X//"], +- [Sed that helps us avoid accidentally triggering echo(1) options like -n]) +-])# _LT_DECL_SED +- +-m4_ifndef([AC_PROG_SED], [ +-############################################################ +-# NOTE: This macro has been submitted for inclusion into # +-# GNU Autoconf as AC_PROG_SED. When it is available in # +-# a released version of Autoconf we should remove this # +-# macro and use it instead. # +-############################################################ +- +-m4_defun([AC_PROG_SED], +-[AC_MSG_CHECKING([for a sed that does not truncate output]) +-AC_CACHE_VAL(lt_cv_path_SED, +-[# Loop through the user's path and test for sed and gsed. +-# Then use that list of sed's as ones to test for truncation. +-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR +-for as_dir in $PATH +-do +- IFS=$as_save_IFS +- test -z "$as_dir" && as_dir=. +- for lt_ac_prog in sed gsed; do +- for ac_exec_ext in '' $ac_executable_extensions; do +- if $as_executable_p "$as_dir/$lt_ac_prog$ac_exec_ext"; then +- lt_ac_sed_list="$lt_ac_sed_list $as_dir/$lt_ac_prog$ac_exec_ext" +- fi +- done +- done +-done +-IFS=$as_save_IFS +-lt_ac_max=0 +-lt_ac_count=0 +-# Add /usr/xpg4/bin/sed as it is typically found on Solaris +-# along with /bin/sed that truncates output. +-for lt_ac_sed in $lt_ac_sed_list /usr/xpg4/bin/sed; do +- test ! -f $lt_ac_sed && continue +- cat /dev/null > conftest.in +- lt_ac_count=0 +- echo $ECHO_N "0123456789$ECHO_C" >conftest.in +- # Check for GNU sed and select it if it is found. +- if "$lt_ac_sed" --version 2>&1 < /dev/null | grep 'GNU' > /dev/null; then +- lt_cv_path_SED=$lt_ac_sed +- break +- fi +- while true; do +- cat conftest.in conftest.in >conftest.tmp +- mv conftest.tmp conftest.in +- cp conftest.in conftest.nl +- echo >>conftest.nl +- $lt_ac_sed -e 's/a$//' < conftest.nl >conftest.out || break +- cmp -s conftest.out conftest.nl || break +- # 10000 chars as input seems more than enough +- test $lt_ac_count -gt 10 && break +- lt_ac_count=`expr $lt_ac_count + 1` +- if test $lt_ac_count -gt $lt_ac_max; then +- lt_ac_max=$lt_ac_count +- lt_cv_path_SED=$lt_ac_sed +- fi +- done +-done +-]) +-SED=$lt_cv_path_SED +-AC_SUBST([SED]) +-AC_MSG_RESULT([$SED]) +-])#AC_PROG_SED +-])#m4_ifndef +- +-# Old name: +-AU_ALIAS([LT_AC_PROG_SED], [AC_PROG_SED]) +-dnl aclocal-1.4 backwards compatibility: +-dnl AC_DEFUN([LT_AC_PROG_SED], []) +- +- +-# _LT_CHECK_SHELL_FEATURES +-# ------------------------ +-# Find out whether the shell is Bourne or XSI compatible, +-# or has some other useful features. +-m4_defun([_LT_CHECK_SHELL_FEATURES], +-[AC_MSG_CHECKING([whether the shell understands some XSI constructs]) +-# Try some XSI features +-xsi_shell=no +-( _lt_dummy="a/b/c" +- test "${_lt_dummy##*/},${_lt_dummy%/*},"${_lt_dummy%"$_lt_dummy"}, \ +- = c,a/b,, \ +- && eval 'test $(( 1 + 1 )) -eq 2 \ +- && test "${#_lt_dummy}" -eq 5' ) >/dev/null 2>&1 \ +- && xsi_shell=yes +-AC_MSG_RESULT([$xsi_shell]) +-_LT_CONFIG_LIBTOOL_INIT([xsi_shell='$xsi_shell']) +- +-AC_MSG_CHECKING([whether the shell understands "+="]) +-lt_shell_append=no +-( foo=bar; set foo baz; eval "$[1]+=\$[2]" && test "$foo" = barbaz ) \ +- >/dev/null 2>&1 \ +- && lt_shell_append=yes +-AC_MSG_RESULT([$lt_shell_append]) +-_LT_CONFIG_LIBTOOL_INIT([lt_shell_append='$lt_shell_append']) +- +-if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then +- lt_unset=unset +-else +- lt_unset=false +-fi +-_LT_DECL([], [lt_unset], [0], [whether the shell understands "unset"])dnl +- +-# test EBCDIC or ASCII +-case `echo X|tr X '\101'` in +- A) # ASCII based system +- # \n is not interpreted correctly by Solaris 8 /usr/ucb/tr +- lt_SP2NL='tr \040 \012' +- lt_NL2SP='tr \015\012 \040\040' +- ;; +- *) # EBCDIC based system +- lt_SP2NL='tr \100 \n' +- lt_NL2SP='tr \r\n \100\100' +- ;; +-esac +-_LT_DECL([SP2NL], [lt_SP2NL], [1], [turn spaces into newlines])dnl +-_LT_DECL([NL2SP], [lt_NL2SP], [1], [turn newlines into spaces])dnl +-])# _LT_CHECK_SHELL_FEATURES +- +- +-# _LT_PROG_XSI_SHELLFNS +-# --------------------- +-# Bourne and XSI compatible variants of some useful shell functions. +-m4_defun([_LT_PROG_XSI_SHELLFNS], +-[case $xsi_shell in +- yes) +- cat << \_LT_EOF >> "$cfgfile" +- +-# func_dirname file append nondir_replacement +-# Compute the dirname of FILE. If nonempty, add APPEND to the result, +-# otherwise set result to NONDIR_REPLACEMENT. +-func_dirname () +-{ +- case ${1} in +- */*) func_dirname_result="${1%/*}${2}" ;; +- * ) func_dirname_result="${3}" ;; +- esac +-} +- +-# func_basename file +-func_basename () +-{ +- func_basename_result="${1##*/}" +-} +- +-# func_dirname_and_basename file append nondir_replacement +-# perform func_basename and func_dirname in a single function +-# call: +-# dirname: Compute the dirname of FILE. If nonempty, +-# add APPEND to the result, otherwise set result +-# to NONDIR_REPLACEMENT. +-# value returned in "$func_dirname_result" +-# basename: Compute filename of FILE. +-# value retuned in "$func_basename_result" +-# Implementation must be kept synchronized with func_dirname +-# and func_basename. For efficiency, we do not delegate to +-# those functions but instead duplicate the functionality here. +-func_dirname_and_basename () +-{ +- case ${1} in +- */*) func_dirname_result="${1%/*}${2}" ;; +- * ) func_dirname_result="${3}" ;; +- esac +- func_basename_result="${1##*/}" +-} +- +-# func_stripname prefix suffix name +-# strip PREFIX and SUFFIX off of NAME. +-# PREFIX and SUFFIX must not contain globbing or regex special +-# characters, hashes, percent signs, but SUFFIX may contain a leading +-# dot (in which case that matches only a dot). +-func_stripname () +-{ +- # pdksh 5.2.14 does not do ${X%$Y} correctly if both X and Y are +- # positional parameters, so assign one to ordinary parameter first. +- func_stripname_result=${3} +- func_stripname_result=${func_stripname_result#"${1}"} +- func_stripname_result=${func_stripname_result%"${2}"} +-} +- +-# func_opt_split +-func_opt_split () +-{ +- func_opt_split_opt=${1%%=*} +- func_opt_split_arg=${1#*=} +-} +- +-# func_lo2o object +-func_lo2o () +-{ +- case ${1} in +- *.lo) func_lo2o_result=${1%.lo}.${objext} ;; +- *) func_lo2o_result=${1} ;; +- esac +-} +- +-# func_xform libobj-or-source +-func_xform () +-{ +- func_xform_result=${1%.*}.lo +-} +- +-# func_arith arithmetic-term... +-func_arith () +-{ +- func_arith_result=$(( $[*] )) +-} +- +-# func_len string +-# STRING may not start with a hyphen. +-func_len () +-{ +- func_len_result=${#1} +-} +- +-_LT_EOF +- ;; +- *) # Bourne compatible functions. +- cat << \_LT_EOF >> "$cfgfile" +- +-# func_dirname file append nondir_replacement +-# Compute the dirname of FILE. If nonempty, add APPEND to the result, +-# otherwise set result to NONDIR_REPLACEMENT. +-func_dirname () +-{ +- # Extract subdirectory from the argument. +- func_dirname_result=`$ECHO "X${1}" | $Xsed -e "$dirname"` +- if test "X$func_dirname_result" = "X${1}"; then +- func_dirname_result="${3}" +- else +- func_dirname_result="$func_dirname_result${2}" +- fi +-} +- +-# func_basename file +-func_basename () +-{ +- func_basename_result=`$ECHO "X${1}" | $Xsed -e "$basename"` +-} +- +-dnl func_dirname_and_basename +-dnl A portable version of this function is already defined in general.m4sh +-dnl so there is no need for it here. +- +-# func_stripname prefix suffix name +-# strip PREFIX and SUFFIX off of NAME. +-# PREFIX and SUFFIX must not contain globbing or regex special +-# characters, hashes, percent signs, but SUFFIX may contain a leading +-# dot (in which case that matches only a dot). +-# func_strip_suffix prefix name +-func_stripname () +-{ +- case ${2} in +- .*) func_stripname_result=`$ECHO "X${3}" \ +- | $Xsed -e "s%^${1}%%" -e "s%\\\\${2}\$%%"`;; +- *) func_stripname_result=`$ECHO "X${3}" \ +- | $Xsed -e "s%^${1}%%" -e "s%${2}\$%%"`;; +- esac +-} +- +-# sed scripts: +-my_sed_long_opt='1s/^\(-[[^=]]*\)=.*/\1/;q' +-my_sed_long_arg='1s/^-[[^=]]*=//' +- +-# func_opt_split +-func_opt_split () +-{ +- func_opt_split_opt=`$ECHO "X${1}" | $Xsed -e "$my_sed_long_opt"` +- func_opt_split_arg=`$ECHO "X${1}" | $Xsed -e "$my_sed_long_arg"` +-} +- +-# func_lo2o object +-func_lo2o () +-{ +- func_lo2o_result=`$ECHO "X${1}" | $Xsed -e "$lo2o"` +-} +- +-# func_xform libobj-or-source +-func_xform () +-{ +- func_xform_result=`$ECHO "X${1}" | $Xsed -e 's/\.[[^.]]*$/.lo/'` +-} +- +-# func_arith arithmetic-term... +-func_arith () +-{ +- func_arith_result=`expr "$[@]"` +-} +- +-# func_len string +-# STRING may not start with a hyphen. +-func_len () +-{ +- func_len_result=`expr "$[1]" : ".*" 2>/dev/null || echo $max_cmd_len` +-} +- +-_LT_EOF +-esac +- +-case $lt_shell_append in +- yes) +- cat << \_LT_EOF >> "$cfgfile" +- +-# func_append var value +-# Append VALUE to the end of shell variable VAR. +-func_append () +-{ +- eval "$[1]+=\$[2]" +-} +-_LT_EOF +- ;; +- *) +- cat << \_LT_EOF >> "$cfgfile" +- +-# func_append var value +-# Append VALUE to the end of shell variable VAR. +-func_append () +-{ +- eval "$[1]=\$$[1]\$[2]" +-} +- +-_LT_EOF +- ;; +- esac +-]) +Index: libiconv-1.13.1/m4/ltoptions.m4 +=================================================================== +--- libiconv-1.13.1.orig/m4/ltoptions.m4 ++++ /dev/null +@@ -1,368 +0,0 @@ +-# Helper functions for option handling. -*- Autoconf -*- +-# +-# Copyright (C) 2004, 2005, 2007, 2008 Free Software Foundation, Inc. +-# Written by Gary V. Vaughan, 2004 +-# +-# This file is free software; the Free Software Foundation gives +-# unlimited permission to copy and/or distribute it, with or without +-# modifications, as long as this notice is preserved. +- +-# serial 6 ltoptions.m4 +- +-# This is to help aclocal find these macros, as it can't see m4_define. +-AC_DEFUN([LTOPTIONS_VERSION], [m4_if([1])]) +- +- +-# _LT_MANGLE_OPTION(MACRO-NAME, OPTION-NAME) +-# ------------------------------------------ +-m4_define([_LT_MANGLE_OPTION], +-[[_LT_OPTION_]m4_bpatsubst($1__$2, [[^a-zA-Z0-9_]], [_])]) +- +- +-# _LT_SET_OPTION(MACRO-NAME, OPTION-NAME) +-# --------------------------------------- +-# Set option OPTION-NAME for macro MACRO-NAME, and if there is a +-# matching handler defined, dispatch to it. Other OPTION-NAMEs are +-# saved as a flag. +-m4_define([_LT_SET_OPTION], +-[m4_define(_LT_MANGLE_OPTION([$1], [$2]))dnl +-m4_ifdef(_LT_MANGLE_DEFUN([$1], [$2]), +- _LT_MANGLE_DEFUN([$1], [$2]), +- [m4_warning([Unknown $1 option `$2'])])[]dnl +-]) +- +- +-# _LT_IF_OPTION(MACRO-NAME, OPTION-NAME, IF-SET, [IF-NOT-SET]) +-# ------------------------------------------------------------ +-# Execute IF-SET if OPTION is set, IF-NOT-SET otherwise. +-m4_define([_LT_IF_OPTION], +-[m4_ifdef(_LT_MANGLE_OPTION([$1], [$2]), [$3], [$4])]) +- +- +-# _LT_UNLESS_OPTIONS(MACRO-NAME, OPTION-LIST, IF-NOT-SET) +-# ------------------------------------------------------- +-# Execute IF-NOT-SET unless all options in OPTION-LIST for MACRO-NAME +-# are set. +-m4_define([_LT_UNLESS_OPTIONS], +-[m4_foreach([_LT_Option], m4_split(m4_normalize([$2])), +- [m4_ifdef(_LT_MANGLE_OPTION([$1], _LT_Option), +- [m4_define([$0_found])])])[]dnl +-m4_ifdef([$0_found], [m4_undefine([$0_found])], [$3 +-])[]dnl +-]) +- +- +-# _LT_SET_OPTIONS(MACRO-NAME, OPTION-LIST) +-# ---------------------------------------- +-# OPTION-LIST is a space-separated list of Libtool options associated +-# with MACRO-NAME. If any OPTION has a matching handler declared with +-# LT_OPTION_DEFINE, dispatch to that macro; otherwise complain about +-# the unknown option and exit. +-m4_defun([_LT_SET_OPTIONS], +-[# Set options +-m4_foreach([_LT_Option], m4_split(m4_normalize([$2])), +- [_LT_SET_OPTION([$1], _LT_Option)]) +- +-m4_if([$1],[LT_INIT],[ +- dnl +- dnl Simply set some default values (i.e off) if boolean options were not +- dnl specified: +- _LT_UNLESS_OPTIONS([LT_INIT], [dlopen], [enable_dlopen=no +- ]) +- _LT_UNLESS_OPTIONS([LT_INIT], [win32-dll], [enable_win32_dll=no +- ]) +- dnl +- dnl If no reference was made to various pairs of opposing options, then +- dnl we run the default mode handler for the pair. For example, if neither +- dnl `shared' nor `disable-shared' was passed, we enable building of shared +- dnl archives by default: +- _LT_UNLESS_OPTIONS([LT_INIT], [shared disable-shared], [_LT_ENABLE_SHARED]) +- _LT_UNLESS_OPTIONS([LT_INIT], [static disable-static], [_LT_ENABLE_STATIC]) +- _LT_UNLESS_OPTIONS([LT_INIT], [pic-only no-pic], [_LT_WITH_PIC]) +- _LT_UNLESS_OPTIONS([LT_INIT], [fast-install disable-fast-install], +- [_LT_ENABLE_FAST_INSTALL]) +- ]) +-])# _LT_SET_OPTIONS +- +- +-## --------------------------------- ## +-## Macros to handle LT_INIT options. ## +-## --------------------------------- ## +- +-# _LT_MANGLE_DEFUN(MACRO-NAME, OPTION-NAME) +-# ----------------------------------------- +-m4_define([_LT_MANGLE_DEFUN], +-[[_LT_OPTION_DEFUN_]m4_bpatsubst(m4_toupper([$1__$2]), [[^A-Z0-9_]], [_])]) +- +- +-# LT_OPTION_DEFINE(MACRO-NAME, OPTION-NAME, CODE) +-# ----------------------------------------------- +-m4_define([LT_OPTION_DEFINE], +-[m4_define(_LT_MANGLE_DEFUN([$1], [$2]), [$3])[]dnl +-])# LT_OPTION_DEFINE +- +- +-# dlopen +-# ------ +-LT_OPTION_DEFINE([LT_INIT], [dlopen], [enable_dlopen=yes +-]) +- +-AU_DEFUN([AC_LIBTOOL_DLOPEN], +-[_LT_SET_OPTION([LT_INIT], [dlopen]) +-AC_DIAGNOSE([obsolete], +-[$0: Remove this warning and the call to _LT_SET_OPTION when you +-put the `dlopen' option into LT_INIT's first parameter.]) +-]) +- +-dnl aclocal-1.4 backwards compatibility: +-dnl AC_DEFUN([AC_LIBTOOL_DLOPEN], []) +- +- +-# win32-dll +-# --------- +-# Declare package support for building win32 dll's. +-LT_OPTION_DEFINE([LT_INIT], [win32-dll], +-[enable_win32_dll=yes +- +-case $host in +-*-*-cygwin* | *-*-mingw* | *-*-pw32* | *-cegcc*) +- AC_CHECK_TOOL(AS, as, false) +- AC_CHECK_TOOL(DLLTOOL, dlltool, false) +- AC_CHECK_TOOL(OBJDUMP, objdump, false) +- ;; +-esac +- +-test -z "$AS" && AS=as +-_LT_DECL([], [AS], [0], [Assembler program])dnl +- +-test -z "$DLLTOOL" && DLLTOOL=dlltool +-_LT_DECL([], [DLLTOOL], [0], [DLL creation program])dnl +- +-test -z "$OBJDUMP" && OBJDUMP=objdump +-_LT_DECL([], [OBJDUMP], [0], [Object dumper program])dnl +-])# win32-dll +- +-AU_DEFUN([AC_LIBTOOL_WIN32_DLL], +-[AC_REQUIRE([AC_CANONICAL_HOST])dnl +-_LT_SET_OPTION([LT_INIT], [win32-dll]) +-AC_DIAGNOSE([obsolete], +-[$0: Remove this warning and the call to _LT_SET_OPTION when you +-put the `win32-dll' option into LT_INIT's first parameter.]) +-]) +- +-dnl aclocal-1.4 backwards compatibility: +-dnl AC_DEFUN([AC_LIBTOOL_WIN32_DLL], []) +- +- +-# _LT_ENABLE_SHARED([DEFAULT]) +-# ---------------------------- +-# implement the --enable-shared flag, and supports the `shared' and +-# `disable-shared' LT_INIT options. +-# DEFAULT is either `yes' or `no'. If omitted, it defaults to `yes'. +-m4_define([_LT_ENABLE_SHARED], +-[m4_define([_LT_ENABLE_SHARED_DEFAULT], [m4_if($1, no, no, yes)])dnl +-AC_ARG_ENABLE([shared], +- [AS_HELP_STRING([--enable-shared@<:@=PKGS@:>@], +- [build shared libraries @<:@default=]_LT_ENABLE_SHARED_DEFAULT[@:>@])], +- [p=${PACKAGE-default} +- case $enableval in +- yes) enable_shared=yes ;; +- no) enable_shared=no ;; +- *) +- enable_shared=no +- # Look at the argument we got. We use all the common list separators. +- lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," +- for pkg in $enableval; do +- IFS="$lt_save_ifs" +- if test "X$pkg" = "X$p"; then +- enable_shared=yes +- fi +- done +- IFS="$lt_save_ifs" +- ;; +- esac], +- [enable_shared=]_LT_ENABLE_SHARED_DEFAULT) +- +- _LT_DECL([build_libtool_libs], [enable_shared], [0], +- [Whether or not to build shared libraries]) +-])# _LT_ENABLE_SHARED +- +-LT_OPTION_DEFINE([LT_INIT], [shared], [_LT_ENABLE_SHARED([yes])]) +-LT_OPTION_DEFINE([LT_INIT], [disable-shared], [_LT_ENABLE_SHARED([no])]) +- +-# Old names: +-AC_DEFUN([AC_ENABLE_SHARED], +-[_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[shared]) +-]) +- +-AC_DEFUN([AC_DISABLE_SHARED], +-[_LT_SET_OPTION([LT_INIT], [disable-shared]) +-]) +- +-AU_DEFUN([AM_ENABLE_SHARED], [AC_ENABLE_SHARED($@)]) +-AU_DEFUN([AM_DISABLE_SHARED], [AC_DISABLE_SHARED($@)]) +- +-dnl aclocal-1.4 backwards compatibility: +-dnl AC_DEFUN([AM_ENABLE_SHARED], []) +-dnl AC_DEFUN([AM_DISABLE_SHARED], []) +- +- +- +-# _LT_ENABLE_STATIC([DEFAULT]) +-# ---------------------------- +-# implement the --enable-static flag, and support the `static' and +-# `disable-static' LT_INIT options. +-# DEFAULT is either `yes' or `no'. If omitted, it defaults to `yes'. +-m4_define([_LT_ENABLE_STATIC], +-[m4_define([_LT_ENABLE_STATIC_DEFAULT], [m4_if($1, no, no, yes)])dnl +-AC_ARG_ENABLE([static], +- [AS_HELP_STRING([--enable-static@<:@=PKGS@:>@], +- [build static libraries @<:@default=]_LT_ENABLE_STATIC_DEFAULT[@:>@])], +- [p=${PACKAGE-default} +- case $enableval in +- yes) enable_static=yes ;; +- no) enable_static=no ;; +- *) +- enable_static=no +- # Look at the argument we got. We use all the common list separators. +- lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," +- for pkg in $enableval; do +- IFS="$lt_save_ifs" +- if test "X$pkg" = "X$p"; then +- enable_static=yes +- fi +- done +- IFS="$lt_save_ifs" +- ;; +- esac], +- [enable_static=]_LT_ENABLE_STATIC_DEFAULT) +- +- _LT_DECL([build_old_libs], [enable_static], [0], +- [Whether or not to build static libraries]) +-])# _LT_ENABLE_STATIC +- +-LT_OPTION_DEFINE([LT_INIT], [static], [_LT_ENABLE_STATIC([yes])]) +-LT_OPTION_DEFINE([LT_INIT], [disable-static], [_LT_ENABLE_STATIC([no])]) +- +-# Old names: +-AC_DEFUN([AC_ENABLE_STATIC], +-[_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[static]) +-]) +- +-AC_DEFUN([AC_DISABLE_STATIC], +-[_LT_SET_OPTION([LT_INIT], [disable-static]) +-]) +- +-AU_DEFUN([AM_ENABLE_STATIC], [AC_ENABLE_STATIC($@)]) +-AU_DEFUN([AM_DISABLE_STATIC], [AC_DISABLE_STATIC($@)]) +- +-dnl aclocal-1.4 backwards compatibility: +-dnl AC_DEFUN([AM_ENABLE_STATIC], []) +-dnl AC_DEFUN([AM_DISABLE_STATIC], []) +- +- +- +-# _LT_ENABLE_FAST_INSTALL([DEFAULT]) +-# ---------------------------------- +-# implement the --enable-fast-install flag, and support the `fast-install' +-# and `disable-fast-install' LT_INIT options. +-# DEFAULT is either `yes' or `no'. If omitted, it defaults to `yes'. +-m4_define([_LT_ENABLE_FAST_INSTALL], +-[m4_define([_LT_ENABLE_FAST_INSTALL_DEFAULT], [m4_if($1, no, no, yes)])dnl +-AC_ARG_ENABLE([fast-install], +- [AS_HELP_STRING([--enable-fast-install@<:@=PKGS@:>@], +- [optimize for fast installation @<:@default=]_LT_ENABLE_FAST_INSTALL_DEFAULT[@:>@])], +- [p=${PACKAGE-default} +- case $enableval in +- yes) enable_fast_install=yes ;; +- no) enable_fast_install=no ;; +- *) +- enable_fast_install=no +- # Look at the argument we got. We use all the common list separators. +- lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR," +- for pkg in $enableval; do +- IFS="$lt_save_ifs" +- if test "X$pkg" = "X$p"; then +- enable_fast_install=yes +- fi +- done +- IFS="$lt_save_ifs" +- ;; +- esac], +- [enable_fast_install=]_LT_ENABLE_FAST_INSTALL_DEFAULT) +- +-_LT_DECL([fast_install], [enable_fast_install], [0], +- [Whether or not to optimize for fast installation])dnl +-])# _LT_ENABLE_FAST_INSTALL +- +-LT_OPTION_DEFINE([LT_INIT], [fast-install], [_LT_ENABLE_FAST_INSTALL([yes])]) +-LT_OPTION_DEFINE([LT_INIT], [disable-fast-install], [_LT_ENABLE_FAST_INSTALL([no])]) +- +-# Old names: +-AU_DEFUN([AC_ENABLE_FAST_INSTALL], +-[_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[fast-install]) +-AC_DIAGNOSE([obsolete], +-[$0: Remove this warning and the call to _LT_SET_OPTION when you put +-the `fast-install' option into LT_INIT's first parameter.]) +-]) +- +-AU_DEFUN([AC_DISABLE_FAST_INSTALL], +-[_LT_SET_OPTION([LT_INIT], [disable-fast-install]) +-AC_DIAGNOSE([obsolete], +-[$0: Remove this warning and the call to _LT_SET_OPTION when you put +-the `disable-fast-install' option into LT_INIT's first parameter.]) +-]) +- +-dnl aclocal-1.4 backwards compatibility: +-dnl AC_DEFUN([AC_ENABLE_FAST_INSTALL], []) +-dnl AC_DEFUN([AM_DISABLE_FAST_INSTALL], []) +- +- +-# _LT_WITH_PIC([MODE]) +-# -------------------- +-# implement the --with-pic flag, and support the `pic-only' and `no-pic' +-# LT_INIT options. +-# MODE is either `yes' or `no'. If omitted, it defaults to `both'. +-m4_define([_LT_WITH_PIC], +-[AC_ARG_WITH([pic], +- [AS_HELP_STRING([--with-pic], +- [try to use only PIC/non-PIC objects @<:@default=use both@:>@])], +- [pic_mode="$withval"], +- [pic_mode=default]) +- +-test -z "$pic_mode" && pic_mode=m4_default([$1], [default]) +- +-_LT_DECL([], [pic_mode], [0], [What type of objects to build])dnl +-])# _LT_WITH_PIC +- +-LT_OPTION_DEFINE([LT_INIT], [pic-only], [_LT_WITH_PIC([yes])]) +-LT_OPTION_DEFINE([LT_INIT], [no-pic], [_LT_WITH_PIC([no])]) +- +-# Old name: +-AU_DEFUN([AC_LIBTOOL_PICMODE], +-[_LT_SET_OPTION([LT_INIT], [pic-only]) +-AC_DIAGNOSE([obsolete], +-[$0: Remove this warning and the call to _LT_SET_OPTION when you +-put the `pic-only' option into LT_INIT's first parameter.]) +-]) +- +-dnl aclocal-1.4 backwards compatibility: +-dnl AC_DEFUN([AC_LIBTOOL_PICMODE], []) +- +-## ----------------- ## +-## LTDL_INIT Options ## +-## ----------------- ## +- +-m4_define([_LTDL_MODE], []) +-LT_OPTION_DEFINE([LTDL_INIT], [nonrecursive], +- [m4_define([_LTDL_MODE], [nonrecursive])]) +-LT_OPTION_DEFINE([LTDL_INIT], [recursive], +- [m4_define([_LTDL_MODE], [recursive])]) +-LT_OPTION_DEFINE([LTDL_INIT], [subproject], +- [m4_define([_LTDL_MODE], [subproject])]) +- +-m4_define([_LTDL_TYPE], []) +-LT_OPTION_DEFINE([LTDL_INIT], [installable], +- [m4_define([_LTDL_TYPE], [installable])]) +-LT_OPTION_DEFINE([LTDL_INIT], [convenience], +- [m4_define([_LTDL_TYPE], [convenience])]) +Index: libiconv-1.13.1/m4/ltsugar.m4 +=================================================================== +--- libiconv-1.13.1.orig/m4/ltsugar.m4 ++++ /dev/null +@@ -1,123 +0,0 @@ +-# ltsugar.m4 -- libtool m4 base layer. -*-Autoconf-*- +-# +-# Copyright (C) 2004, 2005, 2007, 2008 Free Software Foundation, Inc. +-# Written by Gary V. Vaughan, 2004 +-# +-# This file is free software; the Free Software Foundation gives +-# unlimited permission to copy and/or distribute it, with or without +-# modifications, as long as this notice is preserved. +- +-# serial 6 ltsugar.m4 +- +-# This is to help aclocal find these macros, as it can't see m4_define. +-AC_DEFUN([LTSUGAR_VERSION], [m4_if([0.1])]) +- +- +-# lt_join(SEP, ARG1, [ARG2...]) +-# ----------------------------- +-# Produce ARG1SEPARG2...SEPARGn, omitting [] arguments and their +-# associated separator. +-# Needed until we can rely on m4_join from Autoconf 2.62, since all earlier +-# versions in m4sugar had bugs. +-m4_define([lt_join], +-[m4_if([$#], [1], [], +- [$#], [2], [[$2]], +- [m4_if([$2], [], [], [[$2]_])$0([$1], m4_shift(m4_shift($@)))])]) +-m4_define([_lt_join], +-[m4_if([$#$2], [2], [], +- [m4_if([$2], [], [], [[$1$2]])$0([$1], m4_shift(m4_shift($@)))])]) +- +- +-# lt_car(LIST) +-# lt_cdr(LIST) +-# ------------ +-# Manipulate m4 lists. +-# These macros are necessary as long as will still need to support +-# Autoconf-2.59 which quotes differently. +-m4_define([lt_car], [[$1]]) +-m4_define([lt_cdr], +-[m4_if([$#], 0, [m4_fatal([$0: cannot be called without arguments])], +- [$#], 1, [], +- [m4_dquote(m4_shift($@))])]) +-m4_define([lt_unquote], $1) +- +- +-# lt_append(MACRO-NAME, STRING, [SEPARATOR]) +-# ------------------------------------------ +-# Redefine MACRO-NAME to hold its former content plus `SEPARATOR'`STRING'. +-# Note that neither SEPARATOR nor STRING are expanded; they are appended +-# to MACRO-NAME as is (leaving the expansion for when MACRO-NAME is invoked). +-# No SEPARATOR is output if MACRO-NAME was previously undefined (different +-# than defined and empty). +-# +-# This macro is needed until we can rely on Autoconf 2.62, since earlier +-# versions of m4sugar mistakenly expanded SEPARATOR but not STRING. +-m4_define([lt_append], +-[m4_define([$1], +- m4_ifdef([$1], [m4_defn([$1])[$3]])[$2])]) +- +- +- +-# lt_combine(SEP, PREFIX-LIST, INFIX, SUFFIX1, [SUFFIX2...]) +-# ---------------------------------------------------------- +-# Produce a SEP delimited list of all paired combinations of elements of +-# PREFIX-LIST with SUFFIX1 through SUFFIXn. Each element of the list +-# has the form PREFIXmINFIXSUFFIXn. +-# Needed until we can rely on m4_combine added in Autoconf 2.62. +-m4_define([lt_combine], +-[m4_if(m4_eval([$# > 3]), [1], +- [m4_pushdef([_Lt_sep], [m4_define([_Lt_sep], m4_defn([lt_car]))])]]dnl +-[[m4_foreach([_Lt_prefix], [$2], +- [m4_foreach([_Lt_suffix], +- ]m4_dquote(m4_dquote(m4_shift(m4_shift(m4_shift($@)))))[, +- [_Lt_sep([$1])[]m4_defn([_Lt_prefix])[$3]m4_defn([_Lt_suffix])])])])]) +- +- +-# lt_if_append_uniq(MACRO-NAME, VARNAME, [SEPARATOR], [UNIQ], [NOT-UNIQ]) +-# ----------------------------------------------------------------------- +-# Iff MACRO-NAME does not yet contain VARNAME, then append it (delimited +-# by SEPARATOR if supplied) and expand UNIQ, else NOT-UNIQ. +-m4_define([lt_if_append_uniq], +-[m4_ifdef([$1], +- [m4_if(m4_index([$3]m4_defn([$1])[$3], [$3$2$3]), [-1], +- [lt_append([$1], [$2], [$3])$4], +- [$5])], +- [lt_append([$1], [$2], [$3])$4])]) +- +- +-# lt_dict_add(DICT, KEY, VALUE) +-# ----------------------------- +-m4_define([lt_dict_add], +-[m4_define([$1($2)], [$3])]) +- +- +-# lt_dict_add_subkey(DICT, KEY, SUBKEY, VALUE) +-# -------------------------------------------- +-m4_define([lt_dict_add_subkey], +-[m4_define([$1($2:$3)], [$4])]) +- +- +-# lt_dict_fetch(DICT, KEY, [SUBKEY]) +-# ---------------------------------- +-m4_define([lt_dict_fetch], +-[m4_ifval([$3], +- m4_ifdef([$1($2:$3)], [m4_defn([$1($2:$3)])]), +- m4_ifdef([$1($2)], [m4_defn([$1($2)])]))]) +- +- +-# lt_if_dict_fetch(DICT, KEY, [SUBKEY], VALUE, IF-TRUE, [IF-FALSE]) +-# ----------------------------------------------------------------- +-m4_define([lt_if_dict_fetch], +-[m4_if(lt_dict_fetch([$1], [$2], [$3]), [$4], +- [$5], +- [$6])]) +- +- +-# lt_dict_filter(DICT, [SUBKEY], VALUE, [SEPARATOR], KEY, [...]) +-# -------------------------------------------------------------- +-m4_define([lt_dict_filter], +-[m4_if([$5], [], [], +- [lt_join(m4_quote(m4_default([$4], [[, ]])), +- lt_unquote(m4_split(m4_normalize(m4_foreach(_Lt_key, lt_car([m4_shiftn(4, $@)]), +- [lt_if_dict_fetch([$1], _Lt_key, [$2], [$3], [_Lt_key ])])))))])[]dnl +-]) +Index: libiconv-1.13.1/m4/ltversion.m4 +=================================================================== +--- libiconv-1.13.1.orig/m4/ltversion.m4 ++++ /dev/null +@@ -1,23 +0,0 @@ +-# ltversion.m4 -- version numbers -*- Autoconf -*- +-# +-# Copyright (C) 2004 Free Software Foundation, Inc. +-# Written by Scott James Remnant, 2004 +-# +-# This file is free software; the Free Software Foundation gives +-# unlimited permission to copy and/or distribute it, with or without +-# modifications, as long as this notice is preserved. +- +-# Generated from ltversion.in. +- +-# serial 3012 ltversion.m4 +-# This file is part of GNU Libtool +- +-m4_define([LT_PACKAGE_VERSION], [2.2.6]) +-m4_define([LT_PACKAGE_REVISION], [1.3012]) +- +-AC_DEFUN([LTVERSION_VERSION], +-[macro_version='2.2.6' +-macro_revision='1.3012' +-_LT_DECL(, macro_version, 0, [Which release of libtool.m4 was used?]) +-_LT_DECL(, macro_revision, 0) +-]) +Index: libiconv-1.13.1/m4/lt~obsolete.m4 +=================================================================== +--- libiconv-1.13.1.orig/m4/lt~obsolete.m4 ++++ /dev/null +@@ -1,92 +0,0 @@ +-# lt~obsolete.m4 -- aclocal satisfying obsolete definitions. -*-Autoconf-*- +-# +-# Copyright (C) 2004, 2005, 2007 Free Software Foundation, Inc. +-# Written by Scott James Remnant, 2004. +-# +-# This file is free software; the Free Software Foundation gives +-# unlimited permission to copy and/or distribute it, with or without +-# modifications, as long as this notice is preserved. +- +-# serial 4 lt~obsolete.m4 +- +-# These exist entirely to fool aclocal when bootstrapping libtool. +-# +-# In the past libtool.m4 has provided macros via AC_DEFUN (or AU_DEFUN) +-# which have later been changed to m4_define as they aren't part of the +-# exported API, or moved to Autoconf or Automake where they belong. +-# +-# The trouble is, aclocal is a bit thick. It'll see the old AC_DEFUN +-# in /usr/share/aclocal/libtool.m4 and remember it, then when it sees us +-# using a macro with the same name in our local m4/libtool.m4 it'll +-# pull the old libtool.m4 in (it doesn't see our shiny new m4_define +-# and doesn't know about Autoconf macros at all.) +-# +-# So we provide this file, which has a silly filename so it's always +-# included after everything else. This provides aclocal with the +-# AC_DEFUNs it wants, but when m4 processes it, it doesn't do anything +-# because those macros already exist, or will be overwritten later. +-# We use AC_DEFUN over AU_DEFUN for compatibility with aclocal-1.6. +-# +-# Anytime we withdraw an AC_DEFUN or AU_DEFUN, remember to add it here. +-# Yes, that means every name once taken will need to remain here until +-# we give up compatibility with versions before 1.7, at which point +-# we need to keep only those names which we still refer to. +- +-# This is to help aclocal find these macros, as it can't see m4_define. +-AC_DEFUN([LTOBSOLETE_VERSION], [m4_if([1])]) +- +-m4_ifndef([AC_LIBTOOL_LINKER_OPTION], [AC_DEFUN([AC_LIBTOOL_LINKER_OPTION])]) +-m4_ifndef([AC_PROG_EGREP], [AC_DEFUN([AC_PROG_EGREP])]) +-m4_ifndef([_LT_AC_PROG_ECHO_BACKSLASH], [AC_DEFUN([_LT_AC_PROG_ECHO_BACKSLASH])]) +-m4_ifndef([_LT_AC_SHELL_INIT], [AC_DEFUN([_LT_AC_SHELL_INIT])]) +-m4_ifndef([_LT_AC_SYS_LIBPATH_AIX], [AC_DEFUN([_LT_AC_SYS_LIBPATH_AIX])]) +-m4_ifndef([_LT_PROG_LTMAIN], [AC_DEFUN([_LT_PROG_LTMAIN])]) +-m4_ifndef([_LT_AC_TAGVAR], [AC_DEFUN([_LT_AC_TAGVAR])]) +-m4_ifndef([AC_LTDL_ENABLE_INSTALL], [AC_DEFUN([AC_LTDL_ENABLE_INSTALL])]) +-m4_ifndef([AC_LTDL_PREOPEN], [AC_DEFUN([AC_LTDL_PREOPEN])]) +-m4_ifndef([_LT_AC_SYS_COMPILER], [AC_DEFUN([_LT_AC_SYS_COMPILER])]) +-m4_ifndef([_LT_AC_LOCK], [AC_DEFUN([_LT_AC_LOCK])]) +-m4_ifndef([AC_LIBTOOL_SYS_OLD_ARCHIVE], [AC_DEFUN([AC_LIBTOOL_SYS_OLD_ARCHIVE])]) +-m4_ifndef([_LT_AC_TRY_DLOPEN_SELF], [AC_DEFUN([_LT_AC_TRY_DLOPEN_SELF])]) +-m4_ifndef([AC_LIBTOOL_PROG_CC_C_O], [AC_DEFUN([AC_LIBTOOL_PROG_CC_C_O])]) +-m4_ifndef([AC_LIBTOOL_SYS_HARD_LINK_LOCKS], [AC_DEFUN([AC_LIBTOOL_SYS_HARD_LINK_LOCKS])]) +-m4_ifndef([AC_LIBTOOL_OBJDIR], [AC_DEFUN([AC_LIBTOOL_OBJDIR])]) +-m4_ifndef([AC_LTDL_OBJDIR], [AC_DEFUN([AC_LTDL_OBJDIR])]) +-m4_ifndef([AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH], [AC_DEFUN([AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH])]) +-m4_ifndef([AC_LIBTOOL_SYS_LIB_STRIP], [AC_DEFUN([AC_LIBTOOL_SYS_LIB_STRIP])]) +-m4_ifndef([AC_PATH_MAGIC], [AC_DEFUN([AC_PATH_MAGIC])]) +-m4_ifndef([AC_PROG_LD_GNU], [AC_DEFUN([AC_PROG_LD_GNU])]) +-m4_ifndef([AC_PROG_LD_RELOAD_FLAG], [AC_DEFUN([AC_PROG_LD_RELOAD_FLAG])]) +-m4_ifndef([AC_DEPLIBS_CHECK_METHOD], [AC_DEFUN([AC_DEPLIBS_CHECK_METHOD])]) +-m4_ifndef([AC_LIBTOOL_PROG_COMPILER_NO_RTTI], [AC_DEFUN([AC_LIBTOOL_PROG_COMPILER_NO_RTTI])]) +-m4_ifndef([AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE], [AC_DEFUN([AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE])]) +-m4_ifndef([AC_LIBTOOL_PROG_COMPILER_PIC], [AC_DEFUN([AC_LIBTOOL_PROG_COMPILER_PIC])]) +-m4_ifndef([AC_LIBTOOL_PROG_LD_SHLIBS], [AC_DEFUN([AC_LIBTOOL_PROG_LD_SHLIBS])]) +-m4_ifndef([AC_LIBTOOL_POSTDEP_PREDEP], [AC_DEFUN([AC_LIBTOOL_POSTDEP_PREDEP])]) +-m4_ifndef([LT_AC_PROG_EGREP], [AC_DEFUN([LT_AC_PROG_EGREP])]) +-m4_ifndef([LT_AC_PROG_SED], [AC_DEFUN([LT_AC_PROG_SED])]) +-m4_ifndef([_LT_CC_BASENAME], [AC_DEFUN([_LT_CC_BASENAME])]) +-m4_ifndef([_LT_COMPILER_BOILERPLATE], [AC_DEFUN([_LT_COMPILER_BOILERPLATE])]) +-m4_ifndef([_LT_LINKER_BOILERPLATE], [AC_DEFUN([_LT_LINKER_BOILERPLATE])]) +-m4_ifndef([_AC_PROG_LIBTOOL], [AC_DEFUN([_AC_PROG_LIBTOOL])]) +-m4_ifndef([AC_LIBTOOL_SETUP], [AC_DEFUN([AC_LIBTOOL_SETUP])]) +-m4_ifndef([_LT_AC_CHECK_DLFCN], [AC_DEFUN([_LT_AC_CHECK_DLFCN])]) +-m4_ifndef([AC_LIBTOOL_SYS_DYNAMIC_LINKER], [AC_DEFUN([AC_LIBTOOL_SYS_DYNAMIC_LINKER])]) +-m4_ifndef([_LT_AC_TAGCONFIG], [AC_DEFUN([_LT_AC_TAGCONFIG])]) +-m4_ifndef([AC_DISABLE_FAST_INSTALL], [AC_DEFUN([AC_DISABLE_FAST_INSTALL])]) +-m4_ifndef([_LT_AC_LANG_CXX], [AC_DEFUN([_LT_AC_LANG_CXX])]) +-m4_ifndef([_LT_AC_LANG_F77], [AC_DEFUN([_LT_AC_LANG_F77])]) +-m4_ifndef([_LT_AC_LANG_GCJ], [AC_DEFUN([_LT_AC_LANG_GCJ])]) +-m4_ifndef([AC_LIBTOOL_RC], [AC_DEFUN([AC_LIBTOOL_RC])]) +-m4_ifndef([AC_LIBTOOL_LANG_C_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_C_CONFIG])]) +-m4_ifndef([_LT_AC_LANG_C_CONFIG], [AC_DEFUN([_LT_AC_LANG_C_CONFIG])]) +-m4_ifndef([AC_LIBTOOL_LANG_CXX_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_CXX_CONFIG])]) +-m4_ifndef([_LT_AC_LANG_CXX_CONFIG], [AC_DEFUN([_LT_AC_LANG_CXX_CONFIG])]) +-m4_ifndef([AC_LIBTOOL_LANG_F77_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_F77_CONFIG])]) +-m4_ifndef([_LT_AC_LANG_F77_CONFIG], [AC_DEFUN([_LT_AC_LANG_F77_CONFIG])]) +-m4_ifndef([AC_LIBTOOL_LANG_GCJ_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_GCJ_CONFIG])]) +-m4_ifndef([_LT_AC_LANG_GCJ_CONFIG], [AC_DEFUN([_LT_AC_LANG_GCJ_CONFIG])]) +-m4_ifndef([AC_LIBTOOL_LANG_RC_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_RC_CONFIG])]) +-m4_ifndef([_LT_AC_LANG_RC_CONFIG], [AC_DEFUN([_LT_AC_LANG_RC_CONFIG])]) +-m4_ifndef([AC_LIBTOOL_CONFIG], [AC_DEFUN([AC_LIBTOOL_CONFIG])]) +-m4_ifndef([_LT_AC_FILE_LTDLL_C], [AC_DEFUN([_LT_AC_FILE_LTDLL_C])]) diff --git a/meta-oe/recipes-support/libiconv/libiconv.inc b/meta-oe/recipes-support/libiconv/libiconv.inc new file mode 100644 index 00000000000..11dfaf2f4bb --- /dev/null +++ b/meta-oe/recipes-support/libiconv/libiconv.inc @@ -0,0 +1,15 @@ +DESCRIPTION = "GNU libiconv - libiconv is for you if your application needs to support \ +multiple character encodings, but that support lacks from your system." +HOMEPAGE = "http://www.gnu.org/software/libiconv" +SECTION = "libs" +PRIORITY = "optional" +NOTES = "Needs to be stripped down to: ascii iso8859-1 eucjp iso-2022jp gb utf8" + +SRC_URI = "ftp://ftp.gnu.org/pub/gnu/libiconv/libiconv-${PV}.tar.gz \ + " + +S = "${WORKDIR}/libiconv-${PV}" + +inherit autotools gettext + +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 00000000000..bdfb898a35a --- /dev/null +++ b/meta-oe/recipes-support/libiconv/libiconv_1.13.1.bb @@ -0,0 +1,25 @@ +require libiconv.inc +LICENSE = "GPLv3 LGPLv2" +BBCLASSEXTEND = "native nativesdk" + +PROVIDES = "virtual/libiconv" +PR = "r1" + +#gettext.class cant be inherit here so use this hack +DEPENDS = "${@['','gettext-native'][bb.data.getVar('USE_NLS', d, 1) == 'yes']}" + +EXTRA_OECONF += "${@['--disable-nls','--enable-nls'][bb.data.getVar('USE_NLS', d, 1) == 'yes']}" + +SRC_URI += "file://autoconf.patch" + +do_configure_append () { + # Fix stupid libtool... handling. + # rpath handling can't be disabled and the Makefile's can't be regenerated.. + # (GNU sed required) + sed -i s/^hardcode_libdir_flag_spec/#hardcode_libdir_flag_spec/ ${S}/*-libtool +} + +LEAD_SONAME = "libiconv.so" +SRC_URI[md5sum] = "7ab33ebd26687c744a37264a330bbe9a" +SRC_URI[sha256sum] = "55a36168306089009d054ccdd9d013041bfc3ab26be7033d107821f1c4949a49" + diff --git a/meta-oe/recipes-support/libnl/libnl.inc b/meta-oe/recipes-support/libnl/libnl.inc new file mode 100644 index 00000000000..6f502b10193 --- /dev/null +++ b/meta-oe/recipes-support/libnl/libnl.inc @@ -0,0 +1,9 @@ +DESCRIPTION = "libnl is a library for applications dealing with netlink sockets" +SECTION = "libs/network" +LICENSE = "LGPL" +HOMEPAGE = "http://www.infradead.org/~tgr/libnl/" + +INC_PR = "r5" + +inherit autotools pkgconfig + 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 00000000000..17666fbadf7 --- /dev/null +++ b/meta-oe/recipes-support/libnl/libnl/fix-pc-file.patch @@ -0,0 +1,11 @@ +Index: libnl-2.0/libnl-2.0.pc.in +=================================================================== +--- libnl-2.0.orig/libnl-2.0.pc.in ++++ libnl-2.0/libnl-2.0.pc.in +@@ -6,5 +6,5 @@ + Name: libnl + Description: Convenience library for netlink sockets + Version: @PACKAGE_VERSION@ +-Libs: -L${libdir} -lnl ++Libs: -L${libdir} -lnl -lnl-genl -lnl-nf -lnl-route + 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 00000000000..ee217441b6c --- /dev/null +++ b/meta-oe/recipes-support/libnl/libnl/fix-pktloc-dep-race.patch @@ -0,0 +1,20 @@ +Index: libnl-2.0/lib/Makefile.am +=================================================================== +--- libnl-2.0.orig/lib/Makefile.am ++++ libnl-2.0/lib/Makefile.am +@@ -27,11 +27,15 @@ CLEANFILES = \ + route/pktloc_grammar.c route/pktloc_grammar.h \ + route/pktloc_syntax.c route/pktloc_syntax.h + ++BUILT_SOURCES = route/pktloc_syntax.h route/pktloc_grammar.h ++ + # Hack to avoid using ylwrap. It does not function correctly in combination + # with --header-file= ++route/pktloc_grammar.h: route/pktloc_grammar.c + route/pktloc_grammar.c: route/pktloc_grammar.l + $(LEX) --header-file=route/pktloc_grammar.h $(LFLAGS) -o $@ $^ + ++route/pktloc_syntax.h: route/pktloc_syntax.c + route/pktloc_syntax.c: route/pktloc_syntax.y + $(YACC) -d $(YFLAGS) -o $@ $^ + 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 00000000000..e646e3d0e5c --- /dev/null +++ b/meta-oe/recipes-support/libnl/libnl_2.0.bb @@ -0,0 +1,23 @@ +require libnl.inc +PE = "1" +PR = "${INC_PR}.0" + +LICENSE = "LGPLv2.1" +LIC_FILES_CHKSUM = "file://COPYING;md5=2b41e13261a330ee784153ecbb6a82bc" + +DEPENDS = "flex-native bison-native" + +SRC_URI = "\ + http://www.infradead.org/~tgr/libnl/files/libnl-${PV}.tar.gz \ + file://fix-pc-file.patch \ + file://fix-pktloc-dep-race.patch \ +" + +SRC_URI[md5sum] = "6aaf1e9802a17a7d702bb0638044ffa7" +SRC_URI[sha256sum] = "5a40dc903d3ca1074da7424b908bec8ff16936484798c7e46e53e9db8bc87a9c" + +PACKAGES =+ "${PN}-route ${PN}-nf ${PN}-genl ${PN}-cli" +FILES_${PN}-route = "${libdir}/libnl-route.so.*" +FILES_${PN}-nf = "${libdir}/libnl-nf.so.*" +FILES_${PN}-genl = "${libdir}/libnl-genl.so.*" +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 00000000000..a4a37a8b120 --- /dev/null +++ b/meta-oe/recipes-support/libnl/libnl_git.bb @@ -0,0 +1,20 @@ +require libnl.inc + +PE = "1" +PV = "1.9+gitr${SRCPV}" +PR = "${INC_PR}.0" + +DEPENDS = "flex-native bison-native" + +S = "${WORKDIR}/git" +SRCREV = "d378220c96c3c8b6f27dca33e7d8ba03318f9c2d" +SRC_URI = "\ + git://git.kernel.org/pub/scm/libs/netlink/libnl.git;protocol=git \ + file://fix-pc-file.patch \ +" + +PACKAGES =+ "${PN}-route ${PN}-nf ${PN}-genl ${PN}-cli" +FILES_${PN}-route = "${libdir}/libnl-route.so.*" +FILES_${PN}-nf = "${libdir}/libnl-nf.so.*" +FILES_${PN}-genl = "${libdir}/libnl-genl.so.*" +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 00000000000..2069644f9b3 --- /dev/null +++ b/meta-oe/recipes-support/libsdl-ttf/libsdl-ttf-2.0.10/configure.patch @@ -0,0 +1,13 @@ +Index: SDL_ttf-2.0.10/configure.in +=================================================================== +--- SDL_ttf-2.0.10.orig/configure.in 2010-10-15 10:54:51.392730531 +0200 ++++ SDL_ttf-2.0.10/configure.in 2010-10-15 10:55:06.382727473 +0200 +@@ -25,6 +25,8 @@ + AC_SUBST(BINARY_AGE) + AC_SUBST(VERSION) + ++AC_CONFIG_MACRO_DIR([acinclude]) ++ + # libtool versioning + LT_INIT([win32-dll]) + 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 00000000000..f02c8f65ea3 --- /dev/null +++ b/meta-oe/recipes-support/libsdl-ttf/libsdl-ttf_2.0.10.bb @@ -0,0 +1,30 @@ +DESCRIPTION = "Simple DirectMedia Layer truetype font library." +SECTION = "libs" +PRIORITY = "optional" +DEPENDS = "virtual/libsdl freetype" +LICENSE = "LGPL" +PR = "r1" + +SRC_URI = "http://www.libsdl.org/projects/SDL_ttf/release/SDL_ttf-${PV}.tar.gz \ + file://configure.patch \ + " + +S = "${WORKDIR}/SDL_ttf-${PV}" +EXTRA_OECONF += "SDL_CONFIG=${STAGING_BINDIR_CROSS}/sdl-config " + +inherit autotools + +TARGET_CC_ARCH += "${LDFLAGS}" + +do_configure_prepend() { + + MACROS="libtool.m4 lt~obsolete.m4 ltoptions.m4 ltsugar.m4 ltversion.m4" + + for i in ${MACROS}; do + rm acinclude/$i + done + +} + +SRC_URI[md5sum] = "814e6e17e8879254208d23b3b7e0354b" +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 00000000000..702ed55e889 --- /dev/null +++ b/meta-oe/recipes-support/libyaml/libyaml_0.1.3.bb @@ -0,0 +1,14 @@ +DESCRIPTION = "LibYAML is a YAML parser and emitter written in C." +HOMEPAGE = "http://pyyaml.org/wiki/LibYAML" +SECTION = "libs/devel" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://LICENSE;md5=6015f088759b10e0bc2bf64898d4ae17" +PR="r0" + +SRC_URI = "http://pyyaml.org/download/libyaml/yaml-${PV}.tar.gz;name=libyaml" +SRC_URI[libyaml.md5sum] = "b8ab9064e8e0330423fe640de76608cd" +SRC_URI[libyaml.sha256sum] = "a8bbad7e5250b3735126b7e3bd9f6fce9db19d6be7cc13abad17a24b59ec144a" + +S = "${WORKDIR}/yaml-${PV}" + +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 00000000000..b95fe9e90fd --- /dev/null +++ b/meta-oe/recipes-support/lzma/lzma-4.65/001-large_files.patch @@ -0,0 +1,13 @@ +Index: lzma-4.65/CPP/7zip/Compress/LZMA_Alone/makefile.gcc +=================================================================== +--- lzma-4.65.orig/CPP/7zip/Compress/LZMA_Alone/makefile.gcc 2009-05-15 23:33:51.000000000 +0200 ++++ lzma-4.65/CPP/7zip/Compress/LZMA_Alone/makefile.gcc 2009-06-01 22:00:54.000000000 +0200 +@@ -3,7 +3,7 @@ + CXX_C = gcc -O2 -Wall + LIB = -lm + RM = rm -f +-CFLAGS = -c ++CFLAGS = -c -D_FILE_OFFSET_BITS=64 + + ifdef SystemDrive + 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 00000000000..72d881cdb2c --- /dev/null +++ b/meta-oe/recipes-support/lzma/lzma-4.65/002-lzmp.patch @@ -0,0 +1,1059 @@ +Index: lzma-4.65/CPP/7zip/Compress/LZMA_Alone/lzmp.cpp +=================================================================== +--- /dev/null 1970-01-01 00:00:00.000000000 +0000 ++++ lzma-4.65/CPP/7zip/Compress/LZMA_Alone/lzmp.cpp 2009-06-01 22:01:10.000000000 +0200 +@@ -0,0 +1,895 @@ ++/* ++ * LZMA command line tool similar to gzip to encode and decode LZMA files. ++ * ++ * Copyright (C) 2005 Ville Koskinen ++ * ++ * This program is free software; you can redistribute it and/or ++ * modify it under the terms of the GNU General Public License ++ * as published by the Free Software Foundation; either version 2 ++ * of the License, or (at your option) any later version. ++ * ++ * This program is distributed in the hope that it will be useful, ++ * but WITHOUT ANY WARRANTY; without even the implied warranty of ++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++ * GNU General Public License for more details. ++ * ++ * You should have received a copy of the GNU General Public License ++ * along with this program; if not, write to the Free Software ++ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, ++ * USA. ++ */ ++ ++#include "../../../Common/MyInitGuid.h" ++ ++#include <iostream> ++using std::cout; ++using std::cerr; ++using std::endl; ++ ++#include <cstdio> ++#include <cstdlib> ++#include <cstring> ++ ++#include <string> ++using std::string; ++#include <vector> ++using std::vector; ++typedef vector<string> stringVector; ++ ++#include <unistd.h> ++#include <getopt.h> ++#include <signal.h> ++ ++#include <sys/types.h> ++#include <sys/stat.h> ++#include <utime.h> ++#include <sys/time.h> // futimes() ++ ++// For Solaris ++#ifndef HAVE_FUTIMES ++//#define futimes(fd, tv) futimesat(fd, NULL, tv) ++#endif ++ ++#if defined(_WIN32) || defined(OS2) || defined(MSDOS) ++#include <fcntl.h> ++#include <io.h> ++#define MY_SET_BINARY_MODE(file) setmode(fileno(file),O_BINARY) ++#else ++#define MY_SET_BINARY_MODE(file) ++#endif ++ ++#include "../../../7zip/Common/FileStreams.h" ++ ++#include "../../../Common/Types.h" ++ ++#include "../../../7zip/Compress/LzmaDecoder.h" ++#include "../../../7zip/Compress/LzmaEncoder.h" ++ ++#include "Exception.h" ++ ++#include "lzma_version.h" ++ ++namespace lzma { ++ ++const char *PROGRAM_VERSION = PACKAGE_VERSION; ++const char *PROGRAM_COPYRIGHT = "Copyright (C) 2006 Ville Koskinen"; ++ ++/* LZMA_Alone switches: ++ -a{N}: set compression mode - [0, 2], default: 2 (max) ++ -d{N}: set dictionary - [0,28], default: 23 (8MB) ++ -fb{N}: set number of fast bytes - [5, 255], default: 128 ++ -lc{N}: set number of literal context bits - [0, 8], default: 3 ++ -lp{N}: set number of literal pos bits - [0, 4], default: 0 ++ -pb{N}: set number of pos bits - [0, 4], default: 2 ++ -mf{MF_ID}: set Match Finder: [bt2, bt3, bt4, bt4b, pat2r, pat2, ++ pat2h, pat3h, pat4h, hc3, hc4], default: bt4 ++*/ ++ ++struct lzma_option { ++ short compression_mode; // -a ++ short dictionary; // -d ++ short fast_bytes; // -fb ++ wchar_t *match_finder; // -mf ++ short literal_context_bits; // -lc ++ short literal_pos_bits; // -lp ++ short pos_bits; // -pb ++}; ++ ++/* The following is a mapping from gzip/bzip2 style -1 .. -9 compression modes ++ * to the corresponding LZMA compression modes. Thanks, Larhzu, for coining ++ * these. */ ++const lzma_option option_mapping[] = { ++ { 0, 0, 0, NULL, 0, 0, 0}, // -0 (needed for indexing) ++ { 0, 16, 64, L"hc4", 3, 0, 2}, // -1 ++ { 0, 20, 64, L"hc4", 3, 0, 2}, // -2 ++ { 1, 19, 64, L"bt4", 3, 0, 2}, // -3 ++ { 2, 20, 64, L"bt4", 3, 0, 2}, // -4 ++ { 2, 21, 128, L"bt4", 3, 0, 2}, // -5 ++ { 2, 22, 128, L"bt4", 3, 0, 2}, // -6 ++ { 2, 23, 128, L"bt4", 3, 0, 2}, // -7 ++ { 2, 24, 255, L"bt4", 3, 0, 2}, // -8 ++ { 2, 25, 255, L"bt4", 3, 0, 2}, // -9 ++}; ++ ++struct extension_pair { ++ char *from; ++ char *to; ++}; ++ ++const extension_pair known_extensions[] = { ++ { ".lzma", "" }, ++ { ".tlz", ".tar" }, ++ { NULL, NULL } ++}; ++ ++/* Sorry, I just happen to like enumerations. */ ++enum PROGRAM_MODE { ++ PM_COMPRESS = 0, ++ PM_DECOMPRESS, ++ PM_TEST, ++ PM_HELP, ++ PM_LICENSE, ++ PM_VERSION ++}; ++ ++enum { ++ STATUS_OK = 0, ++ STATUS_ERROR = 1, ++ STATUS_WARNING = 2 ++}; ++ ++/* getopt options. */ ++/* struct option { name, has_arg, flag, val } */ ++const struct option long_options[] = { ++ { "stdout", 0, 0, 'c' }, ++ { "decompress", 0, 0, 'd' }, ++ { "compress", 0, 0, 'z' }, ++ { "keep", 0, 0, 'k' }, ++ { "force", 0, 0, 'f' }, ++ { "test", 0, 0, 't' }, ++ { "suffix", 1, 0, 'S' }, ++ { "quiet", 0, 0, 'q' }, ++ { "verbose", 0, 0, 'v' }, ++ { "help", 0, 0, 'h' }, ++ { "license", 0, 0, 'L' }, ++ { "version", 0, 0, 'V' }, ++ { "fast", 0, 0, '1' }, ++ { "best", 0, 0, '9' }, ++ { 0, 0, 0, 0 } ++}; ++ ++/* getopt option string (for the above options). */ ++const char option_string[] = "cdzkftS:qvhLV123456789A:D:F:"; ++ ++/* Defaults. */ ++PROGRAM_MODE program_mode = PM_COMPRESS; ++int verbosity = 0; ++bool stdinput = false; ++bool stdoutput = false; ++bool keep = false; ++bool force = false; ++int compression_mode = 7; ++//char *suffix = strdup(".lzma"); ++char *suffix = strdup(known_extensions[0].from); ++lzma_option advanced_options = { -1, -1, -1, NULL, -1, -1, -1 }; ++ ++void print_help(const char *const argv0) ++{ ++ // Help goes to stdout while other messages go to stderr. ++ cout << "\nlzma " << PROGRAM_VERSION ++ << " " << PROGRAM_COPYRIGHT << "\n" ++ "Based on LZMA SDK " << LZMA_SDK_VERSION_STRING << " " ++ << LZMA_SDK_COPYRIGHT_STRING ++ << "\n\nUsage: " << argv0 ++ << " [flags and input files in any order]\n" ++" -c --stdout output to standard output\n" ++" -d --decompress force decompression\n" ++" -z --compress force compression\n" ++" -k --keep keep (don't delete) input files\n" ++" -f --force force overwrite of output file and compress links\n" ++" -t --test test compressed file integrity\n" ++" -S .suf --suffix .suf use suffix .suf on compressed files\n" ++" -q --quiet suppress error messages\n" ++" -v --verbose be verbose\n" ++" -h --help print this message\n" ++" -L --license display the license information\n" ++" -V --version display version numbers of LZMA SDK and lzma\n" ++" -1 .. -2 fast compression\n" ++" -3 .. -9 good to excellent compression. -7 is the default.\n" ++" --fast alias for -1\n" ++" --best alias for -9 (usually *not* what you want)\n\n" ++" Memory usage depends a lot on the chosen compression mode -1 .. -9.\n" ++" See the man page lzma(1) for details.\n\n"; ++} ++ ++void print_license(void) ++{ ++ cout << "\n LZMA command line tool " << PROGRAM_VERSION << " - " ++ << PROGRAM_COPYRIGHT ++ << "\n LZMA SDK " << LZMA_SDK_VERSION_STRING << " - " ++ << LZMA_SDK_COPYRIGHT_STRING ++ << "\n This program is a part of the LZMA utils package.\n" ++ " http://tukaani.org/lzma/\n\n" ++" This program is free software; you can redistribute it and/or\n" ++" modify it under the terms of the GNU General Public License\n" ++" as published by the Free Software Foundation; either version 2\n" ++" of the License, or (at your option) any later version.\n" ++"\n" ++" This program is distributed in the hope that it will be useful,\n" ++" but WITHOUT ANY WARRANTY; without even the implied warranty of\n" ++" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n" ++" GNU General Public License for more details.\n" ++"\n"; ++} ++ ++void print_version(void) ++{ ++ cout << "LZMA command line tool " << PROGRAM_VERSION << "\n" ++ << "LZMA SDK " << LZMA_SDK_VERSION_STRING << "\n"; ++} ++ ++short str2int (const char *str, const int &min, const int &max) ++{ ++ int value = -1; ++ char *endptr = NULL; ++ if (str == NULL || str[0] == '\0') ++ throw ArgumentException("Invalid integer option"); ++ value = strtol (str, &endptr, 10); ++ if (*endptr != '\0' || value < min || value > max) ++ throw ArgumentException("Invalid integer option"); ++ return value; ++} ++ ++void parse_options(int argc, char **argv, stringVector &filenames) ++{ ++ /* Snatched from getopt(3). */ ++ int c; ++ ++ /* Check how we were called */ ++ { ++ char *p = strrchr (argv[0], '/'); // Remove path prefix, if any ++ if (p++ == NULL) ++ p = argv[0]; ++ if (strstr (p, "un") != NULL) { ++ program_mode = PM_DECOMPRESS; ++ } else if (strstr (p, "cat") != NULL) { ++ program_mode = PM_DECOMPRESS; ++ stdoutput = true; ++ } ++ } ++ ++ while (-1 != (c = getopt_long(argc, argv, option_string, ++ long_options, NULL))) { ++ switch (c) { ++ // stdout ++ case 'c': ++ stdoutput = true; ++ break; ++ ++ // decompress ++ case 'd': ++ program_mode = PM_DECOMPRESS; ++ break; ++ ++ // compress ++ case 'z': ++ program_mode = PM_COMPRESS; ++ break; ++ ++ // keep ++ case 'k': ++ keep = true; ++ break; ++ ++ // force ++ case 'f': ++ force = true; ++ break; ++ ++ // test ++ case 't': ++ program_mode = PM_TEST; ++ break; ++ ++ // suffix ++ case 'S': ++ if (optarg) { ++ free(suffix); ++ suffix = strdup(optarg); ++ } ++ break; ++ ++ // quiet ++ case 'q': ++ verbosity = 0; ++ break; ++ ++ // verbose ++ case 'v': ++ verbosity++; ++ break; ++ ++ // help ++ case 'h': ++ program_mode = PM_HELP; ++ break; ++ ++ // license ++ case 'L': ++ program_mode = PM_LICENSE; ++ break; ++ ++ // version ++ case 'V': ++ program_mode = PM_VERSION; ++ break; ++ ++ case '1': case '2': case '3': case '4': case '5': ++ case '6': case '7': case '8': case '9': ++ compression_mode = c - '0'; ++ break; ++ ++ // Advanced options // ++ // Compression mode ++ case 'A': ++ advanced_options.compression_mode = ++ str2int (optarg, 0, 2); ++ break; ++ ++ // Dictionary size ++ case 'D': ++ advanced_options.dictionary = ++ str2int (optarg, 0, 28); ++ break; ++ ++ // Fast bytes ++ case 'F': ++ advanced_options.fast_bytes = ++ str2int (optarg, 0, 273); ++ break; ++ ++ default: ++ throw ArgumentException(""); ++ break; ++ } // switch(c) ++ } // while(1) ++ ++ for (int i = optind; i < argc; i++) { ++ if (strcmp("-", argv[i]) == 0) ++ continue; ++ filenames.push_back(argv[i]); ++ } ++} // parse_options ++ ++void set_encoder_properties(NCompress::NLzma::CEncoder *encoder, ++ lzma_option &opt) ++{ ++ /* Almost verbatim from LzmaAlone.cpp. */ ++ PROPID propIDs[] = ++ { ++ NCoderPropID::kDictionarySize, ++ NCoderPropID::kPosStateBits, ++ NCoderPropID::kLitContextBits, ++ NCoderPropID::kLitPosBits, ++ NCoderPropID::kAlgorithm, ++ NCoderPropID::kNumFastBytes, ++ NCoderPropID::kMatchFinder, ++ NCoderPropID::kEndMarker ++ }; ++ const int kNumProps = sizeof(propIDs) / sizeof(propIDs[0]); ++#define VALUE(x) (advanced_options.x >= 0 ? advanced_options.x : opt.x) ++ PROPVARIANT properties[kNumProps]; ++ for (int p = 0; p < 6; p++) ++ properties[p].vt = VT_UI4; ++ properties[0].ulVal = UInt32(1 << VALUE (dictionary)); ++ properties[1].ulVal = UInt32(VALUE (pos_bits)); ++ properties[2].ulVal = UInt32(VALUE (literal_context_bits)); ++ properties[3].ulVal = UInt32(VALUE (literal_pos_bits)); ++ properties[4].ulVal = UInt32(VALUE (compression_mode)); ++ properties[5].ulVal = UInt32(VALUE (fast_bytes)); ++#undef VALUE ++ ++ properties[6].vt = VT_BSTR; ++ properties[6].bstrVal = (BSTR)opt.match_finder; ++ ++ properties[7].vt = VT_BOOL; ++ properties[7].boolVal = stdinput ? VARIANT_TRUE : VARIANT_FALSE; ++ ++ if (encoder->SetCoderProperties(propIDs, properties, kNumProps) != S_OK) ++ throw Exception("SetCoderProperties() error"); ++} ++ ++void encode(NCompress::NLzma::CEncoder *encoderSpec, ++ CMyComPtr<ISequentialInStream> inStream, ++ CMyComPtr<ISequentialOutStream> outStream, ++ lzma_option encoder_options, ++ UInt64 fileSize) ++{ ++ set_encoder_properties(encoderSpec, encoder_options); ++ ++ encoderSpec->WriteCoderProperties(outStream); ++ ++ for (int i = 0; i < 8; i++) ++ { ++ Byte b = Byte(fileSize >> (8 * i)); ++ if (outStream->Write(&b, sizeof(b), 0) != S_OK) ++ throw Exception("Write error while encoding"); ++ } ++ ++ HRESULT result = encoderSpec->Code(inStream, outStream, 0, 0, 0); ++ ++ if (result == E_OUTOFMEMORY) ++ throw Exception("Cannot allocate memory"); ++ else if (result != S_OK) { ++ char buffer[33]; ++ snprintf(buffer, 33, "%d", (unsigned int)result); ++ throw Exception(string("Encoder error: ") + buffer); ++ } ++} ++ ++void decode(NCompress::NLzma::CDecoder *decoderSpec, ++ CMyComPtr<ISequentialInStream> inStream, ++ CMyComPtr<ISequentialOutStream> outStream) ++{ ++ const UInt32 kPropertiesSize = 5; ++ Byte properties[kPropertiesSize]; ++ UInt32 processedSize; ++ UInt64 fileSize = 0; ++ ++ if (inStream->Read(properties, kPropertiesSize, &processedSize) != S_OK) ++ throw Exception("Read error"); ++ if (processedSize != kPropertiesSize) ++ throw Exception("Read error"); ++ if (decoderSpec->SetDecoderProperties2(properties, kPropertiesSize) != S_OK) ++ throw Exception("SetDecoderProperties() error"); ++ ++ for (int i = 0; i < 8; i++) ++ { ++ Byte b; ++ ++ if (inStream->Read(&b, sizeof(b), &processedSize) != S_OK) ++ throw Exception("Read error"); ++ if (processedSize != 1) ++ throw Exception("Read error"); ++ ++ fileSize |= ((UInt64)b) << (8 * i); ++ } ++ ++ if (decoderSpec->Code(inStream, outStream, 0, &fileSize, 0) != S_OK) ++ throw Exception("Decoder error"); ++} ++ ++int open_instream(const string infile, ++ CMyComPtr<ISequentialInStream> &inStream, ++ UInt64 &fileSize) ++{ ++ CInFileStream *inStreamSpec = new CInFileStream; ++ inStream = inStreamSpec; ++ if (!inStreamSpec->Open(infile.c_str())) ++ throw Exception("Cannot open input file " + infile); ++ ++ inStreamSpec->File.GetLength(fileSize); ++ ++ return inStreamSpec->File.GetHandle(); ++} ++ ++int open_outstream(const string outfile, ++ CMyComPtr<ISequentialOutStream> &outStream) ++{ ++ COutFileStream *outStreamSpec = new COutFileStream; ++ outStream = outStreamSpec; ++ ++ bool open_by_force = (program_mode == PM_TEST) | force; ++ ++ if (!outStreamSpec->Create(outfile.c_str(), open_by_force)) ++ throw Exception("Cannot open output file " + outfile); ++ ++ return outStreamSpec->File.GetHandle(); ++} ++ ++double get_ratio(int inhandle, int outhandle) ++{ ++ struct stat in_stats, out_stats; ++ fstat(inhandle, &in_stats); ++ fstat(outhandle, &out_stats); ++ ++ return (double)out_stats.st_size / (double)in_stats.st_size; ++} ++ ++mode_t get_file_mode(string filename) ++{ ++ struct stat in_stat; ++ lstat(filename.c_str(), &in_stat); ++ ++ return in_stat.st_mode; ++} ++ ++bool string_ends_with(string str, string ending) ++{ ++ return equal(ending.rbegin(), ending.rend(), str.rbegin()); ++} ++ ++bool extension_is_known(string filename) ++{ ++ bool known_format = false; ++ extension_pair extension; int i = 1; ++ ++ extension = known_extensions[0]; ++ while (extension.from != NULL) { ++ if (string_ends_with(filename, extension.from)) { ++ known_format = true; ++ break; ++ } ++ extension = known_extensions[i]; ++ i++; ++ } ++ ++ if (!known_format) { ++ if (!string_ends_with(filename, suffix)) { ++ return false; ++ } ++ } ++ ++ return true; ++} ++ ++string replace_extension(string filename) ++{ ++ int suffix_starts_at = filename.length() - strlen (suffix); ++ string from_suffix = filename.substr(suffix_starts_at, strlen (suffix)); ++ string ret = filename.substr(0, suffix_starts_at); ++ extension_pair extension; int i = 1; ++ ++ bool found_replacement = false; ++ extension = known_extensions[0]; ++ while (extension.from != NULL) { ++ if (from_suffix.compare(extension.from) == 0) { ++ ret += extension.to; ++ found_replacement = true; ++ break; ++ } ++ ++ extension = known_extensions[i]; ++ i++; ++ } ++ ++ return ret; ++} ++ ++string pretty_print_status(string filename, string output_filename, ++ string ratio) ++{ ++ string ret = ""; ++ ++ ret += filename; ++ ret += ":\t "; ++ ++ if (program_mode == PM_TEST) { ++ ret += "decoded succesfully"; ++ ++ return ret; ++ } ++ ++ if (!stdinput && !stdoutput) { ++ ret += ratio; ++ ret += " -- "; ++ } ++ ++ if (program_mode == PM_COMPRESS) { ++ if (keep) { ++ ret += "encoded succesfully"; ++ ++ return ret; ++ } ++ ++ ret += "replaced with "; ++ ret += output_filename; ++ ++ return ret; ++ } ++ ++ if (program_mode == PM_DECOMPRESS) { ++ if (keep) { ++ ret += "decoded succesfully"; ++ ++ return ret; ++ } ++ ++ ret += "replaced with "; ++ ret += output_filename; ++ ++ return ret; ++ } ++ ++ return ret; ++} ++ ++static string archive_name; // I know, it is crude, but I haven't found any other ++ // way then making a global variable to transfer filename to handler ++ ++void signal_handler (int signum) ++{ ++ unlink (archive_name.c_str()); // deleting ++ signal (signum, SIG_DFL); // we return the default function to used signal ++ kill (getpid(), signum); // and then send this signal to the process again ++} ++ ++} // namespace lzma ++ ++ ++int main(int argc, char **argv) ++{ ++ using namespace lzma; ++ using std::cerr; ++ ++ stringVector filenames; ++ ++ signal (SIGTERM,signal_handler); ++ signal (SIGHUP,signal_handler); ++ signal (SIGINT,signal_handler); ++ ++ try { ++ parse_options(argc, argv, filenames); ++ } ++ catch (...) { ++ return STATUS_ERROR; ++ } ++ ++ if (program_mode == PM_HELP) { ++ print_help(argv[0]); ++ return STATUS_OK; ++ } ++ else if (program_mode == PM_LICENSE) { ++ print_license(); ++ return STATUS_OK; ++ } ++ else if (program_mode == PM_VERSION) { ++ print_version(); ++ return STATUS_OK; ++ } ++ ++ if (filenames.empty()) { ++ stdinput = true; ++ stdoutput = true; ++ ++ /* FIXME: get rid of this */ ++ filenames.push_back("-"); ++ } ++ ++ /* Protection: always create new files with 0600 in order to prevent ++ * outsiders from reading incomplete data. */ ++ umask(0077); ++ ++ bool warning = false; ++ ++ for (int i = 0; i < filenames.size(); i++) { ++ CMyComPtr<ISequentialInStream> inStream; ++ CMyComPtr<ISequentialOutStream> outStream; ++ UInt64 fileSize = 0; ++ int inhandle = 0, outhandle = 0; ++ string output_filename; ++ ++ if (stdinput) { ++ inStream = new CStdInFileStream; ++ MY_SET_BINARY_MODE(stdin); ++ fileSize = (UInt64)(Int64)-1; ++ ++ inhandle = STDIN_FILENO; ++ ++ outStream = new CStdOutFileStream; ++ MY_SET_BINARY_MODE(stdout); ++ ++ outhandle = STDOUT_FILENO; ++ } ++ else { ++ mode_t infile_mode = get_file_mode(filenames[i]); ++ if (!S_ISREG(infile_mode)) { ++ if (S_ISDIR(infile_mode)) { ++ warning = true; ++ cerr << argv[0] << ": " << filenames[i] << ": " ++ << "cowardly refusing to work on directory" ++ << endl; ++ ++ continue; ++ } ++ else if (S_ISLNK(infile_mode)) { ++ if (!stdoutput && !force) { ++ warning = true; ++ ++ cerr << argv[0] << ": " << filenames[i] << ": " ++ << "cowardly refusing to work on symbolic link " ++ << "(use --force to force encoding or decoding)" ++ << endl; ++ ++ continue; ++ } ++ } ++ else { ++ warning = true; ++ ++ cerr << argv[0] << ": " << filenames[i] << ": " ++ << "doesn't exist or is not a regular file" ++ << endl; ++ ++ continue; ++ } ++ } ++ ++ // Test if the file already ends with *suffix. ++ if (program_mode == PM_COMPRESS && !force ++ && string_ends_with(filenames[i], ++ suffix)) { ++ warning = true; ++ ++ cerr << filenames[i] << " already has " ++ << suffix << " suffix -- unchanged\n"; ++ ++ continue; ++ } ++ ++ // Test if the file extension is known. ++ if (program_mode == PM_DECOMPRESS ++ && !extension_is_known(filenames[i])) { ++ warning = true; ++ ++ cerr << filenames[i] << ": " ++ << " unknown suffix -- unchanged" ++ << endl; ++ ++ continue; ++ } ++ ++ try { ++ inhandle = open_instream(filenames[i], inStream, fileSize); ++ } ++ catch (Exception e) { ++ cerr << argv[0] << ": " << e.what() << endl; ++ return STATUS_ERROR; ++ } ++ ++ if (stdoutput) { ++ outStream = new CStdOutFileStream; ++ MY_SET_BINARY_MODE(stdout); ++ ++ outhandle = STDOUT_FILENO; ++ } ++ else { ++ /* Testing mode is nothing else but decoding ++ * and throwing away the result. */ ++ if (program_mode == PM_TEST) ++ output_filename = "/dev/null"; ++ else if (program_mode == PM_DECOMPRESS) ++ output_filename = replace_extension(filenames[i]); ++ else ++ output_filename = filenames[i] ++ + suffix; ++ archive_name = output_filename; ++ ++ try { ++ outhandle = open_outstream(output_filename, outStream); ++ } ++ catch (Exception e) { ++ cerr << argv[0] << ": " << e.what() << endl; ++ return STATUS_ERROR; ++ } ++ } ++ ++ } ++ ++ // Unless --force is specified, do not read/write compressed ++ // data from/to a terminal. ++ if (!force) { ++ if (program_mode == PM_COMPRESS && isatty(outhandle)) { ++ cerr << argv[0] << ": compressed data not " ++ "written to a terminal. Use " ++ "-f to force compression.\n" ++ << argv[0] << ": For help, type: " ++ << argv[0] << " -h\n"; ++ return STATUS_ERROR; ++ } else if (program_mode == PM_DECOMPRESS ++ && isatty(inhandle)) { ++ cerr << argv[0] << ": compressed data not " ++ "read from a terminal. Use " ++ "-f to force decompression.\n" ++ << argv[0] << ": For help, type: " ++ << argv[0] << " -h\n"; ++ return STATUS_ERROR; ++ } ++ } ++ ++ if (program_mode == PM_COMPRESS) { ++ NCompress::NLzma::CEncoder *encoderSpec = ++ new NCompress::NLzma::CEncoder; ++ ++ lzma_option options = option_mapping[compression_mode]; ++ ++ try { ++ encode(encoderSpec, inStream, outStream, options, fileSize); ++ } ++ catch (Exception e) { ++ cerr << argv[0] << ": " << e.what() << endl; ++ unlink(output_filename.c_str()); ++ delete(encoderSpec); ++ ++ return STATUS_ERROR; ++ } ++ ++ delete(encoderSpec); ++ } ++ else { // PM_DECOMPRESS | PM_TEST ++ NCompress::NLzma::CDecoder *decoderSpec = ++ new NCompress::NLzma::CDecoder; ++ ++ try { ++ decode(decoderSpec, inStream, outStream); ++ } ++ catch (Exception e) { ++ cerr << argv[0] << ": " << e.what() << endl; ++ unlink(output_filename.c_str()); ++ delete(decoderSpec); ++ ++ return STATUS_ERROR; ++ } ++ ++ delete(decoderSpec); ++ } ++ ++ /* Set permissions and owners. */ ++ if ( (program_mode == PM_COMPRESS || program_mode == PM_DECOMPRESS ) ++ && (!stdinput && !stdoutput) ) { ++ ++ int ret = 0; ++ struct stat file_stats; ++ ret = fstat(inhandle, &file_stats); ++ ++ ret = fchmod(outhandle, file_stats.st_mode); ++ ret = fchown(outhandle, file_stats.st_uid, file_stats.st_gid); ++ // We need to call fchmod() again, since otherwise the SUID bits ++ // are lost. ++ ret = fchmod(outhandle, file_stats.st_mode); ++ ++ struct timeval file_times[2]; ++ // Access time ++ file_times[0].tv_sec = file_stats.st_atime; ++ file_times[0].tv_usec = 0; ++ // Modification time ++ file_times[1].tv_sec = file_stats.st_mtime; ++ file_times[1].tv_usec = 0; ++ ++ ret = futimes(outhandle, file_times); ++ ++ if (!keep) ++ unlink(filenames[i].c_str()); ++ } ++ ++ if (verbosity > 0) { ++ if (stdoutput) { ++ cerr << filenames[i] << ":\t "; ++ cerr << "decoded succesfully" ++ << endl; ++ } ++ ++ else { ++ char buf[10] = { 0 }; ++ ++ if (program_mode == PM_DECOMPRESS) ++ snprintf(buf, 10, "%.2f%%", ++ (1 - get_ratio(outhandle, inhandle)) * 100); ++ if (program_mode == PM_COMPRESS) ++ snprintf(buf, 10, "%.2f%%", ++ (1 - get_ratio(inhandle, outhandle)) * 100); ++ ++ string ratio = buf; ++ cerr << pretty_print_status(filenames[i], output_filename, ++ ratio) ++ << endl; ++ } ++ } ++ } ++ ++ if (warning) ++ return STATUS_WARNING; ++ ++ return STATUS_OK; ++} ++ +Index: lzma-4.65/CPP/7zip/Compress/LZMA_Alone/Exception.h +=================================================================== +--- /dev/null 1970-01-01 00:00:00.000000000 +0000 ++++ lzma-4.65/CPP/7zip/Compress/LZMA_Alone/Exception.h 2009-06-01 22:01:10.000000000 +0200 +@@ -0,0 +1,45 @@ ++/* A couple of exceptions for lzmp. ++ * ++ * Copyright (C) 2005 Ville Koskinen ++ * ++ * This program is free software; you can redistribute it and/or ++ * modify it under the terms of the GNU General Public License ++ * as published by the Free Software Foundation; either version 2 ++ * of the License, or (at your option) any later version. ++ * ++ * This program is distributed in the hope that it will be useful, ++ * but WITHOUT ANY WARRANTY; without even the implied warranty of ++ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the ++ * GNU General Public License for more details. ++ */ ++ ++#ifndef _EXCEPTION_H_ ++#define _EXCEPTION_H_ ++ ++#include <string> ++using std::string; ++ ++class Exception ++{ ++private: ++ string message; ++public: ++ Exception(char *what): message(what) { } ++ Exception(string what): message(what) { } ++ ++ ~Exception() { } ++ ++ string what(void) { return message; } ++}; ++ ++class ArgumentException: public Exception ++{ ++public: ++ ArgumentException(char *what): Exception(what) { } ++ ArgumentException(string what): Exception(what) { } ++ ++ ~ArgumentException() { } ++}; ++ ++#endif ++ +Index: lzma-4.65/CPP/7zip/Compress/LZMA_Alone/makefile.gcc +=================================================================== +--- lzma-4.65.orig/CPP/7zip/Compress/LZMA_Alone/makefile.gcc 2009-06-01 22:00:54.000000000 +0200 ++++ lzma-4.65/CPP/7zip/Compress/LZMA_Alone/makefile.gcc 2009-06-01 22:06:13.000000000 +0200 +@@ -1,9 +1,10 @@ +-PROG = lzma ++PROG = lzma_alone ++PROG2 = lzma + CXX = g++ -O2 -Wall + CXX_C = gcc -O2 -Wall + LIB = -lm + RM = rm -f +-CFLAGS = -c -D_FILE_OFFSET_BITS=64 ++CFLAGS = -c -I ../../../ -D_FILE_OFFSET_BITS=64 -DPACKAGE_VERSION="\"4.32.0beta3\"" + + ifdef SystemDrive + IS_MINGW = 1 +@@ -45,12 +46,35 @@ + Lzma86Dec.o \ + Lzma86Enc.o \ + ++OBJS2 = \ ++ C_FileIO.o \ ++ CRC.o \ ++ Alloc.o \ ++ FileStreams.o \ ++ StreamUtils.o \ ++ InBuffer.o \ ++ OutBuffer.o \ ++ LzmaDecoder.o \ ++ StringConvert.o \ ++ StringToInt.o \ ++ LzmaEncoder.o \ ++ LzmaDec.o \ ++ LzmaEnc.o \ ++ LzFind.o \ ++ 7zCrc.o \ ++ lzmp.o + +-all: $(PROG) ++all: $(PROG) $(PROG2) + + $(PROG): $(OBJS) + $(CXX) -o $(PROG) $(LDFLAGS) $(OBJS) $(LIB) $(LIB2) + ++$(PROG2): $(OBJS2) ++ $(CXX) -o $(PROG2) $(LDFLAGS) $(OBJS2) $(LIB) ++ ++lzmp.o: lzmp.cpp ++ $(CXX) $(CFLAGS) lzmp.cpp ++ + LzmaAlone.o: LzmaAlone.cpp + $(CXX) $(CFLAGS) LzmaAlone.cpp + +@@ -131,5 +153,5 @@ + $(CXX_C) $(CFLAGS) ../../../../C/LzmaUtil/Lzma86Enc.c + + clean: +- -$(RM) $(PROG) $(OBJS) ++ -$(RM) $(PROG) $(PROG2) $(OBJS) + +Index: lzma-4.65/CPP/7zip/Compress/LZMA_Alone/lzma_version.h +=================================================================== +--- /dev/null 1970-01-01 00:00:00.000000000 +0000 ++++ lzma-4.65/CPP/7zip/Compress/LZMA_Alone/lzma_version.h 2009-06-01 22:01:10.000000000 +0200 +@@ -0,0 +1,31 @@ ++#ifndef LZMA_VERSION_H ++#define LZMA_VERSION_H ++ ++/* ++ Version and copyright information used by LZMA utils. ++*/ ++ ++static const char *LZMA_SDK_VERSION_STRING = "4.43"; ++ ++static const char *LZMA_SDK_COPYRIGHT_STRING = ++ "Copyright (C) 1999-2006 Igor Pavlov"; ++ ++static const char *LZMA_SDK_COPYRIGHT_INFO = ++ " See http://7-zip.org/sdk.html or the documentation of LZMA SDK for\n" ++ " the license. For reference, the version 4.43 is free software\n" ++ " licensed under the GNU LGPL."; ++ ++ ++static const char *LZMA_UTILS_VERSION_STRING = PACKAGE_VERSION; ++ ++static const char *LZMA_UTILS_COPYRIGHT_STRING = ++ "Copyright (C) 2006 Lasse Collin"; ++ ++static const char *LZMA_UTILS_COPYRIGHT_INFO = ++ "This program comes with ABSOLUTELY NO WARRANTY.\n" ++ "You may redistribute copies of this program\n" ++ "under the terms of the GNU General Public License.\n" ++ "For more information about these matters, see the file " ++ "named COPYING.\n"; ++ ++#endif /* ifndef LZMA_VERSION_H */ +Index: lzma-4.65/CPP/Common/C_FileIO.h +=================================================================== +--- lzma-4.65.orig/CPP/Common/C_FileIO.h 2009-05-15 23:33:51.000000000 +0200 ++++ lzma-4.65/CPP/Common/C_FileIO.h 2009-06-01 22:06:56.000000000 +0200 +@@ -24,6 +24,7 @@ + bool Close(); + bool GetLength(UInt64 &length) const; + off_t Seek(off_t distanceToMove, int moveMethod) const; ++ int GetHandle() const { return _handle; } + }; + + 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 00000000000..49ae66b9c42 --- /dev/null +++ b/meta-oe/recipes-support/lzma/lzma-4.65/003-compile_fixes.patch @@ -0,0 +1,26 @@ +diff -urN lzma-4.65/CPP/7zip/Common/FileStreams.h lzma-4.65.new/CPP/7zip/Common/FileStreams.h +--- lzma-4.65/CPP/7zip/Common/FileStreams.h 2009-05-15 23:33:51.000000000 +0200 ++++ lzma-4.65.new/CPP/7zip/Common/FileStreams.h 2009-06-01 22:30:01.000000000 +0200 +@@ -72,6 +72,7 @@ + public IOutStream, + public CMyUnknownImp + { ++public: + #ifdef USE_WIN_FILE + NWindows::NFile::NIO::COutFile File; + #else +diff -urN lzma-4.65/CPP/Common/MyWindows.h lzma-4.65.new/CPP/Common/MyWindows.h +--- lzma-4.65/CPP/Common/MyWindows.h 2009-05-15 23:33:51.000000000 +0200 ++++ lzma-4.65.new/CPP/Common/MyWindows.h 2009-06-01 22:29:26.000000000 +0200 +@@ -101,8 +101,11 @@ + + #ifdef __cplusplus + ++#ifndef INITGUID ++#define INITGUID + DEFINE_GUID(IID_IUnknown, + 0x00000000, 0x0000, 0x0000, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46); ++#endif + struct IUnknown + { + 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 00000000000..15ab4e0552b --- /dev/null +++ b/meta-oe/recipes-support/lzma/lzma-4.65/100-static_library.patch @@ -0,0 +1,70 @@ +--- a/C/LzmaUtil/makefile.gcc ++++ b/C/LzmaUtil/makefile.gcc +@@ -1,44 +1,53 @@ + PROG = lzma +-CXX = g++ +-LIB = ++CC = gcc ++LIB = liblzma.a + RM = rm -f + CFLAGS = -c -O2 -Wall ++AR = ar ++RANLIB = ranlib + + OBJS = \ +- LzmaUtil.o \ + Alloc.o \ + LzFind.o \ + LzmaDec.o \ + LzmaEnc.o \ ++ LzmaLib.o \ + 7zFile.o \ + 7zStream.o \ + +- + all: $(PROG) + +-$(PROG): $(OBJS) +- $(CXX) -o $(PROG) $(LDFLAGS) $(OBJS) $(LIB) $(LIB2) ++$(PROG): LzmaUtil.o $(LIB) ++ $(CC) -o $(PROG) $(LDFLAGS) $< $(LIB) + + LzmaUtil.o: LzmaUtil.c +- $(CXX) $(CFLAGS) LzmaUtil.c ++ $(CC) $(CFLAGS) LzmaUtil.c ++ ++$(LIB): $(OBJS) ++ rm -f $@ ++ $(AR) rcu $@ $(OBJS) ++ $(RANLIB) $@ + + Alloc.o: ../Alloc.c +- $(CXX) $(CFLAGS) ../Alloc.c ++ $(CC) $(CFLAGS) ../Alloc.c + + LzFind.o: ../LzFind.c +- $(CXX) $(CFLAGS) ../LzFind.c ++ $(CC) $(CFLAGS) ../LzFind.c + + LzmaDec.o: ../LzmaDec.c +- $(CXX) $(CFLAGS) ../LzmaDec.c ++ $(CC) $(CFLAGS) ../LzmaDec.c + + LzmaEnc.o: ../LzmaEnc.c +- $(CXX) $(CFLAGS) ../LzmaEnc.c ++ $(CC) $(CFLAGS) ../LzmaEnc.c ++ ++LzmaLib.o: ../LzmaLib.c ++ $(CC) $(CFLAGS) ../LzmaLib.c + + 7zFile.o: ../7zFile.c +- $(CXX) $(CFLAGS) ../7zFile.c ++ $(CC) $(CFLAGS) ../7zFile.c + + 7zStream.o: ../7zStream.c +- $(CXX) $(CFLAGS) ../7zStream.c ++ $(CC) $(CFLAGS) ../7zStream.c + + clean: +- -$(RM) $(PROG) $(OBJS) ++ -$(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 00000000000..ccca4d9e838 --- /dev/null +++ b/meta-oe/recipes-support/lzma/lzma-4.65/makefile-cleanup.patch @@ -0,0 +1,18 @@ +Index: lzma-4.65/C/LzmaUtil/makefile.gcc +=================================================================== +--- lzma-4.65.orig/C/LzmaUtil/makefile.gcc ++++ lzma-4.65/C/LzmaUtil/makefile.gcc +@@ -1,10 +1,10 @@ + PROG = lzma +-CC = gcc ++CC ?= gcc + LIB = liblzma.a + RM = rm -f + CFLAGS = -c -O2 -Wall +-AR = ar +-RANLIB = ranlib ++AR ?= ar ++RANLIB ?= ranlib + + OBJS = \ + 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 00000000000..72f5d47bb29 --- /dev/null +++ b/meta-oe/recipes-support/lzma/lzma.inc @@ -0,0 +1,36 @@ +DESCRIPTION = "LZMA is a general compression method. LZMA provides high compression ratio and very fast decompression." +HOMEPAGE = "http://www.7-zip.org/" +LICENSE = "LGPL" +LIC_FILES_CHKSUM = "file://lzma.txt;md5=20251cdc2e3793cceab11878d0aa11b1" +INC_PR = "r6" + +SRC_URI = "http://downloads.sourceforge.net/sevenzip/lzma${@bb.data.getVar('PV',d,1).replace('.','')}.tar.bz2;subdir=${BPN}-${PV} \ + file://001-large_files.patch \ + file://002-lzmp.patch \ + file://003-compile_fixes.patch \ + file://100-static_library.patch \ + file://makefile-cleanup.patch" + +EXTRA_OEMAKE = "-f makefile.gcc" + +do_unpack_append() { + import oe.process + # Replace MS-DOS line-endings with Unix style line-endings + oe.process.run("find . -type f -print0 | xargs -0 sed 's/\r$//' -i", + cwd=d.getVar("S", True)) +} + +do_compile() { + oe_runmake CFLAGS='${CFLAGS} -c' -C C/LzmaUtil + oe_runmake CXX_C='${CC} ${CFLAGS}' CXX='${CXX} ${CXXFLAGS}' \ + -C CPP/7zip/Compress/LZMA_Alone +} + +do_install() { + install -d ${D}${bindir} ${D}${libdir} + install -m 0755 CPP/7zip/Compress/LZMA_Alone/lzma ${D}${bindir} + oe_libinstall -a -C C/LzmaUtil liblzma ${D}${libdir} +} + +NATIVE_INSTALL_WORKS = "1" +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 00000000000..5295cd9a929 --- /dev/null +++ b/meta-oe/recipes-support/lzma/lzma_4.65.bb @@ -0,0 +1,5 @@ +require lzma.inc +PR = "${INC_PR}.1" + +SRC_URI[md5sum] = "29d5ffd03a5a3e51aef6a74e9eafb759" +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 00000000000..a4029d7990c --- /dev/null +++ b/meta-oe/recipes-support/mpfr/mpfr-3.0.0/long-long-thumb.patch @@ -0,0 +1,11 @@ +--- mpfr-2.3.1/mpfr-longlong.h~ 2008-01-01 03:29:09.000000000 +0000 ++++ mpfr-2.3.1/mpfr-longlong.h 2008-10-27 21:46:44.000000000 +0000 +@@ -406,7 +406,7 @@ + "rIJ" ((USItype) (bl))) + #endif + +-#if defined (__arm__) && W_TYPE_SIZE == 32 ++#if defined (__arm__) && W_TYPE_SIZE == 32 && !defined(__thumb__) + #define add_ssaaaa(sh, sl, ah, al, bh, bl) \ + __asm__ ("adds\t%1, %4, %5\n\tadc\t%0, %2, %3" \ + : "=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 00000000000..743c07139de --- /dev/null +++ b/meta-oe/recipes-support/mpfr/mpfr-3.0.0/p4.patch @@ -0,0 +1,1752 @@ +diff -Naurd mpfr-3.0.0-a/PATCHES mpfr-3.0.0-b/PATCHES +--- mpfr-3.0.0-a/PATCHES 2010-06-23 11:02:49.000000000 +0000 ++++ mpfr-3.0.0-b/PATCHES 2010-06-23 11:03:36.000000000 +0000 +@@ -0,0 +1 @@ ++mpfr_out_str +diff -Naurd mpfr-3.0.0-a/VERSION mpfr-3.0.0-b/VERSION +--- mpfr-3.0.0-a/VERSION 2010-06-10 11:00:14.000000000 +0000 ++++ mpfr-3.0.0-b/VERSION 2010-06-23 11:03:20.000000000 +0000 +@@ -1 +1 @@ +-3.0.0 ++3.0.0-p1 +diff -Naurd mpfr-3.0.0-a/mpfr.h mpfr-3.0.0-b/mpfr.h +--- mpfr-3.0.0-a/mpfr.h 2010-06-10 11:00:14.000000000 +0000 ++++ mpfr-3.0.0-b/mpfr.h 2010-06-23 11:03:20.000000000 +0000 +@@ -27,7 +27,7 @@ + #define MPFR_VERSION_MAJOR 3 + #define MPFR_VERSION_MINOR 0 + #define MPFR_VERSION_PATCHLEVEL 0 +-#define MPFR_VERSION_STRING "3.0.0" ++#define MPFR_VERSION_STRING "3.0.0-p1" + + /* Macros dealing with MPFR VERSION */ + #define MPFR_VERSION_NUM(a,b,c) (((a) << 16L) | ((b) << 8) | (c)) +diff -Naurd mpfr-3.0.0-a/mpfr.texi mpfr-3.0.0-b/mpfr.texi +--- mpfr-3.0.0-a/mpfr.texi 2010-06-10 11:00:14.000000000 +0000 ++++ mpfr-3.0.0-b/mpfr.texi 2010-06-23 11:03:12.000000000 +0000 +@@ -2050,7 +2050,7 @@ + are printed. If @var{base} is greater than 10, @samp{@@} will be used + instead of @samp{e} as exponent delimiter. + +-Return the number of bytes written, or if an error occurred, return 0. ++Return the number of characters written, or if an error occurred, return 0. + @end deftypefun + + @deftypefun size_t mpfr_inp_str (mpfr_t @var{rop}, FILE *@var{stream}, int @var{base}, mpfr_rnd_t @var{rnd}) +diff -Naurd mpfr-3.0.0-a/out_str.c mpfr-3.0.0-b/out_str.c +--- mpfr-3.0.0-a/out_str.c 2010-06-10 11:00:14.000000000 +0000 ++++ mpfr-3.0.0-b/out_str.c 2010-06-23 11:03:12.000000000 +0000 +@@ -22,6 +22,16 @@ + + #include "mpfr-impl.h" + ++/* Warning! S should not contain "%". */ ++#define OUT_STR_RET(S) \ ++ do \ ++ { \ ++ int r; \ ++ r = fprintf (stream, (S)); \ ++ return r < 0 ? 0 : r; \ ++ } \ ++ while (0) ++ + size_t + mpfr_out_str (FILE *stream, int base, size_t n_digits, mpfr_srcptr op, + mpfr_rnd_t rnd_mode) +@@ -29,6 +39,7 @@ + char *s, *s0; + size_t l; + mpfr_exp_t e; ++ int err; + + MPFR_ASSERTN (base >= 2 && base <= 62); + +@@ -36,37 +47,16 @@ + if (stream == NULL) + stream = stdout; + +- if (MPFR_IS_NAN(op)) +- { +- fprintf (stream, "@NaN@"); +- return 3; +- } +- +- if (MPFR_IS_INF(op)) +- { +- if (MPFR_SIGN(op) > 0) +- { +- fprintf (stream, "@Inf@"); +- return 3; +- } +- else +- { +- fprintf (stream, "-@Inf@"); +- return 4; +- } +- } +- +- if (MPFR_IS_ZERO(op)) ++ if (MPFR_UNLIKELY (MPFR_IS_SINGULAR (op))) + { +- if (MPFR_SIGN(op) > 0) +- { +- fprintf(stream, "0"); +- return 1; +- } ++ if (MPFR_IS_NAN (op)) ++ OUT_STR_RET ("@NaN@"); ++ else if (MPFR_IS_INF (op)) ++ OUT_STR_RET (MPFR_IS_POS (op) ? "@Inf@" : "-@Inf@"); + else + { +- fprintf(stream, "-0"); +- return 2; ++ MPFR_ASSERTD (MPFR_IS_ZERO (op)); ++ OUT_STR_RET (MPFR_IS_POS (op) ? "0" : "-0"); + } + } + +@@ -77,21 +67,31 @@ + + l = strlen (s) + 1; /* size of allocated block returned by mpfr_get_str + - may be incorrect, as only an upper bound? */ +- if (*s == '-') +- fputc (*s++, stream); + +- /* outputs mantissa */ +- fputc (*s++, stream); e--; /* leading digit */ +- fputc ((unsigned char) MPFR_DECIMAL_POINT, stream); +- fputs (s, stream); /* rest of mantissa */ ++ /* outputs possible sign and significand */ ++ err = (*s == '-' && fputc (*s++, stream) == EOF) ++ || fputc (*s++, stream) == EOF /* leading digit */ ++ || fputc ((unsigned char) MPFR_DECIMAL_POINT, stream) == EOF ++ || fputs (s, stream) == EOF; /* trailing significand */ + (*__gmp_free_func) (s0, l); ++ if (MPFR_UNLIKELY (err)) ++ return 0; ++ ++ e--; /* due to the leading digit */ + + /* outputs exponent */ + if (e) + { ++ int r; ++ + MPFR_ASSERTN(e >= LONG_MIN); + MPFR_ASSERTN(e <= LONG_MAX); +- l += fprintf (stream, (base <= 10 ? "e%ld" : "@%ld"), (long) e); ++ ++ r = fprintf (stream, (base <= 10 ? "e%ld" : "@%ld"), (long) e); ++ if (MPFR_UNLIKELY (r < 0)) ++ return 0; ++ ++ l += r; + } + + return l; +diff -Naurd mpfr-3.0.0-a/tests/tout_str.c mpfr-3.0.0-b/tests/tout_str.c +--- mpfr-3.0.0-a/tests/tout_str.c 2010-06-10 11:00:13.000000000 +0000 ++++ mpfr-3.0.0-b/tests/tout_str.c 2010-06-23 11:03:12.000000000 +0000 +@@ -46,22 +46,54 @@ + special (void) + { + mpfr_t x; ++ unsigned int n; + + mpfr_init (x); + + mpfr_set_nan (x); +- mpfr_out_str (fout, 10, 0, x, MPFR_RNDN); ++ n = mpfr_out_str (fout, 10, 0, x, MPFR_RNDN); ++ if (n != 5) ++ { ++ printf ("Error: mpfr_out_str (file, 10, 0, NaN, MPFR_RNDN) wrote %u " ++ "characters instead of 5.\n", n); ++ exit (1); ++ } + + mpfr_set_inf (x, 1); +- mpfr_out_str (fout, 10, 0, x, MPFR_RNDN); ++ n = mpfr_out_str (fout, 10, 0, x, MPFR_RNDN); ++ if (n != 5) ++ { ++ printf ("Error: mpfr_out_str (file, 10, 0, +Inf, MPFR_RNDN) wrote %u " ++ "characters instead of 5.\n", n); ++ exit (1); ++ } + + mpfr_set_inf (x, -1); +- mpfr_out_str (fout, 10, 0, x, MPFR_RNDN); ++ n = mpfr_out_str (fout, 10, 0, x, MPFR_RNDN); ++ if (n != 6) ++ { ++ printf ("Error: mpfr_out_str (file, 10, 0, -Inf, MPFR_RNDN) wrote %u " ++ "characters instead of 6.\n", n); ++ exit (1); ++ } + + mpfr_set_ui (x, 0, MPFR_RNDN); +- mpfr_out_str (fout, 10, 0, x, MPFR_RNDN); ++ n = mpfr_out_str (fout, 10, 0, x, MPFR_RNDN); ++ if (n != 1) ++ { ++ printf ("Error: mpfr_out_str (file, 10, 0, +0, MPFR_RNDN) wrote %u " ++ "characters instead of 1.\n", n); ++ exit (1); ++ } ++ + mpfr_neg (x, x, MPFR_RNDN); +- mpfr_out_str (fout, 10, 0, x, MPFR_RNDN); ++ n = mpfr_out_str (fout, 10, 0, x, MPFR_RNDN); ++ if (n != 2) ++ { ++ printf ("Error: mpfr_out_str (file, 10, 0, -0, MPFR_RNDN) wrote %u " ++ "characters instead of 2.\n", n); ++ exit (1); ++ } + + mpfr_clear (x); + } +diff -Naurd mpfr-3.0.0-a/version.c mpfr-3.0.0-b/version.c +--- mpfr-3.0.0-a/version.c 2010-06-10 11:00:14.000000000 +0000 ++++ mpfr-3.0.0-b/version.c 2010-06-23 11:03:20.000000000 +0000 +@@ -25,5 +25,5 @@ + const char * + mpfr_get_version (void) + { +- return "3.0.0"; ++ return "3.0.0-p1"; + } +diff -Naurd mpfr-3.0.0-a/Makefile.in mpfr-3.0.0-b/Makefile.in +--- mpfr-3.0.0-a/Makefile.in 2010-06-10 11:00:52.000000000 +0000 ++++ mpfr-3.0.0-b/Makefile.in 2010-06-10 11:00:52.000000000 +0000 +@@ -239,6 +239,7 @@ + distuninstallcheck_listfiles = find . -type f -print + distcleancheck_listfiles = find . -type f -print + ACLOCAL = @ACLOCAL@ ++ALLOCA = @ALLOCA@ + AMTAR = @AMTAR@ + AR = @AR@ + AS = @AS@ +diff -Naurd mpfr-3.0.0-a/PATCHES mpfr-3.0.0-b/PATCHES +--- mpfr-3.0.0-a/PATCHES 2010-06-23 11:03:36.000000000 +0000 ++++ mpfr-3.0.0-b/PATCHES 2010-06-25 13:23:13.000000000 +0000 +@@ -0,0 +1 @@ ++alloca +diff -Naurd mpfr-3.0.0-a/VERSION mpfr-3.0.0-b/VERSION +--- mpfr-3.0.0-a/VERSION 2010-06-23 11:03:20.000000000 +0000 ++++ mpfr-3.0.0-b/VERSION 2010-06-25 13:23:13.000000000 +0000 +@@ -1 +1 @@ +-3.0.0-p1 ++3.0.0-p2 +diff -Naurd mpfr-3.0.0-a/acinclude.m4 mpfr-3.0.0-b/acinclude.m4 +--- mpfr-3.0.0-a/acinclude.m4 2010-06-10 11:00:14.000000000 +0000 ++++ mpfr-3.0.0-b/acinclude.m4 2010-06-10 11:00:14.000000000 +0000 +@@ -59,6 +59,9 @@ + dnl sys/fpu.h - MIPS specific + AC_CHECK_HEADERS([sys/time.h sys/fpu.h]) + ++dnl Check how to get `alloca' ++AC_FUNC_ALLOCA ++ + dnl SIZE_MAX macro + gl_SIZE_MAX + +diff -Naurd mpfr-3.0.0-a/configure mpfr-3.0.0-b/configure +--- mpfr-3.0.0-a/configure 2010-06-10 11:00:51.000000000 +0000 ++++ mpfr-3.0.0-b/configure 2010-06-25 13:23:05.000000000 +0000 +@@ -783,6 +783,7 @@ + OBJDUMP + DLLTOOL + AS ++ALLOCA + MPFR_LIBM + ANSI2KNR + U +@@ -5622,6 +5623,197 @@ + done + + ++# The Ultrix 4.2 mips builtin alloca declared by alloca.h only works ++# for constant arguments. Useless! ++{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for working alloca.h" >&5 ++$as_echo_n "checking for working alloca.h... " >&6; } ++if test "${ac_cv_working_alloca_h+set}" = set; then : ++ $as_echo_n "(cached) " >&6 ++else ++ cat confdefs.h - <<_ACEOF >conftest.$ac_ext ++/* end confdefs.h. */ ++#include <alloca.h> ++int ++main () ++{ ++char *p = (char *) alloca (2 * sizeof (int)); ++ if (p) return 0; ++ ; ++ return 0; ++} ++_ACEOF ++if ac_fn_c_try_link "$LINENO"; then : ++ ac_cv_working_alloca_h=yes ++else ++ ac_cv_working_alloca_h=no ++fi ++rm -f core conftest.err conftest.$ac_objext \ ++ conftest$ac_exeext conftest.$ac_ext ++fi ++{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_working_alloca_h" >&5 ++$as_echo "$ac_cv_working_alloca_h" >&6; } ++if test $ac_cv_working_alloca_h = yes; then ++ ++$as_echo "#define HAVE_ALLOCA_H 1" >>confdefs.h ++ ++fi ++ ++{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for alloca" >&5 ++$as_echo_n "checking for alloca... " >&6; } ++if test "${ac_cv_func_alloca_works+set}" = set; then : ++ $as_echo_n "(cached) " >&6 ++else ++ cat confdefs.h - <<_ACEOF >conftest.$ac_ext ++/* end confdefs.h. */ ++#ifdef __GNUC__ ++# define alloca __builtin_alloca ++#else ++# ifdef _MSC_VER ++# include <malloc.h> ++# define alloca _alloca ++# else ++# ifdef HAVE_ALLOCA_H ++# include <alloca.h> ++# else ++# ifdef _AIX ++ #pragma alloca ++# else ++# ifndef alloca /* predefined by HP cc +Olibcalls */ ++char *alloca (); ++# endif ++# endif ++# endif ++# endif ++#endif ++ ++int ++main () ++{ ++char *p = (char *) alloca (1); ++ if (p) return 0; ++ ; ++ return 0; ++} ++_ACEOF ++if ac_fn_c_try_link "$LINENO"; then : ++ ac_cv_func_alloca_works=yes ++else ++ ac_cv_func_alloca_works=no ++fi ++rm -f core conftest.err conftest.$ac_objext \ ++ conftest$ac_exeext conftest.$ac_ext ++fi ++{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_func_alloca_works" >&5 ++$as_echo "$ac_cv_func_alloca_works" >&6; } ++ ++if test $ac_cv_func_alloca_works = yes; then ++ ++$as_echo "#define HAVE_ALLOCA 1" >>confdefs.h ++ ++else ++ # The SVR3 libPW and SVR4 libucb both contain incompatible functions ++# that cause trouble. Some versions do not even contain alloca or ++# contain a buggy version. If you still want to use their alloca, ++# use ar to extract alloca.o from them instead of compiling alloca.c. ++ ++ALLOCA=\${LIBOBJDIR}alloca.$ac_objext ++ ++$as_echo "#define C_ALLOCA 1" >>confdefs.h ++ ++ ++{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether \`alloca.c' needs Cray hooks" >&5 ++$as_echo_n "checking whether \`alloca.c' needs Cray hooks... " >&6; } ++if test "${ac_cv_os_cray+set}" = set; then : ++ $as_echo_n "(cached) " >&6 ++else ++ cat confdefs.h - <<_ACEOF >conftest.$ac_ext ++/* end confdefs.h. */ ++#if defined CRAY && ! defined CRAY2 ++webecray ++#else ++wenotbecray ++#endif ++ ++_ACEOF ++if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | ++ $EGREP "webecray" >/dev/null 2>&1; then : ++ ac_cv_os_cray=yes ++else ++ ac_cv_os_cray=no ++fi ++rm -f conftest* ++ ++fi ++{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_os_cray" >&5 ++$as_echo "$ac_cv_os_cray" >&6; } ++if test $ac_cv_os_cray = yes; then ++ for ac_func in _getb67 GETB67 getb67; do ++ as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh` ++ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var" ++eval as_val=\$$as_ac_var ++ if test "x$as_val" = x""yes; then : ++ ++cat >>confdefs.h <<_ACEOF ++#define CRAY_STACKSEG_END $ac_func ++_ACEOF ++ ++ break ++fi ++ ++ done ++fi ++ ++{ $as_echo "$as_me:${as_lineno-$LINENO}: checking stack direction for C alloca" >&5 ++$as_echo_n "checking stack direction for C alloca... " >&6; } ++if test "${ac_cv_c_stack_direction+set}" = set; then : ++ $as_echo_n "(cached) " >&6 ++else ++ if test "$cross_compiling" = yes; then : ++ ac_cv_c_stack_direction=0 ++else ++ cat confdefs.h - <<_ACEOF >conftest.$ac_ext ++/* end confdefs.h. */ ++$ac_includes_default ++int ++find_stack_direction () ++{ ++ static char *addr = 0; ++ auto char dummy; ++ if (addr == 0) ++ { ++ addr = &dummy; ++ return find_stack_direction (); ++ } ++ else ++ return (&dummy > addr) ? 1 : -1; ++} ++ ++int ++main () ++{ ++ return find_stack_direction () < 0; ++} ++_ACEOF ++if ac_fn_c_try_run "$LINENO"; then : ++ ac_cv_c_stack_direction=1 ++else ++ ac_cv_c_stack_direction=-1 ++fi ++rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \ ++ conftest.$ac_objext conftest.beam conftest.$ac_ext ++fi ++ ++fi ++{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_stack_direction" >&5 ++$as_echo "$ac_cv_c_stack_direction" >&6; } ++cat >>confdefs.h <<_ACEOF ++#define STACK_DIRECTION $ac_cv_c_stack_direction ++_ACEOF ++ ++ ++fi ++ ++ + + for ac_header in stdint.h + do : +@@ -7564,13 +7756,13 @@ + else + lt_cv_nm_interface="BSD nm" + echo "int some_variable = 0;" > conftest.$ac_ext +- (eval echo "\"\$as_me:7567: $ac_compile\"" >&5) ++ (eval echo "\"\$as_me:7759: $ac_compile\"" >&5) + (eval "$ac_compile" 2>conftest.err) + cat conftest.err >&5 +- (eval echo "\"\$as_me:7570: $NM \\\"conftest.$ac_objext\\\"\"" >&5) ++ (eval echo "\"\$as_me:7762: $NM \\\"conftest.$ac_objext\\\"\"" >&5) + (eval "$NM \"conftest.$ac_objext\"" 2>conftest.err > conftest.out) + cat conftest.err >&5 +- (eval echo "\"\$as_me:7573: output\"" >&5) ++ (eval echo "\"\$as_me:7765: output\"" >&5) + cat conftest.out >&5 + if $GREP 'External.*some_variable' conftest.out > /dev/null; then + lt_cv_nm_interface="MS dumpbin" +@@ -8772,7 +8964,7 @@ + ;; + *-*-irix6*) + # Find out which ABI we are using. +- echo '#line 8775 "configure"' > conftest.$ac_ext ++ echo '#line 8967 "configure"' > conftest.$ac_ext + if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5 + (eval $ac_compile) 2>&5 + ac_status=$? +@@ -10032,11 +10224,11 @@ + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ + -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` +- (eval echo "\"\$as_me:10035: $lt_compile\"" >&5) ++ (eval echo "\"\$as_me:10227: $lt_compile\"" >&5) + (eval "$lt_compile" 2>conftest.err) + ac_status=$? + cat conftest.err >&5 +- echo "$as_me:10039: \$? = $ac_status" >&5 ++ echo "$as_me:10231: \$? = $ac_status" >&5 + if (exit $ac_status) && test -s "$ac_outfile"; then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings other than the usual output. +@@ -10371,11 +10563,11 @@ + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ + -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` +- (eval echo "\"\$as_me:10374: $lt_compile\"" >&5) ++ (eval echo "\"\$as_me:10566: $lt_compile\"" >&5) + (eval "$lt_compile" 2>conftest.err) + ac_status=$? + cat conftest.err >&5 +- echo "$as_me:10378: \$? = $ac_status" >&5 ++ echo "$as_me:10570: \$? = $ac_status" >&5 + if (exit $ac_status) && test -s "$ac_outfile"; then + # The compiler can only warn and ignore the option if not recognized + # So say no if there are warnings other than the usual output. +@@ -10476,11 +10668,11 @@ + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ + -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` +- (eval echo "\"\$as_me:10479: $lt_compile\"" >&5) ++ (eval echo "\"\$as_me:10671: $lt_compile\"" >&5) + (eval "$lt_compile" 2>out/conftest.err) + ac_status=$? + cat out/conftest.err >&5 +- echo "$as_me:10483: \$? = $ac_status" >&5 ++ echo "$as_me:10675: \$? = $ac_status" >&5 + if (exit $ac_status) && test -s out/conftest2.$ac_objext + then + # The compiler can only warn and ignore the option if not recognized +@@ -10531,11 +10723,11 @@ + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ + -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ + -e 's:$: $lt_compiler_flag:'` +- (eval echo "\"\$as_me:10534: $lt_compile\"" >&5) ++ (eval echo "\"\$as_me:10726: $lt_compile\"" >&5) + (eval "$lt_compile" 2>out/conftest.err) + ac_status=$? + cat out/conftest.err >&5 +- echo "$as_me:10538: \$? = $ac_status" >&5 ++ echo "$as_me:10730: \$? = $ac_status" >&5 + if (exit $ac_status) && test -s out/conftest2.$ac_objext + then + # The compiler can only warn and ignore the option if not recognized +@@ -12915,7 +13107,7 @@ + lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 + lt_status=$lt_dlunknown + cat > conftest.$ac_ext <<_LT_EOF +-#line 12918 "configure" ++#line 13110 "configure" + #include "confdefs.h" + + #if HAVE_DLFCN_H +@@ -13011,7 +13203,7 @@ + lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 + lt_status=$lt_dlunknown + cat > conftest.$ac_ext <<_LT_EOF +-#line 13014 "configure" ++#line 13206 "configure" + #include "confdefs.h" + + #if HAVE_DLFCN_H +diff -Naurd mpfr-3.0.0-a/mpfr.h mpfr-3.0.0-b/mpfr.h +--- mpfr-3.0.0-a/mpfr.h 2010-06-23 11:03:20.000000000 +0000 ++++ mpfr-3.0.0-b/mpfr.h 2010-06-25 13:23:13.000000000 +0000 +@@ -27,7 +27,7 @@ + #define MPFR_VERSION_MAJOR 3 + #define MPFR_VERSION_MINOR 0 + #define MPFR_VERSION_PATCHLEVEL 0 +-#define MPFR_VERSION_STRING "3.0.0-p1" ++#define MPFR_VERSION_STRING "3.0.0-p2" + + /* Macros dealing with MPFR VERSION */ + #define MPFR_VERSION_NUM(a,b,c) (((a) << 16L) | ((b) << 8) | (c)) +diff -Naurd mpfr-3.0.0-a/tests/Makefile.in mpfr-3.0.0-b/tests/Makefile.in +--- mpfr-3.0.0-a/tests/Makefile.in 2010-06-10 11:00:52.000000000 +0000 ++++ mpfr-3.0.0-b/tests/Makefile.in 2010-06-10 11:00:52.000000000 +0000 +@@ -960,6 +960,7 @@ + red=; grn=; lgn=; blu=; std= + DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST) + ACLOCAL = @ACLOCAL@ ++ALLOCA = @ALLOCA@ + AMTAR = @AMTAR@ + AR = @AR@ + AS = @AS@ +diff -Naurd mpfr-3.0.0-a/version.c mpfr-3.0.0-b/version.c +--- mpfr-3.0.0-a/version.c 2010-06-23 11:03:20.000000000 +0000 ++++ mpfr-3.0.0-b/version.c 2010-06-25 13:23:13.000000000 +0000 +@@ -25,5 +25,5 @@ + const char * + mpfr_get_version (void) + { +- return "3.0.0-p1"; ++ return "3.0.0-p2"; + } +diff -Naurd mpfr-3.0.0-a/PATCHES mpfr-3.0.0-b/PATCHES +--- mpfr-3.0.0-a/PATCHES 2010-07-10 00:11:19.000000000 +0000 ++++ mpfr-3.0.0-b/PATCHES 2010-07-10 00:12:50.000000000 +0000 +@@ -0,0 +1 @@ ++gamma_underflow +diff -Naurd mpfr-3.0.0-a/VERSION mpfr-3.0.0-b/VERSION +--- mpfr-3.0.0-a/VERSION 2010-06-25 13:23:13.000000000 +0000 ++++ mpfr-3.0.0-b/VERSION 2010-07-10 00:11:53.000000000 +0000 +@@ -1 +1 @@ +-3.0.0-p2 ++3.0.0-p3 +diff -Naurd mpfr-3.0.0-a/gamma.c mpfr-3.0.0-b/gamma.c +--- mpfr-3.0.0-a/gamma.c 2010-06-10 11:00:14.000000000 +0000 ++++ mpfr-3.0.0-b/gamma.c 2010-07-10 00:11:46.000000000 +0000 +@@ -274,7 +274,7 @@ + /* we want an upper bound for x * [log(2-x)-1]. + since x < 0, we need a lower bound on log(2-x) */ + mpfr_ui_sub (xp, 2, x, MPFR_RNDD); +- mpfr_log (xp, xp, MPFR_RNDD); ++ mpfr_log2 (xp, xp, MPFR_RNDD); + mpfr_sub_ui (xp, xp, 1, MPFR_RNDD); + mpfr_mul (xp, xp, x, MPFR_RNDU); + +@@ -303,8 +303,8 @@ + { + mpfr_sub (tmp, tmp, tmp2, MPFR_RNDZ); /* low bnd on |sin(Pi*(2-x))| */ + mpfr_ui_div (tmp, 12, tmp, MPFR_RNDU); /* upper bound */ +- mpfr_log (tmp, tmp, MPFR_RNDU); +- mpfr_add (tmp, tmp, xp, MPFR_RNDU); ++ mpfr_log2 (tmp, tmp, MPFR_RNDU); ++ mpfr_add (xp, tmp, xp, MPFR_RNDU); + underflow = mpfr_cmp_si (xp, expo.saved_emin - 2) <= 0; + } + +diff -Naurd mpfr-3.0.0-a/mpfr.h mpfr-3.0.0-b/mpfr.h +--- mpfr-3.0.0-a/mpfr.h 2010-06-25 13:23:13.000000000 +0000 ++++ mpfr-3.0.0-b/mpfr.h 2010-07-10 00:11:53.000000000 +0000 +@@ -27,7 +27,7 @@ + #define MPFR_VERSION_MAJOR 3 + #define MPFR_VERSION_MINOR 0 + #define MPFR_VERSION_PATCHLEVEL 0 +-#define MPFR_VERSION_STRING "3.0.0-p2" ++#define MPFR_VERSION_STRING "3.0.0-p3" + + /* Macros dealing with MPFR VERSION */ + #define MPFR_VERSION_NUM(a,b,c) (((a) << 16L) | ((b) << 8) | (c)) +diff -Naurd mpfr-3.0.0-a/tests/tgamma.c mpfr-3.0.0-b/tests/tgamma.c +--- mpfr-3.0.0-a/tests/tgamma.c 2010-06-10 11:00:13.000000000 +0000 ++++ mpfr-3.0.0-b/tests/tgamma.c 2010-07-10 00:11:46.000000000 +0000 +@@ -461,6 +461,20 @@ + mpfr_clear (x); + } + ++/* bug found by Stathis, only occurs on 32-bit machines */ ++static void ++test20100709 (void) ++{ ++ mpfr_t x; ++ int inex; ++ ++ mpfr_init2 (x, 100); ++ mpfr_set_str (x, "-4.6308260837372266e+07", 10, MPFR_RNDN); ++ inex = mpfr_gamma (x, x, MPFR_RNDN); ++ MPFR_ASSERTN(MPFR_IS_ZERO(x) && MPFR_IS_NEG(x) && inex > 0); ++ mpfr_clear (x); ++} ++ + int + main (int argc, char *argv[]) + { +@@ -471,6 +485,7 @@ + test_generic (2, 100, 2); + gamma_integer (); + test20071231 (); ++ test20100709 (); + + data_check ("data/gamma", mpfr_gamma, "mpfr_gamma"); + +diff -Naurd mpfr-3.0.0-a/version.c mpfr-3.0.0-b/version.c +--- mpfr-3.0.0-a/version.c 2010-06-25 13:23:13.000000000 +0000 ++++ mpfr-3.0.0-b/version.c 2010-07-10 00:11:53.000000000 +0000 +@@ -25,5 +25,5 @@ + const char * + mpfr_get_version (void) + { +- return "3.0.0-p2"; ++ return "3.0.0-p3"; + } +diff -Naurd mpfr-3.0.0-a/PATCHES mpfr-3.0.0-b/PATCHES +--- mpfr-3.0.0-a/PATCHES 2010-09-07 08:44:01.000000000 +0000 ++++ mpfr-3.0.0-b/PATCHES 2010-09-07 08:48:46.000000000 +0000 +@@ -0,0 +1 @@ ++mpfr_cmp/set_ui/si +diff -Naurd mpfr-3.0.0-a/VERSION mpfr-3.0.0-b/VERSION +--- mpfr-3.0.0-a/VERSION 2010-07-10 00:11:53.000000000 +0000 ++++ mpfr-3.0.0-b/VERSION 2010-09-07 08:46:06.000000000 +0000 +@@ -1 +1 @@ +-3.0.0-p3 ++3.0.0-p4 +diff -Naurd mpfr-3.0.0-a/mpfr.h mpfr-3.0.0-b/mpfr.h +--- mpfr-3.0.0-a/mpfr.h 2010-07-10 00:11:53.000000000 +0000 ++++ mpfr-3.0.0-b/mpfr.h 2010-09-07 08:46:06.000000000 +0000 +@@ -27,7 +27,7 @@ + #define MPFR_VERSION_MAJOR 3 + #define MPFR_VERSION_MINOR 0 + #define MPFR_VERSION_PATCHLEVEL 0 +-#define MPFR_VERSION_STRING "3.0.0-p3" ++#define MPFR_VERSION_STRING "3.0.0-p4" + + /* Macros dealing with MPFR VERSION */ + #define MPFR_VERSION_NUM(a,b,c) (((a) << 16L) | ((b) << 8) | (c)) +@@ -798,35 +798,45 @@ + anyway. Checking with other ICC versions is needed. Possibly detect + whether warnings are produced or not with a configure test. + + Remove C++ too, since it complains too much. */ ++/* Added casts to improve robustness in case of undefined behavior and ++ compiler extensions based on UB (in particular -fwrapv). MPFR doesn't ++ use such extensions, but these macros will be used by 3rd-party code, ++ where such extensions may be required. ++ Moreover casts to unsigned long have been added to avoid warnings in ++ programs that use MPFR and are compiled with -Wconversion; such casts ++ are OK since if X is a constant expression, then (unsigned long) X is ++ also a constant expression, so that the optimizations still work. */ + #if defined (__GNUC__) && !defined(__ICC) && !defined(__cplusplus) + #if (__GNUC__ >= 2) + #undef mpfr_cmp_ui +-/* We use the fact that mpfr_sgn on NaN sets the erange flag and returns 0. */ +-#define mpfr_cmp_ui(_f,_u) \ +- (__builtin_constant_p (_u) && (_u) == 0 ? \ +- mpfr_sgn (_f) : \ +- mpfr_cmp_ui_2exp ((_f),(_u),0)) ++/* We use the fact that mpfr_sgn on NaN sets the erange flag and returns 0. ++ But warning! mpfr_sgn is specified as a macro in the API, thus the macro ++ mustn't be used if side effects are possible, like here. */ ++#define mpfr_cmp_ui(_f,_u) \ ++ (__builtin_constant_p (_u) && (unsigned long) (_u) == 0 ? \ ++ (mpfr_sgn) (_f) : \ ++ mpfr_cmp_ui_2exp ((_f), (unsigned long) (_u), 0)) + #undef mpfr_cmp_si +-#define mpfr_cmp_si(_f,_s) \ +- (__builtin_constant_p (_s) && (_s) >= 0 ? \ +- mpfr_cmp_ui ((_f), (_s)) : \ +- mpfr_cmp_si_2exp ((_f), (_s), 0)) ++#define mpfr_cmp_si(_f,_s) \ ++ (__builtin_constant_p (_s) && (long) (_s) >= 0 ? \ ++ mpfr_cmp_ui ((_f), (unsigned long) (long) (_s)) : \ ++ mpfr_cmp_si_2exp ((_f), (long) (_s), 0)) + #if __GNUC__ > 2 || __GNUC_MINOR__ >= 95 + #undef mpfr_set_ui +-#define mpfr_set_ui(_f,_u,_r) \ +- (__builtin_constant_p (_u) && (_u) == 0 ? \ +- __extension__ ({ \ +- mpfr_ptr _p = (_f); \ +- _p->_mpfr_sign = 1; \ +- _p->_mpfr_exp = __MPFR_EXP_ZERO; \ +- (void) (_r); 0; }) : \ +- mpfr_set_ui_2exp ((_f), (_u), 0, (_r))) ++#define mpfr_set_ui(_f,_u,_r) \ ++ (__builtin_constant_p (_u) && (unsigned long) (_u) == 0 ? \ ++ __extension__ ({ \ ++ mpfr_ptr _p = (_f); \ ++ _p->_mpfr_sign = 1; \ ++ _p->_mpfr_exp = __MPFR_EXP_ZERO; \ ++ (void) (_r); 0; }) : \ ++ mpfr_set_ui_2exp ((_f), (unsigned long) (_u), 0, (_r))) + #endif + #undef mpfr_set_si +-#define mpfr_set_si(_f,_s,_r) \ +- (__builtin_constant_p (_s) && (_s) >= 0 ? \ +- mpfr_set_ui ((_f), (_s), (_r)) : \ +- mpfr_set_si_2exp ((_f), (_s), 0, (_r))) ++#define mpfr_set_si(_f,_s,_r) \ ++ (__builtin_constant_p (_s) && (long) (_s) >= 0 ? \ ++ mpfr_set_ui ((_f), (unsigned long) (long) (_s), (_r)) : \ ++ mpfr_set_si_2exp ((_f), (long) (_s), 0, (_r))) + #endif + #endif + +diff -Naurd mpfr-3.0.0-a/tests/tcmp_ui.c mpfr-3.0.0-b/tests/tcmp_ui.c +--- mpfr-3.0.0-a/tests/tcmp_ui.c 2010-06-10 11:00:13.000000000 +0000 ++++ mpfr-3.0.0-b/tests/tcmp_ui.c 2010-09-07 08:45:12.000000000 +0000 +@@ -88,6 +88,126 @@ + mpfr_clear (x); + } + ++/* Since mpfr_cmp_ui and mpfr_cmp_si are also implemented by a macro ++ with __builtin_constant_p for GCC, check that side effects are ++ handled correctly. */ ++static void ++check_macros (void) ++{ ++ mpfr_t x; ++ int c; ++ ++ mpfr_init2 (x, 32); ++ ++ c = 0; ++ mpfr_set_ui (x, 17, MPFR_RNDN); ++ if (mpfr_cmp_ui (x, 17) != 0) ++ { ++ printf ("Error 1 on mpfr_cmp_ui(x,17) in check_macros\n"); ++ exit (1); ++ } ++ if (mpfr_cmp_ui (x, (c++, 17)) != 0) ++ { ++ printf ("Error 2 on mpfr_cmp_ui(x,17) in check_macros\n"); ++ exit (1); ++ } ++ if (c != 1) ++ { ++ printf ("Error 3 on mpfr_cmp_ui(x,17) in check_macros\n" ++ "(c = %d instead of 1)\n", c); ++ exit (1); ++ } ++ if (mpfr_cmp_si (x, 17) != 0) ++ { ++ printf ("Error 1 on mpfr_cmp_si(x,17) in check_macros\n"); ++ exit (1); ++ } ++ if (mpfr_cmp_si (x, (c++, 17)) != 0) ++ { ++ printf ("Error 2 on mpfr_cmp_si(x,17) in check_macros\n"); ++ exit (1); ++ } ++ if (c != 2) ++ { ++ printf ("Error 3 on mpfr_cmp_si(x,17) in check_macros\n" ++ "(c = %d instead of 2)\n", c); ++ exit (1); ++ } ++ ++ c = 0; ++ mpfr_set_ui (x, 0, MPFR_RNDN); ++ if (mpfr_cmp_ui (x, 0) != 0) ++ { ++ printf ("Error 1 on mpfr_cmp_ui(x,0) in check_macros\n"); ++ exit (1); ++ } ++ if (mpfr_cmp_ui (x, (c++, 0)) != 0) ++ { ++ printf ("Error 2 on mpfr_cmp_ui(x,0) in check_macros\n"); ++ exit (1); ++ } ++ if (c != 1) ++ { ++ printf ("Error 3 on mpfr_cmp_ui(x,0) in check_macros\n" ++ "(c = %d instead of 1)\n", c); ++ exit (1); ++ } ++ if (mpfr_cmp_si (x, 0) != 0) ++ { ++ printf ("Error 1 on mpfr_cmp_si(x,0) in check_macros\n"); ++ exit (1); ++ } ++ if (mpfr_cmp_si (x, (c++, 0)) != 0) ++ { ++ printf ("Error 2 on mpfr_cmp_si(x,0) in check_macros\n"); ++ exit (1); ++ } ++ if (c != 2) ++ { ++ printf ("Error 3 on mpfr_cmp_si(x,0) in check_macros\n" ++ "(c = %d instead of 2)\n", c); ++ exit (1); ++ } ++ ++ mpfr_clear (x); ++} ++ ++/* Bug in r7114 */ ++static void ++test_macros (void) ++{ ++ mpfr_t x[3]; ++ mpfr_ptr p; ++ ++ mpfr_inits (x[0], x[1], x[2], (mpfr_ptr) 0); ++ mpfr_set_ui (x[0], 0, MPFR_RNDN); ++ p = x[0]; ++ if (mpfr_cmp_ui (p++, 0) != 0) ++ { ++ printf ("Error in mpfr_cmp_ui macro: result should be 0.\n"); ++ exit (1); ++ } ++ if (p != x[1]) ++ { ++ printf ("Error in mpfr_cmp_ui macro: p - x[0] = %d (expecting 1)\n", ++ (int) (p - x[0])); ++ exit (1); ++ } ++ p = x[0]; ++ if (mpfr_cmp_si (p++, 0) != 0) ++ { ++ printf ("Error in mpfr_cmp_si macro: result should be 0.\n"); ++ exit (1); ++ } ++ if (p != x[1]) ++ { ++ printf ("Error in mpfr_cmp_si macro: p - x[0] = %d (expecting 1)\n", ++ (int) (p - x[0])); ++ exit (1); ++ } ++ mpfr_clears (x[0], x[1], x[2], (mpfr_ptr) 0); ++} ++ + int + main (void) + { +@@ -216,6 +336,8 @@ + mpfr_clear (x); + + check_nan (); ++ check_macros (); ++ test_macros (); + + tests_end_mpfr (); + return 0; +diff -Naurd mpfr-3.0.0-a/version.c mpfr-3.0.0-b/version.c +--- mpfr-3.0.0-a/version.c 2010-07-10 00:11:53.000000000 +0000 ++++ mpfr-3.0.0-b/version.c 2010-09-07 08:46:06.000000000 +0000 +@@ -25,5 +25,5 @@ + const char * + mpfr_get_version (void) + { +- return "3.0.0-p3"; ++ return "3.0.0-p4"; + } +diff -Naurd mpfr-3.0.0-a/PATCHES mpfr-3.0.0-b/PATCHES +--- mpfr-3.0.0-a/PATCHES 2010-10-21 20:28:38.000000000 +0000 ++++ mpfr-3.0.0-b/PATCHES 2010-10-21 20:28:38.000000000 +0000 +@@ -0,0 +1 @@ ++tcan_round +diff -Naurd mpfr-3.0.0-a/VERSION mpfr-3.0.0-b/VERSION +--- mpfr-3.0.0-a/VERSION 2010-09-07 08:46:06.000000000 +0000 ++++ mpfr-3.0.0-b/VERSION 2010-10-21 20:28:38.000000000 +0000 +@@ -1 +1 @@ +-3.0.0-p4 ++3.0.0-p5 +diff -Naurd mpfr-3.0.0-a/mpfr.h mpfr-3.0.0-b/mpfr.h +--- mpfr-3.0.0-a/mpfr.h 2010-09-07 08:46:06.000000000 +0000 ++++ mpfr-3.0.0-b/mpfr.h 2010-10-21 20:28:38.000000000 +0000 +@@ -27,7 +27,7 @@ + #define MPFR_VERSION_MAJOR 3 + #define MPFR_VERSION_MINOR 0 + #define MPFR_VERSION_PATCHLEVEL 0 +-#define MPFR_VERSION_STRING "3.0.0-p4" ++#define MPFR_VERSION_STRING "3.0.0-p5" + + /* Macros dealing with MPFR VERSION */ + #define MPFR_VERSION_NUM(a,b,c) (((a) << 16L) | ((b) << 8) | (c)) +diff -Naurd mpfr-3.0.0-a/tests/tcan_round.c mpfr-3.0.0-b/tests/tcan_round.c +--- mpfr-3.0.0-a/tests/tcan_round.c 2010-06-10 11:00:13.000000000 +0000 ++++ mpfr-3.0.0-b/tests/tcan_round.c 2010-10-21 20:28:38.000000000 +0000 +@@ -41,7 +41,7 @@ + /* avoid mpn_random which leaks memory */ + for (i = 0; i < n; i++) + buf[i] = randlimb (); +- p = (mpfr_prec_t) randlimb() % ((n-1) * GMP_NUMB_BITS) + MPFR_PREC_MIN; ++ p = randlimb() % ((n-1) * GMP_NUMB_BITS) + MPFR_PREC_MIN; + err = p + randlimb () % GMP_NUMB_BITS; + r1 = mpfr_round_p (buf, n, err, p); + r2 = mpfr_can_round_raw (buf, n, MPFR_SIGN_POS, err, +diff -Naurd mpfr-3.0.0-a/version.c mpfr-3.0.0-b/version.c +--- mpfr-3.0.0-a/version.c 2010-09-07 08:46:06.000000000 +0000 ++++ mpfr-3.0.0-b/version.c 2010-10-21 20:28:38.000000000 +0000 +@@ -25,5 +25,5 @@ + const char * + mpfr_get_version (void) + { +- return "3.0.0-p4"; ++ return "3.0.0-p5"; + } +diff -Naurd mpfr-3.0.0-a/PATCHES mpfr-3.0.0-b/PATCHES +--- mpfr-3.0.0-a/PATCHES 2010-10-21 20:59:32.000000000 +0000 ++++ mpfr-3.0.0-b/PATCHES 2010-10-21 20:59:32.000000000 +0000 +@@ -0,0 +1 @@ ++mpfr_sub1 +diff -Naurd mpfr-3.0.0-a/VERSION mpfr-3.0.0-b/VERSION +--- mpfr-3.0.0-a/VERSION 2010-10-21 20:28:38.000000000 +0000 ++++ mpfr-3.0.0-b/VERSION 2010-10-21 20:59:32.000000000 +0000 +@@ -1 +1 @@ +-3.0.0-p5 ++3.0.0-p6 +diff -Naurd mpfr-3.0.0-a/mpfr.h mpfr-3.0.0-b/mpfr.h +--- mpfr-3.0.0-a/mpfr.h 2010-10-21 20:28:38.000000000 +0000 ++++ mpfr-3.0.0-b/mpfr.h 2010-10-21 20:59:32.000000000 +0000 +@@ -27,7 +27,7 @@ + #define MPFR_VERSION_MAJOR 3 + #define MPFR_VERSION_MINOR 0 + #define MPFR_VERSION_PATCHLEVEL 0 +-#define MPFR_VERSION_STRING "3.0.0-p5" ++#define MPFR_VERSION_STRING "3.0.0-p6" + + /* Macros dealing with MPFR VERSION */ + #define MPFR_VERSION_NUM(a,b,c) (((a) << 16L) | ((b) << 8) | (c)) +diff -Naurd mpfr-3.0.0-a/sub1.c mpfr-3.0.0-b/sub1.c +--- mpfr-3.0.0-a/sub1.c 2010-06-10 11:00:14.000000000 +0000 ++++ mpfr-3.0.0-b/sub1.c 2010-10-21 20:59:32.000000000 +0000 +@@ -37,7 +37,9 @@ + mp_size_t cancel2, an, bn, cn, cn0; + mp_limb_t *ap, *bp, *cp; + mp_limb_t carry, bb, cc, borrow = 0; +- int inexact, shift_b, shift_c, is_exact = 1, down = 0, add_exp = 0; ++ int inexact, shift_b, shift_c, add_exp = 0; ++ int cmp_low = 0; /* used for rounding to nearest: 0 if low(b) = low(c), ++ negative if low(b) < low(c), positive if low(b)>low(c) */ + int sh, k; + MPFR_TMP_DECL(marker); + +@@ -196,7 +198,8 @@ + } + + #ifdef DEBUG +- printf ("shift_b=%d shift_c=%d diffexp=%lu\n", shift_b, shift_c, ++ printf ("rnd=%s shift_b=%d shift_c=%d diffexp=%lu\n", ++ mpfr_print_rnd_mode (rnd_mode), shift_b, shift_c, + (unsigned long) diff_exp); + #endif + +@@ -307,17 +310,18 @@ + { + if (MPFR_LIKELY(sh)) + { +- is_exact = (carry == 0); + /* can decide except when carry = 2^(sh-1) [middle] + or carry = 0 [truncate, but cannot decide inexact flag] */ +- down = (carry < (MPFR_LIMB_ONE << (sh - 1))); + if (carry > (MPFR_LIMB_ONE << (sh - 1))) + goto add_one_ulp; +- else if ((0 < carry) && down) ++ else if ((0 < carry) && (carry < (MPFR_LIMB_ONE << (sh - 1)))) + { + inexact = -1; /* result if smaller than exact value */ + goto truncate; + } ++ /* now carry = 2^(sh-1), in which case cmp_low=2, ++ or carry = 0, in which case cmp_low=0 */ ++ cmp_low = (carry == 0) ? 0 : 2; + } + } + else /* directed rounding: set rnd_mode to RNDZ iff toward zero */ +@@ -344,12 +348,32 @@ + cn -= (long int) an + cancel2; + + #ifdef DEBUG +- printf ("last %d bits from a are %lu, bn=%ld, cn=%ld\n", ++ printf ("last sh=%d bits from a are %lu, bn=%ld, cn=%ld\n", + sh, (unsigned long) carry, (long) bn, (long) cn); + #endif + ++ /* for rounding to nearest, we couldn't conclude up to here in the following ++ cases: ++ 1. sh = 0, then cmp_low=0: we can either truncate, subtract one ulp ++ or add one ulp: -1 ulp < low(b)-low(c) < 1 ulp ++ 2. sh > 0 but the low sh bits from high(b)-high(c) equal 2^(sh-1): ++ -0.5 ulp <= -1/2^sh < low(b)-low(c)-0.5 < 1/2^sh <= 0.5 ulp ++ we can't decide the rounding, in that case cmp_low=2: ++ either we truncate and flag=-1, or we add one ulp and flag=1 ++ 3. the low sh>0 bits from high(b)-high(c) equal 0: we know we have to ++ truncate but we can't decide the ternary value, here cmp_low=0: ++ -0.5 ulp <= -1/2^sh < low(b)-low(c) < 1/2^sh <= 0.5 ulp ++ we always truncate and inexact can be any of -1,0,1 ++ */ ++ ++ /* note: here cn might exceed cn0, in which case we consider a zero limb */ + for (k = 0; (bn > 0) || (cn > 0); k = 1) + { ++ /* if cmp_low < 0, we know low(b) - low(c) < 0 ++ if cmp_low > 0, we know low(b) - low(c) > 0 ++ (more precisely if cmp_low = 2, low(b) - low(c) = 0.5 ulp so far) ++ if cmp_low = 0, so far low(b) - low(c) = 0 */ ++ + /* get next limbs */ + bb = (bn > 0) ? bp[--bn] : 0; + if ((cn > 0) && (cn-- <= cn0)) +@@ -357,76 +381,115 @@ + else + cc = 0; + +- /* down is set when low(b) < low(c) */ +- if (down == 0) +- down = (bb < cc); ++ /* cmp_low compares low(b) and low(c) */ ++ if (cmp_low == 0) /* case 1 or 3 */ ++ cmp_low = (bb < cc) ? -2+k : (bb > cc) ? 1 : 0; ++ ++ /* Case 1 for k=0 splits into 7 subcases: ++ 1a: bb > cc + half ++ 1b: bb = cc + half ++ 1c: 0 < bb - cc < half ++ 1d: bb = cc ++ 1e: -half < bb - cc < 0 ++ 1f: bb - cc = -half ++ 1g: bb - cc < -half ++ ++ Case 2 splits into 3 subcases: ++ 2a: bb > cc ++ 2b: bb = cc ++ 2c: bb < cc ++ ++ Case 3 splits into 3 subcases: ++ 3a: bb > cc ++ 3b: bb = cc ++ 3c: bb < cc ++ */ + + /* the case rounding to nearest with sh=0 is special since one couldn't + subtract above 1/2 ulp in the trailing limb of the result */ +- if ((rnd_mode == MPFR_RNDN) && sh == 0 && k == 0) ++ if (rnd_mode == MPFR_RNDN && sh == 0 && k == 0) /* case 1 for k=0 */ + { + mp_limb_t half = MPFR_LIMB_HIGHBIT; + +- is_exact = (bb == cc); +- + /* add one ulp if bb > cc + half + truncate if cc - half < bb < cc + half + sub one ulp if bb < cc - half + */ + +- if (down) ++ if (cmp_low < 0) /* bb < cc: -1 ulp < low(b) - low(c) < 0, ++ cases 1e, 1f and 1g */ + { + if (cc >= half) + cc -= half; +- else ++ else /* since bb < cc < half, bb+half < 2*half */ + bb += half; ++ /* now we have bb < cc + half: ++ we have to subtract one ulp if bb < cc, ++ and truncate if bb > cc */ + } +- else /* bb >= cc */ ++ else if (cmp_low >= 0) /* bb >= cc, cases 1a to 1d */ + { + if (cc < half) + cc += half; +- else ++ else /* since bb >= cc >= half, bb - half >= 0 */ + bb -= half; ++ /* now we have bb > cc - half: we have to add one ulp if bb > cc, ++ and truncate if bb < cc */ ++ if (cmp_low > 0) ++ cmp_low = 2; + } + } + + #ifdef DEBUG +- printf (" bb=%lu cc=%lu down=%d is_exact=%d\n", +- (unsigned long) bb, (unsigned long) cc, down, is_exact); ++ printf ("k=%u bb=%lu cc=%lu cmp_low=%d\n", k, ++ (unsigned long) bb, (unsigned long) cc, cmp_low); + #endif +- if (bb < cc) ++ if (cmp_low < 0) /* low(b) - low(c) < 0: either truncate or subtract ++ one ulp */ + { + if (rnd_mode == MPFR_RNDZ) +- goto sub_one_ulp; ++ goto sub_one_ulp; /* set inexact=-1 */ + else if (rnd_mode != MPFR_RNDN) /* round away */ + { + inexact = 1; + goto truncate; + } +- else /* round to nearest: special case here since for sh=k=0 +- bb = bb0 - MPFR_LIMB_HIGHBIT */ ++ else /* round to nearest */ + { +- if (is_exact && sh == 0) +- { +- /* For k=0 we can't decide exactness since it may depend +- from low order bits. +- For k=1, the first low limbs matched: low(b)-low(c)<0. */ +- if (k) +- { +- inexact = 1; +- goto truncate; +- } +- } +- else if (down && sh == 0) +- goto sub_one_ulp; +- else +- { +- inexact = (is_exact) ? 1 : -1; ++ /* If cmp_low < 0 and bb > cc, then -0.5 ulp < low(b)-low(c) < 0, ++ whatever the value of sh. ++ If sh>0, then cmp_low < 0 implies that the initial neglected ++ sh bits were 0 (otherwise cmp_low=2 initially), thus the ++ weight of the new bits is less than 0.5 ulp too. ++ If k > 0 (and sh=0) this means that either the first neglected ++ limbs bb and cc were equal (thus cmp_low was 0 for k=0), ++ or we had bb - cc = -0.5 ulp or 0.5 ulp. ++ The last case is not possible here since we would have ++ cmp_low > 0 which is sticky. ++ In the first case (where we have cmp_low = -1), we truncate, ++ whereas in the 2nd case we have cmp_low = -2 and we subtract ++ one ulp. ++ */ ++ if (bb > cc || sh > 0 || cmp_low == -1) ++ { /* -0.5 ulp < low(b)-low(c) < 0, ++ bb > cc corresponds to cases 1e and 1f1 ++ sh > 0 corresponds to cases 3c and 3b3 ++ cmp_low = -1 corresponds to case 1d3 (also 3b3) */ ++ inexact = 1; + goto truncate; + } ++ else if (bb < cc) /* here sh = 0 and low(b)-low(c) < -0.5 ulp, ++ this corresponds to cases 1g and 1f3 */ ++ goto sub_one_ulp; ++ /* the only case where we can't conclude is sh=0 and bb=cc, ++ i.e., we have low(b) - low(c) = -0.5 ulp (up to now), thus ++ we don't know if we must truncate or subtract one ulp. ++ Note: for sh=0 we can't have low(b) - low(c) = -0.5 ulp up to ++ now, since low(b) - low(c) > 1/2^sh */ + } + } +- else if (bb > cc) ++ else if (cmp_low > 0) /* 0 < low(b) - low(c): either truncate or ++ add one ulp */ + { + if (rnd_mode == MPFR_RNDZ) + { +@@ -437,34 +500,70 @@ + goto add_one_ulp; + else /* round to nearest */ + { +- if (is_exact) ++ if (bb > cc) + { +- inexact = -1; +- goto truncate; ++ /* if sh=0, then bb>cc means that low(b)-low(c) > 0.5 ulp, ++ and similarly when cmp_low=2 */ ++ if (cmp_low == 2) /* cases 1a, 1b1, 2a and 2b1 */ ++ goto add_one_ulp; ++ /* sh > 0 and cmp_low > 0: this implies that the sh initial ++ neglected bits were 0, and the remaining low(b)-low(c)>0, ++ but its weight is less than 0.5 ulp */ ++ else /* 0 < low(b) - low(c) < 0.5 ulp, this corresponds to ++ cases 3a, 1d1 and 3b1 */ ++ { ++ inexact = -1; ++ goto truncate; ++ } + } +- else if (down) ++ else if (bb < cc) /* 0 < low(b) - low(c) < 0.5 ulp, cases 1c, ++ 1b3, 2b3 and 2c */ + { +- inexact = 1; ++ inexact = -1; + goto truncate; + } +- else +- goto add_one_ulp; ++ /* the only case where we can't conclude is bb=cc, i.e., ++ low(b) - low(c) = 0.5 ulp (up to now), thus we don't know ++ if we must truncate or add one ulp. */ + } + } ++ /* after k=0, we cannot conclude in the following cases, we split them ++ according to the values of bb and cc for k=1: ++ 1b. sh=0 and cmp_low = 1 and bb-cc = half [around 0.5 ulp] ++ 1b1. bb > cc: add one ulp, inex = 1 ++ 1b2: bb = cc: cannot conclude ++ 1b3: bb < cc: truncate, inex = -1 ++ 1d. sh=0 and cmp_low = 0 and bb-cc = 0 [around 0] ++ 1d1: bb > cc: truncate, inex = -1 ++ 1d2: bb = cc: cannot conclude ++ 1d3: bb < cc: truncate, inex = +1 ++ 1f. sh=0 and cmp_low = -1 and bb-cc = -half [around -0.5 ulp] ++ 1f1: bb > cc: truncate, inex = +1 ++ 1f2: bb = cc: cannot conclude ++ 1f3: bb < cc: sub one ulp, inex = -1 ++ 2b. sh > 0 and cmp_low = 2 and bb=cc [around 0.5 ulp] ++ 2b1. bb > cc: add one ulp, inex = 1 ++ 2b2: bb = cc: cannot conclude ++ 2b3: bb < cc: truncate, inex = -1 ++ 3b. sh > 0 and cmp_low = 0 [around 0] ++ 3b1. bb > cc: truncate, inex = -1 ++ 3b2: bb = cc: cannot conclude ++ 3b3: bb < cc: truncate, inex = +1 ++ */ + } + +- if ((rnd_mode == MPFR_RNDN) && !is_exact) ++ if ((rnd_mode == MPFR_RNDN) && cmp_low != 0) + { + /* even rounding rule */ + if ((ap[0] >> sh) & 1) + { +- if (down) ++ if (cmp_low < 0) + goto sub_one_ulp; + else + goto add_one_ulp; + } + else +- inexact = (down) ? 1 : -1; ++ inexact = (cmp_low > 0) ? -1 : 1; + } + else + inexact = 0; +diff -Naurd mpfr-3.0.0-a/tests/tfma.c mpfr-3.0.0-b/tests/tfma.c +--- mpfr-3.0.0-a/tests/tfma.c 2010-06-10 11:00:13.000000000 +0000 ++++ mpfr-3.0.0-b/tests/tfma.c 2010-10-21 20:59:32.000000000 +0000 +@@ -337,6 +337,94 @@ + mpfr_clears (x, y, z, r, (mpfr_ptr) 0); + } + ++static void ++bug20101018 (void) ++{ ++ mpfr_t x, y, z, t, u; ++ int i; ++ ++ mpfr_init2 (x, 64); ++ mpfr_init2 (y, 64); ++ mpfr_init2 (z, 64); ++ mpfr_init2 (t, 64); ++ mpfr_init2 (u, 64); ++ ++ mpfr_set_str (x, "0xf.fffffffffffffffp-14766", 16, MPFR_RNDN); ++ mpfr_set_str (y, "-0xf.fffffffffffffffp+317", 16, MPFR_RNDN); ++ mpfr_set_str (z, "0x8.3ffffffffffe3ffp-14443", 16, MPFR_RNDN); ++ mpfr_set_str (t, "0x8.7ffffffffffc7ffp-14444", 16, MPFR_RNDN); ++ i = mpfr_fma (u, x, y, z, MPFR_RNDN); ++ if (mpfr_cmp (u, t) != 0) ++ { ++ printf ("Wrong result in bug20101018 (a)\n"); ++ printf ("Expected "); ++ mpfr_out_str (stdout, 16, 0, t, MPFR_RNDN); ++ printf ("\nGot "); ++ mpfr_out_str (stdout, 16, 0, u, MPFR_RNDN); ++ printf ("\n"); ++ exit (1); ++ } ++ if (i <= 0) ++ { ++ printf ("Wrong ternary value in bug20101018 (a)\n"); ++ printf ("Expected > 0\n"); ++ printf ("Got %d\n", i); ++ exit (1); ++ } ++ ++ mpfr_set_str (x, "-0xf.fffffffffffffffp-11420", 16, MPFR_RNDN); ++ mpfr_set_str (y, "0xf.fffffffffffffffp+9863", 16, MPFR_RNDN); ++ mpfr_set_str (z, "0x8.fffff80ffffffffp-1551", 16, MPFR_RNDN); ++ mpfr_set_str (t, "0x9.fffff01ffffffffp-1552", 16, MPFR_RNDN); ++ i = mpfr_fma (u, x, y, z, MPFR_RNDN); ++ if (mpfr_cmp (u, t) != 0) ++ { ++ printf ("Wrong result in bug20101018 (b)\n"); ++ printf ("Expected "); ++ mpfr_out_str (stdout, 16, 0, t, MPFR_RNDN); ++ printf ("\nGot "); ++ mpfr_out_str (stdout, 16, 0, u, MPFR_RNDN); ++ printf ("\n"); ++ exit (1); ++ } ++ if (i <= 0) ++ { ++ printf ("Wrong ternary value in bug20101018 (b)\n"); ++ printf ("Expected > 0\n"); ++ printf ("Got %d\n", i); ++ exit (1); ++ } ++ ++ mpfr_set_str (x, "0xf.fffffffffffffffp-2125", 16, MPFR_RNDN); ++ mpfr_set_str (y, "-0xf.fffffffffffffffp-6000", 16, MPFR_RNDN); ++ mpfr_set_str (z, "0x8p-8119", 16, MPFR_RNDN); ++ mpfr_set_str (t, "0x8.000000000000001p-8120", 16, MPFR_RNDN); ++ i = mpfr_fma (u, x, y, z, MPFR_RNDN); ++ if (mpfr_cmp (u, t) != 0) ++ { ++ printf ("Wrong result in bug20101018 (c)\n"); ++ printf ("Expected "); ++ mpfr_out_str (stdout, 16, 0, t, MPFR_RNDN); ++ printf ("\nGot "); ++ mpfr_out_str (stdout, 16, 0, u, MPFR_RNDN); ++ printf ("\n"); ++ exit (1); ++ } ++ if (i <= 0) ++ { ++ printf ("Wrong ternary value in bug20101018 (c)\n"); ++ printf ("Expected > 0\n"); ++ printf ("Got %d\n", i); ++ exit (1); ++ } ++ ++ mpfr_clear (x); ++ mpfr_clear (y); ++ mpfr_clear (z); ++ mpfr_clear (t); ++ mpfr_clear (u); ++} ++ + int + main (int argc, char *argv[]) + { +@@ -345,6 +433,8 @@ + + tests_start_mpfr (); + ++ bug20101018 (); ++ + mpfr_init (x); + mpfr_init (s); + mpfr_init (y); +diff -Naurd mpfr-3.0.0-a/tests/tsub.c mpfr-3.0.0-b/tests/tsub.c +--- mpfr-3.0.0-a/tests/tsub.c 2010-06-10 11:00:13.000000000 +0000 ++++ mpfr-3.0.0-b/tests/tsub.c 2010-10-21 20:59:32.000000000 +0000 +@@ -201,6 +201,8 @@ + if (mpfr_cmp (z, x)) + { + printf ("Error in mpfr_sub (2)\n"); ++ printf ("Expected "); mpfr_print_binary (x); puts (""); ++ printf ("Got "); mpfr_print_binary (z); puts (""); + exit (1); + } + mpfr_set_str_binary (x, "1.1110111011110001110111011111111111101000011001011100101100101101"); +@@ -478,6 +480,156 @@ + mpfr_clear (u); + } + ++/* Bug found by Jakub Jelinek ++ * http://bugzilla.redhat.com/643657 ++ * https://gforge.inria.fr/tracker/index.php?func=detail&aid=11301 ++ * The consequence can be either an assertion failure (i = 2 in the ++ * testcase below, in debug mode) or an incorrectly rounded value. ++ */ ++static void ++bug20101017 (void) ++{ ++ mpfr_t a, b, c; ++ int inex; ++ int i; ++ ++ mpfr_init2 (a, GMP_NUMB_BITS * 2); ++ mpfr_init2 (b, GMP_NUMB_BITS); ++ mpfr_init2 (c, GMP_NUMB_BITS); ++ ++ /* a = 2^(2N) + k.2^(2N-1) + 2^N and b = 1 ++ with N = GMP_NUMB_BITS and k = 0 or 1. ++ c = a - b should round to the same value as a. */ ++ ++ for (i = 2; i <= 3; i++) ++ { ++ mpfr_set_ui_2exp (a, i, GMP_NUMB_BITS - 1, MPFR_RNDN); ++ mpfr_add_ui (a, a, 1, MPFR_RNDN); ++ mpfr_mul_2ui (a, a, GMP_NUMB_BITS, MPFR_RNDN); ++ mpfr_set_ui (b, 1, MPFR_RNDN); ++ inex = mpfr_sub (c, a, b, MPFR_RNDN); ++ mpfr_set (b, a, MPFR_RNDN); ++ if (! mpfr_equal_p (c, b)) ++ { ++ printf ("Error in bug20101017 for i = %d.\n", i); ++ printf ("Expected "); ++ mpfr_out_str (stdout, 16, 0, b, MPFR_RNDN); ++ putchar ('\n'); ++ printf ("Got "); ++ mpfr_out_str (stdout, 16, 0, c, MPFR_RNDN); ++ putchar ('\n'); ++ exit (1); ++ } ++ if (inex >= 0) ++ { ++ printf ("Error in bug20101017 for i = %d: bad inex value.\n", i); ++ printf ("Expected negative, got %d.\n", inex); ++ exit (1); ++ } ++ } ++ ++ mpfr_set_prec (a, 64); ++ mpfr_set_prec (b, 129); ++ mpfr_set_prec (c, 2); ++ mpfr_set_str_binary (b, "0.100000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001E65"); ++ mpfr_set_str_binary (c, "0.10E1"); ++ inex = mpfr_sub (a, b, c, MPFR_RNDN); ++ if (mpfr_cmp_ui_2exp (a, 1, 64) != 0 || inex >= 0) ++ { ++ printf ("Error in mpfr_sub for b-c for b=2^64+1+2^(-64), c=1\n"); ++ printf ("Expected result 2^64 with inex < 0\n"); ++ printf ("Got "); mpfr_print_binary (a); ++ printf (" with inex=%d\n", inex); ++ exit (1); ++ } ++ ++ mpfr_clears (a, b, c, (mpfr_ptr) 0); ++} ++ ++/* hard test of rounding */ ++static void ++check_rounding (void) ++{ ++ mpfr_t a, b, c, res; ++ mpfr_prec_t p; ++ long k, l; ++ int i; ++ ++#define MAXKL (2 * GMP_NUMB_BITS) ++ for (p = MPFR_PREC_MIN; p <= GMP_NUMB_BITS; p++) ++ { ++ mpfr_init2 (a, p); ++ mpfr_init2 (res, p); ++ mpfr_init2 (b, p + 1 + MAXKL); ++ mpfr_init2 (c, MPFR_PREC_MIN); ++ ++ /* b = 2^p + 1 + 2^(-k), c = 2^(-l) */ ++ for (k = 0; k <= MAXKL; k++) ++ for (l = 0; l <= MAXKL; l++) ++ { ++ mpfr_set_ui_2exp (b, 1, p, MPFR_RNDN); ++ mpfr_add_ui (b, b, 1, MPFR_RNDN); ++ mpfr_mul_2ui (b, b, k, MPFR_RNDN); ++ mpfr_add_ui (b, b, 1, MPFR_RNDN); ++ mpfr_div_2ui (b, b, k, MPFR_RNDN); ++ mpfr_set_ui_2exp (c, 1, -l, MPFR_RNDN); ++ i = mpfr_sub (a, b, c, MPFR_RNDN); ++ /* b - c = 2^p + 1 + 2^(-k) - 2^(-l), should be rounded to ++ 2^p for l <= k, and 2^p+2 for l < k */ ++ if (l <= k) ++ { ++ if (mpfr_cmp_ui_2exp (a, 1, p) != 0) ++ { ++ printf ("Wrong result in check_rounding\n"); ++ printf ("p=%lu k=%ld l=%ld\n", p, k, l); ++ printf ("b="); mpfr_print_binary (b); puts (""); ++ printf ("c="); mpfr_print_binary (c); puts (""); ++ printf ("Expected 2^%lu\n", p); ++ printf ("Got "); mpfr_print_binary (a); puts (""); ++ exit (1); ++ } ++ if (i >= 0) ++ { ++ printf ("Wrong ternary value in check_rounding\n"); ++ printf ("p=%lu k=%ld l=%ld\n", p, k, l); ++ printf ("b="); mpfr_print_binary (b); puts (""); ++ printf ("c="); mpfr_print_binary (c); puts (""); ++ printf ("a="); mpfr_print_binary (a); puts (""); ++ printf ("Expected < 0, got %d\n", i); ++ exit (1); ++ } ++ } ++ else /* l < k */ ++ { ++ mpfr_set_ui_2exp (res, 1, p, MPFR_RNDN); ++ mpfr_add_ui (res, res, 2, MPFR_RNDN); ++ if (mpfr_cmp (a, res) != 0) ++ { ++ printf ("Wrong result in check_rounding\n"); ++ printf ("b="); mpfr_print_binary (b); puts (""); ++ printf ("c="); mpfr_print_binary (c); puts (""); ++ printf ("Expected "); mpfr_print_binary (res); puts (""); ++ printf ("Got "); mpfr_print_binary (a); puts (""); ++ exit (1); ++ } ++ if (i <= 0) ++ { ++ printf ("Wrong ternary value in check_rounding\n"); ++ printf ("b="); mpfr_print_binary (b); puts (""); ++ printf ("c="); mpfr_print_binary (c); puts (""); ++ printf ("Expected > 0, got %d\n", i); ++ exit (1); ++ } ++ } ++ } ++ ++ mpfr_clear (a); ++ mpfr_clear (res); ++ mpfr_clear (b); ++ mpfr_clear (c); ++ } ++} ++ + #define TEST_FUNCTION test_sub + #define TWO_ARGS + #define RAND_FUNCTION(x) mpfr_random2(x, MPFR_LIMB_SIZE (x), randlimb () % 100, RANDS) +@@ -491,6 +643,8 @@ + + tests_start_mpfr (); + ++ bug20101017 (); ++ check_rounding (); + check_diverse (); + check_inexact (); + bug_ddefour (); +diff -Naurd mpfr-3.0.0-a/version.c mpfr-3.0.0-b/version.c +--- mpfr-3.0.0-a/version.c 2010-10-21 20:28:38.000000000 +0000 ++++ mpfr-3.0.0-b/version.c 2010-10-21 20:59:32.000000000 +0000 +@@ -25,5 +25,5 @@ + const char * + mpfr_get_version (void) + { +- return "3.0.0-p5"; ++ return "3.0.0-p6"; + } +diff -Naurd mpfr-3.0.0-a/PATCHES mpfr-3.0.0-b/PATCHES +--- mpfr-3.0.0-a/PATCHES 2010-10-21 21:18:26.000000000 +0000 ++++ mpfr-3.0.0-b/PATCHES 2010-10-21 21:18:26.000000000 +0000 +@@ -0,0 +1 @@ ++mpfr_set_ld +diff -Naurd mpfr-3.0.0-a/VERSION mpfr-3.0.0-b/VERSION +--- mpfr-3.0.0-a/VERSION 2010-10-21 20:59:32.000000000 +0000 ++++ mpfr-3.0.0-b/VERSION 2010-10-21 21:18:26.000000000 +0000 +@@ -1 +1 @@ +-3.0.0-p6 ++3.0.0-p7 +diff -Naurd mpfr-3.0.0-a/mpfr.h mpfr-3.0.0-b/mpfr.h +--- mpfr-3.0.0-a/mpfr.h 2010-10-21 20:59:32.000000000 +0000 ++++ mpfr-3.0.0-b/mpfr.h 2010-10-21 21:18:26.000000000 +0000 +@@ -27,7 +27,7 @@ + #define MPFR_VERSION_MAJOR 3 + #define MPFR_VERSION_MINOR 0 + #define MPFR_VERSION_PATCHLEVEL 0 +-#define MPFR_VERSION_STRING "3.0.0-p6" ++#define MPFR_VERSION_STRING "3.0.0-p7" + + /* Macros dealing with MPFR VERSION */ + #define MPFR_VERSION_NUM(a,b,c) (((a) << 16L) | ((b) << 8) | (c)) +diff -Naurd mpfr-3.0.0-a/set_ld.c mpfr-3.0.0-b/set_ld.c +--- mpfr-3.0.0-a/set_ld.c 2010-06-10 11:00:14.000000000 +0000 ++++ mpfr-3.0.0-b/set_ld.c 2010-10-21 21:18:26.000000000 +0000 +@@ -102,21 +102,25 @@ + { + x /= div13; /* exact */ + shift_exp += 8192; ++ mpfr_div_2si (t, t, 8192, MPFR_RNDZ); + } + if (ABS (x) >= div12) + { + x /= div12; /* exact */ + shift_exp += 4096; ++ mpfr_div_2si (t, t, 4096, MPFR_RNDZ); + } + if (ABS (x) >= div11) + { + x /= div11; /* exact */ + shift_exp += 2048; ++ mpfr_div_2si (t, t, 2048, MPFR_RNDZ); + } + if (ABS (x) >= div10) + { + x /= div10; /* exact */ + shift_exp += 1024; ++ mpfr_div_2si (t, t, 1024, MPFR_RNDZ); + } + /* warning: we may have DBL_MAX=2^1024*(1-2^(-53)) < x < 2^1024, + therefore we have one extra exponent reduction step */ +@@ -124,9 +128,10 @@ + { + x /= div9; /* exact */ + shift_exp += 512; ++ mpfr_div_2si (t, t, 512, MPFR_RNDZ); + } + } /* Check overflow of double */ +- else ++ else /* no overflow on double */ + { + long double div9, div10, div11; + +@@ -149,29 +154,34 @@ + { + x /= div13; /* exact */ + shift_exp -= 8192; ++ mpfr_mul_2si (t, t, 8192, MPFR_RNDZ); + } + if (ABS (x) <= div12) + { + x /= div12; /* exact */ + shift_exp -= 4096; ++ mpfr_mul_2si (t, t, 4096, MPFR_RNDZ); + } + if (ABS (x) <= div11) + { + x /= div11; /* exact */ + shift_exp -= 2048; ++ mpfr_mul_2si (t, t, 2048, MPFR_RNDZ); + } + if (ABS (x) <= div10) + { + x /= div10; /* exact */ + shift_exp -= 1024; ++ mpfr_mul_2si (t, t, 1024, MPFR_RNDZ); + } + if (ABS(x) <= div9) + { + x /= div9; /* exact */ + shift_exp -= 512; ++ mpfr_mul_2si (t, t, 512, MPFR_RNDZ); + } + } +- else ++ else /* no underflow */ + { + inexact = mpfr_set_d (u, (double) x, MPFR_RNDZ); + MPFR_ASSERTD (inexact == 0); +diff -Naurd mpfr-3.0.0-a/tests/tset_ld.c mpfr-3.0.0-b/tests/tset_ld.c +--- mpfr-3.0.0-a/tests/tset_ld.c 2010-06-10 11:00:13.000000000 +0000 ++++ mpfr-3.0.0-b/tests/tset_ld.c 2010-10-21 21:18:26.000000000 +0000 +@@ -147,12 +147,39 @@ + test_fixed_bugs (void) + { + mpfr_t x; +- long double d; ++ long double l, m; + + /* bug found by Steve Kargl (2009-03-14) */ + mpfr_init2 (x, 64); + mpfr_set_ui_2exp (x, 1, -16447, MPFR_RNDN); +- d = mpfr_get_ld (x, MPFR_RNDN); /* an assertion failed in init2.c:50 */ ++ mpfr_get_ld (x, MPFR_RNDN); /* an assertion failed in init2.c:50 */ ++ ++ /* bug reported by Jakub Jelinek (2010-10-17) ++ https://gforge.inria.fr/tracker/?func=detail&aid=11300 */ ++ mpfr_set_prec (x, MPFR_LDBL_MANT_DIG); ++ /* l = 0x1.23456789abcdef0123456789abcdp-914L; */ ++ l = 8.215640181713713164092636634579e-276; ++ mpfr_set_ld (x, l, MPFR_RNDN); ++ m = mpfr_get_ld (x, MPFR_RNDN); ++ if (m != l) ++ { ++ printf ("Error in get_ld o set_ld for l=%Le\n", l); ++ printf ("Got m=%Le instead of l\n", m); ++ exit (1); ++ } ++ ++ /* another similar test which failed with extended double precision and the ++ generic code for mpfr_set_ld */ ++ /* l = 0x1.23456789abcdef0123456789abcdp-968L; */ ++ l = 4.560596445887084662336528403703e-292; ++ mpfr_set_ld (x, l, MPFR_RNDN); ++ m = mpfr_get_ld (x, MPFR_RNDN); ++ if (m != l) ++ { ++ printf ("Error in get_ld o set_ld for l=%Le\n", l); ++ printf ("Got m=%Le instead of l\n", m); ++ exit (1); ++ } + + mpfr_clear (x); + } +diff -Naurd mpfr-3.0.0-a/version.c mpfr-3.0.0-b/version.c +--- mpfr-3.0.0-a/version.c 2010-10-21 20:59:32.000000000 +0000 ++++ mpfr-3.0.0-b/version.c 2010-10-21 21:18:26.000000000 +0000 +@@ -25,5 +25,5 @@ + const char * + mpfr_get_version (void) + { +- return "3.0.0-p6"; ++ return "3.0.0-p7"; + } 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 00000000000..cb347c73a19 --- /dev/null +++ b/meta-oe/recipes-support/mpfr/mpfr_3.0.0.bb @@ -0,0 +1,30 @@ +DESCRIPTION = "A C library for multiple-precision floating-point computations with exact rounding" +HOMEPAGE = "http://www.mpfr.org/" +LICENSE="GPLv3&LGPLv3" +LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504 \ + file://COPYING.LESSER;md5=6a6a8e020838b23406c81b19c1d46df6" +SECTION = "devel" +BBCLASSEXTEND = "native nativesdk" +DEPENDS = "gmp" + +inherit autotools + +do_fixup() { + rm ${S}/PATCHES || true +} + +addtask fixup after do_unpack before do_patch + +NATIVE_INSTALL_WORKS = "1" +PR = "r4" + +SRC_URI = "http://www.mpfr.org/${BP}/${BP}.tar.bz2 \ + file://p4.patch" + +# fix build in thumb mode for armv4t +SRC_URI_append_thumb = " file://long-long-thumb.patch" + +EXTRA_OECONF_append_virtclass-native = " --enable-static" + +SRC_URI[md5sum] = "f45bac3584922c8004a10060ab1a8f9f" +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 00000000000..0f224be396d --- /dev/null +++ b/meta-oe/recipes-support/nano/nano-2.2.5/ncursesw.includedir.patch @@ -0,0 +1,12 @@ +diff -uNr nano-2.2.5.orig//configure.ac nano-2.2.5/configure.ac +--- nano-2.2.5.orig//configure.ac 2010-08-06 03:00:51.000000000 +0200 ++++ nano-2.2.5/configure.ac 2010-08-10 14:11:52.000000000 +0200 +@@ -442,7 +442,7 @@ + AC_CHECK_HEADERS(ncurses.h) + + if test x$enable_utf8 != xno; then +- AC_CHECK_LIB(ncursesw, get_wch, [CURSES_LIB="-lncursesw" CPPFLAGS="-I/usr/include/ncursesw $CPPFLAGS" CURSES_LIB_NAME=ncursesw CURSES_LIB_WIDE=yes]) ++ AC_CHECK_LIB(ncursesw, get_wch, [CURSES_LIB="-lncursesw" CURSES_LIB_NAME=ncursesw CURSES_LIB_WIDE=yes]) + fi + + 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 00000000000..2d52cab8806 --- /dev/null +++ b/meta-oe/recipes-support/nano/nano.inc @@ -0,0 +1,19 @@ +DESCRIPTION = "GNU nano (Nano's ANOther editor, or \ +Not ANOther editor) is an enhanced clone of the \ +Pico text editor." +HOMEPAGE = "http://www.nano-editor.org/" +LICENSE = "GPLv2" +LIC_FILES_CHKSUM = "file://COPYING;md5=f27defe1e96c2e1ecd4e0c9be8967949" +SECTION = "console/utils" +DEPENDS = "ncurses" +RDEPENDS_${PN} = "ncurses-terminfo" + +INC_PR = "r2" + +PV_MAJOR = "${@bb.data.getVar('PV',d,1).split('.')[0]}.${@bb.data.getVar('PV',d,1).split('.')[1]}" + +SRC_URI = "http://www.nano-editor.org/dist/v${PV_MAJOR}/nano-${PV}.tar.gz" + +inherit autotools gettext + +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 00000000000..e656f46dfa4 --- /dev/null +++ b/meta-oe/recipes-support/nano/nano_2.2.5.bb @@ -0,0 +1,8 @@ +include nano.inc + +PR = "${INC_PR}.0" + +SRC_URI += "file://ncursesw.includedir.patch" + +SRC_URI[md5sum] = "77a10a49589f975ce98350a4527a2ebf" +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 00000000000..96a2345a2f3 --- /dev/null +++ b/meta-oe/recipes-support/pidgin/pidgin.inc @@ -0,0 +1,88 @@ +DESCRIPTION = "multi-protocol instant messaging client" +SECTION = "x11/network" +LICENSE = "GPL" +DEPENDS = "python startup-notification avahi gtk+ ncurses gnutls virtual/libintl gstreamer dbus" +INC_PR = "r0" + +inherit autotools gettext pkgconfig gconf + +EXTRA_OECONF = " \ + --enable-vv \ + --disable-perl \ + --disable-tcl \ + --disable-gevolution \ + --disable-schemas-install \ + --x-includes=${STAGING_INCDIR} \ + --x-libraries=${STAGING_LIBDIR} \ + --enable-gnutls=yes \ + --with-ncurses-headers=${STAGING_INCDIR} \ + --with-gnutls-includes=${STAGING_INCDIR} \ + --with-gnutls-libs=${STAGING_LIBDIR} \ + " + +do_configure_prepend() { + touch ${S}/po/Makefile +} + +OE_LT_RPATH_ALLOW=":${libdir}/purple-2:" +OE_LT_RPATH_ALLOW[export]="1" + +PACKAGES =+ "libpurple-dbg libpurple-dev libpurple libgnt-dbg libgnt libgnt-dev finch-dbg finch finch-dev ${PN}-data" + +LEAD_SONAME = "libpurple.so.0" +FILES_libpurple = "${libdir}/libpurple*.so.* ${libdir}/purple-2 ${bindir}/purple-* ${sysconfdir}/gconf/schemas/purple* ${datadir}/purple/ca-certs" +FILES_libpurple-dev = "${libdir}/libpurple*.la \ + ${libdir}/libpurple*.so \ + ${libdir}/purple-2/*.la \ + ${libdir}/purple-2/libjabber.so \ + ${libdir}/purple-2/liboscar.so \ + ${datadir}/aclocal" +FILES_libpurple-dbg += "${libdir}/.debug/libpurple* \ + ${libdir}/purple-2/.debug" +FILES_libgnt = "${libdir}/libgnt.so.* ${libdir}/gnt/*.so" +FILES_libgnt-dev = "${libdir}/gnt/*.la" +FILES_libgnt-dbg = "${libdir}/gnt/.debug \ +FILES_finch = "${bindir}/finch" +FILES_finch-dev = "${libdir}/finch/*.la" +FILES_finch-dbg = "${bindir}/.debug/finch \ + ${libdir}/finch/.debug" + +FILES_${PN} = "${bindir} ${datadir}/${PN} ${libdir}/${PN}/*.so \ + ${datadir}/applications" +RRECOMMENDS_${PN} = "${PN}-data libpurple-plugin-ssl-gnutls libpurple-protocol-irc libpurple-protocol-xmpp" + +FILES_${PN}-data = "${datadir}/pixmaps ${datadir}/sounds ${datadir}/icons" +FILES_${PN}-dev += "${libdir}/${PN}/*.la" + +PACKAGES_DYNAMIC = "libpurple-protocol-* libpurple-plugin-* pidgin-plugin-* finch-plugin-*" + +python populate_packages_prepend () { + pidgroot = bb.data.expand('${libdir}/pidgin', d) + purple = bb.data.expand('${libdir}/purple-2', d) + finch = bb.data.expand('${libdir}/finch', d) + + do_split_packages(d, pidgroot, '^([^l][^i][^b].*)\.so$', + output_pattern='pidgin-plugin-%s', + description='Pidgin plugin %s', + prepend=True, extra_depends='') + + do_split_packages(d, purple, '^lib(.*)\.so$', + output_pattern='libpurple-protocol-%s', + description='Libpurple protocol plugin for %s', + prepend=True, extra_depends='') + + do_split_packages(d, purple, '^(ssl-.*)\.so$', + output_pattern='libpurple-plugin-%s', + description='libpurple plugin %s', + prepend=True, extra_depends='libpurple-plugin-ssl') + + do_split_packages(d, purple, '^([^l][^i][^b].*)\.so$', + output_pattern='libpurple-plugin-%s', + description='libpurple plugin %s', + prepend=True, extra_depends='') + + do_split_packages(d, finch, '^([^l][^i][^b].*)\.so$', + output_pattern='finch-plugin-%s', + description='Finch plugin %s', + prepend=True, extra_depends='') +} 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 00000000000..57c4c468145 --- /dev/null +++ b/meta-oe/recipes-support/pidgin/pidgin/pidgin-cross-python-265.patch @@ -0,0 +1,16 @@ +Index: pidgin-2.6.5/configure.ac +=================================================================== +--- pidgin-2.6.5.orig/configure.ac ++++ pidgin-2.6.5/configure.ac +@@ -1470,8 +1470,9 @@ if test "_$pythonpath" != _ ; then + AC_CHECK_LIB(pthread, pthread_create, ) + AC_CHECK_LIB(util, openpty, ) + AC_CHECK_LIB(db, dbopen, ) +- PY_LIBS="-L$PY_EXEC_PREFIX/lib/python$PY_VERSION/config -lpython$PY_VERSION" +- PY_CFLAGS="-I$PY_PREFIX/include/python$PY_VERSION" ++ m4_pattern_allow([^PKG_CONFIG_SYSROOT_DIR$]) ++ PY_LIBS="-L$PKG_CONFIG_SYSROOT_DIR/usr/lib/python$PY_VERSION/config -lpython$PY_VERSION" ++ PY_CFLAGS="-I$PKG_CONFIG_SYSROOT_DIR/usr/include/python$PY_VERSION" + AC_DEFINE(USE_PYTHON, [1], [Define if python headers are available.]) + AC_MSG_RESULT(ok) + 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 00000000000..05f76895baf --- /dev/null +++ b/meta-oe/recipes-support/pidgin/pidgin/pidgin.desktop-set-icon.patch @@ -0,0 +1,11 @@ +--- pidgin-2.0.1/pidgin.desktop.in.orig 2007-06-20 23:50:44.000000000 +0000 ++++ pidgin-2.0.1/pidgin.desktop.in 2007-06-20 23:51:05.000000000 +0000 +@@ -4,7 +4,7 @@ + _GenericName=Internet Messenger + _Comment=Send instant messages over multiple protocols + Exec=pidgin +-Icon=pidgin ++Icon=/usr/share/icons/hicolor/48x48/apps/pidgin.png + StartupNotify=true + Terminal=false + 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 00000000000..293ef709d15 --- /dev/null +++ b/meta-oe/recipes-support/pidgin/pidgin/purple-OE-branding-25.patch @@ -0,0 +1,16 @@ +Index: pidgin-2.5.0/libpurple/protocols/irc/irc.h +=================================================================== +--- pidgin-2.5.0.orig/libpurple/protocols/irc/irc.h 2008-08-19 01:53:38.000000000 +0000 ++++ pidgin-2.5.0/libpurple/protocols/irc/irc.h 2008-08-27 11:15:58.000000000 +0000 +@@ -36,9 +36,9 @@ + + #define IRC_DEFAULT_CHARSET "UTF-8" + #define IRC_DEFAULT_AUTODETECT FALSE +-#define IRC_DEFAULT_ALIAS "purple" ++#define IRC_DEFAULT_ALIAS "OE-user" + +-#define IRC_DEFAULT_QUIT "Leaving." ++#define IRC_DEFAULT_QUIT "Powered by OE: www.openembedded.org" + + #define IRC_INITIAL_BUFSIZE 1024 + 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 00000000000..a77d64f40b0 --- /dev/null +++ b/meta-oe/recipes-support/pidgin/pidgin/sanitize-configure.ac.patch @@ -0,0 +1,33 @@ +--- /tmp/configure.ac 2007-05-08 17:29:02.000000000 +0200 ++++ pidgin-2.0.0/configure.ac 2007-05-08 17:30:30.325251000 +0200 +@@ -472,7 +472,7 @@ + if test "x$enable_consoleui" = "xyes"; then + dnl # Some distros put the headers in ncursesw/, some don't + found_ncurses_h=no +- for location in $ac_ncurses_includes $NCURSES_HEADERS /usr/include/ncursesw /usr/include ++ for location in $ac_ncurses_includes $NCURSES_HEADERS + do + f="$location/ncurses.h" + AC_CHECK_HEADER($f,[ +@@ -1860,10 +1860,6 @@ + KRB4_CFLAGS="$KRB4_CFLAGS -I${kerberos}/include/kerberosIV" + fi + KRB4_LDFLAGS="-L${kerberos}/lib" +- elif test -d /usr/local/include/kerberosIV ; then +- KRB4_CFLAGS="-I/usr/local/include/kerberosIV" +- elif test -d /usr/include/kerberosIV ; then +- KRB4_CFLAGS="-I/usr/include/kerberosIV" + fi + AC_DEFINE(ZEPHYR_USES_KERBEROS, 1, [Define if kerberos should be used in Zephyr.]) + +@@ -1896,10 +1892,6 @@ + ZEPHYR_LDFLAGS="-L${zephyr}/lib" + elif test -d /usr/athena/include/zephyr ; then + ZEPHYR_CFLAGS="-I/usr/athena/include" +- elif test -d /usr/include/zephyr ; then +- ZEPHYR_CFLAGS="-I/usr/include" +- elif test -d /usr/local/include/zephyr ; then +- ZEPHYR_CFLAGS="-I/usr/local/include" + fi + AC_DEFINE(LIBZEPHYR_EXT, 1 , [Define if external libzephyr should be used.]) + 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 00000000000..d5527ea9149 --- /dev/null +++ b/meta-oe/recipes-support/pidgin/pidgin_2.7.9.bb @@ -0,0 +1,22 @@ +require pidgin.inc +PR = "${INC_PR}.0" + +DEPENDS += "farsight2 libidn" + +SRC_URI = "\ + ${SOURCEFORGE_MIRROR}/pidgin/pidgin-${PV}.tar.bz2 \ + file://sanitize-configure.ac.patch \ + file://pidgin.desktop-set-icon.patch \ + file://purple-OE-branding-25.patch \ + file://pidgin-cross-python-265.patch \ +" + +SRC_URI[md5sum] = "9bc6cf953ed7d383b215fa8487bf8829" +SRC_URI[sha256sum] = "9722d7f199a6704e29900c80f270d9409d5c28caab77f495b68108d81ba3e19e" + +EXTRA_OECONF += "\ + --disable-gtkspell \ + --disable-meanwhile \ + --disable-nm \ + --disable-screensaver \ +" 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 00000000000..e3fd54b7260 --- /dev/null +++ b/meta-oe/recipes-support/poppler/poppler-data_0.4.0.bb @@ -0,0 +1,24 @@ +DESCRIPTION = "Poppler is a PDF rendering library based on the xpdf-3.0 code base." +LICENSE = "Adobe" +LIC_FILES_CHKSUM = "file://COPYING;md5=4870b98343f0bbb25fa43b9d2ba59448 \ + file://COPYING.adobe;md5=63c6a8a9df204c00461fa5f163d8a663 \ + file://COPYING.gpl2;md5=751419260aa954499f7abaabaa882bbe \ +" + +PR = "r1" + +SRC_URI = "http://poppler.freedesktop.org/${PN}-${PV}.tar.gz" + +do_compile() { +} + +do_install() { + oe_runmake install DESTDIR=${D} +} + +FILES_${PN} += "${datadir}" +PACKAGE_ARCH = "all" + + +SRC_URI[md5sum] = "6975bf8e9ea2cfb42b9ecdbcc257cf57" +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 00000000000..a26273020aa --- /dev/null +++ b/meta-oe/recipes-support/poppler/poppler-fpu.inc @@ -0,0 +1,6 @@ + +def get_poppler_fpu_setting(bb, d): + if bb.data.getVar('TARGET_FPU', d, 1) in [ 'soft' ]: + return "--enable-fixedpoint" + return "" + diff --git a/meta-oe/recipes-support/poppler/poppler.inc b/meta-oe/recipes-support/poppler/poppler.inc new file mode 100644 index 00000000000..85c39831606 --- /dev/null +++ b/meta-oe/recipes-support/poppler/poppler.inc @@ -0,0 +1,25 @@ +DESCRIPTION = "Poppler is a PDF rendering library based on the xpdf-3.0 code base." +DEPENDS = "fontconfig jpeg zlib gtk+ cairo" +LICENSE = "GPLv2" +LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe" + +SRC_URI = "http://poppler.freedesktop.org/${PN}-${PV}.tar.gz" + +inherit autotools pkgconfig + +EXTRA_OECONF = "\ + --enable-xpdf-headers \ + --disable-gtk-test \ + --disable-poppler-qt \ + --disable-poppler-qt4 \ + --enable-zlib \ +" + +# check for TARGET_FPU=soft and inform configure of the result so it can disable some floating points +require poppler-fpu.inc +EXTRA_OECONF += "${@get_poppler_fpu_setting(bb, d)}" + +PACKAGES =+ "libpoppler libpoppler-glib" +FILES_libpoppler = "${libdir}/libpoppler.so.*" +FILES_libpoppler-glib = "${libdir}/libpoppler-glib.so.*" + 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 00000000000..ce1952e1ed6 --- /dev/null +++ b/meta-oe/recipes-support/poppler/poppler_0.12.3.bb @@ -0,0 +1,10 @@ +require poppler.inc + +DEPENDS += "lcms" + +EXTRA_OECONF_append = " --disable-abiword-output " + +RDEPENDS_${PN} = "poppler-data" + +SRC_URI[md5sum] = "d0ca8344d8d94e27aaba6d432688365d" +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 00000000000..b813f76b167 --- /dev/null +++ b/meta-oe/recipes-support/samsung-soc-utils/s3c24xx-gpio_svn.bb @@ -0,0 +1,19 @@ +DESCRIPTION = "A user-space tool to show and modify the state of GPIOs on the S3c24xx platform" +SECTION = "console/utils" +AUTHOR = "Werner Almesberger <werner@openmoko.org>" +LICENSE = "GPL" +SRCREV = "4949" +PV = "1.0+svnr${SRCPV}" +PR = "r2" + +SRC_URI = "svn://svn.openmoko.org/trunk/src/target;module=gpio;proto=http" +S = "${WORKDIR}/gpio" + +do_compile() { + ${CC} ${CFLAGS} ${LDFLAGS} -static -o ${PN} gpio.c +} + +do_install() { + install -d ${D}${sbindir} + install -m 0755 ${PN} ${D}${sbindir} +} 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 00000000000..f8ca7947f36 --- /dev/null +++ b/meta-oe/recipes-support/samsung-soc-utils/s3c64xx-gpio_svn.bb @@ -0,0 +1,19 @@ +DESCRIPTION = "A user-space tool to show and modify the state of GPIOs on the S3c64xx platform" +SECTION = "console/utils" +AUTHOR = "Werner Almesberger <werner@openmoko.org>" +LICENSE = "GPL" +SRCREV = "4949" +PV = "1.0+svnr${SRCPV}" +PR = "r0" + +SRC_URI = "svn://svn.openmoko.org/trunk/src/target;module=gpio;proto=http" +S = "${WORKDIR}/gpio" + +do_compile() { + ${CC} ${CFLAGS} ${LDFLAGS} -static -o ${PN} gpio-s3c6410.c +} + +do_install() { + install -d ${D}${sbindir} + install -m 0755 ${PN} ${D}${sbindir} +} 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 00000000000..b7123161733 --- /dev/null +++ b/meta-oe/recipes-support/samsung-soc-utils/sjf2410-linux-native_svn.bb @@ -0,0 +1,34 @@ +DESCRIPTION = "JTAG utility to interface w/ a S3C2410 device" +SECTION = "devel" +AUTHOR = "Harald Welte <laforge@openmoko.org>" +LICENSE = "GPLv2+" +LIC_FILES_CHKSUM = "file://parport.c;endline=19;md5=b5681091b0fd8c5f7068835c441bf0c8" +SRCREV = "4268" +PV = "0.1+svnr${SRCPV}" +PR = "r1" + +SRC_URI = "svn://svn.openmoko.org/trunk/src/host/;module=sjf2410-linux;proto=http" +S = "${WORKDIR}/sjf2410-linux" + +inherit native deploy +do_deploy[sstate-outputdirs] = "${DEPLOY_DIR_TOOLS}" + +CFLAGS += "-DLINUX_PPDEV" + +NATIVE_INSTALL_WORKS = "1" + +do_compile() { + oe_runmake +} + +do_install() { + install -d ${D}/${bindir} + install -m 0755 sjf2410 ${D}/${bindir} +} + +do_deploy() { + install -d ${DEPLOY_DIR_TOOLS} + install -m 0755 sjf2410 ${DEPLOY_DIR_TOOLS}/sjf2410-${PV} +} + +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 00000000000..a69bd401e00 --- /dev/null +++ b/meta-oe/recipes-support/talloc/talloc_2.0.1.bb @@ -0,0 +1,27 @@ +DESCRIPTION = "Hierarchical, reference counted memory pool system with destructors" +HOMEPAGE = "http://talloc.samba.org" +LICENSE = "LGPL" +LIC_FILES_CHKSUM = "file://NEWS;md5=5fe776b23a711c9153ee94bc87e47334" + +inherit autotools pkgconfig + +SRC_URI = "http://samba.org/ftp/${BPN}/${BPN}-${PV}.tar.gz" +SRC_URI[md5sum] = "c6e736540145ca58cb3dcb42f91cf57b" +SRC_URI[sha256sum] = "5b810527405f29d54f50efd78bf2c89e318f2cd8bed001f22f2a1412fd27c9b4" + +TARGET_CC_ARCH += "${LDFLAGS}" + +PR = "r1" + +# autoreconf doesn't work well while reconfiguring included libreplace +do_configure () { + gnu-configize + oe_runconf +} + +do_install_append() { + install -d ${D}${libdir} + ln -s libtalloc.so.2.0.1 ${D}${libdir}/libtalloc.so.2.0 + ln -s libtalloc.so.2.0 ${D}${libdir}/libtalloc.so.2 + ln -s libtalloc.so.2 ${D}${libdir}/libtalloc.so +} diff --git a/meta-oe/recipes-support/tangogps/tangogps.inc b/meta-oe/recipes-support/tangogps/tangogps.inc new file mode 100644 index 00000000000..436fe07db00 --- /dev/null +++ b/meta-oe/recipes-support/tangogps/tangogps.inc @@ -0,0 +1,15 @@ +DESCRIPTION = "tangoGPS is a map and GPS application using Openstreetmap" +AUTHOR = "Marcus Bauer <marcus.bauer@gmail.com>" +HOMEPAGE = "http://tangogps.org/" +SECTION = "x11/applications" +LICENSE = "GPLv2" +PRIORITY = "optional" +DEPENDS = "curl gtk+ gconf sqlite3 libexif libsoup-2.4" + +SRC_URI = "http://www.tangogps.org/downloads/tangogps-${PV}.tar.gz;name=archive" +S = "${WORKDIR}/tangogps-${PV}" + +inherit autotools pkgconfig + +RRECOMMENDS_${PN} = "gpsd" +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 00000000000..ab682f3cf13 --- /dev/null +++ b/meta-oe/recipes-support/tangogps/tangogps_0.99.4.bb @@ -0,0 +1,4 @@ +require tangogps.inc + +SRC_URI[archive.md5sum] = "0f07ede94a21eb84f5e017fa88a1fc3d" +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 00000000000..594126750c6 --- /dev/null +++ b/meta-oe/recipes-support/usbpath/usbpath_svn.bb @@ -0,0 +1,19 @@ +DESCRIPTION = "Convert the physical locations of a USB device to/from its number" +AUTHOR = "Werner Almesberger <werner@openmoko.org>" +SECTION = "console/utils" +LICENSE = "GPLv2+" +LIC_FILES_CHKSUM = "file://usbpath.c;endline=20;md5=0aa8c7d2af9110c78a99fbf9a504dc3f" +DEPENDS = "virtual/libusb0" +DEPENDS_virtclass-native = "virtual/libusb0-native" + +BBCLASSEXTEND = "native" + +SRCREV = "3172" +PV = "0.0+svnr${SRCPV}" + +SRC_URI = "svn://svn.openmoko.org/trunk/src/host;module=usbpath;proto=http" + +S = "${WORKDIR}/usbpath" + +inherit autotools + 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 00000000000..1900b6fcb57 --- /dev/null +++ b/meta-oe/recipes-support/vala-terminal/vala-terminal_git.bb @@ -0,0 +1,18 @@ +DESCRIPTION = "A lightweight Terminal Emulator based on libvte, written in Vala." +SECTION = "x11/applications" +DEPENDS = "vala-native vte" +SRCREV = "6cfb8bf8eb1a3812e39fac10a4810b6680fa066a" +LICENSE = "GPLv2" +LIC_FILES_CHKSUM = "file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552" +PV = "1.1.1+gitr${SRCPV}" +PE = "1" +PR = "r1" + +inherit autotools + +SRC_URI = "${FREESMARTPHONE_GIT}/vala-terminal.git;protocol=git;branch=master" +S = "${WORKDIR}/git" + +RDEPENDS_${PN} = "ttf-liberation-mono" +RREPLACES_${PN} = "openmoko-terminal2" +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 00000000000..a1ee6718ef1 --- /dev/null +++ b/meta-oe/recipes-support/wmiconfig/wmiconfig_svn.bb @@ -0,0 +1,20 @@ +DESCRIPTION = "Atheros 6K Wifi configuration utility" +LICENSE = "GPLv2" +LIC_FILES_CHKSUM = "file://wmiconfig.c;endline=19;md5=4394a56bca1c5b2446c9f8e406c82911" +SECTION = "console/network" +SRCREV = "5394" +PV = "0.0.0+svnr${SRCPV}" +PR = "r1" + +SRC_URI = "svn://svn.openmoko.org/trunk/src/target;module=AR6kSDK.build_sw.18;proto=http" +S = "${WORKDIR}/AR6kSDK.build_sw.18/host/tools/wmiconfig" + +export CC := "${CC}" + +TARGET_CC_ARCH += "${LDFLAGS}" + +do_install() { + install -d ${D}${bindir} + install -m 0755 wmiconfig ${D}${bindir} +} + |