diff options
author | Tudor Florea <tudor.florea@enea.com> | 2015-10-08 22:51:41 +0200 |
---|---|---|
committer | Tudor Florea <tudor.florea@enea.com> | 2015-10-08 22:51:41 +0200 |
commit | 1219bf8a90a7bf8cd3a5363551ef635d51e8fc8e (patch) | |
tree | a21a5fc103bb3bd65ecd85ed22be5228fc54e447 /meta-oe/recipes-support | |
download | meta-openembedded-1219bf8a90a7bf8cd3a5363551ef635d51e8fc8e.tar.gz |
initial commit for Enea Linux 5.0 arm
Signed-off-by: Tudor Florea <tudor.florea@enea.com>
Diffstat (limited to 'meta-oe/recipes-support')
354 files changed, 34611 insertions, 0 deletions
diff --git a/meta-oe/recipes-support/apcupsd/apcupsd_3.14.10.bb b/meta-oe/recipes-support/apcupsd/apcupsd_3.14.10.bb new file mode 100644 index 000000000..18979d574 --- /dev/null +++ b/meta-oe/recipes-support/apcupsd/apcupsd_3.14.10.bb | |||
@@ -0,0 +1,42 @@ | |||
1 | SUMMARY = "Apcupsd a daemon for controlling APC UPSes" | ||
2 | |||
3 | LICENSE = "GPLv2" | ||
4 | LIC_FILES_CHKSUM = "file://COPYING;md5=c12853cc7fdf20d17b4fddefd26b7802" | ||
5 | |||
6 | SRC_URI = "http://garr.dl.sourceforge.net/project/apcupsd/apcupsd%20-%20Stable/3.14.10/apcupsd-${PV}.tar.gz" | ||
7 | SRC_URI[md5sum] = "5928822d855c5cf7ac29655e3e0b8c23" | ||
8 | SRC_URI[sha256sum] = "0707b5ec9916fbde9e44eb8d18037c8d8f75dfd6aeef51aba5487e189eef2032" | ||
9 | |||
10 | PNBLACKLIST[apcupsd] ?= "BROKEN: doesn't build with B!=S" | ||
11 | |||
12 | inherit autotools | ||
13 | |||
14 | LD = "${CXX}" | ||
15 | |||
16 | EXTRA_OECONF = "--without-x \ | ||
17 | --enable-usb \ | ||
18 | --with-distname=${DISTRO}" | ||
19 | |||
20 | do_configure() { | ||
21 | export topdir=${S} | ||
22 | cp -a ${S}/autoconf/configure.in ${S} | ||
23 | |||
24 | if ! [ -d ${S}/platforms/${DISTRO} ] ; then | ||
25 | cp -a ${S}/platforms/unknown ${S}/platforms/${DISTRO} | ||
26 | fi | ||
27 | |||
28 | gnu-configize --force | ||
29 | # install --help says '-c' is an ignored option, but it turns out that the argument to -c isn't ignored, so drop the complete '-c path/to/strip' line | ||
30 | sed -i -e 's:$(INSTALL_PROGRAM) $(STRIP):$(INSTALL_PROGRAM):g' ${S}/autoconf/targets.mak | ||
31 | # Searching in host dirs triggers the QA checks | ||
32 | sed -i -e 's:-I/usr/local/include::g' -e 's:-L/usr/local/lib64::g' -e 's:-L/usr/local/lib::g' ${S}/configure | ||
33 | |||
34 | # m4 macros are missing, using autotools_do_configure leads to linking errors with gethostname_re | ||
35 | oe_runconf | ||
36 | } | ||
37 | |||
38 | do_install_append() { | ||
39 | rm ${D}${datadir}/hal -rf | ||
40 | } | ||
41 | |||
42 | |||
diff --git a/meta-oe/recipes-support/asio/asio.inc b/meta-oe/recipes-support/asio/asio.inc new file mode 100644 index 000000000..9cea82491 --- /dev/null +++ b/meta-oe/recipes-support/asio/asio.inc | |||
@@ -0,0 +1,15 @@ | |||
1 | DESCRIPTION = "Asio is a cross-platform C++ library for network and low-level \ | ||
2 | I/O programming that provides developers with a consistent asynchronous \ | ||
3 | model using a modern C++ approach." | ||
4 | AUTHOR = "Christopher M. Kohlhoff (chris at kohlhoff dot com)" | ||
5 | HOMEPAGE = "http://think-async.com/Asio" | ||
6 | SECTION = "libs" | ||
7 | LICENSE = "BSL-1.0" | ||
8 | |||
9 | DEPENDS = "boost" | ||
10 | |||
11 | SRC_URI = "${SOURCEFORGE_MIRROR}/asio/${BP}.tar.bz2" | ||
12 | |||
13 | inherit autotools | ||
14 | |||
15 | ALLOW_EMPTY_${PN} = "1" | ||
diff --git a/meta-oe/recipes-support/asio/asio_1.10.1.bb b/meta-oe/recipes-support/asio/asio_1.10.1.bb new file mode 100644 index 000000000..fdfaaf675 --- /dev/null +++ b/meta-oe/recipes-support/asio/asio_1.10.1.bb | |||
@@ -0,0 +1,6 @@ | |||
1 | require asio.inc | ||
2 | |||
3 | LIC_FILES_CHKSUM = "file://COPYING;md5=113f800aa522d9e38c3309c98ec53ade" | ||
4 | |||
5 | SRC_URI[md5sum] = "4d508c9947404fee40945375b8a5fd32" | ||
6 | SRC_URI[sha256sum] = "820a5dad3c56a4f3e937f2b9ae059ab2696c6058345d71b7a8b072a0f2fcbd99" | ||
diff --git a/meta-oe/recipes-support/bash-completion/bash-completion_2.1.bb b/meta-oe/recipes-support/bash-completion/bash-completion_2.1.bb new file mode 100644 index 000000000..fbe4278d7 --- /dev/null +++ b/meta-oe/recipes-support/bash-completion/bash-completion_2.1.bb | |||
@@ -0,0 +1,39 @@ | |||
1 | SUMMARY = "Programmable Completion for Bash 4" | ||
2 | HOMEPAGE = "http://bash-completion.alioth.debian.org/" | ||
3 | BUGTRACKER = "https://alioth.debian.org/projects/bash-completion/" | ||
4 | |||
5 | LICENSE = "GPLv2" | ||
6 | LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe" | ||
7 | |||
8 | SECTION = "console/utils" | ||
9 | |||
10 | SRC_URI="http://bash-completion.alioth.debian.org/files/${BPN}-${PV}.tar.bz2" | ||
11 | |||
12 | SRC_URI[md5sum] = "4e2a9f11a4042a38ee79ddcd048e8b9e" | ||
13 | SRC_URI[sha256sum] = "2b606804a7d5f823380a882e0f7b6c8a37b0e768e72c3d4107c51fbe8a46ae4f" | ||
14 | |||
15 | PARALLEL_MAKE = "" | ||
16 | |||
17 | inherit autotools | ||
18 | |||
19 | do_install_append() { | ||
20 | # compatdir | ||
21 | install -d ${D}${sysconfdir}/bash_completion.d/ | ||
22 | echo '. ${datadir}/${BPN}/bash_completion' >${D}${sysconfdir}/bash_completion | ||
23 | |||
24 | # Delete files already provided by util-linux | ||
25 | local i | ||
26 | for i in cal dmesg eject hexdump hwclock ionice look renice rtcwake su; do | ||
27 | rm ${D}${datadir}/${BPN}/completions/$i | ||
28 | done | ||
29 | |||
30 | # Delete files for networkmanager | ||
31 | rm ${D}${datadir}/${BPN}/completions/nmcli | ||
32 | } | ||
33 | |||
34 | RDEPENDS_${PN} = "bash" | ||
35 | |||
36 | # Some recipes are providing ${PN}-bash-completion packages | ||
37 | PACKAGES =+ "${PN}-extra" | ||
38 | FILES_${PN}-extra = "${datadir}/${BPN}/completions/ \ | ||
39 | ${datadir}/${BPN}/helpers/" | ||
diff --git a/meta-oe/recipes-support/ccid/ccid/no-dep-on-libfl.patch b/meta-oe/recipes-support/ccid/ccid/no-dep-on-libfl.patch new file mode 100644 index 000000000..477cc31ad --- /dev/null +++ b/meta-oe/recipes-support/ccid/ccid/no-dep-on-libfl.patch | |||
@@ -0,0 +1,18 @@ | |||
1 | No need to link with libfl. | ||
2 | |||
3 | Upstream-Status: Pending | ||
4 | Signed-off-by: Jacob Kroon <jacob.kroon@mikrodidakt.se> | ||
5 | |||
6 | Index: ccid-1.4.8/src/Makefile.am | ||
7 | =================================================================== | ||
8 | --- ccid-1.4.8.orig/src/Makefile.am | ||
9 | +++ ccid-1.4.8/src/Makefile.am | ||
10 | @@ -53,7 +53,7 @@ PROVIDED_BY_PCSC = debug.c | ||
11 | endif | ||
12 | |||
13 | libccid_la_SOURCES = $(COMMON) $(USB) $(TOKEN_PARSER) $(PROVIDED_BY_PCSC) $(T1) | ||
14 | -libccid_la_LIBADD = $(LEXLIB) $(LIBUSB_LIBS) $(PTHREAD_LIBS) | ||
15 | +libccid_la_LIBADD = $(LIBUSB_LIBS) $(PTHREAD_LIBS) | ||
16 | libccid_la_CFLAGS = $(PCSC_CFLAGS) $(LIBUSB_CFLAGS) $(PTHREAD_CFLAGS) \ | ||
17 | $(SYMBOL_VISIBILITY) -D$(CCID_VERSION) -DSIMCLIST_NO_DUMPRESTORE | ||
18 | libccid_la_LDFLAGS = -avoid-version | ||
diff --git a/meta-oe/recipes-support/ccid/ccid_1.4.8.bb b/meta-oe/recipes-support/ccid/ccid_1.4.8.bb new file mode 100644 index 000000000..078f785ab --- /dev/null +++ b/meta-oe/recipes-support/ccid/ccid_1.4.8.bb | |||
@@ -0,0 +1,18 @@ | |||
1 | SUMMARY = "Generic USB CCID smart card reader driver" | ||
2 | HOMEPAGE = "http://pcsclite.alioth.debian.org/ccid.html" | ||
3 | LICENSE = "LGPLv2.1+" | ||
4 | LIC_FILES_CHKSUM = "file://COPYING;md5=2d5025d4aa3495befef8f17206a5b0a1" | ||
5 | |||
6 | DEPENDS = "virtual/libusb0 pcsc-lite" | ||
7 | RDEPENDS_${PN} = "pcsc-lite" | ||
8 | |||
9 | SRC_URI = "https://alioth.debian.org/frs/download.php/file/3768/ccid-${PV}.tar.bz2 \ | ||
10 | file://no-dep-on-libfl.patch" | ||
11 | |||
12 | SRC_URI[md5sum] = "b6c37110f50b059a8ba94f118cfd679a" | ||
13 | SRC_URI[sha256sum] = "7aca09fa4b9099e423402fd5df424adbafa502888710d1fda6015b6c1ff637ef" | ||
14 | |||
15 | inherit autotools pkgconfig | ||
16 | |||
17 | FILES_${PN} += "${libdir}/pcsc/" | ||
18 | FILES_${PN}-dbg += "${libdir}/pcsc/drivers/*/*/*/.debug" | ||
diff --git a/meta-oe/recipes-support/ckermit/ckermit_302.bb b/meta-oe/recipes-support/ckermit/ckermit_302.bb new file mode 100644 index 000000000..32a6c03a9 --- /dev/null +++ b/meta-oe/recipes-support/ckermit/ckermit_302.bb | |||
@@ -0,0 +1,58 @@ | |||
1 | DESCRIPTION = "C-Kermit is a combined serial and network communication \ | ||
2 | software package offering a consistent, medium-independent, \ | ||
3 | cross-platform approach to connection establishment, terminal \ | ||
4 | sessions, file transfer, character-set translation, and automation \ | ||
5 | of communication tasks." | ||
6 | HOMEPAGE = "http://www.columbia.edu/kermit/" | ||
7 | SECTION = "console/network" | ||
8 | LICENSE = "BSD-3-Clause" | ||
9 | LIC_FILES_CHKSUM = "file://COPYING.TXT;md5=932ca542d6c6cb8a59a0bcd76ab67cc3" | ||
10 | |||
11 | SRC_URI = "ftp://ftp.kermitproject.org/kermit/archives/cku${PV}.tar.gz;subdir=${BPN}-${PV}" | ||
12 | SRC_URI[md5sum] = "eac4dbf18b45775e4cdee5a7c74762b0" | ||
13 | SRC_URI[sha256sum] = "0d5f2cd12bdab9401b4c836854ebbf241675051875557783c332a6a40dac0711" | ||
14 | |||
15 | |||
16 | export CC2 = "${CC}" | ||
17 | export BINDIR = "${bindir}" | ||
18 | export MANDIR = "${mandir}/man1" | ||
19 | export INFODIR = "${infodir}" | ||
20 | |||
21 | # Additional flags. For uclibc we add -DNOARROWKEYS which stops ckermit | ||
22 | # trying to look inside the stdio headers. | ||
23 | CKERMIT_ADDITIONAL = "" | ||
24 | CKERMIT_ADDITIONAL_libc-uclibc = "-DNOARROWKEYS" | ||
25 | |||
26 | TARGET_CC_ARCH += "${LDFLAGS}" | ||
27 | |||
28 | do_compile () { | ||
29 | # The original makefile doesn't differentiate between CC and CC_FOR_BUILD, | ||
30 | # so we build wart manually. Note that you need a ckwart.o with the proper | ||
31 | # timestamp to make this hack work: | ||
32 | ${BUILD_CC} -c ckwart.c | ||
33 | ${BUILD_CC} -o wart ckwart.o | ||
34 | ./wart ckcpro.w ckcpro.c | ||
35 | |||
36 | # read ${S}/ckccfg.txt to understand this :-) | ||
37 | oe_runmake wermit CFLAGS="${CFLAGS} -DLINUX -DCK_POSIX_SIG \ | ||
38 | -DNOTCPOPTS -DLINUXFSSTND -DNOCOTFMC -DPOSIX -DUSE_STRERROR \ | ||
39 | -DNOSYSLOG -DHAVE_PTMX -DNO_DNS_SRV -DNOGFTIMER \ | ||
40 | -DNOB_50 -DNOB_75 -DNOB_134 -DNOB_150 -DNOB_200 \ | ||
41 | -DNOB_1800 -DNOB_3600 -DNOB_7200 -DNOB_76K -DNOB_230K \ | ||
42 | -DNOB_460K -DNOB_921K \ | ||
43 | -DNOCSETS -DNONET -DNOUNICODE -DNOHELP -DNODEBUG \ | ||
44 | -DNOFRILLS -DNOFTP -DNODIAL -DNOPUSH -DNOIKSD -DNOHTTP -DNOFLOAT \ | ||
45 | -DNOSERVER -DNOSEXP -DNORLOGIN -DNOOLDMODEMS -DNOSSH -DNOLISTEN \ | ||
46 | -DNORESEND -DNOAUTODL -DNOSTREAMING -DNOHINTS -DNOCKXYZ -DNOLEARN \ | ||
47 | -DNOMKDIR -DNOPERMS -DNOCKTIMERS -DNOCKREGEX -DNOREALPATH \ | ||
48 | -DCK_SMALL -DNOLOGDIAL -DNORENAME -DNOWHATAMI \ | ||
49 | ${CKERMIT_ADDITIONAL}" | ||
50 | } | ||
51 | |||
52 | do_install () { | ||
53 | install -d ${D}${BINDIR} ${D}${MANDIR} ${D}${INFODIR} | ||
54 | oe_runmake 'DESTDIR=${D}' install | ||
55 | # Fix up dangling symlink | ||
56 | rm ${D}${BINDIR}/kermit-sshsub | ||
57 | (cd ${D}${BINDIR} && ln -s ${BINDIR}/kermit kermit-sshusb) | ||
58 | } | ||
diff --git a/meta-oe/recipes-support/cpufrequtils/cpufrequtils/0001-dont-unset-cflags.patch b/meta-oe/recipes-support/cpufrequtils/cpufrequtils/0001-dont-unset-cflags.patch new file mode 100644 index 000000000..fb2f07f07 --- /dev/null +++ b/meta-oe/recipes-support/cpufrequtils/cpufrequtils/0001-dont-unset-cflags.patch | |||
@@ -0,0 +1,30 @@ | |||
1 | --- git.old/Makefile 2012-04-17 13:29:46.280435340 +0200 | ||
2 | +++ git/Makefile 2012-04-17 13:31:13.664433470 +0200 | ||
3 | @@ -77,17 +77,7 @@ INSTALL_PROGRAM = ${INSTALL} | ||
4 | INSTALL_DATA = ${INSTALL} -m 644 | ||
5 | INSTALL_SCRIPT = ${INSTALL_PROGRAM} | ||
6 | |||
7 | -# If you are running a cross compiler, you may want to set this | ||
8 | -# to something more interesting, like "arm-linux-". If you want | ||
9 | -# to compile vs uClibc, that can be done here as well. | ||
10 | -CROSS = #/usr/i386-linux-uclibc/usr/bin/i386-uclibc- | ||
11 | -CC = $(CROSS)gcc | ||
12 | -LD = $(CROSS)gcc | ||
13 | -AR = $(CROSS)ar | ||
14 | -STRIP = $(CROSS)strip | ||
15 | -RANLIB = $(CROSS)ranlib | ||
16 | -HOSTCC = gcc | ||
17 | - | ||
18 | +HOSTCC = $(BUILD_CC) | ||
19 | |||
20 | # Now we set up the build system | ||
21 | # | ||
22 | @@ -95,7 +85,7 @@ HOSTCC = gcc | ||
23 | # set up PWD so that older versions of make will work with our build. | ||
24 | PWD = $(shell pwd) | ||
25 | |||
26 | -export CROSS CC AR STRIP RANLIB CFLAGS LDFLAGS LIB_OBJS | ||
27 | +export CFLAGS LDFLAGS LIB_OBJS | ||
28 | |||
29 | # check if compiler option is supported | ||
30 | cc-supports = ${shell if $(CC) ${1} -S -o /dev/null -xc /dev/null > /dev/null 2>&1; then echo "$(1)"; fi;} | ||
diff --git a/meta-oe/recipes-support/cpufrequtils/cpufrequtils_008.bb b/meta-oe/recipes-support/cpufrequtils/cpufrequtils_008.bb new file mode 100644 index 000000000..e74fa4454 --- /dev/null +++ b/meta-oe/recipes-support/cpufrequtils/cpufrequtils_008.bb | |||
@@ -0,0 +1,34 @@ | |||
1 | DESCRIPTION = "To make access to the Linux kernel cpufreq subsystem easier for users and cpufreq userspace tools, a cpufrequtils package was created" | ||
2 | |||
3 | inherit gettext | ||
4 | |||
5 | DEPENDS = "libtool-cross" | ||
6 | |||
7 | LICENSE = "GPLv2" | ||
8 | LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f" | ||
9 | |||
10 | SRCREV = "a2f0c39d5f21596bb9f5223e895c0ff210b265d0" | ||
11 | # SRC_URI = "git://git.kernel.org/pub/scm/utils/kernel/cpufreq/cpufrequtils.git | ||
12 | |||
13 | SRC_URI = "git://github.com/emagii/cpufrequtils.git \ | ||
14 | file://0001-dont-unset-cflags.patch \ | ||
15 | " | ||
16 | |||
17 | CFLAGS_append_libc-uclibc = " ${@['-DNLS', '-UNLS']['${USE_NLS}' == 'no']} " | ||
18 | |||
19 | PR = "r5" | ||
20 | |||
21 | S = "${WORKDIR}/git" | ||
22 | |||
23 | TARGET_CC_ARCH += "${LDFLAGS}" | ||
24 | |||
25 | EXTRA_OEMAKE = "V=1 CROSS=${TARGET_PREFIX} LIBTOOL='${HOST_SYS}-libtool --tag cc' STRIPCMD=echo" | ||
26 | |||
27 | do_compile() { | ||
28 | oe_runmake | ||
29 | } | ||
30 | |||
31 | do_install() { | ||
32 | oe_runmake -e install DESTDIR=${D} | ||
33 | } | ||
34 | |||
diff --git a/meta-oe/recipes-support/cryptsetup/cryptsetup_1.6.2.bb b/meta-oe/recipes-support/cryptsetup/cryptsetup_1.6.2.bb new file mode 100644 index 000000000..500dc572c --- /dev/null +++ b/meta-oe/recipes-support/cryptsetup/cryptsetup_1.6.2.bb | |||
@@ -0,0 +1,33 @@ | |||
1 | SUMMARY = "Manage plain dm-crypt and LUKS encrypted volumes" | ||
2 | DESCRIPTION = "Cryptsetup is used to conveniently setup dm-crypt managed \ | ||
3 | device-mapper mappings. These include plain dm-crypt volumes and \ | ||
4 | LUKS volumes. The difference is that LUKS uses a metadata header \ | ||
5 | and can hence offer more features than plain dm-crypt. On the other \ | ||
6 | hand, the header is visible and vulnerable to damage." | ||
7 | HOMEPAGE = "http://code.google.com/p/cryptsetup/" | ||
8 | SECTION = "console" | ||
9 | LICENSE = "GPL-2.0-with-OpenSSL-exception" | ||
10 | LIC_FILES_CHKSUM = "file://COPYING;md5=32107dd283b1dfeb66c9b3e6be312326" | ||
11 | |||
12 | DEPENDS = "util-linux lvm2 popt libgcrypt" | ||
13 | |||
14 | SRC_URI = "http://cryptsetup.googlecode.com/files/cryptsetup-${PV}.tar.bz2" | ||
15 | SRC_URI[md5sum] = "cd834da49fbe92dd66df02cc5c61280f" | ||
16 | SRC_URI[sha256sum] = "15723f0198303d4bcb99d480b7a773918e2d319f0348457988c063bdd03e109a" | ||
17 | |||
18 | inherit autotools gettext pkgconfig | ||
19 | |||
20 | # Use openssl because libgcrypt drops root privileges | ||
21 | # if libgcrypt is linked with libcap support | ||
22 | PACKAGECONFIG ??= "openssl" | ||
23 | PACKAGECONFIG[openssl] = "--with-crypto_backend=openssl,,openssl" | ||
24 | PACKAGECONFIG[gcrypt] = "--with-crypto_backend=gcrypt,,libgcrypt" | ||
25 | |||
26 | RRECOMMENDS_${PN} = "kernel-module-aes-generic \ | ||
27 | kernel-module-dm-crypt \ | ||
28 | kernel-module-md5 \ | ||
29 | kernel-module-cbc \ | ||
30 | kernel-module-sha256-generic \ | ||
31 | " | ||
32 | |||
33 | EXTRA_OECONF = "--enable-static" | ||
diff --git a/meta-oe/recipes-support/daemonize/daemonize_git.bb b/meta-oe/recipes-support/daemonize/daemonize_git.bb new file mode 100644 index 000000000..8b1591cef --- /dev/null +++ b/meta-oe/recipes-support/daemonize/daemonize_git.bb | |||
@@ -0,0 +1,14 @@ | |||
1 | SUMMARY = "A tool to run a command as a daemon" | ||
2 | HOMEPAGE = "http://software.clapper.org/daemonize/" | ||
3 | LICENSE = "BSD" | ||
4 | LIC_FILES_CHKSUM = "file://LICENSE.md;md5=3cf9084faa88bc8554a9139d8d7dd35f" | ||
5 | PV = "1.7.3+git${SRCPV}" | ||
6 | |||
7 | inherit autotools | ||
8 | |||
9 | SRCREV = "a4ac64a243af91dc434b7a3915f43482d528a2b1" | ||
10 | SRC_URI = "git://github.com/bmc/daemonize.git" | ||
11 | |||
12 | S = "${WORKDIR}/git" | ||
13 | |||
14 | EXTRA_AUTORECONF += "--exclude=autoheader" | ||
diff --git a/meta-oe/recipes-support/debianutils/debianutils_4.4.bb b/meta-oe/recipes-support/debianutils/debianutils_4.4.bb new file mode 100644 index 000000000..346eaf16e --- /dev/null +++ b/meta-oe/recipes-support/debianutils/debianutils_4.4.bb | |||
@@ -0,0 +1,35 @@ | |||
1 | SUMMARY = "Miscellaneous utilities specific to Debian" | ||
2 | SECTION = "base" | ||
3 | LICENSE = "GPLv2 & SMAIL_GPL" | ||
4 | LIC_FILES_CHKSUM = "file://debian/copyright;md5=f01a5203d50512fc4830b4332b696a9f" | ||
5 | |||
6 | SRC_URI = "${DEBIAN_MIRROR}/main/d/${BPN}/${BPN}_${PV}.tar.gz" | ||
7 | SRC_URI[md5sum] = "c0cb076754d7f4eb1e3397d00916647f" | ||
8 | SRC_URI[sha256sum] = "190850cdd6b5302e0a1ba1aaed1bc7074d67d3bd8d04c613f242f7145afa53a6" | ||
9 | |||
10 | inherit autotools update-alternatives | ||
11 | |||
12 | do_configure_prepend() { | ||
13 | sed -i -e 's:tempfile.1 which.1:which.1:g' ${S}/Makefile.am | ||
14 | } | ||
15 | |||
16 | do_install_append() { | ||
17 | if [ "${base_bindir}" != "${bindir}" ]; then | ||
18 | # Debian places some utils into ${base_bindir} as does busybox | ||
19 | install -d ${D}${base_bindir} | ||
20 | for app in run-parts tempfile; do | ||
21 | mv ${D}${bindir}/$app ${D}${base_bindir}/$app | ||
22 | done | ||
23 | fi | ||
24 | } | ||
25 | |||
26 | ALTERNATIVE_PRIORITY="100" | ||
27 | ALTERNATIVE_${PN} = "add-shell installkernel remove-shell run-parts savelog tempfile which" | ||
28 | |||
29 | ALTERNATIVE_LINK_NAME[add-shell]="${sbindir}/add-shell" | ||
30 | ALTERNATIVE_LINK_NAME[installkernel]="${sbindir}/installkernel" | ||
31 | ALTERNATIVE_LINK_NAME[remove-shell]="${sbindir}/remove-shell" | ||
32 | ALTERNATIVE_LINK_NAME[run-parts]="${base_bindir}/run-parts" | ||
33 | ALTERNATIVE_LINK_NAME[savelog]="${bindir}/savelog" | ||
34 | ALTERNATIVE_LINK_NAME[tempfile]="${base_bindir}/tempfile" | ||
35 | ALTERNATIVE_LINK_NAME[which]="${bindir}/which" | ||
diff --git a/meta-oe/recipes-support/devicekit/devicekit-power_014.bb b/meta-oe/recipes-support/devicekit/devicekit-power_014.bb new file mode 100644 index 000000000..0c1245fbf --- /dev/null +++ b/meta-oe/recipes-support/devicekit/devicekit-power_014.bb | |||
@@ -0,0 +1,30 @@ | |||
1 | SUMMARY = "Devicekit power" | ||
2 | LICENSE = "GPLv2" | ||
3 | LIC_FILES_CHKSUM = "file://COPYING;md5=756cf97871f77233638937da21b025d3" | ||
4 | |||
5 | DEPENDS = "libusb-compat libusb1 udev glib-2.0 dbus-glib polkit intltool-native" | ||
6 | |||
7 | SRC_URI = "http://upower.freedesktop.org/releases/DeviceKit-power-${PV}.tar.gz;name=archive" | ||
8 | SRC_URI[archive.md5sum] = "935d37f1e14b3c8a1d6dabcd9a38d3ca" | ||
9 | SRC_URI[archive.sha256sum] = "ad3e9a8bd9525d66fadc7fa53ef99e0632aa8cca8fd5bc27483956261153b373" | ||
10 | |||
11 | S = "${WORKDIR}/DeviceKit-power-${PV}" | ||
12 | |||
13 | inherit autotools pkgconfig | ||
14 | |||
15 | EXTRA_OECONF = " --with-backend=linux" | ||
16 | |||
17 | do_configure_prepend() { | ||
18 | sed -i -e s:-nonet:\:g ${S}/doc/man/Makefile.am | ||
19 | sed -i -e 's: doc : :g' ${S}/Makefile.am | ||
20 | } | ||
21 | |||
22 | FILES_${PN} += "${datadir}/dbus-1/ \ | ||
23 | ${datadir}/polkit-1/ \ | ||
24 | ${base_libdir}/udev/* \ | ||
25 | " | ||
26 | |||
27 | FILES_${PN}-dbg += "${base_libdir}/udev/.debug" | ||
28 | |||
29 | |||
30 | |||
diff --git a/meta-oe/recipes-support/devmem2/devmem2.bb b/meta-oe/recipes-support/devmem2/devmem2.bb new file mode 100644 index 000000000..e48cc9210 --- /dev/null +++ b/meta-oe/recipes-support/devmem2/devmem2.bb | |||
@@ -0,0 +1,22 @@ | |||
1 | SUMMARY = "Simple program to read/write from/to any location in memory" | ||
2 | LICENSE = "GPLv2+" | ||
3 | LIC_FILES_CHKSUM = "file://devmem2.c;endline=28;md5=dd68f2b0a5184b3db3dc25c99e0bd0cd" | ||
4 | PR = "r7" | ||
5 | |||
6 | SRC_URI = "http://www.lartmaker.nl/lartware/port/devmem2.c \ | ||
7 | file://devmem2-fixups-2.patch;apply=yes;striplevel=0" | ||
8 | S = "${WORKDIR}" | ||
9 | |||
10 | CFLAGS += "-DFORCE_STRICT_ALIGNMENT" | ||
11 | |||
12 | do_compile() { | ||
13 | ${CC} -o devmem2 devmem2.c ${CFLAGS} ${LDFLAGS} | ||
14 | } | ||
15 | |||
16 | do_install() { | ||
17 | install -d ${D}${bindir} | ||
18 | install devmem2 ${D}${bindir} | ||
19 | } | ||
20 | |||
21 | SRC_URI[md5sum] = "be12c0132a1ae118cbf5e79d98427c1d" | ||
22 | SRC_URI[sha256sum] = "ec382c90af3ef2f49695ff14a4d6521e58ac482c4e29d6c9ebca8768f699c191" | ||
diff --git a/meta-oe/recipes-support/devmem2/devmem2/devmem2-fixups-2.patch b/meta-oe/recipes-support/devmem2/devmem2/devmem2-fixups-2.patch new file mode 100644 index 000000000..4517797fc --- /dev/null +++ b/meta-oe/recipes-support/devmem2/devmem2/devmem2-fixups-2.patch | |||
@@ -0,0 +1,91 @@ | |||
1 | --- devmem2.c 2004-08-05 01:55:25.000000000 +0200 | ||
2 | +++ devmem2_modif.c 2011-01-13 15:48:37.798799784 +0100 | ||
3 | @@ -45,12 +45,16 @@ | ||
4 | #define MAP_SIZE 4096UL | ||
5 | #define MAP_MASK (MAP_SIZE - 1) | ||
6 | |||
7 | +static inline void *fixup_addr(void *addr, size_t size); | ||
8 | + | ||
9 | int main(int argc, char **argv) { | ||
10 | int fd; | ||
11 | void *map_base, *virt_addr; | ||
12 | - unsigned long read_result, writeval; | ||
13 | + unsigned long read_result, write_val; | ||
14 | off_t target; | ||
15 | int access_type = 'w'; | ||
16 | + char fmt_str[128]; | ||
17 | + size_t data_size; | ||
18 | |||
19 | if(argc < 2) { | ||
20 | fprintf(stderr, "\nUsage:\t%s { address } [ type [ data ] ]\n" | ||
21 | @@ -79,38 +83,51 @@ | ||
22 | virt_addr = map_base + (target & MAP_MASK); | ||
23 | switch(access_type) { | ||
24 | case 'b': | ||
25 | + data_size = sizeof(unsigned char); | ||
26 | + virt_addr = fixup_addr(virt_addr, data_size); | ||
27 | read_result = *((unsigned char *) virt_addr); | ||
28 | break; | ||
29 | case 'h': | ||
30 | + data_size = sizeof(unsigned short); | ||
31 | + virt_addr = fixup_addr(virt_addr, data_size); | ||
32 | read_result = *((unsigned short *) virt_addr); | ||
33 | break; | ||
34 | case 'w': | ||
35 | + data_size = sizeof(unsigned long); | ||
36 | + virt_addr = fixup_addr(virt_addr, data_size); | ||
37 | read_result = *((unsigned long *) virt_addr); | ||
38 | break; | ||
39 | default: | ||
40 | fprintf(stderr, "Illegal data type '%c'.\n", access_type); | ||
41 | exit(2); | ||
42 | } | ||
43 | - printf("Value at address 0x%X (%p): 0x%X\n", target, virt_addr, read_result); | ||
44 | + sprintf(fmt_str, "Read at address 0x%%08lX (%%p): 0x%%0%dlX\n", 2*data_size); | ||
45 | + printf(fmt_str, (unsigned long)target, virt_addr, read_result); | ||
46 | fflush(stdout); | ||
47 | |||
48 | if(argc > 3) { | ||
49 | - writeval = strtoul(argv[3], 0, 0); | ||
50 | + write_val = strtoul(argv[3], 0, 0); | ||
51 | switch(access_type) { | ||
52 | case 'b': | ||
53 | - *((unsigned char *) virt_addr) = writeval; | ||
54 | + virt_addr = fixup_addr(virt_addr, sizeof(unsigned char)); | ||
55 | + *((unsigned char *) virt_addr) = write_val; | ||
56 | read_result = *((unsigned char *) virt_addr); | ||
57 | break; | ||
58 | case 'h': | ||
59 | - *((unsigned short *) virt_addr) = writeval; | ||
60 | + virt_addr = fixup_addr(virt_addr, sizeof(unsigned short)); | ||
61 | + *((unsigned short *) virt_addr) = write_val; | ||
62 | read_result = *((unsigned short *) virt_addr); | ||
63 | break; | ||
64 | case 'w': | ||
65 | - *((unsigned long *) virt_addr) = writeval; | ||
66 | + virt_addr = fixup_addr(virt_addr, sizeof(unsigned long)); | ||
67 | + *((unsigned long *) virt_addr) = write_val; | ||
68 | read_result = *((unsigned long *) virt_addr); | ||
69 | break; | ||
70 | } | ||
71 | - printf("Written 0x%X; readback 0x%X\n", writeval, read_result); | ||
72 | + sprintf(fmt_str, "Write at address 0x%%08lX (%%p): 0x%%0%dlX, " | ||
73 | + "readback 0x%%0%dlX\n", 2*data_size, 2*data_size); | ||
74 | + printf(fmt_str, (unsigned long)target, virt_addr, | ||
75 | + write_val, read_result); | ||
76 | fflush(stdout); | ||
77 | } | ||
78 | |||
79 | @@ -119,3 +136,12 @@ | ||
80 | return 0; | ||
81 | } | ||
82 | |||
83 | +static inline void *fixup_addr(void *addr, size_t size) | ||
84 | +{ | ||
85 | +#ifdef FORCE_STRICT_ALIGNMENT | ||
86 | + unsigned long aligned_addr = (unsigned long)addr; | ||
87 | + aligned_addr &= ~(size - 1); | ||
88 | + addr = (void *)aligned_addr; | ||
89 | +#endif | ||
90 | + return addr; | ||
91 | +} | ||
diff --git a/meta-oe/recipes-support/dfu-util/dfu-util-native_0.7.bb b/meta-oe/recipes-support/dfu-util/dfu-util-native_0.7.bb new file mode 100644 index 000000000..8be9d850e --- /dev/null +++ b/meta-oe/recipes-support/dfu-util/dfu-util-native_0.7.bb | |||
@@ -0,0 +1,19 @@ | |||
1 | require dfu-util_${PV}.bb | ||
2 | |||
3 | inherit native deploy | ||
4 | do_deploy[sstate-outputdirs] = "${DEPLOY_DIR_TOOLS}" | ||
5 | |||
6 | DEPENDS = "libusb1-native" | ||
7 | |||
8 | FILESPATH =. "${FILE_DIRNAME}/${BPN}-${PV}:" | ||
9 | SRC_URI += "file://0002-Revert-Makefile.am-Drop-static-dfu-util.patch" | ||
10 | |||
11 | do_deploy() { | ||
12 | install -d ${DEPLOY_DIR_TOOLS} | ||
13 | install -m 0755 src/dfu-util_static ${DEPLOY_DIR_TOOLS}/dfu-util-${PV} | ||
14 | rm -f ${DEPLOY_DIR_TOOLS}/dfu-util | ||
15 | ln -sf ./dfu-util-${PV} ${DEPLOY_DIR_TOOLS}/dfu-util | ||
16 | |||
17 | } | ||
18 | |||
19 | addtask deploy before do_package after do_install | ||
diff --git a/meta-oe/recipes-support/dfu-util/dfu-util/0001-configure.ac-Don-t-check-for-usbpath.patch b/meta-oe/recipes-support/dfu-util/dfu-util/0001-configure.ac-Don-t-check-for-usbpath.patch new file mode 100644 index 000000000..a583c333d --- /dev/null +++ b/meta-oe/recipes-support/dfu-util/dfu-util/0001-configure.ac-Don-t-check-for-usbpath.patch | |||
@@ -0,0 +1,38 @@ | |||
1 | From 63f6f6882f3813ab22c62806feeab942579a2acf Mon Sep 17 00:00:00 2001 | ||
2 | From: Martin Jansa <Martin.Jansa@gmail.com> | ||
3 | Date: Sun, 3 Aug 2014 17:50:06 +0200 | ||
4 | Subject: [PATCH 1/2] configure.ac: Don't check for usbpath | ||
5 | |||
6 | * otherwise it fails to build with -lusb | ||
7 | | main.o: In function `resolve_device_path': | ||
8 | | dfu-util/0.7-r0/dfu-util-0.7/src/main.c:371: undefined reference to `usb_path2devnum' | ||
9 | | collect2: error: ld returned 1 exit status | ||
10 | |||
11 | Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> | ||
12 | --- | ||
13 | configure.ac | 3 +-- | ||
14 | 1 file changed, 1 insertion(+), 2 deletions(-) | ||
15 | |||
16 | diff --git a/configure.ac b/configure.ac | ||
17 | index 700b556..fb58473 100644 | ||
18 | --- a/configure.ac | ||
19 | +++ b/configure.ac | ||
20 | @@ -22,14 +22,13 @@ AS_IF([test x$native_libusb = xno], [ | ||
21 | PKG_CHECK_MODULES([USB], [libusb-1.0 >= 1.0.0],, | ||
22 | AC_MSG_ERROR([*** Required libusb-1.0 >= 1.0.0 not installed ***])) | ||
23 | ]) | ||
24 | -AC_CHECK_LIB([usbpath],[usb_path2devnum],,,-lusb) | ||
25 | |||
26 | LIBS="$LIBS $USB_LIBS" | ||
27 | CFLAGS="$CFLAGS $USB_CFLAGS" | ||
28 | |||
29 | # Checks for header files. | ||
30 | AC_HEADER_STDC | ||
31 | -AC_CHECK_HEADERS([usbpath.h windows.h]) | ||
32 | +AC_CHECK_HEADERS([windows.h]) | ||
33 | |||
34 | # Checks for typedefs, structures, and compiler characteristics. | ||
35 | AC_C_CONST | ||
36 | -- | ||
37 | 2.0.2 | ||
38 | |||
diff --git a/meta-oe/recipes-support/dfu-util/dfu-util/0002-Revert-Makefile.am-Drop-static-dfu-util.patch b/meta-oe/recipes-support/dfu-util/dfu-util/0002-Revert-Makefile.am-Drop-static-dfu-util.patch new file mode 100644 index 000000000..de17808e1 --- /dev/null +++ b/meta-oe/recipes-support/dfu-util/dfu-util/0002-Revert-Makefile.am-Drop-static-dfu-util.patch | |||
@@ -0,0 +1,67 @@ | |||
1 | From 440a026379ff111aaa8314db1c29ffae8f482824 Mon Sep 17 00:00:00 2001 | ||
2 | From: Martin JaMa Jansa <Martin.Jansa@gmail.com> | ||
3 | Date: Thu, 11 Aug 2011 11:19:52 +0200 | ||
4 | Subject: [PATCH 2/2] Revert "Makefile.am: Drop static dfu-util" | ||
5 | |||
6 | This reverts commit fe0426ddc04f503d148c5e5f931f16b8f674f071. | ||
7 | |||
8 | Signed-off-by: Martin JaMa Jansa <Martin.Jansa@gmail.com> | ||
9 | Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com> | ||
10 | --- | ||
11 | configure.ac | 2 +- | ||
12 | src/Makefile.am | 20 +++++++++++++++++++- | ||
13 | 2 files changed, 20 insertions(+), 2 deletions(-) | ||
14 | |||
15 | diff --git a/configure.ac b/configure.ac | ||
16 | index fb58473..09b9e5a 100644 | ||
17 | --- a/configure.ac | ||
18 | +++ b/configure.ac | ||
19 | @@ -23,7 +23,7 @@ AS_IF([test x$native_libusb = xno], [ | ||
20 | AC_MSG_ERROR([*** Required libusb-1.0 >= 1.0.0 not installed ***])) | ||
21 | ]) | ||
22 | |||
23 | -LIBS="$LIBS $USB_LIBS" | ||
24 | +LIBS="$LIBS $USB_LIBS -lpthread" | ||
25 | CFLAGS="$CFLAGS $USB_CFLAGS" | ||
26 | |||
27 | # Checks for header files. | ||
28 | diff --git a/src/Makefile.am b/src/Makefile.am | ||
29 | index 99df307..28d53f7 100644 | ||
30 | --- a/src/Makefile.am | ||
31 | +++ b/src/Makefile.am | ||
32 | @@ -1,6 +1,6 @@ | ||
33 | AM_CFLAGS = -Wall | ||
34 | |||
35 | -bin_PROGRAMS = dfu-util dfu-suffix | ||
36 | +bin_PROGRAMS = dfu-util dfu-util_static dfu-suffix | ||
37 | dfu_util_SOURCES = main.c \ | ||
38 | portable.h \ | ||
39 | dfu_load.c \ | ||
40 | @@ -17,6 +17,24 @@ dfu_util_SOURCES = main.c \ | ||
41 | quirks.c \ | ||
42 | quirks.h | ||
43 | |||
44 | +dfu_util_static_SOURCES = main.c \ | ||
45 | + portable.h \ | ||
46 | + dfu_load.c \ | ||
47 | + dfu_load.h \ | ||
48 | + dfuse.c \ | ||
49 | + dfuse.h \ | ||
50 | + dfuse_mem.c \ | ||
51 | + dfuse_mem.h \ | ||
52 | + dfu.c \ | ||
53 | + dfu.h \ | ||
54 | + usb_dfu.h \ | ||
55 | + dfu_file.c \ | ||
56 | + dfu_file.h \ | ||
57 | + quirks.c \ | ||
58 | + quirks.h | ||
59 | + | ||
60 | +dfu_util_static_LDFLAGS = -static | ||
61 | + | ||
62 | dfu_suffix_SOURCES = suffix.c \ | ||
63 | dfu_file.h \ | ||
64 | dfu_file.c \ | ||
65 | -- | ||
66 | 2.0.2 | ||
67 | |||
diff --git a/meta-oe/recipes-support/dfu-util/dfu-util_0.7.bb b/meta-oe/recipes-support/dfu-util/dfu-util_0.7.bb new file mode 100644 index 000000000..7f06f8f6a --- /dev/null +++ b/meta-oe/recipes-support/dfu-util/dfu-util_0.7.bb | |||
@@ -0,0 +1,19 @@ | |||
1 | DESCRIPTION = "USB Device Firmware Upgrade utility" | ||
2 | SECTION = "devel" | ||
3 | AUTHOR = "Harald Welte <laforge@openmoko.org>" | ||
4 | LICENSE = "GPLv2" | ||
5 | LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f" | ||
6 | |||
7 | S = "${WORKDIR}/git" | ||
8 | |||
9 | SRC_URI = "git://gitorious.org/dfu-util/dfu-util.git \ | ||
10 | file://0001-configure.ac-Don-t-check-for-usbpath.patch \ | ||
11 | " | ||
12 | SRCREV="a0a3668e0571a9b007f7d62b01e7dcfd7754ce50" | ||
13 | |||
14 | inherit autotools pkgconfig | ||
15 | |||
16 | DEPENDS = "libusb1" | ||
17 | |||
18 | SRC_URI[md5sum] = "1de724551604bce1962960b7a301cc08" | ||
19 | SRC_URI[sha256sum] = "5d253f924fd29bc13054b664bba9aa86b865299971195969478253c1775b7e56" | ||
diff --git a/meta-oe/recipes-support/digitemp/digitemp/makefile-fix.patch b/meta-oe/recipes-support/digitemp/digitemp/makefile-fix.patch new file mode 100644 index 000000000..c0d552d54 --- /dev/null +++ b/meta-oe/recipes-support/digitemp/digitemp/makefile-fix.patch | |||
@@ -0,0 +1,20 @@ | |||
1 | digitemp: allow override of CC and CFLAGS vars | ||
2 | |||
3 | Upstream-Status: Inappropriate [embedded specific] | ||
4 | |||
5 | Signed-off-by: Otavio Salvador <otavio@ossystems.com.br> | ||
6 | |||
7 | --- a/Makefile 2008-08-28 21:37:00.000000000 +0000 | ||
8 | +++ b/Makefile 2011-11-24 22:22:39.882511272 +0000 | ||
9 | @@ -11,8 +11,9 @@ | ||
10 | |||
11 | VERSION = 3.6.0 | ||
12 | |||
13 | -CC = gcc | ||
14 | -CFLAGS = -I./src -I./userial -O2 -Wall # -g | ||
15 | +CC ?= gcc | ||
16 | +CFLAGS ?= -O2 -Wall # -g | ||
17 | +CFLAGS += -I./src -I./userial | ||
18 | |||
19 | OBJS = src/digitemp.o src/device_name.o src/ds2438.o | ||
20 | HDRS = src/digitemp.h src/device_name.h | ||
diff --git a/meta-oe/recipes-support/digitemp/digitemp_3.6.0.bb b/meta-oe/recipes-support/digitemp/digitemp_3.6.0.bb new file mode 100644 index 000000000..2582820e6 --- /dev/null +++ b/meta-oe/recipes-support/digitemp/digitemp_3.6.0.bb | |||
@@ -0,0 +1,27 @@ | |||
1 | SUMMARY = "read temperature sensors in a 1-Wire net" | ||
2 | SECTION = "util" | ||
3 | DEPENDS = "libusb1" | ||
4 | LICENSE = "GPLv2" | ||
5 | LIC_FILES_CHKSUM = "file://COPYING;md5=44fee82a1d2ed0676cf35478283e0aa0" | ||
6 | |||
7 | PR = "r2" | ||
8 | |||
9 | SRC_URI = "http://www.digitemp.com/software/linux/digitemp-${PV}.tar.gz \ | ||
10 | file://makefile-fix.patch" | ||
11 | SRC_URI[md5sum] = "9be2e48db37920f21925ae6e88f83b84" | ||
12 | SRC_URI[sha256sum] = "14cfc584cd3714fe8c9a2cdc8388be49e08b5e395d95e6bcd11d4410e2505ca2" | ||
13 | |||
14 | EXTRA_OEMAKE = "ds9097 ds9097u \ | ||
15 | SYSTYPE='Linux' \ | ||
16 | " | ||
17 | # Fix GNU_HASH QA errors | ||
18 | TARGET_CC_ARCH += "${CFLAGS} ${LDFLAGS}" | ||
19 | |||
20 | do_configure() { | ||
21 | rm -f digitemp_* | ||
22 | } | ||
23 | |||
24 | do_install() { | ||
25 | install -d ${D}${sbindir} | ||
26 | install digitemp_* ${D}${sbindir} | ||
27 | } | ||
diff --git a/meta-oe/recipes-support/eject/eject/eject-2.1.1-verbose.patch b/meta-oe/recipes-support/eject/eject/eject-2.1.1-verbose.patch new file mode 100644 index 000000000..740360606 --- /dev/null +++ b/meta-oe/recipes-support/eject/eject/eject-2.1.1-verbose.patch | |||
@@ -0,0 +1,19 @@ | |||
1 | Kept to help with debugging | ||
2 | |||
3 | Upstream-Status: Pending | ||
4 | |||
5 | Signed-off-by: Morgan Little <morgan.little@windriver.com> | ||
6 | |||
7 | --- eject-2.1.1/eject.c.tn 2005-08-24 11:27:42.000000000 +0200 | ||
8 | +++ eject-2.1.1/eject.c 2005-08-24 11:33:05.000000000 +0200 | ||
9 | @@ -638,7 +638,9 @@ | ||
10 | unsigned char sense_buffer[32]; | ||
11 | |||
12 | if ((ioctl(fd, SG_GET_VERSION_NUM, &k) < 0) || (k < 30000)) { | ||
13 | - printf("not an sg device, or old sg driver\n"); | ||
14 | + if (v_option) { | ||
15 | + printf(_("not an sg device, or old sg driver\n")); | ||
16 | + } | ||
17 | return 0; | ||
18 | } | ||
19 | |||
diff --git a/meta-oe/recipes-support/eject/eject/eject-2.1.5-error-return.patch b/meta-oe/recipes-support/eject/eject/eject-2.1.5-error-return.patch new file mode 100644 index 000000000..5e13036c5 --- /dev/null +++ b/meta-oe/recipes-support/eject/eject/eject-2.1.5-error-return.patch | |||
@@ -0,0 +1,12 @@ | |||
1 | Upstream-Status: Inappropriate [the upstream is no longer active] | ||
2 | |||
3 | --- eject/eject.c.orig 2013-09-11 18:08:36.000000000 +0800 | ||
4 | +++ eject/eject.c 2013-09-11 18:09:05.000000000 +0800 | ||
5 | @@ -207,7 +207,6 @@ | ||
6 | "If omitted, name defaults to `%s'.\n" | ||
7 | "By default tries -r, -s, -f, and -q in order until success.\n"), | ||
8 | DEFAULTDEVICE); | ||
9 | - exit(1); | ||
10 | } | ||
11 | |||
12 | |||
diff --git a/meta-oe/recipes-support/eject/eject/eject-2.1.5-spaces.patch b/meta-oe/recipes-support/eject/eject/eject-2.1.5-spaces.patch new file mode 100644 index 000000000..a16c4b1ce --- /dev/null +++ b/meta-oe/recipes-support/eject/eject/eject-2.1.5-spaces.patch | |||
@@ -0,0 +1,66 @@ | |||
1 | Kept to help with spaces in the mount path | ||
2 | |||
3 | Upstream-Status: Backport | ||
4 | |||
5 | Linux mangles spaces in mount points by changing them to an octal string | ||
6 | of '\040'. So lets scan the mount point and fix it up by replacing all | ||
7 | occurrences off '\0##' with the ASCII value of 0##. Requires a writable | ||
8 | string as input as we mangle in place. Some of this was taken from the | ||
9 | util-linux package. | ||
10 | |||
11 | Signed-off-by: Morgan Little <morgan.little@windriver.com> | ||
12 | --- eject/eject.c.ori 2007-06-24 00:08:44 -0700 | ||
13 | +++ eject/eject.c 2007-06-24 00:12:44 -0700 | ||
14 | @@ -370,6 +370,30 @@ | ||
15 | |||
16 | |||
17 | /* | ||
18 | + * Linux mangles spaces in mount points by changing them to an octal string | ||
19 | + * of '\040'. So lets scan the mount point and fix it up by replacing all | ||
20 | + * occurrences off '\0##' with the ASCII value of 0##. Requires a writable | ||
21 | + * string as input as we mangle in place. Some of this was taken from the | ||
22 | + * util-linux package. | ||
23 | + */ | ||
24 | +#define octalify(a) ((a) & 7) | ||
25 | +#define tooctal(s) (64*octalify(s[1]) + 8*octalify(s[2]) + octalify(s[3])) | ||
26 | +#define isoctal(a) (((a) & ~7) == '0') | ||
27 | +static char *DeMangleMount(char *s) | ||
28 | +{ | ||
29 | + char *tmp = s; | ||
30 | + while ((tmp = strchr(tmp, '\\')) != NULL) { | ||
31 | + if (isoctal(tmp[1]) && isoctal(tmp[2]) && isoctal(tmp[3])) { | ||
32 | + tmp[0] = tooctal(tmp); | ||
33 | + memmove(tmp+1, tmp+4, strlen(tmp)-3); | ||
34 | + } | ||
35 | + ++tmp; | ||
36 | + } | ||
37 | + return s; | ||
38 | +} | ||
39 | + | ||
40 | + | ||
41 | +/* | ||
42 | * Given name, such as foo, see if any of the following exist: | ||
43 | * | ||
44 | * foo (if foo starts with '.' or '/') | ||
45 | @@ -884,8 +908,8 @@ | ||
46 | if (((strcmp(s1, name) == 0) || (strcmp(s2, name) == 0)) || | ||
47 | ((maj != -1) && (maj == mtabmaj) && (min == mtabmin))) { | ||
48 | FCLOSE(fp); | ||
49 | - *deviceName = strdup(s1); | ||
50 | - *mountName = strdup(s2); | ||
51 | + *deviceName = DeMangleMount(strdup(s1)); | ||
52 | + *mountName = DeMangleMount(strdup(s2)); | ||
53 | return 1; | ||
54 | } | ||
55 | } | ||
56 | @@ -928,8 +952,8 @@ | ||
57 | rc = sscanf(line, "%1023s %1023s", s1, s2); | ||
58 | if (rc >= 2 && s1[0] != '#' && strcmp(s2, name) == 0) { | ||
59 | FCLOSE(fp); | ||
60 | - *deviceName = strdup(s1); | ||
61 | - *mountName = strdup(s2); | ||
62 | + *deviceName = DeMangleMount(strdup(s1)); | ||
63 | + *mountName = DeMangleMount(strdup(s2)); | ||
64 | return 1; | ||
65 | } | ||
66 | } | ||
diff --git a/meta-oe/recipes-support/eject/eject/eject-timeout.patch b/meta-oe/recipes-support/eject/eject/eject-timeout.patch new file mode 100644 index 000000000..de8146f32 --- /dev/null +++ b/meta-oe/recipes-support/eject/eject/eject-timeout.patch | |||
@@ -0,0 +1,17 @@ | |||
1 | allow a longer timeout | ||
2 | |||
3 | Upstream-Status: Backport | ||
4 | |||
5 | Signed-off-by: Morgan Little <morgan.little@windriver.com> | ||
6 | |||
7 | --- eject/eject.c.orig 2006-08-07 16:35:15.000000000 +0200 | ||
8 | +++ eject/eject.c 2006-08-07 16:35:54.000000000 +0200 | ||
9 | @@ -723,7 +723,7 @@ | ||
10 | io_hdr.dxfer_len = 0; | ||
11 | io_hdr.dxferp = inqBuff; | ||
12 | io_hdr.sbp = sense_buffer; | ||
13 | - io_hdr.timeout = 2000; | ||
14 | + io_hdr.timeout = 10000; | ||
15 | |||
16 | io_hdr.cmdp = allowRmBlk; | ||
17 | status = ioctl(fd, SG_IO, (void *)&io_hdr); | ||
diff --git a/meta-oe/recipes-support/eject/eject_2.1.5.bb b/meta-oe/recipes-support/eject/eject_2.1.5.bb new file mode 100644 index 000000000..0440f0c37 --- /dev/null +++ b/meta-oe/recipes-support/eject/eject_2.1.5.bb | |||
@@ -0,0 +1,35 @@ | |||
1 | DESCRIPTION = "Eject allows removable media (typically a CD-ROM, floppy disk, tape, or JAZ or ZIP disk) to be ejected under software control." | ||
2 | HOMEPAGE = "http://eject.sourceforge.net/" | ||
3 | LICENSE = "GPLv2" | ||
4 | LIC_FILES_CHKSUM = "file://COPYING;md5=8ca43cbc842c2336e835926c2166c28b" | ||
5 | |||
6 | inherit autotools gettext update-alternatives | ||
7 | |||
8 | SRC_URI = "http://sources.openembedded.org/${BP}.tar.gz \ | ||
9 | file://eject-2.1.5-error-return.patch \ | ||
10 | file://eject-2.1.1-verbose.patch \ | ||
11 | file://eject-2.1.5-spaces.patch \ | ||
12 | file://eject-timeout.patch \ | ||
13 | " | ||
14 | |||
15 | SRC_URI[md5sum] = "b96a6d4263122f1711db12701d79f738" | ||
16 | SRC_URI[sha256sum] = "ef9f7906484cfde4ba223b2682a37058f9a3c7d3bb1adda7a34a67402e2ffe55" | ||
17 | |||
18 | S = "${WORKDIR}/${BPN}" | ||
19 | |||
20 | PR = "r1" | ||
21 | |||
22 | do_compile_prepend() { | ||
23 | # PO subdir must be in build directory | ||
24 | if [ ! ${S} = ${B} ]; then | ||
25 | mkdir -p ${B}/po | ||
26 | cp -r ${S}/po/* ${B}/po/ | ||
27 | fi | ||
28 | } | ||
29 | |||
30 | ALTERNATIVE_${PN} = "volname eject" | ||
31 | ALTERNATIVE_LINK_NAME[volname] = "${bindir}/volname" | ||
32 | ALTERNATIVE_LINK_NAME[eject] = "${bindir}/eject" | ||
33 | ALTERNATIVE_PRIORITY[volname] = "100" | ||
34 | ALTERNATIVE_PRIORITY[eject] = "100" | ||
35 | |||
diff --git a/meta-oe/recipes-support/emacs/emacs-23.4/nostdlib-unwind.patch b/meta-oe/recipes-support/emacs/emacs-23.4/nostdlib-unwind.patch new file mode 100644 index 000000000..4200301a3 --- /dev/null +++ b/meta-oe/recipes-support/emacs/emacs-23.4/nostdlib-unwind.patch | |||
@@ -0,0 +1,16 @@ | |||
1 | Fix linking problem: | ||
2 | undefined reference to `__aeabi_unwind_cpp_pr0' | ||
3 | undefined reference to `__aeabi_unwind_cpp_pr1' | ||
4 | Index: emacs/src/Makefile.in | ||
5 | =================================================================== | ||
6 | --- emacs.orig/src/Makefile.in 2008-08-16 14:20:18.000000000 +0000 | ||
7 | +++ emacs/src/Makefile.in 2008-08-16 14:51:25.000000000 +0000 | ||
8 | @@ -443,7 +443,7 @@ | ||
9 | ask GCC explicitly where to find libgcc.a. */ | ||
10 | |||
11 | #ifndef LINKER | ||
12 | -#define LINKER $(CC) -nostdlib | ||
13 | +#define LINKER $(CC) -nostdlib -lgcc_s | ||
14 | #endif | ||
15 | |||
16 | #ifndef LIB_GCC | ||
diff --git a/meta-oe/recipes-support/emacs/emacs-23.4/use-qemu.patch b/meta-oe/recipes-support/emacs/emacs-23.4/use-qemu.patch new file mode 100644 index 000000000..c15207a43 --- /dev/null +++ b/meta-oe/recipes-support/emacs/emacs-23.4/use-qemu.patch | |||
@@ -0,0 +1,104 @@ | |||
1 | Upstream-Status: Inappropriate [embedded specific] | ||
2 | |||
3 | diff -uNr emacs-23.4/Makefile.in emacs-23.4.new/Makefile.in | ||
4 | --- emacs-23.4/Makefile.in 2012-01-11 13:35:01.000000000 +0100 | ||
5 | +++ emacs-23.4.new/Makefile.in 2012-07-31 00:54:07.223590866 +0200 | ||
6 | @@ -336,7 +336,7 @@ | ||
7 | # all preloaded elisp files, and only then dump the actual src/emacs, which | ||
8 | # is not wrong, but is overkill in 99.99% of the cases. | ||
9 | src: Makefile FRC | ||
10 | - boot=bootstrap-emacs$(EXEEXT); \ | ||
11 | + boot=${QEMU} bootstrap-emacs$(EXEEXT); \ | ||
12 | if [ ! -x "src/$$boot" ]; then \ | ||
13 | cd $@; $(MAKE) all $(MFLAGS) \ | ||
14 | CC='${CC}' CFLAGS='${CFLAGS}' CPPFLAGS='${CPPFLAGS}' \ | ||
15 | diff -uNr emacs-23.4/leim/Makefile.in emacs-23.4.new/leim/Makefile.in | ||
16 | --- emacs-23.4/leim/Makefile.in 2012-01-11 13:35:01.000000000 +0100 | ||
17 | +++ emacs-23.4.new/leim/Makefile.in 2012-07-31 00:54:07.179590866 +0200 | ||
18 | @@ -51,7 +51,7 @@ | ||
19 | |||
20 | # How to run Emacs. | ||
21 | RUN-EMACS = EMACSLOADPATH=$(buildlisppath) LC_ALL=C \ | ||
22 | - ${BUILT-EMACS} -batch --no-init-file --no-site-file --multibyte | ||
23 | + ${QEMU} ${BUILT-EMACS} -batch --no-init-file --no-site-file --multibyte | ||
24 | |||
25 | # Subdirectories to be made if ${srcdir} is different from the current | ||
26 | # directory. | ||
27 | diff -uNr emacs-23.4/lib-src/Makefile.in emacs-23.4.new/lib-src/Makefile.in | ||
28 | --- emacs-23.4/lib-src/Makefile.in 2012-01-11 13:35:01.000000000 +0100 | ||
29 | +++ emacs-23.4.new/lib-src/Makefile.in 2012-07-31 00:54:07.180590866 +0200 | ||
30 | @@ -23,7 +23,7 @@ | ||
31 | SHELL = /bin/sh | ||
32 | |||
33 | # Following ../lisp/Makefile.in. | ||
34 | -EMACS = ../src/emacs | ||
35 | +EMACS = ${QEMU} ../src/emacs | ||
36 | EMACSOPT = -batch --no-site-file --multibyte | ||
37 | |||
38 | # ==================== Things `configure' will edit ==================== | ||
39 | @@ -372,7 +372,7 @@ | ||
40 | clobbered too. */ | ||
41 | test-distrib${EXEEXT}: ${srcdir}/test-distrib.c | ||
42 | $(CC) ${ALL_CFLAGS} -o test-distrib ${srcdir}/test-distrib.c | ||
43 | - ./test-distrib ${srcdir}/testfile | ||
44 | + ${QEMU} ./test-distrib ${srcdir}/testfile | ||
45 | |||
46 | /* We need the following in order to create a <getopt.h> when the system | ||
47 | does not have one that works with the given compiler. */ | ||
48 | diff -uNr emacs-23.4/lisp/Makefile.in emacs-23.4.new/lisp/Makefile.in | ||
49 | --- emacs-23.4/lisp/Makefile.in 2012-01-11 13:35:01.000000000 +0100 | ||
50 | +++ emacs-23.4.new/lisp/Makefile.in 2012-07-31 00:54:07.195590866 +0200 | ||
51 | @@ -26,8 +26,7 @@ | ||
52 | # You can specify a different executable on the make command line, | ||
53 | # e.g. "make EMACS=../src/emacs ...". | ||
54 | |||
55 | -EMACS = ../src/emacs | ||
56 | - | ||
57 | +EMACS = "${QEMU} ../src/emacs" | ||
58 | # Command line flags for Emacs. This must include --multibyte, | ||
59 | # otherwise some files will not compile. | ||
60 | |||
61 | diff -uNr emacs-23.4/src/Makefile.in emacs-23.4.new/src/Makefile.in | ||
62 | --- emacs-23.4/src/Makefile.in 2012-01-12 11:27:54.000000000 +0100 | ||
63 | +++ emacs-23.4.new/src/Makefile.in 2012-07-31 00:55:30.344593847 +0200 | ||
64 | @@ -482,7 +482,7 @@ | ||
65 | this with the shell''s ``for'' construct. | ||
66 | Note that some people do not have '.' in their paths, so we must | ||
67 | use ./prefix-args. */ | ||
68 | -#define YMF_PASS_LDFLAGS(flags) `./prefix-args -Xlinker flags` | ||
69 | +#define YMF_PASS_LDFLAGS(flags) `${QEMU} ./prefix-args -Xlinker flags` | ||
70 | #else | ||
71 | #define YMF_PASS_LDFLAGS(flags) flags | ||
72 | #endif | ||
73 | @@ -919,9 +919,9 @@ | ||
74 | $(GNULIB_VAR) LIB_MATH LIB_STANDARD $(GNULIB_VAR) | ||
75 | |||
76 | #ifdef HAVE_SHM | ||
77 | -RUN_TEMACS = `/bin/pwd`/temacs -nl | ||
78 | +RUN_TEMACS = ${QEMU} temacs -nl | ||
79 | #else | ||
80 | -RUN_TEMACS = `/bin/pwd`/temacs | ||
81 | +RUN_TEMACS = ${QEMU} temacs | ||
82 | #endif | ||
83 | |||
84 | all: emacs${EXEEXT} $(OTHER_FILES) | ||
85 | @@ -936,7 +936,7 @@ | ||
86 | @: This new Emacs is as functional and more efficient then | ||
87 | @: bootstrap-emacs, so let us replace it. | ||
88 | -ln -f emacs${EXEEXT} bootstrap-emacs${EXEEXT} | ||
89 | - -./emacs -q -batch -f list-load-path-shadows | ||
90 | + -${QEMU} ./emacs -q -batch -f list-load-path-shadows | ||
91 | #endif /* ! defined (CANNOT_DUMP) */ | ||
92 | |||
93 | /* We run make-docfile twice because the command line may get too long | ||
94 | @@ -954,8 +954,8 @@ | ||
95 | only in order to reduce the command line length. --Stef */ | ||
96 | ${etc}DOC: ${libsrc}make-docfile${EXEEXT} ${obj} ${lisp} ${SOME_MACHINE_LISP} | ||
97 | -rm -f ${etc}DOC | ||
98 | - ${libsrc}make-docfile -d ${srcdir} ${SOME_MACHINE_OBJECTS} ${obj} > ${etc}DOC | ||
99 | - ${libsrc}make-docfile -a ${etc}DOC -d ${srcdir} ${SOME_MACHINE_LISP} ${shortlisp} | ||
100 | + ${QEMU}${libsrc}make-docfile -d ${srcdir} ${SOME_MACHINE_OBJECTS} ${obj} > ${etc}DOC | ||
101 | + ${QEMU} ${libsrc}make-docfile -a ${etc}DOC -d ${srcdir} ${SOME_MACHINE_LISP} ${shortlisp} | ||
102 | |||
103 | ${libsrc}make-docfile${EXEEXT}: | ||
104 | cd ${libsrc}; ${MAKE} ${MFLAGS} make-docfile${EXEEXT} | ||
diff --git a/meta-oe/recipes-support/emacs/emacs.inc b/meta-oe/recipes-support/emacs/emacs.inc new file mode 100644 index 000000000..a1a4965ab --- /dev/null +++ b/meta-oe/recipes-support/emacs/emacs.inc | |||
@@ -0,0 +1,149 @@ | |||
1 | DESCRIPTION = "Emacs" | ||
2 | HOMEPAGE = "http://www.gnu.org/software/emacs/" | ||
3 | LICENSE = "GPLv3" | ||
4 | LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504" | ||
5 | SECTION = "editor" | ||
6 | # and it needs to run some generated binaries.. | ||
7 | DEPENDS += "qemu-native" | ||
8 | |||
9 | DEPENDS +=" liblockfile" | ||
10 | |||
11 | X11DEPENDS = " \ | ||
12 | libice libsm atk cairo dbus expat libffi fontconfig freetype gconf giflib \ | ||
13 | jpeg xz pixman libpng librsvg tiff libcroco \ | ||
14 | libx11 libxau libxcomposite libxcursor libxdamage libxdmcp libxext libxfixes \ | ||
15 | libxft libxpm libxrandr libxrender \ | ||
16 | gdk-pixbuf glib-2.0 gtk+ pango libxcb harfbuzz icu \ | ||
17 | " | ||
18 | |||
19 | EXTRA_OECONF = "--without-sound --with-crt-dir=${STAGING_LIBDIR} " | ||
20 | |||
21 | PACKAGECONFIG ??= "${@base_contains('DISTRO_FEATURES', 'x11', 'x11', '', d)}" | ||
22 | PACKAGECONFIG[x11] = "--with-x-toolkit=gtk,--without-x --without-dbus,${X11DEPENDS}" | ||
23 | |||
24 | |||
25 | inherit autotools | ||
26 | |||
27 | PACKAGES =+ "${PN}-el" | ||
28 | |||
29 | FILES_${PN}-el = "${datadir}/emacs/*/*/*.el.gz \ | ||
30 | ${datadir}/emacs/*/*/*/*.el.gz" | ||
31 | |||
32 | FILES_${PN} += "${datadir}/emacs ${datadir}/icons" | ||
33 | |||
34 | FILES_${PN}-dbg += "${libexecdir}/emacs/*/*/.debug ${datadir}/emacs/*/*/.debug" | ||
35 | |||
36 | TREEDIR = "${WORKDIR}/qemu-treedir" | ||
37 | |||
38 | QEMUARCH= "${TARGET_ARCH}" | ||
39 | QEMUARCH_i486 = "i386" | ||
40 | QEMUARCH_i586 = "i386" | ||
41 | QEMUARCH_i686 = "i386" | ||
42 | |||
43 | # Large stack is required at least on x86_64 host, otherwise random segfaults appear: | ||
44 | QEMU = "qemu-${QEMUARCH} ${QEMU_OPTIONS} -s 1048576 -L ${TREEDIR} " | ||
45 | |||
46 | export LOGNAME = "$(whoami)" | ||
47 | |||
48 | do_compile_prepend() { | ||
49 | sed -i ':1;s:\(START.* \|LIB_STANDARD.* \|LIBES.* \)/usr/lib:\1${STAGING_LIBDIR}:;t1' ${S}/src/s/gnu-linux.h `find "${S}" -name Makefile` | ||
50 | export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:${TOOLCHAIN_PATH}/${TARGET_SYS}/lib" | ||
51 | # Ugly hack, see files/use-qemu.patch for more: | ||
52 | ln -sf ../src/emacs lisp/emacs | ||
53 | ln -sf ../src/emacs lib-src/emacs | ||
54 | ln -sf ../src/emacs leim/emacs | ||
55 | #copy STAGING_DIR_TARGET and libgcc_s.so* to WORKDIR/qemu-treedir #copied code from glibc-package.bbclass | ||
56 | treedir=${TREEDIR} | ||
57 | if [ -e $treedir ];then | ||
58 | rm -rf $treedir | ||
59 | fi | ||
60 | |||
61 | mkdir -p $treedir/${base_libdir} | ||
62 | |||
63 | if [ -f ${TOOLCHAIN_PATH}/${TARGET_SYS}/${base_libdir}/libgcc_s.so ]; then | ||
64 | cp -pPR ${TOOLCHAIN_PATH}/${TARGET_SYS}/${base_libdir}/libgcc_s.so $treedir/${base_libdir} | ||
65 | fi | ||
66 | if [ -f ${TOOLCHAIN_PATH}/${TARGET_SYS}/${base_libdir}/libgcc_s.so.* ]; then | ||
67 | cp -pPR ${TOOLCHAIN_PATH}/${TARGET_SYS}/${base_libdir}/libgcc_s.so.* $treedir/${base_libdir} | ||
68 | fi | ||
69 | # stupid hack, but without it, it tries to use /usr/lib/libc.so from host and fails | ||
70 | # temacs: error while loading shared libraries: /usr/lib/libc.so: ELF file version does not match current one | ||
71 | if [ ! -f $treedir/${base_libdir}/libc.so ]; then | ||
72 | ln -s libc.so.6 $treedir/${base_libdir}/libc.so | ||
73 | fi | ||
74 | |||
75 | # copy only as much stuff as we need | ||
76 | # before: 5.5G ../../qemu-treedir/ | ||
77 | # after: 17M ../../qemu-treedir/ | ||
78 | cp -pPR \ | ||
79 | ${STAGING_DIR_TARGET}/${base_libdir}/ld-* \ | ||
80 | ${STAGING_DIR_TARGET}/${base_libdir}/libc.* \ | ||
81 | ${STAGING_DIR_TARGET}/${base_libdir}/libc-* \ | ||
82 | ${STAGING_DIR_TARGET}/${base_libdir}/libm-* \ | ||
83 | ${STAGING_DIR_TARGET}/${base_libdir}/libm.* \ | ||
84 | ${STAGING_DIR_TARGET}/${base_libdir}/libtinfo.so.* \ | ||
85 | ${STAGING_DIR_TARGET}/${base_libdir}/libresolv* \ | ||
86 | ${STAGING_DIR_TARGET}/${base_libdir}/libdl* \ | ||
87 | ${STAGING_DIR_TARGET}/${base_libdir}/librt* \ | ||
88 | ${STAGING_DIR_TARGET}/${base_libdir}/libgcc_s.so.* \ | ||
89 | ${STAGING_DIR_TARGET}/${base_libdir}/libpthread* $treedir/${base_libdir}/ | ||
90 | |||
91 | if [ ! -z "${@base_contains('PACKAGECONFIG', 'x11', 'x11', '', d)}" ] ; then | ||
92 | echo "X11 build enabled" | ||
93 | # copy only as much stuff as we need | ||
94 | # before: 5.5G ../../qemu-treedir/ | ||
95 | # after: 86M ../../qemu-treedir/ | ||
96 | cp -pPR \ | ||
97 | ${STAGING_DIR_TARGET}/${base_libdir}/libuuid.so.* \ | ||
98 | ${STAGING_DIR_TARGET}/${base_libdir}/libz.so.* \ | ||
99 | ${STAGING_DIR_TARGET}/${libdir}/libICE.so.* \ | ||
100 | ${STAGING_DIR_TARGET}/${libdir}/libSM.so.* \ | ||
101 | ${STAGING_DIR_TARGET}/${libdir}/libatk-1.0.so.* \ | ||
102 | ${STAGING_DIR_TARGET}/${libdir}/libcairo.so.* \ | ||
103 | ${STAGING_DIR_TARGET}/${libdir}/libdbus-1.so.* \ | ||
104 | ${STAGING_DIR_TARGET}/${libdir}/libdbus-glib-1.so.* \ | ||
105 | ${STAGING_DIR_TARGET}/${libdir}/libexpat.so.* \ | ||
106 | ${STAGING_DIR_TARGET}/${libdir}/libffi.so.* \ | ||
107 | ${STAGING_DIR_TARGET}/${libdir}/libfontconfig.so.* \ | ||
108 | ${STAGING_DIR_TARGET}/${libdir}/libfreetype.so.* \ | ||
109 | ${STAGING_DIR_TARGET}/${libdir}/libgconf-2.so.* \ | ||
110 | ${STAGING_DIR_TARGET}/${libdir}/libgif.so.* \ | ||
111 | ${STAGING_DIR_TARGET}/${libdir}/libjpeg.so.* \ | ||
112 | ${STAGING_DIR_TARGET}/${libdir}/liblzma.so.* \ | ||
113 | ${STAGING_DIR_TARGET}/${libdir}/libpixman-1.so.* \ | ||
114 | ${STAGING_DIR_TARGET}/${libdir}/libpng1*.so.* \ | ||
115 | ${STAGING_DIR_TARGET}/${libdir}/librsvg-2.so.* \ | ||
116 | ${STAGING_DIR_TARGET}/${libdir}/libstdc++.so.* \ | ||
117 | ${STAGING_DIR_TARGET}/${libdir}/libtiff.so.* \ | ||
118 | ${STAGING_DIR_TARGET}/${libdir}/libxml2.so.* \ | ||
119 | ${STAGING_DIR_TARGET}/${libdir}/libcroco-0.6.so.* \ | ||
120 | ${STAGING_DIR_TARGET}/${libdir}/libharfbuzz.so.* \ | ||
121 | ${STAGING_DIR_TARGET}/${libdir}/libicule.so.* \ | ||
122 | ${STAGING_DIR_TARGET}/${libdir}/libicuuc.so.* \ | ||
123 | ${STAGING_DIR_TARGET}/${libdir}/libicudata.so.* $treedir/${base_libdir}/ | ||
124 | |||
125 | # X11 Xau Xcomposite Xcursor Xdamage Xdmcp Xext Xfixes Xft Xpm Xrandr Xrender | ||
126 | cp -pPR ${STAGING_DIR_TARGET}/${libdir}/libX*.so.* $treedir/${base_libdir}/ | ||
127 | |||
128 | # gdk-x11 gdk_pixbuf gio glib gmodule gobject gthread gtk-x11 | ||
129 | cp -pPR ${STAGING_DIR_TARGET}/${libdir}/libg*-2.0.so.* $treedir/${base_libdir}/ | ||
130 | |||
131 | # pango pangocairo pangoft2 | ||
132 | cp -pPR ${STAGING_DIR_TARGET}/${libdir}/libpango*-1.0.so.* $treedir/${base_libdir}/ | ||
133 | |||
134 | # xcb-render xcb-shm xcb | ||
135 | cp -pPR ${STAGING_DIR_TARGET}/${libdir}/libxcb*.so.* $treedir/${base_libdir}/ | ||
136 | fi | ||
137 | } | ||
138 | |||
139 | do_install_append() { | ||
140 | # freaks package.bbclass and whole bitbake call returns error code | ||
141 | # ERROR: runstrip: ''arm-oe-linux-gnueabi-strip' '/var/lib/jenkins/jobs/shr-core-branches/workspace/shr-core/tmp-eglibc/work/armv4t-oe-linux-gnueabi/emacs-23.4-r0/package/usr/share/emacs/23.4/etc/tutorials/TUTORIAL.ko'' strip command failed | ||
142 | mv ${D}${datadir}/${BPN}/${PV}/etc/tutorials/TUTORIAL.ko ${D}${datadir}/${BPN}/${PV}/etc/tutorials/TUTORIAL.KO | ||
143 | # Info dir listing isn't interesting at this point so remove it if it exists. | ||
144 | if [ -e "${D}${infodir}/dir" ]; then | ||
145 | rm -f ${D}${infodir}/dir | ||
146 | fi | ||
147 | } | ||
148 | |||
149 | EXTRA_OEMAKE += 'QEMU="${QEMU}"' | ||
diff --git a/meta-oe/recipes-support/emacs/emacs_23.4.bb b/meta-oe/recipes-support/emacs/emacs_23.4.bb new file mode 100644 index 000000000..a32482883 --- /dev/null +++ b/meta-oe/recipes-support/emacs/emacs_23.4.bb | |||
@@ -0,0 +1,12 @@ | |||
1 | require emacs.inc | ||
2 | |||
3 | PR = "r4" | ||
4 | |||
5 | PNBLACKLIST[emacs] ?= "qemu: uncaught target signal 11 (Segmentation fault) - core dumped" | ||
6 | |||
7 | SRC_URI = "${GNU_MIRROR}/emacs/emacs-${PV}.tar.gz;name=tarball \ | ||
8 | file://use-qemu.patch \ | ||
9 | file://nostdlib-unwind.patch \ | ||
10 | " | ||
11 | SRC_URI[tarball.md5sum] = "34405165fcd978fbc8b304cbd99ccf4f" | ||
12 | SRC_URI[tarball.sha256sum] = "b9a2b8434052771f797d2032772eba862ff9aa143029efc72295170607289c18" | ||
diff --git a/meta-oe/recipes-support/enca/enca/configure-hack.patch b/meta-oe/recipes-support/enca/enca/configure-hack.patch new file mode 100644 index 000000000..85abcdcf0 --- /dev/null +++ b/meta-oe/recipes-support/enca/enca/configure-hack.patch | |||
@@ -0,0 +1,12 @@ | |||
1 | --- enca-1.9/configure.ac.orig 2006-02-15 00:57:39.000000000 -0800 | ||
2 | +++ enca-1.9/configure.ac 2006-02-15 00:57:46.000000000 -0800 | ||
3 | @@ -92,9 +92,6 @@ | ||
4 | dnl And for gtk-doc | ||
5 | gtk_CHECK_GTK_DOC | ||
6 | |||
7 | -dnl Check for good random number sources | ||
8 | -AC_CHECK_FILES(/dev/random /dev/urandom /dev/srandom /dev/arandom) | ||
9 | - | ||
10 | dnl Dirty path hack. Helps some people with badly set up search paths. | ||
11 | if test "$prefix" = "NONE"; then | ||
12 | LDFLAGS="$LDFLAGS -L$ac_default_prefix/lib" | ||
diff --git a/meta-oe/recipes-support/enca/enca/configure-remove-dumbness.patch b/meta-oe/recipes-support/enca/enca/configure-remove-dumbness.patch new file mode 100644 index 000000000..6f6f3e320 --- /dev/null +++ b/meta-oe/recipes-support/enca/enca/configure-remove-dumbness.patch | |||
@@ -0,0 +1,26 @@ | |||
1 | --- enca-1.9/configure.ac.orig 2006-06-29 15:30:44.000000000 +0100 | ||
2 | +++ enca-1.9/configure.ac 2006-06-29 15:31:41.000000000 +0100 | ||
3 | @@ -92,14 +92,15 @@ | ||
4 | dnl And for gtk-doc | ||
5 | gtk_CHECK_GTK_DOC | ||
6 | |||
7 | -dnl Dirty path hack. Helps some people with badly set up search paths. | ||
8 | -if test "$prefix" = "NONE"; then | ||
9 | - LDFLAGS="$LDFLAGS -L$ac_default_prefix/lib" | ||
10 | - CPPFLAGS="$CPPFLAGS -I$ac_default_prefix/include" | ||
11 | -else | ||
12 | - LDFLAGS="$LDFLAGS -L$prefix/lib" | ||
13 | - CPPFLAGS="$CPPFLAGS -I$prefix/include" | ||
14 | -fi | ||
15 | +# This is really dumb code | ||
16 | +#dnl Dirty path hack. Helps some people with badly set up search paths. | ||
17 | +#if test "$prefix" = "NONE"; then | ||
18 | +# LDFLAGS="$LDFLAGS -L$ac_default_prefix/lib" | ||
19 | +# CPPFLAGS="$CPPFLAGS -I$ac_default_prefix/include" | ||
20 | +#else | ||
21 | +# LDFLAGS="$LDFLAGS -L$prefix/lib" | ||
22 | +# CPPFLAGS="$CPPFLAGS -I$prefix/include" | ||
23 | +#fi | ||
24 | |||
25 | dnl Checks for libraries. | ||
26 | ye_CHECK_LIBM | ||
diff --git a/meta-oe/recipes-support/enca/enca/dont-run-tests.patch b/meta-oe/recipes-support/enca/enca/dont-run-tests.patch new file mode 100644 index 000000000..321d1e620 --- /dev/null +++ b/meta-oe/recipes-support/enca/enca/dont-run-tests.patch | |||
@@ -0,0 +1,13 @@ | |||
1 | Index: enca-1.9/Makefile.am | ||
2 | =================================================================== | ||
3 | --- enca-1.9.orig/Makefile.am 2005-11-24 11:21:32.000000000 +0100 | ||
4 | +++ enca-1.9/Makefile.am 2006-04-11 11:14:21.832502904 +0200 | ||
5 | @@ -2,7 +2,7 @@ | ||
6 | if MAINTAINER_MODE | ||
7 | SUBDIRS = tools data script lib src devel-docs test | ||
8 | else | ||
9 | -SUBDIRS = tools script lib src devel-docs test | ||
10 | +SUBDIRS = tools script lib src devel-docs | ||
11 | endif | ||
12 | man_MANS = man/enca.1 | ||
13 | |||
diff --git a/meta-oe/recipes-support/enca/enca/libenca-003-iconv.patch b/meta-oe/recipes-support/enca/enca/libenca-003-iconv.patch new file mode 100644 index 000000000..dbf0fb8ea --- /dev/null +++ b/meta-oe/recipes-support/enca/enca/libenca-003-iconv.patch | |||
@@ -0,0 +1,28 @@ | |||
1 | From 7e144495093187143a3d1589f74c2eac37e4d790 Mon Sep 17 00:00:00 2001 | ||
2 | From: Maxime Hadjinlian <maxime.hadjinlian@gmail.com> | ||
3 | Date: Sun, 4 May 2014 15:49:28 +0200 | ||
4 | Subject: [PATCH] libiconv.m4: Fix AM_ICONV macro usage | ||
5 | |||
6 | This patch come straight from the Buildroot source tree. | ||
7 | |||
8 | Signed-off-by: Bernd Kuhls <berndkuhls@hotmail.com> | ||
9 | Signed-off-by: Maxime Hadjinlian <maxime.hadjinlian@gmail.com> | ||
10 | --- | ||
11 | m4/libiconv.m4 | 2 +- | ||
12 | 1 file changed, 1 insertion(+), 1 deletion(-) | ||
13 | |||
14 | diff --git a/m4/libiconv.m4 b/m4/libiconv.m4 | ||
15 | index fc8c6f8..3a59549 100644 | ||
16 | --- a/m4/libiconv.m4 | ||
17 | +++ b/m4/libiconv.m4 | ||
18 | @@ -17,7 +17,7 @@ AC_REQUIRE([AC_C_CONST])dnl | ||
19 | dnl | ||
20 | |||
21 | dnl Use standard iconv test | ||
22 | -AM_ICONV | ||
23 | +m4_pattern_allow([AM_ICONV]) | ||
24 | CONVERTOR_LIBS="$CONVERTOR_LIBS $LIBICONV" | ||
25 | |||
26 | dnl Compile iconvcap.c and run it to determine what encodings iconv actually | ||
27 | -- | ||
28 | 1.9.3 | ||
diff --git a/meta-oe/recipes-support/enca/enca/makefile-remove-tools.patch b/meta-oe/recipes-support/enca/enca/makefile-remove-tools.patch new file mode 100644 index 000000000..accfbccd6 --- /dev/null +++ b/meta-oe/recipes-support/enca/enca/makefile-remove-tools.patch | |||
@@ -0,0 +1,13 @@ | |||
1 | --- enca-1.9/Makefile.am.orig 2006-06-29 15:34:55.000000000 +0100 | ||
2 | +++ enca-1.9/Makefile.am 2006-06-29 15:35:20.000000000 +0100 | ||
3 | @@ -1,8 +1,8 @@ | ||
4 | # @(#) $Id: Makefile.am,v 1.35 2005/11/24 10:21:32 yeti Exp $ | ||
5 | if MAINTAINER_MODE | ||
6 | -SUBDIRS = tools data script lib src devel-docs test | ||
7 | +SUBDIRS = data script lib src devel-docs test | ||
8 | else | ||
9 | -SUBDIRS = tools script lib src devel-docs | ||
10 | +SUBDIRS = script lib src devel-docs | ||
11 | endif | ||
12 | man_MANS = man/enca.1 | ||
13 | |||
diff --git a/meta-oe/recipes-support/enca/enca_1.9.bb b/meta-oe/recipes-support/enca/enca_1.9.bb new file mode 100644 index 000000000..bf19843b2 --- /dev/null +++ b/meta-oe/recipes-support/enca/enca_1.9.bb | |||
@@ -0,0 +1,37 @@ | |||
1 | SUMMARY = "Enca is an Extremely Naive Charset Analyser" | ||
2 | SECTION = "libs" | ||
3 | HOMEPAGE = "http://trific.ath.cx/software/enca/" | ||
4 | |||
5 | DEPENDS += "gettext-native" | ||
6 | |||
7 | LICENSE = "GPLv2" | ||
8 | LIC_FILES_CHKSUM = "file://COPYING;md5=24b9569831c46d4818450b55282476b4" | ||
9 | |||
10 | SRC_URI = "http://www.sourcefiles.org/Networking/Tools/Miscellanenous/enca-${PV}.tar.bz2 \ | ||
11 | file://configure-hack.patch \ | ||
12 | file://dont-run-tests.patch \ | ||
13 | file://configure-remove-dumbness.patch \ | ||
14 | file://makefile-remove-tools.patch \ | ||
15 | file://libenca-003-iconv.patch " | ||
16 | |||
17 | SRC_URI[md5sum] = "b3581e28d68d452286fb0bfe58bed3b3" | ||
18 | SRC_URI[sha256sum] = "02acfef2b24a9c842612da49338138311f909f1cd33933520c07b8b26c410f4d" | ||
19 | |||
20 | inherit autotools | ||
21 | |||
22 | do_configure_prepend() { | ||
23 | # remove failing test which checks for something that isn't even used | ||
24 | sed -i -e '/ye_FUNC_SCANF_MODIF_SIZE_T/d' ${S}/configure.ac | ||
25 | } | ||
26 | |||
27 | do_configure_append() { | ||
28 | sed -i s:-I/usr/include::g ${B}/Makefile | ||
29 | sed -i s:-I/usr/include::g ${B}/*/Makefile | ||
30 | } | ||
31 | |||
32 | do_compile() { | ||
33 | cd ${S}/tools && ${BUILD_CC} -o make_hash make_hash.c | ||
34 | cd ${B} | ||
35 | oe_runmake | ||
36 | } | ||
37 | |||
diff --git a/meta-oe/recipes-support/espeak/espeak-data_1.37.bb b/meta-oe/recipes-support/espeak/espeak-data_1.37.bb new file mode 100644 index 000000000..914bf3601 --- /dev/null +++ b/meta-oe/recipes-support/espeak/espeak-data_1.37.bb | |||
@@ -0,0 +1,27 @@ | |||
1 | require espeak.inc | ||
2 | |||
3 | inherit native | ||
4 | |||
5 | PACKAGES = "${PN}" | ||
6 | FILES_${PN} = "${layout_datadir}" | ||
7 | |||
8 | PACKAGE_ARCH = "${MACHINE_ARCH}" | ||
9 | TARGET_ARCH = "${MACHINE_ARCH}" | ||
10 | |||
11 | do_compile() { | ||
12 | # Fixing byte order of phoneme data files | ||
13 | cd "${S}/platforms/big_endian" | ||
14 | sed -i '/^ *CC *=/d' Makefile | ||
15 | sed -i 's/\(.*BYTE_ORDER\)/#undef BYTE_ORDER\n#define BYTE_ORDER BIG_ENDIAN\n\1/' espeak-phoneme-data.c | ||
16 | oe_runmake | ||
17 | ./espeak-phoneme-data "${S}/espeak-data" | ||
18 | cp -f phondata phonindex phontab "${S}/espeak-data" | ||
19 | } | ||
20 | |||
21 | do_install() { | ||
22 | install -d ${D}${layout_datadir}/espeak-data | ||
23 | install -m 0644 ${S}/espeak-data/phon* ${D}${layout_datadir}/espeak-data | ||
24 | } | ||
25 | |||
26 | SRC_URI[md5sum] = "5c7b292d0537232868b4ac1317d76c02" | ||
27 | SRC_URI[sha256sum] = "77f406c345362185ec4f362bf49f61d202e01ac9b9cd5c14f803195a544ce6d3" | ||
diff --git a/meta-oe/recipes-support/espeak/espeak.inc b/meta-oe/recipes-support/espeak/espeak.inc new file mode 100644 index 000000000..98a17650f --- /dev/null +++ b/meta-oe/recipes-support/espeak/espeak.inc | |||
@@ -0,0 +1,10 @@ | |||
1 | DESCRIPTION = "eSpeak is a compact open source software speech synthesizer" | ||
2 | SECTION = "base" | ||
3 | LICENSE = "GPLv3" | ||
4 | LIC_FILES_CHKSUM = "file://License.txt;md5=cb7a20edb4c9f5f478de6523dcd7362c" | ||
5 | |||
6 | SRC_URI = "${SOURCEFORGE_MIRROR}/espeak/espeak-${PV}-source.zip" | ||
7 | |||
8 | S = "${WORKDIR}/espeak-${PV}-source" | ||
9 | |||
10 | DEPENDS = "portaudio-v19" | ||
diff --git a/meta-oe/recipes-support/espeak/espeak_1.37.bb b/meta-oe/recipes-support/espeak/espeak_1.37.bb new file mode 100644 index 000000000..86f2c7a76 --- /dev/null +++ b/meta-oe/recipes-support/espeak/espeak_1.37.bb | |||
@@ -0,0 +1,43 @@ | |||
1 | require espeak.inc | ||
2 | inherit siteinfo | ||
3 | |||
4 | EXTRA_PHONEMES = '${@base_contains("SITEINFO_ENDIANNESS", "be", "espeak-data (= ${PV})", "", d)}' | ||
5 | RDEPENDS_${PN} = "portaudio-v19 ${EXTRA_PHONEMES}" | ||
6 | |||
7 | SRC_URI[md5sum] = "5c7b292d0537232868b4ac1317d76c02" | ||
8 | SRC_URI[sha256sum] = "77f406c345362185ec4f362bf49f61d202e01ac9b9cd5c14f803195a544ce6d3" | ||
9 | |||
10 | CXXFLAGS += "-DUSE_PORTAUDIO" | ||
11 | TARGET_CC_ARCH += "${LDFLAGS}" | ||
12 | |||
13 | FILES_${PN} += "${datadir}/espeak-data" | ||
14 | |||
15 | do_configure() { | ||
16 | # "speak" binary, a TTS engine, uses portaudio in either APIs V18 or V19, use V19 | ||
17 | cp "${S}/src/portaudio19.h" "${S}/src/portaudio.h" | ||
18 | } | ||
19 | |||
20 | do_compile() { | ||
21 | cd src | ||
22 | oe_runmake | ||
23 | } | ||
24 | |||
25 | do_install() { | ||
26 | install -d ${D}${bindir} | ||
27 | install -d ${D}${libdir} | ||
28 | install -d ${D}${includedir}/espeak | ||
29 | install -d ${D}${datadir}/espeak-data | ||
30 | |||
31 | # we do not ship "speak" binary though. | ||
32 | install -m 0755 ${S}/src/espeak ${D}${bindir} | ||
33 | install -m 0644 ${S}/src/speak_lib.h ${D}${includedir}/espeak/ | ||
34 | ln -sf espeak/espeak.h ${D}${includedir}/ | ||
35 | oe_libinstall -so -C src libespeak ${D}${libdir} | ||
36 | |||
37 | if [ "${SITEINFO_ENDIANNESS}" = "be" ] ; then | ||
38 | # the big-endian phon* files are provided by the package espeak-data | ||
39 | rm -f ${S}/espeak-data/phon* | ||
40 | fi | ||
41 | |||
42 | cp -prf ${S}/espeak-data/* ${D}${datadir}/espeak-data | ||
43 | } | ||
diff --git a/meta-oe/recipes-support/eventlog/eventlog_0.2.13.bb b/meta-oe/recipes-support/eventlog/eventlog_0.2.13.bb new file mode 100644 index 000000000..349507d36 --- /dev/null +++ b/meta-oe/recipes-support/eventlog/eventlog_0.2.13.bb | |||
@@ -0,0 +1,20 @@ | |||
1 | SUMMARY = "Replacement syslog API" | ||
2 | DESCRIPTION = "The EventLog library aims to be a replacement of the \ | ||
3 | simple syslog() API provided on UNIX systems. The \ | ||
4 | major difference between EventLog and syslog is that \ | ||
5 | EventLog tries to add structure to messages. EventLog \ | ||
6 | provides an interface to build, format and output an \ | ||
7 | event record. The exact format and output method can \ | ||
8 | be customized by the administrator via a configuration \ | ||
9 | file. his package is the runtime part of the library. \ | ||
10 | " | ||
11 | |||
12 | LICENSE = "BSD" | ||
13 | LIC_FILES_CHKSUM = "file://COPYING;md5=b8ba8e77bcda9a53fac0fe39fe957767" | ||
14 | |||
15 | SRC_URI = "http://www.balabit.com/downloads/files/syslog-ng/open-source-edition/3.4.2/source/${BPN}_${PV}.tar.gz" | ||
16 | |||
17 | inherit autotools pkgconfig | ||
18 | |||
19 | SRC_URI[md5sum] = "68ec8d1ea3b98fa35002bb756227c315" | ||
20 | SRC_URI[sha256sum] = "7cb4e6f316daede4fa54547371d5c986395177c12dbdec74a66298e684ac8b85" | ||
diff --git a/meta-oe/recipes-support/evtest/evtest_git.bb b/meta-oe/recipes-support/evtest/evtest_git.bb new file mode 100644 index 000000000..6fbb77d90 --- /dev/null +++ b/meta-oe/recipes-support/evtest/evtest_git.bb | |||
@@ -0,0 +1,17 @@ | |||
1 | SUMMARY = "Simple tool for input event debugging" | ||
2 | HOMEPAGE = "http://people.freedesktop.org/~whot/evtest/" | ||
3 | AUTHOR = "Vojtech Pavlik <vojtech@suse.cz>" | ||
4 | SECTION = "console/utils" | ||
5 | LICENSE = "GPLv2" | ||
6 | LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe" | ||
7 | |||
8 | DEPENDS = "libxml2" | ||
9 | |||
10 | SRCREV = "0e14da978ea906c7fdaf90f54f798a542e79ce8f" | ||
11 | SRC_URI = "git://anongit.freedesktop.org/evtest;protocol=git" | ||
12 | |||
13 | PV = "1.31+${SRCPV}" | ||
14 | |||
15 | S = "${WORKDIR}/git" | ||
16 | |||
17 | inherit autotools pkgconfig | ||
diff --git a/meta-oe/recipes-support/farsight/farsight2_0.0.22.bb b/meta-oe/recipes-support/farsight/farsight2_0.0.22.bb new file mode 100644 index 000000000..beb610813 --- /dev/null +++ b/meta-oe/recipes-support/farsight/farsight2_0.0.22.bb | |||
@@ -0,0 +1,31 @@ | |||
1 | DESCRIPTION = "FarSight is an audio/video conferencing framework specifically designed for Instant Messengers." | ||
2 | HOMEPAGE = "http://farsight.sf.net" | ||
3 | SRC_URI = "http://farsight.freedesktop.org/releases/farsight2/${BP}.tar.gz" | ||
4 | |||
5 | LICENSE = "LGPLv2.1" | ||
6 | LIC_FILES_CHKSUM = "file://COPYING;md5=fbc093901857fcd118f065f900982c24" | ||
7 | |||
8 | PR = "r3" | ||
9 | |||
10 | DEPENDS = "libnice glib-2.0 libxml2 zlib dbus gstreamer gst-plugins-base" | ||
11 | |||
12 | inherit autotools | ||
13 | |||
14 | PACKAGECONFIG ??= "" | ||
15 | PACKAGECONFIG[gupnp] = "--enable-gupnp,--disable-gupnp,gupnp-igd" | ||
16 | |||
17 | EXTRA_OECONF = " \ | ||
18 | --disable-debug \ | ||
19 | --disable-gtk-doc \ | ||
20 | --disable-python \ | ||
21 | " | ||
22 | |||
23 | FILES_${PN} += "${libdir}/*/*.so" | ||
24 | FILES_${PN}-dev += "${libdir}/*/*.la" | ||
25 | FILES_${PN}-staticdev += "${libdir}/*/*.a" | ||
26 | FILES_${PN}-dbg += "${libdir}/*/.debug" | ||
27 | |||
28 | |||
29 | SRC_URI[md5sum] = "e1f540cf3ebab06c3d7db1f46b44ac88" | ||
30 | SRC_URI[sha256sum] = "3ae59aa61a8071c9fad111e5fd606aabc27961eb4192f8729987a27dae6b3974" | ||
31 | |||
diff --git a/meta-oe/recipes-support/farsight/libnice_0.0.13.bb b/meta-oe/recipes-support/farsight/libnice_0.0.13.bb new file mode 100644 index 000000000..711b6bdbf --- /dev/null +++ b/meta-oe/recipes-support/farsight/libnice_0.0.13.bb | |||
@@ -0,0 +1,41 @@ | |||
1 | SUMMARY = "Interactive Connectivity Establishment library" | ||
2 | DESCRIPTION = "Libnice is an implementation of the IETF's draft Interactive Connectivity Establishment standard (ICE)." | ||
3 | HOMEPAGE = "http://nice.freedesktop.org/wiki/" | ||
4 | SRC_URI = "http://nice.freedesktop.org/releases/libnice-${PV}.tar.gz" | ||
5 | |||
6 | LICENSE = "LGPLv2.1 & MPLv1.1" | ||
7 | LIC_FILES_CHKSUM = "file://COPYING;md5=9c42325015702feda4f4d2f19a55b767 \ | ||
8 | file://COPYING.LGPL;md5=2d5025d4aa3495befef8f17206a5b0a1 \ | ||
9 | file://COPYING.MPL;md5=3c617710e51cdbe0fc00716f056dfb1a \ | ||
10 | " | ||
11 | |||
12 | PR = "r4" | ||
13 | |||
14 | DEPENDS = "glib-2.0 gstreamer" | ||
15 | |||
16 | PACKAGECONFIG ??= "" | ||
17 | PACKAGECONFIG[gupnp] = "--enable-gupnp,--disable-gupnp,gupnp-igd" | ||
18 | |||
19 | inherit autotools pkgconfig gtk-doc | ||
20 | |||
21 | FILES_${PN} += "${libdir}/gstreamer-0.10/*.so" | ||
22 | FILES_${PN}-dev += "${libdir}/gstreamer-0.10/*.la" | ||
23 | FILES_${PN}-staticdev += "${libdir}/gstreamer-0.10/*.a" | ||
24 | FILES_${PN}-dbg += "${libdir}/gstreamer-0.10/.debug" | ||
25 | |||
26 | do_configure_prepend() { | ||
27 | mkdir ${S}/m4 || true | ||
28 | } | ||
29 | |||
30 | do_compile_append() { | ||
31 | for i in $(find ${S} -name "*.pc") ; do | ||
32 | sed -i -e s:${STAGING_DIR_TARGET}::g \ | ||
33 | -e s:/${TARGET_SYS}::g \ | ||
34 | $i | ||
35 | done | ||
36 | } | ||
37 | |||
38 | |||
39 | SRC_URI[md5sum] = "e5b9f799a57cb939ea2658ec35253ab9" | ||
40 | SRC_URI[sha256sum] = "d8dd260c486a470a6052a5323920878a084e44a19df09b15728b85c9e3d6edf0" | ||
41 | |||
diff --git a/meta-oe/recipes-support/fbset/fbset-2.1/fbset-2.1-fix-makefile-dep.patch b/meta-oe/recipes-support/fbset/fbset-2.1/fbset-2.1-fix-makefile-dep.patch new file mode 100644 index 000000000..41ab8af3d --- /dev/null +++ b/meta-oe/recipes-support/fbset/fbset-2.1/fbset-2.1-fix-makefile-dep.patch | |||
@@ -0,0 +1,31 @@ | |||
1 | From 3db6782de1de7ca4f1bb9ee7652c4f2808e57539 Mon Sep 17 00:00:00 2001 | ||
2 | From: Jackie Huang <jackie.huang@windriver.com> | ||
3 | Date: Thu, 10 Jan 2013 12:24:33 +0800 | ||
4 | Subject: [PATCH] fbset 2.1 fix makefile dep modes.tab.c | ||
5 | |||
6 | Upstream-Status: Inappropriate [no upstream] | ||
7 | |||
8 | fix the error in parallel build: | ||
9 | make: *** No rule to make target `modes.tab.h', needed by `lex.yy.o'. Stop. | ||
10 | |||
11 | Signed-off-by: Jackie Huang <jackie.huang@windriver.com> | ||
12 | --- | ||
13 | Makefile | 2 +- | ||
14 | 1 files changed, 1 insertions(+), 1 deletions(-) | ||
15 | |||
16 | diff --git a/Makefile b/Makefile | ||
17 | index 61536c1..09183e5 100644 | ||
18 | --- a/Makefile | ||
19 | +++ b/Makefile | ||
20 | @@ -15,7 +15,7 @@ fbset: fbset.o modes.tab.o lex.yy.o | ||
21 | |||
22 | fbset.o: fbset.c fbset.h fb.h | ||
23 | modes.tab.o: modes.tab.c fbset.h fb.h | ||
24 | -lex.yy.o: lex.yy.c fbset.h modes.tab.h | ||
25 | +lex.yy.o: lex.yy.c fbset.h modes.tab.c | ||
26 | |||
27 | lex.yy.c: modes.l | ||
28 | $(FLEX) modes.l | ||
29 | -- | ||
30 | 1.7.4.1 | ||
31 | |||
diff --git a/meta-oe/recipes-support/fbset/fbset-2.1/makefile.patch b/meta-oe/recipes-support/fbset/fbset-2.1/makefile.patch new file mode 100644 index 000000000..82b1c61e9 --- /dev/null +++ b/meta-oe/recipes-support/fbset/fbset-2.1/makefile.patch | |||
@@ -0,0 +1,11 @@ | |||
1 | --- fbset-2.1/Makefile.orig 2006-05-28 04:04:27.412095480 +0200 | ||
2 | +++ fbset-2.1/Makefile 2006-05-28 04:14:05.379231120 +0200 | ||
3 | @@ -2,7 +2,7 @@ | ||
4 | # Linux Frame Buffer Device Configuration | ||
5 | # | ||
6 | |||
7 | -CC = gcc -Wall -O2 -I. | ||
8 | +CFLAGS = -Wall -O2 -I. | ||
9 | BISON = bison -d | ||
10 | FLEX = flex | ||
11 | INSTALL = install | ||
diff --git a/meta-oe/recipes-support/fbset/fbset-modes.bb b/meta-oe/recipes-support/fbset/fbset-modes.bb new file mode 100644 index 000000000..1310e6f7b --- /dev/null +++ b/meta-oe/recipes-support/fbset/fbset-modes.bb | |||
@@ -0,0 +1,21 @@ | |||
1 | SUMMARY = "Default display timings and resolutions for fbset" | ||
2 | LICENSE = "MIT" | ||
3 | LIC_FILES_CHKSUM = "file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420" | ||
4 | |||
5 | PV = "0.1.0" | ||
6 | PR = "r6" | ||
7 | |||
8 | SRC_URI = "file://fb.modes" | ||
9 | |||
10 | do_install() { | ||
11 | install -d ${D}${sysconfdir} | ||
12 | install -m 0644 ${WORKDIR}/fb.modes ${D}${sysconfdir} | ||
13 | } | ||
14 | |||
15 | inherit allarch | ||
16 | |||
17 | # fb.modes file is MACHINE_ARCH, base.bbclass correctly changes it to MACHINE_ARCH, but too late for allarch.bbclass | ||
18 | # to disable "all" behavior (found when comparing qemuarm and qemux86 signatures) | ||
19 | PACKAGE_ARCH = "${MACHINE_ARCH}" | ||
20 | |||
21 | 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 000000000..ba5e6ed71 --- /dev/null +++ b/meta-oe/recipes-support/fbset/fbset-modes/fb.modes | |||
@@ -0,0 +1,3 @@ | |||
1 | # By default there is nothing in this file just a reminder to define some | ||
2 | # modes in OE | ||
3 | |||
diff --git a/meta-oe/recipes-support/fbset/fbset-modes/om-gta01/fb.modes b/meta-oe/recipes-support/fbset/fbset-modes/om-gta01/fb.modes new file mode 100644 index 000000000..446d23dd8 --- /dev/null +++ b/meta-oe/recipes-support/fbset/fbset-modes/om-gta01/fb.modes | |||
@@ -0,0 +1,29 @@ | |||
1 | # Timings for GTA01 VGA and QVGA mode | ||
2 | |||
3 | mode "480x640" | ||
4 | # D: 26.000 MHz, H: 43.334 kHz, V: 65.657 Hz | ||
5 | geometry 480 640 480 640 16 | ||
6 | timings 38461 104 8 2 16 8 2 | ||
7 | accel false | ||
8 | endmode | ||
9 | |||
10 | mode "vga" | ||
11 | # D: 26.000 MHz, H: 43.334 kHz, V: 65.657 Hz | ||
12 | geometry 480 640 480 640 16 | ||
13 | timings 38461 104 8 2 16 8 2 | ||
14 | accel false | ||
15 | endmode | ||
16 | |||
17 | mode "240x320" | ||
18 | # D: 8.475 MHz, H: 24.635 kHz, V: 75.569 Hz | ||
19 | geometry 240 320 240 320 16 | ||
20 | timings 118000 88 8 2 2 8 2 | ||
21 | accel false | ||
22 | endmode | ||
23 | |||
24 | mode "qvga" | ||
25 | # D: 8.475 MHz, H: 24.635 kHz, V: 75.569 Hz | ||
26 | geometry 240 320 240 320 16 | ||
27 | timings 118000 88 8 2 2 8 2 | ||
28 | accel false | ||
29 | endmode | ||
diff --git a/meta-oe/recipes-support/fbset/fbset-modes/omap3-pandora/fb.modes b/meta-oe/recipes-support/fbset/fbset-modes/omap3-pandora/fb.modes new file mode 100644 index 000000000..0c87401b5 --- /dev/null +++ b/meta-oe/recipes-support/fbset/fbset-modes/omap3-pandora/fb.modes | |||
@@ -0,0 +1,6 @@ | |||
1 | mode "800x480-65" | ||
2 | # D: 36.001 MHz, H: 34.124 kHz, V: 64.998 Hz | ||
3 | geometry 800 480 800 480 16 | ||
4 | timings 27777 40 214 10 34 1 1 | ||
5 | rgba 5/11,6/5,5/0,0/0 | ||
6 | endmode | ||
diff --git a/meta-oe/recipes-support/fbset/fbset-modes/qemuarm/fb.modes b/meta-oe/recipes-support/fbset/fbset-modes/qemuarm/fb.modes new file mode 100644 index 000000000..111456479 --- /dev/null +++ b/meta-oe/recipes-support/fbset/fbset-modes/qemuarm/fb.modes | |||
@@ -0,0 +1,17 @@ | |||
1 | # QEMU versatilepb machine, qemuarm in OE | ||
2 | |||
3 | mode "vga" "640x480" | ||
4 | geometry 640 480 640 480 16 | ||
5 | endmode | ||
6 | |||
7 | mode "vga-portrait" "480x640" | ||
8 | geometry 480 640 480 640 16 | ||
9 | endmode | ||
10 | |||
11 | mode "qvga" "320x240" | ||
12 | geometry 320 240 320 240 16 | ||
13 | endmode | ||
14 | |||
15 | mode "qvga-portrait" "240x320" | ||
16 | geometry 240 320 240 320 16 | ||
17 | endmode | ||
diff --git a/meta-oe/recipes-support/fbset/fbset-modes/qemumips/fb.modes b/meta-oe/recipes-support/fbset/fbset-modes/qemumips/fb.modes new file mode 100644 index 000000000..111456479 --- /dev/null +++ b/meta-oe/recipes-support/fbset/fbset-modes/qemumips/fb.modes | |||
@@ -0,0 +1,17 @@ | |||
1 | # QEMU versatilepb machine, qemuarm in OE | ||
2 | |||
3 | mode "vga" "640x480" | ||
4 | geometry 640 480 640 480 16 | ||
5 | endmode | ||
6 | |||
7 | mode "vga-portrait" "480x640" | ||
8 | geometry 480 640 480 640 16 | ||
9 | endmode | ||
10 | |||
11 | mode "qvga" "320x240" | ||
12 | geometry 320 240 320 240 16 | ||
13 | endmode | ||
14 | |||
15 | mode "qvga-portrait" "240x320" | ||
16 | geometry 240 320 240 320 16 | ||
17 | endmode | ||
diff --git a/meta-oe/recipes-support/fbset/fbset_2.1.bb b/meta-oe/recipes-support/fbset/fbset_2.1.bb new file mode 100644 index 000000000..18559326a --- /dev/null +++ b/meta-oe/recipes-support/fbset/fbset_2.1.bb | |||
@@ -0,0 +1,36 @@ | |||
1 | # | ||
2 | # Copyright Matthias Hentges <devel@hentges.net> (c) 2006 | ||
3 | # License: MIT (see http://www.opensource.org/licenses/mit-license.php for a copy of the license) | ||
4 | # | ||
5 | # Filename: fbset_2.1.bb | ||
6 | # Date: 28-May-06 | ||
7 | |||
8 | SUMMARY = "The fbset console tool" | ||
9 | LICENSE = "GPLv2" | ||
10 | LIC_FILES_CHKSUM = "file://fbset.c;endline=19;md5=bf326f82cdfcac391af208f019c5603f" | ||
11 | RRECOMMENDS_${PN} = "fbset-modes" | ||
12 | DEPENDS = "bison-native flex-native" | ||
13 | |||
14 | PR = "r4" | ||
15 | |||
16 | SRC_URI = "http://ftp.debian.org/debian/pool/main/f/fbset/fbset_2.1.orig.tar.gz \ | ||
17 | file://makefile.patch \ | ||
18 | file://fbset-2.1-fix-makefile-dep.patch \ | ||
19 | " | ||
20 | |||
21 | inherit update-alternatives | ||
22 | |||
23 | do_install() { | ||
24 | install -d ${D}${sbindir} ${D}${datadir}/man/man8 ${D}${datadir}/man/man5 | ||
25 | install -m 0755 ${WORKDIR}/${BP}/fbset ${D}${sbindir}/fbset.real | ||
26 | install -m 0644 ${WORKDIR}/${BP}/*.5 ${D}${datadir}/man/man5 | ||
27 | install -m 0644 ${WORKDIR}/${BP}/*.8 ${D}${datadir}/man/man8 | ||
28 | } | ||
29 | |||
30 | ALTERNATIVE_fbset = "fbset" | ||
31 | ALTERNATIVE_LINK_NAME[fbset] = "${sbindir}/fbset" | ||
32 | ALTERNATIVE_TARGET[fbset] = "${sbindir}/fbset.real" | ||
33 | ALTERNATIVE_PRIORITY[fbset] = "55" | ||
34 | |||
35 | SRC_URI[md5sum] = "40ed9608f46d787bfb65fd1269f7f459" | ||
36 | SRC_URI[sha256sum] = "517fa062d7b2d367f931a1c6ebb2bef84907077f0ce3f0c899e34490bbea9338" | ||
diff --git a/meta-oe/recipes-support/fbtest/fb-test_git.bb b/meta-oe/recipes-support/fbtest/fb-test_git.bb new file mode 100644 index 000000000..65f98c1fe --- /dev/null +++ b/meta-oe/recipes-support/fbtest/fb-test_git.bb | |||
@@ -0,0 +1,19 @@ | |||
1 | SUMMARY = "Test suite for Linux framebuffer" | ||
2 | |||
3 | PV = "1.1.0" | ||
4 | |||
5 | LICENSE = "GPLv2" | ||
6 | LIC_FILES_CHKSUM = "file://COPYING;md5=eb723b61539feef013de476e68b5c50a" | ||
7 | |||
8 | SRCREV = "063ec650960c2d79ac51f5c5f026cb05343a33e2" | ||
9 | SRC_URI = "git://github.com/prpplague/fb-test-app.git" | ||
10 | |||
11 | S = "${WORKDIR}/git" | ||
12 | |||
13 | do_install() { | ||
14 | install -d ${D}${bindir} | ||
15 | for prog in perf rect fb-test offset ; do | ||
16 | install -m 0755 $prog ${D}${bindir} | ||
17 | done | ||
18 | } | ||
19 | |||
diff --git a/meta-oe/recipes-support/fftw/fftw.inc b/meta-oe/recipes-support/fftw/fftw.inc new file mode 100644 index 000000000..9007e1d82 --- /dev/null +++ b/meta-oe/recipes-support/fftw/fftw.inc | |||
@@ -0,0 +1,25 @@ | |||
1 | DESCRIPTION = "FFTW" | ||
2 | SECTION = "libs" | ||
3 | LICENSE = "GPLv2" | ||
4 | LIC_FILES_CHKSUM = "file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552" | ||
5 | |||
6 | PROVIDES = "virtual/fftw" | ||
7 | |||
8 | RPROVIDES_${PN} += "libfftw3" | ||
9 | |||
10 | SRC_URI = "http://www.fftw.org/fftw-${PV}.tar.gz" | ||
11 | |||
12 | S = "${WORKDIR}/fftw-${PV}" | ||
13 | |||
14 | inherit autotools pkgconfig | ||
15 | |||
16 | EXTRA_OECONF = "--disable-fortran --enable-shared --enable-threads" | ||
17 | |||
18 | do_configure_prepend() { | ||
19 | echo 'AM_PROG_AS' >> ${S}/configure.ac | ||
20 | } | ||
21 | |||
22 | PACKAGES =+ "lib${PN}" | ||
23 | FILES_lib${PN} = "${libdir}/lib*.so.*" | ||
24 | |||
25 | # rename binary in /bin and use u-a tpo choose between different precision implementations? | ||
diff --git a/meta-oe/recipes-support/fftw/fftw_3.3.4.bb b/meta-oe/recipes-support/fftw/fftw_3.3.4.bb new file mode 100644 index 000000000..990f01e2f --- /dev/null +++ b/meta-oe/recipes-support/fftw/fftw_3.3.4.bb | |||
@@ -0,0 +1,6 @@ | |||
1 | require fftw.inc | ||
2 | |||
3 | SRC_URI[md5sum] = "2edab8c06b24feeb3b82bbb3ebf3e7b3" | ||
4 | SRC_URI[sha256sum] = "8f0cde90929bc05587c3368d2f15cd0530a60b8a9912a8e2979a72dbe5af0982" | ||
5 | |||
6 | BBCLASSEXTEND = "native" | ||
diff --git a/meta-oe/recipes-support/fftw/fftwf_3.3.4.bb b/meta-oe/recipes-support/fftw/fftwf_3.3.4.bb new file mode 100644 index 000000000..7a4fbac8c --- /dev/null +++ b/meta-oe/recipes-support/fftw/fftwf_3.3.4.bb | |||
@@ -0,0 +1,11 @@ | |||
1 | require fftw.inc | ||
2 | |||
3 | # conflicts with fftw and fftwl | ||
4 | EXCLUDE_FROM_WORLD = "1" | ||
5 | |||
6 | EXTRA_OECONF += "--enable-single \ | ||
7 | ${@base_contains('TUNE_FEATURES', 'neon', '--enable-neon', '', d)} \ | ||
8 | " | ||
9 | |||
10 | SRC_URI[md5sum] = "2edab8c06b24feeb3b82bbb3ebf3e7b3" | ||
11 | SRC_URI[sha256sum] = "8f0cde90929bc05587c3368d2f15cd0530a60b8a9912a8e2979a72dbe5af0982" | ||
diff --git a/meta-oe/recipes-support/fftw/fftwl_3.3.4.bb b/meta-oe/recipes-support/fftw/fftwl_3.3.4.bb new file mode 100644 index 000000000..432ff1241 --- /dev/null +++ b/meta-oe/recipes-support/fftw/fftwl_3.3.4.bb | |||
@@ -0,0 +1,9 @@ | |||
1 | require fftw.inc | ||
2 | |||
3 | # conflicts with fftw and fftwf | ||
4 | EXCLUDE_FROM_WORLD = "1" | ||
5 | |||
6 | EXTRA_OECONF += "--enable-long-double" | ||
7 | |||
8 | SRC_URI[md5sum] = "2edab8c06b24feeb3b82bbb3ebf3e7b3" | ||
9 | SRC_URI[sha256sum] = "8f0cde90929bc05587c3368d2f15cd0530a60b8a9912a8e2979a72dbe5af0982" | ||
diff --git a/meta-oe/recipes-support/flite/flite-alsa-1.3/flite-1.3-alsa_support-1.2.diff b/meta-oe/recipes-support/flite/flite-alsa-1.3/flite-1.3-alsa_support-1.2.diff new file mode 100644 index 000000000..b3e4b7aae --- /dev/null +++ b/meta-oe/recipes-support/flite/flite-alsa-1.3/flite-1.3-alsa_support-1.2.diff | |||
@@ -0,0 +1,6615 @@ | |||
1 | Index: lang/usenglish/Makefile | ||
2 | =================================================================== | ||
3 | --- flite-1.3-release/lang/usenglish/Makefile (.../flite-1.3-orig) (revision 7) | ||
4 | +++ flite-1.3-release/lang/usenglish/Makefile (.../release-1.2) (revision 7) | ||
5 | @@ -38,6 +38,7 @@ | ||
6 | DIRNAME=lang/usenglish | ||
7 | BUILD_DIRS = | ||
8 | ALL_DIRS= | ||
9 | +include $(TOP)/config/config | ||
10 | H = usenglish.h us_int_accent_cart.h us_int_tone_cart.h us_durz_cart.h \ | ||
11 | us_ffeatures.h us_phrasing_cart.h us_text.h us_f0.h us_nums_cart.h | ||
12 | SRCS = us_int_accent_cart.c us_int_tone_cart.c us_f0_model.c \ | ||
13 | @@ -45,7 +46,11 @@ | ||
14 | us_phoneset.c us_ffeatures.c us_phrasing_cart.c \ | ||
15 | us_gpos.c us_text.c us_expand.c us_postlex.c \ | ||
16 | us_nums_cart.c us_aswd.c usenglish.c | ||
17 | -OBJS = $(SRCS:.c=.o) | ||
18 | +ifdef SHFLAGS | ||
19 | +OBJS := $(SRCS:.c=.os) | ||
20 | +else | ||
21 | +OBJS := $(SRCS:.c=.o) | ||
22 | +endif | ||
23 | SCM= | ||
24 | FILES = Makefile $(SCM) $(SRCS) $(H) | ||
25 | LIBNAME = flite_usenglish | ||
26 | Index: lang/cmu_us_kal/Makefile | ||
27 | =================================================================== | ||
28 | --- flite-1.3-release/lang/cmu_us_kal/Makefile (.../flite-1.3-orig) (revision 7) | ||
29 | +++ flite-1.3-release/lang/cmu_us_kal/Makefile (.../release-1.2) (revision 7) | ||
30 | @@ -43,7 +43,12 @@ | ||
31 | cmu_us_kal_lpc.c \ | ||
32 | cmu_us_kal_res.c \ | ||
33 | cmu_us_kal_residx.c | ||
34 | -OBJS = $(SRCS:.c=.o) | ||
35 | +include $(TOP)/config/config | ||
36 | +ifdef SHFLAGS | ||
37 | +OBJS := $(SRCS:.c=.os) | ||
38 | +else | ||
39 | +OBJS := $(SRCS:.c=.o) | ||
40 | +endif | ||
41 | SCM= | ||
42 | FILES = Makefile $(SCM) $(SRCS) $(H) | ||
43 | LIBNAME = flite_cmu_us_kal | ||
44 | Index: lang/cmu_us_kal16/Makefile | ||
45 | =================================================================== | ||
46 | --- flite-1.3-release/lang/cmu_us_kal16/Makefile (.../flite-1.3-orig) (revision 7) | ||
47 | +++ flite-1.3-release/lang/cmu_us_kal16/Makefile (.../release-1.2) (revision 7) | ||
48 | @@ -44,7 +44,12 @@ | ||
49 | cmu_us_kal16_lpc.c \ | ||
50 | cmu_us_kal16_res.c \ | ||
51 | cmu_us_kal16_residx.c | ||
52 | -OBJS = $(SRCS:.c=.o) | ||
53 | +include $(TOP)/config/config | ||
54 | +ifdef SHFLAGS | ||
55 | +OBJS := $(SRCS:.c=.os) | ||
56 | +else | ||
57 | +OBJS := $(SRCS:.c=.o) | ||
58 | +endif | ||
59 | SCM= | ||
60 | FILES = Makefile $(SCM) $(SRCS) $(H) | ||
61 | LIBNAME = flite_cmu_us_kal16 | ||
62 | Index: lang/cmu_time_awb/Makefile | ||
63 | =================================================================== | ||
64 | --- flite-1.3-release/lang/cmu_time_awb/Makefile (.../flite-1.3-orig) (revision 7) | ||
65 | +++ flite-1.3-release/lang/cmu_time_awb/Makefile (.../release-1.2) (revision 7) | ||
66 | @@ -45,7 +45,12 @@ | ||
67 | cmu_time_awb_mcep.c \ | ||
68 | cmu_time_awb_lpc.c \ | ||
69 | cmu_time_awb_lex_entry.c | ||
70 | -OBJS = $(SRCS:.c=.o) | ||
71 | +include $(TOP)/config/config | ||
72 | +ifdef SHFLAGS | ||
73 | +OBJS := $(SRCS:.c=.os) | ||
74 | +else | ||
75 | +OBJS := $(SRCS:.c=.o) | ||
76 | +endif | ||
77 | SCM= | ||
78 | FILES = Makefile $(SCM) $(SRCS) $(H) | ||
79 | LIBNAME = flite_cmu_time_awb | ||
80 | Index: lang/cmulex/Makefile | ||
81 | =================================================================== | ||
82 | --- flite-1.3-release/lang/cmulex/Makefile (.../flite-1.3-orig) (revision 7) | ||
83 | +++ flite-1.3-release/lang/cmulex/Makefile (.../release-1.2) (revision 7) | ||
84 | @@ -38,13 +38,20 @@ | ||
85 | DIRNAME=lang/cmulex | ||
86 | BUILD_DIRS = | ||
87 | ALL_DIRS= | ||
88 | + | ||
89 | H = cmu_lts_model.h cmulex.h | ||
90 | SRCS = cmu_lts_rules.c cmu_lts_model.c \ | ||
91 | cmu_lex.c cmu_lex_entries.c cmu_lex_data.c | ||
92 | LEX_DATA_INCLUDES = cmu_lex_data_raw.c cmu_lex_num_bytes.c \ | ||
93 | cmu_lex_phones_huff_table.c cmu_lex_entries_huff_table.c | ||
94 | |||
95 | -OBJS = $(SRCS:.c=.o) | ||
96 | +include $(TOP)/config/config | ||
97 | +ifdef SHFLAGS | ||
98 | +OBJS := $(SRCS:.c=.os) | ||
99 | +else | ||
100 | +OBJS := $(SRCS:.c=.o) | ||
101 | +endif | ||
102 | + | ||
103 | SCRIPTS=make_cmulex | ||
104 | |||
105 | SCM= | ||
106 | Index: configure | ||
107 | =================================================================== | ||
108 | --- flite-1.3-release/configure (.../flite-1.3-orig) (revision 7) | ||
109 | +++ flite-1.3-release/configure (.../release-1.2) (revision 7) | ||
110 | @@ -1,324 +1,38 @@ | ||
111 | #! /bin/sh | ||
112 | + | ||
113 | # Guess values for system-dependent variables and create Makefiles. | ||
114 | -# Generated by GNU Autoconf 2.57. | ||
115 | +# Generated automatically using autoconf version 2.13 | ||
116 | +# Copyright (C) 1992, 93, 94, 95, 96 Free Software Foundation, Inc. | ||
117 | # | ||
118 | -# Copyright 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, 2002 | ||
119 | -# Free Software Foundation, Inc. | ||
120 | # This configure script is free software; the Free Software Foundation | ||
121 | # gives unlimited permission to copy, distribute and modify it. | ||
122 | -## --------------------- ## | ||
123 | -## M4sh Initialization. ## | ||
124 | -## --------------------- ## | ||
125 | |||
126 | -# Be Bourne compatible | ||
127 | -if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then | ||
128 | - emulate sh | ||
129 | - NULLCMD=: | ||
130 | - # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which | ||
131 | - # is contrary to our usage. Disable this feature. | ||
132 | - alias -g '${1+"$@"}'='"$@"' | ||
133 | -elif test -n "${BASH_VERSION+set}" && (set -o posix) >/dev/null 2>&1; then | ||
134 | - set -o posix | ||
135 | -fi | ||
136 | - | ||
137 | -# Support unset when possible. | ||
138 | -if (FOO=FOO; unset FOO) >/dev/null 2>&1; then | ||
139 | - as_unset=unset | ||
140 | -else | ||
141 | - as_unset=false | ||
142 | -fi | ||
143 | - | ||
144 | - | ||
145 | -# Work around bugs in pre-3.0 UWIN ksh. | ||
146 | -$as_unset ENV MAIL MAILPATH | ||
147 | -PS1='$ ' | ||
148 | -PS2='> ' | ||
149 | -PS4='+ ' | ||
150 | - | ||
151 | -# NLS nuisances. | ||
152 | -for as_var in \ | ||
153 | - LANG LANGUAGE LC_ADDRESS LC_ALL LC_COLLATE LC_CTYPE LC_IDENTIFICATION \ | ||
154 | - LC_MEASUREMENT LC_MESSAGES LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER \ | ||
155 | - LC_TELEPHONE LC_TIME | ||
156 | -do | ||
157 | - if (set +x; test -n "`(eval $as_var=C; export $as_var) 2>&1`"); then | ||
158 | - eval $as_var=C; export $as_var | ||
159 | - else | ||
160 | - $as_unset $as_var | ||
161 | - fi | ||
162 | -done | ||
163 | - | ||
164 | -# Required to use basename. | ||
165 | -if expr a : '\(a\)' >/dev/null 2>&1; then | ||
166 | - as_expr=expr | ||
167 | -else | ||
168 | - as_expr=false | ||
169 | -fi | ||
170 | - | ||
171 | -if (basename /) >/dev/null 2>&1 && test "X`basename / 2>&1`" = "X/"; then | ||
172 | - as_basename=basename | ||
173 | -else | ||
174 | - as_basename=false | ||
175 | -fi | ||
176 | - | ||
177 | - | ||
178 | -# Name of the executable. | ||
179 | -as_me=`$as_basename "$0" || | ||
180 | -$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ | ||
181 | - X"$0" : 'X\(//\)$' \| \ | ||
182 | - X"$0" : 'X\(/\)$' \| \ | ||
183 | - . : '\(.\)' 2>/dev/null || | ||
184 | -echo X/"$0" | | ||
185 | - sed '/^.*\/\([^/][^/]*\)\/*$/{ s//\1/; q; } | ||
186 | - /^X\/\(\/\/\)$/{ s//\1/; q; } | ||
187 | - /^X\/\(\/\).*/{ s//\1/; q; } | ||
188 | - s/.*/./; q'` | ||
189 | - | ||
190 | - | ||
191 | -# PATH needs CR, and LINENO needs CR and PATH. | ||
192 | -# Avoid depending upon Character Ranges. | ||
193 | -as_cr_letters='abcdefghijklmnopqrstuvwxyz' | ||
194 | -as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' | ||
195 | -as_cr_Letters=$as_cr_letters$as_cr_LETTERS | ||
196 | -as_cr_digits='0123456789' | ||
197 | -as_cr_alnum=$as_cr_Letters$as_cr_digits | ||
198 | - | ||
199 | -# The user is always right. | ||
200 | -if test "${PATH_SEPARATOR+set}" != set; then | ||
201 | - echo "#! /bin/sh" >conf$$.sh | ||
202 | - echo "exit 0" >>conf$$.sh | ||
203 | - chmod +x conf$$.sh | ||
204 | - if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then | ||
205 | - PATH_SEPARATOR=';' | ||
206 | - else | ||
207 | - PATH_SEPARATOR=: | ||
208 | - fi | ||
209 | - rm -f conf$$.sh | ||
210 | -fi | ||
211 | - | ||
212 | - | ||
213 | - as_lineno_1=$LINENO | ||
214 | - as_lineno_2=$LINENO | ||
215 | - as_lineno_3=`(expr $as_lineno_1 + 1) 2>/dev/null` | ||
216 | - test "x$as_lineno_1" != "x$as_lineno_2" && | ||
217 | - test "x$as_lineno_3" = "x$as_lineno_2" || { | ||
218 | - # Find who we are. Look in the path if we contain no path at all | ||
219 | - # relative or not. | ||
220 | - case $0 in | ||
221 | - *[\\/]* ) as_myself=$0 ;; | ||
222 | - *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR | ||
223 | -for as_dir in $PATH | ||
224 | -do | ||
225 | - IFS=$as_save_IFS | ||
226 | - test -z "$as_dir" && as_dir=. | ||
227 | - test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break | ||
228 | -done | ||
229 | - | ||
230 | - ;; | ||
231 | - esac | ||
232 | - # We did not find ourselves, most probably we were run as `sh COMMAND' | ||
233 | - # in which case we are not to be found in the path. | ||
234 | - if test "x$as_myself" = x; then | ||
235 | - as_myself=$0 | ||
236 | - fi | ||
237 | - if test ! -f "$as_myself"; then | ||
238 | - { echo "$as_me: error: cannot find myself; rerun with an absolute path" >&2 | ||
239 | - { (exit 1); exit 1; }; } | ||
240 | - fi | ||
241 | - case $CONFIG_SHELL in | ||
242 | - '') | ||
243 | - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR | ||
244 | -for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH | ||
245 | -do | ||
246 | - IFS=$as_save_IFS | ||
247 | - test -z "$as_dir" && as_dir=. | ||
248 | - for as_base in sh bash ksh sh5; do | ||
249 | - case $as_dir in | ||
250 | - /*) | ||
251 | - if ("$as_dir/$as_base" -c ' | ||
252 | - as_lineno_1=$LINENO | ||
253 | - as_lineno_2=$LINENO | ||
254 | - as_lineno_3=`(expr $as_lineno_1 + 1) 2>/dev/null` | ||
255 | - test "x$as_lineno_1" != "x$as_lineno_2" && | ||
256 | - test "x$as_lineno_3" = "x$as_lineno_2" ') 2>/dev/null; then | ||
257 | - $as_unset BASH_ENV || test "${BASH_ENV+set}" != set || { BASH_ENV=; export BASH_ENV; } | ||
258 | - $as_unset ENV || test "${ENV+set}" != set || { ENV=; export ENV; } | ||
259 | - CONFIG_SHELL=$as_dir/$as_base | ||
260 | - export CONFIG_SHELL | ||
261 | - exec "$CONFIG_SHELL" "$0" ${1+"$@"} | ||
262 | - fi;; | ||
263 | - esac | ||
264 | - done | ||
265 | -done | ||
266 | -;; | ||
267 | - esac | ||
268 | - | ||
269 | - # Create $as_me.lineno as a copy of $as_myself, but with $LINENO | ||
270 | - # uniformly replaced by the line number. The first 'sed' inserts a | ||
271 | - # line-number line before each line; the second 'sed' does the real | ||
272 | - # work. The second script uses 'N' to pair each line-number line | ||
273 | - # with the numbered line, and appends trailing '-' during | ||
274 | - # substitution so that $LINENO is not a special case at line end. | ||
275 | - # (Raja R Harinath suggested sed '=', and Paul Eggert wrote the | ||
276 | - # second 'sed' script. Blame Lee E. McMahon for sed's syntax. :-) | ||
277 | - sed '=' <$as_myself | | ||
278 | - sed ' | ||
279 | - N | ||
280 | - s,$,-, | ||
281 | - : loop | ||
282 | - s,^\(['$as_cr_digits']*\)\(.*\)[$]LINENO\([^'$as_cr_alnum'_]\),\1\2\1\3, | ||
283 | - t loop | ||
284 | - s,-$,, | ||
285 | - s,^['$as_cr_digits']*\n,, | ||
286 | - ' >$as_me.lineno && | ||
287 | - chmod +x $as_me.lineno || | ||
288 | - { echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2 | ||
289 | - { (exit 1); exit 1; }; } | ||
290 | - | ||
291 | - # Don't try to exec as it changes $[0], causing all sort of problems | ||
292 | - # (the dirname of $[0] is not the place where we might find the | ||
293 | - # original and so on. Autoconf is especially sensible to this). | ||
294 | - . ./$as_me.lineno | ||
295 | - # Exit status is that of the last command. | ||
296 | - exit | ||
297 | -} | ||
298 | - | ||
299 | - | ||
300 | -case `echo "testing\c"; echo 1,2,3`,`echo -n testing; echo 1,2,3` in | ||
301 | - *c*,-n*) ECHO_N= ECHO_C=' | ||
302 | -' ECHO_T=' ' ;; | ||
303 | - *c*,* ) ECHO_N=-n ECHO_C= ECHO_T= ;; | ||
304 | - *) ECHO_N= ECHO_C='\c' ECHO_T= ;; | ||
305 | -esac | ||
306 | - | ||
307 | -if expr a : '\(a\)' >/dev/null 2>&1; then | ||
308 | - as_expr=expr | ||
309 | -else | ||
310 | - as_expr=false | ||
311 | -fi | ||
312 | - | ||
313 | -rm -f conf$$ conf$$.exe conf$$.file | ||
314 | -echo >conf$$.file | ||
315 | -if ln -s conf$$.file conf$$ 2>/dev/null; then | ||
316 | - # We could just check for DJGPP; but this test a) works b) is more generic | ||
317 | - # and c) will remain valid once DJGPP supports symlinks (DJGPP 2.04). | ||
318 | - if test -f conf$$.exe; then | ||
319 | - # Don't use ln at all; we don't have any links | ||
320 | - as_ln_s='cp -p' | ||
321 | - else | ||
322 | - as_ln_s='ln -s' | ||
323 | - fi | ||
324 | -elif ln conf$$.file conf$$ 2>/dev/null; then | ||
325 | - as_ln_s=ln | ||
326 | -else | ||
327 | - as_ln_s='cp -p' | ||
328 | -fi | ||
329 | -rm -f conf$$ conf$$.exe conf$$.file | ||
330 | - | ||
331 | -if mkdir -p . 2>/dev/null; then | ||
332 | - as_mkdir_p=: | ||
333 | -else | ||
334 | - as_mkdir_p=false | ||
335 | -fi | ||
336 | - | ||
337 | -as_executable_p="test -f" | ||
338 | - | ||
339 | -# Sed expression to map a string onto a valid CPP name. | ||
340 | -as_tr_cpp="sed y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g" | ||
341 | - | ||
342 | -# Sed expression to map a string onto a valid variable name. | ||
343 | -as_tr_sh="sed y%*+%pp%;s%[^_$as_cr_alnum]%_%g" | ||
344 | - | ||
345 | - | ||
346 | -# IFS | ||
347 | -# We need space, tab and new line, in precisely that order. | ||
348 | -as_nl=' | ||
349 | -' | ||
350 | -IFS=" $as_nl" | ||
351 | - | ||
352 | -# CDPATH. | ||
353 | -$as_unset CDPATH | ||
354 | - | ||
355 | - | ||
356 | -# Name of the host. | ||
357 | -# hostname on some systems (SVR3.2, Linux) returns a bogus exit status, | ||
358 | -# so uname gets run too. | ||
359 | -ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q` | ||
360 | - | ||
361 | -exec 6>&1 | ||
362 | - | ||
363 | -# | ||
364 | -# Initializations. | ||
365 | -# | ||
366 | +# Defaults: | ||
367 | +ac_help= | ||
368 | ac_default_prefix=/usr/local | ||
369 | -ac_config_libobj_dir=. | ||
370 | -cross_compiling=no | ||
371 | -subdirs= | ||
372 | -MFLAGS= | ||
373 | -MAKEFLAGS= | ||
374 | -SHELL=${CONFIG_SHELL-/bin/sh} | ||
375 | +# Any additions from configure.in: | ||
376 | +ac_help="$ac_help | ||
377 | + --disable-shared without shared library support" | ||
378 | +ac_help="$ac_help | ||
379 | + --disable-sockets without socket support" | ||
380 | +ac_help="$ac_help | ||
381 | + --with-audio with specific audio support (none linux freebsd etc) " | ||
382 | +ac_help="$ac_help | ||
383 | + --with-lang with language " | ||
384 | +ac_help="$ac_help | ||
385 | + --with-vox with vox " | ||
386 | +ac_help="$ac_help | ||
387 | + --with-lex with lexicon " | ||
388 | |||
389 | -# Maximum number of lines to put in a shell here document. | ||
390 | -# This variable seems obsolete. It should probably be removed, and | ||
391 | -# only ac_max_sed_lines should be used. | ||
392 | -: ${ac_max_here_lines=38} | ||
393 | - | ||
394 | -# Identity of this package. | ||
395 | -PACKAGE_NAME= | ||
396 | -PACKAGE_TARNAME= | ||
397 | -PACKAGE_VERSION= | ||
398 | -PACKAGE_STRING= | ||
399 | -PACKAGE_BUGREPORT= | ||
400 | - | ||
401 | -ac_unique_file="include/flite.h" | ||
402 | -# Factoring default headers for most tests. | ||
403 | -ac_includes_default="\ | ||
404 | -#include <stdio.h> | ||
405 | -#if HAVE_SYS_TYPES_H | ||
406 | -# include <sys/types.h> | ||
407 | -#endif | ||
408 | -#if HAVE_SYS_STAT_H | ||
409 | -# include <sys/stat.h> | ||
410 | -#endif | ||
411 | -#if STDC_HEADERS | ||
412 | -# include <stdlib.h> | ||
413 | -# include <stddef.h> | ||
414 | -#else | ||
415 | -# if HAVE_STDLIB_H | ||
416 | -# include <stdlib.h> | ||
417 | -# endif | ||
418 | -#endif | ||
419 | -#if HAVE_STRING_H | ||
420 | -# if !STDC_HEADERS && HAVE_MEMORY_H | ||
421 | -# include <memory.h> | ||
422 | -# endif | ||
423 | -# include <string.h> | ||
424 | -#endif | ||
425 | -#if HAVE_STRINGS_H | ||
426 | -# include <strings.h> | ||
427 | -#endif | ||
428 | -#if HAVE_INTTYPES_H | ||
429 | -# include <inttypes.h> | ||
430 | -#else | ||
431 | -# if HAVE_STDINT_H | ||
432 | -# include <stdint.h> | ||
433 | -# endif | ||
434 | -#endif | ||
435 | -#if HAVE_UNISTD_H | ||
436 | -# include <unistd.h> | ||
437 | -#endif" | ||
438 | - | ||
439 | -ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS build build_cpu build_vendor build_os host host_cpu host_vendor host_os target target_cpu target_vendor target_os CC CFLAGS LDFLAGS CPPFLAGS ac_ct_CC EXEEXT OBJEXT RANLIB ac_ct_RANLIB INSTALL_PROGRAM INSTALL_SCRIPT INSTALL_DATA AR ac_ct_AR TARGET_OS TARGET_CPU M68KCC LEXDEFS VOXDEFS HOST_OS HOST_CPU OTHERLIBS SHFLAGS MMAPTYPE STDIOTYPE CPP EGREP AUDIODRIVER AUDIODEFS AUDIOLIBS FL_LANG FL_VOX FL_LEX LIBOBJS LTLIBOBJS' | ||
440 | -ac_subst_files='' | ||
441 | - | ||
442 | # Initialize some variables set by options. | ||
443 | -ac_init_help= | ||
444 | -ac_init_version=false | ||
445 | # The variables have the same names as the options, with | ||
446 | # dashes changed to underlines. | ||
447 | -cache_file=/dev/null | ||
448 | +build=NONE | ||
449 | +cache_file=./config.cache | ||
450 | exec_prefix=NONE | ||
451 | +host=NONE | ||
452 | no_create= | ||
453 | +nonopt=NONE | ||
454 | no_recursion= | ||
455 | prefix=NONE | ||
456 | program_prefix=NONE | ||
457 | @@ -327,15 +41,10 @@ | ||
458 | silent= | ||
459 | site= | ||
460 | srcdir= | ||
461 | +target=NONE | ||
462 | verbose= | ||
463 | x_includes=NONE | ||
464 | x_libraries=NONE | ||
465 | - | ||
466 | -# Installation directory options. | ||
467 | -# These are left unexpanded so users can "make install exec_prefix=/foo" | ||
468 | -# and all the variables that are supposed to be based on exec_prefix | ||
469 | -# by default will actually change. | ||
470 | -# Use braces instead of parens because sh, perl, etc. also accept them. | ||
471 | bindir='${exec_prefix}/bin' | ||
472 | sbindir='${exec_prefix}/sbin' | ||
473 | libexecdir='${exec_prefix}/libexec' | ||
474 | @@ -349,9 +58,17 @@ | ||
475 | infodir='${prefix}/info' | ||
476 | mandir='${prefix}/man' | ||
477 | |||
478 | +# Initialize some other variables. | ||
479 | +subdirs= | ||
480 | +MFLAGS= MAKEFLAGS= | ||
481 | +SHELL=${CONFIG_SHELL-/bin/sh} | ||
482 | +# Maximum number of lines to put in a shell here document. | ||
483 | +ac_max_here_lines=12 | ||
484 | + | ||
485 | ac_prev= | ||
486 | for ac_option | ||
487 | do | ||
488 | + | ||
489 | # If the previous option needs an argument, assign it. | ||
490 | if test -n "$ac_prev"; then | ||
491 | eval "$ac_prev=\$ac_option" | ||
492 | @@ -359,59 +76,59 @@ | ||
493 | continue | ||
494 | fi | ||
495 | |||
496 | - ac_optarg=`expr "x$ac_option" : 'x[^=]*=\(.*\)'` | ||
497 | + case "$ac_option" in | ||
498 | + -*=*) ac_optarg=`echo "$ac_option" | sed 's/[-_a-zA-Z0-9]*=//'` ;; | ||
499 | + *) ac_optarg= ;; | ||
500 | + esac | ||
501 | |||
502 | # Accept the important Cygnus configure options, so we can diagnose typos. | ||
503 | |||
504 | - case $ac_option in | ||
505 | + case "$ac_option" in | ||
506 | |||
507 | -bindir | --bindir | --bindi | --bind | --bin | --bi) | ||
508 | ac_prev=bindir ;; | ||
509 | -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*) | ||
510 | - bindir=$ac_optarg ;; | ||
511 | + bindir="$ac_optarg" ;; | ||
512 | |||
513 | -build | --build | --buil | --bui | --bu) | ||
514 | - ac_prev=build_alias ;; | ||
515 | + ac_prev=build ;; | ||
516 | -build=* | --build=* | --buil=* | --bui=* | --bu=*) | ||
517 | - build_alias=$ac_optarg ;; | ||
518 | + build="$ac_optarg" ;; | ||
519 | |||
520 | -cache-file | --cache-file | --cache-fil | --cache-fi \ | ||
521 | | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c) | ||
522 | ac_prev=cache_file ;; | ||
523 | -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \ | ||
524 | | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*) | ||
525 | - cache_file=$ac_optarg ;; | ||
526 | + cache_file="$ac_optarg" ;; | ||
527 | |||
528 | - --config-cache | -C) | ||
529 | - cache_file=config.cache ;; | ||
530 | - | ||
531 | -datadir | --datadir | --datadi | --datad | --data | --dat | --da) | ||
532 | ac_prev=datadir ;; | ||
533 | -datadir=* | --datadir=* | --datadi=* | --datad=* | --data=* | --dat=* \ | ||
534 | | --da=*) | ||
535 | - datadir=$ac_optarg ;; | ||
536 | + datadir="$ac_optarg" ;; | ||
537 | |||
538 | -disable-* | --disable-*) | ||
539 | - ac_feature=`expr "x$ac_option" : 'x-*disable-\(.*\)'` | ||
540 | + ac_feature=`echo $ac_option|sed -e 's/-*disable-//'` | ||
541 | # Reject names that are not valid shell variable names. | ||
542 | - expr "x$ac_feature" : ".*[^-_$as_cr_alnum]" >/dev/null && | ||
543 | - { echo "$as_me: error: invalid feature name: $ac_feature" >&2 | ||
544 | - { (exit 1); exit 1; }; } | ||
545 | - ac_feature=`echo $ac_feature | sed 's/-/_/g'` | ||
546 | - eval "enable_$ac_feature=no" ;; | ||
547 | + if test -n "`echo $ac_feature| sed 's/[-a-zA-Z0-9_]//g'`"; then | ||
548 | + { echo "configure: error: $ac_feature: invalid feature name" 1>&2; exit 1; } | ||
549 | + fi | ||
550 | + ac_feature=`echo $ac_feature| sed 's/-/_/g'` | ||
551 | + eval "enable_${ac_feature}=no" ;; | ||
552 | |||
553 | -enable-* | --enable-*) | ||
554 | - ac_feature=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'` | ||
555 | + ac_feature=`echo $ac_option|sed -e 's/-*enable-//' -e 's/=.*//'` | ||
556 | # Reject names that are not valid shell variable names. | ||
557 | - expr "x$ac_feature" : ".*[^-_$as_cr_alnum]" >/dev/null && | ||
558 | - { echo "$as_me: error: invalid feature name: $ac_feature" >&2 | ||
559 | - { (exit 1); exit 1; }; } | ||
560 | - ac_feature=`echo $ac_feature | sed 's/-/_/g'` | ||
561 | - case $ac_option in | ||
562 | - *=*) ac_optarg=`echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"`;; | ||
563 | + if test -n "`echo $ac_feature| sed 's/[-_a-zA-Z0-9]//g'`"; then | ||
564 | + { echo "configure: error: $ac_feature: invalid feature name" 1>&2; exit 1; } | ||
565 | + fi | ||
566 | + ac_feature=`echo $ac_feature| sed 's/-/_/g'` | ||
567 | + case "$ac_option" in | ||
568 | + *=*) ;; | ||
569 | *) ac_optarg=yes ;; | ||
570 | esac | ||
571 | - eval "enable_$ac_feature='$ac_optarg'" ;; | ||
572 | + eval "enable_${ac_feature}='$ac_optarg'" ;; | ||
573 | |||
574 | -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \ | ||
575 | | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \ | ||
576 | @@ -420,47 +137,95 @@ | ||
577 | -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \ | ||
578 | | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \ | ||
579 | | --exec=* | --exe=* | --ex=*) | ||
580 | - exec_prefix=$ac_optarg ;; | ||
581 | + exec_prefix="$ac_optarg" ;; | ||
582 | |||
583 | -gas | --gas | --ga | --g) | ||
584 | # Obsolete; use --with-gas. | ||
585 | with_gas=yes ;; | ||
586 | |||
587 | - -help | --help | --hel | --he | -h) | ||
588 | - ac_init_help=long ;; | ||
589 | - -help=r* | --help=r* | --hel=r* | --he=r* | -hr*) | ||
590 | - ac_init_help=recursive ;; | ||
591 | - -help=s* | --help=s* | --hel=s* | --he=s* | -hs*) | ||
592 | - ac_init_help=short ;; | ||
593 | + -help | --help | --hel | --he) | ||
594 | + # Omit some internal or obsolete options to make the list less imposing. | ||
595 | + # This message is too long to be a string in the A/UX 3.1 sh. | ||
596 | + cat << EOF | ||
597 | +Usage: configure [options] [host] | ||
598 | +Options: [defaults in brackets after descriptions] | ||
599 | +Configuration: | ||
600 | + --cache-file=FILE cache test results in FILE | ||
601 | + --help print this message | ||
602 | + --no-create do not create output files | ||
603 | + --quiet, --silent do not print \`checking...' messages | ||
604 | + --version print the version of autoconf that created configure | ||
605 | +Directory and file names: | ||
606 | + --prefix=PREFIX install architecture-independent files in PREFIX | ||
607 | + [$ac_default_prefix] | ||
608 | + --exec-prefix=EPREFIX install architecture-dependent files in EPREFIX | ||
609 | + [same as prefix] | ||
610 | + --bindir=DIR user executables in DIR [EPREFIX/bin] | ||
611 | + --sbindir=DIR system admin executables in DIR [EPREFIX/sbin] | ||
612 | + --libexecdir=DIR program executables in DIR [EPREFIX/libexec] | ||
613 | + --datadir=DIR read-only architecture-independent data in DIR | ||
614 | + [PREFIX/share] | ||
615 | + --sysconfdir=DIR read-only single-machine data in DIR [PREFIX/etc] | ||
616 | + --sharedstatedir=DIR modifiable architecture-independent data in DIR | ||
617 | + [PREFIX/com] | ||
618 | + --localstatedir=DIR modifiable single-machine data in DIR [PREFIX/var] | ||
619 | + --libdir=DIR object code libraries in DIR [EPREFIX/lib] | ||
620 | + --includedir=DIR C header files in DIR [PREFIX/include] | ||
621 | + --oldincludedir=DIR C header files for non-gcc in DIR [/usr/include] | ||
622 | + --infodir=DIR info documentation in DIR [PREFIX/info] | ||
623 | + --mandir=DIR man documentation in DIR [PREFIX/man] | ||
624 | + --srcdir=DIR find the sources in DIR [configure dir or ..] | ||
625 | + --program-prefix=PREFIX prepend PREFIX to installed program names | ||
626 | + --program-suffix=SUFFIX append SUFFIX to installed program names | ||
627 | + --program-transform-name=PROGRAM | ||
628 | + run sed PROGRAM on installed program names | ||
629 | +EOF | ||
630 | + cat << EOF | ||
631 | +Host type: | ||
632 | + --build=BUILD configure for building on BUILD [BUILD=HOST] | ||
633 | + --host=HOST configure for HOST [guessed] | ||
634 | + --target=TARGET configure for TARGET [TARGET=HOST] | ||
635 | +Features and packages: | ||
636 | + --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no) | ||
637 | + --enable-FEATURE[=ARG] include FEATURE [ARG=yes] | ||
638 | + --with-PACKAGE[=ARG] use PACKAGE [ARG=yes] | ||
639 | + --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no) | ||
640 | + --x-includes=DIR X include files are in DIR | ||
641 | + --x-libraries=DIR X library files are in DIR | ||
642 | +EOF | ||
643 | + if test -n "$ac_help"; then | ||
644 | + echo "--enable and --with options recognized:$ac_help" | ||
645 | + fi | ||
646 | + exit 0 ;; | ||
647 | |||
648 | -host | --host | --hos | --ho) | ||
649 | - ac_prev=host_alias ;; | ||
650 | + ac_prev=host ;; | ||
651 | -host=* | --host=* | --hos=* | --ho=*) | ||
652 | - host_alias=$ac_optarg ;; | ||
653 | + host="$ac_optarg" ;; | ||
654 | |||
655 | -includedir | --includedir | --includedi | --included | --include \ | ||
656 | | --includ | --inclu | --incl | --inc) | ||
657 | ac_prev=includedir ;; | ||
658 | -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \ | ||
659 | | --includ=* | --inclu=* | --incl=* | --inc=*) | ||
660 | - includedir=$ac_optarg ;; | ||
661 | + includedir="$ac_optarg" ;; | ||
662 | |||
663 | -infodir | --infodir | --infodi | --infod | --info | --inf) | ||
664 | ac_prev=infodir ;; | ||
665 | -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*) | ||
666 | - infodir=$ac_optarg ;; | ||
667 | + infodir="$ac_optarg" ;; | ||
668 | |||
669 | -libdir | --libdir | --libdi | --libd) | ||
670 | ac_prev=libdir ;; | ||
671 | -libdir=* | --libdir=* | --libdi=* | --libd=*) | ||
672 | - libdir=$ac_optarg ;; | ||
673 | + libdir="$ac_optarg" ;; | ||
674 | |||
675 | -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \ | ||
676 | | --libexe | --libex | --libe) | ||
677 | ac_prev=libexecdir ;; | ||
678 | -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \ | ||
679 | | --libexe=* | --libex=* | --libe=*) | ||
680 | - libexecdir=$ac_optarg ;; | ||
681 | + libexecdir="$ac_optarg" ;; | ||
682 | |||
683 | -localstatedir | --localstatedir | --localstatedi | --localstated \ | ||
684 | | --localstate | --localstat | --localsta | --localst \ | ||
685 | @@ -469,19 +234,19 @@ | ||
686 | -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \ | ||
687 | | --localstate=* | --localstat=* | --localsta=* | --localst=* \ | ||
688 | | --locals=* | --local=* | --loca=* | --loc=* | --lo=*) | ||
689 | - localstatedir=$ac_optarg ;; | ||
690 | + localstatedir="$ac_optarg" ;; | ||
691 | |||
692 | -mandir | --mandir | --mandi | --mand | --man | --ma | --m) | ||
693 | ac_prev=mandir ;; | ||
694 | -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*) | ||
695 | - mandir=$ac_optarg ;; | ||
696 | + mandir="$ac_optarg" ;; | ||
697 | |||
698 | -nfp | --nfp | --nf) | ||
699 | # Obsolete; use --without-fp. | ||
700 | with_fp=no ;; | ||
701 | |||
702 | -no-create | --no-create | --no-creat | --no-crea | --no-cre \ | ||
703 | - | --no-cr | --no-c | -n) | ||
704 | + | --no-cr | --no-c) | ||
705 | no_create=yes ;; | ||
706 | |||
707 | -no-recursion | --no-recursion | --no-recursio | --no-recursi \ | ||
708 | @@ -495,26 +260,26 @@ | ||
709 | -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \ | ||
710 | | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \ | ||
711 | | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*) | ||
712 | - oldincludedir=$ac_optarg ;; | ||
713 | + oldincludedir="$ac_optarg" ;; | ||
714 | |||
715 | -prefix | --prefix | --prefi | --pref | --pre | --pr | --p) | ||
716 | ac_prev=prefix ;; | ||
717 | -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*) | ||
718 | - prefix=$ac_optarg ;; | ||
719 | + prefix="$ac_optarg" ;; | ||
720 | |||
721 | -program-prefix | --program-prefix | --program-prefi | --program-pref \ | ||
722 | | --program-pre | --program-pr | --program-p) | ||
723 | ac_prev=program_prefix ;; | ||
724 | -program-prefix=* | --program-prefix=* | --program-prefi=* \ | ||
725 | | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*) | ||
726 | - program_prefix=$ac_optarg ;; | ||
727 | + program_prefix="$ac_optarg" ;; | ||
728 | |||
729 | -program-suffix | --program-suffix | --program-suffi | --program-suff \ | ||
730 | | --program-suf | --program-su | --program-s) | ||
731 | ac_prev=program_suffix ;; | ||
732 | -program-suffix=* | --program-suffix=* | --program-suffi=* \ | ||
733 | | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*) | ||
734 | - program_suffix=$ac_optarg ;; | ||
735 | + program_suffix="$ac_optarg" ;; | ||
736 | |||
737 | -program-transform-name | --program-transform-name \ | ||
738 | | --program-transform-nam | --program-transform-na \ | ||
739 | @@ -531,7 +296,7 @@ | ||
740 | | --program-transfo=* | --program-transf=* \ | ||
741 | | --program-trans=* | --program-tran=* \ | ||
742 | | --progr-tra=* | --program-tr=* | --program-t=*) | ||
743 | - program_transform_name=$ac_optarg ;; | ||
744 | + program_transform_name="$ac_optarg" ;; | ||
745 | |||
746 | -q | -quiet | --quiet | --quie | --qui | --qu | --q \ | ||
747 | | -silent | --silent | --silen | --sile | --sil) | ||
748 | @@ -541,7 +306,7 @@ | ||
749 | ac_prev=sbindir ;; | ||
750 | -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \ | ||
751 | | --sbi=* | --sb=*) | ||
752 | - sbindir=$ac_optarg ;; | ||
753 | + sbindir="$ac_optarg" ;; | ||
754 | |||
755 | -sharedstatedir | --sharedstatedir | --sharedstatedi \ | ||
756 | | --sharedstated | --sharedstate | --sharedstat | --sharedsta \ | ||
757 | @@ -552,57 +317,58 @@ | ||
758 | | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \ | ||
759 | | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \ | ||
760 | | --sha=* | --sh=*) | ||
761 | - sharedstatedir=$ac_optarg ;; | ||
762 | + sharedstatedir="$ac_optarg" ;; | ||
763 | |||
764 | -site | --site | --sit) | ||
765 | ac_prev=site ;; | ||
766 | -site=* | --site=* | --sit=*) | ||
767 | - site=$ac_optarg ;; | ||
768 | + site="$ac_optarg" ;; | ||
769 | |||
770 | -srcdir | --srcdir | --srcdi | --srcd | --src | --sr) | ||
771 | ac_prev=srcdir ;; | ||
772 | -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*) | ||
773 | - srcdir=$ac_optarg ;; | ||
774 | + srcdir="$ac_optarg" ;; | ||
775 | |||
776 | -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \ | ||
777 | | --syscon | --sysco | --sysc | --sys | --sy) | ||
778 | ac_prev=sysconfdir ;; | ||
779 | -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \ | ||
780 | | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*) | ||
781 | - sysconfdir=$ac_optarg ;; | ||
782 | + sysconfdir="$ac_optarg" ;; | ||
783 | |||
784 | -target | --target | --targe | --targ | --tar | --ta | --t) | ||
785 | - ac_prev=target_alias ;; | ||
786 | + ac_prev=target ;; | ||
787 | -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*) | ||
788 | - target_alias=$ac_optarg ;; | ||
789 | + target="$ac_optarg" ;; | ||
790 | |||
791 | -v | -verbose | --verbose | --verbos | --verbo | --verb) | ||
792 | verbose=yes ;; | ||
793 | |||
794 | - -version | --version | --versio | --versi | --vers | -V) | ||
795 | - ac_init_version=: ;; | ||
796 | + -version | --version | --versio | --versi | --vers) | ||
797 | + echo "configure generated by autoconf version 2.13" | ||
798 | + exit 0 ;; | ||
799 | |||
800 | -with-* | --with-*) | ||
801 | - ac_package=`expr "x$ac_option" : 'x-*with-\([^=]*\)'` | ||
802 | + ac_package=`echo $ac_option|sed -e 's/-*with-//' -e 's/=.*//'` | ||
803 | # Reject names that are not valid shell variable names. | ||
804 | - expr "x$ac_package" : ".*[^-_$as_cr_alnum]" >/dev/null && | ||
805 | - { echo "$as_me: error: invalid package name: $ac_package" >&2 | ||
806 | - { (exit 1); exit 1; }; } | ||
807 | + if test -n "`echo $ac_package| sed 's/[-_a-zA-Z0-9]//g'`"; then | ||
808 | + { echo "configure: error: $ac_package: invalid package name" 1>&2; exit 1; } | ||
809 | + fi | ||
810 | ac_package=`echo $ac_package| sed 's/-/_/g'` | ||
811 | - case $ac_option in | ||
812 | - *=*) ac_optarg=`echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"`;; | ||
813 | + case "$ac_option" in | ||
814 | + *=*) ;; | ||
815 | *) ac_optarg=yes ;; | ||
816 | esac | ||
817 | - eval "with_$ac_package='$ac_optarg'" ;; | ||
818 | + eval "with_${ac_package}='$ac_optarg'" ;; | ||
819 | |||
820 | -without-* | --without-*) | ||
821 | - ac_package=`expr "x$ac_option" : 'x-*without-\(.*\)'` | ||
822 | + ac_package=`echo $ac_option|sed -e 's/-*without-//'` | ||
823 | # Reject names that are not valid shell variable names. | ||
824 | - expr "x$ac_package" : ".*[^-_$as_cr_alnum]" >/dev/null && | ||
825 | - { echo "$as_me: error: invalid package name: $ac_package" >&2 | ||
826 | - { (exit 1); exit 1; }; } | ||
827 | - ac_package=`echo $ac_package | sed 's/-/_/g'` | ||
828 | - eval "with_$ac_package=no" ;; | ||
829 | + if test -n "`echo $ac_package| sed 's/[-a-zA-Z0-9_]//g'`"; then | ||
830 | + { echo "configure: error: $ac_package: invalid package name" 1>&2; exit 1; } | ||
831 | + fi | ||
832 | + ac_package=`echo $ac_package| sed 's/-/_/g'` | ||
833 | + eval "with_${ac_package}=no" ;; | ||
834 | |||
835 | --x) | ||
836 | # Obsolete; use --with-x. | ||
837 | @@ -613,110 +379,99 @@ | ||
838 | ac_prev=x_includes ;; | ||
839 | -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \ | ||
840 | | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*) | ||
841 | - x_includes=$ac_optarg ;; | ||
842 | + x_includes="$ac_optarg" ;; | ||
843 | |||
844 | -x-libraries | --x-libraries | --x-librarie | --x-librari \ | ||
845 | | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l) | ||
846 | ac_prev=x_libraries ;; | ||
847 | -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \ | ||
848 | | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*) | ||
849 | - x_libraries=$ac_optarg ;; | ||
850 | + x_libraries="$ac_optarg" ;; | ||
851 | |||
852 | - -*) { echo "$as_me: error: unrecognized option: $ac_option | ||
853 | -Try \`$0 --help' for more information." >&2 | ||
854 | - { (exit 1); exit 1; }; } | ||
855 | + -*) { echo "configure: error: $ac_option: invalid option; use --help to show usage" 1>&2; exit 1; } | ||
856 | ;; | ||
857 | |||
858 | - *=*) | ||
859 | - ac_envvar=`expr "x$ac_option" : 'x\([^=]*\)='` | ||
860 | - # Reject names that are not valid shell variable names. | ||
861 | - expr "x$ac_envvar" : ".*[^_$as_cr_alnum]" >/dev/null && | ||
862 | - { echo "$as_me: error: invalid variable name: $ac_envvar" >&2 | ||
863 | - { (exit 1); exit 1; }; } | ||
864 | - ac_optarg=`echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` | ||
865 | - eval "$ac_envvar='$ac_optarg'" | ||
866 | - export $ac_envvar ;; | ||
867 | - | ||
868 | *) | ||
869 | - # FIXME: should be removed in autoconf 3.0. | ||
870 | - echo "$as_me: WARNING: you should use --build, --host, --target" >&2 | ||
871 | - expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null && | ||
872 | - echo "$as_me: WARNING: invalid host type: $ac_option" >&2 | ||
873 | - : ${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option} | ||
874 | + if test -n "`echo $ac_option| sed 's/[-a-z0-9.]//g'`"; then | ||
875 | + echo "configure: warning: $ac_option: invalid host type" 1>&2 | ||
876 | + fi | ||
877 | + if test "x$nonopt" != xNONE; then | ||
878 | + { echo "configure: error: can only configure for one host and one target at a time" 1>&2; exit 1; } | ||
879 | + fi | ||
880 | + nonopt="$ac_option" | ||
881 | ;; | ||
882 | |||
883 | esac | ||
884 | done | ||
885 | |||
886 | if test -n "$ac_prev"; then | ||
887 | - ac_option=--`echo $ac_prev | sed 's/_/-/g'` | ||
888 | - { echo "$as_me: error: missing argument to $ac_option" >&2 | ||
889 | - { (exit 1); exit 1; }; } | ||
890 | + { echo "configure: error: missing argument to --`echo $ac_prev | sed 's/_/-/g'`" 1>&2; exit 1; } | ||
891 | fi | ||
892 | |||
893 | -# Be sure to have absolute paths. | ||
894 | -for ac_var in exec_prefix prefix | ||
895 | -do | ||
896 | - eval ac_val=$`echo $ac_var` | ||
897 | - case $ac_val in | ||
898 | - [\\/$]* | ?:[\\/]* | NONE | '' ) ;; | ||
899 | - *) { echo "$as_me: error: expected an absolute directory name for --$ac_var: $ac_val" >&2 | ||
900 | - { (exit 1); exit 1; }; };; | ||
901 | - esac | ||
902 | -done | ||
903 | +trap 'rm -fr conftest* confdefs* core core.* *.core $ac_clean_files; exit 1' 1 2 15 | ||
904 | |||
905 | -# Be sure to have absolute paths. | ||
906 | -for ac_var in bindir sbindir libexecdir datadir sysconfdir sharedstatedir \ | ||
907 | - localstatedir libdir includedir oldincludedir infodir mandir | ||
908 | +# File descriptor usage: | ||
909 | +# 0 standard input | ||
910 | +# 1 file creation | ||
911 | +# 2 errors and warnings | ||
912 | +# 3 some systems may open it to /dev/tty | ||
913 | +# 4 used on the Kubota Titan | ||
914 | +# 6 checking for... messages and results | ||
915 | +# 5 compiler messages saved in config.log | ||
916 | +if test "$silent" = yes; then | ||
917 | + exec 6>/dev/null | ||
918 | +else | ||
919 | + exec 6>&1 | ||
920 | +fi | ||
921 | +exec 5>./config.log | ||
922 | + | ||
923 | +echo "\ | ||
924 | +This file contains any messages produced by compilers while | ||
925 | +running configure, to aid debugging if configure makes a mistake. | ||
926 | +" 1>&5 | ||
927 | + | ||
928 | +# Strip out --no-create and --no-recursion so they do not pile up. | ||
929 | +# Also quote any args containing shell metacharacters. | ||
930 | +ac_configure_args= | ||
931 | +for ac_arg | ||
932 | do | ||
933 | - eval ac_val=$`echo $ac_var` | ||
934 | - case $ac_val in | ||
935 | - [\\/$]* | ?:[\\/]* ) ;; | ||
936 | - *) { echo "$as_me: error: expected an absolute directory name for --$ac_var: $ac_val" >&2 | ||
937 | - { (exit 1); exit 1; }; };; | ||
938 | + case "$ac_arg" in | ||
939 | + -no-create | --no-create | --no-creat | --no-crea | --no-cre \ | ||
940 | + | --no-cr | --no-c) ;; | ||
941 | + -no-recursion | --no-recursion | --no-recursio | --no-recursi \ | ||
942 | + | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r) ;; | ||
943 | + *" "*|*" "*|*[\[\]\~\#\$\^\&\*\(\)\{\}\\\|\;\<\>\?]*) | ||
944 | + ac_configure_args="$ac_configure_args '$ac_arg'" ;; | ||
945 | + *) ac_configure_args="$ac_configure_args $ac_arg" ;; | ||
946 | esac | ||
947 | done | ||
948 | |||
949 | -# There might be people who depend on the old broken behavior: `$host' | ||
950 | -# used to hold the argument of --host etc. | ||
951 | -# FIXME: To remove some day. | ||
952 | -build=$build_alias | ||
953 | -host=$host_alias | ||
954 | -target=$target_alias | ||
955 | +# NLS nuisances. | ||
956 | +# Only set these to C if already set. These must not be set unconditionally | ||
957 | +# because not all systems understand e.g. LANG=C (notably SCO). | ||
958 | +# Fixing LC_MESSAGES prevents Solaris sh from translating var values in `set'! | ||
959 | +# Non-C LC_CTYPE values break the ctype check. | ||
960 | +if test "${LANG+set}" = set; then LANG=C; export LANG; fi | ||
961 | +if test "${LC_ALL+set}" = set; then LC_ALL=C; export LC_ALL; fi | ||
962 | +if test "${LC_MESSAGES+set}" = set; then LC_MESSAGES=C; export LC_MESSAGES; fi | ||
963 | +if test "${LC_CTYPE+set}" = set; then LC_CTYPE=C; export LC_CTYPE; fi | ||
964 | |||
965 | -# FIXME: To remove some day. | ||
966 | -if test "x$host_alias" != x; then | ||
967 | - if test "x$build_alias" = x; then | ||
968 | - cross_compiling=maybe | ||
969 | - echo "$as_me: WARNING: If you wanted to set the --build type, don't use --host. | ||
970 | - If a cross compiler is detected then cross compile mode will be used." >&2 | ||
971 | - elif test "x$build_alias" != "x$host_alias"; then | ||
972 | - cross_compiling=yes | ||
973 | - fi | ||
974 | -fi | ||
975 | +# confdefs.h avoids OS command line length limits that DEFS can exceed. | ||
976 | +rm -rf conftest* confdefs.h | ||
977 | +# AIX cpp loses on an empty file, so make sure it contains at least a newline. | ||
978 | +echo > confdefs.h | ||
979 | |||
980 | -ac_tool_prefix= | ||
981 | -test -n "$host_alias" && ac_tool_prefix=$host_alias- | ||
982 | +# A filename unique to this package, relative to the directory that | ||
983 | +# configure is in, which we can look for to find out if srcdir is correct. | ||
984 | +ac_unique_file=include/flite.h | ||
985 | |||
986 | -test "$silent" = yes && exec 6>/dev/null | ||
987 | - | ||
988 | - | ||
989 | # Find the source files, if location was not specified. | ||
990 | if test -z "$srcdir"; then | ||
991 | ac_srcdir_defaulted=yes | ||
992 | # Try the directory containing this script, then its parent. | ||
993 | - ac_confdir=`(dirname "$0") 2>/dev/null || | ||
994 | -$as_expr X"$0" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ | ||
995 | - X"$0" : 'X\(//\)[^/]' \| \ | ||
996 | - X"$0" : 'X\(//\)$' \| \ | ||
997 | - X"$0" : 'X\(/\)' \| \ | ||
998 | - . : '\(.\)' 2>/dev/null || | ||
999 | -echo X"$0" | | ||
1000 | - sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; } | ||
1001 | - /^X\(\/\/\)[^/].*/{ s//\1/; q; } | ||
1002 | - /^X\(\/\/\)$/{ s//\1/; q; } | ||
1003 | - /^X\(\/\).*/{ s//\1/; q; } | ||
1004 | - s/.*/./; q'` | ||
1005 | + ac_prog=$0 | ||
1006 | + ac_confdir=`echo $ac_prog|sed 's%/[^/][^/]*$%%'` | ||
1007 | + test "x$ac_confdir" = "x$ac_prog" && ac_confdir=. | ||
1008 | srcdir=$ac_confdir | ||
1009 | if test ! -r $srcdir/$ac_unique_file; then | ||
1010 | srcdir=.. | ||
1011 | @@ -726,441 +481,13 @@ | ||
1012 | fi | ||
1013 | if test ! -r $srcdir/$ac_unique_file; then | ||
1014 | if test "$ac_srcdir_defaulted" = yes; then | ||
1015 | - { echo "$as_me: error: cannot find sources ($ac_unique_file) in $ac_confdir or .." >&2 | ||
1016 | - { (exit 1); exit 1; }; } | ||
1017 | + { echo "configure: error: can not find sources in $ac_confdir or .." 1>&2; exit 1; } | ||
1018 | else | ||
1019 | - { echo "$as_me: error: cannot find sources ($ac_unique_file) in $srcdir" >&2 | ||
1020 | - { (exit 1); exit 1; }; } | ||
1021 | + { echo "configure: error: can not find sources in $srcdir" 1>&2; exit 1; } | ||
1022 | fi | ||
1023 | fi | ||
1024 | -(cd $srcdir && test -r ./$ac_unique_file) 2>/dev/null || | ||
1025 | - { echo "$as_me: error: sources are in $srcdir, but \`cd $srcdir' does not work" >&2 | ||
1026 | - { (exit 1); exit 1; }; } | ||
1027 | -srcdir=`echo "$srcdir" | sed 's%\([^\\/]\)[\\/]*$%\1%'` | ||
1028 | -ac_env_build_alias_set=${build_alias+set} | ||
1029 | -ac_env_build_alias_value=$build_alias | ||
1030 | -ac_cv_env_build_alias_set=${build_alias+set} | ||
1031 | -ac_cv_env_build_alias_value=$build_alias | ||
1032 | -ac_env_host_alias_set=${host_alias+set} | ||
1033 | -ac_env_host_alias_value=$host_alias | ||
1034 | -ac_cv_env_host_alias_set=${host_alias+set} | ||
1035 | -ac_cv_env_host_alias_value=$host_alias | ||
1036 | -ac_env_target_alias_set=${target_alias+set} | ||
1037 | -ac_env_target_alias_value=$target_alias | ||
1038 | -ac_cv_env_target_alias_set=${target_alias+set} | ||
1039 | -ac_cv_env_target_alias_value=$target_alias | ||
1040 | -ac_env_CC_set=${CC+set} | ||
1041 | -ac_env_CC_value=$CC | ||
1042 | -ac_cv_env_CC_set=${CC+set} | ||
1043 | -ac_cv_env_CC_value=$CC | ||
1044 | -ac_env_CFLAGS_set=${CFLAGS+set} | ||
1045 | -ac_env_CFLAGS_value=$CFLAGS | ||
1046 | -ac_cv_env_CFLAGS_set=${CFLAGS+set} | ||
1047 | -ac_cv_env_CFLAGS_value=$CFLAGS | ||
1048 | -ac_env_LDFLAGS_set=${LDFLAGS+set} | ||
1049 | -ac_env_LDFLAGS_value=$LDFLAGS | ||
1050 | -ac_cv_env_LDFLAGS_set=${LDFLAGS+set} | ||
1051 | -ac_cv_env_LDFLAGS_value=$LDFLAGS | ||
1052 | -ac_env_CPPFLAGS_set=${CPPFLAGS+set} | ||
1053 | -ac_env_CPPFLAGS_value=$CPPFLAGS | ||
1054 | -ac_cv_env_CPPFLAGS_set=${CPPFLAGS+set} | ||
1055 | -ac_cv_env_CPPFLAGS_value=$CPPFLAGS | ||
1056 | -ac_env_CPP_set=${CPP+set} | ||
1057 | -ac_env_CPP_value=$CPP | ||
1058 | -ac_cv_env_CPP_set=${CPP+set} | ||
1059 | -ac_cv_env_CPP_value=$CPP | ||
1060 | +srcdir=`echo "${srcdir}" | sed 's%\([^/]\)/*$%\1%'` | ||
1061 | |||
1062 | -# | ||
1063 | -# Report the --help message. | ||
1064 | -# | ||
1065 | -if test "$ac_init_help" = "long"; then | ||
1066 | - # Omit some internal or obsolete options to make the list less imposing. | ||
1067 | - # This message is too long to be a string in the A/UX 3.1 sh. | ||
1068 | - cat <<_ACEOF | ||
1069 | -\`configure' configures this package to adapt to many kinds of systems. | ||
1070 | - | ||
1071 | -Usage: $0 [OPTION]... [VAR=VALUE]... | ||
1072 | - | ||
1073 | -To assign environment variables (e.g., CC, CFLAGS...), specify them as | ||
1074 | -VAR=VALUE. See below for descriptions of some of the useful variables. | ||
1075 | - | ||
1076 | -Defaults for the options are specified in brackets. | ||
1077 | - | ||
1078 | -Configuration: | ||
1079 | - -h, --help display this help and exit | ||
1080 | - --help=short display options specific to this package | ||
1081 | - --help=recursive display the short help of all the included packages | ||
1082 | - -V, --version display version information and exit | ||
1083 | - -q, --quiet, --silent do not print \`checking...' messages | ||
1084 | - --cache-file=FILE cache test results in FILE [disabled] | ||
1085 | - -C, --config-cache alias for \`--cache-file=config.cache' | ||
1086 | - -n, --no-create do not create output files | ||
1087 | - --srcdir=DIR find the sources in DIR [configure dir or \`..'] | ||
1088 | - | ||
1089 | -_ACEOF | ||
1090 | - | ||
1091 | - cat <<_ACEOF | ||
1092 | -Installation directories: | ||
1093 | - --prefix=PREFIX install architecture-independent files in PREFIX | ||
1094 | - [$ac_default_prefix] | ||
1095 | - --exec-prefix=EPREFIX install architecture-dependent files in EPREFIX | ||
1096 | - [PREFIX] | ||
1097 | - | ||
1098 | -By default, \`make install' will install all the files in | ||
1099 | -\`$ac_default_prefix/bin', \`$ac_default_prefix/lib' etc. You can specify | ||
1100 | -an installation prefix other than \`$ac_default_prefix' using \`--prefix', | ||
1101 | -for instance \`--prefix=\$HOME'. | ||
1102 | - | ||
1103 | -For better control, use the options below. | ||
1104 | - | ||
1105 | -Fine tuning of the installation directories: | ||
1106 | - --bindir=DIR user executables [EPREFIX/bin] | ||
1107 | - --sbindir=DIR system admin executables [EPREFIX/sbin] | ||
1108 | - --libexecdir=DIR program executables [EPREFIX/libexec] | ||
1109 | - --datadir=DIR read-only architecture-independent data [PREFIX/share] | ||
1110 | - --sysconfdir=DIR read-only single-machine data [PREFIX/etc] | ||
1111 | - --sharedstatedir=DIR modifiable architecture-independent data [PREFIX/com] | ||
1112 | - --localstatedir=DIR modifiable single-machine data [PREFIX/var] | ||
1113 | - --libdir=DIR object code libraries [EPREFIX/lib] | ||
1114 | - --includedir=DIR C header files [PREFIX/include] | ||
1115 | - --oldincludedir=DIR C header files for non-gcc [/usr/include] | ||
1116 | - --infodir=DIR info documentation [PREFIX/info] | ||
1117 | - --mandir=DIR man documentation [PREFIX/man] | ||
1118 | -_ACEOF | ||
1119 | - | ||
1120 | - cat <<\_ACEOF | ||
1121 | - | ||
1122 | -System types: | ||
1123 | - --build=BUILD configure for building on BUILD [guessed] | ||
1124 | - --host=HOST cross-compile to build programs to run on HOST [BUILD] | ||
1125 | - --target=TARGET configure for building compilers for TARGET [HOST] | ||
1126 | -_ACEOF | ||
1127 | -fi | ||
1128 | - | ||
1129 | -if test -n "$ac_init_help"; then | ||
1130 | - | ||
1131 | - cat <<\_ACEOF | ||
1132 | - | ||
1133 | -Optional Features: | ||
1134 | - --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no) | ||
1135 | - --enable-FEATURE[=ARG] include FEATURE [ARG=yes] | ||
1136 | - --disable-shared without shared library support | ||
1137 | - --disable-sockets without socket support | ||
1138 | - | ||
1139 | -Optional Packages: | ||
1140 | - --with-PACKAGE[=ARG] use PACKAGE [ARG=yes] | ||
1141 | - --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no) | ||
1142 | - --with-audio with specific audio support (none linux freebsd etc) | ||
1143 | - --with-lang with language | ||
1144 | - --with-vox with vox | ||
1145 | - --with-lex with lexicon | ||
1146 | - | ||
1147 | -Some influential environment variables: | ||
1148 | - CC C compiler command | ||
1149 | - CFLAGS C compiler flags | ||
1150 | - LDFLAGS linker flags, e.g. -L<lib dir> if you have libraries in a | ||
1151 | - nonstandard directory <lib dir> | ||
1152 | - CPPFLAGS C/C++ preprocessor flags, e.g. -I<include dir> if you have | ||
1153 | - headers in a nonstandard directory <include dir> | ||
1154 | - CPP C preprocessor | ||
1155 | - | ||
1156 | -Use these variables to override the choices made by `configure' or to help | ||
1157 | -it to find libraries and programs with nonstandard names/locations. | ||
1158 | - | ||
1159 | -_ACEOF | ||
1160 | -fi | ||
1161 | - | ||
1162 | -if test "$ac_init_help" = "recursive"; then | ||
1163 | - # If there are subdirs, report their specific --help. | ||
1164 | - ac_popdir=`pwd` | ||
1165 | - for ac_dir in : $ac_subdirs_all; do test "x$ac_dir" = x: && continue | ||
1166 | - test -d $ac_dir || continue | ||
1167 | - ac_builddir=. | ||
1168 | - | ||
1169 | -if test "$ac_dir" != .; then | ||
1170 | - ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'` | ||
1171 | - # A "../" for each directory in $ac_dir_suffix. | ||
1172 | - ac_top_builddir=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,../,g'` | ||
1173 | -else | ||
1174 | - ac_dir_suffix= ac_top_builddir= | ||
1175 | -fi | ||
1176 | - | ||
1177 | -case $srcdir in | ||
1178 | - .) # No --srcdir option. We are building in place. | ||
1179 | - ac_srcdir=. | ||
1180 | - if test -z "$ac_top_builddir"; then | ||
1181 | - ac_top_srcdir=. | ||
1182 | - else | ||
1183 | - ac_top_srcdir=`echo $ac_top_builddir | sed 's,/$,,'` | ||
1184 | - fi ;; | ||
1185 | - [\\/]* | ?:[\\/]* ) # Absolute path. | ||
1186 | - ac_srcdir=$srcdir$ac_dir_suffix; | ||
1187 | - ac_top_srcdir=$srcdir ;; | ||
1188 | - *) # Relative path. | ||
1189 | - ac_srcdir=$ac_top_builddir$srcdir$ac_dir_suffix | ||
1190 | - ac_top_srcdir=$ac_top_builddir$srcdir ;; | ||
1191 | -esac | ||
1192 | -# Don't blindly perform a `cd "$ac_dir"/$ac_foo && pwd` since $ac_foo can be | ||
1193 | -# absolute. | ||
1194 | -ac_abs_builddir=`cd "$ac_dir" && cd $ac_builddir && pwd` | ||
1195 | -ac_abs_top_builddir=`cd "$ac_dir" && cd ${ac_top_builddir}. && pwd` | ||
1196 | -ac_abs_srcdir=`cd "$ac_dir" && cd $ac_srcdir && pwd` | ||
1197 | -ac_abs_top_srcdir=`cd "$ac_dir" && cd $ac_top_srcdir && pwd` | ||
1198 | - | ||
1199 | - cd $ac_dir | ||
1200 | - # Check for guested configure; otherwise get Cygnus style configure. | ||
1201 | - if test -f $ac_srcdir/configure.gnu; then | ||
1202 | - echo | ||
1203 | - $SHELL $ac_srcdir/configure.gnu --help=recursive | ||
1204 | - elif test -f $ac_srcdir/configure; then | ||
1205 | - echo | ||
1206 | - $SHELL $ac_srcdir/configure --help=recursive | ||
1207 | - elif test -f $ac_srcdir/configure.ac || | ||
1208 | - test -f $ac_srcdir/configure.in; then | ||
1209 | - echo | ||
1210 | - $ac_configure --help | ||
1211 | - else | ||
1212 | - echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2 | ||
1213 | - fi | ||
1214 | - cd $ac_popdir | ||
1215 | - done | ||
1216 | -fi | ||
1217 | - | ||
1218 | -test -n "$ac_init_help" && exit 0 | ||
1219 | -if $ac_init_version; then | ||
1220 | - cat <<\_ACEOF | ||
1221 | - | ||
1222 | -Copyright 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, 2002 | ||
1223 | -Free Software Foundation, Inc. | ||
1224 | -This configure script is free software; the Free Software Foundation | ||
1225 | -gives unlimited permission to copy, distribute and modify it. | ||
1226 | -_ACEOF | ||
1227 | - exit 0 | ||
1228 | -fi | ||
1229 | -exec 5>config.log | ||
1230 | -cat >&5 <<_ACEOF | ||
1231 | -This file contains any messages produced by compilers while | ||
1232 | -running configure, to aid debugging if configure makes a mistake. | ||
1233 | - | ||
1234 | -It was created by $as_me, which was | ||
1235 | -generated by GNU Autoconf 2.57. Invocation command line was | ||
1236 | - | ||
1237 | - $ $0 $@ | ||
1238 | - | ||
1239 | -_ACEOF | ||
1240 | -{ | ||
1241 | -cat <<_ASUNAME | ||
1242 | -## --------- ## | ||
1243 | -## Platform. ## | ||
1244 | -## --------- ## | ||
1245 | - | ||
1246 | -hostname = `(hostname || uname -n) 2>/dev/null | sed 1q` | ||
1247 | -uname -m = `(uname -m) 2>/dev/null || echo unknown` | ||
1248 | -uname -r = `(uname -r) 2>/dev/null || echo unknown` | ||
1249 | -uname -s = `(uname -s) 2>/dev/null || echo unknown` | ||
1250 | -uname -v = `(uname -v) 2>/dev/null || echo unknown` | ||
1251 | - | ||
1252 | -/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null || echo unknown` | ||
1253 | -/bin/uname -X = `(/bin/uname -X) 2>/dev/null || echo unknown` | ||
1254 | - | ||
1255 | -/bin/arch = `(/bin/arch) 2>/dev/null || echo unknown` | ||
1256 | -/usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null || echo unknown` | ||
1257 | -/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null || echo unknown` | ||
1258 | -hostinfo = `(hostinfo) 2>/dev/null || echo unknown` | ||
1259 | -/bin/machine = `(/bin/machine) 2>/dev/null || echo unknown` | ||
1260 | -/usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null || echo unknown` | ||
1261 | -/bin/universe = `(/bin/universe) 2>/dev/null || echo unknown` | ||
1262 | - | ||
1263 | -_ASUNAME | ||
1264 | - | ||
1265 | -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR | ||
1266 | -for as_dir in $PATH | ||
1267 | -do | ||
1268 | - IFS=$as_save_IFS | ||
1269 | - test -z "$as_dir" && as_dir=. | ||
1270 | - echo "PATH: $as_dir" | ||
1271 | -done | ||
1272 | - | ||
1273 | -} >&5 | ||
1274 | - | ||
1275 | -cat >&5 <<_ACEOF | ||
1276 | - | ||
1277 | - | ||
1278 | -## ----------- ## | ||
1279 | -## Core tests. ## | ||
1280 | -## ----------- ## | ||
1281 | - | ||
1282 | -_ACEOF | ||
1283 | - | ||
1284 | - | ||
1285 | -# Keep a trace of the command line. | ||
1286 | -# Strip out --no-create and --no-recursion so they do not pile up. | ||
1287 | -# Strip out --silent because we don't want to record it for future runs. | ||
1288 | -# Also quote any args containing shell meta-characters. | ||
1289 | -# Make two passes to allow for proper duplicate-argument suppression. | ||
1290 | -ac_configure_args= | ||
1291 | -ac_configure_args0= | ||
1292 | -ac_configure_args1= | ||
1293 | -ac_sep= | ||
1294 | -ac_must_keep_next=false | ||
1295 | -for ac_pass in 1 2 | ||
1296 | -do | ||
1297 | - for ac_arg | ||
1298 | - do | ||
1299 | - case $ac_arg in | ||
1300 | - -no-create | --no-c* | -n | -no-recursion | --no-r*) continue ;; | ||
1301 | - -q | -quiet | --quiet | --quie | --qui | --qu | --q \ | ||
1302 | - | -silent | --silent | --silen | --sile | --sil) | ||
1303 | - continue ;; | ||
1304 | - *" "*|*" "*|*[\[\]\~\#\$\^\&\*\(\)\{\}\\\|\;\<\>\?\"\']*) | ||
1305 | - ac_arg=`echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;; | ||
1306 | - esac | ||
1307 | - case $ac_pass in | ||
1308 | - 1) ac_configure_args0="$ac_configure_args0 '$ac_arg'" ;; | ||
1309 | - 2) | ||
1310 | - ac_configure_args1="$ac_configure_args1 '$ac_arg'" | ||
1311 | - if test $ac_must_keep_next = true; then | ||
1312 | - ac_must_keep_next=false # Got value, back to normal. | ||
1313 | - else | ||
1314 | - case $ac_arg in | ||
1315 | - *=* | --config-cache | -C | -disable-* | --disable-* \ | ||
1316 | - | -enable-* | --enable-* | -gas | --g* | -nfp | --nf* \ | ||
1317 | - | -q | -quiet | --q* | -silent | --sil* | -v | -verb* \ | ||
1318 | - | -with-* | --with-* | -without-* | --without-* | --x) | ||
1319 | - case "$ac_configure_args0 " in | ||
1320 | - "$ac_configure_args1"*" '$ac_arg' "* ) continue ;; | ||
1321 | - esac | ||
1322 | - ;; | ||
1323 | - -* ) ac_must_keep_next=true ;; | ||
1324 | - esac | ||
1325 | - fi | ||
1326 | - ac_configure_args="$ac_configure_args$ac_sep'$ac_arg'" | ||
1327 | - # Get rid of the leading space. | ||
1328 | - ac_sep=" " | ||
1329 | - ;; | ||
1330 | - esac | ||
1331 | - done | ||
1332 | -done | ||
1333 | -$as_unset ac_configure_args0 || test "${ac_configure_args0+set}" != set || { ac_configure_args0=; export ac_configure_args0; } | ||
1334 | -$as_unset ac_configure_args1 || test "${ac_configure_args1+set}" != set || { ac_configure_args1=; export ac_configure_args1; } | ||
1335 | - | ||
1336 | -# When interrupted or exit'd, cleanup temporary files, and complete | ||
1337 | -# config.log. We remove comments because anyway the quotes in there | ||
1338 | -# would cause problems or look ugly. | ||
1339 | -# WARNING: Be sure not to use single quotes in there, as some shells, | ||
1340 | -# such as our DU 5.0 friend, will then `close' the trap. | ||
1341 | -trap 'exit_status=$? | ||
1342 | - # Save into config.log some information that might help in debugging. | ||
1343 | - { | ||
1344 | - echo | ||
1345 | - | ||
1346 | - cat <<\_ASBOX | ||
1347 | -## ---------------- ## | ||
1348 | -## Cache variables. ## | ||
1349 | -## ---------------- ## | ||
1350 | -_ASBOX | ||
1351 | - echo | ||
1352 | - # The following way of writing the cache mishandles newlines in values, | ||
1353 | -{ | ||
1354 | - (set) 2>&1 | | ||
1355 | - case `(ac_space='"'"' '"'"'; set | grep ac_space) 2>&1` in | ||
1356 | - *ac_space=\ *) | ||
1357 | - sed -n \ | ||
1358 | - "s/'"'"'/'"'"'\\\\'"'"''"'"'/g; | ||
1359 | - s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='"'"'\\2'"'"'/p" | ||
1360 | - ;; | ||
1361 | - *) | ||
1362 | - sed -n \ | ||
1363 | - "s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1=\\2/p" | ||
1364 | - ;; | ||
1365 | - esac; | ||
1366 | -} | ||
1367 | - echo | ||
1368 | - | ||
1369 | - cat <<\_ASBOX | ||
1370 | -## ----------------- ## | ||
1371 | -## Output variables. ## | ||
1372 | -## ----------------- ## | ||
1373 | -_ASBOX | ||
1374 | - echo | ||
1375 | - for ac_var in $ac_subst_vars | ||
1376 | - do | ||
1377 | - eval ac_val=$`echo $ac_var` | ||
1378 | - echo "$ac_var='"'"'$ac_val'"'"'" | ||
1379 | - done | sort | ||
1380 | - echo | ||
1381 | - | ||
1382 | - if test -n "$ac_subst_files"; then | ||
1383 | - cat <<\_ASBOX | ||
1384 | -## ------------- ## | ||
1385 | -## Output files. ## | ||
1386 | -## ------------- ## | ||
1387 | -_ASBOX | ||
1388 | - echo | ||
1389 | - for ac_var in $ac_subst_files | ||
1390 | - do | ||
1391 | - eval ac_val=$`echo $ac_var` | ||
1392 | - echo "$ac_var='"'"'$ac_val'"'"'" | ||
1393 | - done | sort | ||
1394 | - echo | ||
1395 | - fi | ||
1396 | - | ||
1397 | - if test -s confdefs.h; then | ||
1398 | - cat <<\_ASBOX | ||
1399 | -## ----------- ## | ||
1400 | -## confdefs.h. ## | ||
1401 | -## ----------- ## | ||
1402 | -_ASBOX | ||
1403 | - echo | ||
1404 | - sed "/^$/d" confdefs.h | sort | ||
1405 | - echo | ||
1406 | - fi | ||
1407 | - test "$ac_signal" != 0 && | ||
1408 | - echo "$as_me: caught signal $ac_signal" | ||
1409 | - echo "$as_me: exit $exit_status" | ||
1410 | - } >&5 | ||
1411 | - rm -f core core.* *.core && | ||
1412 | - rm -rf conftest* confdefs* conf$$* $ac_clean_files && | ||
1413 | - exit $exit_status | ||
1414 | - ' 0 | ||
1415 | -for ac_signal in 1 2 13 15; do | ||
1416 | - trap 'ac_signal='$ac_signal'; { (exit 1); exit 1; }' $ac_signal | ||
1417 | -done | ||
1418 | -ac_signal=0 | ||
1419 | - | ||
1420 | -# confdefs.h avoids OS command line length limits that DEFS can exceed. | ||
1421 | -rm -rf conftest* confdefs.h | ||
1422 | -# AIX cpp loses on an empty file, so make sure it contains at least a newline. | ||
1423 | -echo >confdefs.h | ||
1424 | - | ||
1425 | -# Predefined preprocessor variables. | ||
1426 | - | ||
1427 | -cat >>confdefs.h <<_ACEOF | ||
1428 | -#define PACKAGE_NAME "$PACKAGE_NAME" | ||
1429 | -_ACEOF | ||
1430 | - | ||
1431 | - | ||
1432 | -cat >>confdefs.h <<_ACEOF | ||
1433 | -#define PACKAGE_TARNAME "$PACKAGE_TARNAME" | ||
1434 | -_ACEOF | ||
1435 | - | ||
1436 | - | ||
1437 | -cat >>confdefs.h <<_ACEOF | ||
1438 | -#define PACKAGE_VERSION "$PACKAGE_VERSION" | ||
1439 | -_ACEOF | ||
1440 | - | ||
1441 | - | ||
1442 | -cat >>confdefs.h <<_ACEOF | ||
1443 | -#define PACKAGE_STRING "$PACKAGE_STRING" | ||
1444 | -_ACEOF | ||
1445 | - | ||
1446 | - | ||
1447 | -cat >>confdefs.h <<_ACEOF | ||
1448 | -#define PACKAGE_BUGREPORT "$PACKAGE_BUGREPORT" | ||
1449 | -_ACEOF | ||
1450 | - | ||
1451 | - | ||
1452 | -# Let the site file select an alternate cache file if it wants to. | ||
1453 | # Prefer explicitly selected file to automatically selected ones. | ||
1454 | if test -z "$CONFIG_SITE"; then | ||
1455 | if test "x$prefix" != xNONE; then | ||
1456 | @@ -1171,106 +498,42 @@ | ||
1457 | fi | ||
1458 | for ac_site_file in $CONFIG_SITE; do | ||
1459 | if test -r "$ac_site_file"; then | ||
1460 | - { echo "$as_me:$LINENO: loading site script $ac_site_file" >&5 | ||
1461 | -echo "$as_me: loading site script $ac_site_file" >&6;} | ||
1462 | - sed 's/^/| /' "$ac_site_file" >&5 | ||
1463 | + echo "loading site script $ac_site_file" | ||
1464 | . "$ac_site_file" | ||
1465 | fi | ||
1466 | done | ||
1467 | |||
1468 | if test -r "$cache_file"; then | ||
1469 | - # Some versions of bash will fail to source /dev/null (special | ||
1470 | - # files actually), so we avoid doing that. | ||
1471 | - if test -f "$cache_file"; then | ||
1472 | - { echo "$as_me:$LINENO: loading cache $cache_file" >&5 | ||
1473 | -echo "$as_me: loading cache $cache_file" >&6;} | ||
1474 | - case $cache_file in | ||
1475 | - [\\/]* | ?:[\\/]* ) . $cache_file;; | ||
1476 | - *) . ./$cache_file;; | ||
1477 | - esac | ||
1478 | - fi | ||
1479 | + echo "loading cache $cache_file" | ||
1480 | + . $cache_file | ||
1481 | else | ||
1482 | - { echo "$as_me:$LINENO: creating cache $cache_file" >&5 | ||
1483 | -echo "$as_me: creating cache $cache_file" >&6;} | ||
1484 | - >$cache_file | ||
1485 | + echo "creating cache $cache_file" | ||
1486 | + > $cache_file | ||
1487 | fi | ||
1488 | |||
1489 | -# Check that the precious variables saved in the cache have kept the same | ||
1490 | -# value. | ||
1491 | -ac_cache_corrupted=false | ||
1492 | -for ac_var in `(set) 2>&1 | | ||
1493 | - sed -n 's/^ac_env_\([a-zA-Z_0-9]*\)_set=.*/\1/p'`; do | ||
1494 | - eval ac_old_set=\$ac_cv_env_${ac_var}_set | ||
1495 | - eval ac_new_set=\$ac_env_${ac_var}_set | ||
1496 | - eval ac_old_val="\$ac_cv_env_${ac_var}_value" | ||
1497 | - eval ac_new_val="\$ac_env_${ac_var}_value" | ||
1498 | - case $ac_old_set,$ac_new_set in | ||
1499 | - set,) | ||
1500 | - { echo "$as_me:$LINENO: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5 | ||
1501 | -echo "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;} | ||
1502 | - ac_cache_corrupted=: ;; | ||
1503 | - ,set) | ||
1504 | - { echo "$as_me:$LINENO: error: \`$ac_var' was not set in the previous run" >&5 | ||
1505 | -echo "$as_me: error: \`$ac_var' was not set in the previous run" >&2;} | ||
1506 | - ac_cache_corrupted=: ;; | ||
1507 | - ,);; | ||
1508 | - *) | ||
1509 | - if test "x$ac_old_val" != "x$ac_new_val"; then | ||
1510 | - { echo "$as_me:$LINENO: error: \`$ac_var' has changed since the previous run:" >&5 | ||
1511 | -echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;} | ||
1512 | - { echo "$as_me:$LINENO: former value: $ac_old_val" >&5 | ||
1513 | -echo "$as_me: former value: $ac_old_val" >&2;} | ||
1514 | - { echo "$as_me:$LINENO: current value: $ac_new_val" >&5 | ||
1515 | -echo "$as_me: current value: $ac_new_val" >&2;} | ||
1516 | - ac_cache_corrupted=: | ||
1517 | - fi;; | ||
1518 | - esac | ||
1519 | - # Pass precious variables to config.status. | ||
1520 | - if test "$ac_new_set" = set; then | ||
1521 | - case $ac_new_val in | ||
1522 | - *" "*|*" "*|*[\[\]\~\#\$\^\&\*\(\)\{\}\\\|\;\<\>\?\"\']*) | ||
1523 | - ac_arg=$ac_var=`echo "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;; | ||
1524 | - *) ac_arg=$ac_var=$ac_new_val ;; | ||
1525 | - esac | ||
1526 | - case " $ac_configure_args " in | ||
1527 | - *" '$ac_arg' "*) ;; # Avoid dups. Use of quotes ensures accuracy. | ||
1528 | - *) ac_configure_args="$ac_configure_args '$ac_arg'" ;; | ||
1529 | - esac | ||
1530 | - fi | ||
1531 | -done | ||
1532 | -if $ac_cache_corrupted; then | ||
1533 | - { echo "$as_me:$LINENO: error: changes in the environment can compromise the build" >&5 | ||
1534 | -echo "$as_me: error: changes in the environment can compromise the build" >&2;} | ||
1535 | - { { echo "$as_me:$LINENO: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&5 | ||
1536 | -echo "$as_me: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&2;} | ||
1537 | - { (exit 1); exit 1; }; } | ||
1538 | -fi | ||
1539 | - | ||
1540 | ac_ext=c | ||
1541 | +# CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options. | ||
1542 | ac_cpp='$CPP $CPPFLAGS' | ||
1543 | -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' | ||
1544 | -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' | ||
1545 | -ac_compiler_gnu=$ac_cv_c_compiler_gnu | ||
1546 | +ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.$ac_ext 1>&5' | ||
1547 | +ac_link='${CC-cc} -o conftest${ac_exeext} $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5' | ||
1548 | +cross_compiling=$ac_cv_prog_cc_cross | ||
1549 | |||
1550 | +ac_exeext= | ||
1551 | +ac_objext=o | ||
1552 | +if (echo "testing\c"; echo 1,2,3) | grep c >/dev/null; then | ||
1553 | + # Stardent Vistra SVR4 grep lacks -e, says ghazi@caip.rutgers.edu. | ||
1554 | + if (echo -n testing; echo 1,2,3) | sed s/-n/xn/ | grep xn >/dev/null; then | ||
1555 | + ac_n= ac_c=' | ||
1556 | +' ac_t=' ' | ||
1557 | + else | ||
1558 | + ac_n=-n ac_c= ac_t= | ||
1559 | + fi | ||
1560 | +else | ||
1561 | + ac_n= ac_c='\c' ac_t= | ||
1562 | +fi | ||
1563 | |||
1564 | |||
1565 | |||
1566 | - | ||
1567 | - | ||
1568 | - | ||
1569 | - | ||
1570 | - | ||
1571 | - | ||
1572 | - | ||
1573 | - | ||
1574 | - | ||
1575 | - | ||
1576 | - | ||
1577 | - | ||
1578 | - | ||
1579 | - | ||
1580 | - | ||
1581 | - | ||
1582 | ac_aux_dir= | ||
1583 | for ac_dir in $srcdir $srcdir/.. $srcdir/../..; do | ||
1584 | if test -f $ac_dir/install-sh; then | ||
1585 | @@ -1281,740 +544,312 @@ | ||
1586 | ac_aux_dir=$ac_dir | ||
1587 | ac_install_sh="$ac_aux_dir/install.sh -c" | ||
1588 | break | ||
1589 | - elif test -f $ac_dir/shtool; then | ||
1590 | - ac_aux_dir=$ac_dir | ||
1591 | - ac_install_sh="$ac_aux_dir/shtool install -c" | ||
1592 | - break | ||
1593 | fi | ||
1594 | done | ||
1595 | if test -z "$ac_aux_dir"; then | ||
1596 | - { { echo "$as_me:$LINENO: error: cannot find install-sh or install.sh in $srcdir $srcdir/.. $srcdir/../.." >&5 | ||
1597 | -echo "$as_me: error: cannot find install-sh or install.sh in $srcdir $srcdir/.. $srcdir/../.." >&2;} | ||
1598 | - { (exit 1); exit 1; }; } | ||
1599 | + { echo "configure: error: can not find install-sh or install.sh in $srcdir $srcdir/.. $srcdir/../.." 1>&2; exit 1; } | ||
1600 | fi | ||
1601 | -ac_config_guess="$SHELL $ac_aux_dir/config.guess" | ||
1602 | -ac_config_sub="$SHELL $ac_aux_dir/config.sub" | ||
1603 | -ac_configure="$SHELL $ac_aux_dir/configure" # This should be Cygnus configure. | ||
1604 | +ac_config_guess=$ac_aux_dir/config.guess | ||
1605 | +ac_config_sub=$ac_aux_dir/config.sub | ||
1606 | +ac_configure=$ac_aux_dir/configure # This should be Cygnus configure. | ||
1607 | |||
1608 | -# Make sure we can run config.sub. | ||
1609 | -$ac_config_sub sun4 >/dev/null 2>&1 || | ||
1610 | - { { echo "$as_me:$LINENO: error: cannot run $ac_config_sub" >&5 | ||
1611 | -echo "$as_me: error: cannot run $ac_config_sub" >&2;} | ||
1612 | - { (exit 1); exit 1; }; } | ||
1613 | |||
1614 | -echo "$as_me:$LINENO: checking build system type" >&5 | ||
1615 | -echo $ECHO_N "checking build system type... $ECHO_C" >&6 | ||
1616 | -if test "${ac_cv_build+set}" = set; then | ||
1617 | - echo $ECHO_N "(cached) $ECHO_C" >&6 | ||
1618 | -else | ||
1619 | - ac_cv_build_alias=$build_alias | ||
1620 | -test -z "$ac_cv_build_alias" && | ||
1621 | - ac_cv_build_alias=`$ac_config_guess` | ||
1622 | -test -z "$ac_cv_build_alias" && | ||
1623 | - { { echo "$as_me:$LINENO: error: cannot guess build type; you must specify one" >&5 | ||
1624 | -echo "$as_me: error: cannot guess build type; you must specify one" >&2;} | ||
1625 | - { (exit 1); exit 1; }; } | ||
1626 | -ac_cv_build=`$ac_config_sub $ac_cv_build_alias` || | ||
1627 | - { { echo "$as_me:$LINENO: error: $ac_config_sub $ac_cv_build_alias failed" >&5 | ||
1628 | -echo "$as_me: error: $ac_config_sub $ac_cv_build_alias failed" >&2;} | ||
1629 | - { (exit 1); exit 1; }; } | ||
1630 | +# Do some error checking and defaulting for the host and target type. | ||
1631 | +# The inputs are: | ||
1632 | +# configure --host=HOST --target=TARGET --build=BUILD NONOPT | ||
1633 | +# | ||
1634 | +# The rules are: | ||
1635 | +# 1. You are not allowed to specify --host, --target, and nonopt at the | ||
1636 | +# same time. | ||
1637 | +# 2. Host defaults to nonopt. | ||
1638 | +# 3. If nonopt is not specified, then host defaults to the current host, | ||
1639 | +# as determined by config.guess. | ||
1640 | +# 4. Target and build default to nonopt. | ||
1641 | +# 5. If nonopt is not specified, then target and build default to host. | ||
1642 | |||
1643 | +# The aliases save the names the user supplied, while $host etc. | ||
1644 | +# will get canonicalized. | ||
1645 | +case $host---$target---$nonopt in | ||
1646 | +NONE---*---* | *---NONE---* | *---*---NONE) ;; | ||
1647 | +*) { echo "configure: error: can only configure for one host and one target at a time" 1>&2; exit 1; } ;; | ||
1648 | +esac | ||
1649 | + | ||
1650 | + | ||
1651 | +# Make sure we can run config.sub. | ||
1652 | +if ${CONFIG_SHELL-/bin/sh} $ac_config_sub sun4 >/dev/null 2>&1; then : | ||
1653 | +else { echo "configure: error: can not run $ac_config_sub" 1>&2; exit 1; } | ||
1654 | fi | ||
1655 | -echo "$as_me:$LINENO: result: $ac_cv_build" >&5 | ||
1656 | -echo "${ECHO_T}$ac_cv_build" >&6 | ||
1657 | -build=$ac_cv_build | ||
1658 | -build_cpu=`echo $ac_cv_build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'` | ||
1659 | -build_vendor=`echo $ac_cv_build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'` | ||
1660 | -build_os=`echo $ac_cv_build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'` | ||
1661 | |||
1662 | +echo $ac_n "checking host system type""... $ac_c" 1>&6 | ||
1663 | +echo "configure:585: checking host system type" >&5 | ||
1664 | |||
1665 | -echo "$as_me:$LINENO: checking host system type" >&5 | ||
1666 | -echo $ECHO_N "checking host system type... $ECHO_C" >&6 | ||
1667 | -if test "${ac_cv_host+set}" = set; then | ||
1668 | - echo $ECHO_N "(cached) $ECHO_C" >&6 | ||
1669 | -else | ||
1670 | - ac_cv_host_alias=$host_alias | ||
1671 | -test -z "$ac_cv_host_alias" && | ||
1672 | - ac_cv_host_alias=$ac_cv_build_alias | ||
1673 | -ac_cv_host=`$ac_config_sub $ac_cv_host_alias` || | ||
1674 | - { { echo "$as_me:$LINENO: error: $ac_config_sub $ac_cv_host_alias failed" >&5 | ||
1675 | -echo "$as_me: error: $ac_config_sub $ac_cv_host_alias failed" >&2;} | ||
1676 | - { (exit 1); exit 1; }; } | ||
1677 | +host_alias=$host | ||
1678 | +case "$host_alias" in | ||
1679 | +NONE) | ||
1680 | + case $nonopt in | ||
1681 | + NONE) | ||
1682 | + if host_alias=`${CONFIG_SHELL-/bin/sh} $ac_config_guess`; then : | ||
1683 | + else { echo "configure: error: can not guess host type; you must specify one" 1>&2; exit 1; } | ||
1684 | + fi ;; | ||
1685 | + *) host_alias=$nonopt ;; | ||
1686 | + esac ;; | ||
1687 | +esac | ||
1688 | |||
1689 | -fi | ||
1690 | -echo "$as_me:$LINENO: result: $ac_cv_host" >&5 | ||
1691 | -echo "${ECHO_T}$ac_cv_host" >&6 | ||
1692 | -host=$ac_cv_host | ||
1693 | -host_cpu=`echo $ac_cv_host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'` | ||
1694 | -host_vendor=`echo $ac_cv_host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'` | ||
1695 | -host_os=`echo $ac_cv_host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'` | ||
1696 | +host=`${CONFIG_SHELL-/bin/sh} $ac_config_sub $host_alias` | ||
1697 | +host_cpu=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'` | ||
1698 | +host_vendor=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'` | ||
1699 | +host_os=`echo $host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'` | ||
1700 | +echo "$ac_t""$host" 1>&6 | ||
1701 | |||
1702 | +echo $ac_n "checking target system type""... $ac_c" 1>&6 | ||
1703 | +echo "configure:606: checking target system type" >&5 | ||
1704 | |||
1705 | -echo "$as_me:$LINENO: checking target system type" >&5 | ||
1706 | -echo $ECHO_N "checking target system type... $ECHO_C" >&6 | ||
1707 | -if test "${ac_cv_target+set}" = set; then | ||
1708 | - echo $ECHO_N "(cached) $ECHO_C" >&6 | ||
1709 | -else | ||
1710 | - ac_cv_target_alias=$target_alias | ||
1711 | -test "x$ac_cv_target_alias" = "x" && | ||
1712 | - ac_cv_target_alias=$ac_cv_host_alias | ||
1713 | -ac_cv_target=`$ac_config_sub $ac_cv_target_alias` || | ||
1714 | - { { echo "$as_me:$LINENO: error: $ac_config_sub $ac_cv_target_alias failed" >&5 | ||
1715 | -echo "$as_me: error: $ac_config_sub $ac_cv_target_alias failed" >&2;} | ||
1716 | - { (exit 1); exit 1; }; } | ||
1717 | +target_alias=$target | ||
1718 | +case "$target_alias" in | ||
1719 | +NONE) | ||
1720 | + case $nonopt in | ||
1721 | + NONE) target_alias=$host_alias ;; | ||
1722 | + *) target_alias=$nonopt ;; | ||
1723 | + esac ;; | ||
1724 | +esac | ||
1725 | |||
1726 | -fi | ||
1727 | -echo "$as_me:$LINENO: result: $ac_cv_target" >&5 | ||
1728 | -echo "${ECHO_T}$ac_cv_target" >&6 | ||
1729 | -target=$ac_cv_target | ||
1730 | -target_cpu=`echo $ac_cv_target | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'` | ||
1731 | -target_vendor=`echo $ac_cv_target | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'` | ||
1732 | -target_os=`echo $ac_cv_target | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'` | ||
1733 | +target=`${CONFIG_SHELL-/bin/sh} $ac_config_sub $target_alias` | ||
1734 | +target_cpu=`echo $target | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'` | ||
1735 | +target_vendor=`echo $target | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'` | ||
1736 | +target_os=`echo $target | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'` | ||
1737 | +echo "$ac_t""$target" 1>&6 | ||
1738 | |||
1739 | +echo $ac_n "checking build system type""... $ac_c" 1>&6 | ||
1740 | +echo "configure:624: checking build system type" >&5 | ||
1741 | |||
1742 | -# The aliases save the names the user supplied, while $host etc. | ||
1743 | -# will get canonicalized. | ||
1744 | -test -n "$target_alias" && | ||
1745 | +build_alias=$build | ||
1746 | +case "$build_alias" in | ||
1747 | +NONE) | ||
1748 | + case $nonopt in | ||
1749 | + NONE) build_alias=$host_alias ;; | ||
1750 | + *) build_alias=$nonopt ;; | ||
1751 | + esac ;; | ||
1752 | +esac | ||
1753 | + | ||
1754 | +build=`${CONFIG_SHELL-/bin/sh} $ac_config_sub $build_alias` | ||
1755 | +build_cpu=`echo $build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'` | ||
1756 | +build_vendor=`echo $build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'` | ||
1757 | +build_os=`echo $build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'` | ||
1758 | +echo "$ac_t""$build" 1>&6 | ||
1759 | + | ||
1760 | +test "$host_alias" != "$target_alias" && | ||
1761 | test "$program_prefix$program_suffix$program_transform_name" = \ | ||
1762 | NONENONEs,x,x, && | ||
1763 | program_prefix=${target_alias}- | ||
1764 | -ac_ext=c | ||
1765 | -ac_cpp='$CPP $CPPFLAGS' | ||
1766 | -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' | ||
1767 | -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' | ||
1768 | -ac_compiler_gnu=$ac_cv_c_compiler_gnu | ||
1769 | -if test -n "$ac_tool_prefix"; then | ||
1770 | - # Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args. | ||
1771 | -set dummy ${ac_tool_prefix}gcc; ac_word=$2 | ||
1772 | -echo "$as_me:$LINENO: checking for $ac_word" >&5 | ||
1773 | -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 | ||
1774 | -if test "${ac_cv_prog_CC+set}" = set; then | ||
1775 | - echo $ECHO_N "(cached) $ECHO_C" >&6 | ||
1776 | -else | ||
1777 | - if test -n "$CC"; then | ||
1778 | - ac_cv_prog_CC="$CC" # Let the user override the test. | ||
1779 | -else | ||
1780 | -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR | ||
1781 | -for as_dir in $PATH | ||
1782 | -do | ||
1783 | - IFS=$as_save_IFS | ||
1784 | - test -z "$as_dir" && as_dir=. | ||
1785 | - for ac_exec_ext in '' $ac_executable_extensions; do | ||
1786 | - if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then | ||
1787 | - ac_cv_prog_CC="${ac_tool_prefix}gcc" | ||
1788 | - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 | ||
1789 | - break 2 | ||
1790 | - fi | ||
1791 | -done | ||
1792 | -done | ||
1793 | |||
1794 | -fi | ||
1795 | -fi | ||
1796 | -CC=$ac_cv_prog_CC | ||
1797 | -if test -n "$CC"; then | ||
1798 | - echo "$as_me:$LINENO: result: $CC" >&5 | ||
1799 | -echo "${ECHO_T}$CC" >&6 | ||
1800 | -else | ||
1801 | - echo "$as_me:$LINENO: result: no" >&5 | ||
1802 | -echo "${ECHO_T}no" >&6 | ||
1803 | -fi | ||
1804 | - | ||
1805 | -fi | ||
1806 | -if test -z "$ac_cv_prog_CC"; then | ||
1807 | - ac_ct_CC=$CC | ||
1808 | - # Extract the first word of "gcc", so it can be a program name with args. | ||
1809 | +# Extract the first word of "gcc", so it can be a program name with args. | ||
1810 | set dummy gcc; ac_word=$2 | ||
1811 | -echo "$as_me:$LINENO: checking for $ac_word" >&5 | ||
1812 | -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 | ||
1813 | -if test "${ac_cv_prog_ac_ct_CC+set}" = set; then | ||
1814 | - echo $ECHO_N "(cached) $ECHO_C" >&6 | ||
1815 | +echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 | ||
1816 | +echo "configure:649: checking for $ac_word" >&5 | ||
1817 | +if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then | ||
1818 | + echo $ac_n "(cached) $ac_c" 1>&6 | ||
1819 | else | ||
1820 | - if test -n "$ac_ct_CC"; then | ||
1821 | - ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. | ||
1822 | -else | ||
1823 | -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR | ||
1824 | -for as_dir in $PATH | ||
1825 | -do | ||
1826 | - IFS=$as_save_IFS | ||
1827 | - test -z "$as_dir" && as_dir=. | ||
1828 | - for ac_exec_ext in '' $ac_executable_extensions; do | ||
1829 | - if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then | ||
1830 | - ac_cv_prog_ac_ct_CC="gcc" | ||
1831 | - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 | ||
1832 | - break 2 | ||
1833 | - fi | ||
1834 | -done | ||
1835 | -done | ||
1836 | - | ||
1837 | -fi | ||
1838 | -fi | ||
1839 | -ac_ct_CC=$ac_cv_prog_ac_ct_CC | ||
1840 | -if test -n "$ac_ct_CC"; then | ||
1841 | - echo "$as_me:$LINENO: result: $ac_ct_CC" >&5 | ||
1842 | -echo "${ECHO_T}$ac_ct_CC" >&6 | ||
1843 | -else | ||
1844 | - echo "$as_me:$LINENO: result: no" >&5 | ||
1845 | -echo "${ECHO_T}no" >&6 | ||
1846 | -fi | ||
1847 | - | ||
1848 | - CC=$ac_ct_CC | ||
1849 | -else | ||
1850 | - CC="$ac_cv_prog_CC" | ||
1851 | -fi | ||
1852 | - | ||
1853 | -if test -z "$CC"; then | ||
1854 | - if test -n "$ac_tool_prefix"; then | ||
1855 | - # Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args. | ||
1856 | -set dummy ${ac_tool_prefix}cc; ac_word=$2 | ||
1857 | -echo "$as_me:$LINENO: checking for $ac_word" >&5 | ||
1858 | -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 | ||
1859 | -if test "${ac_cv_prog_CC+set}" = set; then | ||
1860 | - echo $ECHO_N "(cached) $ECHO_C" >&6 | ||
1861 | -else | ||
1862 | if test -n "$CC"; then | ||
1863 | ac_cv_prog_CC="$CC" # Let the user override the test. | ||
1864 | else | ||
1865 | -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR | ||
1866 | -for as_dir in $PATH | ||
1867 | -do | ||
1868 | - IFS=$as_save_IFS | ||
1869 | - test -z "$as_dir" && as_dir=. | ||
1870 | - for ac_exec_ext in '' $ac_executable_extensions; do | ||
1871 | - if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then | ||
1872 | - ac_cv_prog_CC="${ac_tool_prefix}cc" | ||
1873 | - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 | ||
1874 | - break 2 | ||
1875 | - fi | ||
1876 | -done | ||
1877 | -done | ||
1878 | - | ||
1879 | + IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":" | ||
1880 | + ac_dummy="$PATH" | ||
1881 | + for ac_dir in $ac_dummy; do | ||
1882 | + test -z "$ac_dir" && ac_dir=. | ||
1883 | + if test -f $ac_dir/$ac_word; then | ||
1884 | + ac_cv_prog_CC="gcc" | ||
1885 | + break | ||
1886 | + fi | ||
1887 | + done | ||
1888 | + IFS="$ac_save_ifs" | ||
1889 | fi | ||
1890 | fi | ||
1891 | -CC=$ac_cv_prog_CC | ||
1892 | +CC="$ac_cv_prog_CC" | ||
1893 | if test -n "$CC"; then | ||
1894 | - echo "$as_me:$LINENO: result: $CC" >&5 | ||
1895 | -echo "${ECHO_T}$CC" >&6 | ||
1896 | + echo "$ac_t""$CC" 1>&6 | ||
1897 | else | ||
1898 | - echo "$as_me:$LINENO: result: no" >&5 | ||
1899 | -echo "${ECHO_T}no" >&6 | ||
1900 | + echo "$ac_t""no" 1>&6 | ||
1901 | fi | ||
1902 | |||
1903 | -fi | ||
1904 | -if test -z "$ac_cv_prog_CC"; then | ||
1905 | - ac_ct_CC=$CC | ||
1906 | - # Extract the first word of "cc", so it can be a program name with args. | ||
1907 | -set dummy cc; ac_word=$2 | ||
1908 | -echo "$as_me:$LINENO: checking for $ac_word" >&5 | ||
1909 | -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 | ||
1910 | -if test "${ac_cv_prog_ac_ct_CC+set}" = set; then | ||
1911 | - echo $ECHO_N "(cached) $ECHO_C" >&6 | ||
1912 | -else | ||
1913 | - if test -n "$ac_ct_CC"; then | ||
1914 | - ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. | ||
1915 | -else | ||
1916 | -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR | ||
1917 | -for as_dir in $PATH | ||
1918 | -do | ||
1919 | - IFS=$as_save_IFS | ||
1920 | - test -z "$as_dir" && as_dir=. | ||
1921 | - for ac_exec_ext in '' $ac_executable_extensions; do | ||
1922 | - if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then | ||
1923 | - ac_cv_prog_ac_ct_CC="cc" | ||
1924 | - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 | ||
1925 | - break 2 | ||
1926 | - fi | ||
1927 | -done | ||
1928 | -done | ||
1929 | - | ||
1930 | -fi | ||
1931 | -fi | ||
1932 | -ac_ct_CC=$ac_cv_prog_ac_ct_CC | ||
1933 | -if test -n "$ac_ct_CC"; then | ||
1934 | - echo "$as_me:$LINENO: result: $ac_ct_CC" >&5 | ||
1935 | -echo "${ECHO_T}$ac_ct_CC" >&6 | ||
1936 | -else | ||
1937 | - echo "$as_me:$LINENO: result: no" >&5 | ||
1938 | -echo "${ECHO_T}no" >&6 | ||
1939 | -fi | ||
1940 | - | ||
1941 | - CC=$ac_ct_CC | ||
1942 | -else | ||
1943 | - CC="$ac_cv_prog_CC" | ||
1944 | -fi | ||
1945 | - | ||
1946 | -fi | ||
1947 | if test -z "$CC"; then | ||
1948 | # Extract the first word of "cc", so it can be a program name with args. | ||
1949 | set dummy cc; ac_word=$2 | ||
1950 | -echo "$as_me:$LINENO: checking for $ac_word" >&5 | ||
1951 | -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 | ||
1952 | -if test "${ac_cv_prog_CC+set}" = set; then | ||
1953 | - echo $ECHO_N "(cached) $ECHO_C" >&6 | ||
1954 | +echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 | ||
1955 | +echo "configure:679: checking for $ac_word" >&5 | ||
1956 | +if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then | ||
1957 | + echo $ac_n "(cached) $ac_c" 1>&6 | ||
1958 | else | ||
1959 | if test -n "$CC"; then | ||
1960 | ac_cv_prog_CC="$CC" # Let the user override the test. | ||
1961 | else | ||
1962 | + IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":" | ||
1963 | ac_prog_rejected=no | ||
1964 | -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR | ||
1965 | -for as_dir in $PATH | ||
1966 | -do | ||
1967 | - IFS=$as_save_IFS | ||
1968 | - test -z "$as_dir" && as_dir=. | ||
1969 | - for ac_exec_ext in '' $ac_executable_extensions; do | ||
1970 | - if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then | ||
1971 | - if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then | ||
1972 | - ac_prog_rejected=yes | ||
1973 | - continue | ||
1974 | - fi | ||
1975 | - ac_cv_prog_CC="cc" | ||
1976 | - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 | ||
1977 | - break 2 | ||
1978 | - fi | ||
1979 | -done | ||
1980 | -done | ||
1981 | - | ||
1982 | + ac_dummy="$PATH" | ||
1983 | + for ac_dir in $ac_dummy; do | ||
1984 | + test -z "$ac_dir" && ac_dir=. | ||
1985 | + if test -f $ac_dir/$ac_word; then | ||
1986 | + if test "$ac_dir/$ac_word" = "/usr/ucb/cc"; then | ||
1987 | + ac_prog_rejected=yes | ||
1988 | + continue | ||
1989 | + fi | ||
1990 | + ac_cv_prog_CC="cc" | ||
1991 | + break | ||
1992 | + fi | ||
1993 | + done | ||
1994 | + IFS="$ac_save_ifs" | ||
1995 | if test $ac_prog_rejected = yes; then | ||
1996 | # We found a bogon in the path, so make sure we never use it. | ||
1997 | set dummy $ac_cv_prog_CC | ||
1998 | shift | ||
1999 | - if test $# != 0; then | ||
2000 | + if test $# -gt 0; then | ||
2001 | # We chose a different compiler from the bogus one. | ||
2002 | # However, it has the same basename, so the bogon will be chosen | ||
2003 | # first if we set CC to just the basename; use the full file name. | ||
2004 | shift | ||
2005 | - ac_cv_prog_CC="$as_dir/$ac_word${1+' '}$@" | ||
2006 | + set dummy "$ac_dir/$ac_word" "$@" | ||
2007 | + shift | ||
2008 | + ac_cv_prog_CC="$@" | ||
2009 | fi | ||
2010 | fi | ||
2011 | fi | ||
2012 | fi | ||
2013 | -CC=$ac_cv_prog_CC | ||
2014 | +CC="$ac_cv_prog_CC" | ||
2015 | if test -n "$CC"; then | ||
2016 | - echo "$as_me:$LINENO: result: $CC" >&5 | ||
2017 | -echo "${ECHO_T}$CC" >&6 | ||
2018 | + echo "$ac_t""$CC" 1>&6 | ||
2019 | else | ||
2020 | - echo "$as_me:$LINENO: result: no" >&5 | ||
2021 | -echo "${ECHO_T}no" >&6 | ||
2022 | + echo "$ac_t""no" 1>&6 | ||
2023 | fi | ||
2024 | |||
2025 | -fi | ||
2026 | -if test -z "$CC"; then | ||
2027 | - if test -n "$ac_tool_prefix"; then | ||
2028 | - for ac_prog in cl | ||
2029 | - do | ||
2030 | - # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args. | ||
2031 | -set dummy $ac_tool_prefix$ac_prog; ac_word=$2 | ||
2032 | -echo "$as_me:$LINENO: checking for $ac_word" >&5 | ||
2033 | -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 | ||
2034 | -if test "${ac_cv_prog_CC+set}" = set; then | ||
2035 | - echo $ECHO_N "(cached) $ECHO_C" >&6 | ||
2036 | + if test -z "$CC"; then | ||
2037 | + case "`uname -s`" in | ||
2038 | + *win32* | *WIN32*) | ||
2039 | + # Extract the first word of "cl", so it can be a program name with args. | ||
2040 | +set dummy cl; ac_word=$2 | ||
2041 | +echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 | ||
2042 | +echo "configure:730: checking for $ac_word" >&5 | ||
2043 | +if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then | ||
2044 | + echo $ac_n "(cached) $ac_c" 1>&6 | ||
2045 | else | ||
2046 | if test -n "$CC"; then | ||
2047 | ac_cv_prog_CC="$CC" # Let the user override the test. | ||
2048 | else | ||
2049 | -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR | ||
2050 | -for as_dir in $PATH | ||
2051 | -do | ||
2052 | - IFS=$as_save_IFS | ||
2053 | - test -z "$as_dir" && as_dir=. | ||
2054 | - for ac_exec_ext in '' $ac_executable_extensions; do | ||
2055 | - if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then | ||
2056 | - ac_cv_prog_CC="$ac_tool_prefix$ac_prog" | ||
2057 | - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 | ||
2058 | - break 2 | ||
2059 | - fi | ||
2060 | -done | ||
2061 | -done | ||
2062 | - | ||
2063 | + IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":" | ||
2064 | + ac_dummy="$PATH" | ||
2065 | + for ac_dir in $ac_dummy; do | ||
2066 | + test -z "$ac_dir" && ac_dir=. | ||
2067 | + if test -f $ac_dir/$ac_word; then | ||
2068 | + ac_cv_prog_CC="cl" | ||
2069 | + break | ||
2070 | + fi | ||
2071 | + done | ||
2072 | + IFS="$ac_save_ifs" | ||
2073 | fi | ||
2074 | fi | ||
2075 | -CC=$ac_cv_prog_CC | ||
2076 | +CC="$ac_cv_prog_CC" | ||
2077 | if test -n "$CC"; then | ||
2078 | - echo "$as_me:$LINENO: result: $CC" >&5 | ||
2079 | -echo "${ECHO_T}$CC" >&6 | ||
2080 | + echo "$ac_t""$CC" 1>&6 | ||
2081 | else | ||
2082 | - echo "$as_me:$LINENO: result: no" >&5 | ||
2083 | -echo "${ECHO_T}no" >&6 | ||
2084 | + echo "$ac_t""no" 1>&6 | ||
2085 | fi | ||
2086 | - | ||
2087 | - test -n "$CC" && break | ||
2088 | - done | ||
2089 | -fi | ||
2090 | -if test -z "$CC"; then | ||
2091 | - ac_ct_CC=$CC | ||
2092 | - for ac_prog in cl | ||
2093 | -do | ||
2094 | - # Extract the first word of "$ac_prog", so it can be a program name with args. | ||
2095 | -set dummy $ac_prog; ac_word=$2 | ||
2096 | -echo "$as_me:$LINENO: checking for $ac_word" >&5 | ||
2097 | -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 | ||
2098 | -if test "${ac_cv_prog_ac_ct_CC+set}" = set; then | ||
2099 | - echo $ECHO_N "(cached) $ECHO_C" >&6 | ||
2100 | -else | ||
2101 | - if test -n "$ac_ct_CC"; then | ||
2102 | - ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test. | ||
2103 | -else | ||
2104 | -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR | ||
2105 | -for as_dir in $PATH | ||
2106 | -do | ||
2107 | - IFS=$as_save_IFS | ||
2108 | - test -z "$as_dir" && as_dir=. | ||
2109 | - for ac_exec_ext in '' $ac_executable_extensions; do | ||
2110 | - if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then | ||
2111 | - ac_cv_prog_ac_ct_CC="$ac_prog" | ||
2112 | - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 | ||
2113 | - break 2 | ||
2114 | + ;; | ||
2115 | + esac | ||
2116 | fi | ||
2117 | -done | ||
2118 | -done | ||
2119 | - | ||
2120 | + test -z "$CC" && { echo "configure: error: no acceptable cc found in \$PATH" 1>&2; exit 1; } | ||
2121 | fi | ||
2122 | -fi | ||
2123 | -ac_ct_CC=$ac_cv_prog_ac_ct_CC | ||
2124 | -if test -n "$ac_ct_CC"; then | ||
2125 | - echo "$as_me:$LINENO: result: $ac_ct_CC" >&5 | ||
2126 | -echo "${ECHO_T}$ac_ct_CC" >&6 | ||
2127 | -else | ||
2128 | - echo "$as_me:$LINENO: result: no" >&5 | ||
2129 | -echo "${ECHO_T}no" >&6 | ||
2130 | -fi | ||
2131 | |||
2132 | - test -n "$ac_ct_CC" && break | ||
2133 | -done | ||
2134 | +echo $ac_n "checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works""... $ac_c" 1>&6 | ||
2135 | +echo "configure:762: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works" >&5 | ||
2136 | |||
2137 | - CC=$ac_ct_CC | ||
2138 | -fi | ||
2139 | +ac_ext=c | ||
2140 | +# CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options. | ||
2141 | +ac_cpp='$CPP $CPPFLAGS' | ||
2142 | +ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.$ac_ext 1>&5' | ||
2143 | +ac_link='${CC-cc} -o conftest${ac_exeext} $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5' | ||
2144 | +cross_compiling=$ac_cv_prog_cc_cross | ||
2145 | |||
2146 | -fi | ||
2147 | +cat > conftest.$ac_ext << EOF | ||
2148 | |||
2149 | +#line 773 "configure" | ||
2150 | +#include "confdefs.h" | ||
2151 | |||
2152 | -test -z "$CC" && { { echo "$as_me:$LINENO: error: no acceptable C compiler found in \$PATH | ||
2153 | -See \`config.log' for more details." >&5 | ||
2154 | -echo "$as_me: error: no acceptable C compiler found in \$PATH | ||
2155 | -See \`config.log' for more details." >&2;} | ||
2156 | - { (exit 1); exit 1; }; } | ||
2157 | - | ||
2158 | -# Provide some information about the compiler. | ||
2159 | -echo "$as_me:$LINENO:" \ | ||
2160 | - "checking for C compiler version" >&5 | ||
2161 | -ac_compiler=`set X $ac_compile; echo $2` | ||
2162 | -{ (eval echo "$as_me:$LINENO: \"$ac_compiler --version </dev/null >&5\"") >&5 | ||
2163 | - (eval $ac_compiler --version </dev/null >&5) 2>&5 | ||
2164 | - ac_status=$? | ||
2165 | - echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
2166 | - (exit $ac_status); } | ||
2167 | -{ (eval echo "$as_me:$LINENO: \"$ac_compiler -v </dev/null >&5\"") >&5 | ||
2168 | - (eval $ac_compiler -v </dev/null >&5) 2>&5 | ||
2169 | - ac_status=$? | ||
2170 | - echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
2171 | - (exit $ac_status); } | ||
2172 | -{ (eval echo "$as_me:$LINENO: \"$ac_compiler -V </dev/null >&5\"") >&5 | ||
2173 | - (eval $ac_compiler -V </dev/null >&5) 2>&5 | ||
2174 | - ac_status=$? | ||
2175 | - echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
2176 | - (exit $ac_status); } | ||
2177 | - | ||
2178 | -cat >conftest.$ac_ext <<_ACEOF | ||
2179 | -#line $LINENO "configure" | ||
2180 | -/* confdefs.h. */ | ||
2181 | -_ACEOF | ||
2182 | -cat confdefs.h >>conftest.$ac_ext | ||
2183 | -cat >>conftest.$ac_ext <<_ACEOF | ||
2184 | -/* end confdefs.h. */ | ||
2185 | - | ||
2186 | -int | ||
2187 | -main () | ||
2188 | -{ | ||
2189 | - | ||
2190 | - ; | ||
2191 | - return 0; | ||
2192 | -} | ||
2193 | -_ACEOF | ||
2194 | -ac_clean_files_save=$ac_clean_files | ||
2195 | -ac_clean_files="$ac_clean_files a.out a.exe b.out" | ||
2196 | -# Try to create an executable without -o first, disregard a.out. | ||
2197 | -# It will help us diagnose broken compilers, and finding out an intuition | ||
2198 | -# of exeext. | ||
2199 | -echo "$as_me:$LINENO: checking for C compiler default output" >&5 | ||
2200 | -echo $ECHO_N "checking for C compiler default output... $ECHO_C" >&6 | ||
2201 | -ac_link_default=`echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'` | ||
2202 | -if { (eval echo "$as_me:$LINENO: \"$ac_link_default\"") >&5 | ||
2203 | - (eval $ac_link_default) 2>&5 | ||
2204 | - ac_status=$? | ||
2205 | - echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
2206 | - (exit $ac_status); }; then | ||
2207 | - # Find the output, starting from the most likely. This scheme is | ||
2208 | -# not robust to junk in `.', hence go to wildcards (a.*) only as a last | ||
2209 | -# resort. | ||
2210 | - | ||
2211 | -# Be careful to initialize this variable, since it used to be cached. | ||
2212 | -# Otherwise an old cache value of `no' led to `EXEEXT = no' in a Makefile. | ||
2213 | -ac_cv_exeext= | ||
2214 | -# b.out is created by i960 compilers. | ||
2215 | -for ac_file in a_out.exe a.exe conftest.exe a.out conftest a.* conftest.* b.out | ||
2216 | -do | ||
2217 | - test -f "$ac_file" || continue | ||
2218 | - case $ac_file in | ||
2219 | - *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.o | *.obj ) | ||
2220 | - ;; | ||
2221 | - conftest.$ac_ext ) | ||
2222 | - # This is the source file. | ||
2223 | - ;; | ||
2224 | - [ab].out ) | ||
2225 | - # We found the default executable, but exeext='' is most | ||
2226 | - # certainly right. | ||
2227 | - break;; | ||
2228 | - *.* ) | ||
2229 | - ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` | ||
2230 | - # FIXME: I believe we export ac_cv_exeext for Libtool, | ||
2231 | - # but it would be cool to find out if it's true. Does anybody | ||
2232 | - # maintain Libtool? --akim. | ||
2233 | - export ac_cv_exeext | ||
2234 | - break;; | ||
2235 | - * ) | ||
2236 | - break;; | ||
2237 | - esac | ||
2238 | -done | ||
2239 | -else | ||
2240 | - echo "$as_me: failed program was:" >&5 | ||
2241 | -sed 's/^/| /' conftest.$ac_ext >&5 | ||
2242 | - | ||
2243 | -{ { echo "$as_me:$LINENO: error: C compiler cannot create executables | ||
2244 | -See \`config.log' for more details." >&5 | ||
2245 | -echo "$as_me: error: C compiler cannot create executables | ||
2246 | -See \`config.log' for more details." >&2;} | ||
2247 | - { (exit 77); exit 77; }; } | ||
2248 | -fi | ||
2249 | - | ||
2250 | -ac_exeext=$ac_cv_exeext | ||
2251 | -echo "$as_me:$LINENO: result: $ac_file" >&5 | ||
2252 | -echo "${ECHO_T}$ac_file" >&6 | ||
2253 | - | ||
2254 | -# Check the compiler produces executables we can run. If not, either | ||
2255 | -# the compiler is broken, or we cross compile. | ||
2256 | -echo "$as_me:$LINENO: checking whether the C compiler works" >&5 | ||
2257 | -echo $ECHO_N "checking whether the C compiler works... $ECHO_C" >&6 | ||
2258 | -# FIXME: These cross compiler hacks should be removed for Autoconf 3.0 | ||
2259 | -# If not cross compiling, check that we can run a simple program. | ||
2260 | -if test "$cross_compiling" != yes; then | ||
2261 | - if { ac_try='./$ac_file' | ||
2262 | - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | ||
2263 | - (eval $ac_try) 2>&5 | ||
2264 | - ac_status=$? | ||
2265 | - echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
2266 | - (exit $ac_status); }; }; then | ||
2267 | - cross_compiling=no | ||
2268 | +main(){return(0);} | ||
2269 | +EOF | ||
2270 | +if { (eval echo configure:778: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then | ||
2271 | + ac_cv_prog_cc_works=yes | ||
2272 | + # If we can't run a trivial program, we are probably using a cross compiler. | ||
2273 | + if (./conftest; exit) 2>/dev/null; then | ||
2274 | + ac_cv_prog_cc_cross=no | ||
2275 | else | ||
2276 | - if test "$cross_compiling" = maybe; then | ||
2277 | - cross_compiling=yes | ||
2278 | - else | ||
2279 | - { { echo "$as_me:$LINENO: error: cannot run C compiled programs. | ||
2280 | -If you meant to cross compile, use \`--host'. | ||
2281 | -See \`config.log' for more details." >&5 | ||
2282 | -echo "$as_me: error: cannot run C compiled programs. | ||
2283 | -If you meant to cross compile, use \`--host'. | ||
2284 | -See \`config.log' for more details." >&2;} | ||
2285 | - { (exit 1); exit 1; }; } | ||
2286 | - fi | ||
2287 | + ac_cv_prog_cc_cross=yes | ||
2288 | fi | ||
2289 | +else | ||
2290 | + echo "configure: failed program was:" >&5 | ||
2291 | + cat conftest.$ac_ext >&5 | ||
2292 | + ac_cv_prog_cc_works=no | ||
2293 | fi | ||
2294 | -echo "$as_me:$LINENO: result: yes" >&5 | ||
2295 | -echo "${ECHO_T}yes" >&6 | ||
2296 | +rm -fr conftest* | ||
2297 | +ac_ext=c | ||
2298 | +# CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options. | ||
2299 | +ac_cpp='$CPP $CPPFLAGS' | ||
2300 | +ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.$ac_ext 1>&5' | ||
2301 | +ac_link='${CC-cc} -o conftest${ac_exeext} $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5' | ||
2302 | +cross_compiling=$ac_cv_prog_cc_cross | ||
2303 | |||
2304 | -rm -f a.out a.exe conftest$ac_cv_exeext b.out | ||
2305 | -ac_clean_files=$ac_clean_files_save | ||
2306 | -# Check the compiler produces executables we can run. If not, either | ||
2307 | -# the compiler is broken, or we cross compile. | ||
2308 | -echo "$as_me:$LINENO: checking whether we are cross compiling" >&5 | ||
2309 | -echo $ECHO_N "checking whether we are cross compiling... $ECHO_C" >&6 | ||
2310 | -echo "$as_me:$LINENO: result: $cross_compiling" >&5 | ||
2311 | -echo "${ECHO_T}$cross_compiling" >&6 | ||
2312 | - | ||
2313 | -echo "$as_me:$LINENO: checking for suffix of executables" >&5 | ||
2314 | -echo $ECHO_N "checking for suffix of executables... $ECHO_C" >&6 | ||
2315 | -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 | ||
2316 | - (eval $ac_link) 2>&5 | ||
2317 | - ac_status=$? | ||
2318 | - echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
2319 | - (exit $ac_status); }; then | ||
2320 | - # If both `conftest.exe' and `conftest' are `present' (well, observable) | ||
2321 | -# catch `conftest.exe'. For instance with Cygwin, `ls conftest' will | ||
2322 | -# work properly (i.e., refer to `conftest.exe'), while it won't with | ||
2323 | -# `rm'. | ||
2324 | -for ac_file in conftest.exe conftest conftest.*; do | ||
2325 | - test -f "$ac_file" || continue | ||
2326 | - case $ac_file in | ||
2327 | - *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.o | *.obj ) ;; | ||
2328 | - *.* ) ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'` | ||
2329 | - export ac_cv_exeext | ||
2330 | - break;; | ||
2331 | - * ) break;; | ||
2332 | - esac | ||
2333 | -done | ||
2334 | -else | ||
2335 | - { { echo "$as_me:$LINENO: error: cannot compute suffix of executables: cannot compile and link | ||
2336 | -See \`config.log' for more details." >&5 | ||
2337 | -echo "$as_me: error: cannot compute suffix of executables: cannot compile and link | ||
2338 | -See \`config.log' for more details." >&2;} | ||
2339 | - { (exit 1); exit 1; }; } | ||
2340 | +echo "$ac_t""$ac_cv_prog_cc_works" 1>&6 | ||
2341 | +if test $ac_cv_prog_cc_works = no; then | ||
2342 | + { echo "configure: error: installation or configuration problem: C compiler cannot create executables." 1>&2; exit 1; } | ||
2343 | fi | ||
2344 | +echo $ac_n "checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler""... $ac_c" 1>&6 | ||
2345 | +echo "configure:804: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler" >&5 | ||
2346 | +echo "$ac_t""$ac_cv_prog_cc_cross" 1>&6 | ||
2347 | +cross_compiling=$ac_cv_prog_cc_cross | ||
2348 | |||
2349 | -rm -f conftest$ac_cv_exeext | ||
2350 | -echo "$as_me:$LINENO: result: $ac_cv_exeext" >&5 | ||
2351 | -echo "${ECHO_T}$ac_cv_exeext" >&6 | ||
2352 | - | ||
2353 | -rm -f conftest.$ac_ext | ||
2354 | -EXEEXT=$ac_cv_exeext | ||
2355 | -ac_exeext=$EXEEXT | ||
2356 | -echo "$as_me:$LINENO: checking for suffix of object files" >&5 | ||
2357 | -echo $ECHO_N "checking for suffix of object files... $ECHO_C" >&6 | ||
2358 | -if test "${ac_cv_objext+set}" = set; then | ||
2359 | - echo $ECHO_N "(cached) $ECHO_C" >&6 | ||
2360 | +echo $ac_n "checking whether we are using GNU C""... $ac_c" 1>&6 | ||
2361 | +echo "configure:809: checking whether we are using GNU C" >&5 | ||
2362 | +if eval "test \"`echo '$''{'ac_cv_prog_gcc'+set}'`\" = set"; then | ||
2363 | + echo $ac_n "(cached) $ac_c" 1>&6 | ||
2364 | else | ||
2365 | - cat >conftest.$ac_ext <<_ACEOF | ||
2366 | -#line $LINENO "configure" | ||
2367 | -/* confdefs.h. */ | ||
2368 | -_ACEOF | ||
2369 | -cat confdefs.h >>conftest.$ac_ext | ||
2370 | -cat >>conftest.$ac_ext <<_ACEOF | ||
2371 | -/* end confdefs.h. */ | ||
2372 | - | ||
2373 | -int | ||
2374 | -main () | ||
2375 | -{ | ||
2376 | - | ||
2377 | - ; | ||
2378 | - return 0; | ||
2379 | -} | ||
2380 | -_ACEOF | ||
2381 | -rm -f conftest.o conftest.obj | ||
2382 | -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 | ||
2383 | - (eval $ac_compile) 2>&5 | ||
2384 | - ac_status=$? | ||
2385 | - echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
2386 | - (exit $ac_status); }; then | ||
2387 | - for ac_file in `(ls conftest.o conftest.obj; ls conftest.*) 2>/dev/null`; do | ||
2388 | - case $ac_file in | ||
2389 | - *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg ) ;; | ||
2390 | - *) ac_cv_objext=`expr "$ac_file" : '.*\.\(.*\)'` | ||
2391 | - break;; | ||
2392 | - esac | ||
2393 | -done | ||
2394 | + cat > conftest.c <<EOF | ||
2395 | +#ifdef __GNUC__ | ||
2396 | + yes; | ||
2397 | +#endif | ||
2398 | +EOF | ||
2399 | +if { ac_try='${CC-cc} -E conftest.c'; { (eval echo configure:818: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then | ||
2400 | + ac_cv_prog_gcc=yes | ||
2401 | else | ||
2402 | - echo "$as_me: failed program was:" >&5 | ||
2403 | -sed 's/^/| /' conftest.$ac_ext >&5 | ||
2404 | - | ||
2405 | -{ { echo "$as_me:$LINENO: error: cannot compute suffix of object files: cannot compile | ||
2406 | -See \`config.log' for more details." >&5 | ||
2407 | -echo "$as_me: error: cannot compute suffix of object files: cannot compile | ||
2408 | -See \`config.log' for more details." >&2;} | ||
2409 | - { (exit 1); exit 1; }; } | ||
2410 | + ac_cv_prog_gcc=no | ||
2411 | fi | ||
2412 | - | ||
2413 | -rm -f conftest.$ac_cv_objext conftest.$ac_ext | ||
2414 | fi | ||
2415 | -echo "$as_me:$LINENO: result: $ac_cv_objext" >&5 | ||
2416 | -echo "${ECHO_T}$ac_cv_objext" >&6 | ||
2417 | -OBJEXT=$ac_cv_objext | ||
2418 | -ac_objext=$OBJEXT | ||
2419 | -echo "$as_me:$LINENO: checking whether we are using the GNU C compiler" >&5 | ||
2420 | -echo $ECHO_N "checking whether we are using the GNU C compiler... $ECHO_C" >&6 | ||
2421 | -if test "${ac_cv_c_compiler_gnu+set}" = set; then | ||
2422 | - echo $ECHO_N "(cached) $ECHO_C" >&6 | ||
2423 | -else | ||
2424 | - cat >conftest.$ac_ext <<_ACEOF | ||
2425 | -#line $LINENO "configure" | ||
2426 | -/* confdefs.h. */ | ||
2427 | -_ACEOF | ||
2428 | -cat confdefs.h >>conftest.$ac_ext | ||
2429 | -cat >>conftest.$ac_ext <<_ACEOF | ||
2430 | -/* end confdefs.h. */ | ||
2431 | |||
2432 | -int | ||
2433 | -main () | ||
2434 | -{ | ||
2435 | -#ifndef __GNUC__ | ||
2436 | - choke me | ||
2437 | -#endif | ||
2438 | +echo "$ac_t""$ac_cv_prog_gcc" 1>&6 | ||
2439 | |||
2440 | - ; | ||
2441 | - return 0; | ||
2442 | -} | ||
2443 | -_ACEOF | ||
2444 | -rm -f conftest.$ac_objext | ||
2445 | -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 | ||
2446 | - (eval $ac_compile) 2>&5 | ||
2447 | - ac_status=$? | ||
2448 | - echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
2449 | - (exit $ac_status); } && | ||
2450 | - { ac_try='test -s conftest.$ac_objext' | ||
2451 | - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | ||
2452 | - (eval $ac_try) 2>&5 | ||
2453 | - ac_status=$? | ||
2454 | - echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
2455 | - (exit $ac_status); }; }; then | ||
2456 | - ac_compiler_gnu=yes | ||
2457 | +if test $ac_cv_prog_gcc = yes; then | ||
2458 | + GCC=yes | ||
2459 | else | ||
2460 | - echo "$as_me: failed program was:" >&5 | ||
2461 | -sed 's/^/| /' conftest.$ac_ext >&5 | ||
2462 | - | ||
2463 | -ac_compiler_gnu=no | ||
2464 | + GCC= | ||
2465 | fi | ||
2466 | -rm -f conftest.$ac_objext conftest.$ac_ext | ||
2467 | -ac_cv_c_compiler_gnu=$ac_compiler_gnu | ||
2468 | |||
2469 | -fi | ||
2470 | -echo "$as_me:$LINENO: result: $ac_cv_c_compiler_gnu" >&5 | ||
2471 | -echo "${ECHO_T}$ac_cv_c_compiler_gnu" >&6 | ||
2472 | -GCC=`test $ac_compiler_gnu = yes && echo yes` | ||
2473 | -ac_test_CFLAGS=${CFLAGS+set} | ||
2474 | -ac_save_CFLAGS=$CFLAGS | ||
2475 | -CFLAGS="-g" | ||
2476 | -echo "$as_me:$LINENO: checking whether $CC accepts -g" >&5 | ||
2477 | -echo $ECHO_N "checking whether $CC accepts -g... $ECHO_C" >&6 | ||
2478 | -if test "${ac_cv_prog_cc_g+set}" = set; then | ||
2479 | - echo $ECHO_N "(cached) $ECHO_C" >&6 | ||
2480 | +ac_test_CFLAGS="${CFLAGS+set}" | ||
2481 | +ac_save_CFLAGS="$CFLAGS" | ||
2482 | +CFLAGS= | ||
2483 | +echo $ac_n "checking whether ${CC-cc} accepts -g""... $ac_c" 1>&6 | ||
2484 | +echo "configure:837: checking whether ${CC-cc} accepts -g" >&5 | ||
2485 | +if eval "test \"`echo '$''{'ac_cv_prog_cc_g'+set}'`\" = set"; then | ||
2486 | + echo $ac_n "(cached) $ac_c" 1>&6 | ||
2487 | else | ||
2488 | - cat >conftest.$ac_ext <<_ACEOF | ||
2489 | -#line $LINENO "configure" | ||
2490 | -/* confdefs.h. */ | ||
2491 | -_ACEOF | ||
2492 | -cat confdefs.h >>conftest.$ac_ext | ||
2493 | -cat >>conftest.$ac_ext <<_ACEOF | ||
2494 | -/* end confdefs.h. */ | ||
2495 | - | ||
2496 | -int | ||
2497 | -main () | ||
2498 | -{ | ||
2499 | - | ||
2500 | - ; | ||
2501 | - return 0; | ||
2502 | -} | ||
2503 | -_ACEOF | ||
2504 | -rm -f conftest.$ac_objext | ||
2505 | -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 | ||
2506 | - (eval $ac_compile) 2>&5 | ||
2507 | - ac_status=$? | ||
2508 | - echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
2509 | - (exit $ac_status); } && | ||
2510 | - { ac_try='test -s conftest.$ac_objext' | ||
2511 | - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | ||
2512 | - (eval $ac_try) 2>&5 | ||
2513 | - ac_status=$? | ||
2514 | - echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
2515 | - (exit $ac_status); }; }; then | ||
2516 | + echo 'void f(){}' > conftest.c | ||
2517 | +if test -z "`${CC-cc} -g -c conftest.c 2>&1`"; then | ||
2518 | ac_cv_prog_cc_g=yes | ||
2519 | else | ||
2520 | - echo "$as_me: failed program was:" >&5 | ||
2521 | -sed 's/^/| /' conftest.$ac_ext >&5 | ||
2522 | + ac_cv_prog_cc_g=no | ||
2523 | +fi | ||
2524 | +rm -f conftest* | ||
2525 | |||
2526 | -ac_cv_prog_cc_g=no | ||
2527 | fi | ||
2528 | -rm -f conftest.$ac_objext conftest.$ac_ext | ||
2529 | -fi | ||
2530 | -echo "$as_me:$LINENO: result: $ac_cv_prog_cc_g" >&5 | ||
2531 | -echo "${ECHO_T}$ac_cv_prog_cc_g" >&6 | ||
2532 | + | ||
2533 | +echo "$ac_t""$ac_cv_prog_cc_g" 1>&6 | ||
2534 | if test "$ac_test_CFLAGS" = set; then | ||
2535 | - CFLAGS=$ac_save_CFLAGS | ||
2536 | + CFLAGS="$ac_save_CFLAGS" | ||
2537 | elif test $ac_cv_prog_cc_g = yes; then | ||
2538 | if test "$GCC" = yes; then | ||
2539 | CFLAGS="-g -O2" | ||
2540 | @@ -2028,304 +863,37 @@ | ||
2541 | CFLAGS= | ||
2542 | fi | ||
2543 | fi | ||
2544 | -echo "$as_me:$LINENO: checking for $CC option to accept ANSI C" >&5 | ||
2545 | -echo $ECHO_N "checking for $CC option to accept ANSI C... $ECHO_C" >&6 | ||
2546 | -if test "${ac_cv_prog_cc_stdc+set}" = set; then | ||
2547 | - echo $ECHO_N "(cached) $ECHO_C" >&6 | ||
2548 | -else | ||
2549 | - ac_cv_prog_cc_stdc=no | ||
2550 | -ac_save_CC=$CC | ||
2551 | -cat >conftest.$ac_ext <<_ACEOF | ||
2552 | -#line $LINENO "configure" | ||
2553 | -/* confdefs.h. */ | ||
2554 | -_ACEOF | ||
2555 | -cat confdefs.h >>conftest.$ac_ext | ||
2556 | -cat >>conftest.$ac_ext <<_ACEOF | ||
2557 | -/* end confdefs.h. */ | ||
2558 | -#include <stdarg.h> | ||
2559 | -#include <stdio.h> | ||
2560 | -#include <sys/types.h> | ||
2561 | -#include <sys/stat.h> | ||
2562 | -/* Most of the following tests are stolen from RCS 5.7's src/conf.sh. */ | ||
2563 | -struct buf { int x; }; | ||
2564 | -FILE * (*rcsopen) (struct buf *, struct stat *, int); | ||
2565 | -static char *e (p, i) | ||
2566 | - char **p; | ||
2567 | - int i; | ||
2568 | -{ | ||
2569 | - return p[i]; | ||
2570 | -} | ||
2571 | -static char *f (char * (*g) (char **, int), char **p, ...) | ||
2572 | -{ | ||
2573 | - char *s; | ||
2574 | - va_list v; | ||
2575 | - va_start (v,p); | ||
2576 | - s = g (p, va_arg (v,int)); | ||
2577 | - va_end (v); | ||
2578 | - return s; | ||
2579 | -} | ||
2580 | -int test (int i, double x); | ||
2581 | -struct s1 {int (*f) (int a);}; | ||
2582 | -struct s2 {int (*f) (double a);}; | ||
2583 | -int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), int, int); | ||
2584 | -int argc; | ||
2585 | -char **argv; | ||
2586 | -int | ||
2587 | -main () | ||
2588 | -{ | ||
2589 | -return f (e, argv, 0) != argv[0] || f (e, argv, 1) != argv[1]; | ||
2590 | - ; | ||
2591 | - return 0; | ||
2592 | -} | ||
2593 | -_ACEOF | ||
2594 | -# Don't try gcc -ansi; that turns off useful extensions and | ||
2595 | -# breaks some systems' header files. | ||
2596 | -# AIX -qlanglvl=ansi | ||
2597 | -# Ultrix and OSF/1 -std1 | ||
2598 | -# HP-UX 10.20 and later -Ae | ||
2599 | -# HP-UX older versions -Aa -D_HPUX_SOURCE | ||
2600 | -# SVR4 -Xc -D__EXTENSIONS__ | ||
2601 | -for ac_arg in "" -qlanglvl=ansi -std1 -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__" | ||
2602 | -do | ||
2603 | - CC="$ac_save_CC $ac_arg" | ||
2604 | - rm -f conftest.$ac_objext | ||
2605 | -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 | ||
2606 | - (eval $ac_compile) 2>&5 | ||
2607 | - ac_status=$? | ||
2608 | - echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
2609 | - (exit $ac_status); } && | ||
2610 | - { ac_try='test -s conftest.$ac_objext' | ||
2611 | - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | ||
2612 | - (eval $ac_try) 2>&5 | ||
2613 | - ac_status=$? | ||
2614 | - echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
2615 | - (exit $ac_status); }; }; then | ||
2616 | - ac_cv_prog_cc_stdc=$ac_arg | ||
2617 | -break | ||
2618 | -else | ||
2619 | - echo "$as_me: failed program was:" >&5 | ||
2620 | -sed 's/^/| /' conftest.$ac_ext >&5 | ||
2621 | |||
2622 | -fi | ||
2623 | -rm -f conftest.$ac_objext | ||
2624 | -done | ||
2625 | -rm -f conftest.$ac_ext conftest.$ac_objext | ||
2626 | -CC=$ac_save_CC | ||
2627 | - | ||
2628 | -fi | ||
2629 | - | ||
2630 | -case "x$ac_cv_prog_cc_stdc" in | ||
2631 | - x|xno) | ||
2632 | - echo "$as_me:$LINENO: result: none needed" >&5 | ||
2633 | -echo "${ECHO_T}none needed" >&6 ;; | ||
2634 | - *) | ||
2635 | - echo "$as_me:$LINENO: result: $ac_cv_prog_cc_stdc" >&5 | ||
2636 | -echo "${ECHO_T}$ac_cv_prog_cc_stdc" >&6 | ||
2637 | - CC="$CC $ac_cv_prog_cc_stdc" ;; | ||
2638 | -esac | ||
2639 | - | ||
2640 | -# Some people use a C++ compiler to compile C. Since we use `exit', | ||
2641 | -# in C++ we need to declare it. In case someone uses the same compiler | ||
2642 | -# for both compiling C and C++ we need to have the C++ compiler decide | ||
2643 | -# the declaration of exit, since it's the most demanding environment. | ||
2644 | -cat >conftest.$ac_ext <<_ACEOF | ||
2645 | -#ifndef __cplusplus | ||
2646 | - choke me | ||
2647 | -#endif | ||
2648 | -_ACEOF | ||
2649 | -rm -f conftest.$ac_objext | ||
2650 | -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 | ||
2651 | - (eval $ac_compile) 2>&5 | ||
2652 | - ac_status=$? | ||
2653 | - echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
2654 | - (exit $ac_status); } && | ||
2655 | - { ac_try='test -s conftest.$ac_objext' | ||
2656 | - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | ||
2657 | - (eval $ac_try) 2>&5 | ||
2658 | - ac_status=$? | ||
2659 | - echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
2660 | - (exit $ac_status); }; }; then | ||
2661 | - for ac_declaration in \ | ||
2662 | - ''\ | ||
2663 | - '#include <stdlib.h>' \ | ||
2664 | - 'extern "C" void std::exit (int) throw (); using std::exit;' \ | ||
2665 | - 'extern "C" void std::exit (int); using std::exit;' \ | ||
2666 | - 'extern "C" void exit (int) throw ();' \ | ||
2667 | - 'extern "C" void exit (int);' \ | ||
2668 | - 'void exit (int);' | ||
2669 | -do | ||
2670 | - cat >conftest.$ac_ext <<_ACEOF | ||
2671 | -#line $LINENO "configure" | ||
2672 | -/* confdefs.h. */ | ||
2673 | -_ACEOF | ||
2674 | -cat confdefs.h >>conftest.$ac_ext | ||
2675 | -cat >>conftest.$ac_ext <<_ACEOF | ||
2676 | -/* end confdefs.h. */ | ||
2677 | -#include <stdlib.h> | ||
2678 | -$ac_declaration | ||
2679 | -int | ||
2680 | -main () | ||
2681 | -{ | ||
2682 | -exit (42); | ||
2683 | - ; | ||
2684 | - return 0; | ||
2685 | -} | ||
2686 | -_ACEOF | ||
2687 | -rm -f conftest.$ac_objext | ||
2688 | -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 | ||
2689 | - (eval $ac_compile) 2>&5 | ||
2690 | - ac_status=$? | ||
2691 | - echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
2692 | - (exit $ac_status); } && | ||
2693 | - { ac_try='test -s conftest.$ac_objext' | ||
2694 | - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | ||
2695 | - (eval $ac_try) 2>&5 | ||
2696 | - ac_status=$? | ||
2697 | - echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
2698 | - (exit $ac_status); }; }; then | ||
2699 | - : | ||
2700 | +# Extract the first word of "ranlib", so it can be a program name with args. | ||
2701 | +set dummy ranlib; ac_word=$2 | ||
2702 | +echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 | ||
2703 | +echo "configure:871: checking for $ac_word" >&5 | ||
2704 | +if eval "test \"`echo '$''{'ac_cv_prog_RANLIB'+set}'`\" = set"; then | ||
2705 | + echo $ac_n "(cached) $ac_c" 1>&6 | ||
2706 | else | ||
2707 | - echo "$as_me: failed program was:" >&5 | ||
2708 | -sed 's/^/| /' conftest.$ac_ext >&5 | ||
2709 | - | ||
2710 | -continue | ||
2711 | -fi | ||
2712 | -rm -f conftest.$ac_objext conftest.$ac_ext | ||
2713 | - cat >conftest.$ac_ext <<_ACEOF | ||
2714 | -#line $LINENO "configure" | ||
2715 | -/* confdefs.h. */ | ||
2716 | -_ACEOF | ||
2717 | -cat confdefs.h >>conftest.$ac_ext | ||
2718 | -cat >>conftest.$ac_ext <<_ACEOF | ||
2719 | -/* end confdefs.h. */ | ||
2720 | -$ac_declaration | ||
2721 | -int | ||
2722 | -main () | ||
2723 | -{ | ||
2724 | -exit (42); | ||
2725 | - ; | ||
2726 | - return 0; | ||
2727 | -} | ||
2728 | -_ACEOF | ||
2729 | -rm -f conftest.$ac_objext | ||
2730 | -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 | ||
2731 | - (eval $ac_compile) 2>&5 | ||
2732 | - ac_status=$? | ||
2733 | - echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
2734 | - (exit $ac_status); } && | ||
2735 | - { ac_try='test -s conftest.$ac_objext' | ||
2736 | - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | ||
2737 | - (eval $ac_try) 2>&5 | ||
2738 | - ac_status=$? | ||
2739 | - echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
2740 | - (exit $ac_status); }; }; then | ||
2741 | - break | ||
2742 | -else | ||
2743 | - echo "$as_me: failed program was:" >&5 | ||
2744 | -sed 's/^/| /' conftest.$ac_ext >&5 | ||
2745 | - | ||
2746 | -fi | ||
2747 | -rm -f conftest.$ac_objext conftest.$ac_ext | ||
2748 | -done | ||
2749 | -rm -f conftest* | ||
2750 | -if test -n "$ac_declaration"; then | ||
2751 | - echo '#ifdef __cplusplus' >>confdefs.h | ||
2752 | - echo $ac_declaration >>confdefs.h | ||
2753 | - echo '#endif' >>confdefs.h | ||
2754 | -fi | ||
2755 | - | ||
2756 | -else | ||
2757 | - echo "$as_me: failed program was:" >&5 | ||
2758 | -sed 's/^/| /' conftest.$ac_ext >&5 | ||
2759 | - | ||
2760 | -fi | ||
2761 | -rm -f conftest.$ac_objext conftest.$ac_ext | ||
2762 | -ac_ext=c | ||
2763 | -ac_cpp='$CPP $CPPFLAGS' | ||
2764 | -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' | ||
2765 | -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' | ||
2766 | -ac_compiler_gnu=$ac_cv_c_compiler_gnu | ||
2767 | - | ||
2768 | -if test -n "$ac_tool_prefix"; then | ||
2769 | - # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args. | ||
2770 | -set dummy ${ac_tool_prefix}ranlib; ac_word=$2 | ||
2771 | -echo "$as_me:$LINENO: checking for $ac_word" >&5 | ||
2772 | -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 | ||
2773 | -if test "${ac_cv_prog_RANLIB+set}" = set; then | ||
2774 | - echo $ECHO_N "(cached) $ECHO_C" >&6 | ||
2775 | -else | ||
2776 | if test -n "$RANLIB"; then | ||
2777 | ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test. | ||
2778 | else | ||
2779 | -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR | ||
2780 | -for as_dir in $PATH | ||
2781 | -do | ||
2782 | - IFS=$as_save_IFS | ||
2783 | - test -z "$as_dir" && as_dir=. | ||
2784 | - for ac_exec_ext in '' $ac_executable_extensions; do | ||
2785 | - if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then | ||
2786 | - ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib" | ||
2787 | - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 | ||
2788 | - break 2 | ||
2789 | - fi | ||
2790 | -done | ||
2791 | -done | ||
2792 | - | ||
2793 | + IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":" | ||
2794 | + ac_dummy="$PATH" | ||
2795 | + for ac_dir in $ac_dummy; do | ||
2796 | + test -z "$ac_dir" && ac_dir=. | ||
2797 | + if test -f $ac_dir/$ac_word; then | ||
2798 | + ac_cv_prog_RANLIB="ranlib" | ||
2799 | + break | ||
2800 | + fi | ||
2801 | + done | ||
2802 | + IFS="$ac_save_ifs" | ||
2803 | + test -z "$ac_cv_prog_RANLIB" && ac_cv_prog_RANLIB=":" | ||
2804 | fi | ||
2805 | fi | ||
2806 | -RANLIB=$ac_cv_prog_RANLIB | ||
2807 | +RANLIB="$ac_cv_prog_RANLIB" | ||
2808 | if test -n "$RANLIB"; then | ||
2809 | - echo "$as_me:$LINENO: result: $RANLIB" >&5 | ||
2810 | -echo "${ECHO_T}$RANLIB" >&6 | ||
2811 | + echo "$ac_t""$RANLIB" 1>&6 | ||
2812 | else | ||
2813 | - echo "$as_me:$LINENO: result: no" >&5 | ||
2814 | -echo "${ECHO_T}no" >&6 | ||
2815 | + echo "$ac_t""no" 1>&6 | ||
2816 | fi | ||
2817 | |||
2818 | -fi | ||
2819 | -if test -z "$ac_cv_prog_RANLIB"; then | ||
2820 | - ac_ct_RANLIB=$RANLIB | ||
2821 | - # Extract the first word of "ranlib", so it can be a program name with args. | ||
2822 | -set dummy ranlib; ac_word=$2 | ||
2823 | -echo "$as_me:$LINENO: checking for $ac_word" >&5 | ||
2824 | -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 | ||
2825 | -if test "${ac_cv_prog_ac_ct_RANLIB+set}" = set; then | ||
2826 | - echo $ECHO_N "(cached) $ECHO_C" >&6 | ||
2827 | -else | ||
2828 | - if test -n "$ac_ct_RANLIB"; then | ||
2829 | - ac_cv_prog_ac_ct_RANLIB="$ac_ct_RANLIB" # Let the user override the test. | ||
2830 | -else | ||
2831 | -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR | ||
2832 | -for as_dir in $PATH | ||
2833 | -do | ||
2834 | - IFS=$as_save_IFS | ||
2835 | - test -z "$as_dir" && as_dir=. | ||
2836 | - for ac_exec_ext in '' $ac_executable_extensions; do | ||
2837 | - if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then | ||
2838 | - ac_cv_prog_ac_ct_RANLIB="ranlib" | ||
2839 | - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 | ||
2840 | - break 2 | ||
2841 | - fi | ||
2842 | -done | ||
2843 | -done | ||
2844 | - | ||
2845 | - test -z "$ac_cv_prog_ac_ct_RANLIB" && ac_cv_prog_ac_ct_RANLIB=":" | ||
2846 | -fi | ||
2847 | -fi | ||
2848 | -ac_ct_RANLIB=$ac_cv_prog_ac_ct_RANLIB | ||
2849 | -if test -n "$ac_ct_RANLIB"; then | ||
2850 | - echo "$as_me:$LINENO: result: $ac_ct_RANLIB" >&5 | ||
2851 | -echo "${ECHO_T}$ac_ct_RANLIB" >&6 | ||
2852 | -else | ||
2853 | - echo "$as_me:$LINENO: result: no" >&5 | ||
2854 | -echo "${ECHO_T}no" >&6 | ||
2855 | -fi | ||
2856 | - | ||
2857 | - RANLIB=$ac_ct_RANLIB | ||
2858 | -else | ||
2859 | - RANLIB="$ac_cv_prog_RANLIB" | ||
2860 | -fi | ||
2861 | - | ||
2862 | # Find a good install program. We prefer a C program (faster), | ||
2863 | # so one script is as good as another. But avoid the broken or | ||
2864 | # incompatible versions: | ||
2865 | @@ -2333,306 +901,158 @@ | ||
2866 | # SunOS /usr/etc/install | ||
2867 | # IRIX /sbin/install | ||
2868 | # AIX /bin/install | ||
2869 | -# AmigaOS /C/install, which installs bootblocks on floppy discs | ||
2870 | # AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag | ||
2871 | # AFS /usr/afsws/bin/install, which mishandles nonexistent args | ||
2872 | # SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff" | ||
2873 | # ./install, which can be erroneously created by make from ./install.sh. | ||
2874 | -echo "$as_me:$LINENO: checking for a BSD-compatible install" >&5 | ||
2875 | -echo $ECHO_N "checking for a BSD-compatible install... $ECHO_C" >&6 | ||
2876 | +echo $ac_n "checking for a BSD compatible install""... $ac_c" 1>&6 | ||
2877 | +echo "configure:910: checking for a BSD compatible install" >&5 | ||
2878 | if test -z "$INSTALL"; then | ||
2879 | -if test "${ac_cv_path_install+set}" = set; then | ||
2880 | - echo $ECHO_N "(cached) $ECHO_C" >&6 | ||
2881 | +if eval "test \"`echo '$''{'ac_cv_path_install'+set}'`\" = set"; then | ||
2882 | + echo $ac_n "(cached) $ac_c" 1>&6 | ||
2883 | else | ||
2884 | - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR | ||
2885 | -for as_dir in $PATH | ||
2886 | -do | ||
2887 | - IFS=$as_save_IFS | ||
2888 | - test -z "$as_dir" && as_dir=. | ||
2889 | - # Account for people who put trailing slashes in PATH elements. | ||
2890 | -case $as_dir/ in | ||
2891 | - ./ | .// | /cC/* | \ | ||
2892 | - /etc/* | /usr/sbin/* | /usr/etc/* | /sbin/* | /usr/afsws/bin/* | \ | ||
2893 | - /usr/ucb/* ) ;; | ||
2894 | - *) | ||
2895 | - # OSF1 and SCO ODT 3.0 have their own names for install. | ||
2896 | - # Don't use installbsd from OSF since it installs stuff as root | ||
2897 | - # by default. | ||
2898 | - for ac_prog in ginstall scoinst install; do | ||
2899 | - for ac_exec_ext in '' $ac_executable_extensions; do | ||
2900 | - if $as_executable_p "$as_dir/$ac_prog$ac_exec_ext"; then | ||
2901 | - if test $ac_prog = install && | ||
2902 | - grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then | ||
2903 | - # AIX install. It has an incompatible calling convention. | ||
2904 | - : | ||
2905 | - elif test $ac_prog = install && | ||
2906 | - grep pwplus "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then | ||
2907 | - # program-specific install script used by HP pwplus--don't use. | ||
2908 | - : | ||
2909 | - else | ||
2910 | - ac_cv_path_install="$as_dir/$ac_prog$ac_exec_ext -c" | ||
2911 | - break 3 | ||
2912 | - fi | ||
2913 | - fi | ||
2914 | + IFS="${IFS= }"; ac_save_IFS="$IFS"; IFS=":" | ||
2915 | + for ac_dir in $PATH; do | ||
2916 | + # Account for people who put trailing slashes in PATH elements. | ||
2917 | + case "$ac_dir/" in | ||
2918 | + /|./|.//|/etc/*|/usr/sbin/*|/usr/etc/*|/sbin/*|/usr/afsws/bin/*|/usr/ucb/*) ;; | ||
2919 | + *) | ||
2920 | + # OSF1 and SCO ODT 3.0 have their own names for install. | ||
2921 | + # Don't use installbsd from OSF since it installs stuff as root | ||
2922 | + # by default. | ||
2923 | + for ac_prog in ginstall scoinst install; do | ||
2924 | + if test -f $ac_dir/$ac_prog; then | ||
2925 | + if test $ac_prog = install && | ||
2926 | + grep dspmsg $ac_dir/$ac_prog >/dev/null 2>&1; then | ||
2927 | + # AIX install. It has an incompatible calling convention. | ||
2928 | + : | ||
2929 | + else | ||
2930 | + ac_cv_path_install="$ac_dir/$ac_prog -c" | ||
2931 | + break 2 | ||
2932 | + fi | ||
2933 | + fi | ||
2934 | done | ||
2935 | - done | ||
2936 | - ;; | ||
2937 | -esac | ||
2938 | -done | ||
2939 | + ;; | ||
2940 | + esac | ||
2941 | + done | ||
2942 | + IFS="$ac_save_IFS" | ||
2943 | |||
2944 | - | ||
2945 | fi | ||
2946 | if test "${ac_cv_path_install+set}" = set; then | ||
2947 | - INSTALL=$ac_cv_path_install | ||
2948 | + INSTALL="$ac_cv_path_install" | ||
2949 | else | ||
2950 | # As a last resort, use the slow shell script. We don't cache a | ||
2951 | # path for INSTALL within a source directory, because that will | ||
2952 | # break other packages using the cache if that directory is | ||
2953 | # removed, or if the path is relative. | ||
2954 | - INSTALL=$ac_install_sh | ||
2955 | + INSTALL="$ac_install_sh" | ||
2956 | fi | ||
2957 | fi | ||
2958 | -echo "$as_me:$LINENO: result: $INSTALL" >&5 | ||
2959 | -echo "${ECHO_T}$INSTALL" >&6 | ||
2960 | +echo "$ac_t""$INSTALL" 1>&6 | ||
2961 | |||
2962 | # Use test -z because SunOS4 sh mishandles braces in ${var-val}. | ||
2963 | # It thinks the first close brace ends the variable substitution. | ||
2964 | test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}' | ||
2965 | |||
2966 | -test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL}' | ||
2967 | +test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL_PROGRAM}' | ||
2968 | |||
2969 | test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644' | ||
2970 | |||
2971 | -if test -n "$ac_tool_prefix"; then | ||
2972 | - # Extract the first word of "${ac_tool_prefix}ar", so it can be a program name with args. | ||
2973 | +if test $host != $build; then | ||
2974 | + ac_tool_prefix=${host_alias}- | ||
2975 | +else | ||
2976 | + ac_tool_prefix= | ||
2977 | +fi | ||
2978 | + | ||
2979 | +# Extract the first word of "${ac_tool_prefix}ar", so it can be a program name with args. | ||
2980 | set dummy ${ac_tool_prefix}ar; ac_word=$2 | ||
2981 | -echo "$as_me:$LINENO: checking for $ac_word" >&5 | ||
2982 | -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 | ||
2983 | -if test "${ac_cv_prog_AR+set}" = set; then | ||
2984 | - echo $ECHO_N "(cached) $ECHO_C" >&6 | ||
2985 | +echo $ac_n "checking for $ac_word""... $ac_c" 1>&6 | ||
2986 | +echo "configure:971: checking for $ac_word" >&5 | ||
2987 | +if eval "test \"`echo '$''{'ac_cv_prog_AR'+set}'`\" = set"; then | ||
2988 | + echo $ac_n "(cached) $ac_c" 1>&6 | ||
2989 | else | ||
2990 | if test -n "$AR"; then | ||
2991 | ac_cv_prog_AR="$AR" # Let the user override the test. | ||
2992 | else | ||
2993 | -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR | ||
2994 | -for as_dir in $PATH | ||
2995 | -do | ||
2996 | - IFS=$as_save_IFS | ||
2997 | - test -z "$as_dir" && as_dir=. | ||
2998 | - for ac_exec_ext in '' $ac_executable_extensions; do | ||
2999 | - if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then | ||
3000 | - ac_cv_prog_AR="${ac_tool_prefix}ar" | ||
3001 | - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 | ||
3002 | - break 2 | ||
3003 | - fi | ||
3004 | -done | ||
3005 | -done | ||
3006 | - | ||
3007 | + IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":" | ||
3008 | + ac_dummy="$PATH" | ||
3009 | + for ac_dir in $ac_dummy; do | ||
3010 | + test -z "$ac_dir" && ac_dir=. | ||
3011 | + if test -f $ac_dir/$ac_word; then | ||
3012 | + ac_cv_prog_AR="${ac_tool_prefix}ar" | ||
3013 | + break | ||
3014 | + fi | ||
3015 | + done | ||
3016 | + IFS="$ac_save_ifs" | ||
3017 | + test -z "$ac_cv_prog_AR" && ac_cv_prog_AR="ar" | ||
3018 | fi | ||
3019 | fi | ||
3020 | -AR=$ac_cv_prog_AR | ||
3021 | +AR="$ac_cv_prog_AR" | ||
3022 | if test -n "$AR"; then | ||
3023 | - echo "$as_me:$LINENO: result: $AR" >&5 | ||
3024 | -echo "${ECHO_T}$AR" >&6 | ||
3025 | + echo "$ac_t""$AR" 1>&6 | ||
3026 | else | ||
3027 | - echo "$as_me:$LINENO: result: no" >&5 | ||
3028 | -echo "${ECHO_T}no" >&6 | ||
3029 | + echo "$ac_t""no" 1>&6 | ||
3030 | fi | ||
3031 | |||
3032 | -fi | ||
3033 | -if test -z "$ac_cv_prog_AR"; then | ||
3034 | - ac_ct_AR=$AR | ||
3035 | - # Extract the first word of "ar", so it can be a program name with args. | ||
3036 | -set dummy ar; ac_word=$2 | ||
3037 | -echo "$as_me:$LINENO: checking for $ac_word" >&5 | ||
3038 | -echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6 | ||
3039 | -if test "${ac_cv_prog_ac_ct_AR+set}" = set; then | ||
3040 | - echo $ECHO_N "(cached) $ECHO_C" >&6 | ||
3041 | -else | ||
3042 | - if test -n "$ac_ct_AR"; then | ||
3043 | - ac_cv_prog_ac_ct_AR="$ac_ct_AR" # Let the user override the test. | ||
3044 | -else | ||
3045 | -as_save_IFS=$IFS; IFS=$PATH_SEPARATOR | ||
3046 | -for as_dir in $PATH | ||
3047 | -do | ||
3048 | - IFS=$as_save_IFS | ||
3049 | - test -z "$as_dir" && as_dir=. | ||
3050 | - for ac_exec_ext in '' $ac_executable_extensions; do | ||
3051 | - if $as_executable_p "$as_dir/$ac_word$ac_exec_ext"; then | ||
3052 | - ac_cv_prog_ac_ct_AR="ar" | ||
3053 | - echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5 | ||
3054 | - break 2 | ||
3055 | - fi | ||
3056 | -done | ||
3057 | -done | ||
3058 | |||
3059 | -fi | ||
3060 | -fi | ||
3061 | -ac_ct_AR=$ac_cv_prog_ac_ct_AR | ||
3062 | -if test -n "$ac_ct_AR"; then | ||
3063 | - echo "$as_me:$LINENO: result: $ac_ct_AR" >&5 | ||
3064 | -echo "${ECHO_T}$ac_ct_AR" >&6 | ||
3065 | -else | ||
3066 | - echo "$as_me:$LINENO: result: no" >&5 | ||
3067 | -echo "${ECHO_T}no" >&6 | ||
3068 | -fi | ||
3069 | |||
3070 | - AR=$ac_ct_AR | ||
3071 | +echo $ac_n "checking whether byte ordering is bigendian""... $ac_c" 1>&6 | ||
3072 | +echo "configure:1001: checking whether byte ordering is bigendian" >&5 | ||
3073 | +if eval "test \"`echo '$''{'ac_cv_c_bigendian'+set}'`\" = set"; then | ||
3074 | + echo $ac_n "(cached) $ac_c" 1>&6 | ||
3075 | else | ||
3076 | - AR="$ac_cv_prog_AR" | ||
3077 | -fi | ||
3078 | - | ||
3079 | - | ||
3080 | -echo "$as_me:$LINENO: checking whether byte ordering is bigendian" >&5 | ||
3081 | -echo $ECHO_N "checking whether byte ordering is bigendian... $ECHO_C" >&6 | ||
3082 | -if test "${ac_cv_c_bigendian+set}" = set; then | ||
3083 | - echo $ECHO_N "(cached) $ECHO_C" >&6 | ||
3084 | -else | ||
3085 | - # See if sys/param.h defines the BYTE_ORDER macro. | ||
3086 | -cat >conftest.$ac_ext <<_ACEOF | ||
3087 | -#line $LINENO "configure" | ||
3088 | -/* confdefs.h. */ | ||
3089 | -_ACEOF | ||
3090 | -cat confdefs.h >>conftest.$ac_ext | ||
3091 | -cat >>conftest.$ac_ext <<_ACEOF | ||
3092 | -/* end confdefs.h. */ | ||
3093 | + ac_cv_c_bigendian=unknown | ||
3094 | +# See if sys/param.h defines the BYTE_ORDER macro. | ||
3095 | +cat > conftest.$ac_ext <<EOF | ||
3096 | +#line 1008 "configure" | ||
3097 | +#include "confdefs.h" | ||
3098 | #include <sys/types.h> | ||
3099 | #include <sys/param.h> | ||
3100 | +int main() { | ||
3101 | |||
3102 | -int | ||
3103 | -main () | ||
3104 | -{ | ||
3105 | #if !BYTE_ORDER || !BIG_ENDIAN || !LITTLE_ENDIAN | ||
3106 | bogus endian macros | ||
3107 | #endif | ||
3108 | - | ||
3109 | - ; | ||
3110 | - return 0; | ||
3111 | -} | ||
3112 | -_ACEOF | ||
3113 | -rm -f conftest.$ac_objext | ||
3114 | -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 | ||
3115 | - (eval $ac_compile) 2>&5 | ||
3116 | - ac_status=$? | ||
3117 | - echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
3118 | - (exit $ac_status); } && | ||
3119 | - { ac_try='test -s conftest.$ac_objext' | ||
3120 | - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | ||
3121 | - (eval $ac_try) 2>&5 | ||
3122 | - ac_status=$? | ||
3123 | - echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
3124 | - (exit $ac_status); }; }; then | ||
3125 | +; return 0; } | ||
3126 | +EOF | ||
3127 | +if { (eval echo configure:1019: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then | ||
3128 | + rm -rf conftest* | ||
3129 | # It does; now see whether it defined to BIG_ENDIAN or not. | ||
3130 | -cat >conftest.$ac_ext <<_ACEOF | ||
3131 | -#line $LINENO "configure" | ||
3132 | -/* confdefs.h. */ | ||
3133 | -_ACEOF | ||
3134 | -cat confdefs.h >>conftest.$ac_ext | ||
3135 | -cat >>conftest.$ac_ext <<_ACEOF | ||
3136 | -/* end confdefs.h. */ | ||
3137 | +cat > conftest.$ac_ext <<EOF | ||
3138 | +#line 1023 "configure" | ||
3139 | +#include "confdefs.h" | ||
3140 | #include <sys/types.h> | ||
3141 | #include <sys/param.h> | ||
3142 | +int main() { | ||
3143 | |||
3144 | -int | ||
3145 | -main () | ||
3146 | -{ | ||
3147 | #if BYTE_ORDER != BIG_ENDIAN | ||
3148 | not big endian | ||
3149 | #endif | ||
3150 | - | ||
3151 | - ; | ||
3152 | - return 0; | ||
3153 | -} | ||
3154 | -_ACEOF | ||
3155 | -rm -f conftest.$ac_objext | ||
3156 | -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 | ||
3157 | - (eval $ac_compile) 2>&5 | ||
3158 | - ac_status=$? | ||
3159 | - echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
3160 | - (exit $ac_status); } && | ||
3161 | - { ac_try='test -s conftest.$ac_objext' | ||
3162 | - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | ||
3163 | - (eval $ac_try) 2>&5 | ||
3164 | - ac_status=$? | ||
3165 | - echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
3166 | - (exit $ac_status); }; }; then | ||
3167 | +; return 0; } | ||
3168 | +EOF | ||
3169 | +if { (eval echo configure:1034: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then | ||
3170 | + rm -rf conftest* | ||
3171 | ac_cv_c_bigendian=yes | ||
3172 | else | ||
3173 | - echo "$as_me: failed program was:" >&5 | ||
3174 | -sed 's/^/| /' conftest.$ac_ext >&5 | ||
3175 | - | ||
3176 | -ac_cv_c_bigendian=no | ||
3177 | + echo "configure: failed program was:" >&5 | ||
3178 | + cat conftest.$ac_ext >&5 | ||
3179 | + rm -rf conftest* | ||
3180 | + ac_cv_c_bigendian=no | ||
3181 | fi | ||
3182 | -rm -f conftest.$ac_objext conftest.$ac_ext | ||
3183 | +rm -f conftest* | ||
3184 | else | ||
3185 | - echo "$as_me: failed program was:" >&5 | ||
3186 | -sed 's/^/| /' conftest.$ac_ext >&5 | ||
3187 | - | ||
3188 | -# It does not; compile a test program. | ||
3189 | -if test "$cross_compiling" = yes; then | ||
3190 | - # try to guess the endianness by grepping values into an object file | ||
3191 | - ac_cv_c_bigendian=unknown | ||
3192 | - cat >conftest.$ac_ext <<_ACEOF | ||
3193 | -#line $LINENO "configure" | ||
3194 | -/* confdefs.h. */ | ||
3195 | -_ACEOF | ||
3196 | -cat confdefs.h >>conftest.$ac_ext | ||
3197 | -cat >>conftest.$ac_ext <<_ACEOF | ||
3198 | -/* end confdefs.h. */ | ||
3199 | -short ascii_mm[] = { 0x4249, 0x4765, 0x6E44, 0x6961, 0x6E53, 0x7953, 0 }; | ||
3200 | -short ascii_ii[] = { 0x694C, 0x5454, 0x656C, 0x6E45, 0x6944, 0x6E61, 0 }; | ||
3201 | -void _ascii () { char *s = (char *) ascii_mm; s = (char *) ascii_ii; } | ||
3202 | -short ebcdic_ii[] = { 0x89D3, 0xE3E3, 0x8593, 0x95C5, 0x89C4, 0x9581, 0 }; | ||
3203 | -short ebcdic_mm[] = { 0xC2C9, 0xC785, 0x95C4, 0x8981, 0x95E2, 0xA8E2, 0 }; | ||
3204 | -void _ebcdic () { char *s = (char *) ebcdic_mm; s = (char *) ebcdic_ii; } | ||
3205 | -int | ||
3206 | -main () | ||
3207 | -{ | ||
3208 | - _ascii (); _ebcdic (); | ||
3209 | - ; | ||
3210 | - return 0; | ||
3211 | -} | ||
3212 | -_ACEOF | ||
3213 | -rm -f conftest.$ac_objext | ||
3214 | -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 | ||
3215 | - (eval $ac_compile) 2>&5 | ||
3216 | - ac_status=$? | ||
3217 | - echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
3218 | - (exit $ac_status); } && | ||
3219 | - { ac_try='test -s conftest.$ac_objext' | ||
3220 | - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | ||
3221 | - (eval $ac_try) 2>&5 | ||
3222 | - ac_status=$? | ||
3223 | - echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
3224 | - (exit $ac_status); }; }; then | ||
3225 | - if grep BIGenDianSyS conftest.$ac_objext >/dev/null ; then | ||
3226 | - ac_cv_c_bigendian=yes | ||
3227 | + echo "configure: failed program was:" >&5 | ||
3228 | + cat conftest.$ac_ext >&5 | ||
3229 | fi | ||
3230 | -if grep LiTTleEnDian conftest.$ac_objext >/dev/null ; then | ||
3231 | - if test "$ac_cv_c_bigendian" = unknown; then | ||
3232 | - ac_cv_c_bigendian=no | ||
3233 | - else | ||
3234 | - # finding both strings is unlikely to happen, but who knows? | ||
3235 | - ac_cv_c_bigendian=unknown | ||
3236 | - fi | ||
3237 | -fi | ||
3238 | +rm -f conftest* | ||
3239 | +if test $ac_cv_c_bigendian = unknown; then | ||
3240 | +if test "$cross_compiling" = yes; then | ||
3241 | + { echo "configure: error: can not run test program while cross compiling" 1>&2; exit 1; } | ||
3242 | else | ||
3243 | - echo "$as_me: failed program was:" >&5 | ||
3244 | -sed 's/^/| /' conftest.$ac_ext >&5 | ||
3245 | - | ||
3246 | -fi | ||
3247 | -rm -f conftest.$ac_objext conftest.$ac_ext | ||
3248 | -else | ||
3249 | - cat >conftest.$ac_ext <<_ACEOF | ||
3250 | -#line $LINENO "configure" | ||
3251 | -/* confdefs.h. */ | ||
3252 | -_ACEOF | ||
3253 | -cat confdefs.h >>conftest.$ac_ext | ||
3254 | -cat >>conftest.$ac_ext <<_ACEOF | ||
3255 | -/* end confdefs.h. */ | ||
3256 | -int | ||
3257 | -main () | ||
3258 | -{ | ||
3259 | + cat > conftest.$ac_ext <<EOF | ||
3260 | +#line 1054 "configure" | ||
3261 | +#include "confdefs.h" | ||
3262 | +main () { | ||
3263 | /* Are we little or big endian? From Harbison&Steele. */ | ||
3264 | union | ||
3265 | { | ||
3266 | @@ -2642,52 +1062,31 @@ | ||
3267 | u.l = 1; | ||
3268 | exit (u.c[sizeof (long) - 1] == 1); | ||
3269 | } | ||
3270 | -_ACEOF | ||
3271 | -rm -f conftest$ac_exeext | ||
3272 | -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 | ||
3273 | - (eval $ac_link) 2>&5 | ||
3274 | - ac_status=$? | ||
3275 | - echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
3276 | - (exit $ac_status); } && { ac_try='./conftest$ac_exeext' | ||
3277 | - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | ||
3278 | - (eval $ac_try) 2>&5 | ||
3279 | - ac_status=$? | ||
3280 | - echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
3281 | - (exit $ac_status); }; }; then | ||
3282 | +EOF | ||
3283 | +if { (eval echo configure:1067: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext} && (./conftest; exit) 2>/dev/null | ||
3284 | +then | ||
3285 | ac_cv_c_bigendian=no | ||
3286 | else | ||
3287 | - echo "$as_me: program exited with status $ac_status" >&5 | ||
3288 | -echo "$as_me: failed program was:" >&5 | ||
3289 | -sed 's/^/| /' conftest.$ac_ext >&5 | ||
3290 | - | ||
3291 | -( exit $ac_status ) | ||
3292 | -ac_cv_c_bigendian=yes | ||
3293 | + echo "configure: failed program was:" >&5 | ||
3294 | + cat conftest.$ac_ext >&5 | ||
3295 | + rm -fr conftest* | ||
3296 | + ac_cv_c_bigendian=yes | ||
3297 | fi | ||
3298 | -rm -f core core.* *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext | ||
3299 | +rm -fr conftest* | ||
3300 | fi | ||
3301 | + | ||
3302 | fi | ||
3303 | -rm -f conftest.$ac_objext conftest.$ac_ext | ||
3304 | fi | ||
3305 | -echo "$as_me:$LINENO: result: $ac_cv_c_bigendian" >&5 | ||
3306 | -echo "${ECHO_T}$ac_cv_c_bigendian" >&6 | ||
3307 | -case $ac_cv_c_bigendian in | ||
3308 | - yes) | ||
3309 | |||
3310 | -cat >>confdefs.h <<\_ACEOF | ||
3311 | +echo "$ac_t""$ac_cv_c_bigendian" 1>&6 | ||
3312 | +if test $ac_cv_c_bigendian = yes; then | ||
3313 | + cat >> confdefs.h <<\EOF | ||
3314 | #define WORDS_BIGENDIAN 1 | ||
3315 | -_ACEOF | ||
3316 | - ;; | ||
3317 | - no) | ||
3318 | - ;; | ||
3319 | - *) | ||
3320 | - { { echo "$as_me:$LINENO: error: unknown endianness | ||
3321 | -presetting ac_cv_c_bigendian=no (or yes) will help" >&5 | ||
3322 | -echo "$as_me: error: unknown endianness | ||
3323 | -presetting ac_cv_c_bigendian=no (or yes) will help" >&2;} | ||
3324 | - { (exit 1); exit 1; }; } ;; | ||
3325 | -esac | ||
3326 | +EOF | ||
3327 | |||
3328 | +fi | ||
3329 | |||
3330 | + | ||
3331 | if test "x$GCC" = "xyes"; then | ||
3332 | CFLAGS="$CFLAGS -Wall" | ||
3333 | fi | ||
3334 | @@ -2697,14 +1096,13 @@ | ||
3335 | case "${enableval}" in | ||
3336 | yes) shared=true ;; | ||
3337 | no) shared=false ;; | ||
3338 | - *) { { echo "$as_me:$LINENO: error: bad value ${enableval} for shared options" >&5 | ||
3339 | -echo "$as_me: error: bad value ${enableval} for shared options" >&2;} | ||
3340 | - { (exit 1); exit 1; }; } ;; | ||
3341 | + *) { echo "configure: error: bad value ${enableval} for shared options" 1>&2; exit 1; } ;; | ||
3342 | esac | ||
3343 | else | ||
3344 | shared=false | ||
3345 | -fi; | ||
3346 | +fi | ||
3347 | |||
3348 | + | ||
3349 | case "$target_cpu" in | ||
3350 | i386|i486|i586|i686) | ||
3351 | TARGET_CPU=i386 | ||
3352 | @@ -2712,7 +1110,7 @@ | ||
3353 | *) | ||
3354 | TARGET_CPU=$target_cpu | ||
3355 | ;; | ||
3356 | -esac | ||
3357 | +esac | ||
3358 | TARGET_OS=$target_os | ||
3359 | |||
3360 | M68KCC= | ||
3361 | @@ -2726,7 +1124,7 @@ | ||
3362 | M68KCC=/usr/m68k-palmos/bin/gcc | ||
3363 | # Generic build is ARM or M68K (probably ARM though) | ||
3364 | CC="/usr/$TARGET_CPU-palmos/bin/gcc" | ||
3365 | - if test "$target_cpu" = "arm" | ||
3366 | + if test "$target_cpu" = "arm" | ||
3367 | then | ||
3368 | CC="$CC -fPIC -march=armv4t" | ||
3369 | fi | ||
3370 | @@ -2762,7 +1160,7 @@ | ||
3371 | *) | ||
3372 | HOST_CPU=$host_cpu | ||
3373 | ;; | ||
3374 | -esac | ||
3375 | +esac | ||
3376 | HOST_OS=$host_os | ||
3377 | |||
3378 | |||
3379 | @@ -2800,138 +1198,91 @@ | ||
3380 | case "${enableval}" in | ||
3381 | yes) sockets=true ;; | ||
3382 | no) sockets=false ;; | ||
3383 | - *) { { echo "$as_me:$LINENO: error: bad value ${enableval} for sockets options" >&5 | ||
3384 | -echo "$as_me: error: bad value ${enableval} for sockets options" >&2;} | ||
3385 | - { (exit 1); exit 1; }; } ;; | ||
3386 | + *) { echo "configure: error: bad value ${enableval} for sockets options" 1>&2; exit 1; } ;; | ||
3387 | esac | ||
3388 | else | ||
3389 | sockets=true | ||
3390 | -fi; | ||
3391 | +fi | ||
3392 | + | ||
3393 | if test "$sockets" = false; then | ||
3394 | - cat >>confdefs.h <<\_ACEOF | ||
3395 | + cat >> confdefs.h <<\EOF | ||
3396 | #define CST_NO_SOCKETS 1 | ||
3397 | -_ACEOF | ||
3398 | +EOF | ||
3399 | |||
3400 | fi | ||
3401 | |||
3402 | -cat >conftest.$ac_ext <<_ACEOF | ||
3403 | -#line $LINENO "configure" | ||
3404 | -/* confdefs.h. */ | ||
3405 | -_ACEOF | ||
3406 | -cat confdefs.h >>conftest.$ac_ext | ||
3407 | -cat >>conftest.$ac_ext <<_ACEOF | ||
3408 | -/* end confdefs.h. */ | ||
3409 | +cat > conftest.$ac_ext <<EOF | ||
3410 | +#line 1216 "configure" | ||
3411 | +#include "confdefs.h" | ||
3412 | #include <stdio.h> | ||
3413 | -int | ||
3414 | -main () | ||
3415 | -{ | ||
3416 | +int main() { | ||
3417 | struct a { union { float b; int c; } d; }; | ||
3418 | - const struct a e = { .d={ .b=3.14 } }; | ||
3419 | - ; | ||
3420 | - return 0; | ||
3421 | -} | ||
3422 | -_ACEOF | ||
3423 | -rm -f conftest.$ac_objext | ||
3424 | -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 | ||
3425 | - (eval $ac_compile) 2>&5 | ||
3426 | - ac_status=$? | ||
3427 | - echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
3428 | - (exit $ac_status); } && | ||
3429 | - { ac_try='test -s conftest.$ac_objext' | ||
3430 | - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | ||
3431 | - (eval $ac_try) 2>&5 | ||
3432 | - ac_status=$? | ||
3433 | - echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
3434 | - (exit $ac_status); }; }; then | ||
3435 | + const struct a e = { .d={ .b=3.14 } }; | ||
3436 | +; return 0; } | ||
3437 | +EOF | ||
3438 | +if { (eval echo configure:1224: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then | ||
3439 | + rm -rf conftest* | ||
3440 | unioninit=yes | ||
3441 | else | ||
3442 | - echo "$as_me: failed program was:" >&5 | ||
3443 | -sed 's/^/| /' conftest.$ac_ext >&5 | ||
3444 | - | ||
3445 | -unioninit=no | ||
3446 | + echo "configure: failed program was:" >&5 | ||
3447 | + cat conftest.$ac_ext >&5 | ||
3448 | + rm -rf conftest* | ||
3449 | + unioninit=no | ||
3450 | fi | ||
3451 | -rm -f conftest.$ac_objext conftest.$ac_ext | ||
3452 | +rm -f conftest* | ||
3453 | if test "$unioninit" = no; then | ||
3454 | - cat >>confdefs.h <<\_ACEOF | ||
3455 | + cat >> confdefs.h <<\EOF | ||
3456 | #define NO_UNION_INITIALIZATION 1 | ||
3457 | -_ACEOF | ||
3458 | +EOF | ||
3459 | |||
3460 | fi | ||
3461 | |||
3462 | -echo "$as_me:$LINENO: checking for mmap" >&5 | ||
3463 | -echo $ECHO_N "checking for mmap... $ECHO_C" >&6 | ||
3464 | -if test "${ac_cv_func_mmap+set}" = set; then | ||
3465 | - echo $ECHO_N "(cached) $ECHO_C" >&6 | ||
3466 | +echo $ac_n "checking for mmap""... $ac_c" 1>&6 | ||
3467 | +echo "configure:1242: checking for mmap" >&5 | ||
3468 | +if eval "test \"`echo '$''{'ac_cv_func_mmap'+set}'`\" = set"; then | ||
3469 | + echo $ac_n "(cached) $ac_c" 1>&6 | ||
3470 | else | ||
3471 | - cat >conftest.$ac_ext <<_ACEOF | ||
3472 | -#line $LINENO "configure" | ||
3473 | -/* confdefs.h. */ | ||
3474 | -_ACEOF | ||
3475 | -cat confdefs.h >>conftest.$ac_ext | ||
3476 | -cat >>conftest.$ac_ext <<_ACEOF | ||
3477 | -/* end confdefs.h. */ | ||
3478 | + cat > conftest.$ac_ext <<EOF | ||
3479 | +#line 1247 "configure" | ||
3480 | +#include "confdefs.h" | ||
3481 | /* System header to define __stub macros and hopefully few prototypes, | ||
3482 | - which can conflict with char mmap (); below. | ||
3483 | - Prefer <limits.h> to <assert.h> if __STDC__ is defined, since | ||
3484 | - <limits.h> exists even on freestanding compilers. */ | ||
3485 | -#ifdef __STDC__ | ||
3486 | -# include <limits.h> | ||
3487 | -#else | ||
3488 | -# include <assert.h> | ||
3489 | -#endif | ||
3490 | + which can conflict with char mmap(); below. */ | ||
3491 | +#include <assert.h> | ||
3492 | /* Override any gcc2 internal prototype to avoid an error. */ | ||
3493 | -#ifdef __cplusplus | ||
3494 | -extern "C" | ||
3495 | -{ | ||
3496 | -#endif | ||
3497 | /* We use char because int might match the return type of a gcc2 | ||
3498 | - builtin and then its argument prototype would still apply. */ | ||
3499 | -char mmap (); | ||
3500 | + builtin and then its argument prototype would still apply. */ | ||
3501 | +char mmap(); | ||
3502 | + | ||
3503 | +int main() { | ||
3504 | + | ||
3505 | /* The GNU C library defines this for functions which it implements | ||
3506 | to always fail with ENOSYS. Some functions are actually named | ||
3507 | something starting with __ and the normal name is an alias. */ | ||
3508 | #if defined (__stub_mmap) || defined (__stub___mmap) | ||
3509 | choke me | ||
3510 | #else | ||
3511 | -char (*f) () = mmap; | ||
3512 | +mmap(); | ||
3513 | #endif | ||
3514 | -#ifdef __cplusplus | ||
3515 | -} | ||
3516 | -#endif | ||
3517 | |||
3518 | -int | ||
3519 | -main () | ||
3520 | -{ | ||
3521 | -return f != mmap; | ||
3522 | - ; | ||
3523 | - return 0; | ||
3524 | -} | ||
3525 | -_ACEOF | ||
3526 | -rm -f conftest.$ac_objext conftest$ac_exeext | ||
3527 | -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 | ||
3528 | - (eval $ac_link) 2>&5 | ||
3529 | - ac_status=$? | ||
3530 | - echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
3531 | - (exit $ac_status); } && | ||
3532 | - { ac_try='test -s conftest$ac_exeext' | ||
3533 | - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | ||
3534 | - (eval $ac_try) 2>&5 | ||
3535 | - ac_status=$? | ||
3536 | - echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
3537 | - (exit $ac_status); }; }; then | ||
3538 | - ac_cv_func_mmap=yes | ||
3539 | +; return 0; } | ||
3540 | +EOF | ||
3541 | +if { (eval echo configure:1270: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest${ac_exeext}; then | ||
3542 | + rm -rf conftest* | ||
3543 | + eval "ac_cv_func_mmap=yes" | ||
3544 | else | ||
3545 | - echo "$as_me: failed program was:" >&5 | ||
3546 | -sed 's/^/| /' conftest.$ac_ext >&5 | ||
3547 | - | ||
3548 | -ac_cv_func_mmap=no | ||
3549 | + echo "configure: failed program was:" >&5 | ||
3550 | + cat conftest.$ac_ext >&5 | ||
3551 | + rm -rf conftest* | ||
3552 | + eval "ac_cv_func_mmap=no" | ||
3553 | fi | ||
3554 | -rm -f conftest.$ac_objext conftest$ac_exeext conftest.$ac_ext | ||
3555 | +rm -f conftest* | ||
3556 | fi | ||
3557 | -echo "$as_me:$LINENO: result: $ac_cv_func_mmap" >&5 | ||
3558 | -echo "${ECHO_T}$ac_cv_func_mmap" >&6 | ||
3559 | -if test $ac_cv_func_mmap = yes; then | ||
3560 | + | ||
3561 | +if eval "test \"`echo '$ac_cv_func_'mmap`\" = yes"; then | ||
3562 | + echo "$ac_t""yes" 1>&6 | ||
3563 | MMAPTYPE=posix | ||
3564 | +else | ||
3565 | + echo "$ac_t""no" 1>&6 | ||
3566 | fi | ||
3567 | |||
3568 | |||
3569 | @@ -2956,1028 +1307,266 @@ | ||
3570 | |||
3571 | |||
3572 | AUDIODRIVER=none | ||
3573 | -ac_ext=c | ||
3574 | -ac_cpp='$CPP $CPPFLAGS' | ||
3575 | -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' | ||
3576 | -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' | ||
3577 | -ac_compiler_gnu=$ac_cv_c_compiler_gnu | ||
3578 | -echo "$as_me:$LINENO: checking how to run the C preprocessor" >&5 | ||
3579 | -echo $ECHO_N "checking how to run the C preprocessor... $ECHO_C" >&6 | ||
3580 | +echo $ac_n "checking how to run the C preprocessor""... $ac_c" 1>&6 | ||
3581 | +echo "configure:1312: checking how to run the C preprocessor" >&5 | ||
3582 | # On Suns, sometimes $CPP names a directory. | ||
3583 | if test -n "$CPP" && test -d "$CPP"; then | ||
3584 | CPP= | ||
3585 | fi | ||
3586 | if test -z "$CPP"; then | ||
3587 | - if test "${ac_cv_prog_CPP+set}" = set; then | ||
3588 | - echo $ECHO_N "(cached) $ECHO_C" >&6 | ||
3589 | +if eval "test \"`echo '$''{'ac_cv_prog_CPP'+set}'`\" = set"; then | ||
3590 | + echo $ac_n "(cached) $ac_c" 1>&6 | ||
3591 | else | ||
3592 | - # Double quotes because CPP needs to be expanded | ||
3593 | - for CPP in "$CC -E" "$CC -E -traditional-cpp" "/lib/cpp" | ||
3594 | - do | ||
3595 | - ac_preproc_ok=false | ||
3596 | -for ac_c_preproc_warn_flag in '' yes | ||
3597 | -do | ||
3598 | - # Use a header file that comes with gcc, so configuring glibc | ||
3599 | - # with a fresh cross-compiler works. | ||
3600 | - # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since | ||
3601 | - # <limits.h> exists even on freestanding compilers. | ||
3602 | + # This must be in double quotes, not single quotes, because CPP may get | ||
3603 | + # substituted into the Makefile and "${CC-cc}" will confuse make. | ||
3604 | + CPP="${CC-cc} -E" | ||
3605 | # On the NeXT, cc -E runs the code through the compiler's parser, | ||
3606 | - # not just through cpp. "Syntax error" is here to catch this case. | ||
3607 | - cat >conftest.$ac_ext <<_ACEOF | ||
3608 | -#line $LINENO "configure" | ||
3609 | -/* confdefs.h. */ | ||
3610 | -_ACEOF | ||
3611 | -cat confdefs.h >>conftest.$ac_ext | ||
3612 | -cat >>conftest.$ac_ext <<_ACEOF | ||
3613 | -/* end confdefs.h. */ | ||
3614 | -#ifdef __STDC__ | ||
3615 | -# include <limits.h> | ||
3616 | -#else | ||
3617 | -# include <assert.h> | ||
3618 | -#endif | ||
3619 | - Syntax error | ||
3620 | -_ACEOF | ||
3621 | -if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 | ||
3622 | - (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 | ||
3623 | - ac_status=$? | ||
3624 | - grep -v '^ *+' conftest.er1 >conftest.err | ||
3625 | - rm -f conftest.er1 | ||
3626 | - cat conftest.err >&5 | ||
3627 | - echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
3628 | - (exit $ac_status); } >/dev/null; then | ||
3629 | - if test -s conftest.err; then | ||
3630 | - ac_cpp_err=$ac_c_preproc_warn_flag | ||
3631 | - else | ||
3632 | - ac_cpp_err= | ||
3633 | - fi | ||
3634 | -else | ||
3635 | - ac_cpp_err=yes | ||
3636 | -fi | ||
3637 | -if test -z "$ac_cpp_err"; then | ||
3638 | + # not just through cpp. | ||
3639 | + cat > conftest.$ac_ext <<EOF | ||
3640 | +#line 1327 "configure" | ||
3641 | +#include "confdefs.h" | ||
3642 | +#include <assert.h> | ||
3643 | +Syntax Error | ||
3644 | +EOF | ||
3645 | +ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" | ||
3646 | +{ (eval echo configure:1333: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } | ||
3647 | +ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` | ||
3648 | +if test -z "$ac_err"; then | ||
3649 | : | ||
3650 | else | ||
3651 | - echo "$as_me: failed program was:" >&5 | ||
3652 | -sed 's/^/| /' conftest.$ac_ext >&5 | ||
3653 | - | ||
3654 | - # Broken: fails on valid input. | ||
3655 | -continue | ||
3656 | -fi | ||
3657 | -rm -f conftest.err conftest.$ac_ext | ||
3658 | - | ||
3659 | - # OK, works on sane cases. Now check whether non-existent headers | ||
3660 | - # can be detected and how. | ||
3661 | - cat >conftest.$ac_ext <<_ACEOF | ||
3662 | -#line $LINENO "configure" | ||
3663 | -/* confdefs.h. */ | ||
3664 | -_ACEOF | ||
3665 | -cat confdefs.h >>conftest.$ac_ext | ||
3666 | -cat >>conftest.$ac_ext <<_ACEOF | ||
3667 | -/* end confdefs.h. */ | ||
3668 | -#include <ac_nonexistent.h> | ||
3669 | -_ACEOF | ||
3670 | -if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 | ||
3671 | - (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 | ||
3672 | - ac_status=$? | ||
3673 | - grep -v '^ *+' conftest.er1 >conftest.err | ||
3674 | - rm -f conftest.er1 | ||
3675 | - cat conftest.err >&5 | ||
3676 | - echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
3677 | - (exit $ac_status); } >/dev/null; then | ||
3678 | - if test -s conftest.err; then | ||
3679 | - ac_cpp_err=$ac_c_preproc_warn_flag | ||
3680 | - else | ||
3681 | - ac_cpp_err= | ||
3682 | - fi | ||
3683 | -else | ||
3684 | - ac_cpp_err=yes | ||
3685 | -fi | ||
3686 | -if test -z "$ac_cpp_err"; then | ||
3687 | - # Broken: success on invalid input. | ||
3688 | -continue | ||
3689 | -else | ||
3690 | - echo "$as_me: failed program was:" >&5 | ||
3691 | -sed 's/^/| /' conftest.$ac_ext >&5 | ||
3692 | - | ||
3693 | - # Passes both tests. | ||
3694 | -ac_preproc_ok=: | ||
3695 | -break | ||
3696 | -fi | ||
3697 | -rm -f conftest.err conftest.$ac_ext | ||
3698 | - | ||
3699 | -done | ||
3700 | -# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. | ||
3701 | -rm -f conftest.err conftest.$ac_ext | ||
3702 | -if $ac_preproc_ok; then | ||
3703 | - break | ||
3704 | -fi | ||
3705 | - | ||
3706 | - done | ||
3707 | - ac_cv_prog_CPP=$CPP | ||
3708 | - | ||
3709 | -fi | ||
3710 | - CPP=$ac_cv_prog_CPP | ||
3711 | -else | ||
3712 | - ac_cv_prog_CPP=$CPP | ||
3713 | -fi | ||
3714 | -echo "$as_me:$LINENO: result: $CPP" >&5 | ||
3715 | -echo "${ECHO_T}$CPP" >&6 | ||
3716 | -ac_preproc_ok=false | ||
3717 | -for ac_c_preproc_warn_flag in '' yes | ||
3718 | -do | ||
3719 | - # Use a header file that comes with gcc, so configuring glibc | ||
3720 | - # with a fresh cross-compiler works. | ||
3721 | - # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since | ||
3722 | - # <limits.h> exists even on freestanding compilers. | ||
3723 | - # On the NeXT, cc -E runs the code through the compiler's parser, | ||
3724 | - # not just through cpp. "Syntax error" is here to catch this case. | ||
3725 | - cat >conftest.$ac_ext <<_ACEOF | ||
3726 | -#line $LINENO "configure" | ||
3727 | -/* confdefs.h. */ | ||
3728 | -_ACEOF | ||
3729 | -cat confdefs.h >>conftest.$ac_ext | ||
3730 | -cat >>conftest.$ac_ext <<_ACEOF | ||
3731 | -/* end confdefs.h. */ | ||
3732 | -#ifdef __STDC__ | ||
3733 | -# include <limits.h> | ||
3734 | -#else | ||
3735 | -# include <assert.h> | ||
3736 | -#endif | ||
3737 | - Syntax error | ||
3738 | -_ACEOF | ||
3739 | -if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 | ||
3740 | - (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 | ||
3741 | - ac_status=$? | ||
3742 | - grep -v '^ *+' conftest.er1 >conftest.err | ||
3743 | - rm -f conftest.er1 | ||
3744 | - cat conftest.err >&5 | ||
3745 | - echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
3746 | - (exit $ac_status); } >/dev/null; then | ||
3747 | - if test -s conftest.err; then | ||
3748 | - ac_cpp_err=$ac_c_preproc_warn_flag | ||
3749 | - else | ||
3750 | - ac_cpp_err= | ||
3751 | - fi | ||
3752 | -else | ||
3753 | - ac_cpp_err=yes | ||
3754 | -fi | ||
3755 | -if test -z "$ac_cpp_err"; then | ||
3756 | + echo "$ac_err" >&5 | ||
3757 | + echo "configure: failed program was:" >&5 | ||
3758 | + cat conftest.$ac_ext >&5 | ||
3759 | + rm -rf conftest* | ||
3760 | + CPP="${CC-cc} -E -traditional-cpp" | ||
3761 | + cat > conftest.$ac_ext <<EOF | ||
3762 | +#line 1344 "configure" | ||
3763 | +#include "confdefs.h" | ||
3764 | +#include <assert.h> | ||
3765 | +Syntax Error | ||
3766 | +EOF | ||
3767 | +ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" | ||
3768 | +{ (eval echo configure:1350: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } | ||
3769 | +ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` | ||
3770 | +if test -z "$ac_err"; then | ||
3771 | : | ||
3772 | else | ||
3773 | - echo "$as_me: failed program was:" >&5 | ||
3774 | -sed 's/^/| /' conftest.$ac_ext >&5 | ||
3775 | - | ||
3776 | - # Broken: fails on valid input. | ||
3777 | -continue | ||
3778 | -fi | ||
3779 | -rm -f conftest.err conftest.$ac_ext | ||
3780 | - | ||
3781 | - # OK, works on sane cases. Now check whether non-existent headers | ||
3782 | - # can be detected and how. | ||
3783 | - cat >conftest.$ac_ext <<_ACEOF | ||
3784 | -#line $LINENO "configure" | ||
3785 | -/* confdefs.h. */ | ||
3786 | -_ACEOF | ||
3787 | -cat confdefs.h >>conftest.$ac_ext | ||
3788 | -cat >>conftest.$ac_ext <<_ACEOF | ||
3789 | -/* end confdefs.h. */ | ||
3790 | -#include <ac_nonexistent.h> | ||
3791 | -_ACEOF | ||
3792 | -if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 | ||
3793 | - (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 | ||
3794 | - ac_status=$? | ||
3795 | - grep -v '^ *+' conftest.er1 >conftest.err | ||
3796 | - rm -f conftest.er1 | ||
3797 | - cat conftest.err >&5 | ||
3798 | - echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
3799 | - (exit $ac_status); } >/dev/null; then | ||
3800 | - if test -s conftest.err; then | ||
3801 | - ac_cpp_err=$ac_c_preproc_warn_flag | ||
3802 | - else | ||
3803 | - ac_cpp_err= | ||
3804 | - fi | ||
3805 | -else | ||
3806 | - ac_cpp_err=yes | ||
3807 | -fi | ||
3808 | -if test -z "$ac_cpp_err"; then | ||
3809 | - # Broken: success on invalid input. | ||
3810 | -continue | ||
3811 | -else | ||
3812 | - echo "$as_me: failed program was:" >&5 | ||
3813 | -sed 's/^/| /' conftest.$ac_ext >&5 | ||
3814 | - | ||
3815 | - # Passes both tests. | ||
3816 | -ac_preproc_ok=: | ||
3817 | -break | ||
3818 | -fi | ||
3819 | -rm -f conftest.err conftest.$ac_ext | ||
3820 | - | ||
3821 | -done | ||
3822 | -# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped. | ||
3823 | -rm -f conftest.err conftest.$ac_ext | ||
3824 | -if $ac_preproc_ok; then | ||
3825 | + echo "$ac_err" >&5 | ||
3826 | + echo "configure: failed program was:" >&5 | ||
3827 | + cat conftest.$ac_ext >&5 | ||
3828 | + rm -rf conftest* | ||
3829 | + CPP="${CC-cc} -nologo -E" | ||
3830 | + cat > conftest.$ac_ext <<EOF | ||
3831 | +#line 1361 "configure" | ||
3832 | +#include "confdefs.h" | ||
3833 | +#include <assert.h> | ||
3834 | +Syntax Error | ||
3835 | +EOF | ||
3836 | +ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" | ||
3837 | +{ (eval echo configure:1367: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } | ||
3838 | +ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` | ||
3839 | +if test -z "$ac_err"; then | ||
3840 | : | ||
3841 | else | ||
3842 | - { { echo "$as_me:$LINENO: error: C preprocessor \"$CPP\" fails sanity check | ||
3843 | -See \`config.log' for more details." >&5 | ||
3844 | -echo "$as_me: error: C preprocessor \"$CPP\" fails sanity check | ||
3845 | -See \`config.log' for more details." >&2;} | ||
3846 | - { (exit 1); exit 1; }; } | ||
3847 | + echo "$ac_err" >&5 | ||
3848 | + echo "configure: failed program was:" >&5 | ||
3849 | + cat conftest.$ac_ext >&5 | ||
3850 | + rm -rf conftest* | ||
3851 | + CPP=/lib/cpp | ||
3852 | fi | ||
3853 | - | ||
3854 | -ac_ext=c | ||
3855 | -ac_cpp='$CPP $CPPFLAGS' | ||
3856 | -ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5' | ||
3857 | -ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5' | ||
3858 | -ac_compiler_gnu=$ac_cv_c_compiler_gnu | ||
3859 | - | ||
3860 | - | ||
3861 | -echo "$as_me:$LINENO: checking for egrep" >&5 | ||
3862 | -echo $ECHO_N "checking for egrep... $ECHO_C" >&6 | ||
3863 | -if test "${ac_cv_prog_egrep+set}" = set; then | ||
3864 | - echo $ECHO_N "(cached) $ECHO_C" >&6 | ||
3865 | -else | ||
3866 | - if echo a | (grep -E '(a|b)') >/dev/null 2>&1 | ||
3867 | - then ac_cv_prog_egrep='grep -E' | ||
3868 | - else ac_cv_prog_egrep='egrep' | ||
3869 | - fi | ||
3870 | +rm -f conftest* | ||
3871 | fi | ||
3872 | -echo "$as_me:$LINENO: result: $ac_cv_prog_egrep" >&5 | ||
3873 | -echo "${ECHO_T}$ac_cv_prog_egrep" >&6 | ||
3874 | - EGREP=$ac_cv_prog_egrep | ||
3875 | - | ||
3876 | - | ||
3877 | -echo "$as_me:$LINENO: checking for ANSI C header files" >&5 | ||
3878 | -echo $ECHO_N "checking for ANSI C header files... $ECHO_C" >&6 | ||
3879 | -if test "${ac_cv_header_stdc+set}" = set; then | ||
3880 | - echo $ECHO_N "(cached) $ECHO_C" >&6 | ||
3881 | -else | ||
3882 | - cat >conftest.$ac_ext <<_ACEOF | ||
3883 | -#line $LINENO "configure" | ||
3884 | -/* confdefs.h. */ | ||
3885 | -_ACEOF | ||
3886 | -cat confdefs.h >>conftest.$ac_ext | ||
3887 | -cat >>conftest.$ac_ext <<_ACEOF | ||
3888 | -/* end confdefs.h. */ | ||
3889 | -#include <stdlib.h> | ||
3890 | -#include <stdarg.h> | ||
3891 | -#include <string.h> | ||
3892 | -#include <float.h> | ||
3893 | - | ||
3894 | -int | ||
3895 | -main () | ||
3896 | -{ | ||
3897 | - | ||
3898 | - ; | ||
3899 | - return 0; | ||
3900 | -} | ||
3901 | -_ACEOF | ||
3902 | -rm -f conftest.$ac_objext | ||
3903 | -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 | ||
3904 | - (eval $ac_compile) 2>&5 | ||
3905 | - ac_status=$? | ||
3906 | - echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
3907 | - (exit $ac_status); } && | ||
3908 | - { ac_try='test -s conftest.$ac_objext' | ||
3909 | - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | ||
3910 | - (eval $ac_try) 2>&5 | ||
3911 | - ac_status=$? | ||
3912 | - echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
3913 | - (exit $ac_status); }; }; then | ||
3914 | - ac_cv_header_stdc=yes | ||
3915 | -else | ||
3916 | - echo "$as_me: failed program was:" >&5 | ||
3917 | -sed 's/^/| /' conftest.$ac_ext >&5 | ||
3918 | - | ||
3919 | -ac_cv_header_stdc=no | ||
3920 | -fi | ||
3921 | -rm -f conftest.$ac_objext conftest.$ac_ext | ||
3922 | - | ||
3923 | -if test $ac_cv_header_stdc = yes; then | ||
3924 | - # SunOS 4.x string.h does not declare mem*, contrary to ANSI. | ||
3925 | - cat >conftest.$ac_ext <<_ACEOF | ||
3926 | -#line $LINENO "configure" | ||
3927 | -/* confdefs.h. */ | ||
3928 | -_ACEOF | ||
3929 | -cat confdefs.h >>conftest.$ac_ext | ||
3930 | -cat >>conftest.$ac_ext <<_ACEOF | ||
3931 | -/* end confdefs.h. */ | ||
3932 | -#include <string.h> | ||
3933 | - | ||
3934 | -_ACEOF | ||
3935 | -if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | | ||
3936 | - $EGREP "memchr" >/dev/null 2>&1; then | ||
3937 | - : | ||
3938 | -else | ||
3939 | - ac_cv_header_stdc=no | ||
3940 | -fi | ||
3941 | rm -f conftest* | ||
3942 | - | ||
3943 | fi | ||
3944 | - | ||
3945 | -if test $ac_cv_header_stdc = yes; then | ||
3946 | - # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI. | ||
3947 | - cat >conftest.$ac_ext <<_ACEOF | ||
3948 | -#line $LINENO "configure" | ||
3949 | -/* confdefs.h. */ | ||
3950 | -_ACEOF | ||
3951 | -cat confdefs.h >>conftest.$ac_ext | ||
3952 | -cat >>conftest.$ac_ext <<_ACEOF | ||
3953 | -/* end confdefs.h. */ | ||
3954 | -#include <stdlib.h> | ||
3955 | - | ||
3956 | -_ACEOF | ||
3957 | -if (eval "$ac_cpp conftest.$ac_ext") 2>&5 | | ||
3958 | - $EGREP "free" >/dev/null 2>&1; then | ||
3959 | - : | ||
3960 | -else | ||
3961 | - ac_cv_header_stdc=no | ||
3962 | -fi | ||
3963 | rm -f conftest* | ||
3964 | - | ||
3965 | + ac_cv_prog_CPP="$CPP" | ||
3966 | fi | ||
3967 | - | ||
3968 | -if test $ac_cv_header_stdc = yes; then | ||
3969 | - # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi. | ||
3970 | - if test "$cross_compiling" = yes; then | ||
3971 | - : | ||
3972 | + CPP="$ac_cv_prog_CPP" | ||
3973 | else | ||
3974 | - cat >conftest.$ac_ext <<_ACEOF | ||
3975 | -#line $LINENO "configure" | ||
3976 | -/* confdefs.h. */ | ||
3977 | -_ACEOF | ||
3978 | -cat confdefs.h >>conftest.$ac_ext | ||
3979 | -cat >>conftest.$ac_ext <<_ACEOF | ||
3980 | -/* end confdefs.h. */ | ||
3981 | -#include <ctype.h> | ||
3982 | -#if ((' ' & 0x0FF) == 0x020) | ||
3983 | -# define ISLOWER(c) ('a' <= (c) && (c) <= 'z') | ||
3984 | -# define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c)) | ||
3985 | -#else | ||
3986 | -# define ISLOWER(c) \ | ||
3987 | - (('a' <= (c) && (c) <= 'i') \ | ||
3988 | - || ('j' <= (c) && (c) <= 'r') \ | ||
3989 | - || ('s' <= (c) && (c) <= 'z')) | ||
3990 | -# define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c)) | ||
3991 | -#endif | ||
3992 | - | ||
3993 | -#define XOR(e, f) (((e) && !(f)) || (!(e) && (f))) | ||
3994 | -int | ||
3995 | -main () | ||
3996 | -{ | ||
3997 | - int i; | ||
3998 | - for (i = 0; i < 256; i++) | ||
3999 | - if (XOR (islower (i), ISLOWER (i)) | ||
4000 | - || toupper (i) != TOUPPER (i)) | ||
4001 | - exit(2); | ||
4002 | - exit (0); | ||
4003 | -} | ||
4004 | -_ACEOF | ||
4005 | -rm -f conftest$ac_exeext | ||
4006 | -if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5 | ||
4007 | - (eval $ac_link) 2>&5 | ||
4008 | - ac_status=$? | ||
4009 | - echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
4010 | - (exit $ac_status); } && { ac_try='./conftest$ac_exeext' | ||
4011 | - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | ||
4012 | - (eval $ac_try) 2>&5 | ||
4013 | - ac_status=$? | ||
4014 | - echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
4015 | - (exit $ac_status); }; }; then | ||
4016 | - : | ||
4017 | -else | ||
4018 | - echo "$as_me: program exited with status $ac_status" >&5 | ||
4019 | -echo "$as_me: failed program was:" >&5 | ||
4020 | -sed 's/^/| /' conftest.$ac_ext >&5 | ||
4021 | - | ||
4022 | -( exit $ac_status ) | ||
4023 | -ac_cv_header_stdc=no | ||
4024 | + ac_cv_prog_CPP="$CPP" | ||
4025 | fi | ||
4026 | -rm -f core core.* *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext | ||
4027 | -fi | ||
4028 | -fi | ||
4029 | -fi | ||
4030 | -echo "$as_me:$LINENO: result: $ac_cv_header_stdc" >&5 | ||
4031 | -echo "${ECHO_T}$ac_cv_header_stdc" >&6 | ||
4032 | -if test $ac_cv_header_stdc = yes; then | ||
4033 | +echo "$ac_t""$CPP" 1>&6 | ||
4034 | |||
4035 | -cat >>confdefs.h <<\_ACEOF | ||
4036 | -#define STDC_HEADERS 1 | ||
4037 | -_ACEOF | ||
4038 | - | ||
4039 | -fi | ||
4040 | - | ||
4041 | -# On IRIX 5.3, sys/types and inttypes.h are conflicting. | ||
4042 | - | ||
4043 | - | ||
4044 | - | ||
4045 | - | ||
4046 | - | ||
4047 | - | ||
4048 | - | ||
4049 | - | ||
4050 | - | ||
4051 | -for ac_header in sys/types.h sys/stat.h stdlib.h string.h memory.h strings.h \ | ||
4052 | - inttypes.h stdint.h unistd.h | ||
4053 | -do | ||
4054 | -as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh` | ||
4055 | -echo "$as_me:$LINENO: checking for $ac_header" >&5 | ||
4056 | -echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6 | ||
4057 | -if eval "test \"\${$as_ac_Header+set}\" = set"; then | ||
4058 | - echo $ECHO_N "(cached) $ECHO_C" >&6 | ||
4059 | +ac_safe=`echo "sys/soundcard.h" | sed 'y%./+-%__p_%'` | ||
4060 | +echo $ac_n "checking for sys/soundcard.h""... $ac_c" 1>&6 | ||
4061 | +echo "configure:1393: checking for sys/soundcard.h" >&5 | ||
4062 | +if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then | ||
4063 | + echo $ac_n "(cached) $ac_c" 1>&6 | ||
4064 | else | ||
4065 | - cat >conftest.$ac_ext <<_ACEOF | ||
4066 | -#line $LINENO "configure" | ||
4067 | -/* confdefs.h. */ | ||
4068 | -_ACEOF | ||
4069 | -cat confdefs.h >>conftest.$ac_ext | ||
4070 | -cat >>conftest.$ac_ext <<_ACEOF | ||
4071 | -/* end confdefs.h. */ | ||
4072 | -$ac_includes_default | ||
4073 | - | ||
4074 | -#include <$ac_header> | ||
4075 | -_ACEOF | ||
4076 | -rm -f conftest.$ac_objext | ||
4077 | -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 | ||
4078 | - (eval $ac_compile) 2>&5 | ||
4079 | - ac_status=$? | ||
4080 | - echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
4081 | - (exit $ac_status); } && | ||
4082 | - { ac_try='test -s conftest.$ac_objext' | ||
4083 | - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | ||
4084 | - (eval $ac_try) 2>&5 | ||
4085 | - ac_status=$? | ||
4086 | - echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
4087 | - (exit $ac_status); }; }; then | ||
4088 | - eval "$as_ac_Header=yes" | ||
4089 | -else | ||
4090 | - echo "$as_me: failed program was:" >&5 | ||
4091 | -sed 's/^/| /' conftest.$ac_ext >&5 | ||
4092 | - | ||
4093 | -eval "$as_ac_Header=no" | ||
4094 | -fi | ||
4095 | -rm -f conftest.$ac_objext conftest.$ac_ext | ||
4096 | -fi | ||
4097 | -echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5 | ||
4098 | -echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6 | ||
4099 | -if test `eval echo '${'$as_ac_Header'}'` = yes; then | ||
4100 | - cat >>confdefs.h <<_ACEOF | ||
4101 | -#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1 | ||
4102 | -_ACEOF | ||
4103 | - | ||
4104 | -fi | ||
4105 | - | ||
4106 | -done | ||
4107 | - | ||
4108 | - | ||
4109 | -if test "${ac_cv_header_sys_soundcard_h+set}" = set; then | ||
4110 | - echo "$as_me:$LINENO: checking for sys/soundcard.h" >&5 | ||
4111 | -echo $ECHO_N "checking for sys/soundcard.h... $ECHO_C" >&6 | ||
4112 | -if test "${ac_cv_header_sys_soundcard_h+set}" = set; then | ||
4113 | - echo $ECHO_N "(cached) $ECHO_C" >&6 | ||
4114 | -fi | ||
4115 | -echo "$as_me:$LINENO: result: $ac_cv_header_sys_soundcard_h" >&5 | ||
4116 | -echo "${ECHO_T}$ac_cv_header_sys_soundcard_h" >&6 | ||
4117 | -else | ||
4118 | - # Is the header compilable? | ||
4119 | -echo "$as_me:$LINENO: checking sys/soundcard.h usability" >&5 | ||
4120 | -echo $ECHO_N "checking sys/soundcard.h usability... $ECHO_C" >&6 | ||
4121 | -cat >conftest.$ac_ext <<_ACEOF | ||
4122 | -#line $LINENO "configure" | ||
4123 | -/* confdefs.h. */ | ||
4124 | -_ACEOF | ||
4125 | -cat confdefs.h >>conftest.$ac_ext | ||
4126 | -cat >>conftest.$ac_ext <<_ACEOF | ||
4127 | -/* end confdefs.h. */ | ||
4128 | -$ac_includes_default | ||
4129 | + cat > conftest.$ac_ext <<EOF | ||
4130 | +#line 1398 "configure" | ||
4131 | +#include "confdefs.h" | ||
4132 | #include <sys/soundcard.h> | ||
4133 | -_ACEOF | ||
4134 | -rm -f conftest.$ac_objext | ||
4135 | -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 | ||
4136 | - (eval $ac_compile) 2>&5 | ||
4137 | - ac_status=$? | ||
4138 | - echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
4139 | - (exit $ac_status); } && | ||
4140 | - { ac_try='test -s conftest.$ac_objext' | ||
4141 | - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | ||
4142 | - (eval $ac_try) 2>&5 | ||
4143 | - ac_status=$? | ||
4144 | - echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
4145 | - (exit $ac_status); }; }; then | ||
4146 | - ac_header_compiler=yes | ||
4147 | +EOF | ||
4148 | +ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" | ||
4149 | +{ (eval echo configure:1403: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } | ||
4150 | +ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` | ||
4151 | +if test -z "$ac_err"; then | ||
4152 | + rm -rf conftest* | ||
4153 | + eval "ac_cv_header_$ac_safe=yes" | ||
4154 | else | ||
4155 | - echo "$as_me: failed program was:" >&5 | ||
4156 | -sed 's/^/| /' conftest.$ac_ext >&5 | ||
4157 | - | ||
4158 | -ac_header_compiler=no | ||
4159 | + echo "$ac_err" >&5 | ||
4160 | + echo "configure: failed program was:" >&5 | ||
4161 | + cat conftest.$ac_ext >&5 | ||
4162 | + rm -rf conftest* | ||
4163 | + eval "ac_cv_header_$ac_safe=no" | ||
4164 | fi | ||
4165 | -rm -f conftest.$ac_objext conftest.$ac_ext | ||
4166 | -echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 | ||
4167 | -echo "${ECHO_T}$ac_header_compiler" >&6 | ||
4168 | - | ||
4169 | -# Is the header present? | ||
4170 | -echo "$as_me:$LINENO: checking sys/soundcard.h presence" >&5 | ||
4171 | -echo $ECHO_N "checking sys/soundcard.h presence... $ECHO_C" >&6 | ||
4172 | -cat >conftest.$ac_ext <<_ACEOF | ||
4173 | -#line $LINENO "configure" | ||
4174 | -/* confdefs.h. */ | ||
4175 | -_ACEOF | ||
4176 | -cat confdefs.h >>conftest.$ac_ext | ||
4177 | -cat >>conftest.$ac_ext <<_ACEOF | ||
4178 | -/* end confdefs.h. */ | ||
4179 | -#include <sys/soundcard.h> | ||
4180 | -_ACEOF | ||
4181 | -if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 | ||
4182 | - (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 | ||
4183 | - ac_status=$? | ||
4184 | - grep -v '^ *+' conftest.er1 >conftest.err | ||
4185 | - rm -f conftest.er1 | ||
4186 | - cat conftest.err >&5 | ||
4187 | - echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
4188 | - (exit $ac_status); } >/dev/null; then | ||
4189 | - if test -s conftest.err; then | ||
4190 | - ac_cpp_err=$ac_c_preproc_warn_flag | ||
4191 | - else | ||
4192 | - ac_cpp_err= | ||
4193 | - fi | ||
4194 | -else | ||
4195 | - ac_cpp_err=yes | ||
4196 | +rm -f conftest* | ||
4197 | fi | ||
4198 | -if test -z "$ac_cpp_err"; then | ||
4199 | - ac_header_preproc=yes | ||
4200 | -else | ||
4201 | - echo "$as_me: failed program was:" >&5 | ||
4202 | -sed 's/^/| /' conftest.$ac_ext >&5 | ||
4203 | - | ||
4204 | - ac_header_preproc=no | ||
4205 | -fi | ||
4206 | -rm -f conftest.err conftest.$ac_ext | ||
4207 | -echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 | ||
4208 | -echo "${ECHO_T}$ac_header_preproc" >&6 | ||
4209 | - | ||
4210 | -# So? What about this header? | ||
4211 | -case $ac_header_compiler:$ac_header_preproc in | ||
4212 | - yes:no ) | ||
4213 | - { echo "$as_me:$LINENO: WARNING: sys/soundcard.h: accepted by the compiler, rejected by the preprocessor!" >&5 | ||
4214 | -echo "$as_me: WARNING: sys/soundcard.h: accepted by the compiler, rejected by the preprocessor!" >&2;} | ||
4215 | - { echo "$as_me:$LINENO: WARNING: sys/soundcard.h: proceeding with the preprocessor's result" >&5 | ||
4216 | -echo "$as_me: WARNING: sys/soundcard.h: proceeding with the preprocessor's result" >&2;} | ||
4217 | - ( | ||
4218 | - cat <<\_ASBOX | ||
4219 | -## ------------------------------------ ## | ||
4220 | -## Report this to bug-autoconf@gnu.org. ## | ||
4221 | -## ------------------------------------ ## | ||
4222 | -_ASBOX | ||
4223 | - ) | | ||
4224 | - sed "s/^/$as_me: WARNING: /" >&2 | ||
4225 | - ;; | ||
4226 | - no:yes ) | ||
4227 | - { echo "$as_me:$LINENO: WARNING: sys/soundcard.h: present but cannot be compiled" >&5 | ||
4228 | -echo "$as_me: WARNING: sys/soundcard.h: present but cannot be compiled" >&2;} | ||
4229 | - { echo "$as_me:$LINENO: WARNING: sys/soundcard.h: check for missing prerequisite headers?" >&5 | ||
4230 | -echo "$as_me: WARNING: sys/soundcard.h: check for missing prerequisite headers?" >&2;} | ||
4231 | - { echo "$as_me:$LINENO: WARNING: sys/soundcard.h: proceeding with the preprocessor's result" >&5 | ||
4232 | -echo "$as_me: WARNING: sys/soundcard.h: proceeding with the preprocessor's result" >&2;} | ||
4233 | - ( | ||
4234 | - cat <<\_ASBOX | ||
4235 | -## ------------------------------------ ## | ||
4236 | -## Report this to bug-autoconf@gnu.org. ## | ||
4237 | -## ------------------------------------ ## | ||
4238 | -_ASBOX | ||
4239 | - ) | | ||
4240 | - sed "s/^/$as_me: WARNING: /" >&2 | ||
4241 | - ;; | ||
4242 | -esac | ||
4243 | -echo "$as_me:$LINENO: checking for sys/soundcard.h" >&5 | ||
4244 | -echo $ECHO_N "checking for sys/soundcard.h... $ECHO_C" >&6 | ||
4245 | -if test "${ac_cv_header_sys_soundcard_h+set}" = set; then | ||
4246 | - echo $ECHO_N "(cached) $ECHO_C" >&6 | ||
4247 | -else | ||
4248 | - ac_cv_header_sys_soundcard_h=$ac_header_preproc | ||
4249 | -fi | ||
4250 | -echo "$as_me:$LINENO: result: $ac_cv_header_sys_soundcard_h" >&5 | ||
4251 | -echo "${ECHO_T}$ac_cv_header_sys_soundcard_h" >&6 | ||
4252 | - | ||
4253 | -fi | ||
4254 | -if test $ac_cv_header_sys_soundcard_h = yes; then | ||
4255 | +if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then | ||
4256 | + echo "$ac_t""yes" 1>&6 | ||
4257 | AUDIODRIVER="oss" | ||
4258 | AUDIODEFS=-DCST_AUDIO_LINUX | ||
4259 | +else | ||
4260 | + echo "$ac_t""no" 1>&6 | ||
4261 | fi | ||
4262 | |||
4263 | - | ||
4264 | -if test "${ac_cv_header_machine_soundcard_h+set}" = set; then | ||
4265 | - echo "$as_me:$LINENO: checking for machine/soundcard.h" >&5 | ||
4266 | -echo $ECHO_N "checking for machine/soundcard.h... $ECHO_C" >&6 | ||
4267 | -if test "${ac_cv_header_machine_soundcard_h+set}" = set; then | ||
4268 | - echo $ECHO_N "(cached) $ECHO_C" >&6 | ||
4269 | -fi | ||
4270 | -echo "$as_me:$LINENO: result: $ac_cv_header_machine_soundcard_h" >&5 | ||
4271 | -echo "${ECHO_T}$ac_cv_header_machine_soundcard_h" >&6 | ||
4272 | +ac_safe=`echo "machine/soundcard.h" | sed 'y%./+-%__p_%'` | ||
4273 | +echo $ac_n "checking for machine/soundcard.h""... $ac_c" 1>&6 | ||
4274 | +echo "configure:1427: checking for machine/soundcard.h" >&5 | ||
4275 | +if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then | ||
4276 | + echo $ac_n "(cached) $ac_c" 1>&6 | ||
4277 | else | ||
4278 | - # Is the header compilable? | ||
4279 | -echo "$as_me:$LINENO: checking machine/soundcard.h usability" >&5 | ||
4280 | -echo $ECHO_N "checking machine/soundcard.h usability... $ECHO_C" >&6 | ||
4281 | -cat >conftest.$ac_ext <<_ACEOF | ||
4282 | -#line $LINENO "configure" | ||
4283 | -/* confdefs.h. */ | ||
4284 | -_ACEOF | ||
4285 | -cat confdefs.h >>conftest.$ac_ext | ||
4286 | -cat >>conftest.$ac_ext <<_ACEOF | ||
4287 | -/* end confdefs.h. */ | ||
4288 | -$ac_includes_default | ||
4289 | + cat > conftest.$ac_ext <<EOF | ||
4290 | +#line 1432 "configure" | ||
4291 | +#include "confdefs.h" | ||
4292 | #include <machine/soundcard.h> | ||
4293 | -_ACEOF | ||
4294 | -rm -f conftest.$ac_objext | ||
4295 | -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 | ||
4296 | - (eval $ac_compile) 2>&5 | ||
4297 | - ac_status=$? | ||
4298 | - echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
4299 | - (exit $ac_status); } && | ||
4300 | - { ac_try='test -s conftest.$ac_objext' | ||
4301 | - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | ||
4302 | - (eval $ac_try) 2>&5 | ||
4303 | - ac_status=$? | ||
4304 | - echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
4305 | - (exit $ac_status); }; }; then | ||
4306 | - ac_header_compiler=yes | ||
4307 | +EOF | ||
4308 | +ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" | ||
4309 | +{ (eval echo configure:1437: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } | ||
4310 | +ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` | ||
4311 | +if test -z "$ac_err"; then | ||
4312 | + rm -rf conftest* | ||
4313 | + eval "ac_cv_header_$ac_safe=yes" | ||
4314 | else | ||
4315 | - echo "$as_me: failed program was:" >&5 | ||
4316 | -sed 's/^/| /' conftest.$ac_ext >&5 | ||
4317 | - | ||
4318 | -ac_header_compiler=no | ||
4319 | + echo "$ac_err" >&5 | ||
4320 | + echo "configure: failed program was:" >&5 | ||
4321 | + cat conftest.$ac_ext >&5 | ||
4322 | + rm -rf conftest* | ||
4323 | + eval "ac_cv_header_$ac_safe=no" | ||
4324 | fi | ||
4325 | -rm -f conftest.$ac_objext conftest.$ac_ext | ||
4326 | -echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 | ||
4327 | -echo "${ECHO_T}$ac_header_compiler" >&6 | ||
4328 | - | ||
4329 | -# Is the header present? | ||
4330 | -echo "$as_me:$LINENO: checking machine/soundcard.h presence" >&5 | ||
4331 | -echo $ECHO_N "checking machine/soundcard.h presence... $ECHO_C" >&6 | ||
4332 | -cat >conftest.$ac_ext <<_ACEOF | ||
4333 | -#line $LINENO "configure" | ||
4334 | -/* confdefs.h. */ | ||
4335 | -_ACEOF | ||
4336 | -cat confdefs.h >>conftest.$ac_ext | ||
4337 | -cat >>conftest.$ac_ext <<_ACEOF | ||
4338 | -/* end confdefs.h. */ | ||
4339 | -#include <machine/soundcard.h> | ||
4340 | -_ACEOF | ||
4341 | -if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 | ||
4342 | - (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 | ||
4343 | - ac_status=$? | ||
4344 | - grep -v '^ *+' conftest.er1 >conftest.err | ||
4345 | - rm -f conftest.er1 | ||
4346 | - cat conftest.err >&5 | ||
4347 | - echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
4348 | - (exit $ac_status); } >/dev/null; then | ||
4349 | - if test -s conftest.err; then | ||
4350 | - ac_cpp_err=$ac_c_preproc_warn_flag | ||
4351 | - else | ||
4352 | - ac_cpp_err= | ||
4353 | - fi | ||
4354 | -else | ||
4355 | - ac_cpp_err=yes | ||
4356 | +rm -f conftest* | ||
4357 | fi | ||
4358 | -if test -z "$ac_cpp_err"; then | ||
4359 | - ac_header_preproc=yes | ||
4360 | -else | ||
4361 | - echo "$as_me: failed program was:" >&5 | ||
4362 | -sed 's/^/| /' conftest.$ac_ext >&5 | ||
4363 | - | ||
4364 | - ac_header_preproc=no | ||
4365 | -fi | ||
4366 | -rm -f conftest.err conftest.$ac_ext | ||
4367 | -echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 | ||
4368 | -echo "${ECHO_T}$ac_header_preproc" >&6 | ||
4369 | - | ||
4370 | -# So? What about this header? | ||
4371 | -case $ac_header_compiler:$ac_header_preproc in | ||
4372 | - yes:no ) | ||
4373 | - { echo "$as_me:$LINENO: WARNING: machine/soundcard.h: accepted by the compiler, rejected by the preprocessor!" >&5 | ||
4374 | -echo "$as_me: WARNING: machine/soundcard.h: accepted by the compiler, rejected by the preprocessor!" >&2;} | ||
4375 | - { echo "$as_me:$LINENO: WARNING: machine/soundcard.h: proceeding with the preprocessor's result" >&5 | ||
4376 | -echo "$as_me: WARNING: machine/soundcard.h: proceeding with the preprocessor's result" >&2;} | ||
4377 | - ( | ||
4378 | - cat <<\_ASBOX | ||
4379 | -## ------------------------------------ ## | ||
4380 | -## Report this to bug-autoconf@gnu.org. ## | ||
4381 | -## ------------------------------------ ## | ||
4382 | -_ASBOX | ||
4383 | - ) | | ||
4384 | - sed "s/^/$as_me: WARNING: /" >&2 | ||
4385 | - ;; | ||
4386 | - no:yes ) | ||
4387 | - { echo "$as_me:$LINENO: WARNING: machine/soundcard.h: present but cannot be compiled" >&5 | ||
4388 | -echo "$as_me: WARNING: machine/soundcard.h: present but cannot be compiled" >&2;} | ||
4389 | - { echo "$as_me:$LINENO: WARNING: machine/soundcard.h: check for missing prerequisite headers?" >&5 | ||
4390 | -echo "$as_me: WARNING: machine/soundcard.h: check for missing prerequisite headers?" >&2;} | ||
4391 | - { echo "$as_me:$LINENO: WARNING: machine/soundcard.h: proceeding with the preprocessor's result" >&5 | ||
4392 | -echo "$as_me: WARNING: machine/soundcard.h: proceeding with the preprocessor's result" >&2;} | ||
4393 | - ( | ||
4394 | - cat <<\_ASBOX | ||
4395 | -## ------------------------------------ ## | ||
4396 | -## Report this to bug-autoconf@gnu.org. ## | ||
4397 | -## ------------------------------------ ## | ||
4398 | -_ASBOX | ||
4399 | - ) | | ||
4400 | - sed "s/^/$as_me: WARNING: /" >&2 | ||
4401 | - ;; | ||
4402 | -esac | ||
4403 | -echo "$as_me:$LINENO: checking for machine/soundcard.h" >&5 | ||
4404 | -echo $ECHO_N "checking for machine/soundcard.h... $ECHO_C" >&6 | ||
4405 | -if test "${ac_cv_header_machine_soundcard_h+set}" = set; then | ||
4406 | - echo $ECHO_N "(cached) $ECHO_C" >&6 | ||
4407 | -else | ||
4408 | - ac_cv_header_machine_soundcard_h=$ac_header_preproc | ||
4409 | -fi | ||
4410 | -echo "$as_me:$LINENO: result: $ac_cv_header_machine_soundcard_h" >&5 | ||
4411 | -echo "${ECHO_T}$ac_cv_header_machine_soundcard_h" >&6 | ||
4412 | - | ||
4413 | -fi | ||
4414 | -if test $ac_cv_header_machine_soundcard_h = yes; then | ||
4415 | +if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then | ||
4416 | + echo "$ac_t""yes" 1>&6 | ||
4417 | AUDIODRIVER="oss" | ||
4418 | AUDIODEFS=-DCST_AUDIO_FREEBSD | ||
4419 | +else | ||
4420 | + echo "$ac_t""no" 1>&6 | ||
4421 | fi | ||
4422 | |||
4423 | - | ||
4424 | -if test "${ac_cv_header_sys_audioio_h+set}" = set; then | ||
4425 | - echo "$as_me:$LINENO: checking for sys/audioio.h" >&5 | ||
4426 | -echo $ECHO_N "checking for sys/audioio.h... $ECHO_C" >&6 | ||
4427 | -if test "${ac_cv_header_sys_audioio_h+set}" = set; then | ||
4428 | - echo $ECHO_N "(cached) $ECHO_C" >&6 | ||
4429 | -fi | ||
4430 | -echo "$as_me:$LINENO: result: $ac_cv_header_sys_audioio_h" >&5 | ||
4431 | -echo "${ECHO_T}$ac_cv_header_sys_audioio_h" >&6 | ||
4432 | +ac_safe=`echo "sys/audioio.h" | sed 'y%./+-%__p_%'` | ||
4433 | +echo $ac_n "checking for sys/audioio.h""... $ac_c" 1>&6 | ||
4434 | +echo "configure:1461: checking for sys/audioio.h" >&5 | ||
4435 | +if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then | ||
4436 | + echo $ac_n "(cached) $ac_c" 1>&6 | ||
4437 | else | ||
4438 | - # Is the header compilable? | ||
4439 | -echo "$as_me:$LINENO: checking sys/audioio.h usability" >&5 | ||
4440 | -echo $ECHO_N "checking sys/audioio.h usability... $ECHO_C" >&6 | ||
4441 | -cat >conftest.$ac_ext <<_ACEOF | ||
4442 | -#line $LINENO "configure" | ||
4443 | -/* confdefs.h. */ | ||
4444 | -_ACEOF | ||
4445 | -cat confdefs.h >>conftest.$ac_ext | ||
4446 | -cat >>conftest.$ac_ext <<_ACEOF | ||
4447 | -/* end confdefs.h. */ | ||
4448 | -$ac_includes_default | ||
4449 | + cat > conftest.$ac_ext <<EOF | ||
4450 | +#line 1466 "configure" | ||
4451 | +#include "confdefs.h" | ||
4452 | #include <sys/audioio.h> | ||
4453 | -_ACEOF | ||
4454 | -rm -f conftest.$ac_objext | ||
4455 | -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 | ||
4456 | - (eval $ac_compile) 2>&5 | ||
4457 | - ac_status=$? | ||
4458 | - echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
4459 | - (exit $ac_status); } && | ||
4460 | - { ac_try='test -s conftest.$ac_objext' | ||
4461 | - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | ||
4462 | - (eval $ac_try) 2>&5 | ||
4463 | - ac_status=$? | ||
4464 | - echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
4465 | - (exit $ac_status); }; }; then | ||
4466 | - ac_header_compiler=yes | ||
4467 | +EOF | ||
4468 | +ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" | ||
4469 | +{ (eval echo configure:1471: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } | ||
4470 | +ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` | ||
4471 | +if test -z "$ac_err"; then | ||
4472 | + rm -rf conftest* | ||
4473 | + eval "ac_cv_header_$ac_safe=yes" | ||
4474 | else | ||
4475 | - echo "$as_me: failed program was:" >&5 | ||
4476 | -sed 's/^/| /' conftest.$ac_ext >&5 | ||
4477 | - | ||
4478 | -ac_header_compiler=no | ||
4479 | + echo "$ac_err" >&5 | ||
4480 | + echo "configure: failed program was:" >&5 | ||
4481 | + cat conftest.$ac_ext >&5 | ||
4482 | + rm -rf conftest* | ||
4483 | + eval "ac_cv_header_$ac_safe=no" | ||
4484 | fi | ||
4485 | -rm -f conftest.$ac_objext conftest.$ac_ext | ||
4486 | -echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 | ||
4487 | -echo "${ECHO_T}$ac_header_compiler" >&6 | ||
4488 | - | ||
4489 | -# Is the header present? | ||
4490 | -echo "$as_me:$LINENO: checking sys/audioio.h presence" >&5 | ||
4491 | -echo $ECHO_N "checking sys/audioio.h presence... $ECHO_C" >&6 | ||
4492 | -cat >conftest.$ac_ext <<_ACEOF | ||
4493 | -#line $LINENO "configure" | ||
4494 | -/* confdefs.h. */ | ||
4495 | -_ACEOF | ||
4496 | -cat confdefs.h >>conftest.$ac_ext | ||
4497 | -cat >>conftest.$ac_ext <<_ACEOF | ||
4498 | -/* end confdefs.h. */ | ||
4499 | -#include <sys/audioio.h> | ||
4500 | -_ACEOF | ||
4501 | -if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 | ||
4502 | - (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 | ||
4503 | - ac_status=$? | ||
4504 | - grep -v '^ *+' conftest.er1 >conftest.err | ||
4505 | - rm -f conftest.er1 | ||
4506 | - cat conftest.err >&5 | ||
4507 | - echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
4508 | - (exit $ac_status); } >/dev/null; then | ||
4509 | - if test -s conftest.err; then | ||
4510 | - ac_cpp_err=$ac_c_preproc_warn_flag | ||
4511 | - else | ||
4512 | - ac_cpp_err= | ||
4513 | - fi | ||
4514 | -else | ||
4515 | - ac_cpp_err=yes | ||
4516 | +rm -f conftest* | ||
4517 | fi | ||
4518 | -if test -z "$ac_cpp_err"; then | ||
4519 | - ac_header_preproc=yes | ||
4520 | -else | ||
4521 | - echo "$as_me: failed program was:" >&5 | ||
4522 | -sed 's/^/| /' conftest.$ac_ext >&5 | ||
4523 | - | ||
4524 | - ac_header_preproc=no | ||
4525 | -fi | ||
4526 | -rm -f conftest.err conftest.$ac_ext | ||
4527 | -echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 | ||
4528 | -echo "${ECHO_T}$ac_header_preproc" >&6 | ||
4529 | - | ||
4530 | -# So? What about this header? | ||
4531 | -case $ac_header_compiler:$ac_header_preproc in | ||
4532 | - yes:no ) | ||
4533 | - { echo "$as_me:$LINENO: WARNING: sys/audioio.h: accepted by the compiler, rejected by the preprocessor!" >&5 | ||
4534 | -echo "$as_me: WARNING: sys/audioio.h: accepted by the compiler, rejected by the preprocessor!" >&2;} | ||
4535 | - { echo "$as_me:$LINENO: WARNING: sys/audioio.h: proceeding with the preprocessor's result" >&5 | ||
4536 | -echo "$as_me: WARNING: sys/audioio.h: proceeding with the preprocessor's result" >&2;} | ||
4537 | - ( | ||
4538 | - cat <<\_ASBOX | ||
4539 | -## ------------------------------------ ## | ||
4540 | -## Report this to bug-autoconf@gnu.org. ## | ||
4541 | -## ------------------------------------ ## | ||
4542 | -_ASBOX | ||
4543 | - ) | | ||
4544 | - sed "s/^/$as_me: WARNING: /" >&2 | ||
4545 | - ;; | ||
4546 | - no:yes ) | ||
4547 | - { echo "$as_me:$LINENO: WARNING: sys/audioio.h: present but cannot be compiled" >&5 | ||
4548 | -echo "$as_me: WARNING: sys/audioio.h: present but cannot be compiled" >&2;} | ||
4549 | - { echo "$as_me:$LINENO: WARNING: sys/audioio.h: check for missing prerequisite headers?" >&5 | ||
4550 | -echo "$as_me: WARNING: sys/audioio.h: check for missing prerequisite headers?" >&2;} | ||
4551 | - { echo "$as_me:$LINENO: WARNING: sys/audioio.h: proceeding with the preprocessor's result" >&5 | ||
4552 | -echo "$as_me: WARNING: sys/audioio.h: proceeding with the preprocessor's result" >&2;} | ||
4553 | - ( | ||
4554 | - cat <<\_ASBOX | ||
4555 | -## ------------------------------------ ## | ||
4556 | -## Report this to bug-autoconf@gnu.org. ## | ||
4557 | -## ------------------------------------ ## | ||
4558 | -_ASBOX | ||
4559 | - ) | | ||
4560 | - sed "s/^/$as_me: WARNING: /" >&2 | ||
4561 | - ;; | ||
4562 | -esac | ||
4563 | -echo "$as_me:$LINENO: checking for sys/audioio.h" >&5 | ||
4564 | -echo $ECHO_N "checking for sys/audioio.h... $ECHO_C" >&6 | ||
4565 | -if test "${ac_cv_header_sys_audioio_h+set}" = set; then | ||
4566 | - echo $ECHO_N "(cached) $ECHO_C" >&6 | ||
4567 | -else | ||
4568 | - ac_cv_header_sys_audioio_h=$ac_header_preproc | ||
4569 | -fi | ||
4570 | -echo "$as_me:$LINENO: result: $ac_cv_header_sys_audioio_h" >&5 | ||
4571 | -echo "${ECHO_T}$ac_cv_header_sys_audioio_h" >&6 | ||
4572 | - | ||
4573 | -fi | ||
4574 | -if test $ac_cv_header_sys_audioio_h = yes; then | ||
4575 | +if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then | ||
4576 | + echo "$ac_t""yes" 1>&6 | ||
4577 | AUDIODRIVER="sun" | ||
4578 | AUDIODEFS=-DCST_AUDIO_SUNOS | ||
4579 | +else | ||
4580 | + echo "$ac_t""no" 1>&6 | ||
4581 | fi | ||
4582 | |||
4583 | - | ||
4584 | -if test "${ac_cv_header_mmsystem_h+set}" = set; then | ||
4585 | - echo "$as_me:$LINENO: checking for mmsystem.h" >&5 | ||
4586 | -echo $ECHO_N "checking for mmsystem.h... $ECHO_C" >&6 | ||
4587 | -if test "${ac_cv_header_mmsystem_h+set}" = set; then | ||
4588 | - echo $ECHO_N "(cached) $ECHO_C" >&6 | ||
4589 | -fi | ||
4590 | -echo "$as_me:$LINENO: result: $ac_cv_header_mmsystem_h" >&5 | ||
4591 | -echo "${ECHO_T}$ac_cv_header_mmsystem_h" >&6 | ||
4592 | + ac_safe=`echo "alsa/asoundlib.h" | sed 'y%./+-%__p_%'` | ||
4593 | +echo $ac_n "checking for alsa/asoundlib.h""... $ac_c" 1>&6 | ||
4594 | +echo "configure:1495: checking for alsa/asoundlib.h" >&5 | ||
4595 | +if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then | ||
4596 | + echo $ac_n "(cached) $ac_c" 1>&6 | ||
4597 | else | ||
4598 | - # Is the header compilable? | ||
4599 | -echo "$as_me:$LINENO: checking mmsystem.h usability" >&5 | ||
4600 | -echo $ECHO_N "checking mmsystem.h usability... $ECHO_C" >&6 | ||
4601 | -cat >conftest.$ac_ext <<_ACEOF | ||
4602 | -#line $LINENO "configure" | ||
4603 | -/* confdefs.h. */ | ||
4604 | -_ACEOF | ||
4605 | -cat confdefs.h >>conftest.$ac_ext | ||
4606 | -cat >>conftest.$ac_ext <<_ACEOF | ||
4607 | -/* end confdefs.h. */ | ||
4608 | -$ac_includes_default | ||
4609 | -#include <mmsystem.h> | ||
4610 | -_ACEOF | ||
4611 | -rm -f conftest.$ac_objext | ||
4612 | -if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 | ||
4613 | - (eval $ac_compile) 2>&5 | ||
4614 | - ac_status=$? | ||
4615 | - echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
4616 | - (exit $ac_status); } && | ||
4617 | - { ac_try='test -s conftest.$ac_objext' | ||
4618 | - { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5 | ||
4619 | - (eval $ac_try) 2>&5 | ||
4620 | - ac_status=$? | ||
4621 | - echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
4622 | - (exit $ac_status); }; }; then | ||
4623 | - ac_header_compiler=yes | ||
4624 | + cat > conftest.$ac_ext <<EOF | ||
4625 | +#line 1500 "configure" | ||
4626 | +#include "confdefs.h" | ||
4627 | +#include <alsa/asoundlib.h> | ||
4628 | +EOF | ||
4629 | +ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" | ||
4630 | +{ (eval echo configure:1505: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } | ||
4631 | +ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` | ||
4632 | +if test -z "$ac_err"; then | ||
4633 | + rm -rf conftest* | ||
4634 | + eval "ac_cv_header_$ac_safe=yes" | ||
4635 | else | ||
4636 | - echo "$as_me: failed program was:" >&5 | ||
4637 | -sed 's/^/| /' conftest.$ac_ext >&5 | ||
4638 | - | ||
4639 | -ac_header_compiler=no | ||
4640 | + echo "$ac_err" >&5 | ||
4641 | + echo "configure: failed program was:" >&5 | ||
4642 | + cat conftest.$ac_ext >&5 | ||
4643 | + rm -rf conftest* | ||
4644 | + eval "ac_cv_header_$ac_safe=no" | ||
4645 | fi | ||
4646 | -rm -f conftest.$ac_objext conftest.$ac_ext | ||
4647 | -echo "$as_me:$LINENO: result: $ac_header_compiler" >&5 | ||
4648 | -echo "${ECHO_T}$ac_header_compiler" >&6 | ||
4649 | - | ||
4650 | -# Is the header present? | ||
4651 | -echo "$as_me:$LINENO: checking mmsystem.h presence" >&5 | ||
4652 | -echo $ECHO_N "checking mmsystem.h presence... $ECHO_C" >&6 | ||
4653 | -cat >conftest.$ac_ext <<_ACEOF | ||
4654 | -#line $LINENO "configure" | ||
4655 | -/* confdefs.h. */ | ||
4656 | -_ACEOF | ||
4657 | -cat confdefs.h >>conftest.$ac_ext | ||
4658 | -cat >>conftest.$ac_ext <<_ACEOF | ||
4659 | -/* end confdefs.h. */ | ||
4660 | -#include <mmsystem.h> | ||
4661 | -_ACEOF | ||
4662 | -if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5 | ||
4663 | - (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1 | ||
4664 | - ac_status=$? | ||
4665 | - grep -v '^ *+' conftest.er1 >conftest.err | ||
4666 | - rm -f conftest.er1 | ||
4667 | - cat conftest.err >&5 | ||
4668 | - echo "$as_me:$LINENO: \$? = $ac_status" >&5 | ||
4669 | - (exit $ac_status); } >/dev/null; then | ||
4670 | - if test -s conftest.err; then | ||
4671 | - ac_cpp_err=$ac_c_preproc_warn_flag | ||
4672 | - else | ||
4673 | - ac_cpp_err= | ||
4674 | - fi | ||
4675 | -else | ||
4676 | - ac_cpp_err=yes | ||
4677 | +rm -f conftest* | ||
4678 | fi | ||
4679 | -if test -z "$ac_cpp_err"; then | ||
4680 | - ac_header_preproc=yes | ||
4681 | +if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then | ||
4682 | + echo "$ac_t""yes" 1>&6 | ||
4683 | + AUDIODRIVER="alsa" | ||
4684 | + AUDIODEFS=-DCST_AUDIO_ALSA | ||
4685 | + AUDIOLIBS=-lasound | ||
4686 | else | ||
4687 | - echo "$as_me: failed program was:" >&5 | ||
4688 | -sed 's/^/| /' conftest.$ac_ext >&5 | ||
4689 | - | ||
4690 | - ac_header_preproc=no | ||
4691 | + echo "$ac_t""no" 1>&6 | ||
4692 | fi | ||
4693 | -rm -f conftest.err conftest.$ac_ext | ||
4694 | -echo "$as_me:$LINENO: result: $ac_header_preproc" >&5 | ||
4695 | -echo "${ECHO_T}$ac_header_preproc" >&6 | ||
4696 | |||
4697 | -# So? What about this header? | ||
4698 | -case $ac_header_compiler:$ac_header_preproc in | ||
4699 | - yes:no ) | ||
4700 | - { echo "$as_me:$LINENO: WARNING: mmsystem.h: accepted by the compiler, rejected by the preprocessor!" >&5 | ||
4701 | -echo "$as_me: WARNING: mmsystem.h: accepted by the compiler, rejected by the preprocessor!" >&2;} | ||
4702 | - { echo "$as_me:$LINENO: WARNING: mmsystem.h: proceeding with the preprocessor's result" >&5 | ||
4703 | -echo "$as_me: WARNING: mmsystem.h: proceeding with the preprocessor's result" >&2;} | ||
4704 | - ( | ||
4705 | - cat <<\_ASBOX | ||
4706 | -## ------------------------------------ ## | ||
4707 | -## Report this to bug-autoconf@gnu.org. ## | ||
4708 | -## ------------------------------------ ## | ||
4709 | -_ASBOX | ||
4710 | - ) | | ||
4711 | - sed "s/^/$as_me: WARNING: /" >&2 | ||
4712 | - ;; | ||
4713 | - no:yes ) | ||
4714 | - { echo "$as_me:$LINENO: WARNING: mmsystem.h: present but cannot be compiled" >&5 | ||
4715 | -echo "$as_me: WARNING: mmsystem.h: present but cannot be compiled" >&2;} | ||
4716 | - { echo "$as_me:$LINENO: WARNING: mmsystem.h: check for missing prerequisite headers?" >&5 | ||
4717 | -echo "$as_me: WARNING: mmsystem.h: check for missing prerequisite headers?" >&2;} | ||
4718 | - { echo "$as_me:$LINENO: WARNING: mmsystem.h: proceeding with the preprocessor's result" >&5 | ||
4719 | -echo "$as_me: WARNING: mmsystem.h: proceeding with the preprocessor's result" >&2;} | ||
4720 | - ( | ||
4721 | - cat <<\_ASBOX | ||
4722 | -## ------------------------------------ ## | ||
4723 | -## Report this to bug-autoconf@gnu.org. ## | ||
4724 | -## ------------------------------------ ## | ||
4725 | -_ASBOX | ||
4726 | - ) | | ||
4727 | - sed "s/^/$as_me: WARNING: /" >&2 | ||
4728 | - ;; | ||
4729 | -esac | ||
4730 | -echo "$as_me:$LINENO: checking for mmsystem.h" >&5 | ||
4731 | -echo $ECHO_N "checking for mmsystem.h... $ECHO_C" >&6 | ||
4732 | -if test "${ac_cv_header_mmsystem_h+set}" = set; then | ||
4733 | - echo $ECHO_N "(cached) $ECHO_C" >&6 | ||
4734 | +ac_safe=`echo "mmsystem.h" | sed 'y%./+-%__p_%'` | ||
4735 | +echo $ac_n "checking for mmsystem.h""... $ac_c" 1>&6 | ||
4736 | +echo "configure:1530: checking for mmsystem.h" >&5 | ||
4737 | +if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then | ||
4738 | + echo $ac_n "(cached) $ac_c" 1>&6 | ||
4739 | else | ||
4740 | - ac_cv_header_mmsystem_h=$ac_header_preproc | ||
4741 | + cat > conftest.$ac_ext <<EOF | ||
4742 | +#line 1535 "configure" | ||
4743 | +#include "confdefs.h" | ||
4744 | +#include <mmsystem.h> | ||
4745 | +EOF | ||
4746 | +ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out" | ||
4747 | +{ (eval echo configure:1540: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; } | ||
4748 | +ac_err=`grep -v '^ *+' conftest.out | grep -v "^conftest.${ac_ext}\$"` | ||
4749 | +if test -z "$ac_err"; then | ||
4750 | + rm -rf conftest* | ||
4751 | + eval "ac_cv_header_$ac_safe=yes" | ||
4752 | +else | ||
4753 | + echo "$ac_err" >&5 | ||
4754 | + echo "configure: failed program was:" >&5 | ||
4755 | + cat conftest.$ac_ext >&5 | ||
4756 | + rm -rf conftest* | ||
4757 | + eval "ac_cv_header_$ac_safe=no" | ||
4758 | fi | ||
4759 | -echo "$as_me:$LINENO: result: $ac_cv_header_mmsystem_h" >&5 | ||
4760 | -echo "${ECHO_T}$ac_cv_header_mmsystem_h" >&6 | ||
4761 | - | ||
4762 | +rm -f conftest* | ||
4763 | fi | ||
4764 | -if test $ac_cv_header_mmsystem_h = yes; then | ||
4765 | +if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then | ||
4766 | + echo "$ac_t""yes" 1>&6 | ||
4767 | AUDIODRIVER="wince" | ||
4768 | AUDIODEFS=-DCST_AUDIO_WINCE | ||
4769 | AUDIOLIBS=-lwinmm | ||
4770 | +else | ||
4771 | + echo "$ac_t""no" 1>&6 | ||
4772 | fi | ||
4773 | |||
4774 | |||
4775 | - | ||
4776 | - | ||
4777 | # Check whether --with-audio or --without-audio was given. | ||
4778 | if test "${with_audio+set}" = set; then | ||
4779 | withval="$with_audio" | ||
4780 | - AUDIODRIVER=$with_audio | ||
4781 | -fi; | ||
4782 | + AUDIODRIVER=$with_audio | ||
4783 | +fi | ||
4784 | |||
4785 | + | ||
4786 | if test "x$AUDIODEFS" = x; then | ||
4787 | case "$AUDIODRIVER" in | ||
4788 | linux|oss) | ||
4789 | @@ -4006,34 +1595,34 @@ | ||
4790 | |||
4791 | |||
4792 | |||
4793 | - | ||
4794 | # Check whether --with-lang or --without-lang was given. | ||
4795 | if test "${with_lang+set}" = set; then | ||
4796 | withval="$with_lang" | ||
4797 | - FL_LANG=$with_lang | ||
4798 | -fi; | ||
4799 | + FL_LANG=$with_lang | ||
4800 | +fi | ||
4801 | + | ||
4802 | if test "x$with_lang" = "x"; then | ||
4803 | FL_LANG="usenglish" | ||
4804 | fi | ||
4805 | |||
4806 | |||
4807 | - | ||
4808 | # Check whether --with-vox or --without-vox was given. | ||
4809 | if test "${with_vox+set}" = set; then | ||
4810 | withval="$with_vox" | ||
4811 | - FL_VOX=$with_vox | ||
4812 | -fi; | ||
4813 | + FL_VOX=$with_vox | ||
4814 | +fi | ||
4815 | + | ||
4816 | if test "x$with_vox" = "x"; then | ||
4817 | FL_VOX="cmu_us_kal" | ||
4818 | fi | ||
4819 | |||
4820 | |||
4821 | - | ||
4822 | # Check whether --with-lex or --without-lex was given. | ||
4823 | if test "${with_lex+set}" = set; then | ||
4824 | withval="$with_lex" | ||
4825 | - FL_LEX=$with_lex | ||
4826 | -fi; | ||
4827 | + FL_LEX=$with_lex | ||
4828 | +fi | ||
4829 | + | ||
4830 | if test "x$with_lex" = "x"; then | ||
4831 | FL_LEX="cmulex" | ||
4832 | fi | ||
4833 | @@ -4041,921 +1630,300 @@ | ||
4834 | |||
4835 | |||
4836 | |||
4837 | - ac_config_files="$ac_config_files config/config config/system.mak" | ||
4838 | -cat >confcache <<\_ACEOF | ||
4839 | +trap '' 1 2 15 | ||
4840 | +cat > confcache <<\EOF | ||
4841 | # This file is a shell script that caches the results of configure | ||
4842 | # tests run on this system so they can be shared between configure | ||
4843 | -# scripts and configure runs, see configure's option --config-cache. | ||
4844 | -# It is not useful on other systems. If it contains results you don't | ||
4845 | -# want to keep, you may remove or edit it. | ||
4846 | +# scripts and configure runs. It is not useful on other systems. | ||
4847 | +# If it contains results you don't want to keep, you may remove or edit it. | ||
4848 | # | ||
4849 | -# config.status only pays attention to the cache file if you give it | ||
4850 | -# the --recheck option to rerun configure. | ||
4851 | +# By default, configure uses ./config.cache as the cache file, | ||
4852 | +# creating it if it does not exist already. You can give configure | ||
4853 | +# the --cache-file=FILE option to use a different cache file; that is | ||
4854 | +# what configure does when it calls configure scripts in | ||
4855 | +# subdirectories, so they share the cache. | ||
4856 | +# Giving --cache-file=/dev/null disables caching, for debugging configure. | ||
4857 | +# config.status only pays attention to the cache file if you give it the | ||
4858 | +# --recheck option to rerun configure. | ||
4859 | # | ||
4860 | -# `ac_cv_env_foo' variables (set or unset) will be overridden when | ||
4861 | -# loading this file, other *unset* `ac_cv_foo' will be assigned the | ||
4862 | -# following values. | ||
4863 | - | ||
4864 | -_ACEOF | ||
4865 | - | ||
4866 | +EOF | ||
4867 | # The following way of writing the cache mishandles newlines in values, | ||
4868 | # but we know of no workaround that is simple, portable, and efficient. | ||
4869 | # So, don't put newlines in cache variables' values. | ||
4870 | # Ultrix sh set writes to stderr and can't be redirected directly, | ||
4871 | # and sets the high bit in the cache file unless we assign to the vars. | ||
4872 | -{ | ||
4873 | - (set) 2>&1 | | ||
4874 | - case `(ac_space=' '; set | grep ac_space) 2>&1` in | ||
4875 | - *ac_space=\ *) | ||
4876 | - # `set' does not quote correctly, so add quotes (double-quote | ||
4877 | - # substitution turns \\\\ into \\, and sed turns \\ into \). | ||
4878 | - sed -n \ | ||
4879 | - "s/'/'\\\\''/g; | ||
4880 | - s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p" | ||
4881 | - ;; | ||
4882 | - *) | ||
4883 | - # `set' quotes correctly as required by POSIX, so do not add quotes. | ||
4884 | - sed -n \ | ||
4885 | - "s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1=\\2/p" | ||
4886 | - ;; | ||
4887 | - esac; | ||
4888 | -} | | ||
4889 | - sed ' | ||
4890 | - t clear | ||
4891 | - : clear | ||
4892 | - s/^\([^=]*\)=\(.*[{}].*\)$/test "${\1+set}" = set || &/ | ||
4893 | - t end | ||
4894 | - /^ac_cv_env/!s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/ | ||
4895 | - : end' >>confcache | ||
4896 | -if diff $cache_file confcache >/dev/null 2>&1; then :; else | ||
4897 | +(set) 2>&1 | | ||
4898 | + case `(ac_space=' '; set | grep ac_space) 2>&1` in | ||
4899 | + *ac_space=\ *) | ||
4900 | + # `set' does not quote correctly, so add quotes (double-quote substitution | ||
4901 | + # turns \\\\ into \\, and sed turns \\ into \). | ||
4902 | + sed -n \ | ||
4903 | + -e "s/'/'\\\\''/g" \ | ||
4904 | + -e "s/^\\([a-zA-Z0-9_]*_cv_[a-zA-Z0-9_]*\\)=\\(.*\\)/\\1=\${\\1='\\2'}/p" | ||
4905 | + ;; | ||
4906 | + *) | ||
4907 | + # `set' quotes correctly as required by POSIX, so do not add quotes. | ||
4908 | + sed -n -e 's/^\([a-zA-Z0-9_]*_cv_[a-zA-Z0-9_]*\)=\(.*\)/\1=${\1=\2}/p' | ||
4909 | + ;; | ||
4910 | + esac >> confcache | ||
4911 | +if cmp -s $cache_file confcache; then | ||
4912 | + : | ||
4913 | +else | ||
4914 | if test -w $cache_file; then | ||
4915 | - test "x$cache_file" != "x/dev/null" && echo "updating cache $cache_file" | ||
4916 | - cat confcache >$cache_file | ||
4917 | + echo "updating cache $cache_file" | ||
4918 | + cat confcache > $cache_file | ||
4919 | else | ||
4920 | echo "not updating unwritable cache $cache_file" | ||
4921 | fi | ||
4922 | fi | ||
4923 | rm -f confcache | ||
4924 | |||
4925 | +trap 'rm -fr conftest* confdefs* core core.* *.core $ac_clean_files; exit 1' 1 2 15 | ||
4926 | + | ||
4927 | test "x$prefix" = xNONE && prefix=$ac_default_prefix | ||
4928 | # Let make expand exec_prefix. | ||
4929 | test "x$exec_prefix" = xNONE && exec_prefix='${prefix}' | ||
4930 | |||
4931 | -# VPATH may cause trouble with some makes, so we remove $(srcdir), | ||
4932 | -# ${srcdir} and @srcdir@ from VPATH if srcdir is ".", strip leading and | ||
4933 | -# trailing colons and then remove the whole line if VPATH becomes empty | ||
4934 | -# (actually we leave an empty line to preserve line numbers). | ||
4935 | +# Any assignment to VPATH causes Sun make to only execute | ||
4936 | +# the first set of double-colon rules, so remove it if not needed. | ||
4937 | +# If there is a colon in the path, we need to keep it. | ||
4938 | if test "x$srcdir" = x.; then | ||
4939 | - ac_vpsub='/^[ ]*VPATH[ ]*=/{ | ||
4940 | -s/:*\$(srcdir):*/:/; | ||
4941 | -s/:*\${srcdir}:*/:/; | ||
4942 | -s/:*@srcdir@:*/:/; | ||
4943 | -s/^\([^=]*=[ ]*\):*/\1/; | ||
4944 | -s/:*$//; | ||
4945 | -s/^[^=]*=[ ]*$//; | ||
4946 | -}' | ||
4947 | + ac_vpsub='/^[ ]*VPATH[ ]*=[^:]*$/d' | ||
4948 | fi | ||
4949 | |||
4950 | +trap 'rm -f $CONFIG_STATUS conftest*; exit 1' 1 2 15 | ||
4951 | + | ||
4952 | # Transform confdefs.h into DEFS. | ||
4953 | # Protect against shell expansion while executing Makefile rules. | ||
4954 | # Protect against Makefile macro expansion. | ||
4955 | -# | ||
4956 | -# If the first sed substitution is executed (which looks for macros that | ||
4957 | -# take arguments), then we branch to the quote section. Otherwise, | ||
4958 | -# look for a macro that doesn't take arguments. | ||
4959 | -cat >confdef2opt.sed <<\_ACEOF | ||
4960 | -t clear | ||
4961 | -: clear | ||
4962 | -s,^[ ]*#[ ]*define[ ][ ]*\([^ (][^ (]*([^)]*)\)[ ]*\(.*\),-D\1=\2,g | ||
4963 | -t quote | ||
4964 | -s,^[ ]*#[ ]*define[ ][ ]*\([^ ][^ ]*\)[ ]*\(.*\),-D\1=\2,g | ||
4965 | -t quote | ||
4966 | -d | ||
4967 | -: quote | ||
4968 | -s,[ `~#$^&*(){}\\|;'"<>?],\\&,g | ||
4969 | -s,\[,\\&,g | ||
4970 | -s,\],\\&,g | ||
4971 | -s,\$,$$,g | ||
4972 | -p | ||
4973 | -_ACEOF | ||
4974 | -# We use echo to avoid assuming a particular line-breaking character. | ||
4975 | -# The extra dot is to prevent the shell from consuming trailing | ||
4976 | -# line-breaks from the sub-command output. A line-break within | ||
4977 | -# single-quotes doesn't work because, if this script is created in a | ||
4978 | -# platform that uses two characters for line-breaks (e.g., DOS), tr | ||
4979 | -# would break. | ||
4980 | -ac_LF_and_DOT=`echo; echo .` | ||
4981 | -DEFS=`sed -n -f confdef2opt.sed confdefs.h | tr "$ac_LF_and_DOT" ' .'` | ||
4982 | -rm -f confdef2opt.sed | ||
4983 | +cat > conftest.defs <<\EOF | ||
4984 | +s%#define \([A-Za-z_][A-Za-z0-9_]*\) *\(.*\)%-D\1=\2%g | ||
4985 | +s%[ `~#$^&*(){}\\|;'"<>?]%\\&%g | ||
4986 | +s%\[%\\&%g | ||
4987 | +s%\]%\\&%g | ||
4988 | +s%\$%$$%g | ||
4989 | +EOF | ||
4990 | +DEFS=`sed -f conftest.defs confdefs.h | tr '\012' ' '` | ||
4991 | +rm -f conftest.defs | ||
4992 | |||
4993 | |||
4994 | -ac_libobjs= | ||
4995 | -ac_ltlibobjs= | ||
4996 | -for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue | ||
4997 | - # 1. Remove the extension, and $U if already installed. | ||
4998 | - ac_i=`echo "$ac_i" | | ||
4999 | - sed 's/\$U\././;s/\.o$//;s/\.obj$//'` | ||
5000 | - # 2. Add them. | ||
5001 | - ac_libobjs="$ac_libobjs $ac_i\$U.$ac_objext" | ||
5002 | - ac_ltlibobjs="$ac_ltlibobjs $ac_i"'$U.lo' | ||
5003 | -done | ||
5004 | -LIBOBJS=$ac_libobjs | ||
5005 | - | ||
5006 | -LTLIBOBJS=$ac_ltlibobjs | ||
5007 | - | ||
5008 | - | ||
5009 | - | ||
5010 | +# Without the "./", some shells look in PATH for config.status. | ||
5011 | : ${CONFIG_STATUS=./config.status} | ||
5012 | -ac_clean_files_save=$ac_clean_files | ||
5013 | -ac_clean_files="$ac_clean_files $CONFIG_STATUS" | ||
5014 | -{ echo "$as_me:$LINENO: creating $CONFIG_STATUS" >&5 | ||
5015 | -echo "$as_me: creating $CONFIG_STATUS" >&6;} | ||
5016 | -cat >$CONFIG_STATUS <<_ACEOF | ||
5017 | -#! $SHELL | ||
5018 | -# Generated by $as_me. | ||
5019 | + | ||
5020 | +echo creating $CONFIG_STATUS | ||
5021 | +rm -f $CONFIG_STATUS | ||
5022 | +cat > $CONFIG_STATUS <<EOF | ||
5023 | +#! /bin/sh | ||
5024 | +# Generated automatically by configure. | ||
5025 | # Run this file to recreate the current configuration. | ||
5026 | +# This directory was configured as follows, | ||
5027 | +# on host `(hostname || uname -n) 2>/dev/null | sed 1q`: | ||
5028 | +# | ||
5029 | +# $0 $ac_configure_args | ||
5030 | +# | ||
5031 | # Compiler output produced by configure, useful for debugging | ||
5032 | -# configure, is in config.log if it exists. | ||
5033 | +# configure, is in ./config.log if it exists. | ||
5034 | |||
5035 | -debug=false | ||
5036 | -ac_cs_recheck=false | ||
5037 | -ac_cs_silent=false | ||
5038 | -SHELL=\${CONFIG_SHELL-$SHELL} | ||
5039 | -_ACEOF | ||
5040 | - | ||
5041 | -cat >>$CONFIG_STATUS <<\_ACEOF | ||
5042 | -## --------------------- ## | ||
5043 | -## M4sh Initialization. ## | ||
5044 | -## --------------------- ## | ||
5045 | - | ||
5046 | -# Be Bourne compatible | ||
5047 | -if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then | ||
5048 | - emulate sh | ||
5049 | - NULLCMD=: | ||
5050 | - # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which | ||
5051 | - # is contrary to our usage. Disable this feature. | ||
5052 | - alias -g '${1+"$@"}'='"$@"' | ||
5053 | -elif test -n "${BASH_VERSION+set}" && (set -o posix) >/dev/null 2>&1; then | ||
5054 | - set -o posix | ||
5055 | -fi | ||
5056 | - | ||
5057 | -# Support unset when possible. | ||
5058 | -if (FOO=FOO; unset FOO) >/dev/null 2>&1; then | ||
5059 | - as_unset=unset | ||
5060 | -else | ||
5061 | - as_unset=false | ||
5062 | -fi | ||
5063 | - | ||
5064 | - | ||
5065 | -# Work around bugs in pre-3.0 UWIN ksh. | ||
5066 | -$as_unset ENV MAIL MAILPATH | ||
5067 | -PS1='$ ' | ||
5068 | -PS2='> ' | ||
5069 | -PS4='+ ' | ||
5070 | - | ||
5071 | -# NLS nuisances. | ||
5072 | -for as_var in \ | ||
5073 | - LANG LANGUAGE LC_ADDRESS LC_ALL LC_COLLATE LC_CTYPE LC_IDENTIFICATION \ | ||
5074 | - LC_MEASUREMENT LC_MESSAGES LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER \ | ||
5075 | - LC_TELEPHONE LC_TIME | ||
5076 | +ac_cs_usage="Usage: $CONFIG_STATUS [--recheck] [--version] [--help]" | ||
5077 | +for ac_option | ||
5078 | do | ||
5079 | - if (set +x; test -n "`(eval $as_var=C; export $as_var) 2>&1`"); then | ||
5080 | - eval $as_var=C; export $as_var | ||
5081 | - else | ||
5082 | - $as_unset $as_var | ||
5083 | - fi | ||
5084 | + case "\$ac_option" in | ||
5085 | + -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r) | ||
5086 | + echo "running \${CONFIG_SHELL-/bin/sh} $0 $ac_configure_args --no-create --no-recursion" | ||
5087 | + exec \${CONFIG_SHELL-/bin/sh} $0 $ac_configure_args --no-create --no-recursion ;; | ||
5088 | + -version | --version | --versio | --versi | --vers | --ver | --ve | --v) | ||
5089 | + echo "$CONFIG_STATUS generated by autoconf version 2.13" | ||
5090 | + exit 0 ;; | ||
5091 | + -help | --help | --hel | --he | --h) | ||
5092 | + echo "\$ac_cs_usage"; exit 0 ;; | ||
5093 | + *) echo "\$ac_cs_usage"; exit 1 ;; | ||
5094 | + esac | ||
5095 | done | ||
5096 | |||
5097 | -# Required to use basename. | ||
5098 | -if expr a : '\(a\)' >/dev/null 2>&1; then | ||
5099 | - as_expr=expr | ||
5100 | -else | ||
5101 | - as_expr=false | ||
5102 | -fi | ||
5103 | +ac_given_srcdir=$srcdir | ||
5104 | +ac_given_INSTALL="$INSTALL" | ||
5105 | |||
5106 | -if (basename /) >/dev/null 2>&1 && test "X`basename / 2>&1`" = "X/"; then | ||
5107 | - as_basename=basename | ||
5108 | -else | ||
5109 | - as_basename=false | ||
5110 | -fi | ||
5111 | +trap 'rm -fr `echo "config/config config/system.mak" | sed "s/:[^ ]*//g"` conftest*; exit 1' 1 2 15 | ||
5112 | +EOF | ||
5113 | +cat >> $CONFIG_STATUS <<EOF | ||
5114 | |||
5115 | +# Protect against being on the right side of a sed subst in config.status. | ||
5116 | +sed 's/%@/@@/; s/@%/@@/; s/%g\$/@g/; /@g\$/s/[\\\\&%]/\\\\&/g; | ||
5117 | + s/@@/%@/; s/@@/@%/; s/@g\$/%g/' > conftest.subs <<\\CEOF | ||
5118 | +$ac_vpsub | ||
5119 | +$extrasub | ||
5120 | +s%@SHELL@%$SHELL%g | ||
5121 | +s%@CFLAGS@%$CFLAGS%g | ||
5122 | +s%@CPPFLAGS@%$CPPFLAGS%g | ||
5123 | +s%@CXXFLAGS@%$CXXFLAGS%g | ||
5124 | +s%@FFLAGS@%$FFLAGS%g | ||
5125 | +s%@DEFS@%$DEFS%g | ||
5126 | +s%@LDFLAGS@%$LDFLAGS%g | ||
5127 | +s%@LIBS@%$LIBS%g | ||
5128 | +s%@exec_prefix@%$exec_prefix%g | ||
5129 | +s%@prefix@%$prefix%g | ||
5130 | +s%@program_transform_name@%$program_transform_name%g | ||
5131 | +s%@bindir@%$bindir%g | ||
5132 | +s%@sbindir@%$sbindir%g | ||
5133 | +s%@libexecdir@%$libexecdir%g | ||
5134 | +s%@datadir@%$datadir%g | ||
5135 | +s%@sysconfdir@%$sysconfdir%g | ||
5136 | +s%@sharedstatedir@%$sharedstatedir%g | ||
5137 | +s%@localstatedir@%$localstatedir%g | ||
5138 | +s%@libdir@%$libdir%g | ||
5139 | +s%@includedir@%$includedir%g | ||
5140 | +s%@oldincludedir@%$oldincludedir%g | ||
5141 | +s%@infodir@%$infodir%g | ||
5142 | +s%@mandir@%$mandir%g | ||
5143 | +s%@host@%$host%g | ||
5144 | +s%@host_alias@%$host_alias%g | ||
5145 | +s%@host_cpu@%$host_cpu%g | ||
5146 | +s%@host_vendor@%$host_vendor%g | ||
5147 | +s%@host_os@%$host_os%g | ||
5148 | +s%@target@%$target%g | ||
5149 | +s%@target_alias@%$target_alias%g | ||
5150 | +s%@target_cpu@%$target_cpu%g | ||
5151 | +s%@target_vendor@%$target_vendor%g | ||
5152 | +s%@target_os@%$target_os%g | ||
5153 | +s%@build@%$build%g | ||
5154 | +s%@build_alias@%$build_alias%g | ||
5155 | +s%@build_cpu@%$build_cpu%g | ||
5156 | +s%@build_vendor@%$build_vendor%g | ||
5157 | +s%@build_os@%$build_os%g | ||
5158 | +s%@CC@%$CC%g | ||
5159 | +s%@RANLIB@%$RANLIB%g | ||
5160 | +s%@INSTALL_PROGRAM@%$INSTALL_PROGRAM%g | ||
5161 | +s%@INSTALL_SCRIPT@%$INSTALL_SCRIPT%g | ||
5162 | +s%@INSTALL_DATA@%$INSTALL_DATA%g | ||
5163 | +s%@AR@%$AR%g | ||
5164 | +s%@TARGET_OS@%$TARGET_OS%g | ||
5165 | +s%@TARGET_CPU@%$TARGET_CPU%g | ||
5166 | +s%@M68KCC@%$M68KCC%g | ||
5167 | +s%@LEXDEFS@%$LEXDEFS%g | ||
5168 | +s%@VOXDEFS@%$VOXDEFS%g | ||
5169 | +s%@HOST_OS@%$HOST_OS%g | ||
5170 | +s%@HOST_CPU@%$HOST_CPU%g | ||
5171 | +s%@OTHERLIBS@%$OTHERLIBS%g | ||
5172 | +s%@SHFLAGS@%$SHFLAGS%g | ||
5173 | +s%@MMAPTYPE@%$MMAPTYPE%g | ||
5174 | +s%@STDIOTYPE@%$STDIOTYPE%g | ||
5175 | +s%@CPP@%$CPP%g | ||
5176 | +s%@AUDIODRIVER@%$AUDIODRIVER%g | ||
5177 | +s%@AUDIODEFS@%$AUDIODEFS%g | ||
5178 | +s%@AUDIOLIBS@%$AUDIOLIBS%g | ||
5179 | +s%@FL_LANG@%$FL_LANG%g | ||
5180 | +s%@FL_VOX@%$FL_VOX%g | ||
5181 | +s%@FL_LEX@%$FL_LEX%g | ||
5182 | +s%@EXEEXT@%$EXEEXT%g | ||
5183 | |||
5184 | -# Name of the executable. | ||
5185 | -as_me=`$as_basename "$0" || | ||
5186 | -$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \ | ||
5187 | - X"$0" : 'X\(//\)$' \| \ | ||
5188 | - X"$0" : 'X\(/\)$' \| \ | ||
5189 | - . : '\(.\)' 2>/dev/null || | ||
5190 | -echo X/"$0" | | ||
5191 | - sed '/^.*\/\([^/][^/]*\)\/*$/{ s//\1/; q; } | ||
5192 | - /^X\/\(\/\/\)$/{ s//\1/; q; } | ||
5193 | - /^X\/\(\/\).*/{ s//\1/; q; } | ||
5194 | - s/.*/./; q'` | ||
5195 | +CEOF | ||
5196 | +EOF | ||
5197 | |||
5198 | +cat >> $CONFIG_STATUS <<\EOF | ||
5199 | |||
5200 | -# PATH needs CR, and LINENO needs CR and PATH. | ||
5201 | -# Avoid depending upon Character Ranges. | ||
5202 | -as_cr_letters='abcdefghijklmnopqrstuvwxyz' | ||
5203 | -as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ' | ||
5204 | -as_cr_Letters=$as_cr_letters$as_cr_LETTERS | ||
5205 | -as_cr_digits='0123456789' | ||
5206 | -as_cr_alnum=$as_cr_Letters$as_cr_digits | ||
5207 | - | ||
5208 | -# The user is always right. | ||
5209 | -if test "${PATH_SEPARATOR+set}" != set; then | ||
5210 | - echo "#! /bin/sh" >conf$$.sh | ||
5211 | - echo "exit 0" >>conf$$.sh | ||
5212 | - chmod +x conf$$.sh | ||
5213 | - if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then | ||
5214 | - PATH_SEPARATOR=';' | ||
5215 | +# Split the substitutions into bite-sized pieces for seds with | ||
5216 | +# small command number limits, like on Digital OSF/1 and HP-UX. | ||
5217 | +ac_max_sed_cmds=90 # Maximum number of lines to put in a sed script. | ||
5218 | +ac_file=1 # Number of current file. | ||
5219 | +ac_beg=1 # First line for current file. | ||
5220 | +ac_end=$ac_max_sed_cmds # Line after last line for current file. | ||
5221 | +ac_more_lines=: | ||
5222 | +ac_sed_cmds="" | ||
5223 | +while $ac_more_lines; do | ||
5224 | + if test $ac_beg -gt 1; then | ||
5225 | + sed "1,${ac_beg}d; ${ac_end}q" conftest.subs > conftest.s$ac_file | ||
5226 | else | ||
5227 | - PATH_SEPARATOR=: | ||
5228 | + sed "${ac_end}q" conftest.subs > conftest.s$ac_file | ||
5229 | fi | ||
5230 | - rm -f conf$$.sh | ||
5231 | -fi | ||
5232 | - | ||
5233 | - | ||
5234 | - as_lineno_1=$LINENO | ||
5235 | - as_lineno_2=$LINENO | ||
5236 | - as_lineno_3=`(expr $as_lineno_1 + 1) 2>/dev/null` | ||
5237 | - test "x$as_lineno_1" != "x$as_lineno_2" && | ||
5238 | - test "x$as_lineno_3" = "x$as_lineno_2" || { | ||
5239 | - # Find who we are. Look in the path if we contain no path at all | ||
5240 | - # relative or not. | ||
5241 | - case $0 in | ||
5242 | - *[\\/]* ) as_myself=$0 ;; | ||
5243 | - *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR | ||
5244 | -for as_dir in $PATH | ||
5245 | -do | ||
5246 | - IFS=$as_save_IFS | ||
5247 | - test -z "$as_dir" && as_dir=. | ||
5248 | - test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break | ||
5249 | -done | ||
5250 | - | ||
5251 | - ;; | ||
5252 | - esac | ||
5253 | - # We did not find ourselves, most probably we were run as `sh COMMAND' | ||
5254 | - # in which case we are not to be found in the path. | ||
5255 | - if test "x$as_myself" = x; then | ||
5256 | - as_myself=$0 | ||
5257 | - fi | ||
5258 | - if test ! -f "$as_myself"; then | ||
5259 | - { { echo "$as_me:$LINENO: error: cannot find myself; rerun with an absolute path" >&5 | ||
5260 | -echo "$as_me: error: cannot find myself; rerun with an absolute path" >&2;} | ||
5261 | - { (exit 1); exit 1; }; } | ||
5262 | - fi | ||
5263 | - case $CONFIG_SHELL in | ||
5264 | - '') | ||
5265 | - as_save_IFS=$IFS; IFS=$PATH_SEPARATOR | ||
5266 | -for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH | ||
5267 | -do | ||
5268 | - IFS=$as_save_IFS | ||
5269 | - test -z "$as_dir" && as_dir=. | ||
5270 | - for as_base in sh bash ksh sh5; do | ||
5271 | - case $as_dir in | ||
5272 | - /*) | ||
5273 | - if ("$as_dir/$as_base" -c ' | ||
5274 | - as_lineno_1=$LINENO | ||
5275 | - as_lineno_2=$LINENO | ||
5276 | - as_lineno_3=`(expr $as_lineno_1 + 1) 2>/dev/null` | ||
5277 | - test "x$as_lineno_1" != "x$as_lineno_2" && | ||
5278 | - test "x$as_lineno_3" = "x$as_lineno_2" ') 2>/dev/null; then | ||
5279 | - $as_unset BASH_ENV || test "${BASH_ENV+set}" != set || { BASH_ENV=; export BASH_ENV; } | ||
5280 | - $as_unset ENV || test "${ENV+set}" != set || { ENV=; export ENV; } | ||
5281 | - CONFIG_SHELL=$as_dir/$as_base | ||
5282 | - export CONFIG_SHELL | ||
5283 | - exec "$CONFIG_SHELL" "$0" ${1+"$@"} | ||
5284 | - fi;; | ||
5285 | - esac | ||
5286 | - done | ||
5287 | -done | ||
5288 | -;; | ||
5289 | - esac | ||
5290 | - | ||
5291 | - # Create $as_me.lineno as a copy of $as_myself, but with $LINENO | ||
5292 | - # uniformly replaced by the line number. The first 'sed' inserts a | ||
5293 | - # line-number line before each line; the second 'sed' does the real | ||
5294 | - # work. The second script uses 'N' to pair each line-number line | ||
5295 | - # with the numbered line, and appends trailing '-' during | ||
5296 | - # substitution so that $LINENO is not a special case at line end. | ||
5297 | - # (Raja R Harinath suggested sed '=', and Paul Eggert wrote the | ||
5298 | - # second 'sed' script. Blame Lee E. McMahon for sed's syntax. :-) | ||
5299 | - sed '=' <$as_myself | | ||
5300 | - sed ' | ||
5301 | - N | ||
5302 | - s,$,-, | ||
5303 | - : loop | ||
5304 | - s,^\(['$as_cr_digits']*\)\(.*\)[$]LINENO\([^'$as_cr_alnum'_]\),\1\2\1\3, | ||
5305 | - t loop | ||
5306 | - s,-$,, | ||
5307 | - s,^['$as_cr_digits']*\n,, | ||
5308 | - ' >$as_me.lineno && | ||
5309 | - chmod +x $as_me.lineno || | ||
5310 | - { { echo "$as_me:$LINENO: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&5 | ||
5311 | -echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2;} | ||
5312 | - { (exit 1); exit 1; }; } | ||
5313 | - | ||
5314 | - # Don't try to exec as it changes $[0], causing all sort of problems | ||
5315 | - # (the dirname of $[0] is not the place where we might find the | ||
5316 | - # original and so on. Autoconf is especially sensible to this). | ||
5317 | - . ./$as_me.lineno | ||
5318 | - # Exit status is that of the last command. | ||
5319 | - exit | ||
5320 | -} | ||
5321 | - | ||
5322 | - | ||
5323 | -case `echo "testing\c"; echo 1,2,3`,`echo -n testing; echo 1,2,3` in | ||
5324 | - *c*,-n*) ECHO_N= ECHO_C=' | ||
5325 | -' ECHO_T=' ' ;; | ||
5326 | - *c*,* ) ECHO_N=-n ECHO_C= ECHO_T= ;; | ||
5327 | - *) ECHO_N= ECHO_C='\c' ECHO_T= ;; | ||
5328 | -esac | ||
5329 | - | ||
5330 | -if expr a : '\(a\)' >/dev/null 2>&1; then | ||
5331 | - as_expr=expr | ||
5332 | -else | ||
5333 | - as_expr=false | ||
5334 | -fi | ||
5335 | - | ||
5336 | -rm -f conf$$ conf$$.exe conf$$.file | ||
5337 | -echo >conf$$.file | ||
5338 | -if ln -s conf$$.file conf$$ 2>/dev/null; then | ||
5339 | - # We could just check for DJGPP; but this test a) works b) is more generic | ||
5340 | - # and c) will remain valid once DJGPP supports symlinks (DJGPP 2.04). | ||
5341 | - if test -f conf$$.exe; then | ||
5342 | - # Don't use ln at all; we don't have any links | ||
5343 | - as_ln_s='cp -p' | ||
5344 | + if test ! -s conftest.s$ac_file; then | ||
5345 | + ac_more_lines=false | ||
5346 | + rm -f conftest.s$ac_file | ||
5347 | else | ||
5348 | - as_ln_s='ln -s' | ||
5349 | + if test -z "$ac_sed_cmds"; then | ||
5350 | + ac_sed_cmds="sed -f conftest.s$ac_file" | ||
5351 | + else | ||
5352 | + ac_sed_cmds="$ac_sed_cmds | sed -f conftest.s$ac_file" | ||
5353 | + fi | ||
5354 | + ac_file=`expr $ac_file + 1` | ||
5355 | + ac_beg=$ac_end | ||
5356 | + ac_end=`expr $ac_end + $ac_max_sed_cmds` | ||
5357 | fi | ||
5358 | -elif ln conf$$.file conf$$ 2>/dev/null; then | ||
5359 | - as_ln_s=ln | ||
5360 | -else | ||
5361 | - as_ln_s='cp -p' | ||
5362 | -fi | ||
5363 | -rm -f conf$$ conf$$.exe conf$$.file | ||
5364 | - | ||
5365 | -if mkdir -p . 2>/dev/null; then | ||
5366 | - as_mkdir_p=: | ||
5367 | -else | ||
5368 | - as_mkdir_p=false | ||
5369 | -fi | ||
5370 | - | ||
5371 | -as_executable_p="test -f" | ||
5372 | - | ||
5373 | -# Sed expression to map a string onto a valid CPP name. | ||
5374 | -as_tr_cpp="sed y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g" | ||
5375 | - | ||
5376 | -# Sed expression to map a string onto a valid variable name. | ||
5377 | -as_tr_sh="sed y%*+%pp%;s%[^_$as_cr_alnum]%_%g" | ||
5378 | - | ||
5379 | - | ||
5380 | -# IFS | ||
5381 | -# We need space, tab and new line, in precisely that order. | ||
5382 | -as_nl=' | ||
5383 | -' | ||
5384 | -IFS=" $as_nl" | ||
5385 | - | ||
5386 | -# CDPATH. | ||
5387 | -$as_unset CDPATH | ||
5388 | - | ||
5389 | -exec 6>&1 | ||
5390 | - | ||
5391 | -# Open the log real soon, to keep \$[0] and so on meaningful, and to | ||
5392 | -# report actual input values of CONFIG_FILES etc. instead of their | ||
5393 | -# values after options handling. Logging --version etc. is OK. | ||
5394 | -exec 5>>config.log | ||
5395 | -{ | ||
5396 | - echo | ||
5397 | - sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX | ||
5398 | -## Running $as_me. ## | ||
5399 | -_ASBOX | ||
5400 | -} >&5 | ||
5401 | -cat >&5 <<_CSEOF | ||
5402 | - | ||
5403 | -This file was extended by $as_me, which was | ||
5404 | -generated by GNU Autoconf 2.57. Invocation command line was | ||
5405 | - | ||
5406 | - CONFIG_FILES = $CONFIG_FILES | ||
5407 | - CONFIG_HEADERS = $CONFIG_HEADERS | ||
5408 | - CONFIG_LINKS = $CONFIG_LINKS | ||
5409 | - CONFIG_COMMANDS = $CONFIG_COMMANDS | ||
5410 | - $ $0 $@ | ||
5411 | - | ||
5412 | -_CSEOF | ||
5413 | -echo "on `(hostname || uname -n) 2>/dev/null | sed 1q`" >&5 | ||
5414 | -echo >&5 | ||
5415 | -_ACEOF | ||
5416 | - | ||
5417 | -# Files that config.status was made for. | ||
5418 | -if test -n "$ac_config_files"; then | ||
5419 | - echo "config_files=\"$ac_config_files\"" >>$CONFIG_STATUS | ||
5420 | -fi | ||
5421 | - | ||
5422 | -if test -n "$ac_config_headers"; then | ||
5423 | - echo "config_headers=\"$ac_config_headers\"" >>$CONFIG_STATUS | ||
5424 | -fi | ||
5425 | - | ||
5426 | -if test -n "$ac_config_links"; then | ||
5427 | - echo "config_links=\"$ac_config_links\"" >>$CONFIG_STATUS | ||
5428 | -fi | ||
5429 | - | ||
5430 | -if test -n "$ac_config_commands"; then | ||
5431 | - echo "config_commands=\"$ac_config_commands\"" >>$CONFIG_STATUS | ||
5432 | -fi | ||
5433 | - | ||
5434 | -cat >>$CONFIG_STATUS <<\_ACEOF | ||
5435 | - | ||
5436 | -ac_cs_usage="\ | ||
5437 | -\`$as_me' instantiates files from templates according to the | ||
5438 | -current configuration. | ||
5439 | - | ||
5440 | -Usage: $0 [OPTIONS] [FILE]... | ||
5441 | - | ||
5442 | - -h, --help print this help, then exit | ||
5443 | - -V, --version print version number, then exit | ||
5444 | - -q, --quiet do not print progress messages | ||
5445 | - -d, --debug don't remove temporary files | ||
5446 | - --recheck update $as_me by reconfiguring in the same conditions | ||
5447 | - --file=FILE[:TEMPLATE] | ||
5448 | - instantiate the configuration file FILE | ||
5449 | - | ||
5450 | -Configuration files: | ||
5451 | -$config_files | ||
5452 | - | ||
5453 | -Report bugs to <bug-autoconf@gnu.org>." | ||
5454 | -_ACEOF | ||
5455 | - | ||
5456 | -cat >>$CONFIG_STATUS <<_ACEOF | ||
5457 | -ac_cs_version="\\ | ||
5458 | -config.status | ||
5459 | -configured by $0, generated by GNU Autoconf 2.57, | ||
5460 | - with options \\"`echo "$ac_configure_args" | sed 's/[\\""\`\$]/\\\\&/g'`\\" | ||
5461 | - | ||
5462 | -Copyright 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001 | ||
5463 | -Free Software Foundation, Inc. | ||
5464 | -This config.status script is free software; the Free Software Foundation | ||
5465 | -gives unlimited permission to copy, distribute and modify it." | ||
5466 | -srcdir=$srcdir | ||
5467 | -INSTALL="$INSTALL" | ||
5468 | -_ACEOF | ||
5469 | - | ||
5470 | -cat >>$CONFIG_STATUS <<\_ACEOF | ||
5471 | -# If no file are specified by the user, then we need to provide default | ||
5472 | -# value. By we need to know if files were specified by the user. | ||
5473 | -ac_need_defaults=: | ||
5474 | -while test $# != 0 | ||
5475 | -do | ||
5476 | - case $1 in | ||
5477 | - --*=*) | ||
5478 | - ac_option=`expr "x$1" : 'x\([^=]*\)='` | ||
5479 | - ac_optarg=`expr "x$1" : 'x[^=]*=\(.*\)'` | ||
5480 | - ac_shift=: | ||
5481 | - ;; | ||
5482 | - -*) | ||
5483 | - ac_option=$1 | ||
5484 | - ac_optarg=$2 | ||
5485 | - ac_shift=shift | ||
5486 | - ;; | ||
5487 | - *) # This is not an option, so the user has probably given explicit | ||
5488 | - # arguments. | ||
5489 | - ac_option=$1 | ||
5490 | - ac_need_defaults=false;; | ||
5491 | - esac | ||
5492 | - | ||
5493 | - case $ac_option in | ||
5494 | - # Handling of the options. | ||
5495 | -_ACEOF | ||
5496 | -cat >>$CONFIG_STATUS <<\_ACEOF | ||
5497 | - -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r) | ||
5498 | - ac_cs_recheck=: ;; | ||
5499 | - --version | --vers* | -V ) | ||
5500 | - echo "$ac_cs_version"; exit 0 ;; | ||
5501 | - --he | --h) | ||
5502 | - # Conflict between --help and --header | ||
5503 | - { { echo "$as_me:$LINENO: error: ambiguous option: $1 | ||
5504 | -Try \`$0 --help' for more information." >&5 | ||
5505 | -echo "$as_me: error: ambiguous option: $1 | ||
5506 | -Try \`$0 --help' for more information." >&2;} | ||
5507 | - { (exit 1); exit 1; }; };; | ||
5508 | - --help | --hel | -h ) | ||
5509 | - echo "$ac_cs_usage"; exit 0 ;; | ||
5510 | - --debug | --d* | -d ) | ||
5511 | - debug=: ;; | ||
5512 | - --file | --fil | --fi | --f ) | ||
5513 | - $ac_shift | ||
5514 | - CONFIG_FILES="$CONFIG_FILES $ac_optarg" | ||
5515 | - ac_need_defaults=false;; | ||
5516 | - --header | --heade | --head | --hea ) | ||
5517 | - $ac_shift | ||
5518 | - CONFIG_HEADERS="$CONFIG_HEADERS $ac_optarg" | ||
5519 | - ac_need_defaults=false;; | ||
5520 | - -q | -quiet | --quiet | --quie | --qui | --qu | --q \ | ||
5521 | - | -silent | --silent | --silen | --sile | --sil | --si | --s) | ||
5522 | - ac_cs_silent=: ;; | ||
5523 | - | ||
5524 | - # This is an error. | ||
5525 | - -*) { { echo "$as_me:$LINENO: error: unrecognized option: $1 | ||
5526 | -Try \`$0 --help' for more information." >&5 | ||
5527 | -echo "$as_me: error: unrecognized option: $1 | ||
5528 | -Try \`$0 --help' for more information." >&2;} | ||
5529 | - { (exit 1); exit 1; }; } ;; | ||
5530 | - | ||
5531 | - *) ac_config_targets="$ac_config_targets $1" ;; | ||
5532 | - | ||
5533 | - esac | ||
5534 | - shift | ||
5535 | done | ||
5536 | - | ||
5537 | -ac_configure_extra_args= | ||
5538 | - | ||
5539 | -if $ac_cs_silent; then | ||
5540 | - exec 6>/dev/null | ||
5541 | - ac_configure_extra_args="$ac_configure_extra_args --silent" | ||
5542 | +if test -z "$ac_sed_cmds"; then | ||
5543 | + ac_sed_cmds=cat | ||
5544 | fi | ||
5545 | +EOF | ||
5546 | |||
5547 | -_ACEOF | ||
5548 | -cat >>$CONFIG_STATUS <<_ACEOF | ||
5549 | -if \$ac_cs_recheck; then | ||
5550 | - echo "running $SHELL $0 " $ac_configure_args \$ac_configure_extra_args " --no-create --no-recursion" >&6 | ||
5551 | - exec $SHELL $0 $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion | ||
5552 | -fi | ||
5553 | +cat >> $CONFIG_STATUS <<EOF | ||
5554 | |||
5555 | -_ACEOF | ||
5556 | - | ||
5557 | - | ||
5558 | - | ||
5559 | - | ||
5560 | - | ||
5561 | -cat >>$CONFIG_STATUS <<\_ACEOF | ||
5562 | -for ac_config_target in $ac_config_targets | ||
5563 | -do | ||
5564 | - case "$ac_config_target" in | ||
5565 | - # Handling of arguments. | ||
5566 | - "config/config" ) CONFIG_FILES="$CONFIG_FILES config/config" ;; | ||
5567 | - "config/system.mak" ) CONFIG_FILES="$CONFIG_FILES config/system.mak" ;; | ||
5568 | - *) { { echo "$as_me:$LINENO: error: invalid argument: $ac_config_target" >&5 | ||
5569 | -echo "$as_me: error: invalid argument: $ac_config_target" >&2;} | ||
5570 | - { (exit 1); exit 1; }; };; | ||
5571 | +CONFIG_FILES=\${CONFIG_FILES-"config/config config/system.mak"} | ||
5572 | +EOF | ||
5573 | +cat >> $CONFIG_STATUS <<\EOF | ||
5574 | +for ac_file in .. $CONFIG_FILES; do if test "x$ac_file" != x..; then | ||
5575 | + # Support "outfile[:infile[:infile...]]", defaulting infile="outfile.in". | ||
5576 | + case "$ac_file" in | ||
5577 | + *:*) ac_file_in=`echo "$ac_file"|sed 's%[^:]*:%%'` | ||
5578 | + ac_file=`echo "$ac_file"|sed 's%:.*%%'` ;; | ||
5579 | + *) ac_file_in="${ac_file}.in" ;; | ||
5580 | esac | ||
5581 | -done | ||
5582 | |||
5583 | -# If the user did not use the arguments to specify the items to instantiate, | ||
5584 | -# then the envvar interface is used. Set only those that are not. | ||
5585 | -# We use the long form for the default assignment because of an extremely | ||
5586 | -# bizarre bug on SunOS 4.1.3. | ||
5587 | -if $ac_need_defaults; then | ||
5588 | - test "${CONFIG_FILES+set}" = set || CONFIG_FILES=$config_files | ||
5589 | -fi | ||
5590 | + # Adjust a relative srcdir, top_srcdir, and INSTALL for subdirectories. | ||
5591 | |||
5592 | -# Have a temporary directory for convenience. Make it in the build tree | ||
5593 | -# simply because there is no reason to put it here, and in addition, | ||
5594 | -# creating and moving files from /tmp can sometimes cause problems. | ||
5595 | -# Create a temporary directory, and hook for its removal unless debugging. | ||
5596 | -$debug || | ||
5597 | -{ | ||
5598 | - trap 'exit_status=$?; rm -rf $tmp && exit $exit_status' 0 | ||
5599 | - trap '{ (exit 1); exit 1; }' 1 2 13 15 | ||
5600 | -} | ||
5601 | - | ||
5602 | -# Create a (secure) tmp directory for tmp files. | ||
5603 | - | ||
5604 | -{ | ||
5605 | - tmp=`(umask 077 && mktemp -d -q "./confstatXXXXXX") 2>/dev/null` && | ||
5606 | - test -n "$tmp" && test -d "$tmp" | ||
5607 | -} || | ||
5608 | -{ | ||
5609 | - tmp=./confstat$$-$RANDOM | ||
5610 | - (umask 077 && mkdir $tmp) | ||
5611 | -} || | ||
5612 | -{ | ||
5613 | - echo "$me: cannot create a temporary directory in ." >&2 | ||
5614 | - { (exit 1); exit 1; } | ||
5615 | -} | ||
5616 | - | ||
5617 | -_ACEOF | ||
5618 | - | ||
5619 | -cat >>$CONFIG_STATUS <<_ACEOF | ||
5620 | - | ||
5621 | -# | ||
5622 | -# CONFIG_FILES section. | ||
5623 | -# | ||
5624 | - | ||
5625 | -# No need to generate the scripts if there are no CONFIG_FILES. | ||
5626 | -# This happens for instance when ./config.status config.h | ||
5627 | -if test -n "\$CONFIG_FILES"; then | ||
5628 | - # Protect against being on the right side of a sed subst in config.status. | ||
5629 | - sed 's/,@/@@/; s/@,/@@/; s/,;t t\$/@;t t/; /@;t t\$/s/[\\\\&,]/\\\\&/g; | ||
5630 | - s/@@/,@/; s/@@/@,/; s/@;t t\$/,;t t/' >\$tmp/subs.sed <<\\CEOF | ||
5631 | -s,@SHELL@,$SHELL,;t t | ||
5632 | -s,@PATH_SEPARATOR@,$PATH_SEPARATOR,;t t | ||
5633 | -s,@PACKAGE_NAME@,$PACKAGE_NAME,;t t | ||
5634 | -s,@PACKAGE_TARNAME@,$PACKAGE_TARNAME,;t t | ||
5635 | -s,@PACKAGE_VERSION@,$PACKAGE_VERSION,;t t | ||
5636 | -s,@PACKAGE_STRING@,$PACKAGE_STRING,;t t | ||
5637 | -s,@PACKAGE_BUGREPORT@,$PACKAGE_BUGREPORT,;t t | ||
5638 | -s,@exec_prefix@,$exec_prefix,;t t | ||
5639 | -s,@prefix@,$prefix,;t t | ||
5640 | -s,@program_transform_name@,$program_transform_name,;t t | ||
5641 | -s,@bindir@,$bindir,;t t | ||
5642 | -s,@sbindir@,$sbindir,;t t | ||
5643 | -s,@libexecdir@,$libexecdir,;t t | ||
5644 | -s,@datadir@,$datadir,;t t | ||
5645 | -s,@sysconfdir@,$sysconfdir,;t t | ||
5646 | -s,@sharedstatedir@,$sharedstatedir,;t t | ||
5647 | -s,@localstatedir@,$localstatedir,;t t | ||
5648 | -s,@libdir@,$libdir,;t t | ||
5649 | -s,@includedir@,$includedir,;t t | ||
5650 | -s,@oldincludedir@,$oldincludedir,;t t | ||
5651 | -s,@infodir@,$infodir,;t t | ||
5652 | -s,@mandir@,$mandir,;t t | ||
5653 | -s,@build_alias@,$build_alias,;t t | ||
5654 | -s,@host_alias@,$host_alias,;t t | ||
5655 | -s,@target_alias@,$target_alias,;t t | ||
5656 | -s,@DEFS@,$DEFS,;t t | ||
5657 | -s,@ECHO_C@,$ECHO_C,;t t | ||
5658 | -s,@ECHO_N@,$ECHO_N,;t t | ||
5659 | -s,@ECHO_T@,$ECHO_T,;t t | ||
5660 | -s,@LIBS@,$LIBS,;t t | ||
5661 | -s,@build@,$build,;t t | ||
5662 | -s,@build_cpu@,$build_cpu,;t t | ||
5663 | -s,@build_vendor@,$build_vendor,;t t | ||
5664 | -s,@build_os@,$build_os,;t t | ||
5665 | -s,@host@,$host,;t t | ||
5666 | -s,@host_cpu@,$host_cpu,;t t | ||
5667 | -s,@host_vendor@,$host_vendor,;t t | ||
5668 | -s,@host_os@,$host_os,;t t | ||
5669 | -s,@target@,$target,;t t | ||
5670 | -s,@target_cpu@,$target_cpu,;t t | ||
5671 | -s,@target_vendor@,$target_vendor,;t t | ||
5672 | -s,@target_os@,$target_os,;t t | ||
5673 | -s,@CC@,$CC,;t t | ||
5674 | -s,@CFLAGS@,$CFLAGS,;t t | ||
5675 | -s,@LDFLAGS@,$LDFLAGS,;t t | ||
5676 | -s,@CPPFLAGS@,$CPPFLAGS,;t t | ||
5677 | -s,@ac_ct_CC@,$ac_ct_CC,;t t | ||
5678 | -s,@EXEEXT@,$EXEEXT,;t t | ||
5679 | -s,@OBJEXT@,$OBJEXT,;t t | ||
5680 | -s,@RANLIB@,$RANLIB,;t t | ||
5681 | -s,@ac_ct_RANLIB@,$ac_ct_RANLIB,;t t | ||
5682 | -s,@INSTALL_PROGRAM@,$INSTALL_PROGRAM,;t t | ||
5683 | -s,@INSTALL_SCRIPT@,$INSTALL_SCRIPT,;t t | ||
5684 | -s,@INSTALL_DATA@,$INSTALL_DATA,;t t | ||
5685 | -s,@AR@,$AR,;t t | ||
5686 | -s,@ac_ct_AR@,$ac_ct_AR,;t t | ||
5687 | -s,@TARGET_OS@,$TARGET_OS,;t t | ||
5688 | -s,@TARGET_CPU@,$TARGET_CPU,;t t | ||
5689 | -s,@M68KCC@,$M68KCC,;t t | ||
5690 | -s,@LEXDEFS@,$LEXDEFS,;t t | ||
5691 | -s,@VOXDEFS@,$VOXDEFS,;t t | ||
5692 | -s,@HOST_OS@,$HOST_OS,;t t | ||
5693 | -s,@HOST_CPU@,$HOST_CPU,;t t | ||
5694 | -s,@OTHERLIBS@,$OTHERLIBS,;t t | ||
5695 | -s,@SHFLAGS@,$SHFLAGS,;t t | ||
5696 | -s,@MMAPTYPE@,$MMAPTYPE,;t t | ||
5697 | -s,@STDIOTYPE@,$STDIOTYPE,;t t | ||
5698 | -s,@CPP@,$CPP,;t t | ||
5699 | -s,@EGREP@,$EGREP,;t t | ||
5700 | -s,@AUDIODRIVER@,$AUDIODRIVER,;t t | ||
5701 | -s,@AUDIODEFS@,$AUDIODEFS,;t t | ||
5702 | -s,@AUDIOLIBS@,$AUDIOLIBS,;t t | ||
5703 | -s,@FL_LANG@,$FL_LANG,;t t | ||
5704 | -s,@FL_VOX@,$FL_VOX,;t t | ||
5705 | -s,@FL_LEX@,$FL_LEX,;t t | ||
5706 | -s,@LIBOBJS@,$LIBOBJS,;t t | ||
5707 | -s,@LTLIBOBJS@,$LTLIBOBJS,;t t | ||
5708 | -CEOF | ||
5709 | - | ||
5710 | -_ACEOF | ||
5711 | - | ||
5712 | - cat >>$CONFIG_STATUS <<\_ACEOF | ||
5713 | - # Split the substitutions into bite-sized pieces for seds with | ||
5714 | - # small command number limits, like on Digital OSF/1 and HP-UX. | ||
5715 | - ac_max_sed_lines=48 | ||
5716 | - ac_sed_frag=1 # Number of current file. | ||
5717 | - ac_beg=1 # First line for current file. | ||
5718 | - ac_end=$ac_max_sed_lines # Line after last line for current file. | ||
5719 | - ac_more_lines=: | ||
5720 | - ac_sed_cmds= | ||
5721 | - while $ac_more_lines; do | ||
5722 | - if test $ac_beg -gt 1; then | ||
5723 | - sed "1,${ac_beg}d; ${ac_end}q" $tmp/subs.sed >$tmp/subs.frag | ||
5724 | - else | ||
5725 | - sed "${ac_end}q" $tmp/subs.sed >$tmp/subs.frag | ||
5726 | - fi | ||
5727 | - if test ! -s $tmp/subs.frag; then | ||
5728 | - ac_more_lines=false | ||
5729 | - else | ||
5730 | - # The purpose of the label and of the branching condition is to | ||
5731 | - # speed up the sed processing (if there are no `@' at all, there | ||
5732 | - # is no need to browse any of the substitutions). | ||
5733 | - # These are the two extra sed commands mentioned above. | ||
5734 | - (echo ':t | ||
5735 | - /@[a-zA-Z_][a-zA-Z_0-9]*@/!b' && cat $tmp/subs.frag) >$tmp/subs-$ac_sed_frag.sed | ||
5736 | - if test -z "$ac_sed_cmds"; then | ||
5737 | - ac_sed_cmds="sed -f $tmp/subs-$ac_sed_frag.sed" | ||
5738 | - else | ||
5739 | - ac_sed_cmds="$ac_sed_cmds | sed -f $tmp/subs-$ac_sed_frag.sed" | ||
5740 | - fi | ||
5741 | - ac_sed_frag=`expr $ac_sed_frag + 1` | ||
5742 | - ac_beg=$ac_end | ||
5743 | - ac_end=`expr $ac_end + $ac_max_sed_lines` | ||
5744 | - fi | ||
5745 | - done | ||
5746 | - if test -z "$ac_sed_cmds"; then | ||
5747 | - ac_sed_cmds=cat | ||
5748 | + # Remove last slash and all that follows it. Not all systems have dirname. | ||
5749 | + ac_dir=`echo $ac_file|sed 's%/[^/][^/]*$%%'` | ||
5750 | + if test "$ac_dir" != "$ac_file" && test "$ac_dir" != .; then | ||
5751 | + # The file is in a subdirectory. | ||
5752 | + test ! -d "$ac_dir" && mkdir "$ac_dir" | ||
5753 | + ac_dir_suffix="/`echo $ac_dir|sed 's%^\./%%'`" | ||
5754 | + # A "../" for each directory in $ac_dir_suffix. | ||
5755 | + ac_dots=`echo $ac_dir_suffix|sed 's%/[^/]*%../%g'` | ||
5756 | + else | ||
5757 | + ac_dir_suffix= ac_dots= | ||
5758 | fi | ||
5759 | -fi # test -n "$CONFIG_FILES" | ||
5760 | |||
5761 | -_ACEOF | ||
5762 | -cat >>$CONFIG_STATUS <<\_ACEOF | ||
5763 | -for ac_file in : $CONFIG_FILES; do test "x$ac_file" = x: && continue | ||
5764 | - # Support "outfile[:infile[:infile...]]", defaulting infile="outfile.in". | ||
5765 | - case $ac_file in | ||
5766 | - - | *:- | *:-:* ) # input from stdin | ||
5767 | - cat >$tmp/stdin | ||
5768 | - ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'` | ||
5769 | - ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;; | ||
5770 | - *:* ) ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'` | ||
5771 | - ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;; | ||
5772 | - * ) ac_file_in=$ac_file.in ;; | ||
5773 | + case "$ac_given_srcdir" in | ||
5774 | + .) srcdir=. | ||
5775 | + if test -z "$ac_dots"; then top_srcdir=. | ||
5776 | + else top_srcdir=`echo $ac_dots|sed 's%/$%%'`; fi ;; | ||
5777 | + /*) srcdir="$ac_given_srcdir$ac_dir_suffix"; top_srcdir="$ac_given_srcdir" ;; | ||
5778 | + *) # Relative path. | ||
5779 | + srcdir="$ac_dots$ac_given_srcdir$ac_dir_suffix" | ||
5780 | + top_srcdir="$ac_dots$ac_given_srcdir" ;; | ||
5781 | esac | ||
5782 | |||
5783 | - # Compute @srcdir@, @top_srcdir@, and @INSTALL@ for subdirectories. | ||
5784 | - ac_dir=`(dirname "$ac_file") 2>/dev/null || | ||
5785 | -$as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ | ||
5786 | - X"$ac_file" : 'X\(//\)[^/]' \| \ | ||
5787 | - X"$ac_file" : 'X\(//\)$' \| \ | ||
5788 | - X"$ac_file" : 'X\(/\)' \| \ | ||
5789 | - . : '\(.\)' 2>/dev/null || | ||
5790 | -echo X"$ac_file" | | ||
5791 | - sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; } | ||
5792 | - /^X\(\/\/\)[^/].*/{ s//\1/; q; } | ||
5793 | - /^X\(\/\/\)$/{ s//\1/; q; } | ||
5794 | - /^X\(\/\).*/{ s//\1/; q; } | ||
5795 | - s/.*/./; q'` | ||
5796 | - { if $as_mkdir_p; then | ||
5797 | - mkdir -p "$ac_dir" | ||
5798 | - else | ||
5799 | - as_dir="$ac_dir" | ||
5800 | - as_dirs= | ||
5801 | - while test ! -d "$as_dir"; do | ||
5802 | - as_dirs="$as_dir $as_dirs" | ||
5803 | - as_dir=`(dirname "$as_dir") 2>/dev/null || | ||
5804 | -$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \ | ||
5805 | - X"$as_dir" : 'X\(//\)[^/]' \| \ | ||
5806 | - X"$as_dir" : 'X\(//\)$' \| \ | ||
5807 | - X"$as_dir" : 'X\(/\)' \| \ | ||
5808 | - . : '\(.\)' 2>/dev/null || | ||
5809 | -echo X"$as_dir" | | ||
5810 | - sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; } | ||
5811 | - /^X\(\/\/\)[^/].*/{ s//\1/; q; } | ||
5812 | - /^X\(\/\/\)$/{ s//\1/; q; } | ||
5813 | - /^X\(\/\).*/{ s//\1/; q; } | ||
5814 | - s/.*/./; q'` | ||
5815 | - done | ||
5816 | - test ! -n "$as_dirs" || mkdir $as_dirs | ||
5817 | - fi || { { echo "$as_me:$LINENO: error: cannot create directory \"$ac_dir\"" >&5 | ||
5818 | -echo "$as_me: error: cannot create directory \"$ac_dir\"" >&2;} | ||
5819 | - { (exit 1); exit 1; }; }; } | ||
5820 | + case "$ac_given_INSTALL" in | ||
5821 | + [/$]*) INSTALL="$ac_given_INSTALL" ;; | ||
5822 | + *) INSTALL="$ac_dots$ac_given_INSTALL" ;; | ||
5823 | + esac | ||
5824 | |||
5825 | - ac_builddir=. | ||
5826 | - | ||
5827 | -if test "$ac_dir" != .; then | ||
5828 | - ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'` | ||
5829 | - # A "../" for each directory in $ac_dir_suffix. | ||
5830 | - ac_top_builddir=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,../,g'` | ||
5831 | -else | ||
5832 | - ac_dir_suffix= ac_top_builddir= | ||
5833 | -fi | ||
5834 | - | ||
5835 | -case $srcdir in | ||
5836 | - .) # No --srcdir option. We are building in place. | ||
5837 | - ac_srcdir=. | ||
5838 | - if test -z "$ac_top_builddir"; then | ||
5839 | - ac_top_srcdir=. | ||
5840 | - else | ||
5841 | - ac_top_srcdir=`echo $ac_top_builddir | sed 's,/$,,'` | ||
5842 | - fi ;; | ||
5843 | - [\\/]* | ?:[\\/]* ) # Absolute path. | ||
5844 | - ac_srcdir=$srcdir$ac_dir_suffix; | ||
5845 | - ac_top_srcdir=$srcdir ;; | ||
5846 | - *) # Relative path. | ||
5847 | - ac_srcdir=$ac_top_builddir$srcdir$ac_dir_suffix | ||
5848 | - ac_top_srcdir=$ac_top_builddir$srcdir ;; | ||
5849 | -esac | ||
5850 | -# Don't blindly perform a `cd "$ac_dir"/$ac_foo && pwd` since $ac_foo can be | ||
5851 | -# absolute. | ||
5852 | -ac_abs_builddir=`cd "$ac_dir" && cd $ac_builddir && pwd` | ||
5853 | -ac_abs_top_builddir=`cd "$ac_dir" && cd ${ac_top_builddir}. && pwd` | ||
5854 | -ac_abs_srcdir=`cd "$ac_dir" && cd $ac_srcdir && pwd` | ||
5855 | -ac_abs_top_srcdir=`cd "$ac_dir" && cd $ac_top_srcdir && pwd` | ||
5856 | - | ||
5857 | - | ||
5858 | - case $INSTALL in | ||
5859 | - [\\/$]* | ?:[\\/]* ) ac_INSTALL=$INSTALL ;; | ||
5860 | - *) ac_INSTALL=$ac_top_builddir$INSTALL ;; | ||
5861 | + echo creating "$ac_file" | ||
5862 | + rm -f "$ac_file" | ||
5863 | + configure_input="Generated automatically from `echo $ac_file_in|sed 's%.*/%%'` by configure." | ||
5864 | + case "$ac_file" in | ||
5865 | + *Makefile*) ac_comsub="1i\\ | ||
5866 | +# $configure_input" ;; | ||
5867 | + *) ac_comsub= ;; | ||
5868 | esac | ||
5869 | |||
5870 | - if test x"$ac_file" != x-; then | ||
5871 | - { echo "$as_me:$LINENO: creating $ac_file" >&5 | ||
5872 | -echo "$as_me: creating $ac_file" >&6;} | ||
5873 | - rm -f "$ac_file" | ||
5874 | - fi | ||
5875 | - # Let's still pretend it is `configure' which instantiates (i.e., don't | ||
5876 | - # use $as_me), people would be surprised to read: | ||
5877 | - # /* config.h. Generated by config.status. */ | ||
5878 | - if test x"$ac_file" = x-; then | ||
5879 | - configure_input= | ||
5880 | - else | ||
5881 | - configure_input="$ac_file. " | ||
5882 | - fi | ||
5883 | - configure_input=$configure_input"Generated from `echo $ac_file_in | | ||
5884 | - sed 's,.*/,,'` by configure." | ||
5885 | + ac_file_inputs=`echo $ac_file_in|sed -e "s%^%$ac_given_srcdir/%" -e "s%:% $ac_given_srcdir/%g"` | ||
5886 | + sed -e "$ac_comsub | ||
5887 | +s%@configure_input@%$configure_input%g | ||
5888 | +s%@srcdir@%$srcdir%g | ||
5889 | +s%@top_srcdir@%$top_srcdir%g | ||
5890 | +s%@INSTALL@%$INSTALL%g | ||
5891 | +" $ac_file_inputs | (eval "$ac_sed_cmds") > $ac_file | ||
5892 | +fi; done | ||
5893 | +rm -f conftest.s* | ||
5894 | |||
5895 | - # First look for the input files in the build tree, otherwise in the | ||
5896 | - # src tree. | ||
5897 | - ac_file_inputs=`IFS=: | ||
5898 | - for f in $ac_file_in; do | ||
5899 | - case $f in | ||
5900 | - -) echo $tmp/stdin ;; | ||
5901 | - [\\/$]*) | ||
5902 | - # Absolute (can't be DOS-style, as IFS=:) | ||
5903 | - test -f "$f" || { { echo "$as_me:$LINENO: error: cannot find input file: $f" >&5 | ||
5904 | -echo "$as_me: error: cannot find input file: $f" >&2;} | ||
5905 | - { (exit 1); exit 1; }; } | ||
5906 | - echo $f;; | ||
5907 | - *) # Relative | ||
5908 | - if test -f "$f"; then | ||
5909 | - # Build tree | ||
5910 | - echo $f | ||
5911 | - elif test -f "$srcdir/$f"; then | ||
5912 | - # Source tree | ||
5913 | - echo $srcdir/$f | ||
5914 | - else | ||
5915 | - # /dev/null tree | ||
5916 | - { { echo "$as_me:$LINENO: error: cannot find input file: $f" >&5 | ||
5917 | -echo "$as_me: error: cannot find input file: $f" >&2;} | ||
5918 | - { (exit 1); exit 1; }; } | ||
5919 | - fi;; | ||
5920 | - esac | ||
5921 | - done` || { (exit 1); exit 1; } | ||
5922 | -_ACEOF | ||
5923 | -cat >>$CONFIG_STATUS <<_ACEOF | ||
5924 | - sed "$ac_vpsub | ||
5925 | -$extrasub | ||
5926 | -_ACEOF | ||
5927 | -cat >>$CONFIG_STATUS <<\_ACEOF | ||
5928 | -:t | ||
5929 | -/@[a-zA-Z_][a-zA-Z_0-9]*@/!b | ||
5930 | -s,@configure_input@,$configure_input,;t t | ||
5931 | -s,@srcdir@,$ac_srcdir,;t t | ||
5932 | -s,@abs_srcdir@,$ac_abs_srcdir,;t t | ||
5933 | -s,@top_srcdir@,$ac_top_srcdir,;t t | ||
5934 | -s,@abs_top_srcdir@,$ac_abs_top_srcdir,;t t | ||
5935 | -s,@builddir@,$ac_builddir,;t t | ||
5936 | -s,@abs_builddir@,$ac_abs_builddir,;t t | ||
5937 | -s,@top_builddir@,$ac_top_builddir,;t t | ||
5938 | -s,@abs_top_builddir@,$ac_abs_top_builddir,;t t | ||
5939 | -s,@INSTALL@,$ac_INSTALL,;t t | ||
5940 | -" $ac_file_inputs | (eval "$ac_sed_cmds") >$tmp/out | ||
5941 | - rm -f $tmp/stdin | ||
5942 | - if test x"$ac_file" != x-; then | ||
5943 | - mv $tmp/out $ac_file | ||
5944 | - else | ||
5945 | - cat $tmp/out | ||
5946 | - rm -f $tmp/out | ||
5947 | - fi | ||
5948 | +EOF | ||
5949 | +cat >> $CONFIG_STATUS <<EOF | ||
5950 | |||
5951 | -done | ||
5952 | -_ACEOF | ||
5953 | +EOF | ||
5954 | +cat >> $CONFIG_STATUS <<\EOF | ||
5955 | |||
5956 | -cat >>$CONFIG_STATUS <<\_ACEOF | ||
5957 | - | ||
5958 | -{ (exit 0); exit 0; } | ||
5959 | -_ACEOF | ||
5960 | +exit 0 | ||
5961 | +EOF | ||
5962 | chmod +x $CONFIG_STATUS | ||
5963 | -ac_clean_files=$ac_clean_files_save | ||
5964 | +rm -fr confdefs* $ac_clean_files | ||
5965 | +test "$no_create" = yes || ${CONFIG_SHELL-/bin/sh} $CONFIG_STATUS || exit 1 | ||
5966 | |||
5967 | - | ||
5968 | -# configure is writing to config.log, and then calls config.status. | ||
5969 | -# config.status does its own redirection, appending to config.log. | ||
5970 | -# Unfortunately, on DOS this fails, as config.log is still kept open | ||
5971 | -# by configure, so config.status won't be able to write to it; its | ||
5972 | -# output is simply discarded. So we exec the FD to /dev/null, | ||
5973 | -# effectively closing config.log, so it can be properly (re)opened and | ||
5974 | -# appended to by config.status. When coming back to configure, we | ||
5975 | -# need to make the FD available again. | ||
5976 | -if test "$no_create" != yes; then | ||
5977 | - ac_cs_success=: | ||
5978 | - ac_config_status_args= | ||
5979 | - test "$silent" = yes && | ||
5980 | - ac_config_status_args="$ac_config_status_args --quiet" | ||
5981 | - exec 5>/dev/null | ||
5982 | - $SHELL $CONFIG_STATUS $ac_config_status_args || ac_cs_success=false | ||
5983 | - exec 5>>config.log | ||
5984 | - # Use ||, not &&, to avoid exiting from the if with $? = 1, which | ||
5985 | - # would make configure fail if this is the last instruction. | ||
5986 | - $ac_cs_success || { (exit 1); exit 1; } | ||
5987 | -fi | ||
5988 | - | ||
5989 | Index: configure.in | ||
5990 | =================================================================== | ||
5991 | --- flite-1.3-release/configure.in (.../flite-1.3-orig) (revision 7) | ||
5992 | +++ flite-1.3-release/configure.in (.../release-1.2) (revision 7) | ||
5993 | @@ -206,10 +206,10 @@ | ||
5994 | AC_CHECK_HEADER(sys/audioio.h, | ||
5995 | [AUDIODRIVER="sun" | ||
5996 | AUDIODEFS=-DCST_AUDIO_SUNOS]) | ||
5997 | -dnl AC_CHECK_HEADER(sys/asoundlib.h, | ||
5998 | -dnl [AUDIODRIVER="alsa" | ||
5999 | -dnl AUDIODEFS=-DCST_AUDIO_ALSA | ||
6000 | -dnl AUDIOLIBS=-lasound]) | ||
6001 | + AC_CHECK_HEADER(alsa/asoundlib.h, | ||
6002 | + [AUDIODRIVER="alsa" | ||
6003 | + AUDIODEFS=-DCST_AUDIO_ALSA | ||
6004 | + AUDIOLIBS=-lasound]) | ||
6005 | AC_CHECK_HEADER(mmsystem.h, | ||
6006 | [AUDIODRIVER="wince" | ||
6007 | AUDIODEFS=-DCST_AUDIO_WINCE | ||
6008 | Index: src/hrg/Makefile | ||
6009 | =================================================================== | ||
6010 | --- flite-1.3-release/src/hrg/Makefile (.../flite-1.3-orig) (revision 7) | ||
6011 | +++ flite-1.3-release/src/hrg/Makefile (.../release-1.2) (revision 7) | ||
6012 | @@ -39,9 +39,14 @@ | ||
6013 | BUILD_DIRS = | ||
6014 | ALL_DIRS= | ||
6015 | H = | ||
6016 | +include $(TOP)/config/config | ||
6017 | SRCS = cst_utterance.c cst_relation.c cst_item.c cst_ffeature.c \ | ||
6018 | cst_rel_io.c | ||
6019 | -OBJS = $(SRCS:.c=.o) | ||
6020 | +ifdef SHFLAGS | ||
6021 | +OBJS := $(SRCS:.c=.os) | ||
6022 | +else | ||
6023 | +OBJS := $(SRCS:.c=.o) | ||
6024 | +endif | ||
6025 | FILES = Makefile $(H) $(SRCS) | ||
6026 | LIBNAME = flite | ||
6027 | |||
6028 | Index: src/utils/Makefile | ||
6029 | =================================================================== | ||
6030 | --- flite-1.3-release/src/utils/Makefile (.../flite-1.3-orig) (revision 7) | ||
6031 | +++ flite-1.3-release/src/utils/Makefile (.../release-1.2) (revision 7) | ||
6032 | @@ -44,8 +44,13 @@ | ||
6033 | cst_tokenstream.c cst_val.c cst_features.c \ | ||
6034 | cst_endian.c cst_socket.c cst_val_const.c \ | ||
6035 | cst_val_user.c cst_args.c | ||
6036 | +ifdef SHFLAGS | ||
6037 | +OBJS := $(SRCS:.c=.os) $(MMAPTYPE:%=cst_mmap_%.os) \ | ||
6038 | + $(STDIOTYPE:%=cst_file_%.os) | ||
6039 | +else | ||
6040 | OBJS := $(SRCS:.c=.o) $(MMAPTYPE:%=cst_mmap_%.o) \ | ||
6041 | $(STDIOTYPE:%=cst_file_%.o) | ||
6042 | +endif | ||
6043 | FILES = Makefile $(H) $(SRCS) \ | ||
6044 | cst_mmap_posix.c cst_mmap_win32.c cst_mmap_none.c \ | ||
6045 | cst_file_stdio.c cst_file_wince.c cst_file_palmos.c | ||
6046 | Index: src/audio/au_alsa.c | ||
6047 | =================================================================== | ||
6048 | --- flite-1.3-release/src/audio/au_alsa.c (.../flite-1.3-orig) (revision 0) | ||
6049 | +++ flite-1.3-release/src/audio/au_alsa.c (.../release-1.2) (revision 7) | ||
6050 | @@ -0,0 +1,311 @@ | ||
6051 | +/*************************************************************************/ | ||
6052 | +/* */ | ||
6053 | +/* Language Technologies Institute */ | ||
6054 | +/* Carnegie Mellon University */ | ||
6055 | +/* Copyright (c) 2000 */ | ||
6056 | +/* All Rights Reserved. */ | ||
6057 | +/* */ | ||
6058 | +/* Permission is hereby granted, free of charge, to use and distribute */ | ||
6059 | +/* this software and its documentation without restriction, including */ | ||
6060 | +/* without limitation the rights to use, copy, modify, merge, publish, */ | ||
6061 | +/* distribute, sublicense, and/or sell copies of this work, and to */ | ||
6062 | +/* permit persons to whom this work is furnished to do so, subject to */ | ||
6063 | +/* the following conditions: */ | ||
6064 | +/* 1. The code must retain the above copyright notice, this list of */ | ||
6065 | +/* conditions and the following disclaimer. */ | ||
6066 | +/* 2. Any modifications must be clearly marked as such. */ | ||
6067 | +/* 3. Original authors' names are not deleted. */ | ||
6068 | +/* 4. The authors' names are not used to endorse or promote products */ | ||
6069 | +/* derived from this software without specific prior written */ | ||
6070 | +/* permission. */ | ||
6071 | +/* */ | ||
6072 | +/* CARNEGIE MELLON UNIVERSITY AND THE CONTRIBUTORS TO THIS WORK */ | ||
6073 | +/* DISCLAIM ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING */ | ||
6074 | +/* ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT */ | ||
6075 | +/* SHALL CARNEGIE MELLON UNIVERSITY NOR THE CONTRIBUTORS BE LIABLE */ | ||
6076 | +/* FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES */ | ||
6077 | +/* WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN */ | ||
6078 | +/* AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, */ | ||
6079 | +/* ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF */ | ||
6080 | +/* THIS SOFTWARE. */ | ||
6081 | +/* */ | ||
6082 | +/*********************************************************************** */ | ||
6083 | +/* Author: Lukas Loehrer ( */ | ||
6084 | +/* Date: January 2005 */ | ||
6085 | +/*************************************************************************/ | ||
6086 | +/* */ | ||
6087 | +/* Native access to alsa audio devices on Linux */ | ||
6088 | +/* Tested with libasound version 1.0.10 */ | ||
6089 | +/*************************************************************************/ | ||
6090 | + | ||
6091 | +#include <stdlib.h> | ||
6092 | +#include <unistd.h> | ||
6093 | +#include <sys/types.h> | ||
6094 | +#include <assert.h> | ||
6095 | +#include <errno.h> | ||
6096 | + | ||
6097 | +#include "cst_string.h" | ||
6098 | +#include "cst_wave.h" | ||
6099 | +#include "cst_audio.h" | ||
6100 | + | ||
6101 | +#include <alsa/asoundlib.h> | ||
6102 | + | ||
6103 | + | ||
6104 | +/*static char *pcm_dev_name = "hw:0,0"; */ | ||
6105 | +static char *pcm_dev_name ="default"; | ||
6106 | + | ||
6107 | +static inline void print_pcm_state(snd_pcm_t *handle, char *msg) | ||
6108 | +{ | ||
6109 | + fprintf(stderr, "PCM state at %s = %s\n", msg, | ||
6110 | + snd_pcm_state_name(snd_pcm_state(handle))); | ||
6111 | +} | ||
6112 | + | ||
6113 | +cst_audiodev *audio_open_alsa(int sps, int channels, cst_audiofmt fmt) | ||
6114 | +{ | ||
6115 | + cst_audiodev *ad; | ||
6116 | + unsigned int real_rate; | ||
6117 | + int err; | ||
6118 | + | ||
6119 | + /* alsa specific stuff */ | ||
6120 | + snd_pcm_t *pcm_handle; | ||
6121 | + snd_pcm_stream_t stream = SND_PCM_STREAM_PLAYBACK; | ||
6122 | + snd_pcm_hw_params_t *hwparams; | ||
6123 | + snd_pcm_format_t format; | ||
6124 | + snd_pcm_access_t access = SND_PCM_ACCESS_RW_INTERLEAVED; | ||
6125 | + | ||
6126 | + /* Allocate the snd_pcm_hw_params_t structure on the stack. */ | ||
6127 | + snd_pcm_hw_params_alloca(&hwparams); | ||
6128 | + | ||
6129 | + /* Open pcm device */ | ||
6130 | + err = snd_pcm_open(&pcm_handle, pcm_dev_name, stream, 0); | ||
6131 | + if (err < 0) | ||
6132 | + { | ||
6133 | + cst_errmsg("audio_open_alsa: failed to open audio device %s. %s\n", | ||
6134 | + pcm_dev_name, snd_strerror(err)); | ||
6135 | + return NULL; | ||
6136 | + } | ||
6137 | + | ||
6138 | + /* Init hwparams with full configuration space */ | ||
6139 | + err = snd_pcm_hw_params_any(pcm_handle, hwparams); | ||
6140 | + if (err < 0) | ||
6141 | + { | ||
6142 | + snd_pcm_close(pcm_handle); | ||
6143 | + cst_errmsg("audio_open_alsa: failed to get hardware parameters from audio device. %s\n", snd_strerror(err)); | ||
6144 | + return NULL; | ||
6145 | + } | ||
6146 | + | ||
6147 | + /* Set access mode */ | ||
6148 | + err = snd_pcm_hw_params_set_access(pcm_handle, hwparams, access); | ||
6149 | + if (err < 0) | ||
6150 | + { | ||
6151 | + snd_pcm_close(pcm_handle); | ||
6152 | + cst_errmsg("audio_open_alsa: failed to set access mode. %s.\n", snd_strerror(err)); | ||
6153 | + return NULL; | ||
6154 | + } | ||
6155 | + | ||
6156 | + /* Determine matching alsa sample format */ | ||
6157 | + /* This could be implemented in a more */ | ||
6158 | + /* flexible way (byte order conversion). */ | ||
6159 | + switch (fmt) | ||
6160 | + { | ||
6161 | + case CST_AUDIO_LINEAR16: | ||
6162 | + if (CST_LITTLE_ENDIAN) | ||
6163 | + format = SND_PCM_FORMAT_S16_LE; | ||
6164 | + else | ||
6165 | + format = SND_PCM_FORMAT_S16_BE; | ||
6166 | + break; | ||
6167 | + case CST_AUDIO_LINEAR8: | ||
6168 | + format = SND_PCM_FORMAT_U8; | ||
6169 | + break; | ||
6170 | + case CST_AUDIO_MULAW: | ||
6171 | + format = SND_PCM_FORMAT_MU_LAW; | ||
6172 | + break; | ||
6173 | + default: | ||
6174 | + snd_pcm_close(pcm_handle); | ||
6175 | + cst_errmsg("audio_open_alsa: failed to find suitable format.\n"); | ||
6176 | + return NULL; | ||
6177 | + break; | ||
6178 | + } | ||
6179 | + | ||
6180 | + /* Set samble format */ | ||
6181 | + err = snd_pcm_hw_params_set_format(pcm_handle, hwparams, format); | ||
6182 | + if (err <0) | ||
6183 | + { | ||
6184 | + snd_pcm_close(pcm_handle); | ||
6185 | + cst_errmsg("audio_open_alsa: failed to set format. %s.\n", snd_strerror(err)); | ||
6186 | + return NULL; | ||
6187 | + } | ||
6188 | + | ||
6189 | + /* Set sample rate near the disired rate */ | ||
6190 | + real_rate = sps; | ||
6191 | + err = snd_pcm_hw_params_set_rate_near(pcm_handle, hwparams, &real_rate, 0); | ||
6192 | + if (err < 0) | ||
6193 | + { | ||
6194 | + snd_pcm_close(pcm_handle); | ||
6195 | + cst_errmsg("audio_open_alsa: failed to set sample rate near %d. %s.\n", sps, snd_strerror(err)); | ||
6196 | + return NULL; | ||
6197 | + } | ||
6198 | + /*FIXME: This is probably too strict */ | ||
6199 | + assert(sps == real_rate); | ||
6200 | + | ||
6201 | + /* Set number of channels */ | ||
6202 | + assert(channels >0); | ||
6203 | + err = snd_pcm_hw_params_set_channels(pcm_handle, hwparams, channels); | ||
6204 | + if (err < 0) | ||
6205 | + { | ||
6206 | + snd_pcm_close(pcm_handle); | ||
6207 | + cst_errmsg("audio_open_alsa: failed to set number of channels to %d. %s.\n", channels, snd_strerror(err)); | ||
6208 | + return NULL; | ||
6209 | + } | ||
6210 | + | ||
6211 | + /* Commit hardware parameters */ | ||
6212 | + err = snd_pcm_hw_params(pcm_handle, hwparams); | ||
6213 | + if (err < 0) | ||
6214 | + { | ||
6215 | + snd_pcm_close(pcm_handle); | ||
6216 | + cst_errmsg("audio_open_alsa: failed to set hw parameters. %s.\n", snd_strerror(err)); | ||
6217 | + return NULL; | ||
6218 | + } | ||
6219 | + | ||
6220 | + /* Make sure the device is ready to accept data */ | ||
6221 | + assert(snd_pcm_state(pcm_handle) == SND_PCM_STATE_PREPARED); | ||
6222 | + | ||
6223 | + /* Write hardware parameters to flite audio device data structure */ | ||
6224 | + ad = cst_alloc(cst_audiodev, 1); | ||
6225 | + assert(ad != NULL); | ||
6226 | + ad->real_sps = ad->sps = sps; | ||
6227 | + ad->real_channels = ad->channels = channels; | ||
6228 | + ad->real_fmt = ad->fmt = fmt; | ||
6229 | + ad->platform_data = (void *) pcm_handle; | ||
6230 | + | ||
6231 | + return ad; | ||
6232 | +} | ||
6233 | + | ||
6234 | +int audio_close_alsa(cst_audiodev *ad) | ||
6235 | +{ | ||
6236 | + int result; | ||
6237 | + snd_pcm_t *pcm_handle; | ||
6238 | + | ||
6239 | + if (ad == NULL) | ||
6240 | + return 0; | ||
6241 | + | ||
6242 | + pcm_handle = (snd_pcm_t *) ad->platform_data; | ||
6243 | + result = snd_pcm_close(pcm_handle); | ||
6244 | + if (result < 0) | ||
6245 | + { | ||
6246 | + cst_errmsg("audio_close_alsa: Error: %s.\n", snd_strerror(result)); | ||
6247 | + } | ||
6248 | + cst_free(ad); | ||
6249 | + return result; | ||
6250 | +} | ||
6251 | + | ||
6252 | +/* Returns zero if recovery was successful. */ | ||
6253 | +static int recover_from_error(snd_pcm_t *pcm_handle, ssize_t res) | ||
6254 | +{ | ||
6255 | + if (res == -EPIPE) /* xrun */ | ||
6256 | + { | ||
6257 | + res = snd_pcm_prepare(pcm_handle); | ||
6258 | + if (res < 0) | ||
6259 | + { | ||
6260 | + /* Failed to recover from xrun */ | ||
6261 | + cst_errmsg("recover_from_write_error: failed to recover from xrun. %s\n.", snd_strerror(res)); | ||
6262 | + return res; | ||
6263 | + } | ||
6264 | + } | ||
6265 | + else if (res == -ESTRPIPE) /* Suspend */ | ||
6266 | + { | ||
6267 | + while ((res = snd_pcm_resume(pcm_handle)) == -EAGAIN) | ||
6268 | + { | ||
6269 | + snd_pcm_wait(pcm_handle, 1000); | ||
6270 | + } | ||
6271 | + if (res < 0) | ||
6272 | + { | ||
6273 | + res = snd_pcm_prepare(pcm_handle); | ||
6274 | + if (res <0) | ||
6275 | + { | ||
6276 | + /* Resume failed */ | ||
6277 | + cst_errmsg("audio_recover_from_write_error: failed to resume after suspend. %s\n.", snd_strerror(res)); | ||
6278 | + return res; | ||
6279 | + } | ||
6280 | + } | ||
6281 | + } | ||
6282 | + else if (res < 0) | ||
6283 | + { | ||
6284 | + /* Unknown failure */ | ||
6285 | + cst_errmsg("audio_recover_from_write_error: %s.\n", snd_strerror(res)); | ||
6286 | + return res; | ||
6287 | + } | ||
6288 | + return 0; | ||
6289 | +} | ||
6290 | + | ||
6291 | +int audio_write_alsa(cst_audiodev *ad, void *samples, int num_bytes) | ||
6292 | +{ | ||
6293 | + size_t frame_size; | ||
6294 | + ssize_t num_frames, res; | ||
6295 | + snd_pcm_t *pcm_handle; | ||
6296 | + char *buf = (char *) samples; | ||
6297 | + | ||
6298 | + /* Determine frame size in bytes */ | ||
6299 | + frame_size = audio_bps(ad->real_fmt) * ad->real_channels; | ||
6300 | + /* Require that only complete frames are handed in */ | ||
6301 | + assert((num_bytes % frame_size) == 0); | ||
6302 | + num_frames = num_bytes / frame_size; | ||
6303 | + pcm_handle = (snd_pcm_t *) ad->platform_data; | ||
6304 | + | ||
6305 | + while (num_frames > 0) | ||
6306 | + { | ||
6307 | + res = snd_pcm_writei(pcm_handle, buf, num_frames); | ||
6308 | + if (res != num_frames) | ||
6309 | + { | ||
6310 | + if (res == -EAGAIN || (res > 0 && res < num_frames)) | ||
6311 | + { | ||
6312 | + snd_pcm_wait(pcm_handle, 100); | ||
6313 | + } | ||
6314 | + else if (recover_from_error(pcm_handle, res) < 0) | ||
6315 | + { | ||
6316 | + return -1; | ||
6317 | + } | ||
6318 | + } | ||
6319 | + | ||
6320 | + if (res >0) | ||
6321 | + { | ||
6322 | + num_frames -= res; | ||
6323 | + buf += res * frame_size; | ||
6324 | + } | ||
6325 | + } | ||
6326 | + return num_bytes; | ||
6327 | +} | ||
6328 | + | ||
6329 | +int audio_flush_alsa(cst_audiodev *ad) | ||
6330 | +{ | ||
6331 | + int result; | ||
6332 | + result = snd_pcm_drain((snd_pcm_t *) ad->platform_data); | ||
6333 | + if (result < 0) | ||
6334 | + { | ||
6335 | + cst_errmsg("audio_flush_alsa: Error: %s.\n", snd_strerror(result)); | ||
6336 | + } | ||
6337 | + /* Prepare device for more data */ | ||
6338 | + result = snd_pcm_prepare((snd_pcm_t *) ad->platform_data); | ||
6339 | +if (result < 0) | ||
6340 | + { | ||
6341 | + cst_errmsg("audio_flush_alsa: Error: %s.\n", snd_strerror(result)); | ||
6342 | + } | ||
6343 | + return result; | ||
6344 | +} | ||
6345 | + | ||
6346 | +int audio_drain_alsa(cst_audiodev *ad) | ||
6347 | +{ | ||
6348 | + int result; | ||
6349 | + result = snd_pcm_drop((snd_pcm_t *) ad->platform_data); | ||
6350 | + if (result < 0) | ||
6351 | + { | ||
6352 | + cst_errmsg("audio_drain_alsa: Error: %s.\n", snd_strerror(result)); | ||
6353 | + } | ||
6354 | +/* Prepare device for more data */ | ||
6355 | + result = snd_pcm_prepare((snd_pcm_t *) ad->platform_data); | ||
6356 | +if (result < 0) | ||
6357 | + { | ||
6358 | + cst_errmsg("audio_drain_alsa: Error: %s.\n", snd_strerror(result)); | ||
6359 | + } | ||
6360 | + return result; | ||
6361 | +} | ||
6362 | Index: src/audio/Makefile | ||
6363 | =================================================================== | ||
6364 | --- flite-1.3-release/src/audio/Makefile (.../flite-1.3-orig) (revision 7) | ||
6365 | +++ flite-1.3-release/src/audio/Makefile (.../release-1.2) (revision 7) | ||
6366 | @@ -43,9 +43,13 @@ | ||
6367 | |||
6368 | BASESRCS = auclient.c auserver.c audio.c | ||
6369 | SRCS = $(BASESRCS) $(AUDIODRIVER:%=au_%.c) | ||
6370 | -OBJS = $(SRCS:.c=.o) | ||
6371 | +ifdef SHFLAGS | ||
6372 | +OBJS := $(SRCS:.c=.os) | ||
6373 | +else | ||
6374 | +OBJS := $(SRCS:.c=.o) | ||
6375 | +endif | ||
6376 | FILES = Makefile $(H) $(BASESRCS) au_command.c au_none.c \ | ||
6377 | - au_oss.c au_sun.c au_wince.c au_palmos.c | ||
6378 | + au_oss.c au_sun.c au_wince.c au_palmos.c au_alsa.c | ||
6379 | LIBNAME = flite | ||
6380 | |||
6381 | LOCAL_INCLUDES = -I. $(AUDIODEFS) | ||
6382 | Index: src/lexicon/Makefile | ||
6383 | =================================================================== | ||
6384 | --- flite-1.3-release/src/lexicon/Makefile (.../flite-1.3-orig) (revision 7) | ||
6385 | +++ flite-1.3-release/src/lexicon/Makefile (.../release-1.2) (revision 7) | ||
6386 | @@ -38,8 +38,13 @@ | ||
6387 | DIRNAME=src/lexicon | ||
6388 | BUILD_DIRS = | ||
6389 | ALL_DIRS= | ||
6390 | +include $(TOP)/config/config | ||
6391 | SRCS = cst_lexicon.c cst_lts.c cst_lts_rewrites.c | ||
6392 | -OBJS = $(SRCS:.c=.o) | ||
6393 | +ifdef SHFLAGS | ||
6394 | +OBJS := $(SRCS:.c=.os) | ||
6395 | +else | ||
6396 | +OBJS := $(SRCS:.c=.o) | ||
6397 | +endif | ||
6398 | FILES = Makefile $(SRCS) | ||
6399 | LIBNAME = flite | ||
6400 | |||
6401 | Index: src/synth/Makefile | ||
6402 | =================================================================== | ||
6403 | --- flite-1.3-release/src/synth/Makefile (.../flite-1.3-orig) (revision 7) | ||
6404 | +++ flite-1.3-release/src/synth/Makefile (.../release-1.2) (revision 7) | ||
6405 | @@ -38,9 +38,14 @@ | ||
6406 | DIRNAME=src/synth | ||
6407 | BUILD_DIRS = | ||
6408 | ALL_DIRS= | ||
6409 | +include $(TOP)/config/config | ||
6410 | SRCS = cst_synth.c cst_utt_utils.c cst_voice.c cst_phoneset.c \ | ||
6411 | flite.c | ||
6412 | -OBJS = $(SRCS:.c=.o) | ||
6413 | +ifdef SHFLAGS | ||
6414 | +OBJS := $(SRCS:.c=.os) | ||
6415 | +else | ||
6416 | +OBJS := $(SRCS:.c=.o) | ||
6417 | +endif | ||
6418 | FILES = Makefile $(SRCS) | ||
6419 | LIBNAME = flite | ||
6420 | |||
6421 | Index: src/speech/Makefile | ||
6422 | =================================================================== | ||
6423 | --- flite-1.3-release/src/speech/Makefile (.../flite-1.3-orig) (revision 7) | ||
6424 | +++ flite-1.3-release/src/speech/Makefile (.../release-1.2) (revision 7) | ||
6425 | @@ -39,9 +39,14 @@ | ||
6426 | BUILD_DIRS = | ||
6427 | ALL_DIRS= | ||
6428 | H = | ||
6429 | +include $(TOP)/config/config | ||
6430 | SRCS = cst_wave.c cst_wave_io.c cst_track.c cst_track_io.c \ | ||
6431 | cst_wave_utils.c cst_lpcres.c rateconv.c | ||
6432 | -OBJS = $(SRCS:.c=.o) | ||
6433 | +ifdef SHFLAGS | ||
6434 | +OBJS := $(SRCS:.c=.os) | ||
6435 | +else | ||
6436 | +OBJS := $(SRCS:.c=.o) | ||
6437 | +endif | ||
6438 | FILES = Makefile $(H) $(SRCS) | ||
6439 | LIBNAME = flite | ||
6440 | |||
6441 | Index: src/wavesynth/Makefile | ||
6442 | =================================================================== | ||
6443 | --- flite-1.3-release/src/wavesynth/Makefile (.../flite-1.3-orig) (revision 7) | ||
6444 | +++ flite-1.3-release/src/wavesynth/Makefile (.../release-1.2) (revision 7) | ||
6445 | @@ -38,9 +38,14 @@ | ||
6446 | DIRNAME=src/wavesynth | ||
6447 | BUILD_DIRS = | ||
6448 | ALL_DIRS= | ||
6449 | +include $(TOP)/config/config | ||
6450 | SRCS = cst_units.c cst_sigpr.c cst_clunits.c cst_diphone.c \ | ||
6451 | cst_sigprFP.c cst_sts.c cst_reflpc.c | ||
6452 | -OBJS = $(SRCS:.c=.o) | ||
6453 | +ifdef SHFLAGS | ||
6454 | +OBJS := $(SRCS:.c=.os) | ||
6455 | +else | ||
6456 | +OBJS := $(SRCS:.c=.o) | ||
6457 | +endif | ||
6458 | LIBNAME = flite | ||
6459 | FILES = Makefile $(SRCS) | ||
6460 | |||
6461 | Index: src/regex/Makefile | ||
6462 | =================================================================== | ||
6463 | --- flite-1.3-release/src/regex/Makefile (.../flite-1.3-orig) (revision 7) | ||
6464 | +++ flite-1.3-release/src/regex/Makefile (.../release-1.2) (revision 7) | ||
6465 | @@ -42,8 +42,13 @@ | ||
6466 | DIRNAME=src/regex | ||
6467 | BUILD_DIRS = | ||
6468 | ALL_DIRS= | ||
6469 | +include $(TOP)/config/config | ||
6470 | SRCS = cst_regex.c regexp.c regsub.c | ||
6471 | -OBJS = $(SRCS:.c=.o) | ||
6472 | +ifdef SHFLAGS | ||
6473 | +OBJS := $(SRCS:.c=.os) | ||
6474 | +else | ||
6475 | +OBJS := $(SRCS:.c=.o) | ||
6476 | +endif | ||
6477 | FILES = Makefile $(H) $(SRCS) | ||
6478 | LIBNAME = flite | ||
6479 | |||
6480 | Index: src/stats/Makefile | ||
6481 | =================================================================== | ||
6482 | --- flite-1.3-release/src/stats/Makefile (.../flite-1.3-orig) (revision 7) | ||
6483 | +++ flite-1.3-release/src/stats/Makefile (.../release-1.2) (revision 7) | ||
6484 | @@ -39,8 +39,13 @@ | ||
6485 | BUILD_DIRS = | ||
6486 | ALL_DIRS= | ||
6487 | H = | ||
6488 | +include $(TOP)/config/config | ||
6489 | SRCS = cst_cart.c cst_viterbi.c cst_ss.c | ||
6490 | -OBJS = $(SRCS:.c=.o) | ||
6491 | +ifdef SHFLAGS | ||
6492 | +OBJS := $(SRCS:.c=.os) | ||
6493 | +else | ||
6494 | +OBJS := $(SRCS:.c=.o) | ||
6495 | +endif | ||
6496 | FILES = Makefile $(H) $(SRCS) | ||
6497 | LIBNAME = flite | ||
6498 | |||
6499 | Index: config/common_make_rules | ||
6500 | =================================================================== | ||
6501 | --- flite-1.3-release/config/common_make_rules (.../flite-1.3-orig) (revision 7) | ||
6502 | +++ flite-1.3-release/config/common_make_rules (.../release-1.2) (revision 7) | ||
6503 | @@ -73,12 +73,13 @@ | ||
6504 | ifdef SHFLAGS | ||
6505 | SOOBJS = $(OBJS:.o=.os) | ||
6506 | FULLSHOBJS = $(SOOBJS:%=$(OBJDIR)/%) | ||
6507 | -ifdef LIBNAME | ||
6508 | -ALL += $(OBJDIR)/.build_so | ||
6509 | +#ifdef LIBNAME | ||
6510 | +#ALL += $(OBJDIR)/.build_so | ||
6511 | +#endif | ||
6512 | endif | ||
6513 | -endif | ||
6514 | ifdef LIBNAME | ||
6515 | ALL += $(OBJDIR)/.build_lib | ||
6516 | +ALL += $(OBJDIR)/.build_so | ||
6517 | endif | ||
6518 | # Only do some directories when you are not cross compiling | ||
6519 | ifeq ($(HOST_PLATFORM),$(TARGET_PLATFORM)) | ||
6520 | @@ -117,14 +118,17 @@ | ||
6521 | @ touch $(OBJDIR)/.build_so | ||
6522 | |||
6523 | # Used in the lib/ directory and in building new voices | ||
6524 | -$(OBJDIR)/%.so: %.shared.a | ||
6525 | +#$(OBJDIR)/%.so: %.shared.a | ||
6526 | +%.so: %.shared.a | ||
6527 | @ echo making $@ | ||
6528 | @ rm -rf shared_os && mkdir shared_os | ||
6529 | @ rm -f $@ $(LIBDIR)/$@.${PROJECT_VERSION} $(LIBDIR)/$@.${PROJECT_SHLIB_VERSION} | ||
6530 | @ (cd shared_os && ar x ../$<) | ||
6531 | @ (cd shared_os && $(CC) -shared -Wl,-soname,$@.${PROJECT_SHLIB_VERSION} -o ../$@.${PROJECT_VERSION} *.os) | ||
6532 | - @ ln -s $(LIBDIR)/$@.${PROJECT_VERSION} $(LIBDIR)/$@.${PROJECT_SHLIB_VERSION} | ||
6533 | - @ ln -s $(LIBDIR)/$@.${PROJECT_SHLIB_VERSION} $(LIBDIR)/$@ | ||
6534 | + #@ ln -s $(LIBDIR)/$@.${PROJECT_VERSION} $(LIBDIR)/$@.${PROJECT_SHLIB_VERSION} | ||
6535 | + #@ ln -s $(LIBDIR)/$@.${PROJECT_SHLIB_VERSION} $(LIBDIR)/$@ | ||
6536 | + @ ln -s $@.${PROJECT_VERSION} $@.${PROJECT_SHLIB_VERSION} | ||
6537 | + @ ln -s $@.${PROJECT_SHLIB_VERSION} $@ | ||
6538 | @ rm -rf shared_os | ||
6539 | |||
6540 | $(OBJDIR)/.make_build_dirs: | ||
6541 | Index: lib/Makefile | ||
6542 | =================================================================== | ||
6543 | --- flite-1.3-release/lib/Makefile (.../flite-1.3-orig) (revision 0) | ||
6544 | +++ flite-1.3-release/lib/Makefile (.../release-1.2) (revision 7) | ||
6545 | @@ -0,0 +1,70 @@ | ||
6546 | +########################################################################### | ||
6547 | +## ## | ||
6548 | +## Language Technologies Institute ## | ||
6549 | +## Carnegie Mellon University ## | ||
6550 | +## Copyright (c) 1999 ## | ||
6551 | +## All Rights Reserved. ## | ||
6552 | +## ## | ||
6553 | +## Permission is hereby granted, free of charge, to use and distribute ## | ||
6554 | +## this software and its documentation without restriction, including ## | ||
6555 | +## without limitation the rights to use, copy, modify, merge, publish, ## | ||
6556 | +## distribute, sublicense, and/or sell copies of this work, and to ## | ||
6557 | +## permit persons to whom this work is furnished to do so, subject to ## | ||
6558 | +## the following conditions: ## | ||
6559 | +## 1. The code must retain the above copyright notice, this list of ## | ||
6560 | +## conditions and the following disclaimer. ## | ||
6561 | +## 2. Any modifications must be clearly marked as such. ## | ||
6562 | +## 3. Original authors' names are not deleted. ## | ||
6563 | +## 4. The authors' names are not used to endorse or promote products ## | ||
6564 | +## derived from this software without specific prior written ## | ||
6565 | +## permission. ## | ||
6566 | +## ## | ||
6567 | +## CARNEGIE MELLON UNIVERSITY AND THE CONTRIBUTORS TO THIS WORK ## | ||
6568 | +## DISCLAIM ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING ## | ||
6569 | +## ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT ## | ||
6570 | +## SHALL CARNEGIE MELLON UNIVERSITY NOR THE CONTRIBUTORS BE LIABLE ## | ||
6571 | +## FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES ## | ||
6572 | +## WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN ## | ||
6573 | +## AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ## | ||
6574 | +## ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF ## | ||
6575 | +## THIS SOFTWARE. ## | ||
6576 | +## ## | ||
6577 | +########################################################################### | ||
6578 | +## ## | ||
6579 | +## FLITE libraries ## | ||
6580 | +## ## | ||
6581 | +########################################################################### | ||
6582 | +TOP=.. | ||
6583 | +DIRNAME=lib | ||
6584 | +BUILD_DIRS = | ||
6585 | +ALL_DIRS= | ||
6586 | +FILES = Makefile | ||
6587 | +LIBNAMES = flite flite_cmulex flite_usenglish \ | ||
6588 | + flite_cmu_us_kal flite_cmu_us_kal16 flite_cmu_time_awb | ||
6589 | + | ||
6590 | +STATICLIBS= $(LIBNAMES:%=lib%.a) | ||
6591 | +SHAREDARLIBS= $(LIBNAMES:%=lib%.shared.a) | ||
6592 | +#SHAREDLIBS = $(LIBNAMES:%=lib%.so) | ||
6593 | +SHAREDLIBS = $(SHAREDARLIBS:%.shared.a=%.so) | ||
6594 | +VERSIONSHAREDLIBS = $(SHAREDLIBS:%=%.${PROJECT_VERSION}) \ | ||
6595 | + $(SHAREDLIBS:%=%.${PROJECT_SHLIB_VERSION}) | ||
6596 | +ALL_LIBS = $(STATICLIBS) $(SHAREDLIBS) $(VERSIONSHAREDLIBS) | ||
6597 | + | ||
6598 | +ALL = shared_libs | ||
6599 | + | ||
6600 | +LOCAL_CLEAN=*.a *.so *.so.${PROJECT_VERSION} *.so.${PROJECT_SHLIB_VERSION} | ||
6601 | + | ||
6602 | +include $(TOP)/config/common_make_rules | ||
6603 | + | ||
6604 | +ifdef SHFLAGS | ||
6605 | +shared_libs: $(SHAREDLIBS) | ||
6606 | +else | ||
6607 | +shared_libs: nothing | ||
6608 | +endif | ||
6609 | + | ||
6610 | +install: | ||
6611 | + @ cp -vf $(LIBDIR)/* . | ||
6612 | + @ $(MAKE) shared_libs | ||
6613 | + @ echo ARLIBS: $(SHAREDARLIBS) | ||
6614 | + @ echo SHARLIBS: $(SHAREDLIBS) | ||
6615 | + @ tar cvf - $(ALL_LIBS) | ( cd $(INSTALLLIBDIR) && tar xf -) | ||
diff --git a/meta-oe/recipes-support/flite/flite-alsa-1.3/flite-alsa-1.3-configure-with-audio.patch b/meta-oe/recipes-support/flite/flite-alsa-1.3/flite-alsa-1.3-configure-with-audio.patch new file mode 100644 index 000000000..e1e7aed50 --- /dev/null +++ b/meta-oe/recipes-support/flite/flite-alsa-1.3/flite-alsa-1.3-configure-with-audio.patch | |||
@@ -0,0 +1,12 @@ | |||
1 | --- flite-1.3-release/configure.in.old 2008-01-06 02:17:47.000000000 -0600 | ||
2 | +++ flite-1.3-release/configure.in 2008-01-06 02:19:56.000000000 -0600 | ||
3 | @@ -220,7 +220,8 @@ dnl allow the user to override the one d | ||
4 | dnl | ||
5 | AC_ARG_WITH( audio, | ||
6 | [ --with-audio with specific audio support (none linux freebsd etc) ], | ||
7 | - AUDIODRIVER=$with_audio ) | ||
8 | + [AUDIODRIVER=$with_audio | ||
9 | + AUDIODEFS=]) | ||
10 | |||
11 | if test "x$AUDIODEFS" = x; then | ||
12 | case "$AUDIODRIVER" in | ||
diff --git a/meta-oe/recipes-support/flite/flite-alsa_1.3.bb b/meta-oe/recipes-support/flite/flite-alsa_1.3.bb new file mode 100644 index 000000000..51012e673 --- /dev/null +++ b/meta-oe/recipes-support/flite/flite-alsa_1.3.bb | |||
@@ -0,0 +1,12 @@ | |||
1 | require flite.inc | ||
2 | |||
3 | PR = "r1" | ||
4 | |||
5 | EXTRA_OECONF = "--with-audio=alsa --enable-shared" | ||
6 | |||
7 | SRC_URI = "http://www.speech.cs.cmu.edu/flite/packed/flite-${PV}/flite-${PV}-release.tar.gz \ | ||
8 | file://flite-1.3-alsa_support-1.2.diff \ | ||
9 | file://flite-alsa-1.3-configure-with-audio.patch" | ||
10 | |||
11 | SRC_URI[md5sum] = "ae0aca1cb7b4801f4372f3a75a9e52b5" | ||
12 | SRC_URI[sha256sum] = "922225f7001e57a0fbace8833b0a48790a68f6c7b491f2d47c78ad537ab78a8b" | ||
diff --git a/meta-oe/recipes-support/flite/flite.inc b/meta-oe/recipes-support/flite/flite.inc new file mode 100644 index 000000000..0ef82c004 --- /dev/null +++ b/meta-oe/recipes-support/flite/flite.inc | |||
@@ -0,0 +1,33 @@ | |||
1 | DESCRIPTION = "flite - the festival light speech synthesizer" | ||
2 | HOMEPAGE = "http://www.speech.cs.cmu.edu/flite/" | ||
3 | SECTION = "console/utils" | ||
4 | LICENSE = "flite" | ||
5 | LIC_FILES_CHKSUM = "file://COPYING;md5=68a16b1ee49c96c36f232ccdcd287650" | ||
6 | DEPENDS = "alsa-oss" | ||
7 | |||
8 | PARALLEL_MAKE = "" | ||
9 | |||
10 | S = "${WORKDIR}/flite-${PV}-release" | ||
11 | |||
12 | CFLAGS += " -lasound " | ||
13 | |||
14 | inherit autotools-brokensep | ||
15 | |||
16 | PACKAGES += "lib${PN} lib${PN}-vox8 lib${PN}-vox16" | ||
17 | |||
18 | FILES_${PN} = "${bindir}" | ||
19 | |||
20 | FILES_lib${PN} ="${libdir}/libflite.so.* \ | ||
21 | ${libdir}/libflite_cmu_time_awb.so.* \ | ||
22 | ${libdir}/libflite_cmulex.so.* \ | ||
23 | ${libdir}/libflite_usenglish.so.*" | ||
24 | |||
25 | FILES_lib${PN}-vox8 = "${libdir}/libflite_cmu_us_kal.so.*" | ||
26 | |||
27 | FILES_lib${PN}-vox16 = "${libdir}/libflite_cmu_us_kal16.so.*" | ||
28 | |||
29 | LEAD_SONAME = "libflite.so" | ||
30 | |||
31 | do_install() { | ||
32 | oe_runmake INSTALLBINDIR="${D}${bindir}" INSTALLLIBDIR="${D}${libdir}" INSTALLINCDIR="${D}${includedir}" install | ||
33 | } | ||
diff --git a/meta-oe/recipes-support/fltk/fltk-1.1.10/disable_test.patch b/meta-oe/recipes-support/fltk/fltk-1.1.10/disable_test.patch new file mode 100644 index 000000000..8c01a1f80 --- /dev/null +++ b/meta-oe/recipes-support/fltk/fltk-1.1.10/disable_test.patch | |||
@@ -0,0 +1,13 @@ | |||
1 | Index: fltk-1.1.9/Makefile | ||
2 | =================================================================== | ||
3 | --- fltk-1.1.9.orig/Makefile 2008-06-06 16:14:11.936736201 +0200 | ||
4 | +++ fltk-1.1.9/Makefile 2008-06-06 16:14:22.526357637 +0200 | ||
5 | @@ -27,7 +27,7 @@ | ||
6 | |||
7 | include makeinclude | ||
8 | |||
9 | -DIRS = $(IMAGEDIRS) src fluid test documentation | ||
10 | +DIRS = $(IMAGEDIRS) src fluid documentation | ||
11 | |||
12 | all: makeinclude fltk-config | ||
13 | for dir in $(DIRS); do\ | ||
diff --git a/meta-oe/recipes-support/fltk/fltk-1.1.10/dso-fix.patch b/meta-oe/recipes-support/fltk/fltk-1.1.10/dso-fix.patch new file mode 100644 index 000000000..867e9efcb --- /dev/null +++ b/meta-oe/recipes-support/fltk/fltk-1.1.10/dso-fix.patch | |||
@@ -0,0 +1,13 @@ | |||
1 | src/fl_set_fonts_xft.cxx is using fontconfig symbols | ||
2 | |||
3 | --- a/makeinclude.in 2012-01-26 18:09:58.628799060 +0100 | ||
4 | +++ b/makeinclude.in 2012-01-26 18:08:58.115801758 +0100 | ||
5 | @@ -81,7 +81,7 @@ | ||
6 | AUDIOLIBS = @AUDIOLIBS@ | ||
7 | DSOFLAGS = -L. @DSOFLAGS@ | ||
8 | LDFLAGS = $(OPTIM) @LDFLAGS@ | ||
9 | -LDLIBS = @LIBS@ | ||
10 | +LDLIBS = @LIBS@ -lfontconfig | ||
11 | GLDLIBS = @GLLIB@ @LIBS@ | ||
12 | LINKFLTK = @LINKFLTK@ | ||
13 | LINKFLTKGL = @LINKFLTKGL@ | ||
diff --git a/meta-oe/recipes-support/fltk/fltk-1.1.10/libpng15.patch b/meta-oe/recipes-support/fltk/fltk-1.1.10/libpng15.patch new file mode 100644 index 000000000..b2eb8d6fd --- /dev/null +++ b/meta-oe/recipes-support/fltk/fltk-1.1.10/libpng15.patch | |||
@@ -0,0 +1,61 @@ | |||
1 | Imported from gentoo | ||
2 | http://sources.gentoo.org/cgi-bin/viewvc.cgi/gentoo-x86/x11-libs/fltk/files/fltk-1.1.10-libpng15.patch | ||
3 | |||
4 | --- a/src/Fl_PNG_Image.cxx | ||
5 | +++ b/src/Fl_PNG_Image.cxx | ||
6 | @@ -66,7 +66,8 @@ Fl_PNG_Image::Fl_PNG_Image(const char *png) // I - File to read | ||
7 | png_structp pp; // PNG read pointer | ||
8 | png_infop info; // PNG info pointers | ||
9 | png_bytep *rows; // PNG row pointers | ||
10 | - | ||
11 | + png_byte color_type; // PNG color type | ||
12 | + png_byte bit_depth; // PNG bit depth | ||
13 | |||
14 | // Open the PNG file... | ||
15 | if ((fp = fopen(png, "rb")) == NULL) return; | ||
16 | @@ -75,7 +76,7 @@ Fl_PNG_Image::Fl_PNG_Image(const char *png) // I - File to read | ||
17 | pp = png_create_read_struct(PNG_LIBPNG_VER_STRING, NULL, NULL, NULL); | ||
18 | info = png_create_info_struct(pp); | ||
19 | |||
20 | - if (setjmp(pp->jmpbuf)) | ||
21 | + if (setjmp(png_jmpbuf(pp))) | ||
22 | { | ||
23 | Fl::warning("PNG file \"%s\" contains errors!\n", png); | ||
24 | return; | ||
25 | @@ -86,28 +87,24 @@ Fl_PNG_Image::Fl_PNG_Image(const char *png) // I - File to read | ||
26 | |||
27 | // Get the image dimensions and convert to grayscale or RGB... | ||
28 | png_read_info(pp, info); | ||
29 | + color_type = png_get_color_type(pp, info); | ||
30 | |||
31 | - if (info->color_type == PNG_COLOR_TYPE_PALETTE) | ||
32 | + if (color_type == PNG_COLOR_TYPE_PALETTE) | ||
33 | png_set_expand(pp); | ||
34 | |||
35 | - if (info->color_type & PNG_COLOR_MASK_COLOR) | ||
36 | - channels = 3; | ||
37 | - else | ||
38 | - channels = 1; | ||
39 | - | ||
40 | - if ((info->color_type & PNG_COLOR_MASK_ALPHA) || info->num_trans) | ||
41 | - channels ++; | ||
42 | + channels = png_get_channels(pp, info); | ||
43 | |||
44 | - w((int)(info->width)); | ||
45 | - h((int)(info->height)); | ||
46 | + w((int)(png_get_image_width(pp, info))); | ||
47 | + h((int)(png_get_image_height(pp, info))); | ||
48 | d(channels); | ||
49 | |||
50 | - if (info->bit_depth < 8) | ||
51 | + bit_depth = png_get_bit_depth(pp, info); | ||
52 | + if (bit_depth < 8) | ||
53 | { | ||
54 | png_set_packing(pp); | ||
55 | png_set_expand(pp); | ||
56 | } | ||
57 | - else if (info->bit_depth == 16) | ||
58 | + else if (bit_depth == 16) | ||
59 | png_set_strip_16(pp); | ||
60 | |||
61 | # if defined(HAVE_PNG_GET_VALID) && defined(HAVE_PNG_SET_TRNS_TO_ALPHA) | ||
diff --git a/meta-oe/recipes-support/fltk/fltk_1.1.10.bb b/meta-oe/recipes-support/fltk/fltk_1.1.10.bb new file mode 100644 index 000000000..fa0145531 --- /dev/null +++ b/meta-oe/recipes-support/fltk/fltk_1.1.10.bb | |||
@@ -0,0 +1,40 @@ | |||
1 | SUMMARY = "FLTK is a cross-platform C++ GUI toolkit" | ||
2 | HOMEPAGE = "http://www.fltk.org" | ||
3 | SECTION = "libs" | ||
4 | LICENSE = "LGPLv2 & FLTK" | ||
5 | LIC_FILES_CHKSUM = "file://COPYING;md5=1c0b73db66884b6a925e727400315130" | ||
6 | |||
7 | DEPENDS = "alsa-lib zlib jpeg libpng libxext libxft" | ||
8 | |||
9 | PR = "r1" | ||
10 | |||
11 | SRC_URI = "ftp://ftp.rz.tu-bs.de/pub/mirror/ftp.easysw.com/ftp/pub/fltk/${PV}/fltk-${PV}-source.tar.bz2 \ | ||
12 | file://disable_test.patch \ | ||
13 | file://dso-fix.patch \ | ||
14 | file://libpng15.patch \ | ||
15 | " | ||
16 | |||
17 | S = "${WORKDIR}/fltk-${PV}" | ||
18 | |||
19 | inherit lib_package autotools-brokensep binconfig | ||
20 | |||
21 | TARGET_CC_ARCH += "${LDFLAGS} -DXFT_MAJOR=2" | ||
22 | |||
23 | EXTRA_OECONF = "--enable-shared \ | ||
24 | --enable-threads \ | ||
25 | --enable-xdbe --enable-xft --enable-gl \ | ||
26 | --x-includes=${STAGING_INCDIR} --x-libraries=${STAGING_LIBDIR}" | ||
27 | |||
28 | do_configure() { | ||
29 | oe_runconf | ||
30 | } | ||
31 | |||
32 | python populate_packages_prepend () { | ||
33 | if (d.getVar('DEBIAN_NAMES', 1)): | ||
34 | d.setVar('PKG_${PN}', 'libfltk${PV}') | ||
35 | } | ||
36 | |||
37 | LEAD_SONAME = "libfltk.so" | ||
38 | |||
39 | SRC_URI[md5sum] = "a1765594bc427ff892e36089fe1fa672" | ||
40 | SRC_URI[sha256sum] = "37ada22bf2586b8dd30d84209b8b58bdcb864627e5d02ae3f2c323a29261b19a" | ||
diff --git a/meta-oe/recipes-support/gd/gd-2.1.0/fix-the-subdir-objects-error.patch b/meta-oe/recipes-support/gd/gd-2.1.0/fix-the-subdir-objects-error.patch new file mode 100644 index 000000000..02b167067 --- /dev/null +++ b/meta-oe/recipes-support/gd/gd-2.1.0/fix-the-subdir-objects-error.patch | |||
@@ -0,0 +1,39 @@ | |||
1 | From b1ae702a48888e2c3b0ebe0772a88b45a37b84f5 Mon Sep 17 00:00:00 2001 | ||
2 | From: Robert Yang <liezhi.yang@windriver.com> | ||
3 | Date: Fri, 17 Jan 2014 01:58:05 -0500 | ||
4 | Subject: [PATCH] configure.ac: fix the subdir-objects error | ||
5 | |||
6 | Fix this error: | ||
7 | iautomake: warning: possible forward-incompatibility. | ||
8 | automake: At least a source file is in a subdirectory, but the 'subdir-objects' | ||
9 | automake: automake option hasn't been enabled. For now, the corresponding output | ||
10 | automake: object file(s) will be placed in the top-level directory. However, | ||
11 | automake: this behaviour will change in future Automake versions: they will | ||
12 | automake: unconditionally cause object files to be placed in the same subdirectory | ||
13 | automake: of the corresponding sources. | ||
14 | automake: You are advised to start using 'subdir-objects' option throughout your | ||
15 | automake: project, to avoid future incompatibilities. | ||
16 | |||
17 | Upstream-Status: Pending | ||
18 | |||
19 | Signed-off-by: Robert Yang <liezhi.yang@windriver.com> | ||
20 | --- | ||
21 | configure.ac | 2 +- | ||
22 | 1 file changed, 1 insertion(+), 1 deletion(-) | ||
23 | |||
24 | diff --git a/configure.ac b/configure.ac | ||
25 | index 2f9f744..438e08b 100644 | ||
26 | --- a/configure.ac | ||
27 | +++ b/configure.ac | ||
28 | @@ -45,7 +45,7 @@ AC_SUBST(GDLIB_AGE) | ||
29 | FEATURES="GD_GIF GD_GIFANIM GD_OPENPOLYGON" | ||
30 | AC_SUBST(FEATURES) | ||
31 | |||
32 | -AM_INIT_AUTOMAKE([foreign dist-bzip2 dist-xz -Wall -Werror]) | ||
33 | +AM_INIT_AUTOMAKE([foreign dist-bzip2 dist-xz -Wall -Werror subdir-objects]) | ||
34 | AC_CONFIG_HEADERS([src/config.h:src/config.hin]) | ||
35 | |||
36 | dnl newer automake wants this, but we still want to work with older | ||
37 | -- | ||
38 | 1.7.10.4 | ||
39 | |||
diff --git a/meta-oe/recipes-support/gd/gd_2.1.0.bb b/meta-oe/recipes-support/gd/gd_2.1.0.bb new file mode 100644 index 000000000..f03b9b08b --- /dev/null +++ b/meta-oe/recipes-support/gd/gd_2.1.0.bb | |||
@@ -0,0 +1,41 @@ | |||
1 | SUMMARY = "gd is a library used to create PNG, JPEG, or WBMP images" | ||
2 | DESCRIPTION = "The gd graphics library allows your code to quickly draw images \ | ||
3 | complete with lines, arcs, text, multiple colors, cut and paste from other \ | ||
4 | images, and flood fills, and to write out the result as a PNG or JPEG file. \ | ||
5 | This is particularly useful in Web applications, where PNG and JPEG are two \ | ||
6 | of the formats accepted for inline images by most browsers. Note that gd is not \ | ||
7 | a paint program." | ||
8 | HOMEPAGE = "http://libgd.bitbucket.org/" | ||
9 | |||
10 | SECTION = "libs" | ||
11 | LICENSE = "GD" | ||
12 | LIC_FILES_CHKSUM = "file://COPYING;md5=c97638cafd3581eb87abd37332137669" | ||
13 | DEPENDS = "freetype libpng jpeg zlib tiff libvpx" | ||
14 | |||
15 | SRC_URI = "https://bitbucket.org/libgd/gd-libgd/downloads/libgd-${PV}.tar.bz2 \ | ||
16 | file://fix-the-subdir-objects-error.patch \ | ||
17 | " | ||
18 | SRC_URI[md5sum] = "5a1d5bab3a4a41d9f111bcceee4ad25b" | ||
19 | SRC_URI[sha256sum] = "f3e1bc472bd81ee976a739436659fe752a14727a964c64530fde68531ddeee91" | ||
20 | |||
21 | S = "${WORKDIR}/libgd-${PV}" | ||
22 | |||
23 | inherit autotools binconfig gettext pkgconfig | ||
24 | |||
25 | EXTRA_OECONF += " --disable-rpath \ | ||
26 | --with-jpeg=${STAGING_LIBDIR}/.. \ | ||
27 | --with-freetype=yes \ | ||
28 | --without-fontconfig \ | ||
29 | --without-xpm \ | ||
30 | --without-x" | ||
31 | |||
32 | EXTRA_OEMAKE = 'LDFLAGS="${LDFLAGS}"' | ||
33 | |||
34 | PACKAGES += "${PN}-tools" | ||
35 | |||
36 | FILES_${PN} = "${libdir}/lib*${SOLIBS}" | ||
37 | FILES_${PN}-tools = "${bindir}/*" | ||
38 | |||
39 | PROVIDES += "${PN}-tools" | ||
40 | RPROVIDES_${PN}-tools = "${PN}-tools" | ||
41 | RDEPENDS_${PN}-tools = "perl perl-module-strict" | ||
diff --git a/meta-oe/recipes-support/glog/glog.inc b/meta-oe/recipes-support/glog/glog.inc new file mode 100644 index 000000000..8a1fb4250 --- /dev/null +++ b/meta-oe/recipes-support/glog/glog.inc | |||
@@ -0,0 +1,11 @@ | |||
1 | DESCRIPTION = "The glog library implements application-level logging. This \ | ||
2 | library provides logging APIs based on C++-style streams and various helper \ | ||
3 | macros." | ||
4 | HOMEPAGE = "https://code.google.com/p/google-glog/" | ||
5 | |||
6 | LICENSE = "BSD" | ||
7 | LIC_FILES_CHKSUM = "file://COPYING;md5=dc9db360e0bbd4e46672f3fd91dd6c4b" | ||
8 | |||
9 | DEPENDS = "libunwind" | ||
10 | |||
11 | inherit autotools pkgconfig | ||
diff --git a/meta-oe/recipes-support/glog/glog_0.3.3.bb b/meta-oe/recipes-support/glog/glog_0.3.3.bb new file mode 100644 index 000000000..de3f0765d --- /dev/null +++ b/meta-oe/recipes-support/glog/glog_0.3.3.bb | |||
@@ -0,0 +1,6 @@ | |||
1 | require glog.inc | ||
2 | |||
3 | SRC_URI = "http://google-glog.googlecode.com/files/glog-${PV}.tar.gz" | ||
4 | |||
5 | SRC_URI[md5sum] = "a6fd2c22f8996846e34c763422717c18" | ||
6 | SRC_URI[sha256sum] = "fbf90c2285ba0561db7a40f8a4eefb9aa963e7d399bd450363e959929fe849d0" | ||
diff --git a/meta-oe/recipes-support/gperftools/gperftools_2.1.bb b/meta-oe/recipes-support/gperftools/gperftools_2.1.bb new file mode 100644 index 000000000..7d4a0b0c5 --- /dev/null +++ b/meta-oe/recipes-support/gperftools/gperftools_2.1.bb | |||
@@ -0,0 +1,12 @@ | |||
1 | SUMMARY = "Fast, multi-threaded malloc() and nifty performance analysis tools" | ||
2 | HOMEPAGE = "http://code.google.com/p/gperftools/" | ||
3 | LICENSE = "BSD" | ||
4 | LIC_FILES_CHKSUM = "file://COPYING;md5=762732742c73dc6c7fbe8632f06c059a" | ||
5 | DEPENDS = "libunwind" | ||
6 | |||
7 | SRC_URI = "${DEBIAN_MIRROR}/main/g/google-perftools/google-perftools_${PV}.orig.tar.gz" | ||
8 | |||
9 | SRC_URI[md5sum] = "5e5a981caf9baa9b4afe90a82dcf9882" | ||
10 | SRC_URI[sha256sum] = "f3ade29924f89409d8279ab39e00af7420593baa4941c318db42e70ead7e494f" | ||
11 | |||
12 | inherit autotools | ||
diff --git a/meta-oe/recipes-support/gpm/gpm-1.99.7/eglibc-2.17.patch b/meta-oe/recipes-support/gpm/gpm-1.99.7/eglibc-2.17.patch new file mode 100644 index 000000000..e43bdcb22 --- /dev/null +++ b/meta-oe/recipes-support/gpm/gpm-1.99.7/eglibc-2.17.patch | |||
@@ -0,0 +1,12 @@ | |||
1 | Upstream-Status: pending | ||
2 | |||
3 | --- gpm-1.99.7.orig/src/daemon/open_console.c 2008-07-24 12:33:05.000000000 +0200 | ||
4 | +++ gpm-1.99.7/src/daemon/open_console.c 2013-01-10 12:39:47.975461947 +0100 | ||
5 | @@ -23,6 +23,7 @@ | ||
6 | #include <fcntl.h> /* open and co. */ | ||
7 | #include <sys/stat.h> /* stat() */ | ||
8 | #include <sys/ioctl.h> /* ioctl() */ | ||
9 | +#include <sys/types.h> /* major() */ | ||
10 | |||
11 | /* Linux specific (to be outsourced in gpm2 */ | ||
12 | #include <linux/serial.h> /* for serial console check */ | ||
diff --git a/meta-oe/recipes-support/gpm/gpm-1.99.7/init b/meta-oe/recipes-support/gpm/gpm-1.99.7/init new file mode 100644 index 000000000..2dcf9ab04 --- /dev/null +++ b/meta-oe/recipes-support/gpm/gpm-1.99.7/init | |||
@@ -0,0 +1,32 @@ | |||
1 | #! /bin/sh | ||
2 | |||
3 | # Grab the common functions | ||
4 | #. /etc/init.d/functions | ||
5 | |||
6 | # FIXME: | ||
7 | # Add a configuration file for GPM here | ||
8 | |||
9 | test -x /usr/sbin/gpm || exit 0 | ||
10 | |||
11 | case "$1" in | ||
12 | start) | ||
13 | if [ ! -p /dev/gpmdata ]; then | ||
14 | mkfifo /dev/gpmdata | ||
15 | fi | ||
16 | |||
17 | echo "Starting GPM:" | ||
18 | start-stop-daemon -S -x /usr/sbin/gpm -- -R -m /dev/psaux -t ps2 | ||
19 | ;; | ||
20 | stop) | ||
21 | echo "Stopping GPM:" | ||
22 | start-stop-daemon -K -x /usr/sbin/gpm | ||
23 | ;; | ||
24 | restart|force-reload) | ||
25 | $0 stop | ||
26 | $0 start | ||
27 | ;; | ||
28 | *) | ||
29 | usage /etc/init.d/gpm | ||
30 | esac | ||
31 | |||
32 | exit 0 | ||
diff --git a/meta-oe/recipes-support/gpm/gpm-1.99.7/no-docs.patch b/meta-oe/recipes-support/gpm/gpm-1.99.7/no-docs.patch new file mode 100644 index 000000000..f10217a94 --- /dev/null +++ b/meta-oe/recipes-support/gpm/gpm-1.99.7/no-docs.patch | |||
@@ -0,0 +1,18 @@ | |||
1 | |||
2 | # | ||
3 | # Patch managed by http://www.mn-logistik.de/unsupported/pxa250/patcher | ||
4 | # | ||
5 | |||
6 | Index: gpm-1.99.7/Makefile.in | ||
7 | =================================================================== | ||
8 | --- gpm-1.99.7.orig/Makefile.in 2008-07-24 03:36:35.000000000 -0700 | ||
9 | +++ gpm-1.99.7/Makefile.in 2010-06-22 18:28:45.269507001 -0700 | ||
10 | @@ -19,7 +19,7 @@ | ||
11 | # user-overridable flags, but it's also all the implicit rule looks at. | ||
12 | # missing ? | ||
13 | |||
14 | -SUBDIRS = src doc contrib gpm2 | ||
15 | +SUBDIRS = src | ||
16 | |||
17 | |||
18 | ### simple, but effective rules | ||
diff --git a/meta-oe/recipes-support/gpm/gpm-1.99.7/processcreds.patch b/meta-oe/recipes-support/gpm/gpm-1.99.7/processcreds.patch new file mode 100644 index 000000000..d647eca0a --- /dev/null +++ b/meta-oe/recipes-support/gpm/gpm-1.99.7/processcreds.patch | |||
@@ -0,0 +1,12 @@ | |||
1 | Index: gpm-1.99.7/src/daemon/processconn.c | ||
2 | =================================================================== | ||
3 | --- gpm-1.99.7.orig/src/daemon/processconn.c 2010-09-29 17:36:18.571782951 +0400 | ||
4 | +++ gpm-1.99.7/src/daemon/processconn.c 2010-09-29 17:42:44.659991758 +0400 | ||
5 | @@ -20,6 +20,7 @@ | ||
6 | * | ||
7 | ********/ | ||
8 | |||
9 | +#define _GNU_SOURCE | ||
10 | #include <sys/socket.h> /* accept */ | ||
11 | #include <stdlib.h> /* malloc */ | ||
12 | #include <unistd.h> /* close */ | ||
diff --git a/meta-oe/recipes-support/gpm/gpm_1.99.7.bb b/meta-oe/recipes-support/gpm/gpm_1.99.7.bb new file mode 100644 index 000000000..7022057d4 --- /dev/null +++ b/meta-oe/recipes-support/gpm/gpm_1.99.7.bb | |||
@@ -0,0 +1,52 @@ | |||
1 | DESCRIPTION = "GPM (General Purpose Mouse) is a mouse server \ | ||
2 | for the console and xterm, with sample clients included \ | ||
3 | (emacs, etc)." | ||
4 | SECTION = "console/utils" | ||
5 | LICENSE = "GPLv2+" | ||
6 | LIC_FILES_CHKSUM = "file://gpm2/core/main.c;endline=19;md5=66d3c205c4e7ee5704b2ee351dfed72f" | ||
7 | |||
8 | PR = "r2" | ||
9 | |||
10 | DEPENDS = "ncurses" | ||
11 | |||
12 | SRC_URI = "ftp://arcana.linux.it/pub/gpm/gpm-${PV}.tar.bz2 \ | ||
13 | file://no-docs.patch \ | ||
14 | file://processcreds.patch \ | ||
15 | file://eglibc-2.17.patch \ | ||
16 | file://init" | ||
17 | |||
18 | inherit autotools-brokensep update-rc.d | ||
19 | |||
20 | INITSCRIPT_NAME = "gpm" | ||
21 | INITSCRIPT_PARAMS = "defaults" | ||
22 | |||
23 | #export LIBS = "-lm" | ||
24 | |||
25 | # all fields are /* FIXME: gpm 1.99.13 */ | ||
26 | # gpm-1.99.7/src/lib/libhigh.c:171:43: error: parameter 'clientdata' set but not used [-Werror=unused-but-set-parameter] | ||
27 | # gpm-1.99.7/src/lib/report-lib.c:28:21: error: parameter 'line' set but not used [-Werror=unused-but-set-parameter] | ||
28 | # gpm-1.99.7/src/lib/report-lib.c:28:33: error: parameter 'file' set but not used [-Werror=unused-but-set-parameter] | ||
29 | # gpm-1.99.7/src/drivers/empty/i.c:26:23: error: parameter 'fd' set but not used [-Werror=unused-but-set-parameter] | ||
30 | # gpm-1.99.7/src/drivers/empty/i.c:26:42: error: parameter 'flags' set but not used [-Werror=unused-but-set-parameter] | ||
31 | # gpm-1.99.7/src/drivers/etouch/i.c:34:43: error: parameter 'flags' set but not used [-Werror=unused-but-set-parameter] | ||
32 | # gpm-1.99.7/src/drivers/msc/r.c:32:12: error: variable 'dy' set but not used [-Werror=unused-but-set-variable] | ||
33 | # gpm-1.99.7/src/drivers/msc/r.c:32:8: error: variable 'dx' set but not used [-Werror=unused-but-set-variable] | ||
34 | # cc1: all warnings being treated as errors | ||
35 | CFLAGS += "-Wno-extra -Wno-error=unused-but-set-parameter -Wno-error=unused-but-set-variable" | ||
36 | |||
37 | # twiddler is WIP in 1.99.7 and probably not worth fixing (a lot of changes in gpm-2-dev after 1.99.7 | ||
38 | # gpm-1.99.7/src/drivers/twid/twiddler.c:503:14: error: cast to pointer from integer of different size [-Werror=int-to-pointer-cast] | ||
39 | # /gpm-1.99.7/src/mice.c:221:5: error: (near initialization for 'mice[32].init') [-Werror] | ||
40 | CFLAGS += "-Wno-error=int-to-pointer-cast -Wno-error" | ||
41 | |||
42 | do_install () { | ||
43 | oe_runmake 'DESTDIR=${D}' install | ||
44 | install -m 0644 src/headers/gpm.h ${D}${includedir} | ||
45 | install -d ${D}/${sysconfdir}/init.d | ||
46 | install -m 0755 ${WORKDIR}/init ${D}/${sysconfdir}/init.d/gpm | ||
47 | cd ${D}${libdir} && ln -sf libgpm.so.1.19.0 libgpm.so.1 | ||
48 | } | ||
49 | SRC_URI[md5sum] = "9fdddf5f53cb11d40bb2bb671d3ac544" | ||
50 | SRC_URI[sha256sum] = "6071378b24494e36ca3ef6377606e7e565040413c86704753a162d2180af32ee" | ||
51 | |||
52 | FILES_${PN} += "${datadir}/emacs" | ||
diff --git a/meta-oe/recipes-support/gsl/gsl.inc b/meta-oe/recipes-support/gsl/gsl.inc new file mode 100644 index 000000000..40613930b --- /dev/null +++ b/meta-oe/recipes-support/gsl/gsl.inc | |||
@@ -0,0 +1,9 @@ | |||
1 | DESCRIPTION = "GNU Scientific Library" | ||
2 | HOMEPAGE = "http://www.gnu.org/software/gsl/" | ||
3 | SECTION = "libs" | ||
4 | LICENSE = "GPLv3" | ||
5 | LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504" | ||
6 | |||
7 | inherit autotools pkgconfig binconfig | ||
8 | |||
9 | LEAD_SONAME = "libgsl.so" | ||
diff --git a/meta-oe/recipes-support/gsl/gsl_1.15.bb b/meta-oe/recipes-support/gsl/gsl_1.15.bb new file mode 100644 index 000000000..620e7804c --- /dev/null +++ b/meta-oe/recipes-support/gsl/gsl_1.15.bb | |||
@@ -0,0 +1,7 @@ | |||
1 | include gsl.inc | ||
2 | |||
3 | SRC_URI = "${GNU_MIRROR}/gsl/gsl-${PV}.tar.gz" | ||
4 | |||
5 | SRC_URI[md5sum] = "494ffefd90eef4ada678c306bab4030b" | ||
6 | SRC_URI[sha256sum] = "85b907e57902e2b7606ef3aef960302ffdd13bd9dc5b8fcbfa75e4f0bf340ea3" | ||
7 | |||
diff --git a/meta-oe/recipes-support/gsoap/gsoap_2.8.12.bb b/meta-oe/recipes-support/gsoap/gsoap_2.8.12.bb new file mode 100644 index 000000000..b5c399530 --- /dev/null +++ b/meta-oe/recipes-support/gsoap/gsoap_2.8.12.bb | |||
@@ -0,0 +1,42 @@ | |||
1 | DESCRIPTION = "The gSOAP toolkit provides a unique SOAP-to-C/C++ language binding \ | ||
2 | for the development of SOAP Web Services and clients." | ||
3 | SECTION = "devel" | ||
4 | LICENSE = "GPLv2" | ||
5 | LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=b338b08b1b61e028e0f399a4de25e58f" | ||
6 | |||
7 | SRC_URI = "${SOURCEFORGE_MIRROR}/${BPN}2/${BPN}_${PV}.zip" | ||
8 | SRC_URI[md5sum] = "5700d26fc6fe3073d038349e19c3640d" | ||
9 | SRC_URI[sha256sum] = "51eef118544fa846f4d2dea2eedf91c84c46a1abeafc5eee3dcff783f4015a00" | ||
10 | |||
11 | inherit autotools | ||
12 | |||
13 | BBCLASSEXTEND = "native" | ||
14 | |||
15 | PR = "r1" | ||
16 | |||
17 | S = "${WORKDIR}/${BPN}-2.8" | ||
18 | |||
19 | PARALLEL_MAKE = "" | ||
20 | |||
21 | EXTRA_OEMAKE_class-target = "SOAP=${STAGING_BINDIR_NATIVE}/soapcpp2" | ||
22 | |||
23 | DEPENDS_class-target = "gsoap-native openssl zlib" | ||
24 | DEPENDS_class-native = "flex-native" | ||
25 | |||
26 | do_install_append() { | ||
27 | install -d ${D}${libdir} | ||
28 | for lib in libgsoapssl libgsoapssl++ libgsoap libgsoapck++ libgsoap++ libgsoapck | ||
29 | do | ||
30 | oe_libinstall -C gsoap $lib ${D}${libdir} | ||
31 | done | ||
32 | } | ||
33 | |||
34 | do_install_class-native() { | ||
35 | oe_runmake DESTDIR=${D} BINDIR=${D}${bindir} install | ||
36 | } | ||
37 | |||
38 | FILES_${PN} = "${bindir}/wsdl2h ${bindir}/soapcpp2" | ||
39 | FILES_${PN} += "${datadir}" | ||
40 | FILES_${PN}-staticdev = "${libdir}" | ||
41 | FILES_${PN}-dev = "${includedir}" | ||
42 | RRECOMMENDS_${PN}-dev = "${PN}-staticdev" | ||
diff --git a/meta-oe/recipes-support/hddtemp/hddtemp/hddtemp-0.3-beta15-autodetect-717479.patch b/meta-oe/recipes-support/hddtemp/hddtemp/hddtemp-0.3-beta15-autodetect-717479.patch new file mode 100644 index 000000000..19f8380b4 --- /dev/null +++ b/meta-oe/recipes-support/hddtemp/hddtemp/hddtemp-0.3-beta15-autodetect-717479.patch | |||
@@ -0,0 +1,90 @@ | |||
1 | Auto-detect disks if none specified | ||
2 | |||
3 | Refer to: | ||
4 | https://bugzilla.redhat.com/show_bug.cgi?id=717479 | ||
5 | |||
6 | diff -up hddtemp-0.3-beta15/doc/hddtemp.8~ hddtemp-0.3-beta15/doc/hddtemp.8 | ||
7 | --- hddtemp-0.3-beta15/doc/hddtemp.8~ 2011-08-18 00:36:05.689001470 +0300 | ||
8 | +++ hddtemp-0.3-beta15/doc/hddtemp.8 2011-08-18 00:44:46.753006253 +0300 | ||
9 | @@ -19,7 +19,7 @@ | ||
10 | hddtemp \- Utility to monitor hard drive temperature | ||
11 | .SH SYNOPSIS | ||
12 | .B hddtemp | ||
13 | -.RI [ options ] " [type:]disk" ... | ||
14 | +.RI [ options ] " [[type:]disk]" ... | ||
15 | .SH "DESCRIPTION" | ||
16 | .PP | ||
17 | .B hddtemp | ||
18 | @@ -35,7 +35,8 @@ You can specify one or more device drive | ||
19 | with a | ||
20 | .B type | ||
21 | like PATA, SATA or SCSI to force hddtemp too use one of these type | ||
22 | -(because detection can fail). | ||
23 | +(because detection can fail). If no paths are specified, autodetection of | ||
24 | +installed drives is attempted. | ||
25 | |||
26 | |||
27 | .SH "OPTIONS" | ||
28 | diff -up hddtemp-0.3-beta15/src/hddtemp.c~ hddtemp-0.3-beta15/src/hddtemp.c | ||
29 | --- hddtemp-0.3-beta15/src/hddtemp.c~ 2011-08-18 00:36:05.638996861 +0300 | ||
30 | +++ hddtemp-0.3-beta15/src/hddtemp.c 2011-08-18 00:35:55.485060798 +0300 | ||
31 | @@ -54,6 +54,7 @@ | ||
32 | #include <linux/hdreg.h> | ||
33 | #include <ctype.h> | ||
34 | #include <assert.h> | ||
35 | +#include <glob.h> | ||
36 | |||
37 | // Application specific includes | ||
38 | #include "ata.h" | ||
39 | @@ -255,6 +256,7 @@ int main(int argc, char* argv[]) { | ||
40 | int ret = 0; | ||
41 | int show_db; | ||
42 | struct disk * ldisks; | ||
43 | + glob_t diskglob; | ||
44 | |||
45 | backtrace_sigsegv(); | ||
46 | backtrace_sigill(); | ||
47 | @@ -419,11 +421,6 @@ int main(int argc, char* argv[]) { | ||
48 | exit(0); | ||
49 | } | ||
50 | |||
51 | - if(argc - optind <= 0) { | ||
52 | - fprintf(stderr, _("Too few arguments: you must specify one drive, at least.\n")); | ||
53 | - exit(1); | ||
54 | - } | ||
55 | - | ||
56 | if(debug) { | ||
57 | /* argc = optind + 1;*/ | ||
58 | quiet = 1; | ||
59 | @@ -434,6 +431,23 @@ int main(int argc, char* argv[]) { | ||
60 | exit(1); | ||
61 | } | ||
62 | |||
63 | + memset(&diskglob, 0, sizeof(glob_t)); | ||
64 | + if(argc - optind <= 0) { | ||
65 | + if(glob("/dev/[hs]d[a-z]", 0, NULL, &diskglob) == 0) { | ||
66 | + argc = diskglob.gl_pathc; | ||
67 | + argv = diskglob.gl_pathv; | ||
68 | + optind = 0; | ||
69 | + } else { | ||
70 | + argc = 0; | ||
71 | + } | ||
72 | + } | ||
73 | + | ||
74 | + if(argc - optind <= 0) { | ||
75 | + globfree(&diskglob); | ||
76 | + fprintf(stderr, _("Too few arguments: you must specify one drive, at least.\n")); | ||
77 | + exit(1); | ||
78 | + } | ||
79 | + | ||
80 | init_bus_types(); | ||
81 | |||
82 | /* collect disks informations */ | ||
83 | @@ -527,6 +541,7 @@ int main(int argc, char* argv[]) { | ||
84 | else { | ||
85 | do_direct_mode(ldisks); | ||
86 | } | ||
87 | + globfree(&diskglob); | ||
88 | |||
89 | return ret; | ||
90 | } | ||
diff --git a/meta-oe/recipes-support/hddtemp/hddtemp/hddtemp-no-nls-support.patch b/meta-oe/recipes-support/hddtemp/hddtemp/hddtemp-no-nls-support.patch new file mode 100644 index 000000000..8f6b9c3c4 --- /dev/null +++ b/meta-oe/recipes-support/hddtemp/hddtemp/hddtemp-no-nls-support.patch | |||
@@ -0,0 +1,66 @@ | |||
1 | diff -ru hddtemp-0.3-beta15.orig/configure.in hddtemp-0.3-beta15/configure.in | ||
2 | --- hddtemp-0.3-beta15.orig/configure.in 2005-10-17 20:14:19.000000000 +0100 | ||
3 | +++ hddtemp-0.3-beta15/configure.in 2008-06-27 00:00:46.000000000 +0100 | ||
4 | @@ -17,6 +17,7 @@ | ||
5 | # append the host alias to the tools for cross compiling | ||
6 | AC_HEADER_STDC | ||
7 | AC_CHECK_HEADERS(fcntl.h) | ||
8 | +AC_CHECK_HEADERS(iconv.h) | ||
9 | AC_CHECK_HEADERS(netinet/in.h) | ||
10 | AC_CHECK_TYPE(in_addr_t, ,[AC_DEFINE_UNQUOTED([in_addr_t], [uint32_t], [Define to 'uint32_t' if <netinet/in.h> does not define.])], [#include <netinet/in.h>]) | ||
11 | |||
12 | @@ -29,6 +30,8 @@ | ||
13 | AM_GNU_GETTEXT | ||
14 | #AM_GNU_GETTEXT([external]) | ||
15 | |||
16 | +AC_CHECK_FUNCS([bindtextdomain textdomain iconv]) | ||
17 | + | ||
18 | dnl reasonable guesses for where stuff is installed | ||
19 | dnl if we don't do that now, the config.h will use ${prefix} | ||
20 | dnl for DEFAULT_DATABASE_PATH. | ||
21 | diff -ru hddtemp-0.3-beta15.orig/src/hddtemp.c hddtemp-0.3-beta15/src/hddtemp.c | ||
22 | --- hddtemp-0.3-beta15.orig/src/hddtemp.c 2006-04-19 03:37:35.000000000 +0100 | ||
23 | +++ hddtemp-0.3-beta15/src/hddtemp.c 2008-06-26 23:59:40.000000000 +0100 | ||
24 | @@ -276,8 +276,12 @@ | ||
25 | backtrace_sigbus(); | ||
26 | |||
27 | setlocale (LC_ALL, ""); | ||
28 | +#ifdef HAVE_BINDTEXTDOMAIN | ||
29 | bindtextdomain (PACKAGE, LOCALEDIR); | ||
30 | +#endif | ||
31 | +#ifdef HAVE_TEXTDOMAIN | ||
32 | textdomain (PACKAGE); | ||
33 | +#endif | ||
34 | |||
35 | show_db = debug = numeric = quiet = wakeup = af_hint = syslog_interval = 0; | ||
36 | unit = DEFAULT; | ||
37 | diff -ru hddtemp-0.3-beta15.orig/src/utf8.c hddtemp-0.3-beta15/src/utf8.c | ||
38 | --- hddtemp-0.3-beta15.orig/src/utf8.c 2006-04-19 03:37:02.000000000 +0100 | ||
39 | +++ hddtemp-0.3-beta15/src/utf8.c 2008-06-27 00:02:15.000000000 +0100 | ||
40 | @@ -23,7 +23,9 @@ | ||
41 | |||
42 | // Standard includes | ||
43 | #include <stdlib.h> | ||
44 | +#ifdef HAVE_ICONV_H | ||
45 | #include <iconv.h> | ||
46 | +#endif | ||
47 | #include <langinfo.h> | ||
48 | #include <locale.h> | ||
49 | #include <string.h> | ||
50 | @@ -34,6 +36,7 @@ | ||
51 | |||
52 | static char *iconv_from_utf8_to_locale(const char *string, const char* fallback_string) | ||
53 | { | ||
54 | +#ifdef HAVE_ICONV | ||
55 | const size_t buffer_inc = 80; // Increment buffer size in 80 bytes step | ||
56 | const char *charset; | ||
57 | iconv_t cd; | ||
58 | @@ -93,6 +96,8 @@ | ||
59 | if (dest_buffer != NULL) | ||
60 | free(dest_buffer); // free buffer | ||
61 | free(src_buffer); // free string | ||
62 | +#endif | ||
63 | + | ||
64 | return strdup(fallback_string); // and return fallback string | ||
65 | } | ||
66 | |||
diff --git a/meta-oe/recipes-support/hddtemp/hddtemp/hddtemp.db b/meta-oe/recipes-support/hddtemp/hddtemp/hddtemp.db new file mode 100644 index 000000000..7b0cbd93e --- /dev/null +++ b/meta-oe/recipes-support/hddtemp/hddtemp/hddtemp.db | |||
@@ -0,0 +1,531 @@ | |||
1 | # | ||
2 | # Insert a regular expression for support of the model or the serie of your hard drive. | ||
3 | # If you don't know what to put in the second field, put the number | ||
4 | # that appears most often for your brand :o) | ||
5 | # A value of zero meens that we know that the drive doesn't have | ||
6 | # a temperature sensor (you can set the unit to C or F). | ||
7 | # | ||
8 | ############################################################################ | ||
9 | # The following list was found at (http://www.almico.com/forumharddisks.php) | ||
10 | # If your drive is in the list send me a mail. | ||
11 | # | ||
12 | # Manufacturer Model Size Notes | ||
13 | # FUJITSU FUJITSU MPF3102AH 10.0GB | ||
14 | # FUJITSU FUJITSU MPG3204AH E 20.0GB | ||
15 | # FUJITSU FUJITSU MPG3307AT 30.0GB | ||
16 | # FUJITSU FUJITSU MPG3409AH 40.0GB | ||
17 | # FUJITSU FUJITSU MPG3409AH EF 40.0GB | ||
18 | # HITACHI HITACHI_DK23CA-10 9.8GB | ||
19 | # HITACHI HITACHI_DK23CA-15 14.7GB | ||
20 | # SAMSUNG SAMSUNG SV3012H 29.4GB | ||
21 | # SEAGATE ST310210A 10.0GB | ||
22 | # SEAGATE ST310211A 9.8GB | ||
23 | # SEAGATE ST310215A 10.0GB | ||
24 | # SEAGATE ST315320A 14.9GB | ||
25 | # SEAGATE ST320410A 19.6GB | ||
26 | # SEAGATE ST320413A 19.6GB | ||
27 | # SEAGATE ST320420A 19.9GB | ||
28 | # SEAGATE ST330610A 29.3GB | ||
29 | # SEAGATE ST330620A 29.3GB | ||
30 | # SEAGATE ST330621A 29.3GB | ||
31 | # SEAGATE ST330630A 29.9GB | ||
32 | # SEAGATE ST340016A 39.1GB | ||
33 | # SEAGATE ST340810ACE 39.1GB | ||
34 | # SEAGATE ST380020ACE 78.2GB | ||
35 | # WESTERN DIGITAL WDC AC210200D 10.0GB | ||
36 | # WESTERN DIGITAL WDC AC29100D 8.9GB | ||
37 | # WESTERN DIGITAL WDC AC420400D 19.9GB | ||
38 | # WESTERN DIGITAL WDC WD102AA 10.0GB | ||
39 | # | ||
40 | ################################################# | ||
41 | |||
42 | ######################################## | ||
43 | ############# ExcelStor drives | ||
44 | ######################################## | ||
45 | # "ExcelStor Technology CT215" ??? ? "ExcelStor CT215" | ||
46 | "ExcelStor Technology J3.0" 194 C "ExcelStor Technology 3xy (xy GB)" | ||
47 | "ExcelStor Technology J6.0" 194 C "ExcelStor Technology 6xy (xy GB)" | ||
48 | "ExcelStor Technology J680" 194 C "ExcelStor Technology J680 (80 GB)" | ||
49 | "ExcelStor Technology J860" 194 C "ExcelStor Technology J860 (60 GB)" | ||
50 | "ExcelStor Technology J880" 194 C "ExcelStor Technology J880 (80 GB)" | ||
51 | |||
52 | |||
53 | |||
54 | ######################################## | ||
55 | ############# Fujitsu drives | ||
56 | ######################################## | ||
57 | "FUJITSU MHM2100AT" 0 C "Fujitsu MHM2100AT" | ||
58 | |||
59 | "FUJITSU MHN2150AT" 194 C "Fujitsu MHN2150AT" | ||
60 | "FUJITSU MHN2200AT" 194 C "Fujitsu MHN2200AT" | ||
61 | "FUJITSU MHN2300AT" 194 C "Fujitsu MHN2300AT" | ||
62 | |||
63 | "FUJITSU MHR2020AT" 194 C "Fujitsu MHR2020AT" | ||
64 | "FUJITSU MHR2030AT" 194 C "Fujitsu MHR2030AT" | ||
65 | |||
66 | "FUJITSU MHS2030AT" 194 C "Fujitsu MHS2030AT" | ||
67 | "FUJITSU MHS2040AT" 194 C "Fujitsu MHS2040AT" | ||
68 | "FUJITSU MHS2060AT" 194 C "Fujitsu MHS2060AT (Apple PowerBook G4)" | ||
69 | |||
70 | "FUJITSU MHT2030AC" 194 C "Fujitsu Mobile 30GB, 2MB, 4200RPM (automotive)" | ||
71 | |||
72 | "FUJITSU MHT2030AT" 194 C "Fujitsu MHT2030AT" | ||
73 | "FUJITSU MHT2040AH" 194 C "Fujitsu MHT2040AH" | ||
74 | "FUJITSU MHT2040AT" 194 C "Fujitsu MHT2040AT" | ||
75 | "FUJITSU MHT2060AH" 194 C "Fujitsu MHT2060AH" | ||
76 | "FUJITSU MHT2060AT" 194 C "Fujitsu MHT2060AT" | ||
77 | "FUJITSU MHT2080AH" 194 C "Fujitsu MHT2080AH" | ||
78 | |||
79 | "FUJITSU MHU2100AT" 194 C "Fujitsu MHU2100AT 100GB, 8MB (4200RPM)" | ||
80 | |||
81 | "FUJITSU MHV2100AH" 194 C "FUJITSU MHV2100AH" | ||
82 | "FUJITSU MHV2100AT" 194 C "FUJITSU MHV2100AT" | ||
83 | "FUJITSU MHV2100BH" 194 C "FUJITSU MHV2100BH" | ||
84 | "FUJITSU MHV2060AH" 194 C "FUJITSU MHV2060AH" | ||
85 | "FUJITSU MHV2080[AB]H" 194 C "FUJITSU MHV2080AH" | ||
86 | |||
87 | "FUJITSU MPF3204AH" 194 C "Fujitsu MPF3204AH" | ||
88 | |||
89 | "FUJITSU MPG3204AT.*" 194 C "Fujitsu MPG3204AT" | ||
90 | "FUJITSU MPG3307AT" 194 C "Fujitsu MPG3307AT" | ||
91 | "FUJITSU MPG3409AT.*" 194 C "Fujitsu MPG3409AT E" | ||
92 | "FUJITSU MPG3409AH.*" 194 C "Fujitsu MPG3409AH E" | ||
93 | "FUJITSU MPG3204AH" 194 C "Fujitsu MPG3204AH" | ||
94 | "FUJITSU MPG3102AT E" 194 C "FUJITSU MPG3102AT E" | ||
95 | |||
96 | |||
97 | |||
98 | ######################################## | ||
99 | ############# Hitachi drives | ||
100 | ######################################## | ||
101 | "HITACHI_DK13FA-40B" 194 C "Hitachi DK13FA-40B" | ||
102 | "HITACHI_DK228A-65" 0 C "Hitachi DK228A-65" | ||
103 | "HITACHI_DK23CA-(15|20|30|30B|75)" 194 C "Hitachi DK23CA series" | ||
104 | "HITACHI_DK23DA-[234]0" 194 C "Hitachi DK23DA series" | ||
105 | "HITACHI_DK23EA-[2346]0" 194 C "Hitachi DK23EA series" | ||
106 | "HITACHI_DK23EB-40" 194 C "Hitachi DK23EB series" | ||
107 | "HITACHI_DK23FA-[468]0" 194 C "Hitachi DK23FA series" | ||
108 | "HITACHI_DK23FB-[46]0" 194 C "Hitachi DK23FB series" | ||
109 | |||
110 | "HDS722516VLAT[28]0" 194 C "Hitachi Deskstar 7K250 160GB 2/8MB cache" | ||
111 | "HDS722525VLAT80" 194 C "Hitachi Deskstar 7K250 200/250GB, 7200RPM, 8MB, Parallel-ATA" | ||
112 | "HDS722512VLAT80" 194 C "Hitachi Deskstar 7K250 80GB" | ||
113 | "HDS722540VLAT20" 194 C "Hitachi Deskstar 7K250, 40GB, 7200RPM, 2MB cache" | ||
114 | "HDS722580VLAT20" 194 C "Deskstar 7K250 60GB" | ||
115 | "HDS724040KLSA80" 194 C "Hitachi Deskstar 7K250 400GB, 7200RPM, 8MB, Serial-ATA" | ||
116 | "HDS728080PLAT20" 194 C "Hitachi Deskstar 7K80 80GB" | ||
117 | |||
118 | "HDS722525VLSA80" 194 C "Hitachi Deskstar 7K250 250GB, 7200RPM, 8MB, SATA" | ||
119 | "HDS722516VLSA80" 194 C "Hitachi Deskstar 7K250 160GB 8Mo cache SATA" | ||
120 | "HDS722580VLSA80" 194 C "Hitachi Deskstar 7K250 80GB SATA" | ||
121 | "HDS728040PLAT20" 194 C "Hitachi Deskstar 7K80 40GB" | ||
122 | |||
123 | "HDS724040KLAT80" 194 C "Hitachi Deskstar 7K400 400GB 8Mo cache PATA" | ||
124 | |||
125 | "HDT7225(16|25)DLAT80" 194 C "Hitachi Deskstar T7K250 series, 7200RPM, 8MB, PATA" | ||
126 | "HDT722516DLA380 V43O" 194 C "Hitachi T7K250 SATA" | ||
127 | "HDT722525DLA380" 194 C "Hitachi Deskstar T7K250 250GB 8Mo cache SATAII" | ||
128 | "HDT725050VLA360" 194 C "Hitachi Deskstar T7K500 500GB, 7200RPM, 16MB, SATA II" | ||
129 | |||
130 | "HTE721010G9AT00" 194 C "Hitachi Travelstar 100GB (7200RPM)" | ||
131 | "HTE726060M9AT00" 194 C "Hitachi Travelstar 60GB (7200RPM)" | ||
132 | "HTS424030M9AT00" 194 C "Hitachi Travelstar 30GB (4200RPM)" | ||
133 | "HTS424040M9AT00" 194 C "Hitachi Travelstar 4K40 40GB 2MB cache (4200RPM)" | ||
134 | "HTS541010G9SA00" 194 C "Hitachi Travelstar 100GB SATA" | ||
135 | "HTS541040G9AT00" 194 C "Hitachi Travelstar 40GB (5400RPM)" | ||
136 | "HTS541080G9AT00" 194 C "Hitachi Travelstar 80GB (5400RPM)" | ||
137 | "HTS548020M9AT00" 194 C "Hitachi Travelstar 20GB (5400RPM)" | ||
138 | "HTS548030M9AT00" 194 C "Hitachi Travelstar 30GB (5400RPM)" | ||
139 | "HTS548040M9AT00" 194 C "Hitachi Travelstar 40GB (5400RPM)" | ||
140 | "HTS548060M9AT00" 194 C "Hitachi Travelstar 60GB (5400RPM)" | ||
141 | "HTS548080M9AT00" 194 C "Hitachi Travelstar 80GB (5400RPM)" | ||
142 | "HTS721080G9AT00" 194 C "Hitachi Travelstar 7K100 80GB (7200RPM)" | ||
143 | "HTS726060M9AT00" 194 C "Hitachi Travelstar 60GB" | ||
144 | |||
145 | |||
146 | ######################################## | ||
147 | ############# IBM drives | ||
148 | ######################################## | ||
149 | |||
150 | # DJSA serie is using F0h command to report temperature and also have | ||
151 | # SMART capabilties but it was reported not to work. | ||
152 | # "DJSA-2(30|32|10|20|05)" 0 C "IBM Travelstar 20GN, 32GH, 30GT series" | ||
153 | |||
154 | "IBM-DARA-212000" 0 C "IBM Travelstar 12GN" | ||
155 | "IBM-DTTA-35*" 0 C "IBM Deskstar 16GP serie" | ||
156 | |||
157 | # according to specifications they do not seems to have sensor | ||
158 | # but I prefer waiting for a report | ||
159 | #"IBM-DTTA-37*" 0 C "IBM Deskstar 14GXP serie" | ||
160 | |||
161 | "IBM-DJNA-35.*" 231 C "IBM Deskstar 25 GP serie" | ||
162 | "IBM-DJNA-37.*" 231 C "IBM Deskstar 22 GXP serie" | ||
163 | "IBM-DHEA-(34330|36480)" 0 C "IBM Deskstar 5 serie" | ||
164 | "IBM-DHEA-(34331|36481|38451)" 0 C "IBM Deskstar 8 serie" | ||
165 | "IBM-DPTA-37.*" 231 C "IBM Deskstar 34GXP serie" | ||
166 | "IBM-DPTA-35.*" 231 C "IBM Deskstar 37GP serie" | ||
167 | "IBM-DTLA-30[57]0[123467][05]" 194 C "IBM Deskstar 40GV & 75GXP series" | ||
168 | "IC25N0[1234]0ATCS04-0" 194 C "IBM Travelstar 40GN serie" | ||
169 | "IC25N0[24]0ATC[SX]05-0" 194 C "IBM Travelstar 40GNX serie" | ||
170 | "IC25N0(10|15|20|30)ATDA04-0" 194 C "IBM Travelstar 30GN serie" | ||
171 | "IC25N0[23468]0ATMR04*" 194 C "Hitachi Travelstar 80GN" | ||
172 | "IC25T048ATDA05-0" 194 C "IBM Travelstar 48GH serie" | ||
173 | "IC25T060ATC[SX]05-0" 194 C "IBM Travelstar 60GH serie" | ||
174 | "IC35L0[12346]0AVER07" 194 C "IBM Deskstar 60GXP serie" | ||
175 | "IC35L[01][02468]0AVV[AN]07*" 194 C "IBM Deskstar 120GXP serie" | ||
176 | "IC35L[01][23689]0AVV207*" 194 C "IBM Deskstar 180GXP serie" | ||
177 | |||
178 | ######################################## | ||
179 | ############# Maxtor drives | ||
180 | ######################################## | ||
181 | #"Maxtor 2B0[012][04568]H1" ??? C "Maxtor Fireball 541DX" | ||
182 | "Maxtor 2F0[234]0[LJ]0" 194 C "Maxtor Fireball 3" | ||
183 | # which one must I trust ? | ||
184 | #"Maxtor 4D040H2" 9 C "Maxtor DiamondMax D540X-4D" | ||
185 | #"Maxtor 4D040H2" 0 C "Maxtor 4D040H2" | ||
186 | #"Maxtor 4D080H4" 12 C "Maxtor DiamondMax D540X-4D" | ||
187 | #"Maxtor 4D060H3" 12 C "Maxtor DiamondMax D540X-4D" | ||
188 | #"Maxtor 4D080H4" 9 C "Maxtor DiamondMax D540X-4D" | ||
189 | "MAXTOR 4K0[468]0H[234]" 194 C "Maxtor DiamondMax D540X serie" | ||
190 | "MAXTOR 4K020H1" 194 C "Maxtor 4K020H1" | ||
191 | "Maxtor 4A300J0" 194 C "Maxtor MaxLine II 300GB 5400RPM" | ||
192 | "Maxtor 4[RA](25|16|12|08|06)0[LJ]0" 194 C "Maxtor DiamondMax 16" | ||
193 | "Maxtor 5(1024|1369|2049|2732|3073|4098)U(2|3|4|6|8)" 0 C "Maxtor DiamondMax Plus 40" | ||
194 | "Maxtor 5A250J0" 194 C "Maxtor MaXline II 250GB 5400RPM" | ||
195 | "Maxtor 5A300J0" 194 C "Maxtor 5A300J0" | ||
196 | "Maxtor 5T0[24]0H[24]" 0 C "Maxtor DiamondMax Plus 60" | ||
197 | "Maxtor 6E0[234]0L0" 194 C "Maxtor DiamondMax Plus 8" | ||
198 | "MAXTOR 6L0[2468]0[LJ][1234]" 194 C "Maxtor DiamondMax Plus D740X family" | ||
199 | "Maxtor 6V320F0" 194 C "Maxtor Diamond Max 10 SATA II 320 GB" | ||
200 | "Maxtor 6Y(06|08|12|16|20|25)0[LPM]0" 194 C "Maxtor DiamondMax Plus 9" | ||
201 | "Maxtor 7L300[RS]0" 194 C "Maxtor 7L300R0 MaxLine+III 300GB 7200rpm" | ||
202 | "Maxtor 7Y250[PM]0" 194 C "Maxtor MaXLine Plus II 250GB 7200RPM" | ||
203 | "Maxtor 94098U8" 11 C "Maxtor DiamondMax 40 94098U8" | ||
204 | |||
205 | #"Maxtor 6(B|L)(08|12|16|20|25|30)0[RSPM]0" 194 C "Maxtor DiamondMax Plus 10" | ||
206 | "Maxtor 6B080M0" 194 C "Maxtor DiamondMax 10 80GB 8MB SATA" | ||
207 | "Maxtor 6B120M0" 194 C "Maxtor DiamondMax 10 120GB 8MB SATA" | ||
208 | "Maxtor 6B160M0" 194 C "Maxtor DiamondMax 10 160GB 8MB SATA" | ||
209 | "Maxtor 6B160P0" 194 C "Maxtor DiamondMax 10 160GB 8MB ATA/133" | ||
210 | "Maxtor 6B200M0" 194 C "Maxtor DiamondMax 10 200GB 8MB SATA" | ||
211 | "Maxtor 6B200P0" 194 C "Maxtor DiamondMax 10 200GB 8MB ATA/133" | ||
212 | "Maxtor 6B250R0" 194 C "Maxtor DiamondMax 10 250GB 16MB ATA/133" | ||
213 | "Maxtor 6B250S0" 194 C "Maxtor DiamondMax 10 250GB 16MB SATA" | ||
214 | "Maxtor 6B300R0" 194 C "Maxtor DiamondMax 10 300GB 16MB ATA/133" | ||
215 | "Maxtor 6B300S0" 194 C "Maxtor DiamondMax 10 300GB 16MB SATA" | ||
216 | "Maxtor 6L080L0" 194 C "Maxtor DiamondMax 10 80GB 2MB ATA/133 RoHS" | ||
217 | "Maxtor 6L080M0" 194 C "Maxtor DiamondMax 10 80GB 8MB SATA RoHS" | ||
218 | "Maxtor 6L080P0" 194 C "Maxtor DiamondMax 10 80GB 8MB ATA/133 RoHS" | ||
219 | "Maxtor 6L120M0" 194 C "Maxtor DiamondMax 10 120GB 8MB SATA RoHS" | ||
220 | "Maxtor 6L120P0" 194 C "Maxtor DiamondMax 10 120GB 8MB ATA/133 RoHS" | ||
221 | "Maxtor 6L160M0" 194 C "Maxtor DiamondMax 10 160GB 8MB SATA RoHS" | ||
222 | "Maxtor 6L160P0" 194 C "Maxtor DiamondMax 10 160GB 8MB ATA/133 RoHS" | ||
223 | "Maxtor 6L200M0" 194 C "Maxtor DiamondMax 10 200GB 8MB SATA RoHS" | ||
224 | "Maxtor 6L200P0" 194 C "Maxtor DiamondMax 10 200GB 8MB ATA/133 RoHS" | ||
225 | "Maxtor 6L250R0" 194 C "Maxtor DiamondMax 10 250GB 16MB ATA/133 RoHS" | ||
226 | "Maxtor 6L250S0" 194 C "Maxtor DiamondMax 10 250GB 16MB SATA RoHS" | ||
227 | "Maxtor 6L300R0" 194 C "Maxtor DiamondMax 10 300GB 16MB ATA/133 RoHS" | ||
228 | "Maxtor 6L300S0" 194 C "Maxtor DiamondMax 10 300GB 16MB SATA RoHS" | ||
229 | "Maxtor 6V080E0" 194 C "Maxtor DiamondMax 10 80GB 8MB SATAII RoHS" | ||
230 | "Maxtor 6V160E0" 194 C "Maxtor DiamondMax 10 160GB 8MB SATAII RoHS" | ||
231 | "Maxtor 6V200E0" 194 C "Maxtor DiamondMax 10 200GB 8MB SATAII RoHS" | ||
232 | "Maxtor 6V250F0" 194 C "Maxtor DiamondMax 10 250GB 16MB SATAII RoHS" | ||
233 | "Maxtor 6V300F0" 194 C "Maxtor DiamondMax 10 300GB 16MB SATAII RoHS" | ||
234 | |||
235 | |||
236 | |||
237 | ######################################## | ||
238 | ############# Quantum drives | ||
239 | ######################################## | ||
240 | "QUANTUM FIREBALLP AS40.0" 0 C "Quantum Fireball AS40" | ||
241 | "QUANTUM FIREBALL CX10.2A" 0 C "Quantum Fireball CX10.2A" | ||
242 | #"QUANTUM FIREBALLlct10 20" 4 C "Quantum Fireball CT10 20GB" | ||
243 | # I suspect the QUANTUM FIREBALL_TM2110A to have a sensor in field 9... | ||
244 | # "QUANTUM FIREBALL_TM2110A" 9 C "Quantum Fireball TM2110A" | ||
245 | |||
246 | |||
247 | |||
248 | ######################################## | ||
249 | ############# Samsung drives | ||
250 | ######################################## | ||
251 | # somenone reported a problem with the SP8004H which reports a temperature | ||
252 | # 10°C below the ambient temperature | ||
253 | "SAMSUNG HA(200|250)JC" 194 C "Samsung SpinPoint V120CE series" | ||
254 | "SAMSUNG HD160JJ" 194 C "Samsung 160GB, 7200RPM, 8MB cache, SATA" | ||
255 | "SAMSUNG HD160JJ/P" 194 C "Samsung SpinPoint P80 SD 160GB (7200RPM, 8MB cache)" | ||
256 | "SAMSUNG HD[30|32|40][01]L[DJ]" 194 C "Samsung SpinPoint T133 series (300-400MB)" | ||
257 | "SAMSUNG HD250KD" 194 C "Samsung SpinPoint T133 series (250 MB PATA)" | ||
258 | "SAMSUNG HD321KJ" 194 C "Samsung Spinpoint T166 (7200RPM, 16MB cache) - SATA" | ||
259 | "SAMSUNG HD501LJ" 194 C "Samsung HD501LJ" | ||
260 | "SAMSUNG MP0(302|402|603|804)H" 194 C "Samsung SpinPoint M40 2.5inch" | ||
261 | "SAMSUNG SW0434A" 0 C "Samsung SW0434A" | ||
262 | "SAMSUNG SP(2001|4002|6003|8004|40A2)H" 194 C "Samsung SpinPoint P40 serie" | ||
263 | "SAMSUNG SP(0612|0802|1203|1604|0812|1213|1614)N" 194 C "Samsung SpinPoint P80 serie" | ||
264 | "SAMSUNG SP(0612|0802|1203|1604|0812|1213|1614)C" 194 C "Samsung SpinPoint P80 series - SATA" | ||
265 | "SAMSUNG SP0411N" 194 C "Samsung SpinPoint PL40 serie" | ||
266 | "SAMSUNG SP0822N" 194 C "Samsung SP0822N" | ||
267 | "SAMSUNG SP(0812|1213|1614)C" 194 C "Samsung Spinpoint 160G SATA" | ||
268 | "SAMSUNG SP2[05]14N" 194 C "Samsung SpinPoint P120 series (7200RPM, 8MB cache)" | ||
269 | "SAMSUNG SP2[05]04C" 194 C "Samsung SpinPoint P120 series - SATA" | ||
270 | "SAMSUNG SV0432A" 0 C "Samsung SV0432A" | ||
271 | "SAMSUNG SV3002H" 0 C "Samsung SpinPoint V30 serie" | ||
272 | "SAMSUNG SV(2001|4002|4012|6003|8004)H" 194 C "Samsung SpinPoint V40 serie" | ||
273 | #"SAMSUNG SV(0221|0602|0813|1204)H" 9 C "Samsung SpinPoint V60 serie" | ||
274 | #"SAMSUNG SV1204H" 194 C "Samsung 120G" | ||
275 | "SAMSUNG SV(0401|0802|1203|1604)N" 194 C "Samsung SpinPoint V80 serie" | ||
276 | "SAMSUNG SV4012H" 194 C "Samsung 40GB, 5400RPM, 2MB cache" | ||
277 | |||
278 | ######################################## | ||
279 | ############# Seagate drives | ||
280 | ######################################## | ||
281 | "Seagate Technology 1275MB - ST31276A" 0 C "Seagate ST31276A" | ||
282 | "ST3412A" 0 C "Seagate ST3412A" | ||
283 | "ST38641A" 0 C "Seagate ST38641A" | ||
284 | "ST310014A" 194 C "Seagate ST310014A" | ||
285 | "ST310210A" 0 C "Seagate ST310210A" | ||
286 | "ST310211A" 194 C "Seagate ST310211A" | ||
287 | "ST310220A" 0 C "Seagate ST310220A" | ||
288 | # SEAGATE ST313021A 13.0GB | ||
289 | "ST313021A" 0 C "Seagate U8 ST313021A" | ||
290 | "ST310240A" 0 C "Seagate Medalist 10240 Ultra ATA-3" | ||
291 | "ST315320A" 194 C "Seagate ST315320A" | ||
292 | "ST320423A" 0 C "Seagate U10 20423, Ultra ATA/66" | ||
293 | "ST320011A" 194 C "Seagate ST320011A" | ||
294 | "ST320014A" 194 C "Seagate ST320014A (5400 rpm, 20Gb)" | ||
295 | "ST320410A" 194 C "Seagate ST320410A" | ||
296 | "ST320413A" 194 C "Seagate ST320413A" | ||
297 | "ST320414A" 194 C "Seagate ST320414A" | ||
298 | "ST320420A" 194 C "Seagate Barracuda II ST320420A" | ||
299 | "ST330013A" 194 C "Seagate ST330013A Barracuda ATA V 30GB, 7200 rpm" | ||
300 | "ST330620A" 194 C "Seagate ST330620A" | ||
301 | "ST330621A" 194 C "Seagate ST330621A" | ||
302 | "ST330630A" 194 C "Seagate Barracuda ST330630A" | ||
303 | "ST340014A" 194 C "Seagate Barracuda 7200.7 40Gb" | ||
304 | "ST340015A" 194 C "Seagate Barracuda 5400.1 40GB" | ||
305 | "ST340016A" 194 C "Seagate ST340016A" | ||
306 | "ST340810A" 194 C "Seagate U Series 40810 (40Gb, Ultra ATA/100, 5400 rpm)" | ||
307 | "ST340823A" 194 C "Seagate U Series 5 40823" | ||
308 | "ST340824A" 194 C "Seagate Barracuda III" | ||
309 | "ST360015A" 194 C "Seagate Barracuda V ST360015A" | ||
310 | "ST360020A" 194 C "Seagate U Series 60020" | ||
311 | "ST360021A" 194 C "Seagate Barracuda IV ST360021A" | ||
312 | "ST380011A" 194 C "Seagate Barracuda 7200.7 80GB" | ||
313 | "ST380012A" 194 C "Seagate ST380012A 80GB" | ||
314 | "ST380013A" 194 C "Seagate Barracuda 7200.7 80GB" | ||
315 | "ST380013AS" 194 C "Seagate Barracuda 7200.7 80GB (Serial ATA)" | ||
316 | "ST380020A" 194 C "Seagate U Series 80020 (80Gb, Ultra ATA/100, 5400 rpm)" | ||
317 | "ST380021A" 194 C "Seagate Barracuda IV ST380021A" | ||
318 | "ST380022A" 194 C "Seagate Barracuda U7 80022, Ultra ATA/100" | ||
319 | "ST380023A" 194 C "Seagate Barracuda V ST380023A" | ||
320 | "ST380817AS" 194 C "Seagate Barracuda 7200.7 80GB - SATA" | ||
321 | "ST39111A" 194 C "Seagate ST39111A (from Sun Ultra)" | ||
322 | "ST3120020A" 194 C "Seagate ST3120020A" | ||
323 | "ST3120022A" 194 C "Seagate Baraccuda 7200.7 120GB" | ||
324 | "ST3120023A" 194 C "Seagate Barracuda V ST3120023A" | ||
325 | "ST3120024A" 194 C "Seagate Barracuda V ST3120024A" | ||
326 | "ST3120025ACE" 194 C "Seagate Barracuda V ST3120025ACE" | ||
327 | "ST3120026A" 194 C "Seagate Barracuda V ST3120026A" | ||
328 | "ST3160021A" 194 C "Seagate Barracuda 7200.7 - ST3160021A" | ||
329 | "ST3160023(A|AS)" 194 C "Seagate Barracuda V ST3160023A and AS (160Gb, ATA100 or Serial ATA)" | ||
330 | "ST316081[12](A|AS)" 194 C "Seagate Barracuda 7200.9 160GB" | ||
331 | "ST3160827AS" 194 C "Seagate Barracuda 7200.7 160GB (Serial ATA)" | ||
332 | "ST3200021A" 194 C "Seagate Barracuda 7200.7 Plus 200GB" | ||
333 | "ST3200822(A|AS)" 194 C "Seagate Barracuda 7200.7 Plus 200GB (PATA or SATA)" | ||
334 | "ST3200826A" 194 C "Seagate Barracuda 7200.8 200GB" | ||
335 | "ST3250623A" 194 C "Seagate Barracuda 7200.16 250GB" | ||
336 | "ST3250624AS" 194 C "Seagate Barracuda 7200.9 250GB SATA" | ||
337 | "ST3250624NS" 194 C "Seagate NL35 SATA (RAID-Edition) 7200 250GB" | ||
338 | "ST3250823A" 194 C "Seagate Barracuda 7200.8 250GB" | ||
339 | "ST3250823A" 194 C "Seagate Barracuda 7200.7 Plus 250GB" | ||
340 | "ST3250823NS" 194 C "Seagate NL35 SATA (RAID-Edition) 7200 250GB" | ||
341 | "ST3300831A" 194 C "Seagate 300GB ST3300831A" | ||
342 | "ST3400832A" 194 C "Seagate Barracuda 7200.8 Plus 400GB" | ||
343 | "ST3400633(A|AS)" 194 C "Seagate Barracuda 7200.7 400 GB" | ||
344 | "ST3500630NS" 194 C "Seagate" | ||
345 | "ST3400632NS" 194 C "Seagate" | ||
346 | "ST380[28]110(A|AS)" 194 C "Seagate Barracuda 7200.9 80 GB" | ||
347 | "ST910021A" 194 C "Seagate Momentus 7200.1 100GB" | ||
348 | "ST910082[35]A" 194 C "Seagate Momentus 5400.2 100GB" | ||
349 | "ST9120821A" 194 C "Seagate Momentus 5400.2 120GB" | ||
350 | "ST94019A" 194 C "Seagate ST94019A" | ||
351 | "ST94813A" 194 C "Seagate Momentus 5400.2 40GB" | ||
352 | "ST94[08]11A" 194 C "Seagate ST94011A" | ||
353 | "ST960821A" 194 C "Seagate ST960821A" | ||
354 | "ST960822A" 194 C "Seagate Momentus 5400.2 60GB" | ||
355 | "ST96812AS" 194 C "Seagate Momentus 5400.2 60GB SATA" | ||
356 | "ST9808211A" 194 C "Seagate Momentus 5400.2 80GB" | ||
357 | "ST98823AS" 194 C "Seagate Momentus 5400.2 80GB SATA" | ||
358 | |||
359 | ######################################## | ||
360 | ############# TOSHIBA Laptops | ||
361 | ######################################## | ||
362 | "MK4313MAT" 220 C "Toshiba MK4313MAT" | ||
363 | "TOSHIBA MK1032GAX" 194 C "Toshiba MK1032GAX" | ||
364 | "TOSHIBA MK1032GSX" 194 C "Toshiba MK1032GSX" | ||
365 | "TOSHIBA MK1517GAP" 0 C "Toshiba MK1517GAP" | ||
366 | "TOSHIBA MK2018GAS" 226 F "Toshiba MK2018GAS" | ||
367 | "TOSHIBA MK2023GAS" 194 C "Toshiba MK2023GAS" | ||
368 | |||
369 | "TOSHIBA MK3017GAP" 0 C "Toshiba MK3017GAP" | ||
370 | "TOSHIBA MK3021GAS" 194 C "Toshiba MK3021GAS" | ||
371 | "TOSHIBA MK3025GAS" 194 C "Toshiba MK3025GAS" | ||
372 | |||
373 | #"TOSHIBA MK4019GAX" 222 C "Toshiba MK4019GAX" | ||
374 | "TOSHIBA MK4021GAS" 194 C "Toshiba MK4021GAS" | ||
375 | "TOSHIBA MK4025GAS" 194 C "Toshiba MK4025GAS 40 Go" | ||
376 | "TOSHIBA MK4026GAS" 194 C "Toshiba MK4026GAS 40 Go" | ||
377 | "TOSHIBA MK4032GAX" 194 C "Toshiba MK4032GAX" | ||
378 | |||
379 | "TOSHIBA MK6021GAS" 194 C "Toshiba MK6021GAS" | ||
380 | "TOSHIBA MK6022GAX" 194 C "Toshiba MK6022GAX" | ||
381 | "TOSHIBA MK6025GAS" 194 C "Toshiba MK6025GAS" | ||
382 | "TOSHIBA MK6026GAX" 194 C "Toshiba MK6026GAX" | ||
383 | "TOSHIBA MK8025GAS" 194 C "Toshiba MK8025GAS" | ||
384 | "TOSHIBA MK8026GAX" 194 C "Toshiba MK8026GAX" | ||
385 | "TOSHIBA MK8032GSX" 194 C "Toshiba MK8032GSX" | ||
386 | |||
387 | "MK4025GAS" 194 C "Toshiba MK4025GAS" | ||
388 | |||
389 | |||
390 | ######################################## | ||
391 | ############# Western Digital drives | ||
392 | ######################################## | ||
393 | # WDC AC310100B and WDC AC2850F are reported not working | ||
394 | # no more informations were given | ||
395 | "WDC AC22000L" 0 C "Western Digital Caviar AC22000" | ||
396 | "WDC AC420400D" 231 C "Western Digital Caviar AC420400D" | ||
397 | "WDC AC418000D" 231 C "Western Digital AC418000D" | ||
398 | "WDC WD135BA" 231 C "Western Digital WD135BA" | ||
399 | |||
400 | "WDC WD100EB-00BHF0" 0 C "Western Digital 100EB-00BHF0" | ||
401 | "WDC WD200BB-00AUA1" 0 C "Western Digital Caviar WD200BB" | ||
402 | #"WDC WD200BB-60DGA0" 0 C "Western Digital Caviar WD200BB" | ||
403 | "WDC WD300BB-00CAA0" 0 C "Western Digital WD300BB" | ||
404 | "WDC WD360GD-00FNA0" 194 C "Western Digital SATA Raptor 36.7GB" | ||
405 | "WDC WD400BB-00CAA0" 0 C "Western Digital 400BB-00CAA0" | ||
406 | "WDC WD400BB-00[DJ][KH]A0" 194 C "Western Digital Caviar WD400BB" | ||
407 | "WDC WD400BB-23JHC0" 194 C "Western Digital 23JHC0" | ||
408 | #"WDC WD400BB-00GFA0" 0 C "" | ||
409 | "WDC WD400BB-55HEA0" 194 C "Western Digital Caviar WD400BB" | ||
410 | "WDC WD400BB-(18CA|00DE)A0" 0 C "Western Digital Caviar WD400BB" | ||
411 | "WDC WD400BB-75FJA1" 194 C "Western Digital Caviar WD400BB" | ||
412 | "WDC WD400EB-00CPF0" 0 C "Western Digital 400EB-00CPF0" | ||
413 | "WDC WD400JB-00(JJ|FM|FS)A0" 194 C "Western Digital Caviar 40GB Special Edition 8MB" | ||
414 | "WDC WD400JB-00ETA0" 194 C "Western Digital 400JB-00ETA0" | ||
415 | "WDC WD400JB-00JJC0" 194 C "Western Digital 400JB-00JJC0 40GB" | ||
416 | "WDC WD400LB-00DNA0" 194 C "Western Digital 400LB-00DNA0" | ||
417 | "WDC WD400UE-22HCT0" 194 C "Western Digital 40GB Notebook HDD" | ||
418 | "WDC WD400VE-75HDT1" 194 C "Western Digital Scorpio 40GB" | ||
419 | "WDC WD600BB-32BSA0" 0 C "Western Digital 600BB-32BSA0" | ||
420 | "WDC WD600JB-00ETA0" 194 C "Western Digital 600JB-00ETA0" | ||
421 | "WDC WD600LB-00DNA0" 194 C "Western Digital 60GB" | ||
422 | "WDC WD600VE-75HDT0" 194 C "Western Digital 600VE-75HDT0" | ||
423 | "WDC WD600VE-00HDT0" 194 C "Western Digital 600VE-00HDT0" | ||
424 | "WDC WD740GD-00FL21.0" 194 C "Western Digital SATA Raptor" | ||
425 | "WDC WD740GD-([05]0FL[AC][01]|75FLA1)" 194 C "Western Digital SATA Raptor 74GB 8MB" | ||
426 | "WDC WD800BB-00CAA1" 0 C "Western Digital WD800BB-00CAA1" | ||
427 | "WDC WD800BB-(00|22)DKA0" 194 C "Western Digital WD800BB 80 Go" | ||
428 | "WDC WD800BB-32CCB0" 194 C "Western Digital 800BB-32CCB0" | ||
429 | "WDC WD800BB-55HEA0" 194 C "Western Digital 800BB-55HEA0" | ||
430 | "WDC WD800BB-00JHA0" 194 C "Western Digital 800BB-00JHA0" | ||
431 | "WDC WD800BB-00JKA0" 194 C "Western Digital 800BB-00JKA0" | ||
432 | "WDC WD800BB-55JKA0" 194 C "Western Digital 800BB-55JKA0" | ||
433 | "WDC WD800BB-75FRA0" 194 C "Western Digital Caviar WD800BB" | ||
434 | "WDC WD800JB-00CRA1" 0 C "Western Digital Caviar WD800JB" | ||
435 | "WDC WD800JB-00(ET|FM|FS)A0" 194 C "Western Digital Caviar 80GB Special Edition 8MB" | ||
436 | "WDC WD800JB-00JJ[AC]0" 194 C "Western Digital WD800JB" | ||
437 | "WDC WD800JD-(00|55|75)(HK|JR|JN)[AC]0" 194 C "Western Digital SATA 80GB, 8MB Cache" | ||
438 | "WDC WD800LB-(00|55)DNA0" 194 C "Western Digital Caviar WD800LB 80 Go ATA-100" | ||
439 | "WDC WD800VE-07HDT0" 194 C "Western Digital 800VE-07HDT0" | ||
440 | "WDC WD1200BB-00(FTA|GUA)0" 194 C "Western Digital Caviar EIDE 2MB Cache" | ||
441 | "WDC WD1200JB-00(EV|FU|GV|RE)A0" 194 C "Western Digital Caviar 120GB Special Edition 8MB" | ||
442 | "WDC WD1200JB-22GVA0" 194 C "Western Digital Caviar 120GB" | ||
443 | "WDC WD1200JD-00(FYB|GBB|HBC)0" 194 C "Western Digital WD1200JD" | ||
444 | "WDC WD1200LB-55EDA0" 194 C "Western Digital WD1220LB" | ||
445 | "WDC WD1200SB-01KB[AC]0" 194 C "Western Digital Caviar RE (Raid Edition) 120 GB" | ||
446 | "WDC WD1600BB-00DWA0" 194 C "Western Digital Caviar WD1600BB" | ||
447 | "WDC WD1600JB-(00EV|00FU|00GV|22GV|75GV)A0" 194 C "Western Digital Caviar 160GB Special Edition 8MB" | ||
448 | "WDC WD2000BB-00FTA0" 194 C "Western Digital WD2000BB" | ||
449 | "WDC WD2000JB-(00EV|32EV|34EV|00FU|00GV|55GV|98GV|00KF)A0" 194 C "Western Digital Caviar 200GB Special Edition 8MB" | ||
450 | "WDC WD2000JB-00GVC0" 194 C "Western Digital WD2000JB" | ||
451 | "WDC WD2000JD-00FYB0" 194 C "Western Digital WD2000JD" | ||
452 | "WDC WD2000JS-00MHB1" 194 C "Western Digital SATA 200GB" | ||
453 | "WDC WD2500JB-(00RE|00EV|00FU|32FU|00GV|55GV)A0" 194 C "Western Digital Caviar 250GB Special Edition 8MB" | ||
454 | "WDC WD2500JB-00GVC0" 194 C "Western Digital 250GB" | ||
455 | "WDC WD2500JD-(00G|32H|75H)BB0" 194 C "Western Digital SATA Caviar 250GB Special Edition 8MB" | ||
456 | "WDC WD2500JD-40HBC0" 194 C "Western Digital WD2500JD-40HBC0" | ||
457 | "WDC WD2500PB-98FBA0" 194 C "Western Digital Caviar 250GB Special Edition 8MB" | ||
458 | "WDC WD2500PD-00FZB1" 194 C "Western Digital WD2500PD-00FZB1" | ||
459 | "WDC WD2500SD-01KCB0" 194 C "Western Digital Caviar RE 250GB 8MB" | ||
460 | "WDC WD3000JB-00KFA0" 194 C "Western Digital WD3000JB" | ||
461 | "WDC WD3200JB-00KFA0" 194 C "Western Digital Caviar 320GB 8MB" | ||
462 | "WDC WD4000KD-00NAB0" 194 C "Western Digital Caviar SE16 400GB 16MB" | ||
463 | "WDC WD4000YR-01PLB0" 194 C "Western Digital Caviar RE2 400GB 16MB" | ||
464 | "WD4000YS-01MPB0" 194 C "Western Digital RE2 7200 SATA II 400 GB" | ||
465 | |||
466 | # not sure for next | ||
467 | # "WDC WD1200JB-00CRA1" 9 C "Western Digital 1200JB-00CRA1" | ||
468 | # "WDC WD273BA" 9 C "Western Digital WD273BA" | ||
469 | |||
470 | |||
471 | |||
472 | |||
473 | ######################################################################################################################## | ||
474 | ######################################################################################################################## | ||
475 | ######################################################################################################################## | ||
476 | ######################################################################################################################## | ||
477 | ######################################################################################################################## | ||
478 | ######################################################################################################################## | ||
479 | ######################################################################################################################## | ||
480 | ######################################################################################################################## | ||
481 | ######################################################################################################################## | ||
482 | ######################################################################################################################## | ||
483 | ######################################################################################################################## | ||
484 | ######################################################################################################################## | ||
485 | ######################################################################################################################## | ||
486 | ######################################################################################################################## | ||
487 | |||
488 | "ST3750640AS" 194 C "Seagate Barracuda 7200.10 SATA 750GB" | ||
489 | "ST3750840AS" 194 C "Seagate Barracuda 7200.10 SATA 750GB" | ||
490 | "ST3500630AS" 194 C "Seagate Barracuda 7200.10 SATA 500GB" | ||
491 | "ST3500830AS" 194 C "Seagate Barracuda 7200.10 SATA 500GB" | ||
492 | "ST3400620AS" 194 C "Seagate Barracuda 7200.10 SATA 400GB" | ||
493 | "ST3400620A" 194 C "Seagate Barracuda 7200.10 400GB" | ||
494 | "ST3400820AS" 194 C "Seagate Barracuda 7200.10 SATA 400GB" | ||
495 | "ST3320620AS" 194 C "Seagate Barracuda 7200.10 SATA 320GB" | ||
496 | "ST3320820AS" 194 C "Seagate Barracuda 7200.10 SATA 320GB" | ||
497 | "ST3300620AS" 194 C "Seagate Barracuda 7200.10 SATA 300GB" | ||
498 | "ST3300820AS" 194 C "Seagate Barracuda 7200.10 SATA 300GB" | ||
499 | "ST3250620AS" 194 C "Seagate Barracuda 7200.10 SATA 250GB" | ||
500 | "ST3250820AS" 194 C "Seagate Barracuda 7200.10 SATA 250GB" | ||
501 | "ST3250410AS" 194 C "Seagate Barracuda 7200.10 SATA 250GB" | ||
502 | "ST3250310AS" 194 C "Seagate Barracuda 7200.10 SATA 250GB" | ||
503 | "ST3200820AS" 194 C "Seagate Barracuda 7200.10 SATA 200GB" | ||
504 | "ST3160815AS" 194 C "Seagate Barracuda 7200.10 SATA 160GB" | ||
505 | "ST3160215AS" 194 C "Seagate Barracuda 7200.10 SATA 160GB" | ||
506 | "ST3120815AS" 194 C "Seagate Barracuda 7200.10 SATA 120GB" | ||
507 | "ST3120215AS" 194 C "Seagate Barracuda 7200.10 SATA 120GB" | ||
508 | "ST380815AS" 194 C "Seagate Barracuda 7200.10 SATA 80GB" | ||
509 | "ST380215AS" 194 C "Seagate Barracuda 7200.10 SATA 80GB" | ||
510 | "ST340815AS" 194 C "Seagate Barracuda 7200.10 SATA 40GB" | ||
511 | "ST340215AS" 194 C "Seagate Barracuda 7200.10 SATA 40GB" | ||
512 | "ST3300622AS" 194 C "Seagate Barracuda 7200.9 SATA2.5 300GB" | ||
513 | "ST3300831A" 194 C "Seagate Barracuda 7200.8 PATA 300GB" | ||
514 | |||
515 | "Maxtor 7(L|V)250(F|R|S)0" 194 C "Maxtor MaXLine III 250GB 7200rpm" | ||
516 | "Maxtor 7(L|V)300(F|R|S)0" 194 C "Maxtor MaXLine III 300GB 7200rpm" | ||
517 | "MAXTOR STM3320620AS" 194 C "" | ||
518 | |||
519 | "WDC WD1500ADFD-00NLR[01]" 194 C "Western Digital Raptor 150GB" | ||
520 | "WDC WD1600JS-00NCB1" 194 C "Western Digital Caviar 1600JS 160GB Sata" | ||
521 | "WDC WD1600SD-01KCC0" 194 C "Western Digital Caviar RE Serial ATA series" | ||
522 | "WDC WD2500JD-57HBC0" 194 C "Western Digital Caviar SE (Serial ATA) 250 GB" | ||
523 | "WDC WD2500JS" 194 C "Western Digital WD2500JS" | ||
524 | "WDC WD2500JS-41MVB1" 194 C "Western Digital SATAII Caviar 250GB Special Edition 8MB" | ||
525 | "WDC WD2500JD-00HBB0" 194 C "Western Digital SATA 250GB" | ||
526 | "WDC WD2500KS-00MJB0" 194 C "Western Digital SATA-II Caviar 250GB Special Edition 16MB" | ||
527 | "WDC WD2500YD-01NVB1" 194 C "Western Digital Caviar RE 250GB 16MB" | ||
528 | "WDC WD3000JS-00PDB0" 194 C "Western Digital WD3000JS" | ||
529 | "WDC WD3200KS-00PFB0" 194 C "Western Digital Caviar 320GB 16MB" | ||
530 | "WDC WD3200JD-22KLB0" 194 C "Western Digital Caviar SE 320GB 8MB" | ||
531 | "WDC WD3200SD-01KNB0" 194 C "Western Digital Caviar RE 320GB SATA 8MB" | ||
diff --git a/meta-oe/recipes-support/hddtemp/hddtemp/hddtemp_0.3-beta15-52.diff b/meta-oe/recipes-support/hddtemp/hddtemp/hddtemp_0.3-beta15-52.diff new file mode 100644 index 000000000..f61c1649a --- /dev/null +++ b/meta-oe/recipes-support/hddtemp/hddtemp/hddtemp_0.3-beta15-52.diff | |||
@@ -0,0 +1,2256 @@ | |||
1 | Megapatch from debian | ||
2 | |||
3 | Original URL: http://ftp.debian.org/debian/pool/main/h/hddtemp/hddtemp_0.3-beta15-52.diff.gz | ||
4 | |||
5 | Filtered with: | ||
6 | filterdiff -p1 -x README -x 'debian/*' | ||
7 | |||
8 | |||
9 | Upstream-Status: unmaintained | ||
10 | |||
11 | --- hddtemp-0.3-beta15.orig/doc/hddtemp.8 | ||
12 | +++ hddtemp-0.3-beta15/doc/hddtemp.8 | ||
13 | @@ -58,6 +58,10 @@ | ||
14 | .B \-f, \-\-file=\fIfile\fI | ||
15 | Specify the database file to use. | ||
16 | .TP | ||
17 | +.B \-F, \-\-foreground | ||
18 | +Don't fork into the background even in daemon mode. This is useful | ||
19 | +when running under a process supervisor. | ||
20 | +.TP | ||
21 | .B \-l, \-\-listen=\fIaddr\fR | ||
22 | Listen on a specific address. \fIaddr\fR is a string containing a | ||
23 | host name or a numeric host address string. The numeric host address | ||
24 | @@ -80,6 +84,9 @@ | ||
25 | .B \-q, \-\-quiet | ||
26 | Don't check if the drive is supported. | ||
27 | .TP | ||
28 | +.B \-u, \-\-unit=\fIC|F\fR | ||
29 | +Force output temperature either in Celsius or Fahrenheit. | ||
30 | +.TP | ||
31 | .B \-v, \-\-version | ||
32 | Display hddtemp version number. | ||
33 | .TP | ||
34 | @@ -96,7 +103,7 @@ | ||
35 | .SH "DRIVE DATABASE" | ||
36 | If you know your drive has a temperature sensor but it is being | ||
37 | reported unsupported, tell me which model and which manufacturer it | ||
38 | -is, and/or just add a new entry in /usr/share/misc/hddtemp.db. Each | ||
39 | +is, and/or just add a new entry in /etc/hddtemp.db. Each | ||
40 | line of hddtemp.db is either a comment, a blank line or a line | ||
41 | containing: | ||
42 | .TP | ||
43 | @@ -112,7 +119,7 @@ | ||
44 | Feedback is welcome (see the REPORT section below). | ||
45 | |||
46 | .SH "TCP/IP DAEMON MODE" | ||
47 | -Exemple of type forcing: | ||
48 | +Example of type forcing: | ||
49 | .PP | ||
50 | # hddtemp SATA:/dev/sda PATA:/dev/hda | ||
51 | .PP | ||
52 | @@ -120,7 +127,7 @@ | ||
53 | .B hddtemp | ||
54 | in daemon mode, start it like this: | ||
55 | .PP | ||
56 | -# hddtemp -d /dev/hd[abcd] | ||
57 | +# hddtemp \-d /dev/hd[abcd] | ||
58 | .PP | ||
59 | .PP | ||
60 | and use | ||
61 | @@ -165,8 +172,8 @@ | ||
62 | investigation they do not. But fields 194 (which is the standard | ||
63 | field for temperature) and 231 are good candidates. | ||
64 | .PP | ||
65 | -Then, you can send me a report with outputs from `hddtemp --debug ...', | ||
66 | -`smartctl' or `hdparm -i ...', and/or add an entry in hddtemp.db | ||
67 | +Then, you can send me a report with outputs from `hddtemp \-\-debug ...', | ||
68 | +`smartctl' or `hdparm \-i ...', and/or add an entry in hddtemp.db | ||
69 | yourself. | ||
70 | |||
71 | .SH "BUGS" | ||
72 | @@ -183,5 +190,5 @@ | ||
73 | .PP | ||
74 | Emmanuel Varagnat (hddtemp@guzu.net). | ||
75 | .PP | ||
76 | -This manual page was originaly written by Aurelien Jarno <aurel32@debian.org>, | ||
77 | +This manual page was originally written by Aurelien Jarno <aurel32@debian.org>, | ||
78 | for the Debian GNU/Linux system (but may be used by others). | ||
79 | --- hddtemp-0.3-beta15.orig/po/fr.po | ||
80 | +++ hddtemp-0.3-beta15/po/fr.po | ||
81 | @@ -7,9 +7,9 @@ | ||
82 | msgid "" | ||
83 | msgstr "" | ||
84 | "Project-Id-Version: fr\n" | ||
85 | -"Report-Msgid-Bugs-To: hddtemp@guzu.net\n" | ||
86 | -"POT-Creation-Date: 2005-02-25 22:43+0100\n" | ||
87 | -"PO-Revision-Date: 2003-06-03 00:58GMT+1\n" | ||
88 | +"Report-Msgid-Bugs-To: \n" | ||
89 | +"POT-Creation-Date: 2006-06-29 16:24+0200\n" | ||
90 | +"PO-Revision-Date: 2011-08-30 16:38+0200\n" | ||
91 | "Last-Translator: Aurelien Jarno <aurelien@aurel32.net>\n" | ||
92 | "Language-Team: FRANCAIS <fr@li.org>\n" | ||
93 | "MIME-Version: 1.0\n" | ||
94 | @@ -17,23 +17,7 @@ | ||
95 | "Content-Transfer-Encoding: 8bit\n" | ||
96 | "X-Generator: KBabel 1.0.1\n" | ||
97 | |||
98 | -#: src/hddtemp.c:112 | ||
99 | -#, c-format | ||
100 | -msgid "" | ||
101 | -"\n" | ||
102 | -"Regexp%s| Value | Description\n" | ||
103 | -"------%s---------------------\n" | ||
104 | -msgstr "" | ||
105 | -"\n" | ||
106 | -"Regexp%s| Valeur | Description\n" | ||
107 | -"------%s----------------------\n" | ||
108 | - | ||
109 | -#: src/hddtemp.c:118 | ||
110 | -#, c-format | ||
111 | -msgid "%s%s| %5d | %s\n" | ||
112 | -msgstr "%s%s| %5d | %s\n" | ||
113 | - | ||
114 | -#: src/hddtemp.c:161 | ||
115 | +#: src/hddtemp.c:156 | ||
116 | #, c-format | ||
117 | msgid "" | ||
118 | "\n" | ||
119 | @@ -46,7 +30,7 @@ | ||
120 | "Modèle: %s\n" | ||
121 | "\n" | ||
122 | |||
123 | -#: src/hddtemp.c:188 | ||
124 | +#: src/hddtemp.c:189 | ||
125 | #, c-format | ||
126 | msgid "" | ||
127 | "WARNING: Drive %s doesn't seem to have a temperature sensor.\n" | ||
128 | @@ -60,75 +44,60 @@ | ||
129 | "net).\n" | ||
130 | "ATTENTION : Voir les options --help, --debug et --drivebase.\n" | ||
131 | |||
132 | -#: src/hddtemp.c:192 | ||
133 | +#: src/hddtemp.c:197 | ||
134 | #, c-format | ||
135 | msgid "%s: %s: no sensor\n" | ||
136 | msgstr "%s: %s : pas de capteur\n" | ||
137 | |||
138 | -#: src/hddtemp.c:197 | ||
139 | -#, c-format | ||
140 | -msgid "" | ||
141 | -"WARNING: Drive %s doesn't appear in the database of supported drives\n" | ||
142 | -"WARNING: But using a common value, it reports something.\n" | ||
143 | -"WARNING: Note that the temperature shown could be wrong.\n" | ||
144 | -"WARNING: See --help, --debug and --drivebase options.\n" | ||
145 | -"WARNING: And don't forget you can add your drive to hddtemp.db\n" | ||
146 | -msgstr "" | ||
147 | -"ATTENTION : Le lecteur %s n'apparait pas dans la base de données des " | ||
148 | -"lecteurs supportés\n" | ||
149 | -"ATTENTION : Mais en utilisant une valeur courante, il renvoie quelque " | ||
150 | -"chose.\n" | ||
151 | -"ATTENTION : Notez que la température renvoyée peut être erronée.\n" | ||
152 | -"ATTENTION : Voir les options --help, --debug et --drivebase.\n" | ||
153 | -"ATTENTION : Et n'oubliez pas d'ajouter votre lecteur au fichier hddtemp.db\n" | ||
154 | - | ||
155 | -#: src/hddtemp.c:202 | ||
156 | +#: src/hddtemp.c:211 | ||
157 | #, c-format | ||
158 | msgid "%s: %s: %d%sC or %sF\n" | ||
159 | msgstr "%s: %s : %d%sC ou %sF\n" | ||
160 | |||
161 | -#: src/hddtemp.c:214 | ||
162 | +#: src/hddtemp.c:235 | ||
163 | #, c-format | ||
164 | msgid "%s: %s: drive is sleeping\n" | ||
165 | msgstr "%s: %s : le lecteur est en veille\n" | ||
166 | |||
167 | -#: src/hddtemp.c:217 | ||
168 | +#: src/hddtemp.c:242 | ||
169 | #, c-format | ||
170 | -msgid "%s: %s: known drive, but it doesn't have a temperature sensor.\n" | ||
171 | +msgid "%s: %s: drive supported, but it doesn't have a temperature sensor.\n" | ||
172 | msgstr "" | ||
173 | "%s: %s: lecteur connu, mais il ne possède pas de capteur de température.\n" | ||
174 | |||
175 | -#: src/hddtemp.c:220 | ||
176 | +#: src/hddtemp.c:246 | ||
177 | #, c-format | ||
178 | msgid "ERROR: %s: %s: unknown returned status\n" | ||
179 | msgstr "ERREUR : %s : %s : status inconnu\n" | ||
180 | |||
181 | -#: src/hddtemp.c:235 | ||
182 | +#: src/hddtemp.c:261 | ||
183 | #, c-format | ||
184 | msgid "" | ||
185 | "\n" | ||
186 | "If one of the field value seems to match the temperature, be sure to read\n" | ||
187 | -"the hddtemp man page before sending me a report (section REPORT). Thanks.\n" | ||
188 | +"the hddtemp man page before sending a report (section REPORT). Thanks.\n" | ||
189 | msgstr "" | ||
190 | |||
191 | -#: src/hddtemp.c:308 | ||
192 | +#: src/hddtemp.c:338 | ||
193 | #, c-format | ||
194 | msgid "ERROR: invalid separator.\n" | ||
195 | msgstr "ERREUR : séparateur invalide.\n" | ||
196 | |||
197 | -#: src/hddtemp.c:319 | ||
198 | +#: src/hddtemp.c:349 | ||
199 | #, c-format | ||
200 | msgid "ERROR: invalid port number.\n" | ||
201 | msgstr "ERREUR : numéro de port invalide.\n" | ||
202 | |||
203 | -#: src/hddtemp.c:329 | ||
204 | -#, fuzzy, c-format | ||
205 | +#: src/hddtemp.c:371 | ||
206 | +#, c-format | ||
207 | msgid "" | ||
208 | -" Usage: hddtemp [OPTIONS] DISK1 [DISK2]...\n" | ||
209 | +" Usage: hddtemp [OPTIONS] [TYPE:]DISK1 [[TYPE:]DISK2]...\n" | ||
210 | "\n" | ||
211 | " hddtemp displays the temperature of drives supplied in argument.\n" | ||
212 | " Drives must support S.M.A.R.T.\n" | ||
213 | "\n" | ||
214 | +" TYPE could be SATA, PATA or SCSI. If omitted hddtemp will try to guess.\n" | ||
215 | +"\n" | ||
216 | " -b --drivebase : display database file content that allow hddtemp to\n" | ||
217 | " recognize supported drives.\n" | ||
218 | " -D --debug : display various S.M.A.R.T. fields and their values.\n" | ||
219 | @@ -138,6 +107,7 @@ | ||
220 | " -d --daemon : run hddtemp in TCP/IP daemon mode (port %d by " | ||
221 | "default.)\n" | ||
222 | " -f --file=FILE : specify database file to use.\n" | ||
223 | +" -F --foreground : don't daemonize, stay in foreground.\n" | ||
224 | " -l --listen=addr : listen on a specific interface (in TCP/IP daemon " | ||
225 | "mode).\n" | ||
226 | " -n --numeric : print only the temperature.\n" | ||
227 | @@ -145,6 +115,8 @@ | ||
228 | " -s --separator=C : separator to use between fields (in TCP/IP daemon " | ||
229 | "mode).\n" | ||
230 | " -S --syslog=s : log temperature to syslog every s seconds.\n" | ||
231 | +" -u --unit=[C|F] : force output temperature either in Celsius or " | ||
232 | +"Fahrenheit.\n" | ||
233 | " -q --quiet : do not check if the drive is supported.\n" | ||
234 | " -v --version : display hddtemp version number.\n" | ||
235 | " -w --wake-up : wake-up the drive if need.\n" | ||
236 | @@ -153,11 +125,14 @@ | ||
237 | "\n" | ||
238 | "Report bugs or new drives to <hddtemp@guzu.net>.\n" | ||
239 | msgstr "" | ||
240 | -" Utilisation: hddtemp [OPTIONS] DISQUE1 [DISQUE2]...\n" | ||
241 | +" Utilisation: hddtemp [OPTIONS] [TYPE:]DISQUE1 [[TYPE:]DISQUE2]...\n" | ||
242 | "\n" | ||
243 | " hddtemp affiche la température des lecteurs passés en argument.\n" | ||
244 | " Les lecteurs doivent avoir le support S.M.A.R.T.\n" | ||
245 | "\n" | ||
246 | +" TYPE peut être SATA, PATA ou SCSI. Si le type est omis, hddtemp essaiera\n" | ||
247 | +" de le deviner.\n" | ||
248 | +"\n" | ||
249 | " -b --drivebase : affiche le contenu du fichier de base de donnée " | ||
250 | "qui \n" | ||
251 | " permet à hddtemp de reconnaître les lecteurs " | ||
252 | @@ -172,6 +147,7 @@ | ||
253 | "défaut).\n" | ||
254 | " -f --file=FILE : specifie le fichier à utiliser comme base de " | ||
255 | "données.\n" | ||
256 | +" -F --foreground : ne pas démoniser, rester au premier plan.\n" | ||
257 | " -l --listen=addr : écoute sur une interface spécifique (en mode démon " | ||
258 | "TCP/IP).\n" | ||
259 | " -n --numeric : affiche seulement la température.\n" | ||
260 | @@ -180,6 +156,8 @@ | ||
261 | "démon TCP/IP).\n" | ||
262 | " -S --syslog=s : enregistre la température dans syslog tous les s " | ||
263 | "secondes.\n" | ||
264 | +" -u --unit=[C|F] : affiche la température en degrés Celsius ou " | ||
265 | +"Fahrenheit.\n" | ||
266 | " -q --quiet : ne vérifie pas si le lecteur est supporté.\n" | ||
267 | " -v --version : affiche la version de hddtemp.\n" | ||
268 | " -w --wake-up : réveiller le lecteur si nécessaire.\n" | ||
269 | @@ -188,62 +166,95 @@ | ||
270 | "\n" | ||
271 | "Report bugs or new drives to <hddtemp@guzu.net>.\n" | ||
272 | |||
273 | -#: src/hddtemp.c:522 | ||
274 | +#: src/hddtemp.c:402 | ||
275 | #, c-format | ||
276 | msgid "hddtemp version %s\n" | ||
277 | msgstr "hddtemp version %s\n" | ||
278 | |||
279 | -#: src/hddtemp.c:547 | ||
280 | +#: src/hddtemp.c:418 | ||
281 | #, c-format | ||
282 | msgid "ERROR: invalid interval.\n" | ||
283 | msgstr "ERREUR : intervalle invalide.\n" | ||
284 | |||
285 | -#: src/hddtemp.c:547 | ||
286 | +#: src/hddtemp.c:438 | ||
287 | +#, c-format | ||
288 | msgid "Too few arguments: you must specify one drive, at least.\n" | ||
289 | msgstr "Trop peu d'arguments : vous devez spécifier au moins un lecteur.\n" | ||
290 | |||
291 | -#: src/hddtemp.c:557 | ||
292 | +#: src/hddtemp.c:448 | ||
293 | +#, c-format | ||
294 | msgid "ERROR: can't use --debug and --daemon or --syslog options together.\n" | ||
295 | msgstr "" | ||
296 | "ERREUR: impossible d'utiliser les options --debug et --daemon ou --syslog en " | ||
297 | "même temps.\n" | ||
298 | |||
299 | -#: src/hddtemp.c:583 | ||
300 | +#: src/hddtemp.c:505 | ||
301 | #, c-format | ||
302 | msgid "ERROR: %s: can't determine bus type (or this bus type is unknown)\n" | ||
303 | msgstr "" | ||
304 | "ERREUR: %s: impossible de déterminer le type de bus (ou ce type de bus est " | ||
305 | "inconnu)\n" | ||
306 | |||
307 | -#: src/ata.c:66 src/scsi.c:68 | ||
308 | +#: src/ata.c:66 src/scsi.c:64 | ||
309 | msgid "unknown" | ||
310 | msgstr "inconnu" | ||
311 | |||
312 | -#: src/ata.c:98 | ||
313 | +#: src/ata.c:85 src/ata.c:104 src/scsi.c:91 | ||
314 | #, c-format | ||
315 | -msgid "field(%d)\t = %d\n" | ||
316 | -msgstr "champ(%d)\t = %d\n" | ||
317 | - | ||
318 | -#: src/ata.c:167 | ||
319 | msgid "S.M.A.R.T. not available" | ||
320 | msgstr "S.M.A.R.T. non disponible" | ||
321 | |||
322 | -#: src/db.c:180 | ||
323 | +#: src/db.c:115 | ||
324 | +#, c-format | ||
325 | +msgid "" | ||
326 | +"\n" | ||
327 | +"Regexp%s| Value | Description\n" | ||
328 | +"------%s---------------------\n" | ||
329 | +msgstr "" | ||
330 | +"\n" | ||
331 | +"Regexp%s| Valeur | Description\n" | ||
332 | +"------%s----------------------\n" | ||
333 | + | ||
334 | +#: src/db.c:121 | ||
335 | +#, c-format | ||
336 | +msgid "%s%s| %5d | %s\n" | ||
337 | +msgstr "%s%s| %5d | %s\n" | ||
338 | + | ||
339 | +#: src/db.c:236 | ||
340 | #, c-format | ||
341 | msgid "hddtemp: can't open %1$s: %2$s\n" | ||
342 | msgstr "hddtemp: ne peut ouvrir %1$s: %2$s\n" | ||
343 | |||
344 | -#: src/db.c:194 | ||
345 | +#: src/db.c:250 | ||
346 | #, c-format | ||
347 | msgid "ERROR: syntax error at line %1$d in %2$s\n" | ||
348 | msgstr "ERREUR: erreur de syntaxe à la ligne %1$d: %2$s\n" | ||
349 | |||
350 | -#: src/db.c:201 | ||
351 | +#: src/db.c:257 | ||
352 | #, c-format | ||
353 | msgid " ERROR: line exceed %1$d characters in %2$s.\n" | ||
354 | msgstr " ERREUR: ligne exécdant %1$d caractères dans %2$s.\n" | ||
355 | |||
356 | -#: src/scsi.c:112 src/scsi.c:130 | ||
357 | +#: src/scsi.c:111 src/scsi.c:129 | ||
358 | #, c-format | ||
359 | msgid "log sense failed : %s" | ||
360 | msgstr "echec de 'log sense' : %s " | ||
361 | + | ||
362 | +#~ msgid "" | ||
363 | +#~ "WARNING: Drive %s doesn't appear in the database of supported drives\n" | ||
364 | +#~ "WARNING: But using a common value, it reports something.\n" | ||
365 | +#~ "WARNING: Note that the temperature shown could be wrong.\n" | ||
366 | +#~ "WARNING: See --help, --debug and --drivebase options.\n" | ||
367 | +#~ "WARNING: And don't forget you can add your drive to hddtemp.db\n" | ||
368 | +#~ msgstr "" | ||
369 | +#~ "ATTENTION : Le lecteur %s n'apparait pas dans la base de données des " | ||
370 | +#~ "lecteurs supportés\n" | ||
371 | +#~ "ATTENTION : Mais en utilisant une valeur courante, il renvoie quelque " | ||
372 | +#~ "chose.\n" | ||
373 | +#~ "ATTENTION : Notez que la température renvoyée peut être erronée.\n" | ||
374 | +#~ "ATTENTION : Voir les options --help, --debug et --drivebase.\n" | ||
375 | +#~ "ATTENTION : Et n'oubliez pas d'ajouter votre lecteur au fichier hddtemp." | ||
376 | +#~ "db\n" | ||
377 | + | ||
378 | +#~ msgid "field(%d)\t = %d\n" | ||
379 | +#~ msgstr "champ(%d)\t = %d\n" | ||
380 | --- hddtemp-0.3-beta15.orig/po/ru.po | ||
381 | +++ hddtemp-0.3-beta15/po/ru.po | ||
382 | @@ -6,8 +6,8 @@ | ||
383 | msgid "" | ||
384 | msgstr "" | ||
385 | "Project-Id-Version: hddtemp 0.3-beta3\n" | ||
386 | -"Report-Msgid-Bugs-To: hddtemp@guzu.net\n" | ||
387 | -"POT-Creation-Date: 2005-02-25 22:43+0100\n" | ||
388 | +"Report-Msgid-Bugs-To: \n" | ||
389 | +"POT-Creation-Date: 2006-06-29 16:24+0200\n" | ||
390 | "PO-Revision-Date: 2003-03-08 16:42+0300\n" | ||
391 | "Last-Translator: Michael Shigorin <mike@altlinux.ru>\n" | ||
392 | "Language-Team: Russian <ru@li.org>\n" | ||
393 | @@ -15,23 +15,7 @@ | ||
394 | "Content-Type: text/plain; charset=koi8-r\n" | ||
395 | "Content-Transfer-Encoding: 8bit\n" | ||
396 | |||
397 | -#: src/hddtemp.c:112 | ||
398 | -#, c-format | ||
399 | -msgid "" | ||
400 | -"\n" | ||
401 | -"Regexp%s| Value | Description\n" | ||
402 | -"------%s---------------------\n" | ||
403 | -msgstr "" | ||
404 | -"\n" | ||
405 | -"òÅÇÜËÓ%s| úÎÁÞ. | ïÐÉÓÁÎÉÅ \n" | ||
406 | -"------%s---------------------\n" | ||
407 | - | ||
408 | -#: src/hddtemp.c:118 | ||
409 | -#, c-format | ||
410 | -msgid "%s%s| %5d | %s\n" | ||
411 | -msgstr "" | ||
412 | - | ||
413 | -#: src/hddtemp.c:161 | ||
414 | +#: src/hddtemp.c:156 | ||
415 | #, c-format | ||
416 | msgid "" | ||
417 | "\n" | ||
418 | @@ -40,7 +24,7 @@ | ||
419 | "\n" | ||
420 | msgstr "" | ||
421 | |||
422 | -#: src/hddtemp.c:188 | ||
423 | +#: src/hddtemp.c:189 | ||
424 | #, c-format | ||
425 | msgid "" | ||
426 | "WARNING: Drive %s doesn't seem to have a temperature sensor.\n" | ||
427 | @@ -53,72 +37,59 @@ | ||
428 | "÷îéíáîéå: åÓÌÉ ×Ù ÔÏÞÎÏ ÚÎÁÅÔÅ, ÞÔÏ ÄÁÔÞÉË ÅÓÔØ, ÎÁÐÉÛÉÔÅ hddtemp@guzu.net\n" | ||
429 | "÷îéíáîéå: (ÓÍ. ÏÐÃÉÉ --help, --debug É --drivebase).\n" | ||
430 | |||
431 | -#: src/hddtemp.c:192 | ||
432 | +#: src/hddtemp.c:197 | ||
433 | #, c-format | ||
434 | msgid "%s: %s: no sensor\n" | ||
435 | msgstr "%s: %s: ÎÅÔ ÄÁÔÞÉËÁ\n" | ||
436 | |||
437 | -#: src/hddtemp.c:197 | ||
438 | -#, c-format | ||
439 | -msgid "" | ||
440 | -"WARNING: Drive %s doesn't appear in the database of supported drives\n" | ||
441 | -"WARNING: But using a common value, it reports something.\n" | ||
442 | -"WARNING: Note that the temperature shown could be wrong.\n" | ||
443 | -"WARNING: See --help, --debug and --drivebase options.\n" | ||
444 | -"WARNING: And don't forget you can add your drive to hddtemp.db\n" | ||
445 | -msgstr "" | ||
446 | -"÷îéíáîéå: äÉÓË %s ÎÅ ×ËÌÀÞÅÎ × ÂÁÚÕ ÄÁÎÎÙÈ ÐÏÄÄÅÒÖÉ×ÁÅÍÙÈ ÐÒÉ×ÏÄÏ×.\n" | ||
447 | -"÷îéíáîéå: îÏ Ó ÉÓÐÏÌØÚÏ×ÁÎÉÅÍ ÒÁÓÐÒÏÓÔÒÁÎÅÎÎÙÈ ÐÁÒÁÍÅÔÒÏ× ÏÎ ÞÔÏ-ÔÏ ×ÙÄÁÅÔ.\n" | ||
448 | -"÷îéíáîéå: úÁÍÅÔØÔÅ, ÞÔÏ ÐÏËÁÚÁÎÎÁÑ ÔÅÍÐÅÒÁÔÕÒÁ ÍÏÖÅÔ ÔÁËÏ×ÏÊ ÎÅ Ñ×ÌÑÔØÓÑ.\n" | ||
449 | -"÷îéíáîéå: óÍ. ÏÐÃÉÉ --help, --debug É --drivebase.\n" | ||
450 | -"÷îéíáîéå: é ÎÅ ÚÁÂÕÄØÔÅ, ÞÔÏ ÍÏÖÎÏ ÄÏÂÁ×ÉÔØ ÐÒÉ×ÏÄ × hddtemp.db\n" | ||
451 | - | ||
452 | -#: src/hddtemp.c:202 | ||
453 | +#: src/hddtemp.c:211 | ||
454 | #, c-format | ||
455 | msgid "%s: %s: %d%sC or %sF\n" | ||
456 | msgstr "%s: %s: %d%sC ÉÌÉ %sF\n" | ||
457 | |||
458 | -#: src/hddtemp.c:214 | ||
459 | +#: src/hddtemp.c:235 | ||
460 | #, c-format | ||
461 | msgid "%s: %s: drive is sleeping\n" | ||
462 | msgstr "%s: %s: ÎÅÔ ÄÁÔÞÉËÁ\n" | ||
463 | |||
464 | -#: src/hddtemp.c:217 | ||
465 | -#, c-format | ||
466 | -msgid "%s: %s: known drive, but it doesn't have a temperature sensor.\n" | ||
467 | +#: src/hddtemp.c:242 | ||
468 | +#, fuzzy, c-format | ||
469 | +msgid "%s: %s: drive supported, but it doesn't have a temperature sensor.\n" | ||
470 | msgstr "%s: %s: ÉÚ×ÅÓÔÎÙÊ ÄÉÓË, ÎÅ ÓÏÄÅÒÖÁÝÉÊ ÄÁÔÞÉËÁ ÔÅÍÐÅÒÁÔÕÒÙ.\n" | ||
471 | |||
472 | -#: src/hddtemp.c:220 | ||
473 | +#: src/hddtemp.c:246 | ||
474 | #, c-format | ||
475 | msgid "ERROR: %s: %s: unknown returned status\n" | ||
476 | msgstr "ïûéâëá: %s: %s: ÎÅÉÚ×ÅÓÔÎÙÊ ÓÔÁÔÕÓ ×ÏÚ×ÒÁÔÁ\n" | ||
477 | |||
478 | -#: src/hddtemp.c:235 | ||
479 | +#: src/hddtemp.c:261 | ||
480 | #, c-format | ||
481 | msgid "" | ||
482 | "\n" | ||
483 | "If one of the field value seems to match the temperature, be sure to read\n" | ||
484 | -"the hddtemp man page before sending me a report (section REPORT). Thanks.\n" | ||
485 | +"the hddtemp man page before sending a report (section REPORT). Thanks.\n" | ||
486 | msgstr "" | ||
487 | |||
488 | -#: src/hddtemp.c:308 | ||
489 | +#: src/hddtemp.c:338 | ||
490 | #, c-format | ||
491 | msgid "ERROR: invalid separator.\n" | ||
492 | msgstr "ïûéâëá: ÎÅ×ÅÒÎÙÊ ÒÁÚÄÅÌÉÔÅÌØ.\n" | ||
493 | |||
494 | -#: src/hddtemp.c:319 | ||
495 | +#: src/hddtemp.c:349 | ||
496 | #, c-format | ||
497 | msgid "ERROR: invalid port number.\n" | ||
498 | msgstr "ïýéâëá: ÎÅ×ÅÒÎÙÊ ÎÏÍÅÒ ÐÏÒÔÁ.\n" | ||
499 | |||
500 | -#: src/hddtemp.c:329 | ||
501 | +#: src/hddtemp.c:371 | ||
502 | #, fuzzy, c-format | ||
503 | msgid "" | ||
504 | -" Usage: hddtemp [OPTIONS] DISK1 [DISK2]...\n" | ||
505 | +" Usage: hddtemp [OPTIONS] [TYPE:]DISK1 [[TYPE:]DISK2]...\n" | ||
506 | "\n" | ||
507 | " hddtemp displays the temperature of drives supplied in argument.\n" | ||
508 | " Drives must support S.M.A.R.T.\n" | ||
509 | "\n" | ||
510 | +" TYPE could be SATA, PATA or SCSI. If omitted hddtemp will try to guess.\n" | ||
511 | +"\n" | ||
512 | " -b --drivebase : display database file content that allow hddtemp to\n" | ||
513 | " recognize supported drives.\n" | ||
514 | " -D --debug : display various S.M.A.R.T. fields and their values.\n" | ||
515 | @@ -128,6 +99,7 @@ | ||
516 | " -d --daemon : run hddtemp in TCP/IP daemon mode (port %d by " | ||
517 | "default.)\n" | ||
518 | " -f --file=FILE : specify database file to use.\n" | ||
519 | +" -F --foreground : don't daemonize, stay in foreground.\n" | ||
520 | " -l --listen=addr : listen on a specific interface (in TCP/IP daemon " | ||
521 | "mode).\n" | ||
522 | " -n --numeric : print only the temperature.\n" | ||
523 | @@ -135,6 +107,8 @@ | ||
524 | " -s --separator=C : separator to use between fields (in TCP/IP daemon " | ||
525 | "mode).\n" | ||
526 | " -S --syslog=s : log temperature to syslog every s seconds.\n" | ||
527 | +" -u --unit=[C|F] : force output temperature either in Celsius or " | ||
528 | +"Fahrenheit.\n" | ||
529 | " -q --quiet : do not check if the drive is supported.\n" | ||
530 | " -v --version : display hddtemp version number.\n" | ||
531 | " -w --wake-up : wake-up the drive if need.\n" | ||
532 | @@ -168,59 +142,90 @@ | ||
533 | "\n" | ||
534 | "óÏÏÂÝÅÎÉÑ Ï ÏÛÉÂËÁÈ É ÄÁÎÎÙÅ ÄÌÑ ÄÉÓËÏ× ÏÔÐÒÁ×ÌÑÊÔÅ ÎÁ <hddtemp@guzu.net>.\n" | ||
535 | |||
536 | -#: src/hddtemp.c:522 | ||
537 | +#: src/hddtemp.c:402 | ||
538 | #, c-format | ||
539 | msgid "hddtemp version %s\n" | ||
540 | msgstr "÷ÅÒÓÉÑ hddtemp: %s\n" | ||
541 | |||
542 | -#: src/hddtemp.c:547 | ||
543 | +#: src/hddtemp.c:418 | ||
544 | #, fuzzy, c-format | ||
545 | msgid "ERROR: invalid interval.\n" | ||
546 | msgstr "ïûéâëá: ÎÅ×ÅÒÎÙÊ ÒÁÚÄÅÌÉÔÅÌØ.\n" | ||
547 | |||
548 | -#: src/hddtemp.c:547 | ||
549 | +#: src/hddtemp.c:438 | ||
550 | +#, c-format | ||
551 | msgid "Too few arguments: you must specify one drive, at least.\n" | ||
552 | msgstr "" | ||
553 | |||
554 | -#: src/hddtemp.c:557 | ||
555 | -#, fuzzy | ||
556 | +#: src/hddtemp.c:448 | ||
557 | +#, fuzzy, c-format | ||
558 | msgid "ERROR: can't use --debug and --daemon or --syslog options together.\n" | ||
559 | msgstr "ïûéâëá: ÏÄÎÏ×ÒÅÍÅÎÎÏÅ ÉÓÐÏÌØÚÏ×ÁÎÉÅ --debug É --daemon ÎÅÄÏÐÕÓÔÉÍÏ.\n" | ||
560 | |||
561 | -#: src/hddtemp.c:583 | ||
562 | +#: src/hddtemp.c:505 | ||
563 | #, c-format | ||
564 | msgid "ERROR: %s: can't determine bus type (or this bus type is unknown)\n" | ||
565 | msgstr "ïûéâëá: %s: ÎÅ×ÏÚÍÏÖÎÏ ÏÐÒÅÄÅÌÉÔØ ÔÉÐ ÛÉÎÙ\n" | ||
566 | |||
567 | -#: src/ata.c:66 src/scsi.c:68 | ||
568 | +#: src/ata.c:66 src/scsi.c:64 | ||
569 | msgid "unknown" | ||
570 | msgstr "ÎÅÉÚ×." | ||
571 | |||
572 | -#: src/ata.c:98 | ||
573 | +#: src/ata.c:85 src/ata.c:104 src/scsi.c:91 | ||
574 | #, c-format | ||
575 | -msgid "field(%d)\t = %d\n" | ||
576 | -msgstr "ÐÏÌÅ(%d)\t = %d\n" | ||
577 | - | ||
578 | -#: src/ata.c:167 | ||
579 | msgid "S.M.A.R.T. not available" | ||
580 | msgstr "S.M.A.R.T. ÎÅÄÏÓÔÕÐÅÎ" | ||
581 | |||
582 | -#: src/db.c:180 | ||
583 | +#: src/db.c:115 | ||
584 | +#, c-format | ||
585 | +msgid "" | ||
586 | +"\n" | ||
587 | +"Regexp%s| Value | Description\n" | ||
588 | +"------%s---------------------\n" | ||
589 | +msgstr "" | ||
590 | +"\n" | ||
591 | +"òÅÇÜËÓ%s| úÎÁÞ. | ïÐÉÓÁÎÉÅ \n" | ||
592 | +"------%s---------------------\n" | ||
593 | + | ||
594 | +#: src/db.c:121 | ||
595 | +#, c-format | ||
596 | +msgid "%s%s| %5d | %s\n" | ||
597 | +msgstr "" | ||
598 | + | ||
599 | +#: src/db.c:236 | ||
600 | #, c-format | ||
601 | msgid "hddtemp: can't open %1$s: %2$s\n" | ||
602 | msgstr "hddtemp: ÎÅ ÍÏÇÕ ÏÔËÒÙÔØ %1$s: %2$s\n" | ||
603 | |||
604 | -#: src/db.c:194 | ||
605 | +#: src/db.c:250 | ||
606 | #, c-format | ||
607 | msgid "ERROR: syntax error at line %1$d in %2$s\n" | ||
608 | msgstr "óÉÎÔÁËÓÉÞÅÓËÁÑ ïûéâëá × ÓÔÒÏËÅ %1$d ÆÁÊÌÁ %2$s\n" | ||
609 | |||
610 | -#: src/db.c:201 | ||
611 | +#: src/db.c:257 | ||
612 | #, c-format | ||
613 | msgid " ERROR: line exceed %1$d characters in %2$s.\n" | ||
614 | msgstr "ïûéâëá: ÓÔÒÏËÁ ÄÌÉÎÎÅÅ %1$d ÓÉÍ×ÏÌÏ× × %2$s.\n" | ||
615 | |||
616 | -#: src/scsi.c:112 src/scsi.c:130 | ||
617 | +#: src/scsi.c:111 src/scsi.c:129 | ||
618 | #, c-format | ||
619 | msgid "log sense failed : %s" | ||
620 | msgstr "" | ||
621 | + | ||
622 | +#~ msgid "" | ||
623 | +#~ "WARNING: Drive %s doesn't appear in the database of supported drives\n" | ||
624 | +#~ "WARNING: But using a common value, it reports something.\n" | ||
625 | +#~ "WARNING: Note that the temperature shown could be wrong.\n" | ||
626 | +#~ "WARNING: See --help, --debug and --drivebase options.\n" | ||
627 | +#~ "WARNING: And don't forget you can add your drive to hddtemp.db\n" | ||
628 | +#~ msgstr "" | ||
629 | +#~ "÷îéíáîéå: äÉÓË %s ÎÅ ×ËÌÀÞÅÎ × ÂÁÚÕ ÄÁÎÎÙÈ ÐÏÄÄÅÒÖÉ×ÁÅÍÙÈ ÐÒÉ×ÏÄÏ×.\n" | ||
630 | +#~ "÷îéíáîéå: îÏ Ó ÉÓÐÏÌØÚÏ×ÁÎÉÅÍ ÒÁÓÐÒÏÓÔÒÁÎÅÎÎÙÈ ÐÁÒÁÍÅÔÒÏ× ÏÎ ÞÔÏ-ÔÏ " | ||
631 | +#~ "×ÙÄÁÅÔ.\n" | ||
632 | +#~ "÷îéíáîéå: úÁÍÅÔØÔÅ, ÞÔÏ ÐÏËÁÚÁÎÎÁÑ ÔÅÍÐÅÒÁÔÕÒÁ ÍÏÖÅÔ ÔÁËÏ×ÏÊ ÎÅ " | ||
633 | +#~ "Ñ×ÌÑÔØÓÑ.\n" | ||
634 | +#~ "÷îéíáîéå: óÍ. ÏÐÃÉÉ --help, --debug É --drivebase.\n" | ||
635 | +#~ "÷îéíáîéå: é ÎÅ ÚÁÂÕÄØÔÅ, ÞÔÏ ÍÏÖÎÏ ÄÏÂÁ×ÉÔØ ÐÒÉ×ÏÄ × hddtemp.db\n" | ||
636 | + | ||
637 | +#~ msgid "field(%d)\t = %d\n" | ||
638 | +#~ msgstr "ÐÏÌÅ(%d)\t = %d\n" | ||
639 | --- hddtemp-0.3-beta15.orig/po/sv.po | ||
640 | +++ hddtemp-0.3-beta15/po/sv.po | ||
641 | @@ -6,8 +6,8 @@ | ||
642 | msgid "" | ||
643 | msgstr "" | ||
644 | "Project-Id-Version: hddtemp 0.3-beta14-4\n" | ||
645 | -"Report-Msgid-Bugs-To: hddtemp@guzu.net\n" | ||
646 | -"POT-Creation-Date: 2005-02-25 22:43+0100\n" | ||
647 | +"Report-Msgid-Bugs-To: \n" | ||
648 | +"POT-Creation-Date: 2006-06-29 16:24+0200\n" | ||
649 | "PO-Revision-Date: 2005-11-02 19:03+0100\n" | ||
650 | "Last-Translator: Daniel Nylander <po@danielnylander.se>\n" | ||
651 | "Language-Team: Swedish <sv@li.org>\n" | ||
652 | @@ -17,23 +17,7 @@ | ||
653 | "X-Poedit-Language: swe\n" | ||
654 | "X-Poedit-Country: swe\n" | ||
655 | |||
656 | -#: src/hddtemp.c:112 | ||
657 | -#, c-format | ||
658 | -msgid "" | ||
659 | -"\n" | ||
660 | -"Regexp%s| Value | Description\n" | ||
661 | -"------%s---------------------\n" | ||
662 | -msgstr "" | ||
663 | -"\n" | ||
664 | -"Regexp%s| Värde | Beskrivning\n" | ||
665 | -"------%s---------------------\n" | ||
666 | - | ||
667 | -#: src/hddtemp.c:118 | ||
668 | -#, c-format | ||
669 | -msgid "%s%s| %5d | %s\n" | ||
670 | -msgstr "%s%s| %5d | %s\n" | ||
671 | - | ||
672 | -#: src/hddtemp.c:161 | ||
673 | +#: src/hddtemp.c:156 | ||
674 | #, c-format | ||
675 | msgid "" | ||
676 | "\n" | ||
677 | @@ -46,7 +30,7 @@ | ||
678 | "Modell: %s\n" | ||
679 | "\n" | ||
680 | |||
681 | -#: src/hddtemp.c:188 | ||
682 | +#: src/hddtemp.c:189 | ||
683 | #, c-format | ||
684 | msgid "" | ||
685 | "WARNING: Drive %s doesn't seem to have a temperature sensor.\n" | ||
686 | @@ -60,76 +44,63 @@ | ||
687 | "net).\n" | ||
688 | "VARNING: Se --help, --debug och --drivebase flaggorna.\n" | ||
689 | |||
690 | -#: src/hddtemp.c:192 | ||
691 | +#: src/hddtemp.c:197 | ||
692 | #, c-format | ||
693 | msgid "%s: %s: no sensor\n" | ||
694 | msgstr "%s: %s: ingen sensor\n" | ||
695 | |||
696 | -#: src/hddtemp.c:197 | ||
697 | -#, c-format | ||
698 | -msgid "" | ||
699 | -"WARNING: Drive %s doesn't appear in the database of supported drives\n" | ||
700 | -"WARNING: But using a common value, it reports something.\n" | ||
701 | -"WARNING: Note that the temperature shown could be wrong.\n" | ||
702 | -"WARNING: See --help, --debug and --drivebase options.\n" | ||
703 | -"WARNING: And don't forget you can add your drive to hddtemp.db\n" | ||
704 | -msgstr "" | ||
705 | -"VARNING: Disken %s verkar inte finnas i databasen över diskar som stöds\n" | ||
706 | -"VARNING: Men använder man ett vanligt värde rapporterar den något.\n" | ||
707 | -"VARNING: Notera att temperaturen som visas kan vara felaktig.\n" | ||
708 | -"VARNING: Se --help, --debug och --drivebase flaggorna.\n" | ||
709 | -"VARNING: Och glöm inte att du kan lägga till din disk till hddtemp.db\n" | ||
710 | - | ||
711 | -#: src/hddtemp.c:202 | ||
712 | +#: src/hddtemp.c:211 | ||
713 | #, c-format | ||
714 | msgid "%s: %s: %d%sC or %sF\n" | ||
715 | msgstr "%s: %s: %d%sC eller %sF\n" | ||
716 | |||
717 | -#: src/hddtemp.c:214 | ||
718 | +#: src/hddtemp.c:235 | ||
719 | #, c-format | ||
720 | msgid "%s: %s: drive is sleeping\n" | ||
721 | msgstr "%s: %s: disken sover\n" | ||
722 | |||
723 | -#: src/hddtemp.c:217 | ||
724 | -#, c-format | ||
725 | -msgid "%s: %s: known drive, but it doesn't have a temperature sensor.\n" | ||
726 | +#: src/hddtemp.c:242 | ||
727 | +#, fuzzy, c-format | ||
728 | +msgid "%s: %s: drive supported, but it doesn't have a temperature sensor.\n" | ||
729 | msgstr "%s: %s: känd disk men den har ingen temperatursensor.\n" | ||
730 | |||
731 | -#: src/hddtemp.c:220 | ||
732 | +#: src/hddtemp.c:246 | ||
733 | #, c-format | ||
734 | msgid "ERROR: %s: %s: unknown returned status\n" | ||
735 | msgstr "FEL: %s: %s: okänd returnerad status\n" | ||
736 | |||
737 | -#: src/hddtemp.c:235 | ||
738 | -#, c-format | ||
739 | +#: src/hddtemp.c:261 | ||
740 | +#, fuzzy, c-format | ||
741 | msgid "" | ||
742 | "\n" | ||
743 | "If one of the field value seems to match the temperature, be sure to read\n" | ||
744 | -"the hddtemp man page before sending me a report (section REPORT). Thanks.\n" | ||
745 | +"the hddtemp man page before sending a report (section REPORT). Thanks.\n" | ||
746 | msgstr "" | ||
747 | "\n" | ||
748 | "Om ett av fältvärdena verkar matcha temperaturen, var säker på att du\n" | ||
749 | "läst manualsidan för hddtemp före du skickar en rapport till mig (sektionen\n" | ||
750 | "REPORT). Tack.\n" | ||
751 | |||
752 | -#: src/hddtemp.c:308 | ||
753 | +#: src/hddtemp.c:338 | ||
754 | #, c-format | ||
755 | msgid "ERROR: invalid separator.\n" | ||
756 | msgstr "FEL: ogiltig separator.\n" | ||
757 | |||
758 | -#: src/hddtemp.c:319 | ||
759 | +#: src/hddtemp.c:349 | ||
760 | #, c-format | ||
761 | msgid "ERROR: invalid port number.\n" | ||
762 | msgstr "FEL: ogiltigt portnummer.\n" | ||
763 | |||
764 | -#: src/hddtemp.c:329 | ||
765 | -#, c-format | ||
766 | +#: src/hddtemp.c:371 | ||
767 | +#, fuzzy, c-format | ||
768 | msgid "" | ||
769 | -" Usage: hddtemp [OPTIONS] DISK1 [DISK2]...\n" | ||
770 | +" Usage: hddtemp [OPTIONS] [TYPE:]DISK1 [[TYPE:]DISK2]...\n" | ||
771 | "\n" | ||
772 | " hddtemp displays the temperature of drives supplied in argument.\n" | ||
773 | " Drives must support S.M.A.R.T.\n" | ||
774 | "\n" | ||
775 | +" TYPE could be SATA, PATA or SCSI. If omitted hddtemp will try to guess.\n" | ||
776 | +"\n" | ||
777 | " -b --drivebase : display database file content that allow hddtemp to\n" | ||
778 | " recognize supported drives.\n" | ||
779 | " -D --debug : display various S.M.A.R.T. fields and their values.\n" | ||
780 | @@ -139,6 +110,7 @@ | ||
781 | " -d --daemon : run hddtemp in TCP/IP daemon mode (port %d by " | ||
782 | "default.)\n" | ||
783 | " -f --file=FILE : specify database file to use.\n" | ||
784 | +" -F --foreground : don't daemonize, stay in foreground.\n" | ||
785 | " -l --listen=addr : listen on a specific interface (in TCP/IP daemon " | ||
786 | "mode).\n" | ||
787 | " -n --numeric : print only the temperature.\n" | ||
788 | @@ -146,6 +118,8 @@ | ||
789 | " -s --separator=C : separator to use between fields (in TCP/IP daemon " | ||
790 | "mode).\n" | ||
791 | " -S --syslog=s : log temperature to syslog every s seconds.\n" | ||
792 | +" -u --unit=[C|F] : force output temperature either in Celsius or " | ||
793 | +"Fahrenheit.\n" | ||
794 | " -q --quiet : do not check if the drive is supported.\n" | ||
795 | " -v --version : display hddtemp version number.\n" | ||
796 | " -w --wake-up : wake-up the drive if need.\n" | ||
797 | @@ -184,61 +158,91 @@ | ||
798 | "\n" | ||
799 | "Rapportera buggar eller nya hårddiskar till <hddtemp@guzu.net>.\n" | ||
800 | |||
801 | -#: src/hddtemp.c:522 | ||
802 | +#: src/hddtemp.c:402 | ||
803 | #, c-format | ||
804 | msgid "hddtemp version %s\n" | ||
805 | msgstr "hddtemp version %s\n" | ||
806 | |||
807 | -#: src/hddtemp.c:547 | ||
808 | +#: src/hddtemp.c:418 | ||
809 | #, c-format | ||
810 | msgid "ERROR: invalid interval.\n" | ||
811 | msgstr "FEL: ogiltigt intervall.\n" | ||
812 | |||
813 | -#: src/hddtemp.c:547 | ||
814 | +#: src/hddtemp.c:438 | ||
815 | +#, c-format | ||
816 | msgid "Too few arguments: you must specify one drive, at least.\n" | ||
817 | msgstr "För få argument: du måste specificera åtminstone en disk.\n" | ||
818 | |||
819 | -#: src/hddtemp.c:557 | ||
820 | +#: src/hddtemp.c:448 | ||
821 | +#, c-format | ||
822 | msgid "ERROR: can't use --debug and --daemon or --syslog options together.\n" | ||
823 | msgstr "" | ||
824 | "FEL: kan inte använda --debug och --daemon eller --syslog flaggorna " | ||
825 | "tillsammans.\n" | ||
826 | |||
827 | -#: src/hddtemp.c:583 | ||
828 | +#: src/hddtemp.c:505 | ||
829 | #, c-format | ||
830 | msgid "ERROR: %s: can't determine bus type (or this bus type is unknown)\n" | ||
831 | msgstr "" | ||
832 | "FEL: %s: kan inte fastställa busstyp (eller så är denna busstyp okänd)\n" | ||
833 | |||
834 | -#: src/ata.c:66 src/scsi.c:68 | ||
835 | +#: src/ata.c:66 src/scsi.c:64 | ||
836 | msgid "unknown" | ||
837 | msgstr "okänd" | ||
838 | |||
839 | -#: src/ata.c:98 | ||
840 | +#: src/ata.c:85 src/ata.c:104 src/scsi.c:91 | ||
841 | #, c-format | ||
842 | -msgid "field(%d)\t = %d\n" | ||
843 | -msgstr "fält(%d)\t = %d\n" | ||
844 | - | ||
845 | -#: src/ata.c:167 | ||
846 | msgid "S.M.A.R.T. not available" | ||
847 | msgstr "S.M.A.R.T. är inte tillgänglig" | ||
848 | |||
849 | -#: src/db.c:180 | ||
850 | +#: src/db.c:115 | ||
851 | +#, c-format | ||
852 | +msgid "" | ||
853 | +"\n" | ||
854 | +"Regexp%s| Value | Description\n" | ||
855 | +"------%s---------------------\n" | ||
856 | +msgstr "" | ||
857 | +"\n" | ||
858 | +"Regexp%s| Värde | Beskrivning\n" | ||
859 | +"------%s---------------------\n" | ||
860 | + | ||
861 | +#: src/db.c:121 | ||
862 | +#, c-format | ||
863 | +msgid "%s%s| %5d | %s\n" | ||
864 | +msgstr "%s%s| %5d | %s\n" | ||
865 | + | ||
866 | +#: src/db.c:236 | ||
867 | #, c-format | ||
868 | msgid "hddtemp: can't open %1$s: %2$s\n" | ||
869 | msgstr "hddtemp: kan inte öppna %1$s: %2$s\n" | ||
870 | |||
871 | -#: src/db.c:194 | ||
872 | +#: src/db.c:250 | ||
873 | #, c-format | ||
874 | msgid "ERROR: syntax error at line %1$d in %2$s\n" | ||
875 | msgstr "FEL: syntaxfel på rad %1$d i %2$s\n" | ||
876 | |||
877 | -#: src/db.c:201 | ||
878 | +#: src/db.c:257 | ||
879 | #, c-format | ||
880 | msgid " ERROR: line exceed %1$d characters in %2$s.\n" | ||
881 | msgstr " FEL: raden överstiger %1$d tecken i %2$s.\n" | ||
882 | |||
883 | -#: src/scsi.c:112 src/scsi.c:130 | ||
884 | +#: src/scsi.c:111 src/scsi.c:129 | ||
885 | #, c-format | ||
886 | msgid "log sense failed : %s" | ||
887 | msgstr "igenkänning av logg misslyckades : %s" | ||
888 | + | ||
889 | +#~ msgid "" | ||
890 | +#~ "WARNING: Drive %s doesn't appear in the database of supported drives\n" | ||
891 | +#~ "WARNING: But using a common value, it reports something.\n" | ||
892 | +#~ "WARNING: Note that the temperature shown could be wrong.\n" | ||
893 | +#~ "WARNING: See --help, --debug and --drivebase options.\n" | ||
894 | +#~ "WARNING: And don't forget you can add your drive to hddtemp.db\n" | ||
895 | +#~ msgstr "" | ||
896 | +#~ "VARNING: Disken %s verkar inte finnas i databasen över diskar som stöds\n" | ||
897 | +#~ "VARNING: Men använder man ett vanligt värde rapporterar den något.\n" | ||
898 | +#~ "VARNING: Notera att temperaturen som visas kan vara felaktig.\n" | ||
899 | +#~ "VARNING: Se --help, --debug och --drivebase flaggorna.\n" | ||
900 | +#~ "VARNING: Och glöm inte att du kan lägga till din disk till hddtemp.db\n" | ||
901 | + | ||
902 | +#~ msgid "field(%d)\t = %d\n" | ||
903 | +#~ msgstr "fält(%d)\t = %d\n" | ||
904 | --- hddtemp-0.3-beta15.orig/po/pt.po | ||
905 | +++ hddtemp-0.3-beta15/po/pt.po | ||
906 | @@ -7,7 +7,7 @@ | ||
907 | msgstr "" | ||
908 | "Project-Id-Version: hddtemp 0.3-beta14\n" | ||
909 | "Report-Msgid-Bugs-To: \n" | ||
910 | -"POT-Creation-Date: 2005-02-25 22:43+0100\n" | ||
911 | +"POT-Creation-Date: 2006-06-29 16:24+0200\n" | ||
912 | "PO-Revision-Date: 2006-03-29 23:22+0000\n" | ||
913 | "Last-Translator: Miguel Figueiredo <elmig@debianp.org>\n" | ||
914 | "Language-Team: Portuguese <traduz@debianpt.org>\n" | ||
915 | @@ -15,23 +15,7 @@ | ||
916 | "Content-Type: text/plain; charset=UTF-8\n" | ||
917 | "Content-Transfer-Encoding: 8bit\n" | ||
918 | |||
919 | -#: src/hddtemp.c:112 | ||
920 | -#, c-format | ||
921 | -msgid "" | ||
922 | -"\n" | ||
923 | -"Regexp%s| Value | Description\n" | ||
924 | -"------%s---------------------\n" | ||
925 | -msgstr "" | ||
926 | -"\n" | ||
927 | -"Regexp%s| Valor | Descrição\n" | ||
928 | -"------%s-------------------\n" | ||
929 | - | ||
930 | -#: src/hddtemp.c:118 | ||
931 | -#, c-format | ||
932 | -msgid "%s%s| %5d | %s\n" | ||
933 | -msgstr "%s%s| %5d | %s\n" | ||
934 | - | ||
935 | -#: src/hddtemp.c:161 | ||
936 | +#: src/hddtemp.c:156 | ||
937 | #, c-format | ||
938 | msgid "" | ||
939 | "\n" | ||
940 | @@ -44,7 +28,7 @@ | ||
941 | "Modelo: %s\n" | ||
942 | "\n" | ||
943 | |||
944 | -#: src/hddtemp.c:188 | ||
945 | +#: src/hddtemp.c:189 | ||
946 | #, c-format | ||
947 | msgid "" | ||
948 | "WARNING: Drive %s doesn't seem to have a temperature sensor.\n" | ||
949 | @@ -54,79 +38,68 @@ | ||
950 | msgstr "" | ||
951 | "AVISO: O disco %s não parece ter um sensor de temperatura.\n" | ||
952 | "AVISO: Isto não significa que não tem nenhum.\n" | ||
953 | -"AVISO: Se tem a certeza que tem um, por favor contacte-me (hddtemp@guzu.net).\n" | ||
954 | +"AVISO: Se tem a certeza que tem um, por favor contacte-me (hddtemp@guzu." | ||
955 | +"net).\n" | ||
956 | "AVISO: Veja as opções --help, --debug e --drivebase.\n" | ||
957 | |||
958 | -#: src/hddtemp.c:192 | ||
959 | +#: src/hddtemp.c:197 | ||
960 | #, c-format | ||
961 | msgid "%s: %s: no sensor\n" | ||
962 | msgstr "%s: %s: sem sensor\n" | ||
963 | |||
964 | -#: src/hddtemp.c:197 | ||
965 | -#, c-format | ||
966 | -msgid "" | ||
967 | -"WARNING: Drive %s doesn't appear in the database of supported drives\n" | ||
968 | -"WARNING: But using a common value, it reports something.\n" | ||
969 | -"WARNING: Note that the temperature shown could be wrong.\n" | ||
970 | -"WARNING: See --help, --debug and --drivebase options.\n" | ||
971 | -"WARNING: And don't forget you can add your drive to hddtemp.db\n" | ||
972 | -msgstr "" | ||
973 | -"AVISO: O disco %s não parece estar na base de dados de discos suportados\n" | ||
974 | -"AVISO: Mas ao utilizar um valor usual, relata alguma coisa.\n" | ||
975 | -"AVISO: Note que a temperatura mostrada pode estar errada.\n" | ||
976 | -"AVISO: Veja as opções --help, --debug e --frivebase.\n" | ||
977 | -"AVISO: E não se esqueça de adicionar o seu disco a hddtemp.db\n" | ||
978 | - | ||
979 | -#: src/hddtemp.c:202 | ||
980 | +#: src/hddtemp.c:211 | ||
981 | #, c-format | ||
982 | msgid "%s: %s: %d%sC or %sF\n" | ||
983 | msgstr "%s: %s: %d%sC ou %sF\n" | ||
984 | |||
985 | -#: src/hddtemp.c:214 | ||
986 | +#: src/hddtemp.c:235 | ||
987 | #, c-format | ||
988 | msgid "%s: %s: drive is sleeping\n" | ||
989 | msgstr "%s: %s: o disco está adormecido\n" | ||
990 | |||
991 | -#: src/hddtemp.c:217 | ||
992 | -#, c-format | ||
993 | -msgid "%s: %s: known drive, but it doesn't have a temperature sensor.\n" | ||
994 | +#: src/hddtemp.c:242 | ||
995 | +#, fuzzy, c-format | ||
996 | +msgid "%s: %s: drive supported, but it doesn't have a temperature sensor.\n" | ||
997 | msgstr "%s: %s: disco conhecido, mas não tem um sensor de temperatura.\n" | ||
998 | |||
999 | -#: src/hddtemp.c:220 | ||
1000 | +#: src/hddtemp.c:246 | ||
1001 | #, c-format | ||
1002 | msgid "ERROR: %s: %s: unknown returned status\n" | ||
1003 | msgstr "ERRO: %s: %s: estado devolvido desconhecido\n" | ||
1004 | |||
1005 | -#: src/hddtemp.c:235 | ||
1006 | -#, c-format | ||
1007 | +#: src/hddtemp.c:261 | ||
1008 | +#, fuzzy, c-format | ||
1009 | msgid "" | ||
1010 | "\n" | ||
1011 | "If one of the field value seems to match the temperature, be sure to read\n" | ||
1012 | -"the hddtemp man page before sending me a report (section REPORT). Thanks.\n" | ||
1013 | +"the hddtemp man page before sending a report (section REPORT). Thanks.\n" | ||
1014 | msgstr "" | ||
1015 | "\n" | ||
1016 | -"Se um dos campos de valores parecer coincidir com a temperatura, assegure-se\n" | ||
1017 | +"Se um dos campos de valores parecer coincidir com a temperatura, assegure-" | ||
1018 | +"se\n" | ||
1019 | "que lê a página do manual hddtemp antes de me enviar um relatório (secção\n" | ||
1020 | "REPORT). Obrigado.\n" | ||
1021 | |||
1022 | -#: src/hddtemp.c:308 | ||
1023 | +#: src/hddtemp.c:338 | ||
1024 | #, c-format | ||
1025 | msgid "ERROR: invalid separator.\n" | ||
1026 | msgstr "ERRO: separador inválido.\n" | ||
1027 | |||
1028 | -#: src/hddtemp.c:319 | ||
1029 | +#: src/hddtemp.c:349 | ||
1030 | #, c-format | ||
1031 | msgid "ERROR: invalid port number.\n" | ||
1032 | msgstr "ERRO: número de port inválido\n" | ||
1033 | |||
1034 | -#: src/hddtemp.c:329 | ||
1035 | -#, c-format | ||
1036 | +#: src/hddtemp.c:371 | ||
1037 | +#, fuzzy, c-format | ||
1038 | msgid "" | ||
1039 | -" Usage: hddtemp [OPTIONS] DISK1 [DISK2]...\n" | ||
1040 | +" Usage: hddtemp [OPTIONS] [TYPE:]DISK1 [[TYPE:]DISK2]...\n" | ||
1041 | "\n" | ||
1042 | " hddtemp displays the temperature of drives supplied in argument.\n" | ||
1043 | " Drives must support S.M.A.R.T.\n" | ||
1044 | "\n" | ||
1045 | +" TYPE could be SATA, PATA or SCSI. If omitted hddtemp will try to guess.\n" | ||
1046 | +"\n" | ||
1047 | " -b --drivebase : display database file content that allow hddtemp to\n" | ||
1048 | " recognize supported drives.\n" | ||
1049 | " -D --debug : display various S.M.A.R.T. fields and their values.\n" | ||
1050 | @@ -136,6 +109,7 @@ | ||
1051 | " -d --daemon : run hddtemp in TCP/IP daemon mode (port %d by " | ||
1052 | "default.)\n" | ||
1053 | " -f --file=FILE : specify database file to use.\n" | ||
1054 | +" -F --foreground : don't daemonize, stay in foreground.\n" | ||
1055 | " -l --listen=addr : listen on a specific interface (in TCP/IP daemon " | ||
1056 | "mode).\n" | ||
1057 | " -n --numeric : print only the temperature.\n" | ||
1058 | @@ -143,6 +117,8 @@ | ||
1059 | " -s --separator=C : separator to use between fields (in TCP/IP daemon " | ||
1060 | "mode).\n" | ||
1061 | " -S --syslog=s : log temperature to syslog every s seconds.\n" | ||
1062 | +" -u --unit=[C|F] : force output temperature either in Celsius or " | ||
1063 | +"Fahrenheit.\n" | ||
1064 | " -q --quiet : do not check if the drive is supported.\n" | ||
1065 | " -v --version : display hddtemp version number.\n" | ||
1066 | " -w --wake-up : wake-up the drive if need.\n" | ||
1067 | @@ -156,19 +132,23 @@ | ||
1068 | " hddtemp mostra a temperatura dos discos indicados no argumento.\n" | ||
1069 | " Os discos têm de suportar S.M.A.R.T.\n" | ||
1070 | "\n" | ||
1071 | -" -b --drivebase : mostrar o conteúdo do ficheiro de base de dados que\n" | ||
1072 | +" -b\t --drivebase : mostrar o conteúdo do ficheiro de base de dados que\n" | ||
1073 | " permite ao hddtemp reconhecer os discos suportados.\n" | ||
1074 | -" -D --debug : mostrar vários campos S.M.A.R.T. e os seus valores.\n" | ||
1075 | -" Útil para encontrar um valor que pareça coincidir com " | ||
1076 | -" a temperatura e/ou para me enviar um relatório.\n" | ||
1077 | +" -D\t --debug : mostrar vários campos S.M.A.R.T. e os seus valores.\n" | ||
1078 | +" Útil para encontrar um valor que pareça coincidir " | ||
1079 | +"com a temperatura e/ou para me enviar um relatório.\n" | ||
1080 | " (feito para cada disco indicado).\n" | ||
1081 | -" -d --daemon : correr o hddtemp no modo daemon TCP/IP\n (porto %d por omissão.)\n" | ||
1082 | +" -d --daemon : correr o hddtemp no modo daemon TCP/IP\n" | ||
1083 | +" (porto %d por omissão.)\n" | ||
1084 | " -f --file=FILE : especificar o ficheiro de base de dados a utilizar.\n" | ||
1085 | -" -l --listen=addr : escutar um interface especÃfico (no modo daemon TCP/IP).\n" | ||
1086 | +" -l --listen=addr : escutar um interface especÃfico (no modo daemon TCP/" | ||
1087 | +"IP).\n" | ||
1088 | " -n --numeric : escrever apenas a temperatura.\n" | ||
1089 | " -p --port=# : port para escutar (no modo daemon TCP/IP).\n" | ||
1090 | -" -s --separator=C : separador a utilizar entre campos (no modo daemon TCP/IP).\n" | ||
1091 | -" -S --syslog=s : registar a temperatura para o syslog a cada s segundos.\n" | ||
1092 | +" -s --separator=C : separador a utilizar entre campos (no modo daemon " | ||
1093 | +"TCP/IP).\n" | ||
1094 | +" -S --syslog=s : registar a temperatura para o syslog a cada s " | ||
1095 | +"segundos.\n" | ||
1096 | " -q --quiet : não verificar se o disco é suportado.\n" | ||
1097 | " -v --version : mostrar o número da versão do hddtemp.\n" | ||
1098 | " -w --wake-up : acordar o disco se necessário.\n" | ||
1099 | @@ -177,58 +157,93 @@ | ||
1100 | "\n" | ||
1101 | "Relatar bugs ou novos discos para <hddtemp@guzu.net>.\n" | ||
1102 | |||
1103 | -#: src/hddtemp.c:522 | ||
1104 | +#: src/hddtemp.c:402 | ||
1105 | #, c-format | ||
1106 | msgid "hddtemp version %s\n" | ||
1107 | msgstr "hddtemp versão %s\n" | ||
1108 | |||
1109 | -#: src/hddtemp.c:547 | ||
1110 | +#: src/hddtemp.c:418 | ||
1111 | #, c-format | ||
1112 | msgid "ERROR: invalid interval.\n" | ||
1113 | msgstr "ERRO: intervalo inválido.\n" | ||
1114 | |||
1115 | -#: src/hddtemp.c:547 | ||
1116 | +#: src/hddtemp.c:438 | ||
1117 | +#, c-format | ||
1118 | msgid "Too few arguments: you must specify one drive, at least.\n" | ||
1119 | -msgstr "Número de argumentos insuficiente: tem de especificar pelo menos um disco.\n" | ||
1120 | +msgstr "" | ||
1121 | +"Número de argumentos insuficiente: tem de especificar pelo menos um disco.\n" | ||
1122 | |||
1123 | -#: src/hddtemp.c:557 | ||
1124 | +#: src/hddtemp.c:448 | ||
1125 | +#, c-format | ||
1126 | msgid "ERROR: can't use --debug and --daemon or --syslog options together.\n" | ||
1127 | -msgstr "ERRO: não pode utilizar em conjunto as opções --debug e --daemon ou --syslog.\n" | ||
1128 | +msgstr "" | ||
1129 | +"ERRO: não pode utilizar em conjunto as opções --debug e --daemon ou --" | ||
1130 | +"syslog.\n" | ||
1131 | |||
1132 | -#: src/hddtemp.c:583 | ||
1133 | +#: src/hddtemp.c:505 | ||
1134 | #, c-format | ||
1135 | msgid "ERROR: %s: can't determine bus type (or this bus type is unknown)\n" | ||
1136 | -msgstr "ERRO: %s: não é possÃvel determinar o tipo do bus (ou este tipo de bus é desconhecido)\n" | ||
1137 | +msgstr "" | ||
1138 | +"ERRO: %s: não é possÃvel determinar o tipo do bus (ou este tipo de bus é " | ||
1139 | +"desconhecido)\n" | ||
1140 | |||
1141 | -#: src/ata.c:66 src/scsi.c:68 | ||
1142 | +#: src/ata.c:66 src/scsi.c:64 | ||
1143 | msgid "unknown" | ||
1144 | msgstr "desconhecido" | ||
1145 | |||
1146 | -#: src/ata.c:98 | ||
1147 | +#: src/ata.c:85 src/ata.c:104 src/scsi.c:91 | ||
1148 | #, c-format | ||
1149 | -msgid "field(%d)\t = %d\n" | ||
1150 | -msgstr "campo(%d)\t = %d\n" | ||
1151 | - | ||
1152 | -#: src/ata.c:167 | ||
1153 | msgid "S.M.A.R.T. not available" | ||
1154 | msgstr "S.M.A.R.T. não está disponÃvel" | ||
1155 | |||
1156 | -#: src/db.c:180 | ||
1157 | +#: src/db.c:115 | ||
1158 | +#, c-format | ||
1159 | +msgid "" | ||
1160 | +"\n" | ||
1161 | +"Regexp%s| Value | Description\n" | ||
1162 | +"------%s---------------------\n" | ||
1163 | +msgstr "" | ||
1164 | +"\n" | ||
1165 | +"Regexp%s| Valor | Descrição\n" | ||
1166 | +"------%s-------------------\n" | ||
1167 | + | ||
1168 | +#: src/db.c:121 | ||
1169 | +#, c-format | ||
1170 | +msgid "%s%s| %5d | %s\n" | ||
1171 | +msgstr "%s%s| %5d | %s\n" | ||
1172 | + | ||
1173 | +#: src/db.c:236 | ||
1174 | #, c-format | ||
1175 | msgid "hddtemp: can't open %1$s: %2$s\n" | ||
1176 | msgstr "hddtemp: não pode abrir %1$s: %2$s\n" | ||
1177 | |||
1178 | -#: src/db.c:194 | ||
1179 | +#: src/db.c:250 | ||
1180 | #, c-format | ||
1181 | msgid "ERROR: syntax error at line %1$d in %2$s\n" | ||
1182 | msgstr "ERRO: erro de sintaxe na linha %1$d em %2$s\n" | ||
1183 | |||
1184 | -#: src/db.c:201 | ||
1185 | +#: src/db.c:257 | ||
1186 | #, c-format | ||
1187 | msgid " ERROR: line exceed %1$d characters in %2$s.\n" | ||
1188 | msgstr " ERRO: a linha execedeu %1$d caracteres em %2$s.\n" | ||
1189 | |||
1190 | -#: src/scsi.c:112 src/scsi.c:130 | ||
1191 | +#: src/scsi.c:111 src/scsi.c:129 | ||
1192 | #, c-format | ||
1193 | msgid "log sense failed : %s" | ||
1194 | msgstr "detecção de log falhou: %s" | ||
1195 | + | ||
1196 | +#~ msgid "" | ||
1197 | +#~ "WARNING: Drive %s doesn't appear in the database of supported drives\n" | ||
1198 | +#~ "WARNING: But using a common value, it reports something.\n" | ||
1199 | +#~ "WARNING: Note that the temperature shown could be wrong.\n" | ||
1200 | +#~ "WARNING: See --help, --debug and --drivebase options.\n" | ||
1201 | +#~ "WARNING: And don't forget you can add your drive to hddtemp.db\n" | ||
1202 | +#~ msgstr "" | ||
1203 | +#~ "AVISO: O disco %s não parece estar na base de dados de discos suportados\n" | ||
1204 | +#~ "AVISO: Mas ao utilizar um valor usual, relata alguma coisa.\n" | ||
1205 | +#~ "AVISO: Note que a temperatura mostrada pode estar errada.\n" | ||
1206 | +#~ "AVISO: Veja as opções --help, --debug e --frivebase.\n" | ||
1207 | +#~ "AVISO: E não se esqueça de adicionar o seu disco a hddtemp.db\n" | ||
1208 | + | ||
1209 | +#~ msgid "field(%d)\t = %d\n" | ||
1210 | +#~ msgstr "campo(%d)\t = %d\n" | ||
1211 | --- hddtemp-0.3-beta15.orig/po/de.po | ||
1212 | +++ hddtemp-0.3-beta15/po/de.po | ||
1213 | @@ -0,0 +1,250 @@ | ||
1214 | +# German translation of hddtemp. | ||
1215 | +# Copyright (C) 2008 Free Software Foundation, Inc. | ||
1216 | +# This file is distributed under the same license as the hddtemp package. | ||
1217 | +# Vinzenz Vietzke <vinz@v1nz.org>, 2008. | ||
1218 | +# , | ||
1219 | +# | ||
1220 | +# | ||
1221 | +msgid "" | ||
1222 | +msgstr "" | ||
1223 | +"Project-Id-Version: hddtemp 0.3-beta15-44\n" | ||
1224 | +"Report-Msgid-Bugs-To: hddtemp@packages.debian.org\n" | ||
1225 | +"POT-Creation-Date: 2006-06-29 16:24+0200\n" | ||
1226 | +"PO-Revision-Date: 2011-08-30 16:40+0200\n" | ||
1227 | +"Last-Translator: Vinzenz Vietzke <vinz@v1nz.org>\n" | ||
1228 | +"Language-Team: <debian-l10n-german@lists.debian.org>\n" | ||
1229 | +"MIME-Version: 1.0\n" | ||
1230 | +"Content-Type: text/plain; charset=UTF-8\n" | ||
1231 | +"Content-Transfer-Encoding: 8bit" | ||
1232 | + | ||
1233 | +#: src/hddtemp.c:156 | ||
1234 | +#, c-format | ||
1235 | +msgid "" | ||
1236 | +"\n" | ||
1237 | +"================= hddtemp %s ==================\n" | ||
1238 | +"Model: %s\n" | ||
1239 | +"\n" | ||
1240 | +msgstr "" | ||
1241 | +"\n" | ||
1242 | +"================= hddtemp %s ==================\n" | ||
1243 | +"Modell: %s\n" | ||
1244 | +"\n" | ||
1245 | + | ||
1246 | +#: src/hddtemp.c:189 | ||
1247 | +#, c-format | ||
1248 | +msgid "" | ||
1249 | +"WARNING: Drive %s doesn't seem to have a temperature sensor.\n" | ||
1250 | +"WARNING: This doesn't mean it hasn't got one.\n" | ||
1251 | +"WARNING: If you are sure it has one, please contact me (hddtemp@guzu." | ||
1252 | +"net).\n" | ||
1253 | +"WARNING: See --help, --debug and --drivebase options.\n" | ||
1254 | +msgstr "" | ||
1255 | +"WARNUNG: Laufwerk %s scheint keinen Temperatur-Sensor zu haben.\n" | ||
1256 | +"WARNUNG: Das bedeutet nicht, dass es keinen besitzt.\n" | ||
1257 | +"WARNUNG: Falls Sie sicher sind, dass es einen besitzt, kontaktieren Sie " | ||
1258 | +"mich bitte (hddtemp@guzu.net).\n" | ||
1259 | +"WARNUNG: Siehe Optionen --help, --debug und --drivebase.\n" | ||
1260 | + | ||
1261 | +#: src/hddtemp.c:197 | ||
1262 | +#, c-format | ||
1263 | +msgid "%s: %s: no sensor\n" | ||
1264 | +msgstr "%s: %s: kein Sensor\n" | ||
1265 | + | ||
1266 | +#: src/hddtemp.c:211 | ||
1267 | +#, c-format | ||
1268 | +msgid "%s: %s: %d%sC or %sF\n" | ||
1269 | +msgstr "%s: %s: %d%s°C oder %s°F\n" | ||
1270 | + | ||
1271 | +#: src/hddtemp.c:235 | ||
1272 | +#, c-format | ||
1273 | +msgid "%s: %s: drive is sleeping\n" | ||
1274 | +msgstr "%s: %s: Laufwerk schläft\n" | ||
1275 | + | ||
1276 | +#: src/hddtemp.c:242 | ||
1277 | +#, c-format | ||
1278 | +msgid "%s: %s: drive supported, but it doesn't have a temperature sensor.\n" | ||
1279 | +msgstr "" | ||
1280 | +"%s: %s: Laufwerk unterstützt, aber es hat keinen Temperatur-Sensor.\n" | ||
1281 | + | ||
1282 | +#: src/hddtemp.c:246 | ||
1283 | +#, c-format | ||
1284 | +msgid "ERROR: %s: %s: unknown returned status\n" | ||
1285 | +msgstr "FEHLER: %s: %s: zurückgegebener Status unbekannt\n" | ||
1286 | + | ||
1287 | +#: src/hddtemp.c:261 | ||
1288 | +#, c-format | ||
1289 | +msgid "" | ||
1290 | +"\n" | ||
1291 | +"If one of the field value seems to match the temperature, be sure to read\n" | ||
1292 | +"the hddtemp man page before sending a report (section REPORT). Thanks.\n" | ||
1293 | +msgstr "" | ||
1294 | +"\n" | ||
1295 | +"Falls einer der Feldwerte der Temperatur zu entsprechen scheint, stellen " | ||
1296 | +"Sie\n" | ||
1297 | +"sicher, die hddtemp-Handbuchseite gelesen zu haben, bevor Sie einen " | ||
1298 | +"Bericht\n" | ||
1299 | +"senden (Abschnitt BERICHT). Danke.\n" | ||
1300 | + | ||
1301 | +#: src/hddtemp.c:338 | ||
1302 | +#, c-format | ||
1303 | +msgid "ERROR: invalid separator.\n" | ||
1304 | +msgstr "FEHLER: ungültiges Trennzeichen.\n" | ||
1305 | + | ||
1306 | +#: src/hddtemp.c:349 | ||
1307 | +#, c-format | ||
1308 | +msgid "ERROR: invalid port number.\n" | ||
1309 | +msgstr "FEHLER: ungültige Portnummer.\n" | ||
1310 | + | ||
1311 | +#: src/hddtemp.c:371 | ||
1312 | +#, c-format | ||
1313 | +msgid "" | ||
1314 | +" Usage: hddtemp [OPTIONS] [TYPE:]DISK1 [[TYPE:]DISK2]...\n" | ||
1315 | +"\n" | ||
1316 | +" hddtemp displays the temperature of drives supplied in argument.\n" | ||
1317 | +" Drives must support S.M.A.R.T.\n" | ||
1318 | +"\n" | ||
1319 | +" TYPE could be SATA, PATA or SCSI. If omitted hddtemp will try to guess.\n" | ||
1320 | +"\n" | ||
1321 | +" -b --drivebase : display database file content that allow hddtemp " | ||
1322 | +"to\n" | ||
1323 | +" recognize supported drives.\n" | ||
1324 | +" -D --debug : display various S.M.A.R.T. fields and their " | ||
1325 | +"values.\n" | ||
1326 | +" Useful to find a value that seems to match the\n" | ||
1327 | +" temperature and/or to send me a report.\n" | ||
1328 | +" (done for every drive supplied).\n" | ||
1329 | +" -d --daemon : run hddtemp in TCP/IP daemon mode (port %d by " | ||
1330 | +"default.)\n" | ||
1331 | +" -f --file=FILE : specify database file to use.\n" | ||
1332 | +" -F --foreground : don't daemonize, stay in foreground.\n" | ||
1333 | +" -l --listen=addr : listen on a specific interface (in TCP/IP daemon " | ||
1334 | +"mode).\n" | ||
1335 | +" -n --numeric : print only the temperature.\n" | ||
1336 | +" -p --port=# : port to listen to (in TCP/IP daemon mode).\n" | ||
1337 | +" -s --separator=C : separator to use between fields (in TCP/IP daemon " | ||
1338 | +"mode).\n" | ||
1339 | +" -S --syslog=s : log temperature to syslog every s seconds.\n" | ||
1340 | +" -u --unit=[C|F] : force output temperature either in Celsius or " | ||
1341 | +"Fahrenheit.\n" | ||
1342 | +" -q --quiet : do not check if the drive is supported.\n" | ||
1343 | +" -v --version : display hddtemp version number.\n" | ||
1344 | +" -w --wake-up : wake-up the drive if need.\n" | ||
1345 | +" -4 : listen on IPv4 sockets only.\n" | ||
1346 | +" -6 : listen on IPv6 sockets only.\n" | ||
1347 | +"\n" | ||
1348 | +"Report bugs or new drives to <hddtemp@guzu.net>.\n" | ||
1349 | +msgstr "" | ||
1350 | +" Verwendung: hddtemp [OPTIONEN] [TYP:]LAUFWERK1 [[TYP:]LAUFWERK2]...\n" | ||
1351 | +"\n" | ||
1352 | +" hddtemp zeigt die Temperatur der via Argument angegeben Laufwerke.\n" | ||
1353 | +" Laufwerke müssen S.M.A.R.T. unterstützen.\n" | ||
1354 | +"\n" | ||
1355 | +" TYP kann SATA, PATA oder SCSI sein. Falls ausgelassen, wird hddtemp \n" | ||
1356 | +" versuchen, diesen zu erraten.\n" | ||
1357 | +"\n" | ||
1358 | +" -b --drivebase : Datenbank-Datei-Inhalt anzeigen, der hddtemp " | ||
1359 | +"erlaubt\n" | ||
1360 | +" unterstützte Laufwerke zu erkennen.\n" | ||
1361 | +" -D --debug : verschiedene S.M.A.R.T.-Felder und deren Werte " | ||
1362 | +"anzeigen.\n" | ||
1363 | +" Nützlich, um Werte zu finden, die der Temperatur " | ||
1364 | +"entsprechen\n" | ||
1365 | +" und/oder um mir einen Bericht zu senden.\n" | ||
1366 | +" (bereits erledigt für jedes bereitgestellte " | ||
1367 | +"Laufwerk).\n" | ||
1368 | +" -d --daemon : hddtemp im TCP/IP-Daemon-Modus ausführen " | ||
1369 | +"(Standardmäßig Port %d)\n" | ||
1370 | +" -f --file=DATEI : zu verwendende Datenbank-Datei festlegen.\n" | ||
1371 | +" -F --foreground : nicht daemonisieren, im Vordergrund bleiben.\n" | ||
1372 | +" -l --listen=addr : auf einer bestimmten Schnittstelle auf Anfragen " | ||
1373 | +"warten (im TCP/IP-Daemon-Modus).\n" | ||
1374 | +" -n --numeric : nur die Temperatur ausgeben.\n" | ||
1375 | +" -p --port=# : Port, auf dem auf Anfragen gewartet werden soll " | ||
1376 | +"(im TCP/IP-Daemon-Modus).\n" | ||
1377 | +" -s --separator=C : Trennzeichen zur Verwendung zwischen Feldern (im " | ||
1378 | +"TCP/IP-Daemon-Modus).\n" | ||
1379 | +" -S --syslog=s : Temperatur alle s Sekunden in das syslog " | ||
1380 | +"eintragen.\n" | ||
1381 | +" -u --unit=[C|F] : Ausgabe der Temperatur entweder in Celsius oder " | ||
1382 | +"Fahrenheit erzwingen.\n" | ||
1383 | +" -q --quiet : nicht prüfen, ob das Laufwerk unterstützt wird.\n" | ||
1384 | +" -v --version : Versionsnummer von hddtemp anzeigen.\n" | ||
1385 | +" -w --wake-up : Laufwerk bei Bedarf aufwecken.\n" | ||
1386 | +" -4 : nur auf IPv4-Sockets auf Anfragen warten.\n" | ||
1387 | +" -6 : nur auf IPv6-Sockets auf Anfragen warten.\n" | ||
1388 | +"\n" | ||
1389 | +"Fehler oder neue Laufwerke an <hddtemp@guzu.net> melden.\n" | ||
1390 | + | ||
1391 | +#: src/hddtemp.c:402 | ||
1392 | +#, c-format | ||
1393 | +msgid "hddtemp version %s\n" | ||
1394 | +msgstr "hddtemp Version %s\n" | ||
1395 | + | ||
1396 | +#: src/hddtemp.c:418 | ||
1397 | +#, c-format | ||
1398 | +msgid "ERROR: invalid interval.\n" | ||
1399 | +msgstr "FEHLER: ungültiges Intervall.\n" | ||
1400 | + | ||
1401 | +#: src/hddtemp.c:438 | ||
1402 | +#, c-format | ||
1403 | +msgid "Too few arguments: you must specify one drive, at least.\n" | ||
1404 | +msgstr "Zu wenige Argumente: Sie müssen mindestens ein Laufwerk angeben.\n" | ||
1405 | + | ||
1406 | +#: src/hddtemp.c:448 | ||
1407 | +#, c-format | ||
1408 | +msgid "ERROR: can't use --debug and --daemon or --syslog options together.\n" | ||
1409 | +msgstr "" | ||
1410 | +"FEHLER: kann Optionen --debug und --daemon oder --syslog nicht zusammen " | ||
1411 | +"verwenden.\n" | ||
1412 | + | ||
1413 | +#: src/hddtemp.c:505 | ||
1414 | +#, c-format | ||
1415 | +msgid "ERROR: %s: can't determine bus type (or this bus type is unknown)\n" | ||
1416 | +msgstr "" | ||
1417 | +"FEHLER: %s: kann Bus-Typ nicht ermitteln (oder dieser Bus-Typ ist " | ||
1418 | +"unbekannt)\n" | ||
1419 | + | ||
1420 | +#: src/ata.c:66 src/scsi.c:64 | ||
1421 | +msgid "unknown" | ||
1422 | +msgstr "unbekannt" | ||
1423 | + | ||
1424 | +#: src/ata.c:85 src/ata.c:104 src/scsi.c:91 | ||
1425 | +#, c-format | ||
1426 | +msgid "S.M.A.R.T. not available" | ||
1427 | +msgstr "S.M.A.R.T. nicht verfügbar" | ||
1428 | + | ||
1429 | +#: src/db.c:115 | ||
1430 | +#, c-format | ||
1431 | +msgid "" | ||
1432 | +"\n" | ||
1433 | +"Regexp%s| Value | Description\n" | ||
1434 | +"------%s---------------------\n" | ||
1435 | +msgstr "" | ||
1436 | +"\n" | ||
1437 | +"Regexp%s| Wert | Beschreibung\n" | ||
1438 | +"------%s---------------------\n" | ||
1439 | + | ||
1440 | +#: src/db.c:121 | ||
1441 | +#, c-format | ||
1442 | +msgid "%s%s| %5d | %s\n" | ||
1443 | +msgstr "%s%s| %5d | %s\n" | ||
1444 | + | ||
1445 | +#: src/db.c:236 | ||
1446 | +#, c-format | ||
1447 | +msgid "hddtemp: can't open %1$s: %2$s\n" | ||
1448 | +msgstr "hddtemp: kann %1$s nicht öffnen: %2$s\n" | ||
1449 | + | ||
1450 | +#: src/db.c:250 | ||
1451 | +#, c-format | ||
1452 | +msgid "ERROR: syntax error at line %1$d in %2$s\n" | ||
1453 | +msgstr "FEHLER: Syntaxfehler in Zeile %1$d in %2$s\n" | ||
1454 | + | ||
1455 | +#: src/db.c:257 | ||
1456 | +#, c-format | ||
1457 | +msgid " ERROR: line exceed %1$d characters in %2$s.\n" | ||
1458 | +msgstr " FEHLER: Zeile überschreitet %1$d Zeichen in %2$s.\n" | ||
1459 | + | ||
1460 | +#: src/scsi.c:111 src/scsi.c:129 | ||
1461 | +#, c-format | ||
1462 | +msgid "log sense failed : %s" | ||
1463 | +msgstr "Protokoll-Erkennung fehlgeschlagen : %s" | ||
1464 | --- hddtemp-0.3-beta15.orig/po/LINGUAS | ||
1465 | +++ hddtemp-0.3-beta15/po/LINGUAS | ||
1466 | @@ -1,2 +1,2 @@ | ||
1467 | # Set of available languages. | ||
1468 | -fr pt ru sv | ||
1469 | +de fr pt ru sv | ||
1470 | --- hddtemp-0.3-beta15.orig/po/hddtemp.pot | ||
1471 | +++ hddtemp-0.3-beta15/po/hddtemp.pot | ||
1472 | @@ -1,35 +1,22 @@ | ||
1473 | - | ||
1474 | -# Copyright (C) 2006 Free Software Foundation, Inc. | ||
1475 | -# This file is distributed under the same license as the 'hddtemp' package. | ||
1476 | -# Emmanuel VARAGNAT <hddtemp@guzu.net>, 2006. | ||
1477 | +# SOME DESCRIPTIVE TITLE. | ||
1478 | +# Copyright (C) YEAR Free Software Foundation, Inc. | ||
1479 | +# This file is distributed under the same license as the PACKAGE package. | ||
1480 | +# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR. | ||
1481 | # | ||
1482 | #, fuzzy | ||
1483 | msgid "" | ||
1484 | msgstr "" | ||
1485 | "Project-Id-Version: PACKAGE VERSION\n" | ||
1486 | -"Report-Msgid-Bugs-To: hddtemp@guzu.net\n" | ||
1487 | -"POT-Creation-Date: 2005-02-25 22:43+0100\n" | ||
1488 | +"Report-Msgid-Bugs-To: \n" | ||
1489 | +"POT-Creation-Date: 2006-06-29 16:24+0200\n" | ||
1490 | "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" | ||
1491 | -"Last-Translator: Emmanuel Varagnat <hddtemp@guzu.net>\n" | ||
1492 | +"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n" | ||
1493 | "Language-Team: LANGUAGE <LL@li.org>\n" | ||
1494 | "MIME-Version: 1.0\n" | ||
1495 | "Content-Type: text/plain; charset=CHARSET\n" | ||
1496 | "Content-Transfer-Encoding: 8bit\n" | ||
1497 | |||
1498 | -#: src/hddtemp.c:112 | ||
1499 | -#, c-format | ||
1500 | -msgid "" | ||
1501 | -"\n" | ||
1502 | -"Regexp%s| Value | Description\n" | ||
1503 | -"------%s---------------------\n" | ||
1504 | -msgstr "" | ||
1505 | - | ||
1506 | -#: src/hddtemp.c:118 | ||
1507 | -#, c-format | ||
1508 | -msgid "%s%s| %5d | %s\n" | ||
1509 | -msgstr "" | ||
1510 | - | ||
1511 | -#: src/hddtemp.c:161 | ||
1512 | +#: src/hddtemp.c:156 | ||
1513 | #, c-format | ||
1514 | msgid "" | ||
1515 | "\n" | ||
1516 | @@ -38,7 +25,7 @@ | ||
1517 | "\n" | ||
1518 | msgstr "" | ||
1519 | |||
1520 | -#: src/hddtemp.c:188 | ||
1521 | +#: src/hddtemp.c:189 | ||
1522 | #, c-format | ||
1523 | msgid "" | ||
1524 | "WARNING: Drive %s doesn't seem to have a temperature sensor.\n" | ||
1525 | @@ -47,67 +34,59 @@ | ||
1526 | "WARNING: See --help, --debug and --drivebase options.\n" | ||
1527 | msgstr "" | ||
1528 | |||
1529 | -#: src/hddtemp.c:192 | ||
1530 | -#, c-format | ||
1531 | -msgid "%s: %s: no sensor\n" | ||
1532 | -msgstr "" | ||
1533 | - | ||
1534 | #: src/hddtemp.c:197 | ||
1535 | #, c-format | ||
1536 | -msgid "" | ||
1537 | -"WARNING: Drive %s doesn't appear in the database of supported drives\n" | ||
1538 | -"WARNING: But using a common value, it reports something.\n" | ||
1539 | -"WARNING: Note that the temperature shown could be wrong.\n" | ||
1540 | -"WARNING: See --help, --debug and --drivebase options.\n" | ||
1541 | -"WARNING: And don't forget you can add your drive to hddtemp.db\n" | ||
1542 | +msgid "%s: %s: no sensor\n" | ||
1543 | msgstr "" | ||
1544 | |||
1545 | -#: src/hddtemp.c:202 | ||
1546 | +#: src/hddtemp.c:211 | ||
1547 | #, c-format | ||
1548 | msgid "%s: %s: %d%sC or %sF\n" | ||
1549 | msgstr "" | ||
1550 | |||
1551 | -#: src/hddtemp.c:214 | ||
1552 | +#: src/hddtemp.c:235 | ||
1553 | #, c-format | ||
1554 | msgid "%s: %s: drive is sleeping\n" | ||
1555 | msgstr "" | ||
1556 | |||
1557 | -#: src/hddtemp.c:217 | ||
1558 | +#: src/hddtemp.c:242 | ||
1559 | #, c-format | ||
1560 | -msgid "%s: %s: known drive, but it doesn't have a temperature sensor.\n" | ||
1561 | +msgid "%s: %s: drive supported, but it doesn't have a temperature sensor.\n" | ||
1562 | msgstr "" | ||
1563 | |||
1564 | -#: src/hddtemp.c:220 | ||
1565 | +#: src/hddtemp.c:246 | ||
1566 | #, c-format | ||
1567 | msgid "ERROR: %s: %s: unknown returned status\n" | ||
1568 | msgstr "" | ||
1569 | |||
1570 | -#: src/hddtemp.c:235 | ||
1571 | +#: src/hddtemp.c:261 | ||
1572 | #, c-format | ||
1573 | msgid "" | ||
1574 | "\n" | ||
1575 | "If one of the field value seems to match the temperature, be sure to read\n" | ||
1576 | -"the hddtemp man page before sending me a report (section REPORT). Thanks.\n" | ||
1577 | +"the hddtemp man page before sending a report (section REPORT). Thanks.\n" | ||
1578 | msgstr "" | ||
1579 | |||
1580 | -#: src/hddtemp.c:308 | ||
1581 | +#: src/hddtemp.c:338 | ||
1582 | #, c-format | ||
1583 | msgid "ERROR: invalid separator.\n" | ||
1584 | msgstr "" | ||
1585 | |||
1586 | -#: src/hddtemp.c:319 | ||
1587 | +#: src/hddtemp.c:349 | ||
1588 | #, c-format | ||
1589 | msgid "ERROR: invalid port number.\n" | ||
1590 | msgstr "" | ||
1591 | |||
1592 | -#: src/hddtemp.c:329 | ||
1593 | +#: src/hddtemp.c:371 | ||
1594 | #, c-format | ||
1595 | msgid "" | ||
1596 | -" Usage: hddtemp [OPTIONS] DISK1 [DISK2]...\n" | ||
1597 | +" Usage: hddtemp [OPTIONS] [TYPE:]DISK1 [[TYPE:]DISK2]...\n" | ||
1598 | "\n" | ||
1599 | " hddtemp displays the temperature of drives supplied in argument.\n" | ||
1600 | " Drives must support S.M.A.R.T.\n" | ||
1601 | "\n" | ||
1602 | +" TYPE could be SATA, PATA or SCSI. If omitted hddtemp will try to guess.\n" | ||
1603 | +"\n" | ||
1604 | " -b --drivebase : display database file content that allow hddtemp to\n" | ||
1605 | " recognize supported drives.\n" | ||
1606 | " -D --debug : display various S.M.A.R.T. fields and their values.\n" | ||
1607 | @@ -117,6 +96,7 @@ | ||
1608 | " -d --daemon : run hddtemp in TCP/IP daemon mode (port %d by " | ||
1609 | "default.)\n" | ||
1610 | " -f --file=FILE : specify database file to use.\n" | ||
1611 | +" -F --foreground : don't daemonize, stay in foreground.\n" | ||
1612 | " -l --listen=addr : listen on a specific interface (in TCP/IP daemon " | ||
1613 | "mode).\n" | ||
1614 | " -n --numeric : print only the temperature.\n" | ||
1615 | @@ -124,6 +104,8 @@ | ||
1616 | " -s --separator=C : separator to use between fields (in TCP/IP daemon " | ||
1617 | "mode).\n" | ||
1618 | " -S --syslog=s : log temperature to syslog every s seconds.\n" | ||
1619 | +" -u --unit=[C|F] : force output temperature either in Celsius or " | ||
1620 | +"Fahrenheit.\n" | ||
1621 | " -q --quiet : do not check if the drive is supported.\n" | ||
1622 | " -v --version : display hddtemp version number.\n" | ||
1623 | " -w --wake-up : wake-up the drive if need.\n" | ||
1624 | @@ -133,58 +115,69 @@ | ||
1625 | "Report bugs or new drives to <hddtemp@guzu.net>.\n" | ||
1626 | msgstr "" | ||
1627 | |||
1628 | -#: src/hddtemp.c:522 | ||
1629 | +#: src/hddtemp.c:402 | ||
1630 | #, c-format | ||
1631 | msgid "hddtemp version %s\n" | ||
1632 | msgstr "" | ||
1633 | |||
1634 | -#: src/hddtemp.c:547 | ||
1635 | +#: src/hddtemp.c:418 | ||
1636 | #, c-format | ||
1637 | msgid "ERROR: invalid interval.\n" | ||
1638 | msgstr "" | ||
1639 | |||
1640 | -#: src/hddtemp.c:547 | ||
1641 | +#: src/hddtemp.c:438 | ||
1642 | +#, c-format | ||
1643 | msgid "Too few arguments: you must specify one drive, at least.\n" | ||
1644 | msgstr "" | ||
1645 | |||
1646 | -#: src/hddtemp.c:557 | ||
1647 | +#: src/hddtemp.c:448 | ||
1648 | +#, c-format | ||
1649 | msgid "ERROR: can't use --debug and --daemon or --syslog options together.\n" | ||
1650 | msgstr "" | ||
1651 | |||
1652 | -#: src/hddtemp.c:583 | ||
1653 | +#: src/hddtemp.c:505 | ||
1654 | #, c-format | ||
1655 | msgid "ERROR: %s: can't determine bus type (or this bus type is unknown)\n" | ||
1656 | msgstr "" | ||
1657 | |||
1658 | -#: src/ata.c:66 src/scsi.c:68 | ||
1659 | +#: src/ata.c:66 src/scsi.c:64 | ||
1660 | msgid "unknown" | ||
1661 | msgstr "" | ||
1662 | |||
1663 | -#: src/ata.c:98 | ||
1664 | +#: src/ata.c:85 src/ata.c:104 src/scsi.c:91 | ||
1665 | #, c-format | ||
1666 | -msgid "field(%d)\t = %d\n" | ||
1667 | +msgid "S.M.A.R.T. not available" | ||
1668 | msgstr "" | ||
1669 | |||
1670 | -#: src/ata.c:167 | ||
1671 | -msgid "S.M.A.R.T. not available" | ||
1672 | +#: src/db.c:115 | ||
1673 | +#, c-format | ||
1674 | +msgid "" | ||
1675 | +"\n" | ||
1676 | +"Regexp%s| Value | Description\n" | ||
1677 | +"------%s---------------------\n" | ||
1678 | +msgstr "" | ||
1679 | + | ||
1680 | +#: src/db.c:121 | ||
1681 | +#, c-format | ||
1682 | +msgid "%s%s| %5d | %s\n" | ||
1683 | msgstr "" | ||
1684 | |||
1685 | -#: src/db.c:180 | ||
1686 | +#: src/db.c:236 | ||
1687 | #, c-format | ||
1688 | msgid "hddtemp: can't open %1$s: %2$s\n" | ||
1689 | msgstr "" | ||
1690 | |||
1691 | -#: src/db.c:194 | ||
1692 | +#: src/db.c:250 | ||
1693 | #, c-format | ||
1694 | msgid "ERROR: syntax error at line %1$d in %2$s\n" | ||
1695 | msgstr "" | ||
1696 | |||
1697 | -#: src/db.c:201 | ||
1698 | +#: src/db.c:257 | ||
1699 | #, c-format | ||
1700 | msgid " ERROR: line exceed %1$d characters in %2$s.\n" | ||
1701 | msgstr "" | ||
1702 | |||
1703 | -#: src/scsi.c:112 src/scsi.c:130 | ||
1704 | +#: src/scsi.c:111 src/scsi.c:129 | ||
1705 | #, c-format | ||
1706 | msgid "log sense failed : %s" | ||
1707 | msgstr "" | ||
1708 | --- hddtemp-0.3-beta15.orig/src/sata.c | ||
1709 | +++ hddtemp-0.3-beta15/src/sata.c | ||
1710 | @@ -118,11 +118,22 @@ | ||
1711 | int i; | ||
1712 | u16 * p; | ||
1713 | |||
1714 | - if(dsk->db_entry && dsk->db_entry->attribute_id == 0) { | ||
1715 | + if(dsk->db_entry->attribute_id == 0) { | ||
1716 | close(dsk->fd); | ||
1717 | dsk->fd = -1; | ||
1718 | return GETTEMP_NOSENSOR; | ||
1719 | } | ||
1720 | + | ||
1721 | + switch(ata_get_powermode(dsk->fd)) { | ||
1722 | + case PWM_STANDBY: | ||
1723 | + case PWM_SLEEPING: | ||
1724 | + if (!wakeup) | ||
1725 | + return GETTEMP_DRIVE_SLEEP; | ||
1726 | + case PWM_UNKNOWN: | ||
1727 | + case PWM_ACTIVE: /* active or idle */ | ||
1728 | + default: | ||
1729 | + break; | ||
1730 | + } | ||
1731 | |||
1732 | /* get SMART values */ | ||
1733 | if(sata_enable_smart(dsk->fd) != 0) { | ||
1734 | @@ -154,24 +165,15 @@ | ||
1735 | } | ||
1736 | |||
1737 | /* temperature */ | ||
1738 | - if(dsk->db_entry && dsk->db_entry->attribute_id > 0) | ||
1739 | - field = sata_search_temperature(values, dsk->db_entry->attribute_id); | ||
1740 | - else | ||
1741 | - field = sata_search_temperature(values, DEFAULT_ATTRIBUTE_ID); | ||
1742 | + field = sata_search_temperature(values, dsk->db_entry->attribute_id); | ||
1743 | |||
1744 | if(field) | ||
1745 | dsk->value = *(field+3); | ||
1746 | |||
1747 | if(dsk->db_entry && dsk->value != -1) | ||
1748 | return GETTEMP_KNOWN; | ||
1749 | - else { | ||
1750 | - if(dsk->value != -1) { | ||
1751 | - return GETTEMP_GUESS; | ||
1752 | - } | ||
1753 | - else { | ||
1754 | - return GETTEMP_UNKNOWN; | ||
1755 | - } | ||
1756 | - } | ||
1757 | + else | ||
1758 | + return GETTEMP_UNKNOWN; | ||
1759 | |||
1760 | /* never reached */ | ||
1761 | } | ||
1762 | --- hddtemp-0.3-beta15.orig/src/satacmds.c | ||
1763 | +++ hddtemp-0.3-beta15/src/satacmds.c | ||
1764 | @@ -39,7 +39,7 @@ | ||
1765 | #include <sys/ioctl.h> | ||
1766 | #include <scsi/sg.h> | ||
1767 | #include <linux/hdreg.h> | ||
1768 | -#include <netinet/in.h> | ||
1769 | +#include <byteswap.h> | ||
1770 | |||
1771 | // Application specific includes | ||
1772 | #include "satacmds.h" | ||
1773 | @@ -80,8 +80,8 @@ | ||
1774 | |||
1775 | ret = scsi_SG_IO(device, cdb, sizeof(cdb), buffer, cmd[3] * 512, sense, sizeof(sense), dxfer_direction); | ||
1776 | |||
1777 | - /* Verify SATA magics */ | ||
1778 | - if (sense[0] != 0x72 || sense[7] != 0x0e || sense[9] != 0x0e || sense[10] != 0x00) | ||
1779 | + /* Verify SATA magic */ | ||
1780 | + if (sense[0] != 0x72) | ||
1781 | return 1; | ||
1782 | else | ||
1783 | return ret; | ||
1784 | @@ -95,10 +95,10 @@ | ||
1785 | p = s; | ||
1786 | end = &s[bytecount & ~1]; /* bytecount must be even */ | ||
1787 | |||
1788 | - /* convert from big-endian to host byte order */ | ||
1789 | + /* convert from big-endian to string order */ | ||
1790 | for (p = end ; p != s;) { | ||
1791 | unsigned short *pp = (unsigned short *) (p -= 2); | ||
1792 | - *pp = ntohs(*pp); | ||
1793 | + *pp = bswap_16(*pp); | ||
1794 | } | ||
1795 | |||
1796 | /* strip leading blanks */ | ||
1797 | --- hddtemp-0.3-beta15.orig/src/backtrace.c | ||
1798 | +++ hddtemp-0.3-beta15/src/backtrace.c | ||
1799 | @@ -16,9 +16,10 @@ | ||
1800 | * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA | ||
1801 | */ | ||
1802 | |||
1803 | +#define _GNU_SOURCE | ||
1804 | #include <features.h> | ||
1805 | |||
1806 | -#if defined(__i386__) && defined(__GLIBC__) | ||
1807 | +#if (defined(__i386__) || defined(__x86_64__)) && defined(__GLIBC__) | ||
1808 | |||
1809 | #include <execinfo.h> | ||
1810 | |||
1811 | @@ -31,8 +32,12 @@ | ||
1812 | #include <bits/sigcontext.h> | ||
1813 | #include <sys/param.h> | ||
1814 | |||
1815 | -#define __USE_GNU | ||
1816 | #include <ucontext.h> | ||
1817 | +#if defined(__i386__) | ||
1818 | +# define REG_IP REG_EIP | ||
1819 | +#elif defined(__x86_64__) | ||
1820 | +# define REG_IP REG_RIP | ||
1821 | +#endif | ||
1822 | |||
1823 | #define MAX_BTSIZE 64 | ||
1824 | |||
1825 | @@ -42,7 +47,6 @@ | ||
1826 | static char **messages = NULL; | ||
1827 | static size_t btsize = 0; | ||
1828 | static size_t i; | ||
1829 | - static unsigned int old_eip, old_ebp; | ||
1830 | static char *strerr = "???"; | ||
1831 | static FILE *fstrm; | ||
1832 | |||
1833 | @@ -61,10 +65,10 @@ | ||
1834 | SIC_CASE(SEGV_MAPERR); | ||
1835 | SIC_CASE(SEGV_ACCERR); | ||
1836 | } | ||
1837 | - fprintf(fstrm, "=== SEGFAULT (%s) : invalid access to %p, in 0x%08x\n", | ||
1838 | + fprintf(fstrm, "=== SEGFAULT (%s) : invalid access to %p, in %p\n", | ||
1839 | strerr, | ||
1840 | ist->si_addr, | ||
1841 | - puc->uc_mcontext.gregs[REG_EIP]); | ||
1842 | + (void*)puc->uc_mcontext.gregs[REG_IP]); | ||
1843 | break; | ||
1844 | case SIGILL: | ||
1845 | switch(ist->si_code) { | ||
1846 | @@ -77,10 +81,10 @@ | ||
1847 | SIC_CASE(ILL_COPROC); | ||
1848 | SIC_CASE(ILL_BADSTK); | ||
1849 | } | ||
1850 | - fprintf(fstrm, "=== ILLEGAL INSTR (%s) : invalid access to %p, in 0x%08x\n", | ||
1851 | + fprintf(fstrm, "=== ILLEGAL INSTR (%s) : invalid access to %p, in %p\n", | ||
1852 | strerr, | ||
1853 | ist->si_addr, | ||
1854 | - puc->uc_mcontext.gregs[REG_EIP]); | ||
1855 | + (void*)puc->uc_mcontext.gregs[REG_IP]); | ||
1856 | break; | ||
1857 | case SIGBUS: | ||
1858 | switch(ist->si_code) { | ||
1859 | @@ -88,10 +92,10 @@ | ||
1860 | SIC_CASE(BUS_ADRERR); | ||
1861 | SIC_CASE(BUS_OBJERR); | ||
1862 | } | ||
1863 | - fprintf(fstrm, "=== BUS ERROR (%p) : invalid access to %p, in 0x%08x\n", | ||
1864 | + fprintf(fstrm, "=== BUS ERROR (%p) : invalid access to %p, in %p\n", | ||
1865 | strerr, | ||
1866 | ist->si_addr, | ||
1867 | - puc->uc_mcontext.gregs[REG_EIP]); | ||
1868 | + (void*)puc->uc_mcontext.gregs[REG_IP]); | ||
1869 | break; | ||
1870 | } | ||
1871 | fflush(fstrm); | ||
1872 | @@ -101,7 +105,7 @@ | ||
1873 | /* | ||
1874 | old_eip = *(unsigned int*)((void*)&n-4); | ||
1875 | old_ebp = *(unsigned int*)((void*)&n-8); | ||
1876 | - *(unsigned int*)((void*)&n-4) = puc->uc_mcontext.gregs[REG_EIP]; | ||
1877 | + *(unsigned int*)((void*)&n-4) = puc->uc_mcontext.gregs[REG_IP]; | ||
1878 | *(unsigned int*)((void*)&n-8) = puc->uc_mcontext.gregs[REG_EBP]; | ||
1879 | |||
1880 | btsize = backtrace(btinfo, MAX_BTSIZE); | ||
1881 | @@ -111,14 +115,14 @@ | ||
1882 | */ | ||
1883 | |||
1884 | btsize = backtrace(btinfo, MAX_BTSIZE); | ||
1885 | - btinfo[1] = (void*) puc->uc_mcontext.gregs[REG_EIP]; | ||
1886 | + btinfo[1] = (void*) puc->uc_mcontext.gregs[REG_IP]; | ||
1887 | |||
1888 | messages = backtrace_symbols(btinfo, btsize); | ||
1889 | |||
1890 | for(i = 1; | ||
1891 | i < btsize; | ||
1892 | i++) | ||
1893 | - fprintf(fstrm, "[%d] #%d: %s\n", getpid(), i, messages[i]); | ||
1894 | + fprintf(fstrm, "[%d] #%zu: %s\n", getpid(), i, messages[i]); | ||
1895 | fflush(fstrm); | ||
1896 | fclose(fstrm); | ||
1897 | |||
1898 | --- hddtemp-0.3-beta15.orig/src/daemon.c | ||
1899 | +++ hddtemp-0.3-beta15/src/daemon.c | ||
1900 | @@ -163,19 +163,16 @@ | ||
1901 | |||
1902 | switch(dsk->ret) { | ||
1903 | case GETTEMP_NOT_APPLICABLE: | ||
1904 | - n = snprintf(msg, sizeof(msg), "%s%c%s%c%s%c%c", | ||
1905 | + n = snprintf(msg, sizeof(msg), "%s%c%s%cNA%c*", | ||
1906 | dsk->drive, separator, | ||
1907 | dsk->model, separator, | ||
1908 | - "NA", separator, | ||
1909 | - '*'); | ||
1910 | + separator); | ||
1911 | break; | ||
1912 | - case GETTEMP_GUESS: | ||
1913 | case GETTEMP_UNKNOWN: | ||
1914 | - n = snprintf(msg, sizeof(msg), "%s%c%s%c%s%c%c", | ||
1915 | + n = snprintf(msg, sizeof(msg), "%s%c%s%cUNK%c*", | ||
1916 | dsk->drive, separator, | ||
1917 | - dsk->model, separator, | ||
1918 | - "UNK", separator, | ||
1919 | - '*'); | ||
1920 | + dsk->model, separator, | ||
1921 | + separator); | ||
1922 | break; | ||
1923 | case GETTEMP_KNOWN: | ||
1924 | n = snprintf(msg, sizeof(msg), "%s%c%s%c%d%c%c", | ||
1925 | @@ -185,26 +182,23 @@ | ||
1926 | get_unit(dsk)); | ||
1927 | break; | ||
1928 | case GETTEMP_NOSENSOR: | ||
1929 | - n = snprintf(msg, sizeof(msg), "%s%c%s%c%s%c%c", | ||
1930 | + n = snprintf(msg, sizeof(msg), "%s%c%s%cNOS%c*", | ||
1931 | dsk->drive, separator, | ||
1932 | dsk->model, separator, | ||
1933 | - "NOS", separator, | ||
1934 | - '*'); | ||
1935 | + separator); | ||
1936 | break; | ||
1937 | case GETTEMP_DRIVE_SLEEP: | ||
1938 | - n = snprintf(msg, sizeof(msg), "%s%c%s%c%s%c%c", | ||
1939 | + n = snprintf(msg, sizeof(msg), "%s%c%s%cSLP%c*", | ||
1940 | dsk->drive, separator, | ||
1941 | dsk->model, separator, | ||
1942 | - "SLP", separator, | ||
1943 | - '*'); | ||
1944 | + separator); | ||
1945 | break; | ||
1946 | case GETTEMP_ERROR: | ||
1947 | default: | ||
1948 | - n = snprintf(msg, sizeof(msg), "%s%c%s%c%s%c%c", | ||
1949 | + n = snprintf(msg, sizeof(msg), "%s%c%s%cERR%c*", | ||
1950 | dsk->drive, separator, | ||
1951 | (dsk->model) ? dsk->model : "???", separator, | ||
1952 | - "ERR", separator, | ||
1953 | - '*'); | ||
1954 | + separator); | ||
1955 | break; | ||
1956 | } | ||
1957 | write(cfd,&separator, 1); | ||
1958 | @@ -222,14 +216,11 @@ | ||
1959 | for(dsk = ldisks; dsk; dsk = dsk->next) { | ||
1960 | switch(dsk->ret) { | ||
1961 | case GETTEMP_KNOWN: | ||
1962 | - case GETTEMP_GUESS: | ||
1963 | - value_to_unit(dsk); | ||
1964 | - | ||
1965 | syslog(LOG_INFO, "%s: %s: %d %c", | ||
1966 | dsk->drive, | ||
1967 | dsk->model, | ||
1968 | - dsk->value, | ||
1969 | - dsk->db_entry->unit); | ||
1970 | + value_to_unit(dsk), | ||
1971 | + get_unit(dsk)); | ||
1972 | break; | ||
1973 | case GETTEMP_DRIVE_SLEEP: | ||
1974 | syslog(LOG_WARNING, _("%s: %s: drive is sleeping"), | ||
1975 | @@ -270,28 +261,30 @@ | ||
1976 | fd_set deffds; | ||
1977 | time_t next_time; | ||
1978 | |||
1979 | - switch(fork()) { | ||
1980 | - case -1: | ||
1981 | - perror("fork"); | ||
1982 | - exit(2); | ||
1983 | - break; | ||
1984 | - case 0: | ||
1985 | - break; | ||
1986 | - default: | ||
1987 | - exit(0); | ||
1988 | - } | ||
1989 | - | ||
1990 | - setsid(); | ||
1991 | - | ||
1992 | - switch(fork()) { | ||
1993 | - case -1: | ||
1994 | - perror("fork"); | ||
1995 | - exit(2); | ||
1996 | - break; | ||
1997 | - case 0: | ||
1998 | - break; | ||
1999 | - default: | ||
2000 | - exit(0); | ||
2001 | +if (!foreground) { | ||
2002 | + switch(fork()) { | ||
2003 | + case -1: | ||
2004 | + perror("fork"); | ||
2005 | + exit(2); | ||
2006 | + break; | ||
2007 | + case 0: | ||
2008 | + break; | ||
2009 | + default: | ||
2010 | + exit(0); | ||
2011 | + } | ||
2012 | + | ||
2013 | + setsid(); | ||
2014 | + | ||
2015 | + switch(fork()) { | ||
2016 | + case -1: | ||
2017 | + perror("fork"); | ||
2018 | + exit(2); | ||
2019 | + break; | ||
2020 | + case 0: | ||
2021 | + break; | ||
2022 | + default: | ||
2023 | + exit(0); | ||
2024 | + } | ||
2025 | } | ||
2026 | chdir("/"); | ||
2027 | umask(0); | ||
2028 | --- hddtemp-0.3-beta15.orig/src/hddtemp.c | ||
2029 | +++ hddtemp-0.3-beta15/src/hddtemp.c | ||
2030 | @@ -75,7 +75,7 @@ | ||
2031 | char separator = SEPARATOR; | ||
2032 | |||
2033 | struct bustype * bus[BUS_TYPE_MAX]; | ||
2034 | -int tcp_daemon, debug, quiet, numeric, wakeup, af_hint; | ||
2035 | +int tcp_daemon, debug, quiet, numeric, wakeup, foreground, af_hint; | ||
2036 | |||
2037 | static enum { DEFAULT, CELSIUS, FAHRENHEIT } unit; | ||
2038 | |||
2039 | @@ -194,23 +194,7 @@ | ||
2040 | if (numeric && quiet) | ||
2041 | printf("0\n"); | ||
2042 | else | ||
2043 | - printf(_("%s: %s: no sensor\n"), dsk->drive, dsk->model); | ||
2044 | - | ||
2045 | - break; | ||
2046 | - case GETTEMP_GUESS: | ||
2047 | - | ||
2048 | - if(!quiet) | ||
2049 | - fprintf(stderr, | ||
2050 | - _("WARNING: Drive %s doesn't appear in the database of supported drives\n" | ||
2051 | - "WARNING: But using a common value, it reports something.\n" | ||
2052 | - "WARNING: Note that the temperature shown could be wrong.\n" | ||
2053 | - "WARNING: See --help, --debug and --drivebase options.\n" | ||
2054 | - "WARNING: And don't forget you can add your drive to hddtemp.db\n"), dsk->drive); | ||
2055 | - | ||
2056 | - if (! numeric) | ||
2057 | - printf(_("%s: %s: %d%sC or %sF\n"), dsk->drive, dsk->model, dsk->value, degree, degree); | ||
2058 | - else | ||
2059 | - printf("%d\n", value_to_unit(dsk)); | ||
2060 | + fprintf(stderr, _("%s: %s: no sensor\n"), dsk->drive, dsk->model); | ||
2061 | |||
2062 | break; | ||
2063 | case GETTEMP_KNOWN: | ||
2064 | @@ -232,14 +216,14 @@ | ||
2065 | if (numeric && quiet) | ||
2066 | printf("0\n"); | ||
2067 | else | ||
2068 | - printf(_("%s: %s: drive is sleeping\n"), dsk->drive, dsk->model); | ||
2069 | + fprintf(stderr, _("%s: %s: drive is sleeping\n"), dsk->drive, dsk->model); | ||
2070 | |||
2071 | break; | ||
2072 | case GETTEMP_NOSENSOR: | ||
2073 | if (numeric && quiet) | ||
2074 | printf("0\n"); | ||
2075 | else | ||
2076 | - printf(_("%s: %s: drive supported, but it doesn't have a temperature sensor.\n"), dsk->drive, dsk->model); | ||
2077 | + fprintf(stderr, _("%s: %s: drive supported, but it doesn't have a temperature sensor.\n"), dsk->drive, dsk->model); | ||
2078 | |||
2079 | break; | ||
2080 | default: | ||
2081 | @@ -268,8 +252,9 @@ | ||
2082 | |||
2083 | int main(int argc, char* argv[]) { | ||
2084 | int i, c, lindex = 0, db_loaded = 0; | ||
2085 | + int ret = 0; | ||
2086 | int show_db; | ||
2087 | - struct disk * ldisks; | ||
2088 | + struct disk * ldisks; | ||
2089 | |||
2090 | backtrace_sigsegv(); | ||
2091 | backtrace_sigill(); | ||
2092 | @@ -279,7 +264,7 @@ | ||
2093 | bindtextdomain (PACKAGE, LOCALEDIR); | ||
2094 | textdomain (PACKAGE); | ||
2095 | |||
2096 | - show_db = debug = numeric = quiet = wakeup = af_hint = syslog_interval = 0; | ||
2097 | + show_db = debug = numeric = quiet = wakeup = af_hint = syslog_interval = foreground = 0; | ||
2098 | unit = DEFAULT; | ||
2099 | portnum = PORT_NUMBER; | ||
2100 | listen_addr = NULL; | ||
2101 | @@ -294,6 +279,7 @@ | ||
2102 | {"drivebase", 0, NULL, 'b'}, | ||
2103 | {"debug", 0, NULL, 'D'}, | ||
2104 | {"file", 1, NULL, 'f'}, | ||
2105 | + {"foreground", 0, NULL, 'F'}, | ||
2106 | {"listen", 1, NULL, 'l'}, | ||
2107 | {"version", 0, NULL, 'v'}, | ||
2108 | {"port", 1, NULL, 'p'}, | ||
2109 | @@ -305,7 +291,7 @@ | ||
2110 | {0, 0, 0, 0} | ||
2111 | }; | ||
2112 | |||
2113 | - c = getopt_long (argc, argv, "bDdf:l:hp:qs:u:vnw46S:", long_options, &lindex); | ||
2114 | + c = getopt_long (argc, argv, "bDdf:l:hp:qs:u:vnw46FS:", long_options, &lindex); | ||
2115 | if (c == -1) | ||
2116 | break; | ||
2117 | |||
2118 | @@ -382,12 +368,13 @@ | ||
2119 | " (done for every drive supplied).\n" | ||
2120 | " -d --daemon : run hddtemp in TCP/IP daemon mode (port %d by default.)\n" | ||
2121 | " -f --file=FILE : specify database file to use.\n" | ||
2122 | + " -F --foreground : don't daemonize, stay in foreground.\n" | ||
2123 | " -l --listen=addr : listen on a specific interface (in TCP/IP daemon mode).\n" | ||
2124 | " -n --numeric : print only the temperature.\n" | ||
2125 | " -p --port=# : port to listen to (in TCP/IP daemon mode).\n" | ||
2126 | " -s --separator=C : separator to use between fields (in TCP/IP daemon mode).\n" | ||
2127 | " -S --syslog=s : log temperature to syslog every s seconds.\n" | ||
2128 | - " -u --unit=[C|F] : force output temperature either in Celius or Fahrenheit.\n" | ||
2129 | + " -u --unit=[C|F] : force output temperature either in Celsius or Fahrenheit.\n" | ||
2130 | " -q --quiet : do not check if the drive is supported.\n" | ||
2131 | " -v --version : display hddtemp version number.\n" | ||
2132 | " -w --wake-up : wake-up the drive if need.\n" | ||
2133 | @@ -418,6 +405,9 @@ | ||
2134 | } | ||
2135 | } | ||
2136 | break; | ||
2137 | + case 'F': | ||
2138 | + foreground = 1; | ||
2139 | + break; | ||
2140 | default: | ||
2141 | exit(1); | ||
2142 | } | ||
2143 | @@ -489,6 +479,7 @@ | ||
2144 | if( (dsk->fd = open(dsk->drive, O_RDONLY | O_NONBLOCK)) < 0) { | ||
2145 | snprintf(dsk->errormsg, MAX_ERRORMSG_SIZE, "open: %s\n", strerror(errno)); | ||
2146 | dsk->type = ERROR; | ||
2147 | + ret = 1; | ||
2148 | continue; | ||
2149 | } | ||
2150 | |||
2151 | @@ -501,6 +492,7 @@ | ||
2152 | |||
2153 | ldisks = dsk->next; | ||
2154 | free(dsk); | ||
2155 | + ret = 1; | ||
2156 | continue; | ||
2157 | } | ||
2158 | |||
2159 | @@ -514,11 +506,17 @@ | ||
2160 | db_loaded = 1; | ||
2161 | } | ||
2162 | |||
2163 | + dsk->db_entry = (struct harddrive_entry *)malloc(sizeof(struct harddrive_entry)); | ||
2164 | dbe = is_a_supported_drive(dsk->model); | ||
2165 | - if(dbe) { | ||
2166 | - dsk->db_entry = (struct harddrive_entry *)malloc(sizeof(struct harddrive_entry)); | ||
2167 | + if(dbe) | ||
2168 | memcpy(dsk->db_entry, dbe, sizeof(struct harddrive_entry)); | ||
2169 | - } | ||
2170 | + else { | ||
2171 | + dsk->db_entry->regexp = ""; | ||
2172 | + dsk->db_entry->description = ""; | ||
2173 | + dsk->db_entry->attribute_id = DEFAULT_ATTRIBUTE_ID; | ||
2174 | + dsk->db_entry->unit = 'C'; | ||
2175 | + dsk->db_entry->next = NULL; | ||
2176 | + } | ||
2177 | } | ||
2178 | } | ||
2179 | |||
2180 | @@ -530,5 +528,5 @@ | ||
2181 | do_direct_mode(ldisks); | ||
2182 | } | ||
2183 | |||
2184 | - return 0; | ||
2185 | + return ret; | ||
2186 | } | ||
2187 | --- hddtemp-0.3-beta15.orig/src/ata.c | ||
2188 | +++ hddtemp-0.3-beta15/src/ata.c | ||
2189 | @@ -75,7 +75,7 @@ | ||
2190 | int i; | ||
2191 | u16 * p; | ||
2192 | |||
2193 | - if(dsk->db_entry && dsk->db_entry->attribute_id == 0) { | ||
2194 | + if(dsk->db_entry->attribute_id == 0) { | ||
2195 | close(dsk->fd); | ||
2196 | dsk->fd = -1; | ||
2197 | return GETTEMP_NOSENSOR; | ||
2198 | @@ -140,24 +140,15 @@ | ||
2199 | */ | ||
2200 | |||
2201 | /* temperature */ | ||
2202 | - if(dsk->db_entry && dsk->db_entry->attribute_id > 0) | ||
2203 | - field = ata_search_temperature(values, dsk->db_entry->attribute_id); | ||
2204 | - else | ||
2205 | - field = ata_search_temperature(values, DEFAULT_ATTRIBUTE_ID); | ||
2206 | + field = ata_search_temperature(values, dsk->db_entry->attribute_id); | ||
2207 | |||
2208 | if(field) | ||
2209 | dsk->value = *(field+3); | ||
2210 | |||
2211 | - if(dsk->db_entry && dsk->value != -1) | ||
2212 | + if(dsk->value != -1) | ||
2213 | return GETTEMP_KNOWN; | ||
2214 | - else { | ||
2215 | - if(dsk->value != -1) { | ||
2216 | - return GETTEMP_GUESS; | ||
2217 | - } | ||
2218 | - else { | ||
2219 | - return GETTEMP_UNKNOWN; | ||
2220 | - } | ||
2221 | - } | ||
2222 | + else | ||
2223 | + return GETTEMP_UNKNOWN; | ||
2224 | |||
2225 | /* never reached */ | ||
2226 | } | ||
2227 | --- hddtemp-0.3-beta15.orig/src/hddtemp.h | ||
2228 | +++ hddtemp-0.3-beta15/src/hddtemp.h | ||
2229 | @@ -39,8 +39,6 @@ | ||
2230 | GETTEMP_ERROR, /* Error */ | ||
2231 | GETTEMP_NOT_APPLICABLE, /* */ | ||
2232 | GETTEMP_UNKNOWN, /* Drive is not in database */ | ||
2233 | - GETTEMP_GUESS, /* Not in database, but something was guessed, user must | ||
2234 | - check that the temperature returned is correct */ | ||
2235 | GETTEMP_KNOWN, /* Drive appear in database */ | ||
2236 | GETTEMP_NOSENSOR, /* Drive appear in database but is known to have no sensor */ | ||
2237 | GETTEMP_DRIVE_SLEEP /* Drive is sleeping */ | ||
2238 | @@ -78,7 +76,7 @@ | ||
2239 | |||
2240 | extern struct bustype * bus[BUS_TYPE_MAX]; | ||
2241 | extern char errormsg[MAX_ERRORMSG_SIZE]; | ||
2242 | -extern int tcp_daemon, debug, quiet, wakeup, af_hint; | ||
2243 | +extern int tcp_daemon, debug, quiet, wakeup, af_hint, foreground; | ||
2244 | extern char separator; | ||
2245 | extern long portnum, syslog_interval; | ||
2246 | extern char * listen_addr; | ||
2247 | --- hddtemp-0.3-beta15.orig/src/scsicmds.c | ||
2248 | +++ hddtemp-0.3-beta15/src/scsicmds.c | ||
2249 | @@ -147,6 +147,7 @@ | ||
2250 | return 1; | ||
2251 | else { | ||
2252 | scsi_fixstring(buffer + 8, 24); | ||
2253 | + buffer[32] = 0; | ||
2254 | return 0; | ||
2255 | } | ||
2256 | } | ||
diff --git a/meta-oe/recipes-support/hddtemp/hddtemp/init b/meta-oe/recipes-support/hddtemp/hddtemp/init new file mode 100644 index 000000000..0df8f67f6 --- /dev/null +++ b/meta-oe/recipes-support/hddtemp/hddtemp/init | |||
@@ -0,0 +1,100 @@ | |||
1 | #!/bin/sh | ||
2 | # | ||
3 | # skeleton example file to build /etc/init.d/ scripts. | ||
4 | # This file should be used to construct scripts for /etc/init.d. | ||
5 | # | ||
6 | # Written by Miquel van Smoorenburg <miquels@cistron.nl>. | ||
7 | # Modified for Debian GNU/Linux | ||
8 | # by Ian Murdock <imurdock@gnu.ai.mit.edu>. | ||
9 | # | ||
10 | # Version: @(#)skeleton 1.8 03-Mar-1998 miquels@cistron.nl | ||
11 | # | ||
12 | |||
13 | ### BEGIN INIT INFO | ||
14 | # Provides: hddtemp | ||
15 | # Required-Start: $remote_fs $syslog $network | ||
16 | # Required-Stop: $remote_fs $syslog $network | ||
17 | # Default-Start: 2 3 4 5 | ||
18 | # Default-Stop: 0 1 6 | ||
19 | # Short-Description: disk temperature monitoring daemon | ||
20 | # Description: hddtemp is a disk temperature monitoring daemon | ||
21 | ### END INIT INFO | ||
22 | |||
23 | PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin | ||
24 | NAME=hddtemp | ||
25 | DAEMON=/usr/sbin/$NAME | ||
26 | DESC="disk temperature monitoring daemon" | ||
27 | |||
28 | DISKS="/dev/hd[a-z] /dev/hd[a-z][a-z]" | ||
29 | DISKS="$DISKS /dev/sd[a-z] /dev/sd[a-z][a-z]" | ||
30 | DISKS="$DISKS /dev/sr[a-z] /dev/sr[a-z][a-z]" | ||
31 | INTERFACE="0.0.0.0" | ||
32 | PORT="7634" | ||
33 | SEPARATOR="|" | ||
34 | RUN_SYSLOG="0" | ||
35 | |||
36 | # Reads config file (will override defaults above) | ||
37 | [ -r /etc/default/hddtemp ] && . /etc/default/hddtemp | ||
38 | |||
39 | if [ -n "$RUN_SYSLOG" ] && [ "$RUN_SYSLOG" != "0" ] ; then | ||
40 | SYSLOG_ARG="-S $RUN_SYSLOG" | ||
41 | fi | ||
42 | |||
43 | if [ "$RUN_DAEMON" = "true" ] || [ "$RUN_DAEMON" = "yes" ] ; then | ||
44 | DAEMON_ARG="-d -l $INTERFACE -p $PORT -s $SEPARATOR" | ||
45 | fi | ||
46 | |||
47 | [ -x "$DAEMON" ] || exit 0 | ||
48 | |||
49 | . /lib/lsb/init-functions | ||
50 | |||
51 | case "$1" in | ||
52 | start) | ||
53 | # master switch | ||
54 | if [ -n "$DAEMON_ARG" ] || [ -n "$SYSLOG_ARG" ] ; then | ||
55 | log_daemon_msg "Starting $DESC" "$NAME:" | ||
56 | CDROMS_LIST=$(sed -ne 's/^drive name:\t\+\(.*\)$/ \/dev\/\1/p' /proc/sys/dev/cdrom/info 2>/dev/null) || : | ||
57 | CDROMS_LIST="$CDROMS_LIST $(grep -sl '^ide-scsi ' /proc/ide/hd*/driver | awk -F / '{ print "/dev/"$4 }')" | ||
58 | for disk in $DISKS ; do | ||
59 | echo $CDROMS_LIST | grep -wq $disk && continue | ||
60 | echo $DISKS_NOPROBE | grep -wq $disk && continue | ||
61 | if $DAEMON -wn $OPTIONS $disk 2>/dev/null | grep -q '^[0-9]\+$' ; then | ||
62 | DISKS_LIST="$DISKS_LIST $disk"; | ||
63 | fi | ||
64 | done | ||
65 | if [ -n "$DISKS_LIST" ] || [ -n "$DISKS_NOPROBE" ] ; then | ||
66 | start-stop-daemon --start --quiet --exec $DAEMON -- $DAEMON_ARG $SYSLOG_ARG $OPTIONS $DISKS_NOPROBE $DISKS_LIST | ||
67 | ret=$? | ||
68 | log_progress_msg "$DISKS_NOPROBE$DISKS_LIST" | ||
69 | log_end_msg $ret | ||
70 | else | ||
71 | log_progress_msg "no disks with monitoring capability were found." | ||
72 | log_end_msg 0 | ||
73 | fi | ||
74 | fi | ||
75 | ;; | ||
76 | stop) | ||
77 | # master switch | ||
78 | if [ "$RUN_DAEMON" = "true" ] || [ "$RUN_DAEMON" = "yes" ] || [ "$RUN_SYSLOG" != "0" ] ; then | ||
79 | log_daemon_msg "Stopping $DESC" "$NAME" | ||
80 | start-stop-daemon --stop --oknodo --exec $DAEMON --retry 30 | ||
81 | log_end_msg $? | ||
82 | fi | ||
83 | ;; | ||
84 | force-reload|reload) | ||
85 | exit 3 | ||
86 | ;; | ||
87 | restart) | ||
88 | $0 stop && $0 start | ||
89 | ;; | ||
90 | status) | ||
91 | status_of_proc $DAEMON $NAME | ||
92 | exit $? | ||
93 | ;; | ||
94 | *) | ||
95 | echo "Usage: /etc/init.d/$NAME {start|stop|restart|status}" >&2 | ||
96 | exit 1 | ||
97 | ;; | ||
98 | esac | ||
99 | |||
100 | exit 0 | ||
diff --git a/meta-oe/recipes-support/hddtemp/hddtemp_0.3-beta15.bb b/meta-oe/recipes-support/hddtemp/hddtemp_0.3-beta15.bb new file mode 100644 index 000000000..601b7b115 --- /dev/null +++ b/meta-oe/recipes-support/hddtemp/hddtemp_0.3-beta15.bb | |||
@@ -0,0 +1,32 @@ | |||
1 | SUMMARY = "Hard disk temperature monitor daemon" | ||
2 | SECTION = "console/network" | ||
3 | LICENSE = "GPLv2+" | ||
4 | |||
5 | PR = "r1" | ||
6 | |||
7 | SRC_URI = "${SAVANNAH_NONGNU_MIRROR}/hddtemp/hddtemp-0.3-beta15.tar.bz2 \ | ||
8 | file://hddtemp-no-nls-support.patch \ | ||
9 | file://hddtemp_0.3-beta15-52.diff \ | ||
10 | file://hddtemp-0.3-beta15-autodetect-717479.patch \ | ||
11 | file://hddtemp.db \ | ||
12 | file://init \ | ||
13 | " | ||
14 | |||
15 | SRC_URI[md5sum] = "8b829339e1ae9df701684ec239021bb8" | ||
16 | SRC_URI[sha256sum] = "618541584054093d53be8a2d9e81c97174f30f00af91cb8700a97e442d79ef5b" | ||
17 | |||
18 | LIC_FILES_CHKSUM = "file://GPL-2;md5=eb723b61539feef013de476e68b5c50a" | ||
19 | |||
20 | inherit autotools gettext update-rc.d | ||
21 | |||
22 | FILES_${PN} += "/usr/share/misc/hddtemp.db" | ||
23 | |||
24 | do_install_append() { | ||
25 | install -d ${D}/usr/share/misc/ | ||
26 | install -m 0644 ${WORKDIR}/hddtemp.db ${D}/usr/share/misc/hddtemp.db | ||
27 | install -d ${D}${sysconfdir}/init.d | ||
28 | install -m 0644 ${WORKDIR}/init ${D}${sysconfdir}/init.d/hddtemp | ||
29 | } | ||
30 | |||
31 | INITSCRIPT_NAME = "hddtemp" | ||
32 | INITSCRIPT_PARAMS = "start 99 2 3 4 5 . stop 20 0 1 6 ." | ||
diff --git a/meta-oe/recipes-support/htop/htop/remove-proc-test.patch b/meta-oe/recipes-support/htop/htop/remove-proc-test.patch new file mode 100644 index 000000000..3185fdd1f --- /dev/null +++ b/meta-oe/recipes-support/htop/htop/remove-proc-test.patch | |||
@@ -0,0 +1,13 @@ | |||
1 | --- htop-0.6.6/configure.ac 2007-05-21 13:06:15.000000000 -0500 | ||
2 | +++ htop-0.6.6-cross/configure.ac 2007-11-16 14:12:16.000000000 -0600 | ||
3 | @@ -58,8 +58,8 @@ | ||
4 | fi, | ||
5 | AC_DEFINE(PROCDIR, "/proc", [Path of proc filesystem])) | ||
6 | |||
7 | -AC_CHECK_FILE($PROCDIR/stat,,AC_MSG_ERROR(Cannot find /proc/stat. Make sure you have a Linux-compatible /proc filesystem mounted. See the file README for help.)) | ||
8 | -AC_CHECK_FILE($PROCDIR/meminfo,,AC_MSG_ERROR(Cannot find /proc/meminfo. Make sure you have a Linux-compatible /proc filesystem mounted. See the file README for help.)) | ||
9 | +#AC_CHECK_FILE($PROCDIR/stat,,AC_MSG_ERROR(Cannot find /proc/stat. Make sure you have a Linux-compatible /proc filesystem mounted. See the file README for help.)) | ||
10 | +#AC_CHECK_FILE($PROCDIR/meminfo,,AC_MSG_ERROR(Cannot find /proc/meminfo. Make sure you have a Linux-compatible /proc filesystem mounted. See the file README for help.)) | ||
11 | |||
12 | AC_CONFIG_FILES([Makefile]) | ||
13 | AC_OUTPUT | ||
diff --git a/meta-oe/recipes-support/htop/htop_1.0.3.bb b/meta-oe/recipes-support/htop/htop_1.0.3.bb new file mode 100644 index 000000000..4e445c8b3 --- /dev/null +++ b/meta-oe/recipes-support/htop/htop_1.0.3.bb | |||
@@ -0,0 +1,22 @@ | |||
1 | SUMMARY = "htop process monitor" | ||
2 | HOMEPAGE = "http://htop.sf.net" | ||
3 | SECTION = "console/utils" | ||
4 | LICENSE = "GPLv2" | ||
5 | |||
6 | LIC_FILES_CHKSUM = "file://COPYING;md5=c312653532e8e669f30e5ec8bdc23be3" | ||
7 | |||
8 | DEPENDS = "ncurses" | ||
9 | RDEPENDS_${PN} = "ncurses-terminfo" | ||
10 | |||
11 | SRC_URI = "http://hisham.hm/htop/releases/${PV}/htop-${PV}.tar.gz" | ||
12 | |||
13 | SRC_URI[md5sum] = "e768b9b55c033d9c1dffda72db3a6ac7" | ||
14 | SRC_URI[sha256sum] = "055c57927f75847fdc222b5258b079a9542811a9dcf5421c615c7e17f55d1829" | ||
15 | |||
16 | LDFLAGS_append_libc-uclibc = " -lubacktrace" | ||
17 | |||
18 | do_configure_prepend () { | ||
19 | rm -rf ${S}/config.h | ||
20 | } | ||
21 | |||
22 | inherit autotools | ||
diff --git a/meta-oe/recipes-support/iksemel/iksemel-1.4/r25.diff b/meta-oe/recipes-support/iksemel/iksemel-1.4/r25.diff new file mode 100644 index 000000000..e666ce07b --- /dev/null +++ b/meta-oe/recipes-support/iksemel/iksemel-1.4/r25.diff | |||
@@ -0,0 +1,32 @@ | |||
1 | Taken from upstream subversion repository: | ||
2 | |||
3 | http://code.google.com/p/iksemel/source/detail?r=25 | ||
4 | |||
5 | =================================================================== | ||
6 | --- | ||
7 | configure.ac | 10 +++++++++- | ||
8 | 1 file changed, 9 insertions(+), 1 deletion(-) | ||
9 | |||
10 | --- iksemel-1.4.orig/configure.ac | ||
11 | +++ iksemel-1.4/configure.ac | ||
12 | @@ -43,11 +43,19 @@ AM_CONDITIONAL(DO_POSIX, test "x$defio" | ||
13 | dnl Checks for library functions | ||
14 | AC_SEARCH_LIBS(recv,socket) | ||
15 | AC_CHECK_FUNCS(getopt_long) | ||
16 | AC_CHECK_FUNCS(getaddrinfo) | ||
17 | |||
18 | -AM_PATH_LIBGNUTLS(,AC_DEFINE(HAVE_GNUTLS,,"Use libgnutls")) | ||
19 | +dnl Check GNU TLS | ||
20 | +PKG_CHECK_MODULES(GNUTLS, gnutls >= 2.0.0, have_gnutls=yes, have_gnutls=no) | ||
21 | +if test "x$have_gnutls" = "xyes"; then | ||
22 | + LIBGNUTLS_CFLAGS="$GNUTLS_CFLAGS" | ||
23 | + LIBGNUTLS_LIBS="$GNUTLS_LIBS" | ||
24 | + AC_SUBST(LIBGNUTLS_CFLAGS) | ||
25 | + AC_SUBST(LIBGNUTLS_LIBS) | ||
26 | + AC_DEFINE(HAVE_GNUTLS, 1, [whether to use GnuTSL support.]) | ||
27 | +fi | ||
28 | |||
29 | dnl Check -Wall flag of GCC | ||
30 | if test "x$GCC" = "xyes"; then | ||
31 | if test -z "`echo "$CFLAGS" | grep "\-Wall" 2> /dev/null`" ; then | ||
32 | CFLAGS="$CFLAGS -Wall" | ||
diff --git a/meta-oe/recipes-support/iksemel/iksemel_1.4.bb b/meta-oe/recipes-support/iksemel/iksemel_1.4.bb new file mode 100644 index 000000000..6d2abf7ce --- /dev/null +++ b/meta-oe/recipes-support/iksemel/iksemel_1.4.bb | |||
@@ -0,0 +1,16 @@ | |||
1 | SUMMARY = "Fast and portable XML parser and Jabber protocol library" | ||
2 | AUTHOR = "Gurer Ozen <meduketto at gmail.com>" | ||
3 | HOMEPAGE = "http://iksemel.googlecode.com" | ||
4 | SECTION = "libs" | ||
5 | LICENSE = "LGPLv2.1" | ||
6 | LIC_FILES_CHKSUM = "file://COPYING;md5=d8045f3b8f929c1cb29a1e3fd737b499" | ||
7 | DEPENDS = "gnutls" | ||
8 | |||
9 | PR = "r1" | ||
10 | |||
11 | SRC_URI = "http://iksemel.googlecode.com/files/${BP}.tar.gz;name=archive \ | ||
12 | file://r25.diff" | ||
13 | SRC_URI[archive.md5sum] = "532e77181694f87ad5eb59435d11c1ca" | ||
14 | SRC_URI[archive.sha256sum] = "458c1b8fb3349076a6cecf26c29db1d561315d84e16bfcfba419f327f502e244" | ||
15 | |||
16 | inherit autotools pkgconfig | ||
diff --git a/meta-oe/recipes-support/imagemagick/imagemagick_6.8.9.bb b/meta-oe/recipes-support/imagemagick/imagemagick_6.8.9.bb new file mode 100644 index 000000000..7cb8f0189 --- /dev/null +++ b/meta-oe/recipes-support/imagemagick/imagemagick_6.8.9.bb | |||
@@ -0,0 +1,41 @@ | |||
1 | SUMMARY = "ImageMagick is an image convertion tools" | ||
2 | SECTION = "console/utils" | ||
3 | LICENSE = "ImageMagick" | ||
4 | LIC_FILES_CHKSUM = "file://LICENSE;md5=5d84c6ddd4028aa53d028b4c50f9361e" | ||
5 | # FIXME: There are many more checked libraries. All should be added or explicitly disabled to get consistent results. | ||
6 | DEPENDS = "lcms bzip2 jpeg libpng librsvg tiff zlib virtual/fftw freetype" | ||
7 | |||
8 | PATCHSET = "8" | ||
9 | SRC_URI = "http://www.imagemagick.org/download/releases/ImageMagick-${PV}-${PATCHSET}.tar.bz2 \ | ||
10 | " | ||
11 | SRC_URI[md5sum] = "7e96f55156d72ce59c76ec93362ec72a" | ||
12 | SRC_URI[sha256sum] = "51e0eb0b56e2f16be11c29086a97d474ffd07fe4eb5a9858d8a9c8e9c054c99a" | ||
13 | |||
14 | S = "${WORKDIR}/ImageMagick-${PV}-${PATCHSET}" | ||
15 | |||
16 | inherit autotools pkgconfig | ||
17 | |||
18 | # xml disabled because it's using xml2-config --prefix to determine prefix which returns just /usr with our libxml2 | ||
19 | # if someone needs xml support then fix it first | ||
20 | EXTRA_OECONF = "--program-prefix= --program-suffix=.im6 --without-x --without-perl --disable-openmp --without-xml --disable-opencl" | ||
21 | |||
22 | CACHED_CONFIGUREVARS = "ac_cv_sys_file_offset_bits=yes" | ||
23 | PACKAGECONFIG ??= "" | ||
24 | PACKAGECONFIG[jp2] = "--with-jp2,,jasper" | ||
25 | PACKAGECONFIG[lzma] = "--with-lzma,--without-lzma,xz" | ||
26 | PACKAGECONFIG[pango] = "--with-pango,--without-pango,pango cairo" | ||
27 | PACKAGECONFIG[webp] = "--with-webp,--without-webp,libwebp" | ||
28 | PACKAGECONFIG[wmf] = "--with-wmf,--without-wmf,libwmf" | ||
29 | |||
30 | FILES_${PN} += "${libdir}/ImageMagick-${PV}/modules-Q16/*/*.so \ | ||
31 | ${libdir}/ImageMagick-${PV}/modules-Q16/*/*.la \ | ||
32 | ${libdir}/ImageMagick-${PV}/modules-Q16/filters \ | ||
33 | ${libdir}/ImageMagick-${PV}/modules-Q16/coders \ | ||
34 | ${libdir}/ImageMagick-${PV}/config-Q16 \ | ||
35 | ${datadir}/ImageMagick-6 " | ||
36 | |||
37 | FILES_${PN}-dev += "${libdir}/ImageMagick-${PV}/modules-Q16/*/*.a" | ||
38 | |||
39 | FILES_${PN}-dbg += "${libdir}/ImageMagick-${PV}/modules-Q16/*/.debug/*" | ||
40 | |||
41 | BBCLASSEXTEND = "native" | ||
diff --git a/meta-oe/recipes-support/inih/libinih_git.bb b/meta-oe/recipes-support/inih/libinih_git.bb new file mode 100644 index 000000000..5030c78a3 --- /dev/null +++ b/meta-oe/recipes-support/inih/libinih_git.bb | |||
@@ -0,0 +1,19 @@ | |||
1 | SUMMARY = "C and C++ INI Library" | ||
2 | HOMEPAGE = "http://code.google.com/p/inih/" | ||
3 | PV = "0.0+gitr${SRCPV}" | ||
4 | PKGV = "${GITPKGVTAG}" | ||
5 | LICENSE = "BSD" | ||
6 | LIC_FILES_CHKSUM = "file://LICENSE;md5=dae28cbf28207425e0d0b3eb835f4bde" | ||
7 | |||
8 | PR = "r3" | ||
9 | |||
10 | # The github repository provides a cmake and pkg-config integration | ||
11 | SRCREV = "25078f7156eb8647b3b35dd25f9ae6f8c4ee0589" | ||
12 | SRC_URI = "git://github.com/OSSystems/inih.git" | ||
13 | |||
14 | S = "${WORKDIR}/git" | ||
15 | |||
16 | inherit gitpkgv cmake | ||
17 | |||
18 | # We don't have libinih since we only have static libraries | ||
19 | ALLOW_EMPTY_${PN} = "1" | ||
diff --git a/meta-oe/recipes-support/iso-codes/iso-codes_1.4.bb b/meta-oe/recipes-support/iso-codes/iso-codes_1.4.bb new file mode 100644 index 000000000..ed89a12e4 --- /dev/null +++ b/meta-oe/recipes-support/iso-codes/iso-codes_1.4.bb | |||
@@ -0,0 +1,17 @@ | |||
1 | SUMMARY = "ISO language, territory, currency, script codes and their translations" | ||
2 | LICENSE = "LGPLv2.1" | ||
3 | LIC_FILES_CHKSUM = "file://LGPL-2.1;md5=fbc093901857fcd118f065f900982c24" | ||
4 | |||
5 | PR = "r2" | ||
6 | |||
7 | SRC_URI = "ftp://pkg-isocodes.alioth.debian.org/pub/pkg-isocodes/iso-codes-${PV}.tar.bz2" | ||
8 | SRC_URI[md5sum] = "4073466e57df23d39721513219e4f7ae" | ||
9 | SRC_URI[sha256sum] = "0a7cf177c25b3f0d77c60a5f1149aab9e03ba70f69bac70138a867efe19a1d97" | ||
10 | |||
11 | # inherit gettext cannot be used, because it adds gettext-native to BASEDEPENDS which | ||
12 | # are inhibited by allarch | ||
13 | DEPENDS = "gettext-native" | ||
14 | |||
15 | inherit autotools allarch | ||
16 | |||
17 | FILES_${PN} += "${datadir}/xml/" | ||
diff --git a/meta-oe/recipes-support/joe/joe_3.1.bb b/meta-oe/recipes-support/joe/joe_3.1.bb new file mode 100644 index 000000000..fb9a9fbab --- /dev/null +++ b/meta-oe/recipes-support/joe/joe_3.1.bb | |||
@@ -0,0 +1,15 @@ | |||
1 | SECTION = "console/utils" | ||
2 | SUMMARY = "Console text editor with good functionality, good choice for vi-haters" | ||
3 | HOMEPAGE = "http://joe-editor.sourceforge.net/" | ||
4 | LICENSE = "GPLv1" | ||
5 | LIC_FILES_CHKSUM = "file://COPYING;md5=da10ed7cf8038981c580e11c1d3e8fb6" | ||
6 | |||
7 | SRC_URI = "${SOURCEFORGE_MIRROR}/joe-editor/joe-${PV}.tar.gz" | ||
8 | |||
9 | PACKAGECONFIG ??= "curses" | ||
10 | PACKAGECONFIG[curses] = "--enable-curses,--disable-curses,ncurses,ncurses-terminfo" | ||
11 | |||
12 | inherit autotools | ||
13 | |||
14 | SRC_URI[md5sum] = "2a6ef018870fca9b7df85401994fb0e0" | ||
15 | SRC_URI[sha256sum] = "252390e4bc687957f09f334095904c8cc53b39c7b663ed47861ae1d11aef5946" | ||
diff --git a/meta-oe/recipes-support/lcms/lcms_2.6.bb b/meta-oe/recipes-support/lcms/lcms_2.6.bb new file mode 100644 index 000000000..ad727df38 --- /dev/null +++ b/meta-oe/recipes-support/lcms/lcms_2.6.bb | |||
@@ -0,0 +1,15 @@ | |||
1 | SUMMARY = "Little cms is a small-footprint, speed optimized color management engine" | ||
2 | SECTION = "libs" | ||
3 | LICENSE = "MIT" | ||
4 | LIC_FILES_CHKSUM = "file://COPYING;md5=6c786c3b7a4afbd3c990f1b81261d516" | ||
5 | SRC_URI = "${SOURCEFORGE_MIRROR}/lcms/lcms2-${PV}.tar.gz" | ||
6 | SRC_URI[md5sum] = "f4c08d38ceade4a664ebff7228910a33" | ||
7 | SRC_URI[sha256sum] = "5172528839647c54c3da211837225e221be93e4733f5b5e9f57668f7107e14b1" | ||
8 | |||
9 | DEPENDS = "tiff" | ||
10 | |||
11 | BBCLASSEXTEND = "native" | ||
12 | |||
13 | S = "${WORKDIR}/lcms2-${PV}" | ||
14 | |||
15 | inherit autotools | ||
diff --git a/meta-oe/recipes-support/libatasmart/libatasmart_0.19.bb b/meta-oe/recipes-support/libatasmart/libatasmart_0.19.bb new file mode 100644 index 000000000..16657b4b1 --- /dev/null +++ b/meta-oe/recipes-support/libatasmart/libatasmart_0.19.bb | |||
@@ -0,0 +1,19 @@ | |||
1 | SUMMARY = "ATA S.M.A.R.T. Reading and Parsing Library" | ||
2 | LICENSE = "LGPLv2.1" | ||
3 | LIC_FILES_CHKSUM = "file://LGPL;md5=2d5025d4aa3495befef8f17206a5b0a1" | ||
4 | |||
5 | DEPENDS = "udev" | ||
6 | |||
7 | SRCREV = "de6258940960443038b4c1651dfda3620075e870" | ||
8 | SRC_URI = "git://git.0pointer.de/libatasmart.git" | ||
9 | |||
10 | S = "${WORKDIR}/git" | ||
11 | |||
12 | inherit autotools lib_package pkgconfig | ||
13 | |||
14 | do_install_append() { | ||
15 | sed -i -e s://:/:g -e 's:=${libdir}/libudev.la:-ludev:g' ${D}${libdir}/libatasmart.la | ||
16 | } | ||
17 | |||
18 | PACKAGES =+ "${PN}-dev-vala" | ||
19 | FILES_${PN}-dev-vala = "${datadir}/vala" | ||
diff --git a/meta-oe/recipes-support/libcanberra/files/0001-build-gtk-and-gtk3-version-for-canberra_gtk_play.patch b/meta-oe/recipes-support/libcanberra/files/0001-build-gtk-and-gtk3-version-for-canberra_gtk_play.patch new file mode 100644 index 000000000..4e0984f36 --- /dev/null +++ b/meta-oe/recipes-support/libcanberra/files/0001-build-gtk-and-gtk3-version-for-canberra_gtk_play.patch | |||
@@ -0,0 +1,92 @@ | |||
1 | From 4a89ddffbb14d747adbe3365ace4db87de52ba39 Mon Sep 17 00:00:00 2001 | ||
2 | From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@googlemail.com> | ||
3 | Date: Mon, 16 Sep 2013 16:08:28 +0200 | ||
4 | Subject: [PATCH] build gtk- and gtk3-version for canberra_gtk_play | ||
5 | MIME-Version: 1.0 | ||
6 | Content-Type: text/plain; charset=UTF-8 | ||
7 | Content-Transfer-Encoding: 8bit | ||
8 | |||
9 | Signed-off-by: Andreas Müller <schnitzeltony@googlemail.com> | ||
10 | --- | ||
11 | src/Makefile.am | 25 +++++++++++++++---------- | ||
12 | 1 files changed, 15 insertions(+), 10 deletions(-) | ||
13 | |||
14 | diff --git a/src/Makefile.am b/src/Makefile.am | ||
15 | index 56ed96d..fc72e1f 100644 | ||
16 | --- a/src/Makefile.am | ||
17 | +++ b/src/Makefile.am | ||
18 | @@ -319,9 +319,6 @@ endif | ||
19 | |||
20 | if HAVE_GTK_ANY | ||
21 | |||
22 | -bin_PROGRAMS += \ | ||
23 | - canberra-gtk-play | ||
24 | - | ||
25 | include_HEADERS += \ | ||
26 | canberra-gtk.h | ||
27 | |||
28 | @@ -329,6 +326,9 @@ endif | ||
29 | |||
30 | if HAVE_GTK3 | ||
31 | |||
32 | +bin_PROGRAMS += \ | ||
33 | + canberra-gtk3-play | ||
34 | + | ||
35 | lib_LTLIBRARIES += \ | ||
36 | libcanberra-gtk3.la | ||
37 | |||
38 | @@ -367,6 +367,9 @@ endif | ||
39 | |||
40 | if HAVE_GTK | ||
41 | |||
42 | +bin_PROGRAMS += \ | ||
43 | + canberra-gtk-play | ||
44 | + | ||
45 | lib_LTLIBRARIES += \ | ||
46 | libcanberra-gtk.la | ||
47 | |||
48 | @@ -399,14 +402,17 @@ endif | ||
49 | |||
50 | if HAVE_GTK3 | ||
51 | |||
52 | -canberra_gtk_play_LDADD = \ | ||
53 | +canberra_gtk3_play_LDADD = \ | ||
54 | $(GTK3_LIBS) \ | ||
55 | libcanberra.la \ | ||
56 | libcanberra-gtk3.la | ||
57 | -canberra_gtk_play_CFLAGS = \ | ||
58 | +canberra_gtk3_play_CFLAGS = \ | ||
59 | $(GTK3_CFLAGS) | ||
60 | |||
61 | -else | ||
62 | +canberra_gtk3_play_SOURCES = \ | ||
63 | + canberra-gtk-play.c | ||
64 | + | ||
65 | +endif | ||
66 | if HAVE_GTK | ||
67 | |||
68 | canberra_gtk_play_LDADD = \ | ||
69 | @@ -416,7 +422,9 @@ canberra_gtk_play_LDADD = \ | ||
70 | canberra_gtk_play_CFLAGS = \ | ||
71 | $(GTK_CFLAGS) | ||
72 | |||
73 | -endif | ||
74 | +canberra_gtk_play_SOURCES = \ | ||
75 | + canberra-gtk-play.c | ||
76 | + | ||
77 | endif | ||
78 | |||
79 | if HAVE_GTK_ANY | ||
80 | @@ -424,9 +432,6 @@ if HAVE_GTK_ANY | ||
81 | dist_gsdgtkmodules_DATA = \ | ||
82 | canberra-gtk-module.desktop | ||
83 | |||
84 | -canberra_gtk_play_SOURCES = \ | ||
85 | - canberra-gtk-play.c | ||
86 | - | ||
87 | EXTRA_DIST += \ | ||
88 | libcanberra-login-sound.desktop.in \ | ||
89 | libcanberra-ready-sound.desktop.in \ | ||
90 | -- | ||
91 | 1.7.6.5 | ||
92 | |||
diff --git a/meta-oe/recipes-support/libcanberra/libcanberra_0.29.bb b/meta-oe/recipes-support/libcanberra/libcanberra_0.29.bb new file mode 100644 index 000000000..0f00b209f --- /dev/null +++ b/meta-oe/recipes-support/libcanberra/libcanberra_0.29.bb | |||
@@ -0,0 +1,62 @@ | |||
1 | SUMMARY = "Implementation of XDG Sound Theme and Name Specifications" | ||
2 | DESCRIPTION = "Libcanberra is an implementation of the XDG Sound Theme and Name Specifications, for generating event sounds on free desktops." | ||
3 | LICENSE = "LGPLv2.1+" | ||
4 | LIC_FILES_CHKSUM = "file://LGPL;md5=2d5025d4aa3495befef8f17206a5b0a1 \ | ||
5 | file://src/canberra.h;beginline=7;endline=24;md5=c616c687cf8da540a14f917e0d23ab03" | ||
6 | |||
7 | DEPENDS = "gstreamer gtk+ gtk+3 libtool libvorbis" | ||
8 | |||
9 | inherit autotools gtk-doc | ||
10 | |||
11 | SRC_URI = " \ | ||
12 | http://0pointer.de/lennart/projects/${BPN}/${BPN}-${PV}.tar.xz \ | ||
13 | file://0001-build-gtk-and-gtk3-version-for-canberra_gtk_play.patch \ | ||
14 | " | ||
15 | SRC_URI[md5sum] = "2594093a5d61047bd9cc87e955f86df8" | ||
16 | SRC_URI[sha256sum] = "127a5ef07805856d63758e5180ebfb241d1f80094fd301c287591a15b8cfcd72" | ||
17 | |||
18 | EXTRA_OECONF = "\ | ||
19 | --enable-null \ | ||
20 | --enable-gstreamer \ | ||
21 | --disable-oss \ | ||
22 | --enable-gtk \ | ||
23 | --enable-gtk3 \ | ||
24 | --disable-tdb \ | ||
25 | --disable-lynx \ | ||
26 | " | ||
27 | |||
28 | PACKAGECONFIG ??= "${@base_contains('DISTRO_FEATURES','alsa','alsa','',d)} \ | ||
29 | ${@base_contains('DISTRO_FEATURES','pulseaudio','pulseaudio','',d)} \ | ||
30 | " | ||
31 | PACKAGECONFIG[alsa] = "--enable-alsa, --disable-alsa, alsa-lib" | ||
32 | PACKAGECONFIG[pulseaudio] = "--enable-pulse, --disable-pulse, pulseaudio" | ||
33 | |||
34 | python populate_packages_prepend() { | ||
35 | plugindir = d.expand('${libdir}/${BPN}-${PV}/') | ||
36 | do_split_packages(d, plugindir, '^libcanberra-(.*)\.so$', 'libcanberra-%s', '%s support library', extra_depends='' ) | ||
37 | do_split_packages(d, plugindir, '^libcanberra-(.*)\.la$', 'libcanberra-%s', '%s support library', extra_depends='' ) | ||
38 | } | ||
39 | |||
40 | PACKAGES =+ "${PN}-gnome ${PN}-gtk2 ${PN}-gtk3 ${PN}-systemd" | ||
41 | PACKAGES_DYNAMIC += "^libcanberra-.*" | ||
42 | |||
43 | FILES_${PN} = "${bindir}/ ${libdir}/${BPN}.so.*" | ||
44 | |||
45 | FILES_${PN}-dev += "${datadir}/vala/vapi ${libdir}/*/modules/*.la ${libdir}/*/*.la" | ||
46 | |||
47 | FILES_${PN}-dbg += "${libdir}/${BPN}-${PV}/.debug ${libdir}/gtk-*/modules/.debug" | ||
48 | |||
49 | FILES_${PN}-gtk2 = "${libdir}/${BPN}-gtk.so.* \ | ||
50 | ${libdir}/gtk-2.0/modules/*.so \ | ||
51 | ${bindir}/canberra-gtk-play" | ||
52 | |||
53 | # -gtk3 ships a symlink to a .so | ||
54 | INSANE_SKIP_${PN}-gtk3 = "dev-so" | ||
55 | FILES_${PN}-gtk3 = "${libdir}/${BPN}-gtk3.so.* \ | ||
56 | ${libdir}/gtk-3.0/modules/*.so \ | ||
57 | ${bindir}/canberra-gtk3-play" | ||
58 | |||
59 | FILES_${PN}-gnome = "${libdir}/gnome-settings-daemon-3.0/ \ | ||
60 | ${datadir}/gdm/ ${datadir}/gnome/" | ||
61 | |||
62 | FILES_${PN}-systemd = "${systemd_unitdir}/system/*.service" | ||
diff --git a/meta-oe/recipes-support/libdbi/libdbi-drivers.inc b/meta-oe/recipes-support/libdbi/libdbi-drivers.inc new file mode 100644 index 000000000..b509532e4 --- /dev/null +++ b/meta-oe/recipes-support/libdbi/libdbi-drivers.inc | |||
@@ -0,0 +1,51 @@ | |||
1 | # libdbi-drivers OE build file | ||
2 | # Copyright (C) 2005, Koninklijke Philips Electronics NV. All Rights Reserved | ||
3 | # Released under the MIT license (see packages/COPYING) | ||
4 | |||
5 | DESCRIPTION = "Database Drivers for libdbi" | ||
6 | HOMEPAGE = "http://libdbi-drivers.sourceforge.net/" | ||
7 | LICENSE = "LGPLv2.1" | ||
8 | LIC_FILES_CHKSUM = "file://COPYING;md5=d8045f3b8f929c1cb29a1e3fd737b499" | ||
9 | SECTION = "libs" | ||
10 | |||
11 | PROVIDES = "libdbd-sqlite" | ||
12 | DEPENDS = "libdbi sqlite sqlite3 mysql5 postgresql" | ||
13 | |||
14 | SRC_URI = "${SOURCEFORGE_MIRROR}/libdbi-drivers/libdbi-drivers-${PV}.tar.gz" | ||
15 | |||
16 | inherit autotools | ||
17 | |||
18 | PACKAGES += "libdbd-sqlite3 libdbd-sqlite libdbd-pgsql libdbd-mysql" | ||
19 | |||
20 | EXTRA_OECONF = "--with-dbi-incdir=${STAGING_INCDIR} \ | ||
21 | --with-dbi-libdir=${STAGING_LIBDIR} \ | ||
22 | --with-sqlite \ | ||
23 | --with-sqlite3 \ | ||
24 | --with-pgsql \ | ||
25 | --with-mysql \ | ||
26 | --with-sqlite-libdir=${STAGING_LIBDIR} \ | ||
27 | --with-sqlite-incdir=${STAGING_INCDIR} \ | ||
28 | --with-sqlite3-incdir=${STAGING_INCDIR} \ | ||
29 | --with-sqlite3-libdir=${STAGING_LIBDIR} \ | ||
30 | --with-mysql-incdir=${STAGING_INCDIR} \ | ||
31 | --with-mysql-libdir=${STAGING_LIBDIR} \ | ||
32 | --with-pgsql-incdir=${STAGING_INCDIR} \ | ||
33 | --with-pgsql-libdir=${STAGING_LIBDIR} \ | ||
34 | --disable-docs" | ||
35 | |||
36 | FILES_${PN}-dbg += " ${libdir}/dbd/.debug/*.so" | ||
37 | FILES_${PN}-dev += " ${libdir}/dbd/*.la" | ||
38 | FILES_${PN}-staticdev += " ${libdir}/dbd/*.a" | ||
39 | |||
40 | DESCRIPTION_libdbd-sqlite = "SQLite database driver for libdbi" | ||
41 | FILES_libdbd-sqlite = "${libdir}/dbd/libdbdsqlite.so" | ||
42 | |||
43 | DESCRIPTION_libdbd-sqlite3 = "SQLite3 database driver for libdbi" | ||
44 | FILES_libdbd-sqlite3 = "${libdir}/dbd/libdbdsqlite3.so" | ||
45 | |||
46 | DESCRIPTION_libdbd-mysql = "MySQL4 database driver for libdbi" | ||
47 | FILES_libdbd-mysql = "${libdir}/dbd/libdbdmysql.so" | ||
48 | |||
49 | DESCRIPTION_libdbd-psql = "Postgres SQL database driver for libdbi" | ||
50 | FILES_libdbd-pgsql = "${libdir}/dbd/libdbdpgsql.so" | ||
51 | |||
diff --git a/meta-oe/recipes-support/libdbi/libdbi-drivers_0.8.3-1.bb b/meta-oe/recipes-support/libdbi/libdbi-drivers_0.8.3-1.bb new file mode 100644 index 000000000..ce30beaf8 --- /dev/null +++ b/meta-oe/recipes-support/libdbi/libdbi-drivers_0.8.3-1.bb | |||
@@ -0,0 +1,5 @@ | |||
1 | require ${PN}.inc | ||
2 | |||
3 | |||
4 | SRC_URI[md5sum] = "4de79b323162a5a7652b65b608eca6cd" | ||
5 | SRC_URI[sha256sum] = "4ab9944398ce769c0deeb64d2f73555c67bc25ccd2ade1ccf552226c7b2acf72" | ||
diff --git a/meta-oe/recipes-support/libdbi/libdbi.inc b/meta-oe/recipes-support/libdbi/libdbi.inc new file mode 100644 index 000000000..cea2838e3 --- /dev/null +++ b/meta-oe/recipes-support/libdbi/libdbi.inc | |||
@@ -0,0 +1,17 @@ | |||
1 | # libdbi OE build file | ||
2 | # Copyright (C) 2005, Koninklijke Philips Electronics NV. All Rights Reserved | ||
3 | # Released under the MIT license (see packages/COPYING) | ||
4 | |||
5 | DESCRIPTION = "Database Independent Abstraction Layer for C" | ||
6 | HOMEPAGE = "http://libdbi.sourceforge.net/" | ||
7 | LICENSE = "LGPLv2.1" | ||
8 | LIC_FILES_CHKSUM = "file://COPYING;md5=d8045f3b8f929c1cb29a1e3fd737b499" | ||
9 | SECTION = "libs" | ||
10 | |||
11 | INC_PR = "r0" | ||
12 | |||
13 | SRC_URI = "${SOURCEFORGE_MIRROR}/libdbi/libdbi-${PV}.tar.gz" | ||
14 | |||
15 | inherit autotools | ||
16 | |||
17 | EXTRA_OECONF = "--disable-docs" | ||
diff --git a/meta-oe/recipes-support/libdbi/libdbi_0.8.4.bb b/meta-oe/recipes-support/libdbi/libdbi_0.8.4.bb new file mode 100644 index 000000000..aee00996e --- /dev/null +++ b/meta-oe/recipes-support/libdbi/libdbi_0.8.4.bb | |||
@@ -0,0 +1,6 @@ | |||
1 | require ${PN}.inc | ||
2 | |||
3 | PR = "${INC_PR}.0" | ||
4 | |||
5 | SRC_URI[md5sum] = "c5f15407ef7b07ba854cd8c9b15b88ff" | ||
6 | SRC_URI[sha256sum] = "ef38db616f0752ccb09b8ba2eac471722369b8ded50b153c25e238cac2c8de99" | ||
diff --git a/meta-oe/recipes-support/libee/libee.inc b/meta-oe/recipes-support/libee/libee.inc new file mode 100644 index 000000000..5b552ca2a --- /dev/null +++ b/meta-oe/recipes-support/libee/libee.inc | |||
@@ -0,0 +1,39 @@ | |||
1 | SUMMARY = "An Event Expression Library inspired by CEE" | ||
2 | DESCRIPTION = "The core idea of libee is to provide a small \ | ||
3 | but hopefully convenient API layer above the CEE standard." | ||
4 | |||
5 | HOMEPAGE = "http://www.libee.org" | ||
6 | SECTION = "base" | ||
7 | |||
8 | LICENSE = "LGPL-2.1+" | ||
9 | LIC_FILES_CHKSUM = "file://COPYING;md5=1c2687de35e36ba3b999136236a66cd6" | ||
10 | |||
11 | SRC_URI = "http://www.libee.org/download/files/download/${BPN}-${PV}.tar.gz\ | ||
12 | file://libee-parallel-make.patch \ | ||
13 | file://run-ptest \ | ||
14 | file://ezapi1.sh \ | ||
15 | " | ||
16 | |||
17 | inherit autotools ptest pkgconfig | ||
18 | |||
19 | DEPENDS += "libestr" | ||
20 | |||
21 | PACKAGECONFIG ??= "${@base_contains('DISTRO_FEATURES', 'ptest', 'testbench', '', d)}" | ||
22 | |||
23 | PACKAGECONFIG[debug] = "--enable-debug,--disable-debug,," | ||
24 | PACKAGECONFIG[testbench] = "--enable-testbench,--disable-testbench,," | ||
25 | |||
26 | TESTDIR = "tests" | ||
27 | |||
28 | # We presume the tests we are going to install so just build them directly. | ||
29 | # | ||
30 | do_compile_ptest() { | ||
31 | oe_runmake -C ${TESTDIR} genfile ezapi1 | ||
32 | } | ||
33 | |||
34 | do_install_ptest() { | ||
35 | install -d ${D}${PTEST_PATH} | ||
36 | install -m 0755 ${B}/${TESTDIR}/genfile ${D}${PTEST_PATH} | ||
37 | install -m 0755 ${B}/${TESTDIR}/.libs/ezapi1 ${D}${PTEST_PATH} | ||
38 | install -m 0755 ${WORKDIR}/ezapi1.sh ${D}${PTEST_PATH} | ||
39 | } | ||
diff --git a/meta-oe/recipes-support/libee/libee/ezapi1.sh b/meta-oe/recipes-support/libee/libee/ezapi1.sh new file mode 100755 index 000000000..e9db5e614 --- /dev/null +++ b/meta-oe/recipes-support/libee/libee/ezapi1.sh | |||
@@ -0,0 +1,14 @@ | |||
1 | #!/bin/sh | ||
2 | # | ||
3 | echo --------------------------------------------------------------------------- | ||
4 | echo A very basic test for the event class | ||
5 | echo --------------------------------------------------------------------------- | ||
6 | rm -f infile | ||
7 | ./genfile 100 > infile | ||
8 | ./ezapi1 -iinfile | ||
9 | if [ $? -ne 0 ] ; then | ||
10 | echo "FAIL: $0" | ||
11 | exit 1 | ||
12 | fi | ||
13 | echo "PASS: $0" | ||
14 | rm -f infile | ||
diff --git a/meta-oe/recipes-support/libee/libee/libee-parallel-make.patch b/meta-oe/recipes-support/libee/libee/libee-parallel-make.patch new file mode 100644 index 000000000..25e5c6ae0 --- /dev/null +++ b/meta-oe/recipes-support/libee/libee/libee-parallel-make.patch | |||
@@ -0,0 +1,20 @@ | |||
1 | fix parallel compiling problem | ||
2 | |||
3 | without specifying libee_convert_DEPENDENCIES = libee.la, libee_convert | ||
4 | can't find libee.la when linking as libee is not generated yet. | ||
5 | |||
6 | Upstream-Status: pending | ||
7 | |||
8 | Signed-off-by: Yao Zhao <yao.zhao@windriver.com> | ||
9 | --- | ||
10 | diff --git a/src/Makefile.am b/src/Makefile.am | ||
11 | index 08aaa9e..f0c78f7 100644 | ||
12 | --- a/src/Makefile.am | ||
13 | +++ b/src/Makefile.am | ||
14 | @@ -46,5 +46,6 @@ libee_la_LDFLAGS = -version-info 0:0:0 | ||
15 | libee_convert_SOURCES = convert.c | ||
16 | libee_convert_CPPFLAGS = -I$(top_srcdir) $(LIBEE_CFLAGS) $(LIBESTR_CFLAGS) $(LIBXML2_CFLAGS) | ||
17 | libee_convert_LDADD = $(LIBEE_LIBS) $(LIBXML2_LIBS) $(LIBESTR_LIBS) | ||
18 | +libee_convert_DEPENDENCIES = libee.la | ||
19 | |||
20 | include_HEADERS = | ||
diff --git a/meta-oe/recipes-support/libee/libee/run-ptest b/meta-oe/recipes-support/libee/libee/run-ptest new file mode 100755 index 000000000..3cb660764 --- /dev/null +++ b/meta-oe/recipes-support/libee/libee/run-ptest | |||
@@ -0,0 +1,3 @@ | |||
1 | #!/bin/sh | ||
2 | # | ||
3 | ./ezapi1.sh | ||
diff --git a/meta-oe/recipes-support/libee/libee_0.4.1.bb b/meta-oe/recipes-support/libee/libee_0.4.1.bb new file mode 100644 index 000000000..ef2c20db5 --- /dev/null +++ b/meta-oe/recipes-support/libee/libee_0.4.1.bb | |||
@@ -0,0 +1,4 @@ | |||
1 | require ${BPN}.inc | ||
2 | |||
3 | SRC_URI[md5sum] = "7bbf4160876c12db6193c06e2badedb2" | ||
4 | SRC_URI[sha256sum] = "c0dac01938593deee06c3d161e4eda4ecc0fd7317e1321bd96e301aceb7fb027" | ||
diff --git a/meta-oe/recipes-support/libeigen/libeigen/eigen-disable-tests.patch b/meta-oe/recipes-support/libeigen/libeigen/eigen-disable-tests.patch new file mode 100644 index 000000000..b3dddbeaf --- /dev/null +++ b/meta-oe/recipes-support/libeigen/libeigen/eigen-disable-tests.patch | |||
@@ -0,0 +1,75 @@ | |||
1 | libeigen: don't try building tests | ||
2 | |||
3 | While configuring, if the tests are enabled, it checks some machine-specific | ||
4 | settings which we don't want to do while cross-compiling. | ||
5 | |||
6 | Upstream-Status: Inappropriate [configuration] | ||
7 | |||
8 | Signed-off-by: Lukas Bulwahn <lukas.bulwahn@oss.bmw-carit.de> | ||
9 | |||
10 | --- a/CMakeLists.txt~ 2013-07-29 16:59:48.403504947 -0400 | ||
11 | +++ b/CMakeLists.txt 2013-07-29 17:00:19.868020948 -0400 | ||
12 | @@ -346,25 +346,25 @@ | ||
13 | |||
14 | add_subdirectory(doc EXCLUDE_FROM_ALL) | ||
15 | |||
16 | -include(EigenConfigureTesting) | ||
17 | +#include(EigenConfigureTesting) | ||
18 | |||
19 | # fixme, not sure this line is still needed: | ||
20 | -enable_testing() # must be called from the root CMakeLists, see man page | ||
21 | +#enable_testing() # must be called from the root CMakeLists, see man page | ||
22 | |||
23 | |||
24 | -if(EIGEN_LEAVE_TEST_IN_ALL_TARGET) | ||
25 | - add_subdirectory(test) # can't do EXCLUDE_FROM_ALL here, breaks CTest | ||
26 | -else() | ||
27 | - add_subdirectory(test EXCLUDE_FROM_ALL) | ||
28 | -endif() | ||
29 | +#if(EIGEN_LEAVE_TEST_IN_ALL_TARGET) | ||
30 | +# add_subdirectory(test) # can't do EXCLUDE_FROM_ALL here, breaks CTest | ||
31 | +#else() | ||
32 | +# add_subdirectory(test EXCLUDE_FROM_ALL) | ||
33 | +#endif() | ||
34 | |||
35 | -if(EIGEN_LEAVE_TEST_IN_ALL_TARGET) | ||
36 | - add_subdirectory(blas) | ||
37 | - add_subdirectory(lapack) | ||
38 | -else() | ||
39 | - add_subdirectory(blas EXCLUDE_FROM_ALL) | ||
40 | - add_subdirectory(lapack EXCLUDE_FROM_ALL) | ||
41 | -endif() | ||
42 | +#if(EIGEN_LEAVE_TEST_IN_ALL_TARGET) | ||
43 | +# add_subdirectory(blas) | ||
44 | +# add_subdirectory(lapack) | ||
45 | +#else() | ||
46 | +# add_subdirectory(blas EXCLUDE_FROM_ALL) | ||
47 | +# add_subdirectory(lapack EXCLUDE_FROM_ALL) | ||
48 | +#endif() | ||
49 | |||
50 | add_subdirectory(unsupported) | ||
51 | |||
52 | @@ -384,7 +384,7 @@ | ||
53 | |||
54 | configure_file(scripts/cdashtesting.cmake.in cdashtesting.cmake @ONLY) | ||
55 | |||
56 | -ei_testing_print_summary() | ||
57 | +#ei_testing_print_summary() | ||
58 | |||
59 | message(STATUS "") | ||
60 | message(STATUS "Configured Eigen ${EIGEN_VERSION_NUMBER}") | ||
61 | --- a/unsupported/CMakeLists.txt~ 2013-07-29 16:59:54.091598607 -0400 | ||
62 | +++ b/unsupported/CMakeLists.txt 2013-07-29 17:00:27.052139300 -0400 | ||
63 | @@ -1,7 +1,7 @@ | ||
64 | add_subdirectory(Eigen) | ||
65 | add_subdirectory(doc EXCLUDE_FROM_ALL) | ||
66 | -if(EIGEN_LEAVE_TEST_IN_ALL_TARGET) | ||
67 | - add_subdirectory(test) # can't do EXCLUDE_FROM_ALL here, breaks CTest | ||
68 | -else() | ||
69 | - add_subdirectory(test EXCLUDE_FROM_ALL) | ||
70 | -endif() | ||
71 | +#if(EIGEN_LEAVE_TEST_IN_ALL_TARGET) | ||
72 | +# add_subdirectory(test) # can't do EXCLUDE_FROM_ALL here, breaks CTest | ||
73 | +#else() | ||
74 | +# add_subdirectory(test EXCLUDE_FROM_ALL) | ||
75 | +#endif() | ||
diff --git a/meta-oe/recipes-support/libeigen/libeigen_3.2.0.bb b/meta-oe/recipes-support/libeigen/libeigen_3.2.0.bb new file mode 100644 index 000000000..de5186f10 --- /dev/null +++ b/meta-oe/recipes-support/libeigen/libeigen_3.2.0.bb | |||
@@ -0,0 +1,22 @@ | |||
1 | DESCRIPTION = "Eigen is a C++ template library for linear algebra: matrices, vectors, numerical solvers, and related algorithms." | ||
2 | AUTHOR = "Benoît Jacob and Gaël Guennebaud and others" | ||
3 | HOMEPAGE = "http://eigen.tuxfamily.org/" | ||
4 | LICENSE = "MPL-2.0" | ||
5 | LIC_FILES_CHKSUM = "file://COPYING.MPL2;md5=815ca599c9df247a0c7f619bab123dad" | ||
6 | |||
7 | SRC_URI = "http://bitbucket.org/eigen/eigen/get/${PV}.tar.bz2 \ | ||
8 | file://eigen-disable-tests.patch" | ||
9 | SRC_URI[md5sum] = "894381be5be65bb7099c6fd91d61b357" | ||
10 | SRC_URI[sha256sum] = "011f78960d939227f9276173d0c4cc0053bb9e0a7356539a9a6c7c89d984fab6" | ||
11 | |||
12 | S = "${WORKDIR}/eigen-eigen-ffa86ffb5570" | ||
13 | |||
14 | inherit cmake | ||
15 | |||
16 | EXTRA_OECMAKE += "-Dpkg_config_libdir=${libdir}" | ||
17 | |||
18 | FILES_${PN} = "${includedir} ${libdir}" | ||
19 | |||
20 | # ${PN} is empty so we need to tweak -dev and -dbg package dependencies | ||
21 | RDEPENDS_${PN}-dev = "" | ||
22 | RRECOMMENDS_${PN}-dbg = "${PN}-dev (= ${EXTENDPKGV})" | ||
diff --git a/meta-oe/recipes-support/libestr/libestr_0.1.6.bb b/meta-oe/recipes-support/libestr/libestr_0.1.6.bb new file mode 100644 index 000000000..e3f675a78 --- /dev/null +++ b/meta-oe/recipes-support/libestr/libestr_0.1.6.bb | |||
@@ -0,0 +1,11 @@ | |||
1 | SUMMARY = "some essentials for string handling (and a bit more)" | ||
2 | HOMEPAGE = "http://libestr.adiscon.com/" | ||
3 | LICENSE = "LGPLv2.1" | ||
4 | LIC_FILES_CHKSUM = "file://COPYING;md5=9d6c993486c18262afba4ca5bcb894d0" | ||
5 | |||
6 | SRC_URI = "http://libestr.adiscon.com/files/download/${BP}.tar.gz" | ||
7 | |||
8 | SRC_URI[md5sum] = "f48a7098080eebfe7842673c23dcd064" | ||
9 | SRC_URI[sha256sum] = "b9c819d30397845fdf85bb1f37c52e81de23aa3b061ec6cc4386f1b942960153" | ||
10 | |||
11 | inherit autotools | ||
diff --git a/meta-oe/recipes-support/libetpan/libetpan-0.57/libetpan-autoreconf.patch b/meta-oe/recipes-support/libetpan/libetpan-0.57/libetpan-autoreconf.patch new file mode 100644 index 000000000..d05967da3 --- /dev/null +++ b/meta-oe/recipes-support/libetpan/libetpan-0.57/libetpan-autoreconf.patch | |||
@@ -0,0 +1,12 @@ | |||
1 | Index: libetpan-0.57/configure.ac | ||
2 | =================================================================== | ||
3 | --- libetpan-0.57.orig/configure.ac 2008-10-08 19:54:20.000000000 +0000 | ||
4 | +++ libetpan-0.57/configure.ac 2008-11-11 16:34:33.000000000 +0000 | ||
5 | @@ -106,6 +106,7 @@ | ||
6 | |||
7 | # Check the C compiler. | ||
8 | AC_PROG_CC | ||
9 | +AC_PROG_CXX | ||
10 | |||
11 | # Compiler flags. | ||
12 | AC_ARG_ENABLE(debug, [ --enable-debug setup flags (gcc) for debugging (default=no)], | ||
diff --git a/meta-oe/recipes-support/libetpan/libetpan-0.57/libetpan-ldflags.patch b/meta-oe/recipes-support/libetpan/libetpan-0.57/libetpan-ldflags.patch new file mode 100644 index 000000000..438f44f15 --- /dev/null +++ b/meta-oe/recipes-support/libetpan/libetpan-0.57/libetpan-ldflags.patch | |||
@@ -0,0 +1,11 @@ | |||
1 | --- libetpan-0.57/configure.ac~ 2009-09-21 23:31:42.000000000 +0200 | ||
2 | +++ libetpan-0.57/configure.ac 2009-09-21 23:31:42.000000000 +0200 | ||
3 | @@ -457,7 +457,7 @@ | ||
4 | LDFLAGS="-$flag $LDFLAGS" | ||
5 | AC_TRY_LINK([], [pthread_create();], | ||
6 | [pthflag=yes; checkpthread=no], | ||
7 | - [pthflag=no; LDFLAGS="$OLDCFLAGS"]) | ||
8 | + [pthflag=no; LDFLAGS="$OLDFLAGS"]) | ||
9 | AC_MSG_RESULT($pthflag) | ||
10 | fi | ||
11 | done | ||
diff --git a/meta-oe/recipes-support/libetpan/libetpan-0.57/sepbuild.patch b/meta-oe/recipes-support/libetpan/libetpan-0.57/sepbuild.patch new file mode 100644 index 000000000..4f0161727 --- /dev/null +++ b/meta-oe/recipes-support/libetpan/libetpan-0.57/sepbuild.patch | |||
@@ -0,0 +1,16 @@ | |||
1 | Index: libetpan-0.57/rules.mk | ||
2 | =================================================================== | ||
3 | --- libetpan-0.57.orig/rules.mk | ||
4 | +++ libetpan-0.57/rules.mk | ||
5 | @@ -134,9 +134,9 @@ prepare-am: prepare-local | ||
6 | if test -e ../../$(subdir)/$${hdr}; then \ | ||
7 | echo "$(LN_S) -f ../../$(subdir)/$${hdr} ."; \ | ||
8 | $(LN_S) -f ../../$(subdir)/$${hdr} .; \ | ||
9 | else \ | ||
10 | - echo "$(LN_S) -f ../../$(subdir)/$(srcdir)/$${hdr} ."; \ | ||
11 | - $(LN_S) -f ../../$(subdir)/$(srcdir)/$${hdr} .; \ | ||
12 | + echo "$(LN_S) -f $(srcdir)/$${hdr} ."; \ | ||
13 | + $(LN_S) -f $(srcdir)/$${hdr} .; \ | ||
14 | fi; \ | ||
15 | fi; \ | ||
16 | done; \ | ||
diff --git a/meta-oe/recipes-support/libetpan/libetpan_0.57.bb b/meta-oe/recipes-support/libetpan/libetpan_0.57.bb new file mode 100644 index 000000000..6be0694ef --- /dev/null +++ b/meta-oe/recipes-support/libetpan/libetpan_0.57.bb | |||
@@ -0,0 +1,27 @@ | |||
1 | DESCRIPTION = "libetpan is a library for communicating with mail and news servers. \ | ||
2 | It supports the protocols SMTP, POP3, IMAP and NNTP." | ||
3 | HOMEPAGE = "http://www.etpan.org" | ||
4 | SECTION = "libs" | ||
5 | DEPENDS = "gnutls liblockfile curl" | ||
6 | LICENSE = "BSD" | ||
7 | LIC_FILES_CHKSUM = "file://COPYRIGHT;md5=f18ebe7e452708c26f83954f81062ba7" | ||
8 | |||
9 | PR = "r1" | ||
10 | |||
11 | SRC_URI = "${SOURCEFORGE_MIRROR}/libetpan/libetpan-${PV}.tar.gz \ | ||
12 | file://libetpan-autoreconf.patch \ | ||
13 | file://libetpan-ldflags.patch \ | ||
14 | file://sepbuild.patch" | ||
15 | |||
16 | inherit autotools pkgconfig gettext binconfig | ||
17 | |||
18 | EXTRA_OECONF = "--without-openssl --without-sasl --with-gnutls --disable-db" | ||
19 | |||
20 | PARALLEL_MAKE = "" | ||
21 | |||
22 | FILES_${PN} = "${libdir}/lib*.so.*" | ||
23 | FILES_${PN}-dev = "${bindir} ${includedir} ${libdir}/lib*.so ${libdir}/*.la ${libdir}/*.a ${libdir}/pkgconfig" | ||
24 | |||
25 | |||
26 | SRC_URI[md5sum] = "8ce8c6c071e81884a475b12b7f9a9cc0" | ||
27 | SRC_URI[sha256sum] = "1f3fda5c9e2961d1a6298dc8aadae321493d37727d8db45bc2e8d58f20547011" | ||
diff --git a/meta-oe/recipes-support/libftdi/libftdi-0.19/libtool-m4.patch b/meta-oe/recipes-support/libftdi/libftdi-0.19/libtool-m4.patch new file mode 100644 index 000000000..fff90a93d --- /dev/null +++ b/meta-oe/recipes-support/libftdi/libftdi-0.19/libtool-m4.patch | |||
@@ -0,0 +1,7377 @@ | |||
1 | Index: libftdi-0.18/Makefile.am | ||
2 | =================================================================== | ||
3 | --- libftdi-0.18.orig/Makefile.am 2009-11-03 08:19:36.000000000 -0800 | ||
4 | +++ libftdi-0.18/Makefile.am 2010-08-06 21:37:38.723444001 -0700 | ||
5 | @@ -2,7 +2,8 @@ | ||
6 | # have all needed files, that a GNU package needs | ||
7 | AUTOMAKE_OPTIONS = foreign 1.4 | ||
8 | |||
9 | -SUBDIRS = src bindings $(LIBFTDI_MODULES) examples doc | ||
10 | +ACLOCAL_AMFLAGS = -I m4 | ||
11 | +SUBDIRS = src bindings $(LIBFTDI_MODULES) doc | ||
12 | |||
13 | EXTRA_DIST = libftdi.spec libftdi.spec.in COPYING.LIB COPYING.GPL LICENSE \ | ||
14 | README AUTHORS ChangeLog libftdi-config.in CMakeLists.txt \ | ||
15 | Index: libftdi-0.18/m4/libtool.m4 | ||
16 | =================================================================== | ||
17 | --- /dev/null 1970-01-01 00:00:00.000000000 +0000 | ||
18 | +++ libftdi-0.18/m4/libtool.m4 2010-08-06 21:39:28.863444000 -0700 | ||
19 | @@ -0,0 +1,7358 @@ | ||
20 | +# libtool.m4 - Configure libtool for the host system. -*-Autoconf-*- | ||
21 | +# | ||
22 | +# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005, | ||
23 | +# 2006, 2007, 2008 Free Software Foundation, Inc. | ||
24 | +# Written by Gordon Matzigkeit, 1996 | ||
25 | +# | ||
26 | +# This file is free software; the Free Software Foundation gives | ||
27 | +# unlimited permission to copy and/or distribute it, with or without | ||
28 | +# modifications, as long as this notice is preserved. | ||
29 | + | ||
30 | +m4_define([_LT_COPYING], [dnl | ||
31 | +# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005, | ||
32 | +# 2006, 2007, 2008 Free Software Foundation, Inc. | ||
33 | +# Written by Gordon Matzigkeit, 1996 | ||
34 | +# | ||
35 | +# This file is part of GNU Libtool. | ||
36 | +# | ||
37 | +# GNU Libtool is free software; you can redistribute it and/or | ||
38 | +# modify it under the terms of the GNU General Public License as | ||
39 | +# published by the Free Software Foundation; either version 2 of | ||
40 | +# the License, or (at your option) any later version. | ||
41 | +# | ||
42 | +# As a special exception to the GNU General Public License, | ||
43 | +# if you distribute this file as part of a program or library that | ||
44 | +# is built using GNU Libtool, you may include this file under the | ||
45 | +# same distribution terms that you use for the rest of that program. | ||
46 | +# | ||
47 | +# GNU Libtool is distributed in the hope that it will be useful, | ||
48 | +# but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
49 | +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
50 | +# GNU General Public License for more details. | ||
51 | +# | ||
52 | +# You should have received a copy of the GNU General Public License | ||
53 | +# along with GNU Libtool; see the file COPYING. If not, a copy | ||
54 | +# can be downloaded from http://www.gnu.org/licenses/gpl.html, or | ||
55 | +# obtained by writing to the Free Software Foundation, Inc., | ||
56 | +# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. | ||
57 | +]) | ||
58 | + | ||
59 | +# serial 56 LT_INIT | ||
60 | + | ||
61 | + | ||
62 | +# LT_PREREQ(VERSION) | ||
63 | +# ------------------ | ||
64 | +# Complain and exit if this libtool version is less that VERSION. | ||
65 | +m4_defun([LT_PREREQ], | ||
66 | +[m4_if(m4_version_compare(m4_defn([LT_PACKAGE_VERSION]), [$1]), -1, | ||
67 | + [m4_default([$3], | ||
68 | + [m4_fatal([Libtool version $1 or higher is required], | ||
69 | + 63)])], | ||
70 | + [$2])]) | ||
71 | + | ||
72 | + | ||
73 | +# _LT_CHECK_BUILDDIR | ||
74 | +# ------------------ | ||
75 | +# Complain if the absolute build directory name contains unusual characters | ||
76 | +m4_defun([_LT_CHECK_BUILDDIR], | ||
77 | +[case `pwd` in | ||
78 | + *\ * | *\ *) | ||
79 | + AC_MSG_WARN([Libtool does not cope well with whitespace in `pwd`]) ;; | ||
80 | +esac | ||
81 | +]) | ||
82 | + | ||
83 | + | ||
84 | +# LT_INIT([OPTIONS]) | ||
85 | +# ------------------ | ||
86 | +AC_DEFUN([LT_INIT], | ||
87 | +[AC_PREREQ([2.58])dnl We use AC_INCLUDES_DEFAULT | ||
88 | +AC_BEFORE([$0], [LT_LANG])dnl | ||
89 | +AC_BEFORE([$0], [LT_OUTPUT])dnl | ||
90 | +AC_BEFORE([$0], [LTDL_INIT])dnl | ||
91 | +m4_require([_LT_CHECK_BUILDDIR])dnl | ||
92 | + | ||
93 | +dnl Autoconf doesn't catch unexpanded LT_ macros by default: | ||
94 | +m4_pattern_forbid([^_?LT_[A-Z_]+$])dnl | ||
95 | +m4_pattern_allow([^(_LT_EOF|LT_DLGLOBAL|LT_DLLAZY_OR_NOW|LT_MULTI_MODULE)$])dnl | ||
96 | +dnl aclocal doesn't pull ltoptions.m4, ltsugar.m4, or ltversion.m4 | ||
97 | +dnl unless we require an AC_DEFUNed macro: | ||
98 | +AC_REQUIRE([LTOPTIONS_VERSION])dnl | ||
99 | +AC_REQUIRE([LTSUGAR_VERSION])dnl | ||
100 | +AC_REQUIRE([LTVERSION_VERSION])dnl | ||
101 | +AC_REQUIRE([LTOBSOLETE_VERSION])dnl | ||
102 | +m4_require([_LT_PROG_LTMAIN])dnl | ||
103 | + | ||
104 | +dnl Parse OPTIONS | ||
105 | +_LT_SET_OPTIONS([$0], [$1]) | ||
106 | + | ||
107 | +# This can be used to rebuild libtool when needed | ||
108 | +LIBTOOL_DEPS="$ltmain" | ||
109 | + | ||
110 | +# Always use our own libtool. | ||
111 | +LIBTOOL='$(SHELL) $(top_builddir)' | ||
112 | +LIBTOOL="$LIBTOOL/$host_alias-libtool" | ||
113 | +AC_SUBST(LIBTOOL)dnl | ||
114 | + | ||
115 | +_LT_SETUP | ||
116 | + | ||
117 | +# Only expand once: | ||
118 | +m4_define([LT_INIT]) | ||
119 | +])# LT_INIT | ||
120 | + | ||
121 | +# Old names: | ||
122 | +AU_ALIAS([AC_PROG_LIBTOOL], [LT_INIT]) | ||
123 | +AU_ALIAS([AM_PROG_LIBTOOL], [LT_INIT]) | ||
124 | +dnl aclocal-1.4 backwards compatibility: | ||
125 | +dnl AC_DEFUN([AC_PROG_LIBTOOL], []) | ||
126 | +dnl AC_DEFUN([AM_PROG_LIBTOOL], []) | ||
127 | + | ||
128 | + | ||
129 | +# _LT_CC_BASENAME(CC) | ||
130 | +# ------------------- | ||
131 | +# Calculate cc_basename. Skip known compiler wrappers and cross-prefix. | ||
132 | +m4_defun([_LT_CC_BASENAME], | ||
133 | +[for cc_temp in $1""; do | ||
134 | + case $cc_temp in | ||
135 | + compile | *[[\\/]]compile | ccache | *[[\\/]]ccache ) ;; | ||
136 | + distcc | *[[\\/]]distcc | purify | *[[\\/]]purify ) ;; | ||
137 | + \-*) ;; | ||
138 | + *) break;; | ||
139 | + esac | ||
140 | +done | ||
141 | +cc_basename=`$ECHO "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"` | ||
142 | +]) | ||
143 | + | ||
144 | + | ||
145 | +# _LT_FILEUTILS_DEFAULTS | ||
146 | +# ---------------------- | ||
147 | +# It is okay to use these file commands and assume they have been set | ||
148 | +# sensibly after `m4_require([_LT_FILEUTILS_DEFAULTS])'. | ||
149 | +m4_defun([_LT_FILEUTILS_DEFAULTS], | ||
150 | +[: ${CP="cp -f"} | ||
151 | +: ${MV="mv -f"} | ||
152 | +: ${RM="rm -f"} | ||
153 | +])# _LT_FILEUTILS_DEFAULTS | ||
154 | + | ||
155 | + | ||
156 | +# _LT_SETUP | ||
157 | +# --------- | ||
158 | +m4_defun([_LT_SETUP], | ||
159 | +[AC_REQUIRE([AC_CANONICAL_HOST])dnl | ||
160 | +AC_REQUIRE([AC_CANONICAL_BUILD])dnl | ||
161 | +_LT_DECL([], [host_alias], [0], [The host system])dnl | ||
162 | +_LT_DECL([], [host], [0])dnl | ||
163 | +_LT_DECL([], [host_os], [0])dnl | ||
164 | +dnl | ||
165 | +_LT_DECL([], [build_alias], [0], [The build system])dnl | ||
166 | +_LT_DECL([], [build], [0])dnl | ||
167 | +_LT_DECL([], [build_os], [0])dnl | ||
168 | +dnl | ||
169 | +AC_REQUIRE([AC_PROG_CC])dnl | ||
170 | +AC_REQUIRE([LT_PATH_LD])dnl | ||
171 | +AC_REQUIRE([LT_PATH_NM])dnl | ||
172 | +dnl | ||
173 | +AC_REQUIRE([AC_PROG_LN_S])dnl | ||
174 | +test -z "$LN_S" && LN_S="ln -s" | ||
175 | +_LT_DECL([], [LN_S], [1], [Whether we need soft or hard links])dnl | ||
176 | +dnl | ||
177 | +AC_REQUIRE([LT_CMD_MAX_LEN])dnl | ||
178 | +_LT_DECL([objext], [ac_objext], [0], [Object file suffix (normally "o")])dnl | ||
179 | +_LT_DECL([], [exeext], [0], [Executable file suffix (normally "")])dnl | ||
180 | +dnl | ||
181 | +m4_require([_LT_FILEUTILS_DEFAULTS])dnl | ||
182 | +m4_require([_LT_CHECK_SHELL_FEATURES])dnl | ||
183 | +m4_require([_LT_CMD_RELOAD])dnl | ||
184 | +m4_require([_LT_CHECK_MAGIC_METHOD])dnl | ||
185 | +m4_require([_LT_CMD_OLD_ARCHIVE])dnl | ||
186 | +m4_require([_LT_CMD_GLOBAL_SYMBOLS])dnl | ||
187 | + | ||
188 | +_LT_CONFIG_LIBTOOL_INIT([ | ||
189 | +# See if we are running on zsh, and set the options which allow our | ||
190 | +# commands through without removal of \ escapes INIT. | ||
191 | +if test -n "\${ZSH_VERSION+set}" ; then | ||
192 | + setopt NO_GLOB_SUBST | ||
193 | +fi | ||
194 | +]) | ||
195 | +if test -n "${ZSH_VERSION+set}" ; then | ||
196 | + setopt NO_GLOB_SUBST | ||
197 | +fi | ||
198 | + | ||
199 | +_LT_CHECK_OBJDIR | ||
200 | + | ||
201 | +m4_require([_LT_TAG_COMPILER])dnl | ||
202 | +_LT_PROG_ECHO_BACKSLASH | ||
203 | + | ||
204 | +case $host_os in | ||
205 | +aix3*) | ||
206 | + # AIX sometimes has problems with the GCC collect2 program. For some | ||
207 | + # reason, if we set the COLLECT_NAMES environment variable, the problems | ||
208 | + # vanish in a puff of smoke. | ||
209 | + if test "X${COLLECT_NAMES+set}" != Xset; then | ||
210 | + COLLECT_NAMES= | ||
211 | + export COLLECT_NAMES | ||
212 | + fi | ||
213 | + ;; | ||
214 | +esac | ||
215 | + | ||
216 | +# Sed substitution that helps us do robust quoting. It backslashifies | ||
217 | +# metacharacters that are still active within double-quoted strings. | ||
218 | +sed_quote_subst='s/\([["`$\\]]\)/\\\1/g' | ||
219 | + | ||
220 | +# Same as above, but do not quote variable references. | ||
221 | +double_quote_subst='s/\([["`\\]]\)/\\\1/g' | ||
222 | + | ||
223 | +# Sed substitution to delay expansion of an escaped shell variable in a | ||
224 | +# double_quote_subst'ed string. | ||
225 | +delay_variable_subst='s/\\\\\\\\\\\$/\\\\\\$/g' | ||
226 | + | ||
227 | +# Sed substitution to delay expansion of an escaped single quote. | ||
228 | +delay_single_quote_subst='s/'\''/'\'\\\\\\\'\''/g' | ||
229 | + | ||
230 | +# Sed substitution to avoid accidental globbing in evaled expressions | ||
231 | +no_glob_subst='s/\*/\\\*/g' | ||
232 | + | ||
233 | +# Global variables: | ||
234 | +ofile=${host_alias}-libtool | ||
235 | +can_build_shared=yes | ||
236 | + | ||
237 | +# All known linkers require a `.a' archive for static linking (except MSVC, | ||
238 | +# which needs '.lib'). | ||
239 | +libext=a | ||
240 | + | ||
241 | +with_gnu_ld="$lt_cv_prog_gnu_ld" | ||
242 | + | ||
243 | +old_CC="$CC" | ||
244 | +old_CFLAGS="$CFLAGS" | ||
245 | + | ||
246 | +# Set sane defaults for various variables | ||
247 | +test -z "$CC" && CC=cc | ||
248 | +test -z "$LTCC" && LTCC=$CC | ||
249 | +test -z "$LTCFLAGS" && LTCFLAGS=$CFLAGS | ||
250 | +test -z "$LD" && LD=ld | ||
251 | +test -z "$ac_objext" && ac_objext=o | ||
252 | + | ||
253 | +_LT_CC_BASENAME([$compiler]) | ||
254 | + | ||
255 | +# Only perform the check for file, if the check method requires it | ||
256 | +test -z "$MAGIC_CMD" && MAGIC_CMD=file | ||
257 | +case $deplibs_check_method in | ||
258 | +file_magic*) | ||
259 | + if test "$file_magic_cmd" = '$MAGIC_CMD'; then | ||
260 | + _LT_PATH_MAGIC | ||
261 | + fi | ||
262 | + ;; | ||
263 | +esac | ||
264 | + | ||
265 | +# Use C for the default configuration in the libtool script | ||
266 | +LT_SUPPORTED_TAG([CC]) | ||
267 | +_LT_LANG_C_CONFIG | ||
268 | +_LT_LANG_DEFAULT_CONFIG | ||
269 | +_LT_CONFIG_COMMANDS | ||
270 | +])# _LT_SETUP | ||
271 | + | ||
272 | + | ||
273 | +# _LT_PROG_LTMAIN | ||
274 | +# --------------- | ||
275 | +# Note that this code is called both from `configure', and `config.status' | ||
276 | +# now that we use AC_CONFIG_COMMANDS to generate libtool. Notably, | ||
277 | +# `config.status' has no value for ac_aux_dir unless we are using Automake, | ||
278 | +# so we pass a copy along to make sure it has a sensible value anyway. | ||
279 | +m4_defun([_LT_PROG_LTMAIN], | ||
280 | +[m4_ifdef([AC_REQUIRE_AUX_FILE], [AC_REQUIRE_AUX_FILE([ltmain.sh])])dnl | ||
281 | +_LT_CONFIG_LIBTOOL_INIT([ac_aux_dir='$ac_aux_dir']) | ||
282 | +ltmain="$ac_aux_dir/ltmain.sh" | ||
283 | +])# _LT_PROG_LTMAIN | ||
284 | + | ||
285 | + | ||
286 | +## ------------------------------------- ## | ||
287 | +## Accumulate code for creating libtool. ## | ||
288 | +## ------------------------------------- ## | ||
289 | + | ||
290 | +# So that we can recreate a full libtool script including additional | ||
291 | +# tags, we accumulate the chunks of code to send to AC_CONFIG_COMMANDS | ||
292 | +# in macros and then make a single call at the end using the `libtool' | ||
293 | +# label. | ||
294 | + | ||
295 | + | ||
296 | +# _LT_CONFIG_LIBTOOL_INIT([INIT-COMMANDS]) | ||
297 | +# ---------------------------------------- | ||
298 | +# Register INIT-COMMANDS to be passed to AC_CONFIG_COMMANDS later. | ||
299 | +m4_define([_LT_CONFIG_LIBTOOL_INIT], | ||
300 | +[m4_ifval([$1], | ||
301 | + [m4_append([_LT_OUTPUT_LIBTOOL_INIT], | ||
302 | + [$1 | ||
303 | +])])]) | ||
304 | + | ||
305 | +# Initialize. | ||
306 | +m4_define([_LT_OUTPUT_LIBTOOL_INIT]) | ||
307 | + | ||
308 | + | ||
309 | +# _LT_CONFIG_LIBTOOL([COMMANDS]) | ||
310 | +# ------------------------------ | ||
311 | +# Register COMMANDS to be passed to AC_CONFIG_COMMANDS later. | ||
312 | +m4_define([_LT_CONFIG_LIBTOOL], | ||
313 | +[m4_ifval([$1], | ||
314 | + [m4_append([_LT_OUTPUT_LIBTOOL_COMMANDS], | ||
315 | + [$1 | ||
316 | +])])]) | ||
317 | + | ||
318 | +# Initialize. | ||
319 | +m4_define([_LT_OUTPUT_LIBTOOL_COMMANDS]) | ||
320 | + | ||
321 | + | ||
322 | +# _LT_CONFIG_SAVE_COMMANDS([COMMANDS], [INIT_COMMANDS]) | ||
323 | +# ----------------------------------------------------- | ||
324 | +m4_defun([_LT_CONFIG_SAVE_COMMANDS], | ||
325 | +[_LT_CONFIG_LIBTOOL([$1]) | ||
326 | +_LT_CONFIG_LIBTOOL_INIT([$2]) | ||
327 | +]) | ||
328 | + | ||
329 | + | ||
330 | +# _LT_FORMAT_COMMENT([COMMENT]) | ||
331 | +# ----------------------------- | ||
332 | +# Add leading comment marks to the start of each line, and a trailing | ||
333 | +# full-stop to the whole comment if one is not present already. | ||
334 | +m4_define([_LT_FORMAT_COMMENT], | ||
335 | +[m4_ifval([$1], [ | ||
336 | +m4_bpatsubst([m4_bpatsubst([$1], [^ *], [# ])], | ||
337 | + [['`$\]], [\\\&])]m4_bmatch([$1], [[!?.]$], [], [.]) | ||
338 | +)]) | ||
339 | + | ||
340 | + | ||
341 | + | ||
342 | +## ------------------------ ## | ||
343 | +## FIXME: Eliminate VARNAME ## | ||
344 | +## ------------------------ ## | ||
345 | + | ||
346 | + | ||
347 | +# _LT_DECL([CONFIGNAME], VARNAME, VALUE, [DESCRIPTION], [IS-TAGGED?]) | ||
348 | +# ------------------------------------------------------------------- | ||
349 | +# CONFIGNAME is the name given to the value in the libtool script. | ||
350 | +# VARNAME is the (base) name used in the configure script. | ||
351 | +# VALUE may be 0, 1 or 2 for a computed quote escaped value based on | ||
352 | +# VARNAME. Any other value will be used directly. | ||
353 | +m4_define([_LT_DECL], | ||
354 | +[lt_if_append_uniq([lt_decl_varnames], [$2], [, ], | ||
355 | + [lt_dict_add_subkey([lt_decl_dict], [$2], [libtool_name], | ||
356 | + [m4_ifval([$1], [$1], [$2])]) | ||
357 | + lt_dict_add_subkey([lt_decl_dict], [$2], [value], [$3]) | ||
358 | + m4_ifval([$4], | ||
359 | + [lt_dict_add_subkey([lt_decl_dict], [$2], [description], [$4])]) | ||
360 | + lt_dict_add_subkey([lt_decl_dict], [$2], | ||
361 | + [tagged?], [m4_ifval([$5], [yes], [no])])]) | ||
362 | +]) | ||
363 | + | ||
364 | + | ||
365 | +# _LT_TAGDECL([CONFIGNAME], VARNAME, VALUE, [DESCRIPTION]) | ||
366 | +# -------------------------------------------------------- | ||
367 | +m4_define([_LT_TAGDECL], [_LT_DECL([$1], [$2], [$3], [$4], [yes])]) | ||
368 | + | ||
369 | + | ||
370 | +# lt_decl_tag_varnames([SEPARATOR], [VARNAME1...]) | ||
371 | +# ------------------------------------------------ | ||
372 | +m4_define([lt_decl_tag_varnames], | ||
373 | +[_lt_decl_filter([tagged?], [yes], $@)]) | ||
374 | + | ||
375 | + | ||
376 | +# _lt_decl_filter(SUBKEY, VALUE, [SEPARATOR], [VARNAME1..]) | ||
377 | +# --------------------------------------------------------- | ||
378 | +m4_define([_lt_decl_filter], | ||
379 | +[m4_case([$#], | ||
380 | + [0], [m4_fatal([$0: too few arguments: $#])], | ||
381 | + [1], [m4_fatal([$0: too few arguments: $#: $1])], | ||
382 | + [2], [lt_dict_filter([lt_decl_dict], [$1], [$2], [], lt_decl_varnames)], | ||
383 | + [3], [lt_dict_filter([lt_decl_dict], [$1], [$2], [$3], lt_decl_varnames)], | ||
384 | + [lt_dict_filter([lt_decl_dict], $@)])[]dnl | ||
385 | +]) | ||
386 | + | ||
387 | + | ||
388 | +# lt_decl_quote_varnames([SEPARATOR], [VARNAME1...]) | ||
389 | +# -------------------------------------------------- | ||
390 | +m4_define([lt_decl_quote_varnames], | ||
391 | +[_lt_decl_filter([value], [1], $@)]) | ||
392 | + | ||
393 | + | ||
394 | +# lt_decl_dquote_varnames([SEPARATOR], [VARNAME1...]) | ||
395 | +# --------------------------------------------------- | ||
396 | +m4_define([lt_decl_dquote_varnames], | ||
397 | +[_lt_decl_filter([value], [2], $@)]) | ||
398 | + | ||
399 | + | ||
400 | +# lt_decl_varnames_tagged([SEPARATOR], [VARNAME1...]) | ||
401 | +# --------------------------------------------------- | ||
402 | +m4_define([lt_decl_varnames_tagged], | ||
403 | +[m4_assert([$# <= 2])dnl | ||
404 | +_$0(m4_quote(m4_default([$1], [[, ]])), | ||
405 | + m4_ifval([$2], [[$2]], [m4_dquote(lt_decl_tag_varnames)]), | ||
406 | + m4_split(m4_normalize(m4_quote(_LT_TAGS)), [ ]))]) | ||
407 | +m4_define([_lt_decl_varnames_tagged], | ||
408 | +[m4_ifval([$3], [lt_combine([$1], [$2], [_], $3)])]) | ||
409 | + | ||
410 | + | ||
411 | +# lt_decl_all_varnames([SEPARATOR], [VARNAME1...]) | ||
412 | +# ------------------------------------------------ | ||
413 | +m4_define([lt_decl_all_varnames], | ||
414 | +[_$0(m4_quote(m4_default([$1], [[, ]])), | ||
415 | + m4_if([$2], [], | ||
416 | + m4_quote(lt_decl_varnames), | ||
417 | + m4_quote(m4_shift($@))))[]dnl | ||
418 | +]) | ||
419 | +m4_define([_lt_decl_all_varnames], | ||
420 | +[lt_join($@, lt_decl_varnames_tagged([$1], | ||
421 | + lt_decl_tag_varnames([[, ]], m4_shift($@))))dnl | ||
422 | +]) | ||
423 | + | ||
424 | + | ||
425 | +# _LT_CONFIG_STATUS_DECLARE([VARNAME]) | ||
426 | +# ------------------------------------ | ||
427 | +# Quote a variable value, and forward it to `config.status' so that its | ||
428 | +# declaration there will have the same value as in `configure'. VARNAME | ||
429 | +# must have a single quote delimited value for this to work. | ||
430 | +m4_define([_LT_CONFIG_STATUS_DECLARE], | ||
431 | +[$1='`$ECHO "X$][$1" | $Xsed -e "$delay_single_quote_subst"`']) | ||
432 | + | ||
433 | + | ||
434 | +# _LT_CONFIG_STATUS_DECLARATIONS | ||
435 | +# ------------------------------ | ||
436 | +# We delimit libtool config variables with single quotes, so when | ||
437 | +# we write them to config.status, we have to be sure to quote all | ||
438 | +# embedded single quotes properly. In configure, this macro expands | ||
439 | +# each variable declared with _LT_DECL (and _LT_TAGDECL) into: | ||
440 | +# | ||
441 | +# <var>='`$ECHO "X$<var>" | $Xsed -e "$delay_single_quote_subst"`' | ||
442 | +m4_defun([_LT_CONFIG_STATUS_DECLARATIONS], | ||
443 | +[m4_foreach([_lt_var], m4_quote(lt_decl_all_varnames), | ||
444 | + [m4_n([_LT_CONFIG_STATUS_DECLARE(_lt_var)])])]) | ||
445 | + | ||
446 | + | ||
447 | +# _LT_LIBTOOL_TAGS | ||
448 | +# ---------------- | ||
449 | +# Output comment and list of tags supported by the script | ||
450 | +m4_defun([_LT_LIBTOOL_TAGS], | ||
451 | +[_LT_FORMAT_COMMENT([The names of the tagged configurations supported by this script])dnl | ||
452 | +available_tags="_LT_TAGS"dnl | ||
453 | +]) | ||
454 | + | ||
455 | + | ||
456 | +# _LT_LIBTOOL_DECLARE(VARNAME, [TAG]) | ||
457 | +# ----------------------------------- | ||
458 | +# Extract the dictionary values for VARNAME (optionally with TAG) and | ||
459 | +# expand to a commented shell variable setting: | ||
460 | +# | ||
461 | +# # Some comment about what VAR is for. | ||
462 | +# visible_name=$lt_internal_name | ||
463 | +m4_define([_LT_LIBTOOL_DECLARE], | ||
464 | +[_LT_FORMAT_COMMENT(m4_quote(lt_dict_fetch([lt_decl_dict], [$1], | ||
465 | + [description])))[]dnl | ||
466 | +m4_pushdef([_libtool_name], | ||
467 | + m4_quote(lt_dict_fetch([lt_decl_dict], [$1], [libtool_name])))[]dnl | ||
468 | +m4_case(m4_quote(lt_dict_fetch([lt_decl_dict], [$1], [value])), | ||
469 | + [0], [_libtool_name=[$]$1], | ||
470 | + [1], [_libtool_name=$lt_[]$1], | ||
471 | + [2], [_libtool_name=$lt_[]$1], | ||
472 | + [_libtool_name=lt_dict_fetch([lt_decl_dict], [$1], [value])])[]dnl | ||
473 | +m4_ifval([$2], [_$2])[]m4_popdef([_libtool_name])[]dnl | ||
474 | +]) | ||
475 | + | ||
476 | + | ||
477 | +# _LT_LIBTOOL_CONFIG_VARS | ||
478 | +# ----------------------- | ||
479 | +# Produce commented declarations of non-tagged libtool config variables | ||
480 | +# suitable for insertion in the LIBTOOL CONFIG section of the `libtool' | ||
481 | +# script. Tagged libtool config variables (even for the LIBTOOL CONFIG | ||
482 | +# section) are produced by _LT_LIBTOOL_TAG_VARS. | ||
483 | +m4_defun([_LT_LIBTOOL_CONFIG_VARS], | ||
484 | +[m4_foreach([_lt_var], | ||
485 | + m4_quote(_lt_decl_filter([tagged?], [no], [], lt_decl_varnames)), | ||
486 | + [m4_n([_LT_LIBTOOL_DECLARE(_lt_var)])])]) | ||
487 | + | ||
488 | + | ||
489 | +# _LT_LIBTOOL_TAG_VARS(TAG) | ||
490 | +# ------------------------- | ||
491 | +m4_define([_LT_LIBTOOL_TAG_VARS], | ||
492 | +[m4_foreach([_lt_var], m4_quote(lt_decl_tag_varnames), | ||
493 | + [m4_n([_LT_LIBTOOL_DECLARE(_lt_var, [$1])])])]) | ||
494 | + | ||
495 | + | ||
496 | +# _LT_TAGVAR(VARNAME, [TAGNAME]) | ||
497 | +# ------------------------------ | ||
498 | +m4_define([_LT_TAGVAR], [m4_ifval([$2], [$1_$2], [$1])]) | ||
499 | + | ||
500 | + | ||
501 | +# _LT_CONFIG_COMMANDS | ||
502 | +# ------------------- | ||
503 | +# Send accumulated output to $CONFIG_STATUS. Thanks to the lists of | ||
504 | +# variables for single and double quote escaping we saved from calls | ||
505 | +# to _LT_DECL, we can put quote escaped variables declarations | ||
506 | +# into `config.status', and then the shell code to quote escape them in | ||
507 | +# for loops in `config.status'. Finally, any additional code accumulated | ||
508 | +# from calls to _LT_CONFIG_LIBTOOL_INIT is expanded. | ||
509 | +m4_defun([_LT_CONFIG_COMMANDS], | ||
510 | +[AC_PROVIDE_IFELSE([LT_OUTPUT], | ||
511 | + dnl If the libtool generation code has been placed in $CONFIG_LT, | ||
512 | + dnl instead of duplicating it all over again into config.status, | ||
513 | + dnl then we will have config.status run $CONFIG_LT later, so it | ||
514 | + dnl needs to know what name is stored there: | ||
515 | + [AC_CONFIG_COMMANDS([libtool], | ||
516 | + [$SHELL $CONFIG_LT || AS_EXIT(1)], [CONFIG_LT='$CONFIG_LT'])], | ||
517 | + dnl If the libtool generation code is destined for config.status, | ||
518 | + dnl expand the accumulated commands and init code now: | ||
519 | + [AC_CONFIG_COMMANDS([libtool], | ||
520 | + [_LT_OUTPUT_LIBTOOL_COMMANDS], [_LT_OUTPUT_LIBTOOL_COMMANDS_INIT])]) | ||
521 | +])#_LT_CONFIG_COMMANDS | ||
522 | + | ||
523 | + | ||
524 | +# Initialize. | ||
525 | +m4_define([_LT_OUTPUT_LIBTOOL_COMMANDS_INIT], | ||
526 | +[ | ||
527 | + | ||
528 | +# The HP-UX ksh and POSIX shell print the target directory to stdout | ||
529 | +# if CDPATH is set. | ||
530 | +(unset CDPATH) >/dev/null 2>&1 && unset CDPATH | ||
531 | + | ||
532 | +sed_quote_subst='$sed_quote_subst' | ||
533 | +double_quote_subst='$double_quote_subst' | ||
534 | +delay_variable_subst='$delay_variable_subst' | ||
535 | +_LT_CONFIG_STATUS_DECLARATIONS | ||
536 | +LTCC='$LTCC' | ||
537 | +LTCFLAGS='$LTCFLAGS' | ||
538 | +compiler='$compiler_DEFAULT' | ||
539 | + | ||
540 | +# Quote evaled strings. | ||
541 | +for var in lt_decl_all_varnames([[ \ | ||
542 | +]], lt_decl_quote_varnames); do | ||
543 | + case \`eval \\\\\$ECHO "X\\\\\$\$var"\` in | ||
544 | + *[[\\\\\\\`\\"\\\$]]*) | ||
545 | + eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"X\\\$\$var\\" | \\\$Xsed -e \\"\\\$sed_quote_subst\\"\\\`\\\\\\"" | ||
546 | + ;; | ||
547 | + *) | ||
548 | + eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\"" | ||
549 | + ;; | ||
550 | + esac | ||
551 | +done | ||
552 | + | ||
553 | +# Double-quote double-evaled strings. | ||
554 | +for var in lt_decl_all_varnames([[ \ | ||
555 | +]], lt_decl_dquote_varnames); do | ||
556 | + case \`eval \\\\\$ECHO "X\\\\\$\$var"\` in | ||
557 | + *[[\\\\\\\`\\"\\\$]]*) | ||
558 | + eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"X\\\$\$var\\" | \\\$Xsed -e \\"\\\$double_quote_subst\\" -e \\"\\\$sed_quote_subst\\" -e \\"\\\$delay_variable_subst\\"\\\`\\\\\\"" | ||
559 | + ;; | ||
560 | + *) | ||
561 | + eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\"" | ||
562 | + ;; | ||
563 | + esac | ||
564 | +done | ||
565 | + | ||
566 | +# Fix-up fallback echo if it was mangled by the above quoting rules. | ||
567 | +case \$lt_ECHO in | ||
568 | +*'\\\[$]0 --fallback-echo"')dnl " | ||
569 | + lt_ECHO=\`\$ECHO "X\$lt_ECHO" | \$Xsed -e 's/\\\\\\\\\\\\\\\[$]0 --fallback-echo"\[$]/\[$]0 --fallback-echo"/'\` | ||
570 | + ;; | ||
571 | +esac | ||
572 | + | ||
573 | +_LT_OUTPUT_LIBTOOL_INIT | ||
574 | +]) | ||
575 | + | ||
576 | + | ||
577 | +# LT_OUTPUT | ||
578 | +# --------- | ||
579 | +# This macro allows early generation of the libtool script (before | ||
580 | +# AC_OUTPUT is called), incase it is used in configure for compilation | ||
581 | +# tests. | ||
582 | +AC_DEFUN([LT_OUTPUT], | ||
583 | +[: ${CONFIG_LT=./config.lt} | ||
584 | +AC_MSG_NOTICE([creating $CONFIG_LT]) | ||
585 | +cat >"$CONFIG_LT" <<_LTEOF | ||
586 | +#! $SHELL | ||
587 | +# Generated by $as_me. | ||
588 | +# Run this file to recreate a libtool stub with the current configuration. | ||
589 | + | ||
590 | +lt_cl_silent=false | ||
591 | +SHELL=\${CONFIG_SHELL-$SHELL} | ||
592 | +_LTEOF | ||
593 | + | ||
594 | +cat >>"$CONFIG_LT" <<\_LTEOF | ||
595 | +AS_SHELL_SANITIZE | ||
596 | +_AS_PREPARE | ||
597 | + | ||
598 | +exec AS_MESSAGE_FD>&1 | ||
599 | +exec AS_MESSAGE_LOG_FD>>config.log | ||
600 | +{ | ||
601 | + echo | ||
602 | + AS_BOX([Running $as_me.]) | ||
603 | +} >&AS_MESSAGE_LOG_FD | ||
604 | + | ||
605 | +lt_cl_help="\ | ||
606 | +\`$as_me' creates a local libtool stub from the current configuration, | ||
607 | +for use in further configure time tests before the real libtool is | ||
608 | +generated. | ||
609 | + | ||
610 | +Usage: $[0] [[OPTIONS]] | ||
611 | + | ||
612 | + -h, --help print this help, then exit | ||
613 | + -V, --version print version number, then exit | ||
614 | + -q, --quiet do not print progress messages | ||
615 | + -d, --debug don't remove temporary files | ||
616 | + | ||
617 | +Report bugs to <bug-libtool@gnu.org>." | ||
618 | + | ||
619 | +lt_cl_version="\ | ||
620 | +m4_ifset([AC_PACKAGE_NAME], [AC_PACKAGE_NAME ])config.lt[]dnl | ||
621 | +m4_ifset([AC_PACKAGE_VERSION], [ AC_PACKAGE_VERSION]) | ||
622 | +configured by $[0], generated by m4_PACKAGE_STRING. | ||
623 | + | ||
624 | +Copyright (C) 2008 Free Software Foundation, Inc. | ||
625 | +This config.lt script is free software; the Free Software Foundation | ||
626 | +gives unlimited permision to copy, distribute and modify it." | ||
627 | + | ||
628 | +while test $[#] != 0 | ||
629 | +do | ||
630 | + case $[1] in | ||
631 | + --version | --v* | -V ) | ||
632 | + echo "$lt_cl_version"; exit 0 ;; | ||
633 | + --help | --h* | -h ) | ||
634 | + echo "$lt_cl_help"; exit 0 ;; | ||
635 | + --debug | --d* | -d ) | ||
636 | + debug=: ;; | ||
637 | + --quiet | --q* | --silent | --s* | -q ) | ||
638 | + lt_cl_silent=: ;; | ||
639 | + | ||
640 | + -*) AC_MSG_ERROR([unrecognized option: $[1] | ||
641 | +Try \`$[0] --help' for more information.]) ;; | ||
642 | + | ||
643 | + *) AC_MSG_ERROR([unrecognized argument: $[1] | ||
644 | +Try \`$[0] --help' for more information.]) ;; | ||
645 | + esac | ||
646 | + shift | ||
647 | +done | ||
648 | + | ||
649 | +if $lt_cl_silent; then | ||
650 | + exec AS_MESSAGE_FD>/dev/null | ||
651 | +fi | ||
652 | +_LTEOF | ||
653 | + | ||
654 | +cat >>"$CONFIG_LT" <<_LTEOF | ||
655 | +_LT_OUTPUT_LIBTOOL_COMMANDS_INIT | ||
656 | +_LTEOF | ||
657 | + | ||
658 | +cat >>"$CONFIG_LT" <<\_LTEOF | ||
659 | +AC_MSG_NOTICE([creating $ofile]) | ||
660 | +_LT_OUTPUT_LIBTOOL_COMMANDS | ||
661 | +AS_EXIT(0) | ||
662 | +_LTEOF | ||
663 | +chmod +x "$CONFIG_LT" | ||
664 | + | ||
665 | +# configure is writing to config.log, but config.lt does its own redirection, | ||
666 | +# appending to config.log, which fails on DOS, as config.log is still kept | ||
667 | +# open by configure. Here we exec the FD to /dev/null, effectively closing | ||
668 | +# config.log, so it can be properly (re)opened and appended to by config.lt. | ||
669 | +if test "$no_create" != yes; then | ||
670 | + lt_cl_success=: | ||
671 | + test "$silent" = yes && | ||
672 | + lt_config_lt_args="$lt_config_lt_args --quiet" | ||
673 | + exec AS_MESSAGE_LOG_FD>/dev/null | ||
674 | + $SHELL "$CONFIG_LT" $lt_config_lt_args || lt_cl_success=false | ||
675 | + exec AS_MESSAGE_LOG_FD>>config.log | ||
676 | + $lt_cl_success || AS_EXIT(1) | ||
677 | +fi | ||
678 | +])# LT_OUTPUT | ||
679 | + | ||
680 | + | ||
681 | +# _LT_CONFIG(TAG) | ||
682 | +# --------------- | ||
683 | +# If TAG is the built-in tag, create an initial libtool script with a | ||
684 | +# default configuration from the untagged config vars. Otherwise add code | ||
685 | +# to config.status for appending the configuration named by TAG from the | ||
686 | +# matching tagged config vars. | ||
687 | +m4_defun([_LT_CONFIG], | ||
688 | +[m4_require([_LT_FILEUTILS_DEFAULTS])dnl | ||
689 | +_LT_CONFIG_SAVE_COMMANDS([ | ||
690 | + m4_define([_LT_TAG], m4_if([$1], [], [C], [$1]))dnl | ||
691 | + m4_if(_LT_TAG, [C], [ | ||
692 | + # See if we are running on zsh, and set the options which allow our | ||
693 | + # commands through without removal of \ escapes. | ||
694 | + if test -n "${ZSH_VERSION+set}" ; then | ||
695 | + setopt NO_GLOB_SUBST | ||
696 | + fi | ||
697 | + | ||
698 | + cfgfile="${ofile}T" | ||
699 | + trap "$RM \"$cfgfile\"; exit 1" 1 2 15 | ||
700 | + $RM "$cfgfile" | ||
701 | + | ||
702 | + cat <<_LT_EOF >> "$cfgfile" | ||
703 | +#! $SHELL | ||
704 | + | ||
705 | +# `$ECHO "$ofile" | sed 's%^.*/%%'` - Provide generalized library-building support services. | ||
706 | +# Generated automatically by $as_me ($PACKAGE$TIMESTAMP) $VERSION | ||
707 | +# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`: | ||
708 | +# NOTE: Changes made to this file will be lost: look at ltmain.sh. | ||
709 | +# | ||
710 | +_LT_COPYING | ||
711 | +_LT_LIBTOOL_TAGS | ||
712 | + | ||
713 | +# ### BEGIN LIBTOOL CONFIG | ||
714 | +_LT_LIBTOOL_CONFIG_VARS | ||
715 | +_LT_LIBTOOL_TAG_VARS | ||
716 | +# ### END LIBTOOL CONFIG | ||
717 | + | ||
718 | +_LT_EOF | ||
719 | + | ||
720 | + case $host_os in | ||
721 | + aix3*) | ||
722 | + cat <<\_LT_EOF >> "$cfgfile" | ||
723 | +# AIX sometimes has problems with the GCC collect2 program. For some | ||
724 | +# reason, if we set the COLLECT_NAMES environment variable, the problems | ||
725 | +# vanish in a puff of smoke. | ||
726 | +if test "X${COLLECT_NAMES+set}" != Xset; then | ||
727 | + COLLECT_NAMES= | ||
728 | + export COLLECT_NAMES | ||
729 | +fi | ||
730 | +_LT_EOF | ||
731 | + ;; | ||
732 | + esac | ||
733 | + | ||
734 | + _LT_PROG_LTMAIN | ||
735 | + | ||
736 | + # We use sed instead of cat because bash on DJGPP gets confused if | ||
737 | + # if finds mixed CR/LF and LF-only lines. Since sed operates in | ||
738 | + # text mode, it properly converts lines to CR/LF. This bash problem | ||
739 | + # is reportedly fixed, but why not run on old versions too? | ||
740 | + sed '/^# Generated shell functions inserted here/q' "$ltmain" >> "$cfgfile" \ | ||
741 | + || (rm -f "$cfgfile"; exit 1) | ||
742 | + | ||
743 | + _LT_PROG_XSI_SHELLFNS | ||
744 | + | ||
745 | + sed -n '/^# Generated shell functions inserted here/,$p' "$ltmain" >> "$cfgfile" \ | ||
746 | + || (rm -f "$cfgfile"; exit 1) | ||
747 | + | ||
748 | + mv -f "$cfgfile" "$ofile" || | ||
749 | + (rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile") | ||
750 | + chmod +x "$ofile" | ||
751 | +], | ||
752 | +[cat <<_LT_EOF >> "$ofile" | ||
753 | + | ||
754 | +dnl Unfortunately we have to use $1 here, since _LT_TAG is not expanded | ||
755 | +dnl in a comment (ie after a #). | ||
756 | +# ### BEGIN LIBTOOL TAG CONFIG: $1 | ||
757 | +_LT_LIBTOOL_TAG_VARS(_LT_TAG) | ||
758 | +# ### END LIBTOOL TAG CONFIG: $1 | ||
759 | +_LT_EOF | ||
760 | +])dnl /m4_if | ||
761 | +], | ||
762 | +[m4_if([$1], [], [ | ||
763 | + PACKAGE='$PACKAGE' | ||
764 | + VERSION='$VERSION' | ||
765 | + TIMESTAMP='$TIMESTAMP' | ||
766 | + RM='$RM' | ||
767 | + ofile='$ofile'], []) | ||
768 | +])dnl /_LT_CONFIG_SAVE_COMMANDS | ||
769 | +])# _LT_CONFIG | ||
770 | + | ||
771 | + | ||
772 | +# LT_SUPPORTED_TAG(TAG) | ||
773 | +# --------------------- | ||
774 | +# Trace this macro to discover what tags are supported by the libtool | ||
775 | +# --tag option, using: | ||
776 | +# autoconf --trace 'LT_SUPPORTED_TAG:$1' | ||
777 | +AC_DEFUN([LT_SUPPORTED_TAG], []) | ||
778 | + | ||
779 | + | ||
780 | +# C support is built-in for now | ||
781 | +m4_define([_LT_LANG_C_enabled], []) | ||
782 | +m4_define([_LT_TAGS], []) | ||
783 | + | ||
784 | + | ||
785 | +# LT_LANG(LANG) | ||
786 | +# ------------- | ||
787 | +# Enable libtool support for the given language if not already enabled. | ||
788 | +AC_DEFUN([LT_LANG], | ||
789 | +[AC_BEFORE([$0], [LT_OUTPUT])dnl | ||
790 | +m4_case([$1], | ||
791 | + [C], [_LT_LANG(C)], | ||
792 | + [C++], [_LT_LANG(CXX)], | ||
793 | + [Java], [_LT_LANG(GCJ)], | ||
794 | + [Fortran 77], [_LT_LANG(F77)], | ||
795 | + [Fortran], [_LT_LANG(FC)], | ||
796 | + [Windows Resource], [_LT_LANG(RC)], | ||
797 | + [m4_ifdef([_LT_LANG_]$1[_CONFIG], | ||
798 | + [_LT_LANG($1)], | ||
799 | + [m4_fatal([$0: unsupported language: "$1"])])])dnl | ||
800 | +])# LT_LANG | ||
801 | + | ||
802 | + | ||
803 | +# _LT_LANG(LANGNAME) | ||
804 | +# ------------------ | ||
805 | +m4_defun([_LT_LANG], | ||
806 | +[m4_ifdef([_LT_LANG_]$1[_enabled], [], | ||
807 | + [LT_SUPPORTED_TAG([$1])dnl | ||
808 | + m4_append([_LT_TAGS], [$1 ])dnl | ||
809 | + m4_define([_LT_LANG_]$1[_enabled], [])dnl | ||
810 | + _LT_LANG_$1_CONFIG($1)])dnl | ||
811 | +])# _LT_LANG | ||
812 | + | ||
813 | + | ||
814 | +# _LT_LANG_DEFAULT_CONFIG | ||
815 | +# ----------------------- | ||
816 | +m4_defun([_LT_LANG_DEFAULT_CONFIG], | ||
817 | +[AC_PROVIDE_IFELSE([AC_PROG_CXX], | ||
818 | + [LT_LANG(CXX)], | ||
819 | + [m4_define([AC_PROG_CXX], defn([AC_PROG_CXX])[LT_LANG(CXX)])]) | ||
820 | + | ||
821 | +AC_PROVIDE_IFELSE([AC_PROG_F77], | ||
822 | + [LT_LANG(F77)], | ||
823 | + [m4_define([AC_PROG_F77], defn([AC_PROG_F77])[LT_LANG(F77)])]) | ||
824 | + | ||
825 | +AC_PROVIDE_IFELSE([AC_PROG_FC], | ||
826 | + [LT_LANG(FC)], | ||
827 | + [m4_define([AC_PROG_FC], defn([AC_PROG_FC])[LT_LANG(FC)])]) | ||
828 | + | ||
829 | +dnl The call to [A][M_PROG_GCJ] is quoted like that to stop aclocal | ||
830 | +dnl pulling things in needlessly. | ||
831 | +AC_PROVIDE_IFELSE([AC_PROG_GCJ], | ||
832 | + [LT_LANG(GCJ)], | ||
833 | + [AC_PROVIDE_IFELSE([A][M_PROG_GCJ], | ||
834 | + [LT_LANG(GCJ)], | ||
835 | + [AC_PROVIDE_IFELSE([LT_PROG_GCJ], | ||
836 | + [LT_LANG(GCJ)], | ||
837 | + [m4_ifdef([AC_PROG_GCJ], | ||
838 | + [m4_define([AC_PROG_GCJ], defn([AC_PROG_GCJ])[LT_LANG(GCJ)])]) | ||
839 | + m4_ifdef([A][M_PROG_GCJ], | ||
840 | + [m4_define([A][M_PROG_GCJ], defn([A][M_PROG_GCJ])[LT_LANG(GCJ)])]) | ||
841 | + m4_ifdef([LT_PROG_GCJ], | ||
842 | + [m4_define([LT_PROG_GCJ], defn([LT_PROG_GCJ])[LT_LANG(GCJ)])])])])]) | ||
843 | + | ||
844 | +AC_PROVIDE_IFELSE([LT_PROG_RC], | ||
845 | + [LT_LANG(RC)], | ||
846 | + [m4_define([LT_PROG_RC], defn([LT_PROG_RC])[LT_LANG(RC)])]) | ||
847 | +])# _LT_LANG_DEFAULT_CONFIG | ||
848 | + | ||
849 | +# Obsolete macros: | ||
850 | +AU_DEFUN([AC_LIBTOOL_CXX], [LT_LANG(C++)]) | ||
851 | +AU_DEFUN([AC_LIBTOOL_F77], [LT_LANG(Fortran 77)]) | ||
852 | +AU_DEFUN([AC_LIBTOOL_FC], [LT_LANG(Fortran)]) | ||
853 | +AU_DEFUN([AC_LIBTOOL_GCJ], [LT_LANG(Java)]) | ||
854 | +dnl aclocal-1.4 backwards compatibility: | ||
855 | +dnl AC_DEFUN([AC_LIBTOOL_CXX], []) | ||
856 | +dnl AC_DEFUN([AC_LIBTOOL_F77], []) | ||
857 | +dnl AC_DEFUN([AC_LIBTOOL_FC], []) | ||
858 | +dnl AC_DEFUN([AC_LIBTOOL_GCJ], []) | ||
859 | + | ||
860 | + | ||
861 | +# _LT_TAG_COMPILER | ||
862 | +# ---------------- | ||
863 | +m4_defun([_LT_TAG_COMPILER], | ||
864 | +[AC_REQUIRE([AC_PROG_CC])dnl | ||
865 | + | ||
866 | +_LT_DECL([LTCC], [CC], [1], [A C compiler])dnl | ||
867 | +_LT_DECL([LTCFLAGS], [CFLAGS], [1], [LTCC compiler flags])dnl | ||
868 | +_LT_TAGDECL([CC], [compiler], [1], [A language specific compiler])dnl | ||
869 | +_LT_TAGDECL([with_gcc], [GCC], [0], [Is the compiler the GNU compiler?])dnl | ||
870 | + | ||
871 | +# If no C compiler was specified, use CC. | ||
872 | +LTCC=${LTCC-"$CC"} | ||
873 | + | ||
874 | +# If no C compiler flags were specified, use CFLAGS. | ||
875 | +LTCFLAGS=${LTCFLAGS-"$CFLAGS"} | ||
876 | + | ||
877 | +# Allow CC to be a program name with arguments. | ||
878 | +compiler=$CC | ||
879 | +])# _LT_TAG_COMPILER | ||
880 | + | ||
881 | + | ||
882 | +# _LT_COMPILER_BOILERPLATE | ||
883 | +# ------------------------ | ||
884 | +# Check for compiler boilerplate output or warnings with | ||
885 | +# the simple compiler test code. | ||
886 | +m4_defun([_LT_COMPILER_BOILERPLATE], | ||
887 | +[m4_require([_LT_DECL_SED])dnl | ||
888 | +ac_outfile=conftest.$ac_objext | ||
889 | +echo "$lt_simple_compile_test_code" >conftest.$ac_ext | ||
890 | +eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err | ||
891 | +_lt_compiler_boilerplate=`cat conftest.err` | ||
892 | +$RM conftest* | ||
893 | +])# _LT_COMPILER_BOILERPLATE | ||
894 | + | ||
895 | + | ||
896 | +# _LT_LINKER_BOILERPLATE | ||
897 | +# ---------------------- | ||
898 | +# Check for linker boilerplate output or warnings with | ||
899 | +# the simple link test code. | ||
900 | +m4_defun([_LT_LINKER_BOILERPLATE], | ||
901 | +[m4_require([_LT_DECL_SED])dnl | ||
902 | +ac_outfile=conftest.$ac_objext | ||
903 | +echo "$lt_simple_link_test_code" >conftest.$ac_ext | ||
904 | +eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err | ||
905 | +_lt_linker_boilerplate=`cat conftest.err` | ||
906 | +$RM -r conftest* | ||
907 | +])# _LT_LINKER_BOILERPLATE | ||
908 | + | ||
909 | +# _LT_REQUIRED_DARWIN_CHECKS | ||
910 | +# ------------------------- | ||
911 | +m4_defun_once([_LT_REQUIRED_DARWIN_CHECKS],[ | ||
912 | + case $host_os in | ||
913 | + rhapsody* | darwin*) | ||
914 | + AC_CHECK_TOOL([DSYMUTIL], [dsymutil], [:]) | ||
915 | + AC_CHECK_TOOL([NMEDIT], [nmedit], [:]) | ||
916 | + AC_CHECK_TOOL([LIPO], [lipo], [:]) | ||
917 | + AC_CHECK_TOOL([OTOOL], [otool], [:]) | ||
918 | + AC_CHECK_TOOL([OTOOL64], [otool64], [:]) | ||
919 | + _LT_DECL([], [DSYMUTIL], [1], | ||
920 | + [Tool to manipulate archived DWARF debug symbol files on Mac OS X]) | ||
921 | + _LT_DECL([], [NMEDIT], [1], | ||
922 | + [Tool to change global to local symbols on Mac OS X]) | ||
923 | + _LT_DECL([], [LIPO], [1], | ||
924 | + [Tool to manipulate fat objects and archives on Mac OS X]) | ||
925 | + _LT_DECL([], [OTOOL], [1], | ||
926 | + [ldd/readelf like tool for Mach-O binaries on Mac OS X]) | ||
927 | + _LT_DECL([], [OTOOL64], [1], | ||
928 | + [ldd/readelf like tool for 64 bit Mach-O binaries on Mac OS X 10.4]) | ||
929 | + | ||
930 | + AC_CACHE_CHECK([for -single_module linker flag],[lt_cv_apple_cc_single_mod], | ||
931 | + [lt_cv_apple_cc_single_mod=no | ||
932 | + if test -z "${LT_MULTI_MODULE}"; then | ||
933 | + # By default we will add the -single_module flag. You can override | ||
934 | + # by either setting the environment variable LT_MULTI_MODULE | ||
935 | + # non-empty at configure time, or by adding -multi_module to the | ||
936 | + # link flags. | ||
937 | + rm -rf libconftest.dylib* | ||
938 | + echo "int foo(void){return 1;}" > conftest.c | ||
939 | + echo "$LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \ | ||
940 | +-dynamiclib -Wl,-single_module conftest.c" >&AS_MESSAGE_LOG_FD | ||
941 | + $LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \ | ||
942 | + -dynamiclib -Wl,-single_module conftest.c 2>conftest.err | ||
943 | + _lt_result=$? | ||
944 | + if test -f libconftest.dylib && test ! -s conftest.err && test $_lt_result = 0; then | ||
945 | + lt_cv_apple_cc_single_mod=yes | ||
946 | + else | ||
947 | + cat conftest.err >&AS_MESSAGE_LOG_FD | ||
948 | + fi | ||
949 | + rm -rf libconftest.dylib* | ||
950 | + rm -f conftest.* | ||
951 | + fi]) | ||
952 | + AC_CACHE_CHECK([for -exported_symbols_list linker flag], | ||
953 | + [lt_cv_ld_exported_symbols_list], | ||
954 | + [lt_cv_ld_exported_symbols_list=no | ||
955 | + save_LDFLAGS=$LDFLAGS | ||
956 | + echo "_main" > conftest.sym | ||
957 | + LDFLAGS="$LDFLAGS -Wl,-exported_symbols_list,conftest.sym" | ||
958 | + AC_LINK_IFELSE([AC_LANG_PROGRAM([],[])], | ||
959 | + [lt_cv_ld_exported_symbols_list=yes], | ||
960 | + [lt_cv_ld_exported_symbols_list=no]) | ||
961 | + LDFLAGS="$save_LDFLAGS" | ||
962 | + ]) | ||
963 | + case $host_os in | ||
964 | + rhapsody* | darwin1.[[012]]) | ||
965 | + _lt_dar_allow_undefined='${wl}-undefined ${wl}suppress' ;; | ||
966 | + darwin1.*) | ||
967 | + _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;; | ||
968 | + darwin*) # darwin 5.x on | ||
969 | + # if running on 10.5 or later, the deployment target defaults | ||
970 | + # to the OS version, if on x86, and 10.4, the deployment | ||
971 | + # target defaults to 10.4. Don't you love it? | ||
972 | + case ${MACOSX_DEPLOYMENT_TARGET-10.0},$host in | ||
973 | + 10.0,*86*-darwin8*|10.0,*-darwin[[91]]*) | ||
974 | + _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;; | ||
975 | + 10.[[012]]*) | ||
976 | + _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;; | ||
977 | + 10.*) | ||
978 | + _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;; | ||
979 | + esac | ||
980 | + ;; | ||
981 | + esac | ||
982 | + if test "$lt_cv_apple_cc_single_mod" = "yes"; then | ||
983 | + _lt_dar_single_mod='$single_module' | ||
984 | + fi | ||
985 | + if test "$lt_cv_ld_exported_symbols_list" = "yes"; then | ||
986 | + _lt_dar_export_syms=' ${wl}-exported_symbols_list,$output_objdir/${libname}-symbols.expsym' | ||
987 | + else | ||
988 | + _lt_dar_export_syms='~$NMEDIT -s $output_objdir/${libname}-symbols.expsym ${lib}' | ||
989 | + fi | ||
990 | + if test "$DSYMUTIL" != ":"; then | ||
991 | + _lt_dsymutil='~$DSYMUTIL $lib || :' | ||
992 | + else | ||
993 | + _lt_dsymutil= | ||
994 | + fi | ||
995 | + ;; | ||
996 | + esac | ||
997 | +]) | ||
998 | + | ||
999 | + | ||
1000 | +# _LT_DARWIN_LINKER_FEATURES | ||
1001 | +# -------------------------- | ||
1002 | +# Checks for linker and compiler features on darwin | ||
1003 | +m4_defun([_LT_DARWIN_LINKER_FEATURES], | ||
1004 | +[ | ||
1005 | + m4_require([_LT_REQUIRED_DARWIN_CHECKS]) | ||
1006 | + _LT_TAGVAR(archive_cmds_need_lc, $1)=no | ||
1007 | + _LT_TAGVAR(hardcode_direct, $1)=no | ||
1008 | + _LT_TAGVAR(hardcode_automatic, $1)=yes | ||
1009 | + _LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported | ||
1010 | + _LT_TAGVAR(whole_archive_flag_spec, $1)='' | ||
1011 | + _LT_TAGVAR(link_all_deplibs, $1)=yes | ||
1012 | + _LT_TAGVAR(allow_undefined_flag, $1)="$_lt_dar_allow_undefined" | ||
1013 | + case $cc_basename in | ||
1014 | + ifort*) _lt_dar_can_shared=yes ;; | ||
1015 | + *) _lt_dar_can_shared=$GCC ;; | ||
1016 | + esac | ||
1017 | + if test "$_lt_dar_can_shared" = "yes"; then | ||
1018 | + output_verbose_link_cmd=echo | ||
1019 | + _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}" | ||
1020 | + _LT_TAGVAR(module_cmds, $1)="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}" | ||
1021 | + _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}" | ||
1022 | + _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}" | ||
1023 | + m4_if([$1], [CXX], | ||
1024 | +[ if test "$lt_cv_apple_cc_single_mod" != "yes"; then | ||
1025 | + _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}" | ||
1026 | + _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}" | ||
1027 | + fi | ||
1028 | +],[]) | ||
1029 | + else | ||
1030 | + _LT_TAGVAR(ld_shlibs, $1)=no | ||
1031 | + fi | ||
1032 | +]) | ||
1033 | + | ||
1034 | +# _LT_SYS_MODULE_PATH_AIX | ||
1035 | +# ----------------------- | ||
1036 | +# Links a minimal program and checks the executable | ||
1037 | +# for the system default hardcoded library path. In most cases, | ||
1038 | +# this is /usr/lib:/lib, but when the MPI compilers are used | ||
1039 | +# the location of the communication and MPI libs are included too. | ||
1040 | +# If we don't find anything, use the default library path according | ||
1041 | +# to the aix ld manual. | ||
1042 | +m4_defun([_LT_SYS_MODULE_PATH_AIX], | ||
1043 | +[m4_require([_LT_DECL_SED])dnl | ||
1044 | +AC_LINK_IFELSE(AC_LANG_PROGRAM,[ | ||
1045 | +lt_aix_libpath_sed=' | ||
1046 | + /Import File Strings/,/^$/ { | ||
1047 | + /^0/ { | ||
1048 | + s/^0 *\(.*\)$/\1/ | ||
1049 | + p | ||
1050 | + } | ||
1051 | + }' | ||
1052 | +aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` | ||
1053 | +# Check for a 64-bit object if we didn't find anything. | ||
1054 | +if test -z "$aix_libpath"; then | ||
1055 | + aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"` | ||
1056 | +fi],[]) | ||
1057 | +if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi | ||
1058 | +])# _LT_SYS_MODULE_PATH_AIX | ||
1059 | + | ||
1060 | + | ||
1061 | +# _LT_SHELL_INIT(ARG) | ||
1062 | +# ------------------- | ||
1063 | +m4_define([_LT_SHELL_INIT], | ||
1064 | +[ifdef([AC_DIVERSION_NOTICE], | ||
1065 | + [AC_DIVERT_PUSH(AC_DIVERSION_NOTICE)], | ||
1066 | + [AC_DIVERT_PUSH(NOTICE)]) | ||
1067 | +$1 | ||
1068 | +AC_DIVERT_POP | ||
1069 | +])# _LT_SHELL_INIT | ||
1070 | + | ||
1071 | + | ||
1072 | +# _LT_PROG_ECHO_BACKSLASH | ||
1073 | +# ----------------------- | ||
1074 | +# Add some code to the start of the generated configure script which | ||
1075 | +# will find an echo command which doesn't interpret backslashes. | ||
1076 | +m4_defun([_LT_PROG_ECHO_BACKSLASH], | ||
1077 | +[_LT_SHELL_INIT([ | ||
1078 | +# Check that we are running under the correct shell. | ||
1079 | +SHELL=${CONFIG_SHELL-/bin/sh} | ||
1080 | + | ||
1081 | +case X$lt_ECHO in | ||
1082 | +X*--fallback-echo) | ||
1083 | + # Remove one level of quotation (which was required for Make). | ||
1084 | + ECHO=`echo "$lt_ECHO" | sed 's,\\\\\[$]\\[$]0,'[$]0','` | ||
1085 | + ;; | ||
1086 | +esac | ||
1087 | + | ||
1088 | +ECHO=${lt_ECHO-echo} | ||
1089 | +if test "X[$]1" = X--no-reexec; then | ||
1090 | + # Discard the --no-reexec flag, and continue. | ||
1091 | + shift | ||
1092 | +elif test "X[$]1" = X--fallback-echo; then | ||
1093 | + # Avoid inline document here, it may be left over | ||
1094 | + : | ||
1095 | +elif test "X`{ $ECHO '\t'; } 2>/dev/null`" = 'X\t' ; then | ||
1096 | + # Yippee, $ECHO works! | ||
1097 | + : | ||
1098 | +else | ||
1099 | + # Restart under the correct shell. | ||
1100 | + exec $SHELL "[$]0" --no-reexec ${1+"[$]@"} | ||
1101 | +fi | ||
1102 | + | ||
1103 | +if test "X[$]1" = X--fallback-echo; then | ||
1104 | + # used as fallback echo | ||
1105 | + shift | ||
1106 | + cat <<_LT_EOF | ||
1107 | +[$]* | ||
1108 | +_LT_EOF | ||
1109 | + exit 0 | ||
1110 | +fi | ||
1111 | + | ||
1112 | +# The HP-UX ksh and POSIX shell print the target directory to stdout | ||
1113 | +# if CDPATH is set. | ||
1114 | +(unset CDPATH) >/dev/null 2>&1 && unset CDPATH | ||
1115 | + | ||
1116 | +if test -z "$lt_ECHO"; then | ||
1117 | + if test "X${echo_test_string+set}" != Xset; then | ||
1118 | + # find a string as large as possible, as long as the shell can cope with it | ||
1119 | + for cmd in 'sed 50q "[$]0"' 'sed 20q "[$]0"' 'sed 10q "[$]0"' 'sed 2q "[$]0"' 'echo test'; do | ||
1120 | + # expected sizes: less than 2Kb, 1Kb, 512 bytes, 16 bytes, ... | ||
1121 | + if { echo_test_string=`eval $cmd`; } 2>/dev/null && | ||
1122 | + { test "X$echo_test_string" = "X$echo_test_string"; } 2>/dev/null | ||
1123 | + then | ||
1124 | + break | ||
1125 | + fi | ||
1126 | + done | ||
1127 | + fi | ||
1128 | + | ||
1129 | + if test "X`{ $ECHO '\t'; } 2>/dev/null`" = 'X\t' && | ||
1130 | + echo_testing_string=`{ $ECHO "$echo_test_string"; } 2>/dev/null` && | ||
1131 | + test "X$echo_testing_string" = "X$echo_test_string"; then | ||
1132 | + : | ||
1133 | + else | ||
1134 | + # The Solaris, AIX, and Digital Unix default echo programs unquote | ||
1135 | + # backslashes. This makes it impossible to quote backslashes using | ||
1136 | + # echo "$something" | sed 's/\\/\\\\/g' | ||
1137 | + # | ||
1138 | + # So, first we look for a working echo in the user's PATH. | ||
1139 | + | ||
1140 | + lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR | ||
1141 | + for dir in $PATH /usr/ucb; do | ||
1142 | + IFS="$lt_save_ifs" | ||
1143 | + if (test -f $dir/echo || test -f $dir/echo$ac_exeext) && | ||
1144 | + test "X`($dir/echo '\t') 2>/dev/null`" = 'X\t' && | ||
1145 | + echo_testing_string=`($dir/echo "$echo_test_string") 2>/dev/null` && | ||
1146 | + test "X$echo_testing_string" = "X$echo_test_string"; then | ||
1147 | + ECHO="$dir/echo" | ||
1148 | + break | ||
1149 | + fi | ||
1150 | + done | ||
1151 | + IFS="$lt_save_ifs" | ||
1152 | + | ||
1153 | + if test "X$ECHO" = Xecho; then | ||
1154 | + # We didn't find a better echo, so look for alternatives. | ||
1155 | + if test "X`{ print -r '\t'; } 2>/dev/null`" = 'X\t' && | ||
1156 | + echo_testing_string=`{ print -r "$echo_test_string"; } 2>/dev/null` && | ||
1157 | + test "X$echo_testing_string" = "X$echo_test_string"; then | ||
1158 | + # This shell has a builtin print -r that does the trick. | ||
1159 | + ECHO='print -r' | ||
1160 | + elif { test -f /bin/ksh || test -f /bin/ksh$ac_exeext; } && | ||
1161 | + test "X$CONFIG_SHELL" != X/bin/ksh; then | ||
1162 | + # If we have ksh, try running configure again with it. | ||
1163 | + ORIGINAL_CONFIG_SHELL=${CONFIG_SHELL-/bin/sh} | ||
1164 | + export ORIGINAL_CONFIG_SHELL | ||
1165 | + CONFIG_SHELL=/bin/ksh | ||
1166 | + export CONFIG_SHELL | ||
1167 | + exec $CONFIG_SHELL "[$]0" --no-reexec ${1+"[$]@"} | ||
1168 | + else | ||
1169 | + # Try using printf. | ||
1170 | + ECHO='printf %s\n' | ||
1171 | + if test "X`{ $ECHO '\t'; } 2>/dev/null`" = 'X\t' && | ||
1172 | + echo_testing_string=`{ $ECHO "$echo_test_string"; } 2>/dev/null` && | ||
1173 | + test "X$echo_testing_string" = "X$echo_test_string"; then | ||
1174 | + # Cool, printf works | ||
1175 | + : | ||
1176 | + elif echo_testing_string=`($ORIGINAL_CONFIG_SHELL "[$]0" --fallback-echo '\t') 2>/dev/null` && | ||
1177 | + test "X$echo_testing_string" = 'X\t' && | ||
1178 | + echo_testing_string=`($ORIGINAL_CONFIG_SHELL "[$]0" --fallback-echo "$echo_test_string") 2>/dev/null` && | ||
1179 | + test "X$echo_testing_string" = "X$echo_test_string"; then | ||
1180 | + CONFIG_SHELL=$ORIGINAL_CONFIG_SHELL | ||
1181 | + export CONFIG_SHELL | ||
1182 | + SHELL="$CONFIG_SHELL" | ||
1183 | + export SHELL | ||
1184 | + ECHO="$CONFIG_SHELL [$]0 --fallback-echo" | ||
1185 | + elif echo_testing_string=`($CONFIG_SHELL "[$]0" --fallback-echo '\t') 2>/dev/null` && | ||
1186 | + test "X$echo_testing_string" = 'X\t' && | ||
1187 | + echo_testing_string=`($CONFIG_SHELL "[$]0" --fallback-echo "$echo_test_string") 2>/dev/null` && | ||
1188 | + test "X$echo_testing_string" = "X$echo_test_string"; then | ||
1189 | + ECHO="$CONFIG_SHELL [$]0 --fallback-echo" | ||
1190 | + else | ||
1191 | + # maybe with a smaller string... | ||
1192 | + prev=: | ||
1193 | + | ||
1194 | + for cmd in 'echo test' 'sed 2q "[$]0"' 'sed 10q "[$]0"' 'sed 20q "[$]0"' 'sed 50q "[$]0"'; do | ||
1195 | + if { test "X$echo_test_string" = "X`eval $cmd`"; } 2>/dev/null | ||
1196 | + then | ||
1197 | + break | ||
1198 | + fi | ||
1199 | + prev="$cmd" | ||
1200 | + done | ||
1201 | + | ||
1202 | + if test "$prev" != 'sed 50q "[$]0"'; then | ||
1203 | + echo_test_string=`eval $prev` | ||
1204 | + export echo_test_string | ||
1205 | + exec ${ORIGINAL_CONFIG_SHELL-${CONFIG_SHELL-/bin/sh}} "[$]0" ${1+"[$]@"} | ||
1206 | + else | ||
1207 | + # Oops. We lost completely, so just stick with echo. | ||
1208 | + ECHO=echo | ||
1209 | + fi | ||
1210 | + fi | ||
1211 | + fi | ||
1212 | + fi | ||
1213 | + fi | ||
1214 | +fi | ||
1215 | + | ||
1216 | +# Copy echo and quote the copy suitably for passing to libtool from | ||
1217 | +# the Makefile, instead of quoting the original, which is used later. | ||
1218 | +lt_ECHO=$ECHO | ||
1219 | +if test "X$lt_ECHO" = "X$CONFIG_SHELL [$]0 --fallback-echo"; then | ||
1220 | + lt_ECHO="$CONFIG_SHELL \\\$\[$]0 --fallback-echo" | ||
1221 | +fi | ||
1222 | + | ||
1223 | +AC_SUBST(lt_ECHO) | ||
1224 | +]) | ||
1225 | +_LT_DECL([], [SHELL], [1], [Shell to use when invoking shell scripts]) | ||
1226 | +_LT_DECL([], [ECHO], [1], | ||
1227 | + [An echo program that does not interpret backslashes]) | ||
1228 | +])# _LT_PROG_ECHO_BACKSLASH | ||
1229 | + | ||
1230 | + | ||
1231 | +# _LT_ENABLE_LOCK | ||
1232 | +# --------------- | ||
1233 | +m4_defun([_LT_ENABLE_LOCK], | ||
1234 | +[AC_ARG_ENABLE([libtool-lock], | ||
1235 | + [AS_HELP_STRING([--disable-libtool-lock], | ||
1236 | + [avoid locking (might break parallel builds)])]) | ||
1237 | +test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes | ||
1238 | + | ||
1239 | +# Some flags need to be propagated to the compiler or linker for good | ||
1240 | +# libtool support. | ||
1241 | +case $host in | ||
1242 | +ia64-*-hpux*) | ||
1243 | + # Find out which ABI we are using. | ||
1244 | + echo 'int i;' > conftest.$ac_ext | ||
1245 | + if AC_TRY_EVAL(ac_compile); then | ||
1246 | + case `/usr/bin/file conftest.$ac_objext` in | ||
1247 | + *ELF-32*) | ||
1248 | + HPUX_IA64_MODE="32" | ||
1249 | + ;; | ||
1250 | + *ELF-64*) | ||
1251 | + HPUX_IA64_MODE="64" | ||
1252 | + ;; | ||
1253 | + esac | ||
1254 | + fi | ||
1255 | + rm -rf conftest* | ||
1256 | + ;; | ||
1257 | +*-*-irix6*) | ||
1258 | + # Find out which ABI we are using. | ||
1259 | + echo '[#]line __oline__ "configure"' > conftest.$ac_ext | ||
1260 | + if AC_TRY_EVAL(ac_compile); then | ||
1261 | + if test "$lt_cv_prog_gnu_ld" = yes; then | ||
1262 | + case `/usr/bin/file conftest.$ac_objext` in | ||
1263 | + *32-bit*) | ||
1264 | + LD="${LD-ld} -melf32bsmip" | ||
1265 | + ;; | ||
1266 | + *N32*) | ||
1267 | + LD="${LD-ld} -melf32bmipn32" | ||
1268 | + ;; | ||
1269 | + *64-bit*) | ||
1270 | + LD="${LD-ld} -melf64bmip" | ||
1271 | + ;; | ||
1272 | + esac | ||
1273 | + else | ||
1274 | + case `/usr/bin/file conftest.$ac_objext` in | ||
1275 | + *32-bit*) | ||
1276 | + LD="${LD-ld} -32" | ||
1277 | + ;; | ||
1278 | + *N32*) | ||
1279 | + LD="${LD-ld} -n32" | ||
1280 | + ;; | ||
1281 | + *64-bit*) | ||
1282 | + LD="${LD-ld} -64" | ||
1283 | + ;; | ||
1284 | + esac | ||
1285 | + fi | ||
1286 | + fi | ||
1287 | + rm -rf conftest* | ||
1288 | + ;; | ||
1289 | + | ||
1290 | +x86_64-*kfreebsd*-gnu|x86_64-*linux*|ppc*-*linux*|powerpc*-*linux*| \ | ||
1291 | +s390*-*linux*|s390*-*tpf*|sparc*-*linux*) | ||
1292 | + # Find out which ABI we are using. | ||
1293 | + echo 'int i;' > conftest.$ac_ext | ||
1294 | + if AC_TRY_EVAL(ac_compile); then | ||
1295 | + case `/usr/bin/file conftest.o` in | ||
1296 | + *32-bit*) | ||
1297 | + case $host in | ||
1298 | + x86_64-*kfreebsd*-gnu) | ||
1299 | + LD="${LD-ld} -m elf_i386_fbsd" | ||
1300 | + ;; | ||
1301 | + x86_64-*linux*) | ||
1302 | + LD="${LD-ld} -m elf_i386" | ||
1303 | + ;; | ||
1304 | + ppc64-*linux*|powerpc64-*linux*) | ||
1305 | + LD="${LD-ld} -m elf32ppclinux" | ||
1306 | + ;; | ||
1307 | + s390x-*linux*) | ||
1308 | + LD="${LD-ld} -m elf_s390" | ||
1309 | + ;; | ||
1310 | + sparc64-*linux*) | ||
1311 | + LD="${LD-ld} -m elf32_sparc" | ||
1312 | + ;; | ||
1313 | + esac | ||
1314 | + ;; | ||
1315 | + *64-bit*) | ||
1316 | + case $host in | ||
1317 | + x86_64-*kfreebsd*-gnu) | ||
1318 | + LD="${LD-ld} -m elf_x86_64_fbsd" | ||
1319 | + ;; | ||
1320 | + x86_64-*linux*) | ||
1321 | + LD="${LD-ld} -m elf_x86_64" | ||
1322 | + ;; | ||
1323 | + ppc*-*linux*|powerpc*-*linux*) | ||
1324 | + LD="${LD-ld} -m elf64ppc" | ||
1325 | + ;; | ||
1326 | + s390*-*linux*|s390*-*tpf*) | ||
1327 | + LD="${LD-ld} -m elf64_s390" | ||
1328 | + ;; | ||
1329 | + sparc*-*linux*) | ||
1330 | + LD="${LD-ld} -m elf64_sparc" | ||
1331 | + ;; | ||
1332 | + esac | ||
1333 | + ;; | ||
1334 | + esac | ||
1335 | + fi | ||
1336 | + rm -rf conftest* | ||
1337 | + ;; | ||
1338 | + | ||
1339 | +*-*-sco3.2v5*) | ||
1340 | + # On SCO OpenServer 5, we need -belf to get full-featured binaries. | ||
1341 | + SAVE_CFLAGS="$CFLAGS" | ||
1342 | + CFLAGS="$CFLAGS -belf" | ||
1343 | + AC_CACHE_CHECK([whether the C compiler needs -belf], lt_cv_cc_needs_belf, | ||
1344 | + [AC_LANG_PUSH(C) | ||
1345 | + AC_LINK_IFELSE([AC_LANG_PROGRAM([[]],[[]])],[lt_cv_cc_needs_belf=yes],[lt_cv_cc_needs_belf=no]) | ||
1346 | + AC_LANG_POP]) | ||
1347 | + if test x"$lt_cv_cc_needs_belf" != x"yes"; then | ||
1348 | + # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf | ||
1349 | + CFLAGS="$SAVE_CFLAGS" | ||
1350 | + fi | ||
1351 | + ;; | ||
1352 | +sparc*-*solaris*) | ||
1353 | + # Find out which ABI we are using. | ||
1354 | + echo 'int i;' > conftest.$ac_ext | ||
1355 | + if AC_TRY_EVAL(ac_compile); then | ||
1356 | + case `/usr/bin/file conftest.o` in | ||
1357 | + *64-bit*) | ||
1358 | + case $lt_cv_prog_gnu_ld in | ||
1359 | + yes*) LD="${LD-ld} -m elf64_sparc" ;; | ||
1360 | + *) | ||
1361 | + if ${LD-ld} -64 -r -o conftest2.o conftest.o >/dev/null 2>&1; then | ||
1362 | + LD="${LD-ld} -64" | ||
1363 | + fi | ||
1364 | + ;; | ||
1365 | + esac | ||
1366 | + ;; | ||
1367 | + esac | ||
1368 | + fi | ||
1369 | + rm -rf conftest* | ||
1370 | + ;; | ||
1371 | +esac | ||
1372 | + | ||
1373 | +need_locks="$enable_libtool_lock" | ||
1374 | +])# _LT_ENABLE_LOCK | ||
1375 | + | ||
1376 | + | ||
1377 | +# _LT_CMD_OLD_ARCHIVE | ||
1378 | +# ------------------- | ||
1379 | +m4_defun([_LT_CMD_OLD_ARCHIVE], | ||
1380 | +[AC_CHECK_TOOL(AR, ar, false) | ||
1381 | +test -z "$AR" && AR=ar | ||
1382 | +test -z "$AR_FLAGS" && AR_FLAGS=cru | ||
1383 | +_LT_DECL([], [AR], [1], [The archiver]) | ||
1384 | +_LT_DECL([], [AR_FLAGS], [1]) | ||
1385 | + | ||
1386 | +AC_CHECK_TOOL(STRIP, strip, :) | ||
1387 | +test -z "$STRIP" && STRIP=: | ||
1388 | +_LT_DECL([], [STRIP], [1], [A symbol stripping program]) | ||
1389 | + | ||
1390 | +AC_CHECK_TOOL(RANLIB, ranlib, :) | ||
1391 | +test -z "$RANLIB" && RANLIB=: | ||
1392 | +_LT_DECL([], [RANLIB], [1], | ||
1393 | + [Commands used to install an old-style archive]) | ||
1394 | + | ||
1395 | +# Determine commands to create old-style static archives. | ||
1396 | +old_archive_cmds='$AR $AR_FLAGS $oldlib$oldobjs' | ||
1397 | +old_postinstall_cmds='chmod 644 $oldlib' | ||
1398 | +old_postuninstall_cmds= | ||
1399 | + | ||
1400 | +if test -n "$RANLIB"; then | ||
1401 | + case $host_os in | ||
1402 | + openbsd*) | ||
1403 | + old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$oldlib" | ||
1404 | + ;; | ||
1405 | + *) | ||
1406 | + old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$oldlib" | ||
1407 | + ;; | ||
1408 | + esac | ||
1409 | + old_archive_cmds="$old_archive_cmds~\$RANLIB \$oldlib" | ||
1410 | +fi | ||
1411 | +_LT_DECL([], [old_postinstall_cmds], [2]) | ||
1412 | +_LT_DECL([], [old_postuninstall_cmds], [2]) | ||
1413 | +_LT_TAGDECL([], [old_archive_cmds], [2], | ||
1414 | + [Commands used to build an old-style archive]) | ||
1415 | +])# _LT_CMD_OLD_ARCHIVE | ||
1416 | + | ||
1417 | + | ||
1418 | +# _LT_COMPILER_OPTION(MESSAGE, VARIABLE-NAME, FLAGS, | ||
1419 | +# [OUTPUT-FILE], [ACTION-SUCCESS], [ACTION-FAILURE]) | ||
1420 | +# ---------------------------------------------------------------- | ||
1421 | +# Check whether the given compiler option works | ||
1422 | +AC_DEFUN([_LT_COMPILER_OPTION], | ||
1423 | +[m4_require([_LT_FILEUTILS_DEFAULTS])dnl | ||
1424 | +m4_require([_LT_DECL_SED])dnl | ||
1425 | +AC_CACHE_CHECK([$1], [$2], | ||
1426 | + [$2=no | ||
1427 | + m4_if([$4], , [ac_outfile=conftest.$ac_objext], [ac_outfile=$4]) | ||
1428 | + echo "$lt_simple_compile_test_code" > conftest.$ac_ext | ||
1429 | + lt_compiler_flag="$3" | ||
1430 | + # Insert the option either (1) after the last *FLAGS variable, or | ||
1431 | + # (2) before a word containing "conftest.", or (3) at the end. | ||
1432 | + # Note that $ac_compile itself does not contain backslashes and begins | ||
1433 | + # with a dollar sign (not a hyphen), so the echo should work correctly. | ||
1434 | + # The option is referenced via a variable to avoid confusing sed. | ||
1435 | + lt_compile=`echo "$ac_compile" | $SED \ | ||
1436 | + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ | ||
1437 | + -e 's: [[^ ]]*conftest\.: $lt_compiler_flag&:; t' \ | ||
1438 | + -e 's:$: $lt_compiler_flag:'` | ||
1439 | + (eval echo "\"\$as_me:__oline__: $lt_compile\"" >&AS_MESSAGE_LOG_FD) | ||
1440 | + (eval "$lt_compile" 2>conftest.err) | ||
1441 | + ac_status=$? | ||
1442 | + cat conftest.err >&AS_MESSAGE_LOG_FD | ||
1443 | + echo "$as_me:__oline__: \$? = $ac_status" >&AS_MESSAGE_LOG_FD | ||
1444 | + if (exit $ac_status) && test -s "$ac_outfile"; then | ||
1445 | + # The compiler can only warn and ignore the option if not recognized | ||
1446 | + # So say no if there are warnings other than the usual output. | ||
1447 | + $ECHO "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp | ||
1448 | + $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 | ||
1449 | + if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then | ||
1450 | + $2=yes | ||
1451 | + fi | ||
1452 | + fi | ||
1453 | + $RM conftest* | ||
1454 | +]) | ||
1455 | + | ||
1456 | +if test x"[$]$2" = xyes; then | ||
1457 | + m4_if([$5], , :, [$5]) | ||
1458 | +else | ||
1459 | + m4_if([$6], , :, [$6]) | ||
1460 | +fi | ||
1461 | +])# _LT_COMPILER_OPTION | ||
1462 | + | ||
1463 | +# Old name: | ||
1464 | +AU_ALIAS([AC_LIBTOOL_COMPILER_OPTION], [_LT_COMPILER_OPTION]) | ||
1465 | +dnl aclocal-1.4 backwards compatibility: | ||
1466 | +dnl AC_DEFUN([AC_LIBTOOL_COMPILER_OPTION], []) | ||
1467 | + | ||
1468 | + | ||
1469 | +# _LT_LINKER_OPTION(MESSAGE, VARIABLE-NAME, FLAGS, | ||
1470 | +# [ACTION-SUCCESS], [ACTION-FAILURE]) | ||
1471 | +# ---------------------------------------------------- | ||
1472 | +# Check whether the given linker option works | ||
1473 | +AC_DEFUN([_LT_LINKER_OPTION], | ||
1474 | +[m4_require([_LT_FILEUTILS_DEFAULTS])dnl | ||
1475 | +m4_require([_LT_DECL_SED])dnl | ||
1476 | +AC_CACHE_CHECK([$1], [$2], | ||
1477 | + [$2=no | ||
1478 | + save_LDFLAGS="$LDFLAGS" | ||
1479 | + LDFLAGS="$LDFLAGS $3" | ||
1480 | + echo "$lt_simple_link_test_code" > conftest.$ac_ext | ||
1481 | + if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then | ||
1482 | + # The linker can only warn and ignore the option if not recognized | ||
1483 | + # So say no if there are warnings | ||
1484 | + if test -s conftest.err; then | ||
1485 | + # Append any errors to the config.log. | ||
1486 | + cat conftest.err 1>&AS_MESSAGE_LOG_FD | ||
1487 | + $ECHO "X$_lt_linker_boilerplate" | $Xsed -e '/^$/d' > conftest.exp | ||
1488 | + $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2 | ||
1489 | + if diff conftest.exp conftest.er2 >/dev/null; then | ||
1490 | + $2=yes | ||
1491 | + fi | ||
1492 | + else | ||
1493 | + $2=yes | ||
1494 | + fi | ||
1495 | + fi | ||
1496 | + $RM -r conftest* | ||
1497 | + LDFLAGS="$save_LDFLAGS" | ||
1498 | +]) | ||
1499 | + | ||
1500 | +if test x"[$]$2" = xyes; then | ||
1501 | + m4_if([$4], , :, [$4]) | ||
1502 | +else | ||
1503 | + m4_if([$5], , :, [$5]) | ||
1504 | +fi | ||
1505 | +])# _LT_LINKER_OPTION | ||
1506 | + | ||
1507 | +# Old name: | ||
1508 | +AU_ALIAS([AC_LIBTOOL_LINKER_OPTION], [_LT_LINKER_OPTION]) | ||
1509 | +dnl aclocal-1.4 backwards compatibility: | ||
1510 | +dnl AC_DEFUN([AC_LIBTOOL_LINKER_OPTION], []) | ||
1511 | + | ||
1512 | + | ||
1513 | +# LT_CMD_MAX_LEN | ||
1514 | +#--------------- | ||
1515 | +AC_DEFUN([LT_CMD_MAX_LEN], | ||
1516 | +[AC_REQUIRE([AC_CANONICAL_HOST])dnl | ||
1517 | +# find the maximum length of command line arguments | ||
1518 | +AC_MSG_CHECKING([the maximum length of command line arguments]) | ||
1519 | +AC_CACHE_VAL([lt_cv_sys_max_cmd_len], [dnl | ||
1520 | + i=0 | ||
1521 | + teststring="ABCD" | ||
1522 | + | ||
1523 | + case $build_os in | ||
1524 | + msdosdjgpp*) | ||
1525 | + # On DJGPP, this test can blow up pretty badly due to problems in libc | ||
1526 | + # (any single argument exceeding 2000 bytes causes a buffer overrun | ||
1527 | + # during glob expansion). Even if it were fixed, the result of this | ||
1528 | + # check would be larger than it should be. | ||
1529 | + lt_cv_sys_max_cmd_len=12288; # 12K is about right | ||
1530 | + ;; | ||
1531 | + | ||
1532 | + gnu*) | ||
1533 | + # Under GNU Hurd, this test is not required because there is | ||
1534 | + # no limit to the length of command line arguments. | ||
1535 | + # Libtool will interpret -1 as no limit whatsoever | ||
1536 | + lt_cv_sys_max_cmd_len=-1; | ||
1537 | + ;; | ||
1538 | + | ||
1539 | + cygwin* | mingw* | cegcc*) | ||
1540 | + # On Win9x/ME, this test blows up -- it succeeds, but takes | ||
1541 | + # about 5 minutes as the teststring grows exponentially. | ||
1542 | + # Worse, since 9x/ME are not pre-emptively multitasking, | ||
1543 | + # you end up with a "frozen" computer, even though with patience | ||
1544 | + # the test eventually succeeds (with a max line length of 256k). | ||
1545 | + # Instead, let's just punt: use the minimum linelength reported by | ||
1546 | + # all of the supported platforms: 8192 (on NT/2K/XP). | ||
1547 | + lt_cv_sys_max_cmd_len=8192; | ||
1548 | + ;; | ||
1549 | + | ||
1550 | + amigaos*) | ||
1551 | + # On AmigaOS with pdksh, this test takes hours, literally. | ||
1552 | + # So we just punt and use a minimum line length of 8192. | ||
1553 | + lt_cv_sys_max_cmd_len=8192; | ||
1554 | + ;; | ||
1555 | + | ||
1556 | + netbsd* | freebsd* | openbsd* | darwin* | dragonfly*) | ||
1557 | + # This has been around since 386BSD, at least. Likely further. | ||
1558 | + if test -x /sbin/sysctl; then | ||
1559 | + lt_cv_sys_max_cmd_len=`/sbin/sysctl -n kern.argmax` | ||
1560 | + elif test -x /usr/sbin/sysctl; then | ||
1561 | + lt_cv_sys_max_cmd_len=`/usr/sbin/sysctl -n kern.argmax` | ||
1562 | + else | ||
1563 | + lt_cv_sys_max_cmd_len=65536 # usable default for all BSDs | ||
1564 | + fi | ||
1565 | + # And add a safety zone | ||
1566 | + lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4` | ||
1567 | + lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3` | ||
1568 | + ;; | ||
1569 | + | ||
1570 | + interix*) | ||
1571 | + # We know the value 262144 and hardcode it with a safety zone (like BSD) | ||
1572 | + lt_cv_sys_max_cmd_len=196608 | ||
1573 | + ;; | ||
1574 | + | ||
1575 | + osf*) | ||
1576 | + # Dr. Hans Ekkehard Plesser reports seeing a kernel panic running configure | ||
1577 | + # due to this test when exec_disable_arg_limit is 1 on Tru64. It is not | ||
1578 | + # nice to cause kernel panics so lets avoid the loop below. | ||
1579 | + # First set a reasonable default. | ||
1580 | + lt_cv_sys_max_cmd_len=16384 | ||
1581 | + # | ||
1582 | + if test -x /sbin/sysconfig; then | ||
1583 | + case `/sbin/sysconfig -q proc exec_disable_arg_limit` in | ||
1584 | + *1*) lt_cv_sys_max_cmd_len=-1 ;; | ||
1585 | + esac | ||
1586 | + fi | ||
1587 | + ;; | ||
1588 | + sco3.2v5*) | ||
1589 | + lt_cv_sys_max_cmd_len=102400 | ||
1590 | + ;; | ||
1591 | + sysv5* | sco5v6* | sysv4.2uw2*) | ||
1592 | + kargmax=`grep ARG_MAX /etc/conf/cf.d/stune 2>/dev/null` | ||
1593 | + if test -n "$kargmax"; then | ||
1594 | + lt_cv_sys_max_cmd_len=`echo $kargmax | sed 's/.*[[ ]]//'` | ||
1595 | + else | ||
1596 | + lt_cv_sys_max_cmd_len=32768 | ||
1597 | + fi | ||
1598 | + ;; | ||
1599 | + *) | ||
1600 | + lt_cv_sys_max_cmd_len=`(getconf ARG_MAX) 2> /dev/null` | ||
1601 | + if test -n "$lt_cv_sys_max_cmd_len"; then | ||
1602 | + lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4` | ||
1603 | + lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3` | ||
1604 | + else | ||
1605 | + # Make teststring a little bigger before we do anything with it. | ||
1606 | + # a 1K string should be a reasonable start. | ||
1607 | + for i in 1 2 3 4 5 6 7 8 ; do | ||
1608 | + teststring=$teststring$teststring | ||
1609 | + done | ||
1610 | + SHELL=${SHELL-${CONFIG_SHELL-/bin/sh}} | ||
1611 | + # If test is not a shell built-in, we'll probably end up computing a | ||
1612 | + # maximum length that is only half of the actual maximum length, but | ||
1613 | + # we can't tell. | ||
1614 | + while { test "X"`$SHELL [$]0 --fallback-echo "X$teststring$teststring" 2>/dev/null` \ | ||
1615 | + = "XX$teststring$teststring"; } >/dev/null 2>&1 && | ||
1616 | + test $i != 17 # 1/2 MB should be enough | ||
1617 | + do | ||
1618 | + i=`expr $i + 1` | ||
1619 | + teststring=$teststring$teststring | ||
1620 | + done | ||
1621 | + # Only check the string length outside the loop. | ||
1622 | + lt_cv_sys_max_cmd_len=`expr "X$teststring" : ".*" 2>&1` | ||
1623 | + teststring= | ||
1624 | + # Add a significant safety factor because C++ compilers can tack on | ||
1625 | + # massive amounts of additional arguments before passing them to the | ||
1626 | + # linker. It appears as though 1/2 is a usable value. | ||
1627 | + lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 2` | ||
1628 | + fi | ||
1629 | + ;; | ||
1630 | + esac | ||
1631 | +]) | ||
1632 | +if test -n $lt_cv_sys_max_cmd_len ; then | ||
1633 | + AC_MSG_RESULT($lt_cv_sys_max_cmd_len) | ||
1634 | +else | ||
1635 | + AC_MSG_RESULT(none) | ||
1636 | +fi | ||
1637 | +max_cmd_len=$lt_cv_sys_max_cmd_len | ||
1638 | +_LT_DECL([], [max_cmd_len], [0], | ||
1639 | + [What is the maximum length of a command?]) | ||
1640 | +])# LT_CMD_MAX_LEN | ||
1641 | + | ||
1642 | +# Old name: | ||
1643 | +AU_ALIAS([AC_LIBTOOL_SYS_MAX_CMD_LEN], [LT_CMD_MAX_LEN]) | ||
1644 | +dnl aclocal-1.4 backwards compatibility: | ||
1645 | +dnl AC_DEFUN([AC_LIBTOOL_SYS_MAX_CMD_LEN], []) | ||
1646 | + | ||
1647 | + | ||
1648 | +# _LT_HEADER_DLFCN | ||
1649 | +# ---------------- | ||
1650 | +m4_defun([_LT_HEADER_DLFCN], | ||
1651 | +[AC_CHECK_HEADERS([dlfcn.h], [], [], [AC_INCLUDES_DEFAULT])dnl | ||
1652 | +])# _LT_HEADER_DLFCN | ||
1653 | + | ||
1654 | + | ||
1655 | +# _LT_TRY_DLOPEN_SELF (ACTION-IF-TRUE, ACTION-IF-TRUE-W-USCORE, | ||
1656 | +# ACTION-IF-FALSE, ACTION-IF-CROSS-COMPILING) | ||
1657 | +# ---------------------------------------------------------------- | ||
1658 | +m4_defun([_LT_TRY_DLOPEN_SELF], | ||
1659 | +[m4_require([_LT_HEADER_DLFCN])dnl | ||
1660 | +if test "$cross_compiling" = yes; then : | ||
1661 | + [$4] | ||
1662 | +else | ||
1663 | + lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 | ||
1664 | + lt_status=$lt_dlunknown | ||
1665 | + cat > conftest.$ac_ext <<_LT_EOF | ||
1666 | +[#line __oline__ "configure" | ||
1667 | +#include "confdefs.h" | ||
1668 | + | ||
1669 | +#if HAVE_DLFCN_H | ||
1670 | +#include <dlfcn.h> | ||
1671 | +#endif | ||
1672 | + | ||
1673 | +#include <stdio.h> | ||
1674 | + | ||
1675 | +#ifdef RTLD_GLOBAL | ||
1676 | +# define LT_DLGLOBAL RTLD_GLOBAL | ||
1677 | +#else | ||
1678 | +# ifdef DL_GLOBAL | ||
1679 | +# define LT_DLGLOBAL DL_GLOBAL | ||
1680 | +# else | ||
1681 | +# define LT_DLGLOBAL 0 | ||
1682 | +# endif | ||
1683 | +#endif | ||
1684 | + | ||
1685 | +/* We may have to define LT_DLLAZY_OR_NOW in the command line if we | ||
1686 | + find out it does not work in some platform. */ | ||
1687 | +#ifndef LT_DLLAZY_OR_NOW | ||
1688 | +# ifdef RTLD_LAZY | ||
1689 | +# define LT_DLLAZY_OR_NOW RTLD_LAZY | ||
1690 | +# else | ||
1691 | +# ifdef DL_LAZY | ||
1692 | +# define LT_DLLAZY_OR_NOW DL_LAZY | ||
1693 | +# else | ||
1694 | +# ifdef RTLD_NOW | ||
1695 | +# define LT_DLLAZY_OR_NOW RTLD_NOW | ||
1696 | +# else | ||
1697 | +# ifdef DL_NOW | ||
1698 | +# define LT_DLLAZY_OR_NOW DL_NOW | ||
1699 | +# else | ||
1700 | +# define LT_DLLAZY_OR_NOW 0 | ||
1701 | +# endif | ||
1702 | +# endif | ||
1703 | +# endif | ||
1704 | +# endif | ||
1705 | +#endif | ||
1706 | + | ||
1707 | +void fnord() { int i=42;} | ||
1708 | +int main () | ||
1709 | +{ | ||
1710 | + void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW); | ||
1711 | + int status = $lt_dlunknown; | ||
1712 | + | ||
1713 | + if (self) | ||
1714 | + { | ||
1715 | + if (dlsym (self,"fnord")) status = $lt_dlno_uscore; | ||
1716 | + else if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore; | ||
1717 | + /* dlclose (self); */ | ||
1718 | + } | ||
1719 | + else | ||
1720 | + puts (dlerror ()); | ||
1721 | + | ||
1722 | + return status; | ||
1723 | +}] | ||
1724 | +_LT_EOF | ||
1725 | + if AC_TRY_EVAL(ac_link) && test -s conftest${ac_exeext} 2>/dev/null; then | ||
1726 | + (./conftest; exit; ) >&AS_MESSAGE_LOG_FD 2>/dev/null | ||
1727 | + lt_status=$? | ||
1728 | + case x$lt_status in | ||
1729 | + x$lt_dlno_uscore) $1 ;; | ||
1730 | + x$lt_dlneed_uscore) $2 ;; | ||
1731 | + x$lt_dlunknown|x*) $3 ;; | ||
1732 | + esac | ||
1733 | + else : | ||
1734 | + # compilation failed | ||
1735 | + $3 | ||
1736 | + fi | ||
1737 | +fi | ||
1738 | +rm -fr conftest* | ||
1739 | +])# _LT_TRY_DLOPEN_SELF | ||
1740 | + | ||
1741 | + | ||
1742 | +# LT_SYS_DLOPEN_SELF | ||
1743 | +# ------------------ | ||
1744 | +AC_DEFUN([LT_SYS_DLOPEN_SELF], | ||
1745 | +[m4_require([_LT_HEADER_DLFCN])dnl | ||
1746 | +if test "x$enable_dlopen" != xyes; then | ||
1747 | + enable_dlopen=unknown | ||
1748 | + enable_dlopen_self=unknown | ||
1749 | + enable_dlopen_self_static=unknown | ||
1750 | +else | ||
1751 | + lt_cv_dlopen=no | ||
1752 | + lt_cv_dlopen_libs= | ||
1753 | + | ||
1754 | + case $host_os in | ||
1755 | + beos*) | ||
1756 | + lt_cv_dlopen="load_add_on" | ||
1757 | + lt_cv_dlopen_libs= | ||
1758 | + lt_cv_dlopen_self=yes | ||
1759 | + ;; | ||
1760 | + | ||
1761 | + mingw* | pw32* | cegcc*) | ||
1762 | + lt_cv_dlopen="LoadLibrary" | ||
1763 | + lt_cv_dlopen_libs= | ||
1764 | + ;; | ||
1765 | + | ||
1766 | + cygwin*) | ||
1767 | + lt_cv_dlopen="dlopen" | ||
1768 | + lt_cv_dlopen_libs= | ||
1769 | + ;; | ||
1770 | + | ||
1771 | + darwin*) | ||
1772 | + # if libdl is installed we need to link against it | ||
1773 | + AC_CHECK_LIB([dl], [dlopen], | ||
1774 | + [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"],[ | ||
1775 | + lt_cv_dlopen="dyld" | ||
1776 | + lt_cv_dlopen_libs= | ||
1777 | + lt_cv_dlopen_self=yes | ||
1778 | + ]) | ||
1779 | + ;; | ||
1780 | + | ||
1781 | + *) | ||
1782 | + AC_CHECK_FUNC([shl_load], | ||
1783 | + [lt_cv_dlopen="shl_load"], | ||
1784 | + [AC_CHECK_LIB([dld], [shl_load], | ||
1785 | + [lt_cv_dlopen="shl_load" lt_cv_dlopen_libs="-ldld"], | ||
1786 | + [AC_CHECK_FUNC([dlopen], | ||
1787 | + [lt_cv_dlopen="dlopen"], | ||
1788 | + [AC_CHECK_LIB([dl], [dlopen], | ||
1789 | + [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"], | ||
1790 | + [AC_CHECK_LIB([svld], [dlopen], | ||
1791 | + [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-lsvld"], | ||
1792 | + [AC_CHECK_LIB([dld], [dld_link], | ||
1793 | + [lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-ldld"]) | ||
1794 | + ]) | ||
1795 | + ]) | ||
1796 | + ]) | ||
1797 | + ]) | ||
1798 | + ]) | ||
1799 | + ;; | ||
1800 | + esac | ||
1801 | + | ||
1802 | + if test "x$lt_cv_dlopen" != xno; then | ||
1803 | + enable_dlopen=yes | ||
1804 | + else | ||
1805 | + enable_dlopen=no | ||
1806 | + fi | ||
1807 | + | ||
1808 | + case $lt_cv_dlopen in | ||
1809 | + dlopen) | ||
1810 | + save_CPPFLAGS="$CPPFLAGS" | ||
1811 | + test "x$ac_cv_header_dlfcn_h" = xyes && CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H" | ||
1812 | + | ||
1813 | + save_LDFLAGS="$LDFLAGS" | ||
1814 | + wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\" | ||
1815 | + | ||
1816 | + save_LIBS="$LIBS" | ||
1817 | + LIBS="$lt_cv_dlopen_libs $LIBS" | ||
1818 | + | ||
1819 | + AC_CACHE_CHECK([whether a program can dlopen itself], | ||
1820 | + lt_cv_dlopen_self, [dnl | ||
1821 | + _LT_TRY_DLOPEN_SELF( | ||
1822 | + lt_cv_dlopen_self=yes, lt_cv_dlopen_self=yes, | ||
1823 | + lt_cv_dlopen_self=no, lt_cv_dlopen_self=cross) | ||
1824 | + ]) | ||
1825 | + | ||
1826 | + if test "x$lt_cv_dlopen_self" = xyes; then | ||
1827 | + wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $lt_prog_compiler_static\" | ||
1828 | + AC_CACHE_CHECK([whether a statically linked program can dlopen itself], | ||
1829 | + lt_cv_dlopen_self_static, [dnl | ||
1830 | + _LT_TRY_DLOPEN_SELF( | ||
1831 | + lt_cv_dlopen_self_static=yes, lt_cv_dlopen_self_static=yes, | ||
1832 | + lt_cv_dlopen_self_static=no, lt_cv_dlopen_self_static=cross) | ||
1833 | + ]) | ||
1834 | + fi | ||
1835 | + | ||
1836 | + CPPFLAGS="$save_CPPFLAGS" | ||
1837 | + LDFLAGS="$save_LDFLAGS" | ||
1838 | + LIBS="$save_LIBS" | ||
1839 | + ;; | ||
1840 | + esac | ||
1841 | + | ||
1842 | + case $lt_cv_dlopen_self in | ||
1843 | + yes|no) enable_dlopen_self=$lt_cv_dlopen_self ;; | ||
1844 | + *) enable_dlopen_self=unknown ;; | ||
1845 | + esac | ||
1846 | + | ||
1847 | + case $lt_cv_dlopen_self_static in | ||
1848 | + yes|no) enable_dlopen_self_static=$lt_cv_dlopen_self_static ;; | ||
1849 | + *) enable_dlopen_self_static=unknown ;; | ||
1850 | + esac | ||
1851 | +fi | ||
1852 | +_LT_DECL([dlopen_support], [enable_dlopen], [0], | ||
1853 | + [Whether dlopen is supported]) | ||
1854 | +_LT_DECL([dlopen_self], [enable_dlopen_self], [0], | ||
1855 | + [Whether dlopen of programs is supported]) | ||
1856 | +_LT_DECL([dlopen_self_static], [enable_dlopen_self_static], [0], | ||
1857 | + [Whether dlopen of statically linked programs is supported]) | ||
1858 | +])# LT_SYS_DLOPEN_SELF | ||
1859 | + | ||
1860 | +# Old name: | ||
1861 | +AU_ALIAS([AC_LIBTOOL_DLOPEN_SELF], [LT_SYS_DLOPEN_SELF]) | ||
1862 | +dnl aclocal-1.4 backwards compatibility: | ||
1863 | +dnl AC_DEFUN([AC_LIBTOOL_DLOPEN_SELF], []) | ||
1864 | + | ||
1865 | + | ||
1866 | +# _LT_COMPILER_C_O([TAGNAME]) | ||
1867 | +# --------------------------- | ||
1868 | +# Check to see if options -c and -o are simultaneously supported by compiler. | ||
1869 | +# This macro does not hard code the compiler like AC_PROG_CC_C_O. | ||
1870 | +m4_defun([_LT_COMPILER_C_O], | ||
1871 | +[m4_require([_LT_DECL_SED])dnl | ||
1872 | +m4_require([_LT_FILEUTILS_DEFAULTS])dnl | ||
1873 | +m4_require([_LT_TAG_COMPILER])dnl | ||
1874 | +AC_CACHE_CHECK([if $compiler supports -c -o file.$ac_objext], | ||
1875 | + [_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)], | ||
1876 | + [_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)=no | ||
1877 | + $RM -r conftest 2>/dev/null | ||
1878 | + mkdir conftest | ||
1879 | + cd conftest | ||
1880 | + mkdir out | ||
1881 | + echo "$lt_simple_compile_test_code" > conftest.$ac_ext | ||
1882 | + | ||
1883 | + lt_compiler_flag="-o out/conftest2.$ac_objext" | ||
1884 | + # Insert the option either (1) after the last *FLAGS variable, or | ||
1885 | + # (2) before a word containing "conftest.", or (3) at the end. | ||
1886 | + # Note that $ac_compile itself does not contain backslashes and begins | ||
1887 | + # with a dollar sign (not a hyphen), so the echo should work correctly. | ||
1888 | + lt_compile=`echo "$ac_compile" | $SED \ | ||
1889 | + -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ | ||
1890 | + -e 's: [[^ ]]*conftest\.: $lt_compiler_flag&:; t' \ | ||
1891 | + -e 's:$: $lt_compiler_flag:'` | ||
1892 | + (eval echo "\"\$as_me:__oline__: $lt_compile\"" >&AS_MESSAGE_LOG_FD) | ||
1893 | + (eval "$lt_compile" 2>out/conftest.err) | ||
1894 | + ac_status=$? | ||
1895 | + cat out/conftest.err >&AS_MESSAGE_LOG_FD | ||
1896 | + echo "$as_me:__oline__: \$? = $ac_status" >&AS_MESSAGE_LOG_FD | ||
1897 | + if (exit $ac_status) && test -s out/conftest2.$ac_objext | ||
1898 | + then | ||
1899 | + # The compiler can only warn and ignore the option if not recognized | ||
1900 | + # So say no if there are warnings | ||
1901 | + $ECHO "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' > out/conftest.exp | ||
1902 | + $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2 | ||
1903 | + if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then | ||
1904 | + _LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)=yes | ||
1905 | + fi | ||
1906 | + fi | ||
1907 | + chmod u+w . 2>&AS_MESSAGE_LOG_FD | ||
1908 | + $RM conftest* | ||
1909 | + # SGI C++ compiler will create directory out/ii_files/ for | ||
1910 | + # template instantiation | ||
1911 | + test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files | ||
1912 | + $RM out/* && rmdir out | ||
1913 | + cd .. | ||
1914 | + $RM -r conftest | ||
1915 | + $RM conftest* | ||
1916 | +]) | ||
1917 | +_LT_TAGDECL([compiler_c_o], [lt_cv_prog_compiler_c_o], [1], | ||
1918 | + [Does compiler simultaneously support -c and -o options?]) | ||
1919 | +])# _LT_COMPILER_C_O | ||
1920 | + | ||
1921 | + | ||
1922 | +# _LT_COMPILER_FILE_LOCKS([TAGNAME]) | ||
1923 | +# ---------------------------------- | ||
1924 | +# Check to see if we can do hard links to lock some files if needed | ||
1925 | +m4_defun([_LT_COMPILER_FILE_LOCKS], | ||
1926 | +[m4_require([_LT_ENABLE_LOCK])dnl | ||
1927 | +m4_require([_LT_FILEUTILS_DEFAULTS])dnl | ||
1928 | +_LT_COMPILER_C_O([$1]) | ||
1929 | + | ||
1930 | +hard_links="nottested" | ||
1931 | +if test "$_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)" = no && test "$need_locks" != no; then | ||
1932 | + # do not overwrite the value of need_locks provided by the user | ||
1933 | + AC_MSG_CHECKING([if we can lock with hard links]) | ||
1934 | + hard_links=yes | ||
1935 | + $RM conftest* | ||
1936 | + ln conftest.a conftest.b 2>/dev/null && hard_links=no | ||
1937 | + touch conftest.a | ||
1938 | + ln conftest.a conftest.b 2>&5 || hard_links=no | ||
1939 | + ln conftest.a conftest.b 2>/dev/null && hard_links=no | ||
1940 | + AC_MSG_RESULT([$hard_links]) | ||
1941 | + if test "$hard_links" = no; then | ||
1942 | + AC_MSG_WARN([`$CC' does not support `-c -o', so `make -j' may be unsafe]) | ||
1943 | + need_locks=warn | ||
1944 | + fi | ||
1945 | +else | ||
1946 | + need_locks=no | ||
1947 | +fi | ||
1948 | +_LT_DECL([], [need_locks], [1], [Must we lock files when doing compilation?]) | ||
1949 | +])# _LT_COMPILER_FILE_LOCKS | ||
1950 | + | ||
1951 | + | ||
1952 | +# _LT_CHECK_OBJDIR | ||
1953 | +# ---------------- | ||
1954 | +m4_defun([_LT_CHECK_OBJDIR], | ||
1955 | +[AC_CACHE_CHECK([for objdir], [lt_cv_objdir], | ||
1956 | +[rm -f .libs 2>/dev/null | ||
1957 | +mkdir .libs 2>/dev/null | ||
1958 | +if test -d .libs; then | ||
1959 | + lt_cv_objdir=.libs | ||
1960 | +else | ||
1961 | + # MS-DOS does not allow filenames that begin with a dot. | ||
1962 | + lt_cv_objdir=_libs | ||
1963 | +fi | ||
1964 | +rmdir .libs 2>/dev/null]) | ||
1965 | +objdir=$lt_cv_objdir | ||
1966 | +_LT_DECL([], [objdir], [0], | ||
1967 | + [The name of the directory that contains temporary libtool files])dnl | ||
1968 | +m4_pattern_allow([LT_OBJDIR])dnl | ||
1969 | +AC_DEFINE_UNQUOTED(LT_OBJDIR, "$lt_cv_objdir/", | ||
1970 | + [Define to the sub-directory in which libtool stores uninstalled libraries.]) | ||
1971 | +])# _LT_CHECK_OBJDIR | ||
1972 | + | ||
1973 | + | ||
1974 | +# _LT_LINKER_HARDCODE_LIBPATH([TAGNAME]) | ||
1975 | +# -------------------------------------- | ||
1976 | +# Check hardcoding attributes. | ||
1977 | +m4_defun([_LT_LINKER_HARDCODE_LIBPATH], | ||
1978 | +[AC_MSG_CHECKING([how to hardcode library paths into programs]) | ||
1979 | +_LT_TAGVAR(hardcode_action, $1)= | ||
1980 | +if test -n "$_LT_TAGVAR(hardcode_libdir_flag_spec, $1)" || | ||
1981 | + test -n "$_LT_TAGVAR(runpath_var, $1)" || | ||
1982 | + test "X$_LT_TAGVAR(hardcode_automatic, $1)" = "Xyes" ; then | ||
1983 | + | ||
1984 | + # We can hardcode non-existent directories. | ||
1985 | + if test "$_LT_TAGVAR(hardcode_direct, $1)" != no && | ||
1986 | + # If the only mechanism to avoid hardcoding is shlibpath_var, we | ||
1987 | + # have to relink, otherwise we might link with an installed library | ||
1988 | + # when we should be linking with a yet-to-be-installed one | ||
1989 | + ## test "$_LT_TAGVAR(hardcode_shlibpath_var, $1)" != no && | ||
1990 | + test "$_LT_TAGVAR(hardcode_minus_L, $1)" != no; then | ||
1991 | + # Linking always hardcodes the temporary library directory. | ||
1992 | + _LT_TAGVAR(hardcode_action, $1)=relink | ||
1993 | + else | ||
1994 | + # We can link without hardcoding, and we can hardcode nonexisting dirs. | ||
1995 | + _LT_TAGVAR(hardcode_action, $1)=immediate | ||
1996 | + fi | ||
1997 | +else | ||
1998 | + # We cannot hardcode anything, or else we can only hardcode existing | ||
1999 | + # directories. | ||
2000 | + _LT_TAGVAR(hardcode_action, $1)=unsupported | ||
2001 | +fi | ||
2002 | +AC_MSG_RESULT([$_LT_TAGVAR(hardcode_action, $1)]) | ||
2003 | + | ||
2004 | +if test "$_LT_TAGVAR(hardcode_action, $1)" = relink || | ||
2005 | + test "$_LT_TAGVAR(inherit_rpath, $1)" = yes; then | ||
2006 | + # Fast installation is not supported | ||
2007 | + enable_fast_install=no | ||
2008 | +elif test "$shlibpath_overrides_runpath" = yes || | ||
2009 | + test "$enable_shared" = no; then | ||
2010 | + # Fast installation is not necessary | ||
2011 | + enable_fast_install=needless | ||
2012 | +fi | ||
2013 | +_LT_TAGDECL([], [hardcode_action], [0], | ||
2014 | + [How to hardcode a shared library path into an executable]) | ||
2015 | +])# _LT_LINKER_HARDCODE_LIBPATH | ||
2016 | + | ||
2017 | + | ||
2018 | +# _LT_CMD_STRIPLIB | ||
2019 | +# ---------------- | ||
2020 | +m4_defun([_LT_CMD_STRIPLIB], | ||
2021 | +[m4_require([_LT_DECL_EGREP]) | ||
2022 | +striplib= | ||
2023 | +old_striplib= | ||
2024 | +AC_MSG_CHECKING([whether stripping libraries is possible]) | ||
2025 | +if test -n "$STRIP" && $STRIP -V 2>&1 | $GREP "GNU strip" >/dev/null; then | ||
2026 | + test -z "$old_striplib" && old_striplib="$STRIP --strip-debug" | ||
2027 | + test -z "$striplib" && striplib="$STRIP --strip-unneeded" | ||
2028 | + AC_MSG_RESULT([yes]) | ||
2029 | +else | ||
2030 | +# FIXME - insert some real tests, host_os isn't really good enough | ||
2031 | + case $host_os in | ||
2032 | + darwin*) | ||
2033 | + if test -n "$STRIP" ; then | ||
2034 | + striplib="$STRIP -x" | ||
2035 | + old_striplib="$STRIP -S" | ||
2036 | + AC_MSG_RESULT([yes]) | ||
2037 | + else | ||
2038 | + AC_MSG_RESULT([no]) | ||
2039 | + fi | ||
2040 | + ;; | ||
2041 | + *) | ||
2042 | + AC_MSG_RESULT([no]) | ||
2043 | + ;; | ||
2044 | + esac | ||
2045 | +fi | ||
2046 | +_LT_DECL([], [old_striplib], [1], [Commands to strip libraries]) | ||
2047 | +_LT_DECL([], [striplib], [1]) | ||
2048 | +])# _LT_CMD_STRIPLIB | ||
2049 | + | ||
2050 | + | ||
2051 | +# _LT_SYS_DYNAMIC_LINKER([TAG]) | ||
2052 | +# ----------------------------- | ||
2053 | +# PORTME Fill in your ld.so characteristics | ||
2054 | +m4_defun([_LT_SYS_DYNAMIC_LINKER], | ||
2055 | +[AC_REQUIRE([AC_CANONICAL_HOST])dnl | ||
2056 | +m4_require([_LT_DECL_EGREP])dnl | ||
2057 | +m4_require([_LT_FILEUTILS_DEFAULTS])dnl | ||
2058 | +m4_require([_LT_DECL_OBJDUMP])dnl | ||
2059 | +m4_require([_LT_DECL_SED])dnl | ||
2060 | +AC_MSG_CHECKING([dynamic linker characteristics]) | ||
2061 | +m4_if([$1], | ||
2062 | + [], [ | ||
2063 | +if test "$GCC" = yes; then | ||
2064 | + case $host_os in | ||
2065 | + darwin*) lt_awk_arg="/^libraries:/,/LR/" ;; | ||
2066 | + *) lt_awk_arg="/^libraries:/" ;; | ||
2067 | + esac | ||
2068 | + lt_search_path_spec=`$CC -print-search-dirs | awk $lt_awk_arg | $SED -e "s/^libraries://" -e "s,=/,/,g"` | ||
2069 | + if $ECHO "$lt_search_path_spec" | $GREP ';' >/dev/null ; then | ||
2070 | + # if the path contains ";" then we assume it to be the separator | ||
2071 | + # otherwise default to the standard path separator (i.e. ":") - it is | ||
2072 | + # assumed that no part of a normal pathname contains ";" but that should | ||
2073 | + # okay in the real world where ";" in dirpaths is itself problematic. | ||
2074 | + lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED -e 's/;/ /g'` | ||
2075 | + else | ||
2076 | + lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` | ||
2077 | + fi | ||
2078 | + # Ok, now we have the path, separated by spaces, we can step through it | ||
2079 | + # and add multilib dir if necessary. | ||
2080 | + lt_tmp_lt_search_path_spec= | ||
2081 | + lt_multi_os_dir=`$CC $CPPFLAGS $CFLAGS $LDFLAGS -print-multi-os-directory 2>/dev/null` | ||
2082 | + for lt_sys_path in $lt_search_path_spec; do | ||
2083 | + if test -d "$lt_sys_path/$lt_multi_os_dir"; then | ||
2084 | + lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path/$lt_multi_os_dir" | ||
2085 | + else | ||
2086 | + test -d "$lt_sys_path" && \ | ||
2087 | + lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path" | ||
2088 | + fi | ||
2089 | + done | ||
2090 | + lt_search_path_spec=`$ECHO $lt_tmp_lt_search_path_spec | awk ' | ||
2091 | +BEGIN {RS=" "; FS="/|\n";} { | ||
2092 | + lt_foo=""; | ||
2093 | + lt_count=0; | ||
2094 | + for (lt_i = NF; lt_i > 0; lt_i--) { | ||
2095 | + if ($lt_i != "" && $lt_i != ".") { | ||
2096 | + if ($lt_i == "..") { | ||
2097 | + lt_count++; | ||
2098 | + } else { | ||
2099 | + if (lt_count == 0) { | ||
2100 | + lt_foo="/" $lt_i lt_foo; | ||
2101 | + } else { | ||
2102 | + lt_count--; | ||
2103 | + } | ||
2104 | + } | ||
2105 | + } | ||
2106 | + } | ||
2107 | + if (lt_foo != "") { lt_freq[[lt_foo]]++; } | ||
2108 | + if (lt_freq[[lt_foo]] == 1) { print lt_foo; } | ||
2109 | +}'` | ||
2110 | + sys_lib_search_path_spec=`$ECHO $lt_search_path_spec` | ||
2111 | +else | ||
2112 | + sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib" | ||
2113 | +fi]) | ||
2114 | +library_names_spec= | ||
2115 | +libname_spec='lib$name' | ||
2116 | +soname_spec= | ||
2117 | +shrext_cmds=".so" | ||
2118 | +postinstall_cmds= | ||
2119 | +postuninstall_cmds= | ||
2120 | +finish_cmds= | ||
2121 | +finish_eval= | ||
2122 | +shlibpath_var= | ||
2123 | +shlibpath_overrides_runpath=unknown | ||
2124 | +version_type=none | ||
2125 | +dynamic_linker="$host_os ld.so" | ||
2126 | +sys_lib_dlsearch_path_spec="/lib /usr/lib" | ||
2127 | +need_lib_prefix=unknown | ||
2128 | +hardcode_into_libs=no | ||
2129 | + | ||
2130 | +# when you set need_version to no, make sure it does not cause -set_version | ||
2131 | +# flags to be left without arguments | ||
2132 | +need_version=unknown | ||
2133 | + | ||
2134 | +case $host_os in | ||
2135 | +aix3*) | ||
2136 | + version_type=linux | ||
2137 | + library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a' | ||
2138 | + shlibpath_var=LIBPATH | ||
2139 | + | ||
2140 | + # AIX 3 has no versioning support, so we append a major version to the name. | ||
2141 | + soname_spec='${libname}${release}${shared_ext}$major' | ||
2142 | + ;; | ||
2143 | + | ||
2144 | +aix[[4-9]]*) | ||
2145 | + version_type=linux | ||
2146 | + need_lib_prefix=no | ||
2147 | + need_version=no | ||
2148 | + hardcode_into_libs=yes | ||
2149 | + if test "$host_cpu" = ia64; then | ||
2150 | + # AIX 5 supports IA64 | ||
2151 | + library_names_spec='${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext}$versuffix $libname${shared_ext}' | ||
2152 | + shlibpath_var=LD_LIBRARY_PATH | ||
2153 | + else | ||
2154 | + # With GCC up to 2.95.x, collect2 would create an import file | ||
2155 | + # for dependence libraries. The import file would start with | ||
2156 | + # the line `#! .'. This would cause the generated library to | ||
2157 | + # depend on `.', always an invalid library. This was fixed in | ||
2158 | + # development snapshots of GCC prior to 3.0. | ||
2159 | + case $host_os in | ||
2160 | + aix4 | aix4.[[01]] | aix4.[[01]].*) | ||
2161 | + if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)' | ||
2162 | + echo ' yes ' | ||
2163 | + echo '#endif'; } | ${CC} -E - | $GREP yes > /dev/null; then | ||
2164 | + : | ||
2165 | + else | ||
2166 | + can_build_shared=no | ||
2167 | + fi | ||
2168 | + ;; | ||
2169 | + esac | ||
2170 | + # AIX (on Power*) has no versioning support, so currently we can not hardcode correct | ||
2171 | + # soname into executable. Probably we can add versioning support to | ||
2172 | + # collect2, so additional links can be useful in future. | ||
2173 | + if test "$aix_use_runtimelinking" = yes; then | ||
2174 | + # If using run time linking (on AIX 4.2 or later) use lib<name>.so | ||
2175 | + # instead of lib<name>.a to let people know that these are not | ||
2176 | + # typical AIX shared libraries. | ||
2177 | + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' | ||
2178 | + else | ||
2179 | + # We preserve .a as extension for shared libraries through AIX4.2 | ||
2180 | + # and later when we are not doing run time linking. | ||
2181 | + library_names_spec='${libname}${release}.a $libname.a' | ||
2182 | + soname_spec='${libname}${release}${shared_ext}$major' | ||
2183 | + fi | ||
2184 | + shlibpath_var=LIBPATH | ||
2185 | + fi | ||
2186 | + ;; | ||
2187 | + | ||
2188 | +amigaos*) | ||
2189 | + case $host_cpu in | ||
2190 | + powerpc) | ||
2191 | + # Since July 2007 AmigaOS4 officially supports .so libraries. | ||
2192 | + # When compiling the executable, add -use-dynld -Lsobjs: to the compileline. | ||
2193 | + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' | ||
2194 | + ;; | ||
2195 | + m68k) | ||
2196 | + library_names_spec='$libname.ixlibrary $libname.a' | ||
2197 | + # Create ${libname}_ixlibrary.a entries in /sys/libs. | ||
2198 | + 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' | ||
2199 | + ;; | ||
2200 | + esac | ||
2201 | + ;; | ||
2202 | + | ||
2203 | +beos*) | ||
2204 | + library_names_spec='${libname}${shared_ext}' | ||
2205 | + dynamic_linker="$host_os ld.so" | ||
2206 | + shlibpath_var=LIBRARY_PATH | ||
2207 | + ;; | ||
2208 | + | ||
2209 | +bsdi[[45]]*) | ||
2210 | + version_type=linux | ||
2211 | + need_version=no | ||
2212 | + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' | ||
2213 | + soname_spec='${libname}${release}${shared_ext}$major' | ||
2214 | + finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir' | ||
2215 | + shlibpath_var=LD_LIBRARY_PATH | ||
2216 | + sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib" | ||
2217 | + sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib" | ||
2218 | + # the default ld.so.conf also contains /usr/contrib/lib and | ||
2219 | + # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow | ||
2220 | + # libtool to hard-code these into programs | ||
2221 | + ;; | ||
2222 | + | ||
2223 | +cygwin* | mingw* | pw32* | cegcc*) | ||
2224 | + version_type=windows | ||
2225 | + shrext_cmds=".dll" | ||
2226 | + need_version=no | ||
2227 | + need_lib_prefix=no | ||
2228 | + | ||
2229 | + case $GCC,$host_os in | ||
2230 | + yes,cygwin* | yes,mingw* | yes,pw32* | yes,cegcc*) | ||
2231 | + library_names_spec='$libname.dll.a' | ||
2232 | + # DLL is installed to $(libdir)/../bin by postinstall_cmds | ||
2233 | + postinstall_cmds='base_file=`basename \${file}`~ | ||
2234 | + dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i; echo \$dlname'\''`~ | ||
2235 | + dldir=$destdir/`dirname \$dlpath`~ | ||
2236 | + test -d \$dldir || mkdir -p \$dldir~ | ||
2237 | + $install_prog $dir/$dlname \$dldir/$dlname~ | ||
2238 | + chmod a+x \$dldir/$dlname~ | ||
2239 | + if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then | ||
2240 | + eval '\''$striplib \$dldir/$dlname'\'' || exit \$?; | ||
2241 | + fi' | ||
2242 | + postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~ | ||
2243 | + dlpath=$dir/\$dldll~ | ||
2244 | + $RM \$dlpath' | ||
2245 | + shlibpath_overrides_runpath=yes | ||
2246 | + | ||
2247 | + case $host_os in | ||
2248 | + cygwin*) | ||
2249 | + # Cygwin DLLs use 'cyg' prefix rather than 'lib' | ||
2250 | + soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}' | ||
2251 | + sys_lib_search_path_spec="/usr/lib /lib/w32api /lib /usr/local/lib" | ||
2252 | + ;; | ||
2253 | + mingw* | cegcc*) | ||
2254 | + # MinGW DLLs use traditional 'lib' prefix | ||
2255 | + soname_spec='${libname}`echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}' | ||
2256 | + sys_lib_search_path_spec=`$CC -print-search-dirs | $GREP "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"` | ||
2257 | + if $ECHO "$sys_lib_search_path_spec" | [$GREP ';[c-zC-Z]:/' >/dev/null]; then | ||
2258 | + # It is most probably a Windows format PATH printed by | ||
2259 | + # mingw gcc, but we are running on Cygwin. Gcc prints its search | ||
2260 | + # path with ; separators, and with drive letters. We can handle the | ||
2261 | + # drive letters (cygwin fileutils understands them), so leave them, | ||
2262 | + # especially as we might pass files found there to a mingw objdump, | ||
2263 | + # which wouldn't understand a cygwinified path. Ahh. | ||
2264 | + sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'` | ||
2265 | + else | ||
2266 | + sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"` | ||
2267 | + fi | ||
2268 | + ;; | ||
2269 | + pw32*) | ||
2270 | + # pw32 DLLs use 'pw' prefix rather than 'lib' | ||
2271 | + library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}' | ||
2272 | + ;; | ||
2273 | + esac | ||
2274 | + ;; | ||
2275 | + | ||
2276 | + *) | ||
2277 | + library_names_spec='${libname}`echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext} $libname.lib' | ||
2278 | + ;; | ||
2279 | + esac | ||
2280 | + dynamic_linker='Win32 ld.exe' | ||
2281 | + # FIXME: first we should search . and the directory the executable is in | ||
2282 | + shlibpath_var=PATH | ||
2283 | + ;; | ||
2284 | + | ||
2285 | +darwin* | rhapsody*) | ||
2286 | + dynamic_linker="$host_os dyld" | ||
2287 | + version_type=darwin | ||
2288 | + need_lib_prefix=no | ||
2289 | + need_version=no | ||
2290 | + library_names_spec='${libname}${release}${major}$shared_ext ${libname}$shared_ext' | ||
2291 | + soname_spec='${libname}${release}${major}$shared_ext' | ||
2292 | + shlibpath_overrides_runpath=yes | ||
2293 | + shlibpath_var=DYLD_LIBRARY_PATH | ||
2294 | + shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`' | ||
2295 | +m4_if([$1], [],[ | ||
2296 | + sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/local/lib"]) | ||
2297 | + sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib' | ||
2298 | + ;; | ||
2299 | + | ||
2300 | +dgux*) | ||
2301 | + version_type=linux | ||
2302 | + need_lib_prefix=no | ||
2303 | + need_version=no | ||
2304 | + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext' | ||
2305 | + soname_spec='${libname}${release}${shared_ext}$major' | ||
2306 | + shlibpath_var=LD_LIBRARY_PATH | ||
2307 | + ;; | ||
2308 | + | ||
2309 | +freebsd1*) | ||
2310 | + dynamic_linker=no | ||
2311 | + ;; | ||
2312 | + | ||
2313 | +freebsd* | dragonfly*) | ||
2314 | + # DragonFly does not have aout. When/if they implement a new | ||
2315 | + # versioning mechanism, adjust this. | ||
2316 | + if test -x /usr/bin/objformat; then | ||
2317 | + objformat=`/usr/bin/objformat` | ||
2318 | + else | ||
2319 | + case $host_os in | ||
2320 | + freebsd[[123]]*) objformat=aout ;; | ||
2321 | + *) objformat=elf ;; | ||
2322 | + esac | ||
2323 | + fi | ||
2324 | + version_type=freebsd-$objformat | ||
2325 | + case $version_type in | ||
2326 | + freebsd-elf*) | ||
2327 | + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' | ||
2328 | + need_version=no | ||
2329 | + need_lib_prefix=no | ||
2330 | + ;; | ||
2331 | + freebsd-*) | ||
2332 | + library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix' | ||
2333 | + need_version=yes | ||
2334 | + ;; | ||
2335 | + esac | ||
2336 | + shlibpath_var=LD_LIBRARY_PATH | ||
2337 | + case $host_os in | ||
2338 | + freebsd2*) | ||
2339 | + shlibpath_overrides_runpath=yes | ||
2340 | + ;; | ||
2341 | + freebsd3.[[01]]* | freebsdelf3.[[01]]*) | ||
2342 | + shlibpath_overrides_runpath=yes | ||
2343 | + hardcode_into_libs=yes | ||
2344 | + ;; | ||
2345 | + freebsd3.[[2-9]]* | freebsdelf3.[[2-9]]* | \ | ||
2346 | + freebsd4.[[0-5]] | freebsdelf4.[[0-5]] | freebsd4.1.1 | freebsdelf4.1.1) | ||
2347 | + shlibpath_overrides_runpath=no | ||
2348 | + hardcode_into_libs=yes | ||
2349 | + ;; | ||
2350 | + *) # from 4.6 on, and DragonFly | ||
2351 | + shlibpath_overrides_runpath=yes | ||
2352 | + hardcode_into_libs=yes | ||
2353 | + ;; | ||
2354 | + esac | ||
2355 | + ;; | ||
2356 | + | ||
2357 | +gnu*) | ||
2358 | + version_type=linux | ||
2359 | + need_lib_prefix=no | ||
2360 | + need_version=no | ||
2361 | + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}' | ||
2362 | + soname_spec='${libname}${release}${shared_ext}$major' | ||
2363 | + shlibpath_var=LD_LIBRARY_PATH | ||
2364 | + hardcode_into_libs=yes | ||
2365 | + ;; | ||
2366 | + | ||
2367 | +hpux9* | hpux10* | hpux11*) | ||
2368 | + # Give a soname corresponding to the major version so that dld.sl refuses to | ||
2369 | + # link against other versions. | ||
2370 | + version_type=sunos | ||
2371 | + need_lib_prefix=no | ||
2372 | + need_version=no | ||
2373 | + case $host_cpu in | ||
2374 | + ia64*) | ||
2375 | + shrext_cmds='.so' | ||
2376 | + hardcode_into_libs=yes | ||
2377 | + dynamic_linker="$host_os dld.so" | ||
2378 | + shlibpath_var=LD_LIBRARY_PATH | ||
2379 | + shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. | ||
2380 | + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' | ||
2381 | + soname_spec='${libname}${release}${shared_ext}$major' | ||
2382 | + if test "X$HPUX_IA64_MODE" = X32; then | ||
2383 | + sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib" | ||
2384 | + else | ||
2385 | + sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64" | ||
2386 | + fi | ||
2387 | + sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec | ||
2388 | + ;; | ||
2389 | + hppa*64*) | ||
2390 | + shrext_cmds='.sl' | ||
2391 | + hardcode_into_libs=yes | ||
2392 | + dynamic_linker="$host_os dld.sl" | ||
2393 | + shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH | ||
2394 | + shlibpath_overrides_runpath=yes # Unless +noenvvar is specified. | ||
2395 | + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' | ||
2396 | + soname_spec='${libname}${release}${shared_ext}$major' | ||
2397 | + sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64" | ||
2398 | + sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec | ||
2399 | + ;; | ||
2400 | + *) | ||
2401 | + shrext_cmds='.sl' | ||
2402 | + dynamic_linker="$host_os dld.sl" | ||
2403 | + shlibpath_var=SHLIB_PATH | ||
2404 | + shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH | ||
2405 | + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' | ||
2406 | + soname_spec='${libname}${release}${shared_ext}$major' | ||
2407 | + ;; | ||
2408 | + esac | ||
2409 | + # HP-UX runs *really* slowly unless shared libraries are mode 555. | ||
2410 | + postinstall_cmds='chmod 555 $lib' | ||
2411 | + ;; | ||
2412 | + | ||
2413 | +interix[[3-9]]*) | ||
2414 | + version_type=linux | ||
2415 | + need_lib_prefix=no | ||
2416 | + need_version=no | ||
2417 | + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' | ||
2418 | + soname_spec='${libname}${release}${shared_ext}$major' | ||
2419 | + dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)' | ||
2420 | + shlibpath_var=LD_LIBRARY_PATH | ||
2421 | + shlibpath_overrides_runpath=no | ||
2422 | + hardcode_into_libs=yes | ||
2423 | + ;; | ||
2424 | + | ||
2425 | +irix5* | irix6* | nonstopux*) | ||
2426 | + case $host_os in | ||
2427 | + nonstopux*) version_type=nonstopux ;; | ||
2428 | + *) | ||
2429 | + if test "$lt_cv_prog_gnu_ld" = yes; then | ||
2430 | + version_type=linux | ||
2431 | + else | ||
2432 | + version_type=irix | ||
2433 | + fi ;; | ||
2434 | + esac | ||
2435 | + need_lib_prefix=no | ||
2436 | + need_version=no | ||
2437 | + soname_spec='${libname}${release}${shared_ext}$major' | ||
2438 | + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} $libname${shared_ext}' | ||
2439 | + case $host_os in | ||
2440 | + irix5* | nonstopux*) | ||
2441 | + libsuff= shlibsuff= | ||
2442 | + ;; | ||
2443 | + *) | ||
2444 | + case $LD in # libtool.m4 will add one of these switches to LD | ||
2445 | + *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ") | ||
2446 | + libsuff= shlibsuff= libmagic=32-bit;; | ||
2447 | + *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ") | ||
2448 | + libsuff=32 shlibsuff=N32 libmagic=N32;; | ||
2449 | + *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ") | ||
2450 | + libsuff=64 shlibsuff=64 libmagic=64-bit;; | ||
2451 | + *) libsuff= shlibsuff= libmagic=never-match;; | ||
2452 | + esac | ||
2453 | + ;; | ||
2454 | + esac | ||
2455 | + shlibpath_var=LD_LIBRARY${shlibsuff}_PATH | ||
2456 | + shlibpath_overrides_runpath=no | ||
2457 | + sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}" | ||
2458 | + sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}" | ||
2459 | + hardcode_into_libs=yes | ||
2460 | + ;; | ||
2461 | + | ||
2462 | +# No shared lib support for Linux oldld, aout, or coff. | ||
2463 | +linux*oldld* | linux*aout* | linux*coff*) | ||
2464 | + dynamic_linker=no | ||
2465 | + ;; | ||
2466 | + | ||
2467 | +# This must be Linux ELF. | ||
2468 | +linux* | k*bsd*-gnu) | ||
2469 | + version_type=linux | ||
2470 | + need_lib_prefix=no | ||
2471 | + need_version=no | ||
2472 | + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' | ||
2473 | + soname_spec='${libname}${release}${shared_ext}$major' | ||
2474 | + finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir' | ||
2475 | + shlibpath_var=LD_LIBRARY_PATH | ||
2476 | + shlibpath_overrides_runpath=no | ||
2477 | + # Some binutils ld are patched to set DT_RUNPATH | ||
2478 | + save_LDFLAGS=$LDFLAGS | ||
2479 | + save_libdir=$libdir | ||
2480 | + eval "libdir=/foo; wl=\"$_LT_TAGVAR(lt_prog_compiler_wl, $1)\"; \ | ||
2481 | + LDFLAGS=\"\$LDFLAGS $_LT_TAGVAR(hardcode_libdir_flag_spec, $1)\"" | ||
2482 | + AC_LINK_IFELSE([AC_LANG_PROGRAM([],[])], | ||
2483 | + [AS_IF([ ($OBJDUMP -p conftest$ac_exeext) 2>/dev/null | grep "RUNPATH.*$libdir" >/dev/null], | ||
2484 | + [shlibpath_overrides_runpath=yes])]) | ||
2485 | + LDFLAGS=$save_LDFLAGS | ||
2486 | + libdir=$save_libdir | ||
2487 | + | ||
2488 | + # This implies no fast_install, which is unacceptable. | ||
2489 | + # Some rework will be needed to allow for fast_install | ||
2490 | + # before this can be enabled. | ||
2491 | + hardcode_into_libs=yes | ||
2492 | + | ||
2493 | + # Append ld.so.conf contents to the search path | ||
2494 | + if test -f /etc/ld.so.conf; then | ||
2495 | + 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' ' '` | ||
2496 | + sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra" | ||
2497 | + fi | ||
2498 | + | ||
2499 | + # We used to test for /lib/ld.so.1 and disable shared libraries on | ||
2500 | + # powerpc, because MkLinux only supported shared libraries with the | ||
2501 | + # GNU dynamic linker. Since this was broken with cross compilers, | ||
2502 | + # most powerpc-linux boxes support dynamic linking these days and | ||
2503 | + # people can always --disable-shared, the test was removed, and we | ||
2504 | + # assume the GNU/Linux dynamic linker is in use. | ||
2505 | + dynamic_linker='GNU/Linux ld.so' | ||
2506 | + ;; | ||
2507 | + | ||
2508 | +netbsd*) | ||
2509 | + version_type=sunos | ||
2510 | + need_lib_prefix=no | ||
2511 | + need_version=no | ||
2512 | + if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then | ||
2513 | + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' | ||
2514 | + finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' | ||
2515 | + dynamic_linker='NetBSD (a.out) ld.so' | ||
2516 | + else | ||
2517 | + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}' | ||
2518 | + soname_spec='${libname}${release}${shared_ext}$major' | ||
2519 | + dynamic_linker='NetBSD ld.elf_so' | ||
2520 | + fi | ||
2521 | + shlibpath_var=LD_LIBRARY_PATH | ||
2522 | + shlibpath_overrides_runpath=yes | ||
2523 | + hardcode_into_libs=yes | ||
2524 | + ;; | ||
2525 | + | ||
2526 | +newsos6) | ||
2527 | + version_type=linux | ||
2528 | + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' | ||
2529 | + shlibpath_var=LD_LIBRARY_PATH | ||
2530 | + shlibpath_overrides_runpath=yes | ||
2531 | + ;; | ||
2532 | + | ||
2533 | +*nto* | *qnx*) | ||
2534 | + version_type=qnx | ||
2535 | + need_lib_prefix=no | ||
2536 | + need_version=no | ||
2537 | + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' | ||
2538 | + soname_spec='${libname}${release}${shared_ext}$major' | ||
2539 | + shlibpath_var=LD_LIBRARY_PATH | ||
2540 | + shlibpath_overrides_runpath=no | ||
2541 | + hardcode_into_libs=yes | ||
2542 | + dynamic_linker='ldqnx.so' | ||
2543 | + ;; | ||
2544 | + | ||
2545 | +openbsd*) | ||
2546 | + version_type=sunos | ||
2547 | + sys_lib_dlsearch_path_spec="/usr/lib" | ||
2548 | + need_lib_prefix=no | ||
2549 | + # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs. | ||
2550 | + case $host_os in | ||
2551 | + openbsd3.3 | openbsd3.3.*) need_version=yes ;; | ||
2552 | + *) need_version=no ;; | ||
2553 | + esac | ||
2554 | + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' | ||
2555 | + finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir' | ||
2556 | + shlibpath_var=LD_LIBRARY_PATH | ||
2557 | + if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then | ||
2558 | + case $host_os in | ||
2559 | + openbsd2.[[89]] | openbsd2.[[89]].*) | ||
2560 | + shlibpath_overrides_runpath=no | ||
2561 | + ;; | ||
2562 | + *) | ||
2563 | + shlibpath_overrides_runpath=yes | ||
2564 | + ;; | ||
2565 | + esac | ||
2566 | + else | ||
2567 | + shlibpath_overrides_runpath=yes | ||
2568 | + fi | ||
2569 | + ;; | ||
2570 | + | ||
2571 | +os2*) | ||
2572 | + libname_spec='$name' | ||
2573 | + shrext_cmds=".dll" | ||
2574 | + need_lib_prefix=no | ||
2575 | + library_names_spec='$libname${shared_ext} $libname.a' | ||
2576 | + dynamic_linker='OS/2 ld.exe' | ||
2577 | + shlibpath_var=LIBPATH | ||
2578 | + ;; | ||
2579 | + | ||
2580 | +osf3* | osf4* | osf5*) | ||
2581 | + version_type=osf | ||
2582 | + need_lib_prefix=no | ||
2583 | + need_version=no | ||
2584 | + soname_spec='${libname}${release}${shared_ext}$major' | ||
2585 | + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' | ||
2586 | + shlibpath_var=LD_LIBRARY_PATH | ||
2587 | + sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib" | ||
2588 | + sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec" | ||
2589 | + ;; | ||
2590 | + | ||
2591 | +rdos*) | ||
2592 | + dynamic_linker=no | ||
2593 | + ;; | ||
2594 | + | ||
2595 | +solaris*) | ||
2596 | + version_type=linux | ||
2597 | + need_lib_prefix=no | ||
2598 | + need_version=no | ||
2599 | + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' | ||
2600 | + soname_spec='${libname}${release}${shared_ext}$major' | ||
2601 | + shlibpath_var=LD_LIBRARY_PATH | ||
2602 | + shlibpath_overrides_runpath=yes | ||
2603 | + hardcode_into_libs=yes | ||
2604 | + # ldd complains unless libraries are executable | ||
2605 | + postinstall_cmds='chmod +x $lib' | ||
2606 | + ;; | ||
2607 | + | ||
2608 | +sunos4*) | ||
2609 | + version_type=sunos | ||
2610 | + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix' | ||
2611 | + finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir' | ||
2612 | + shlibpath_var=LD_LIBRARY_PATH | ||
2613 | + shlibpath_overrides_runpath=yes | ||
2614 | + if test "$with_gnu_ld" = yes; then | ||
2615 | + need_lib_prefix=no | ||
2616 | + fi | ||
2617 | + need_version=yes | ||
2618 | + ;; | ||
2619 | + | ||
2620 | +sysv4 | sysv4.3*) | ||
2621 | + version_type=linux | ||
2622 | + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' | ||
2623 | + soname_spec='${libname}${release}${shared_ext}$major' | ||
2624 | + shlibpath_var=LD_LIBRARY_PATH | ||
2625 | + case $host_vendor in | ||
2626 | + sni) | ||
2627 | + shlibpath_overrides_runpath=no | ||
2628 | + need_lib_prefix=no | ||
2629 | + runpath_var=LD_RUN_PATH | ||
2630 | + ;; | ||
2631 | + siemens) | ||
2632 | + need_lib_prefix=no | ||
2633 | + ;; | ||
2634 | + motorola) | ||
2635 | + need_lib_prefix=no | ||
2636 | + need_version=no | ||
2637 | + shlibpath_overrides_runpath=no | ||
2638 | + sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib' | ||
2639 | + ;; | ||
2640 | + esac | ||
2641 | + ;; | ||
2642 | + | ||
2643 | +sysv4*MP*) | ||
2644 | + if test -d /usr/nec ;then | ||
2645 | + version_type=linux | ||
2646 | + library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}' | ||
2647 | + soname_spec='$libname${shared_ext}.$major' | ||
2648 | + shlibpath_var=LD_LIBRARY_PATH | ||
2649 | + fi | ||
2650 | + ;; | ||
2651 | + | ||
2652 | +sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) | ||
2653 | + version_type=freebsd-elf | ||
2654 | + need_lib_prefix=no | ||
2655 | + need_version=no | ||
2656 | + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}' | ||
2657 | + soname_spec='${libname}${release}${shared_ext}$major' | ||
2658 | + shlibpath_var=LD_LIBRARY_PATH | ||
2659 | + shlibpath_overrides_runpath=yes | ||
2660 | + hardcode_into_libs=yes | ||
2661 | + if test "$with_gnu_ld" = yes; then | ||
2662 | + sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib' | ||
2663 | + else | ||
2664 | + sys_lib_search_path_spec='/usr/ccs/lib /usr/lib' | ||
2665 | + case $host_os in | ||
2666 | + sco3.2v5*) | ||
2667 | + sys_lib_search_path_spec="$sys_lib_search_path_spec /lib" | ||
2668 | + ;; | ||
2669 | + esac | ||
2670 | + fi | ||
2671 | + sys_lib_dlsearch_path_spec='/usr/lib' | ||
2672 | + ;; | ||
2673 | + | ||
2674 | +tpf*) | ||
2675 | + # TPF is a cross-target only. Preferred cross-host = GNU/Linux. | ||
2676 | + version_type=linux | ||
2677 | + need_lib_prefix=no | ||
2678 | + need_version=no | ||
2679 | + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' | ||
2680 | + shlibpath_var=LD_LIBRARY_PATH | ||
2681 | + shlibpath_overrides_runpath=no | ||
2682 | + hardcode_into_libs=yes | ||
2683 | + ;; | ||
2684 | + | ||
2685 | +uts4*) | ||
2686 | + version_type=linux | ||
2687 | + library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}' | ||
2688 | + soname_spec='${libname}${release}${shared_ext}$major' | ||
2689 | + shlibpath_var=LD_LIBRARY_PATH | ||
2690 | + ;; | ||
2691 | + | ||
2692 | +*) | ||
2693 | + dynamic_linker=no | ||
2694 | + ;; | ||
2695 | +esac | ||
2696 | +AC_MSG_RESULT([$dynamic_linker]) | ||
2697 | +test "$dynamic_linker" = no && can_build_shared=no | ||
2698 | + | ||
2699 | +variables_saved_for_relink="PATH $shlibpath_var $runpath_var" | ||
2700 | +if test "$GCC" = yes; then | ||
2701 | + variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH" | ||
2702 | +fi | ||
2703 | + | ||
2704 | +if test "${lt_cv_sys_lib_search_path_spec+set}" = set; then | ||
2705 | + sys_lib_search_path_spec="$lt_cv_sys_lib_search_path_spec" | ||
2706 | +fi | ||
2707 | +if test "${lt_cv_sys_lib_dlsearch_path_spec+set}" = set; then | ||
2708 | + sys_lib_dlsearch_path_spec="$lt_cv_sys_lib_dlsearch_path_spec" | ||
2709 | +fi | ||
2710 | + | ||
2711 | +_LT_DECL([], [variables_saved_for_relink], [1], | ||
2712 | + [Variables whose values should be saved in libtool wrapper scripts and | ||
2713 | + restored at link time]) | ||
2714 | +_LT_DECL([], [need_lib_prefix], [0], | ||
2715 | + [Do we need the "lib" prefix for modules?]) | ||
2716 | +_LT_DECL([], [need_version], [0], [Do we need a version for libraries?]) | ||
2717 | +_LT_DECL([], [version_type], [0], [Library versioning type]) | ||
2718 | +_LT_DECL([], [runpath_var], [0], [Shared library runtime path variable]) | ||
2719 | +_LT_DECL([], [shlibpath_var], [0],[Shared library path variable]) | ||
2720 | +_LT_DECL([], [shlibpath_overrides_runpath], [0], | ||
2721 | + [Is shlibpath searched before the hard-coded library search path?]) | ||
2722 | +_LT_DECL([], [libname_spec], [1], [Format of library name prefix]) | ||
2723 | +_LT_DECL([], [library_names_spec], [1], | ||
2724 | + [[List of archive names. First name is the real one, the rest are links. | ||
2725 | + The last name is the one that the linker finds with -lNAME]]) | ||
2726 | +_LT_DECL([], [soname_spec], [1], | ||
2727 | + [[The coded name of the library, if different from the real name]]) | ||
2728 | +_LT_DECL([], [postinstall_cmds], [2], | ||
2729 | + [Command to use after installation of a shared archive]) | ||
2730 | +_LT_DECL([], [postuninstall_cmds], [2], | ||
2731 | + [Command to use after uninstallation of a shared archive]) | ||
2732 | +_LT_DECL([], [finish_cmds], [2], | ||
2733 | + [Commands used to finish a libtool library installation in a directory]) | ||
2734 | +_LT_DECL([], [finish_eval], [1], | ||
2735 | + [[As "finish_cmds", except a single script fragment to be evaled but | ||
2736 | + not shown]]) | ||
2737 | +_LT_DECL([], [hardcode_into_libs], [0], | ||
2738 | + [Whether we should hardcode library paths into libraries]) | ||
2739 | +_LT_DECL([], [sys_lib_search_path_spec], [2], | ||
2740 | + [Compile-time system search path for libraries]) | ||
2741 | +_LT_DECL([], [sys_lib_dlsearch_path_spec], [2], | ||
2742 | + [Run-time system search path for libraries]) | ||
2743 | +])# _LT_SYS_DYNAMIC_LINKER | ||
2744 | + | ||
2745 | + | ||
2746 | +# _LT_PATH_TOOL_PREFIX(TOOL) | ||
2747 | +# -------------------------- | ||
2748 | +# find a file program which can recognize shared library | ||
2749 | +AC_DEFUN([_LT_PATH_TOOL_PREFIX], | ||
2750 | +[m4_require([_LT_DECL_EGREP])dnl | ||
2751 | +AC_MSG_CHECKING([for $1]) | ||
2752 | +AC_CACHE_VAL(lt_cv_path_MAGIC_CMD, | ||
2753 | +[case $MAGIC_CMD in | ||
2754 | +[[\\/*] | ?:[\\/]*]) | ||
2755 | + lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path. | ||
2756 | + ;; | ||
2757 | +*) | ||
2758 | + lt_save_MAGIC_CMD="$MAGIC_CMD" | ||
2759 | + lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR | ||
2760 | +dnl $ac_dummy forces splitting on constant user-supplied paths. | ||
2761 | +dnl POSIX.2 word splitting is done only on the output of word expansions, | ||
2762 | +dnl not every word. This closes a longstanding sh security hole. | ||
2763 | + ac_dummy="m4_if([$2], , $PATH, [$2])" | ||
2764 | + for ac_dir in $ac_dummy; do | ||
2765 | + IFS="$lt_save_ifs" | ||
2766 | + test -z "$ac_dir" && ac_dir=. | ||
2767 | + if test -f $ac_dir/$1; then | ||
2768 | + lt_cv_path_MAGIC_CMD="$ac_dir/$1" | ||
2769 | + if test -n "$file_magic_test_file"; then | ||
2770 | + case $deplibs_check_method in | ||
2771 | + "file_magic "*) | ||
2772 | + file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"` | ||
2773 | + MAGIC_CMD="$lt_cv_path_MAGIC_CMD" | ||
2774 | + if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null | | ||
2775 | + $EGREP "$file_magic_regex" > /dev/null; then | ||
2776 | + : | ||
2777 | + else | ||
2778 | + cat <<_LT_EOF 1>&2 | ||
2779 | + | ||
2780 | +*** Warning: the command libtool uses to detect shared libraries, | ||
2781 | +*** $file_magic_cmd, produces output that libtool cannot recognize. | ||
2782 | +*** The result is that libtool may fail to recognize shared libraries | ||
2783 | +*** as such. This will affect the creation of libtool libraries that | ||
2784 | +*** depend on shared libraries, but programs linked with such libtool | ||
2785 | +*** libraries will work regardless of this problem. Nevertheless, you | ||
2786 | +*** may want to report the problem to your system manager and/or to | ||
2787 | +*** bug-libtool@gnu.org | ||
2788 | + | ||
2789 | +_LT_EOF | ||
2790 | + fi ;; | ||
2791 | + esac | ||
2792 | + fi | ||
2793 | + break | ||
2794 | + fi | ||
2795 | + done | ||
2796 | + IFS="$lt_save_ifs" | ||
2797 | + MAGIC_CMD="$lt_save_MAGIC_CMD" | ||
2798 | + ;; | ||
2799 | +esac]) | ||
2800 | +MAGIC_CMD="$lt_cv_path_MAGIC_CMD" | ||
2801 | +if test -n "$MAGIC_CMD"; then | ||
2802 | + AC_MSG_RESULT($MAGIC_CMD) | ||
2803 | +else | ||
2804 | + AC_MSG_RESULT(no) | ||
2805 | +fi | ||
2806 | +_LT_DECL([], [MAGIC_CMD], [0], | ||
2807 | + [Used to examine libraries when file_magic_cmd begins with "file"])dnl | ||
2808 | +])# _LT_PATH_TOOL_PREFIX | ||
2809 | + | ||
2810 | +# Old name: | ||
2811 | +AU_ALIAS([AC_PATH_TOOL_PREFIX], [_LT_PATH_TOOL_PREFIX]) | ||
2812 | +dnl aclocal-1.4 backwards compatibility: | ||
2813 | +dnl AC_DEFUN([AC_PATH_TOOL_PREFIX], []) | ||
2814 | + | ||
2815 | + | ||
2816 | +# _LT_PATH_MAGIC | ||
2817 | +# -------------- | ||
2818 | +# find a file program which can recognize a shared library | ||
2819 | +m4_defun([_LT_PATH_MAGIC], | ||
2820 | +[_LT_PATH_TOOL_PREFIX(${ac_tool_prefix}file, /usr/bin$PATH_SEPARATOR$PATH) | ||
2821 | +if test -z "$lt_cv_path_MAGIC_CMD"; then | ||
2822 | + if test -n "$ac_tool_prefix"; then | ||
2823 | + _LT_PATH_TOOL_PREFIX(file, /usr/bin$PATH_SEPARATOR$PATH) | ||
2824 | + else | ||
2825 | + MAGIC_CMD=: | ||
2826 | + fi | ||
2827 | +fi | ||
2828 | +])# _LT_PATH_MAGIC | ||
2829 | + | ||
2830 | + | ||
2831 | +# LT_PATH_LD | ||
2832 | +# ---------- | ||
2833 | +# find the pathname to the GNU or non-GNU linker | ||
2834 | +AC_DEFUN([LT_PATH_LD], | ||
2835 | +[AC_REQUIRE([AC_PROG_CC])dnl | ||
2836 | +AC_REQUIRE([AC_CANONICAL_HOST])dnl | ||
2837 | +AC_REQUIRE([AC_CANONICAL_BUILD])dnl | ||
2838 | +m4_require([_LT_DECL_SED])dnl | ||
2839 | +m4_require([_LT_DECL_EGREP])dnl | ||
2840 | + | ||
2841 | +AC_ARG_WITH([gnu-ld], | ||
2842 | + [AS_HELP_STRING([--with-gnu-ld], | ||
2843 | + [assume the C compiler uses GNU ld @<:@default=no@:>@])], | ||
2844 | + [test "$withval" = no || with_gnu_ld=yes], | ||
2845 | + [with_gnu_ld=no])dnl | ||
2846 | + | ||
2847 | +ac_prog=ld | ||
2848 | +if test "$GCC" = yes; then | ||
2849 | + # Check if gcc -print-prog-name=ld gives a path. | ||
2850 | + AC_MSG_CHECKING([for ld used by $CC]) | ||
2851 | + case $host in | ||
2852 | + *-*-mingw*) | ||
2853 | + # gcc leaves a trailing carriage return which upsets mingw | ||
2854 | + ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;; | ||
2855 | + *) | ||
2856 | + ac_prog=`($CC -print-prog-name=ld) 2>&5` ;; | ||
2857 | + esac | ||
2858 | + case $ac_prog in | ||
2859 | + # Accept absolute paths. | ||
2860 | + [[\\/]]* | ?:[[\\/]]*) | ||
2861 | + re_direlt='/[[^/]][[^/]]*/\.\./' | ||
2862 | + # Canonicalize the pathname of ld | ||
2863 | + ac_prog=`$ECHO "$ac_prog"| $SED 's%\\\\%/%g'` | ||
2864 | + while $ECHO "$ac_prog" | $GREP "$re_direlt" > /dev/null 2>&1; do | ||
2865 | + ac_prog=`$ECHO $ac_prog| $SED "s%$re_direlt%/%"` | ||
2866 | + done | ||
2867 | + test -z "$LD" && LD="$ac_prog" | ||
2868 | + ;; | ||
2869 | + "") | ||
2870 | + # If it fails, then pretend we aren't using GCC. | ||
2871 | + ac_prog=ld | ||
2872 | + ;; | ||
2873 | + *) | ||
2874 | + # If it is relative, then search for the first ld in PATH. | ||
2875 | + with_gnu_ld=unknown | ||
2876 | + ;; | ||
2877 | + esac | ||
2878 | +elif test "$with_gnu_ld" = yes; then | ||
2879 | + AC_MSG_CHECKING([for GNU ld]) | ||
2880 | +else | ||
2881 | + AC_MSG_CHECKING([for non-GNU ld]) | ||
2882 | +fi | ||
2883 | +AC_CACHE_VAL(lt_cv_path_LD, | ||
2884 | +[if test -z "$LD"; then | ||
2885 | + lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR | ||
2886 | + for ac_dir in $PATH; do | ||
2887 | + IFS="$lt_save_ifs" | ||
2888 | + test -z "$ac_dir" && ac_dir=. | ||
2889 | + if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then | ||
2890 | + lt_cv_path_LD="$ac_dir/$ac_prog" | ||
2891 | + # Check to see if the program is GNU ld. I'd rather use --version, | ||
2892 | + # but apparently some variants of GNU ld only accept -v. | ||
2893 | + # Break only if it was the GNU/non-GNU ld that we prefer. | ||
2894 | + case `"$lt_cv_path_LD" -v 2>&1 </dev/null` in | ||
2895 | + *GNU* | *'with BFD'*) | ||
2896 | + test "$with_gnu_ld" != no && break | ||
2897 | + ;; | ||
2898 | + *) | ||
2899 | + test "$with_gnu_ld" != yes && break | ||
2900 | + ;; | ||
2901 | + esac | ||
2902 | + fi | ||
2903 | + done | ||
2904 | + IFS="$lt_save_ifs" | ||
2905 | +else | ||
2906 | + lt_cv_path_LD="$LD" # Let the user override the test with a path. | ||
2907 | +fi]) | ||
2908 | +LD="$lt_cv_path_LD" | ||
2909 | +if test -n "$LD"; then | ||
2910 | + AC_MSG_RESULT($LD) | ||
2911 | +else | ||
2912 | + AC_MSG_RESULT(no) | ||
2913 | +fi | ||
2914 | +test -z "$LD" && AC_MSG_ERROR([no acceptable ld found in \$PATH]) | ||
2915 | +_LT_PATH_LD_GNU | ||
2916 | +AC_SUBST([LD]) | ||
2917 | + | ||
2918 | +_LT_TAGDECL([], [LD], [1], [The linker used to build libraries]) | ||
2919 | +])# LT_PATH_LD | ||
2920 | + | ||
2921 | +# Old names: | ||
2922 | +AU_ALIAS([AM_PROG_LD], [LT_PATH_LD]) | ||
2923 | +AU_ALIAS([AC_PROG_LD], [LT_PATH_LD]) | ||
2924 | +dnl aclocal-1.4 backwards compatibility: | ||
2925 | +dnl AC_DEFUN([AM_PROG_LD], []) | ||
2926 | +dnl AC_DEFUN([AC_PROG_LD], []) | ||
2927 | + | ||
2928 | + | ||
2929 | +# _LT_PATH_LD_GNU | ||
2930 | +#- -------------- | ||
2931 | +m4_defun([_LT_PATH_LD_GNU], | ||
2932 | +[AC_CACHE_CHECK([if the linker ($LD) is GNU ld], lt_cv_prog_gnu_ld, | ||
2933 | +[# I'd rather use --version here, but apparently some GNU lds only accept -v. | ||
2934 | +case `$LD -v 2>&1 </dev/null` in | ||
2935 | +*GNU* | *'with BFD'*) | ||
2936 | + lt_cv_prog_gnu_ld=yes | ||
2937 | + ;; | ||
2938 | +*) | ||
2939 | + lt_cv_prog_gnu_ld=no | ||
2940 | + ;; | ||
2941 | +esac]) | ||
2942 | +with_gnu_ld=$lt_cv_prog_gnu_ld | ||
2943 | +])# _LT_PATH_LD_GNU | ||
2944 | + | ||
2945 | + | ||
2946 | +# _LT_CMD_RELOAD | ||
2947 | +# -------------- | ||
2948 | +# find reload flag for linker | ||
2949 | +# -- PORTME Some linkers may need a different reload flag. | ||
2950 | +m4_defun([_LT_CMD_RELOAD], | ||
2951 | +[AC_CACHE_CHECK([for $LD option to reload object files], | ||
2952 | + lt_cv_ld_reload_flag, | ||
2953 | + [lt_cv_ld_reload_flag='-r']) | ||
2954 | +reload_flag=$lt_cv_ld_reload_flag | ||
2955 | +case $reload_flag in | ||
2956 | +"" | " "*) ;; | ||
2957 | +*) reload_flag=" $reload_flag" ;; | ||
2958 | +esac | ||
2959 | +reload_cmds='$LD$reload_flag -o $output$reload_objs' | ||
2960 | +case $host_os in | ||
2961 | + darwin*) | ||
2962 | + if test "$GCC" = yes; then | ||
2963 | + reload_cmds='$LTCC $LTCFLAGS -nostdlib ${wl}-r -o $output$reload_objs' | ||
2964 | + else | ||
2965 | + reload_cmds='$LD$reload_flag -o $output$reload_objs' | ||
2966 | + fi | ||
2967 | + ;; | ||
2968 | +esac | ||
2969 | +_LT_DECL([], [reload_flag], [1], [How to create reloadable object files])dnl | ||
2970 | +_LT_DECL([], [reload_cmds], [2])dnl | ||
2971 | +])# _LT_CMD_RELOAD | ||
2972 | + | ||
2973 | + | ||
2974 | +# _LT_CHECK_MAGIC_METHOD | ||
2975 | +# ---------------------- | ||
2976 | +# how to check for library dependencies | ||
2977 | +# -- PORTME fill in with the dynamic library characteristics | ||
2978 | +m4_defun([_LT_CHECK_MAGIC_METHOD], | ||
2979 | +[m4_require([_LT_DECL_EGREP]) | ||
2980 | +m4_require([_LT_DECL_OBJDUMP]) | ||
2981 | +AC_CACHE_CHECK([how to recognize dependent libraries], | ||
2982 | +lt_cv_deplibs_check_method, | ||
2983 | +[lt_cv_file_magic_cmd='$MAGIC_CMD' | ||
2984 | +lt_cv_file_magic_test_file= | ||
2985 | +lt_cv_deplibs_check_method='unknown' | ||
2986 | +# Need to set the preceding variable on all platforms that support | ||
2987 | +# interlibrary dependencies. | ||
2988 | +# 'none' -- dependencies not supported. | ||
2989 | +# `unknown' -- same as none, but documents that we really don't know. | ||
2990 | +# 'pass_all' -- all dependencies passed with no checks. | ||
2991 | +# 'test_compile' -- check by making test program. | ||
2992 | +# 'file_magic [[regex]]' -- check by looking for files in library path | ||
2993 | +# which responds to the $file_magic_cmd with a given extended regex. | ||
2994 | +# If you have `file' or equivalent on your system and you're not sure | ||
2995 | +# whether `pass_all' will *always* work, you probably want this one. | ||
2996 | + | ||
2997 | +case $host_os in | ||
2998 | +aix[[4-9]]*) | ||
2999 | + lt_cv_deplibs_check_method=pass_all | ||
3000 | + ;; | ||
3001 | + | ||
3002 | +beos*) | ||
3003 | + lt_cv_deplibs_check_method=pass_all | ||
3004 | + ;; | ||
3005 | + | ||
3006 | +bsdi[[45]]*) | ||
3007 | + lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (shared object|dynamic lib)' | ||
3008 | + lt_cv_file_magic_cmd='/usr/bin/file -L' | ||
3009 | + lt_cv_file_magic_test_file=/shlib/libc.so | ||
3010 | + ;; | ||
3011 | + | ||
3012 | +cygwin*) | ||
3013 | + # func_win32_libid is a shell function defined in ltmain.sh | ||
3014 | + lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL' | ||
3015 | + lt_cv_file_magic_cmd='func_win32_libid' | ||
3016 | + ;; | ||
3017 | + | ||
3018 | +mingw* | pw32*) | ||
3019 | + # Base MSYS/MinGW do not provide the 'file' command needed by | ||
3020 | + # func_win32_libid shell function, so use a weaker test based on 'objdump', | ||
3021 | + # unless we find 'file', for example because we are cross-compiling. | ||
3022 | + if ( file / ) >/dev/null 2>&1; then | ||
3023 | + lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL' | ||
3024 | + lt_cv_file_magic_cmd='func_win32_libid' | ||
3025 | + else | ||
3026 | + lt_cv_deplibs_check_method='file_magic file format pei*-i386(.*architecture: i386)?' | ||
3027 | + lt_cv_file_magic_cmd='$OBJDUMP -f' | ||
3028 | + fi | ||
3029 | + ;; | ||
3030 | + | ||
3031 | +cegcc) | ||
3032 | + # use the weaker test based on 'objdump'. See mingw*. | ||
3033 | + lt_cv_deplibs_check_method='file_magic file format pe-arm-.*little(.*architecture: arm)?' | ||
3034 | + lt_cv_file_magic_cmd='$OBJDUMP -f' | ||
3035 | + ;; | ||
3036 | + | ||
3037 | +darwin* | rhapsody*) | ||
3038 | + lt_cv_deplibs_check_method=pass_all | ||
3039 | + ;; | ||
3040 | + | ||
3041 | +freebsd* | dragonfly*) | ||
3042 | + if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then | ||
3043 | + case $host_cpu in | ||
3044 | + i*86 ) | ||
3045 | + # Not sure whether the presence of OpenBSD here was a mistake. | ||
3046 | + # Let's accept both of them until this is cleared up. | ||
3047 | + lt_cv_deplibs_check_method='file_magic (FreeBSD|OpenBSD|DragonFly)/i[[3-9]]86 (compact )?demand paged shared library' | ||
3048 | + lt_cv_file_magic_cmd=/usr/bin/file | ||
3049 | + lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*` | ||
3050 | + ;; | ||
3051 | + esac | ||
3052 | + else | ||
3053 | + lt_cv_deplibs_check_method=pass_all | ||
3054 | + fi | ||
3055 | + ;; | ||
3056 | + | ||
3057 | +gnu*) | ||
3058 | + lt_cv_deplibs_check_method=pass_all | ||
3059 | + ;; | ||
3060 | + | ||
3061 | +hpux10.20* | hpux11*) | ||
3062 | + lt_cv_file_magic_cmd=/usr/bin/file | ||
3063 | + case $host_cpu in | ||
3064 | + ia64*) | ||
3065 | + lt_cv_deplibs_check_method='file_magic (s[[0-9]][[0-9]][[0-9]]|ELF-[[0-9]][[0-9]]) shared object file - IA64' | ||
3066 | + lt_cv_file_magic_test_file=/usr/lib/hpux32/libc.so | ||
3067 | + ;; | ||
3068 | + hppa*64*) | ||
3069 | + [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]'] | ||
3070 | + lt_cv_file_magic_test_file=/usr/lib/pa20_64/libc.sl | ||
3071 | + ;; | ||
3072 | + *) | ||
3073 | + lt_cv_deplibs_check_method='file_magic (s[[0-9]][[0-9]][[0-9]]|PA-RISC[[0-9]].[[0-9]]) shared library' | ||
3074 | + lt_cv_file_magic_test_file=/usr/lib/libc.sl | ||
3075 | + ;; | ||
3076 | + esac | ||
3077 | + ;; | ||
3078 | + | ||
3079 | +interix[[3-9]]*) | ||
3080 | + # PIC code is broken on Interix 3.x, that's why |\.a not |_pic\.a here | ||
3081 | + lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so|\.a)$' | ||
3082 | + ;; | ||
3083 | + | ||
3084 | +irix5* | irix6* | nonstopux*) | ||
3085 | + case $LD in | ||
3086 | + *-32|*"-32 ") libmagic=32-bit;; | ||
3087 | + *-n32|*"-n32 ") libmagic=N32;; | ||
3088 | + *-64|*"-64 ") libmagic=64-bit;; | ||
3089 | + *) libmagic=never-match;; | ||
3090 | + esac | ||
3091 | + lt_cv_deplibs_check_method=pass_all | ||
3092 | + ;; | ||
3093 | + | ||
3094 | +# This must be Linux ELF. | ||
3095 | +linux* | k*bsd*-gnu) | ||
3096 | + lt_cv_deplibs_check_method=pass_all | ||
3097 | + ;; | ||
3098 | + | ||
3099 | +netbsd*) | ||
3100 | + if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then | ||
3101 | + lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|_pic\.a)$' | ||
3102 | + else | ||
3103 | + lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so|_pic\.a)$' | ||
3104 | + fi | ||
3105 | + ;; | ||
3106 | + | ||
3107 | +newos6*) | ||
3108 | + lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (executable|dynamic lib)' | ||
3109 | + lt_cv_file_magic_cmd=/usr/bin/file | ||
3110 | + lt_cv_file_magic_test_file=/usr/lib/libnls.so | ||
3111 | + ;; | ||
3112 | + | ||
3113 | +*nto* | *qnx*) | ||
3114 | + lt_cv_deplibs_check_method=pass_all | ||
3115 | + ;; | ||
3116 | + | ||
3117 | +openbsd*) | ||
3118 | + if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then | ||
3119 | + lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|\.so|_pic\.a)$' | ||
3120 | + else | ||
3121 | + lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|_pic\.a)$' | ||
3122 | + fi | ||
3123 | + ;; | ||
3124 | + | ||
3125 | +osf3* | osf4* | osf5*) | ||
3126 | + lt_cv_deplibs_check_method=pass_all | ||
3127 | + ;; | ||
3128 | + | ||
3129 | +rdos*) | ||
3130 | + lt_cv_deplibs_check_method=pass_all | ||
3131 | + ;; | ||
3132 | + | ||
3133 | +solaris*) | ||
3134 | + lt_cv_deplibs_check_method=pass_all | ||
3135 | + ;; | ||
3136 | + | ||
3137 | +sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*) | ||
3138 | + lt_cv_deplibs_check_method=pass_all | ||
3139 | + ;; | ||
3140 | + | ||
3141 | +sysv4 | sysv4.3*) | ||
3142 | + case $host_vendor in | ||
3143 | + motorola) | ||
3144 | + 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]]' | ||
3145 | + lt_cv_file_magic_test_file=`echo /usr/lib/libc.so*` | ||
3146 | + ;; | ||
3147 | + ncr) | ||
3148 | + lt_cv_deplibs_check_method=pass_all | ||
3149 | + ;; | ||
3150 | + sequent) | ||
3151 | + lt_cv_file_magic_cmd='/bin/file' | ||
3152 | + lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB (shared object|dynamic lib )' | ||
3153 | + ;; | ||
3154 | + sni) | ||
3155 | + lt_cv_file_magic_cmd='/bin/file' | ||
3156 | + lt_cv_deplibs_check_method="file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB dynamic lib" | ||
3157 | + lt_cv_file_magic_test_file=/lib/libc.so | ||
3158 | + ;; | ||
3159 | + siemens) | ||
3160 | + lt_cv_deplibs_check_method=pass_all | ||
3161 | + ;; | ||
3162 | + pc) | ||
3163 | + lt_cv_deplibs_check_method=pass_all | ||
3164 | + ;; | ||
3165 | + esac | ||
3166 | + ;; | ||
3167 | + | ||
3168 | +tpf*) | ||
3169 | + lt_cv_deplibs_check_method=pass_all | ||
3170 | + ;; | ||
3171 | +esac | ||
3172 | +]) | ||
3173 | +file_magic_cmd=$lt_cv_file_magic_cmd | ||
3174 | +deplibs_check_method=$lt_cv_deplibs_check_method | ||
3175 | +test -z "$deplibs_check_method" && deplibs_check_method=unknown | ||
3176 | + | ||
3177 | +_LT_DECL([], [deplibs_check_method], [1], | ||
3178 | + [Method to check whether dependent libraries are shared objects]) | ||
3179 | +_LT_DECL([], [file_magic_cmd], [1], | ||
3180 | + [Command to use when deplibs_check_method == "file_magic"]) | ||
3181 | +])# _LT_CHECK_MAGIC_METHOD | ||
3182 | + | ||
3183 | + | ||
3184 | +# LT_PATH_NM | ||
3185 | +# ---------- | ||
3186 | +# find the pathname to a BSD- or MS-compatible name lister | ||
3187 | +AC_DEFUN([LT_PATH_NM], | ||
3188 | +[AC_REQUIRE([AC_PROG_CC])dnl | ||
3189 | +AC_CACHE_CHECK([for BSD- or MS-compatible name lister (nm)], lt_cv_path_NM, | ||
3190 | +[if test -n "$NM"; then | ||
3191 | + # Let the user override the test. | ||
3192 | + lt_cv_path_NM="$NM" | ||
3193 | +else | ||
3194 | + lt_nm_to_check="${ac_tool_prefix}nm" | ||
3195 | + if test -n "$ac_tool_prefix" && test "$build" = "$host"; then | ||
3196 | + lt_nm_to_check="$lt_nm_to_check nm" | ||
3197 | + fi | ||
3198 | + for lt_tmp_nm in $lt_nm_to_check; do | ||
3199 | + lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR | ||
3200 | + for ac_dir in $PATH /usr/ccs/bin/elf /usr/ccs/bin /usr/ucb /bin; do | ||
3201 | + IFS="$lt_save_ifs" | ||
3202 | + test -z "$ac_dir" && ac_dir=. | ||
3203 | + tmp_nm="$ac_dir/$lt_tmp_nm" | ||
3204 | + if test -f "$tmp_nm" || test -f "$tmp_nm$ac_exeext" ; then | ||
3205 | + # Check to see if the nm accepts a BSD-compat flag. | ||
3206 | + # Adding the `sed 1q' prevents false positives on HP-UX, which says: | ||
3207 | + # nm: unknown option "B" ignored | ||
3208 | + # Tru64's nm complains that /dev/null is an invalid object file | ||
3209 | + case `"$tmp_nm" -B /dev/null 2>&1 | sed '1q'` in | ||
3210 | + */dev/null* | *'Invalid file or object type'*) | ||
3211 | + lt_cv_path_NM="$tmp_nm -B" | ||
3212 | + break | ||
3213 | + ;; | ||
3214 | + *) | ||
3215 | + case `"$tmp_nm" -p /dev/null 2>&1 | sed '1q'` in | ||
3216 | + */dev/null*) | ||
3217 | + lt_cv_path_NM="$tmp_nm -p" | ||
3218 | + break | ||
3219 | + ;; | ||
3220 | + *) | ||
3221 | + lt_cv_path_NM=${lt_cv_path_NM="$tmp_nm"} # keep the first match, but | ||
3222 | + continue # so that we can try to find one that supports BSD flags | ||
3223 | + ;; | ||
3224 | + esac | ||
3225 | + ;; | ||
3226 | + esac | ||
3227 | + fi | ||
3228 | + done | ||
3229 | + IFS="$lt_save_ifs" | ||
3230 | + done | ||
3231 | + : ${lt_cv_path_NM=no} | ||
3232 | +fi]) | ||
3233 | +if test "$lt_cv_path_NM" != "no"; then | ||
3234 | + NM="$lt_cv_path_NM" | ||
3235 | +else | ||
3236 | + # Didn't find any BSD compatible name lister, look for dumpbin. | ||
3237 | + AC_CHECK_TOOLS(DUMPBIN, ["dumpbin -symbols" "link -dump -symbols"], :) | ||
3238 | + AC_SUBST([DUMPBIN]) | ||
3239 | + if test "$DUMPBIN" != ":"; then | ||
3240 | + NM="$DUMPBIN" | ||
3241 | + fi | ||
3242 | +fi | ||
3243 | +test -z "$NM" && NM=nm | ||
3244 | +AC_SUBST([NM]) | ||
3245 | +_LT_DECL([], [NM], [1], [A BSD- or MS-compatible name lister])dnl | ||
3246 | + | ||
3247 | +AC_CACHE_CHECK([the name lister ($NM) interface], [lt_cv_nm_interface], | ||
3248 | + [lt_cv_nm_interface="BSD nm" | ||
3249 | + echo "int some_variable = 0;" > conftest.$ac_ext | ||
3250 | + (eval echo "\"\$as_me:__oline__: $ac_compile\"" >&AS_MESSAGE_LOG_FD) | ||
3251 | + (eval "$ac_compile" 2>conftest.err) | ||
3252 | + cat conftest.err >&AS_MESSAGE_LOG_FD | ||
3253 | + (eval echo "\"\$as_me:__oline__: $NM \\\"conftest.$ac_objext\\\"\"" >&AS_MESSAGE_LOG_FD) | ||
3254 | + (eval "$NM \"conftest.$ac_objext\"" 2>conftest.err > conftest.out) | ||
3255 | + cat conftest.err >&AS_MESSAGE_LOG_FD | ||
3256 | + (eval echo "\"\$as_me:__oline__: output\"" >&AS_MESSAGE_LOG_FD) | ||
3257 | + cat conftest.out >&AS_MESSAGE_LOG_FD | ||
3258 | + if $GREP 'External.*some_variable' conftest.out > /dev/null; then | ||
3259 | + lt_cv_nm_interface="MS dumpbin" | ||
3260 | + fi | ||
3261 | + rm -f conftest*]) | ||
3262 | +])# LT_PATH_NM | ||
3263 | + | ||
3264 | +# Old names: | ||
3265 | +AU_ALIAS([AM_PROG_NM], [LT_PATH_NM]) | ||
3266 | +AU_ALIAS([AC_PROG_NM], [LT_PATH_NM]) | ||
3267 | +dnl aclocal-1.4 backwards compatibility: | ||
3268 | +dnl AC_DEFUN([AM_PROG_NM], []) | ||
3269 | +dnl AC_DEFUN([AC_PROG_NM], []) | ||
3270 | + | ||
3271 | + | ||
3272 | +# LT_LIB_M | ||
3273 | +# -------- | ||
3274 | +# check for math library | ||
3275 | +AC_DEFUN([LT_LIB_M], | ||
3276 | +[AC_REQUIRE([AC_CANONICAL_HOST])dnl | ||
3277 | +LIBM= | ||
3278 | +case $host in | ||
3279 | +*-*-beos* | *-*-cygwin* | *-*-pw32* | *-*-darwin*) | ||
3280 | + # These system don't have libm, or don't need it | ||
3281 | + ;; | ||
3282 | +*-ncr-sysv4.3*) | ||
3283 | + AC_CHECK_LIB(mw, _mwvalidcheckl, LIBM="-lmw") | ||
3284 | + AC_CHECK_LIB(m, cos, LIBM="$LIBM -lm") | ||
3285 | + ;; | ||
3286 | +*) | ||
3287 | + AC_CHECK_LIB(m, cos, LIBM="-lm") | ||
3288 | + ;; | ||
3289 | +esac | ||
3290 | +AC_SUBST([LIBM]) | ||
3291 | +])# LT_LIB_M | ||
3292 | + | ||
3293 | +# Old name: | ||
3294 | +AU_ALIAS([AC_CHECK_LIBM], [LT_LIB_M]) | ||
3295 | +dnl aclocal-1.4 backwards compatibility: | ||
3296 | +dnl AC_DEFUN([AC_CHECK_LIBM], []) | ||
3297 | + | ||
3298 | + | ||
3299 | +# _LT_COMPILER_NO_RTTI([TAGNAME]) | ||
3300 | +# ------------------------------- | ||
3301 | +m4_defun([_LT_COMPILER_NO_RTTI], | ||
3302 | +[m4_require([_LT_TAG_COMPILER])dnl | ||
3303 | + | ||
3304 | +_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)= | ||
3305 | + | ||
3306 | +if test "$GCC" = yes; then | ||
3307 | + _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -fno-builtin' | ||
3308 | + | ||
3309 | + _LT_COMPILER_OPTION([if $compiler supports -fno-rtti -fno-exceptions], | ||
3310 | + lt_cv_prog_compiler_rtti_exceptions, | ||
3311 | + [-fno-rtti -fno-exceptions], [], | ||
3312 | + [_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)="$_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1) -fno-rtti -fno-exceptions"]) | ||
3313 | +fi | ||
3314 | +_LT_TAGDECL([no_builtin_flag], [lt_prog_compiler_no_builtin_flag], [1], | ||
3315 | + [Compiler flag to turn off builtin functions]) | ||
3316 | +])# _LT_COMPILER_NO_RTTI | ||
3317 | + | ||
3318 | + | ||
3319 | +# _LT_CMD_GLOBAL_SYMBOLS | ||
3320 | +# ---------------------- | ||
3321 | +m4_defun([_LT_CMD_GLOBAL_SYMBOLS], | ||
3322 | +[AC_REQUIRE([AC_CANONICAL_HOST])dnl | ||
3323 | +AC_REQUIRE([AC_PROG_CC])dnl | ||
3324 | +AC_REQUIRE([LT_PATH_NM])dnl | ||
3325 | +AC_REQUIRE([LT_PATH_LD])dnl | ||
3326 | +m4_require([_LT_DECL_SED])dnl | ||
3327 | +m4_require([_LT_DECL_EGREP])dnl | ||
3328 | +m4_require([_LT_TAG_COMPILER])dnl | ||
3329 | + | ||
3330 | +# Check for command to grab the raw symbol name followed by C symbol from nm. | ||
3331 | +AC_MSG_CHECKING([command to parse $NM output from $compiler object]) | ||
3332 | +AC_CACHE_VAL([lt_cv_sys_global_symbol_pipe], | ||
3333 | +[ | ||
3334 | +# These are sane defaults that work on at least a few old systems. | ||
3335 | +# [They come from Ultrix. What could be older than Ultrix?!! ;)] | ||
3336 | + | ||
3337 | +# Character class describing NM global symbol codes. | ||
3338 | +symcode='[[BCDEGRST]]' | ||
3339 | + | ||
3340 | +# Regexp to match symbols that can be accessed directly from C. | ||
3341 | +sympat='\([[_A-Za-z]][[_A-Za-z0-9]]*\)' | ||
3342 | + | ||
3343 | +# Define system-specific variables. | ||
3344 | +case $host_os in | ||
3345 | +aix*) | ||
3346 | + symcode='[[BCDT]]' | ||
3347 | + ;; | ||
3348 | +cygwin* | mingw* | pw32* | cegcc*) | ||
3349 | + symcode='[[ABCDGISTW]]' | ||
3350 | + ;; | ||
3351 | +hpux*) | ||
3352 | + if test "$host_cpu" = ia64; then | ||
3353 | + symcode='[[ABCDEGRST]]' | ||
3354 | + fi | ||
3355 | + ;; | ||
3356 | +irix* | nonstopux*) | ||
3357 | + symcode='[[BCDEGRST]]' | ||
3358 | + ;; | ||
3359 | +osf*) | ||
3360 | + symcode='[[BCDEGQRST]]' | ||
3361 | + ;; | ||
3362 | +solaris*) | ||
3363 | + symcode='[[BDRT]]' | ||
3364 | + ;; | ||
3365 | +sco3.2v5*) | ||
3366 | + symcode='[[DT]]' | ||
3367 | + ;; | ||
3368 | +sysv4.2uw2*) | ||
3369 | + symcode='[[DT]]' | ||
3370 | + ;; | ||
3371 | +sysv5* | sco5v6* | unixware* | OpenUNIX*) | ||
3372 | + symcode='[[ABDT]]' | ||
3373 | + ;; | ||
3374 | +sysv4) | ||
3375 | + symcode='[[DFNSTU]]' | ||
3376 | + ;; | ||
3377 | +esac | ||
3378 | + | ||
3379 | +# If we're using GNU nm, then use its standard symbol codes. | ||
3380 | +case `$NM -V 2>&1` in | ||
3381 | +*GNU* | *'with BFD'*) | ||
3382 | + symcode='[[ABCDGIRSTW]]' ;; | ||
3383 | +esac | ||
3384 | + | ||
3385 | +# Transform an extracted symbol line into a proper C declaration. | ||
3386 | +# Some systems (esp. on ia64) link data and code symbols differently, | ||
3387 | +# so use this general approach. | ||
3388 | +lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'" | ||
3389 | + | ||
3390 | +# Transform an extracted symbol line into symbol name and symbol address | ||
3391 | +lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([[^ ]]*\) $/ {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([[^ ]]*\) \([[^ ]]*\)$/ {\"\2\", (void *) \&\2},/p'" | ||
3392 | +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'" | ||
3393 | + | ||
3394 | +# Handle CRLF in mingw tool chain | ||
3395 | +opt_cr= | ||
3396 | +case $build_os in | ||
3397 | +mingw*) | ||
3398 | + opt_cr=`$ECHO 'x\{0,1\}' | tr x '\015'` # option cr in regexp | ||
3399 | + ;; | ||
3400 | +esac | ||
3401 | + | ||
3402 | +# Try without a prefix underscore, then with it. | ||
3403 | +for ac_symprfx in "" "_"; do | ||
3404 | + | ||
3405 | + # Transform symcode, sympat, and symprfx into a raw symbol and a C symbol. | ||
3406 | + symxfrm="\\1 $ac_symprfx\\2 \\2" | ||
3407 | + | ||
3408 | + # Write the raw and C identifiers. | ||
3409 | + if test "$lt_cv_nm_interface" = "MS dumpbin"; then | ||
3410 | + # Fake it for dumpbin and say T for any non-static function | ||
3411 | + # and D for any global variable. | ||
3412 | + # Also find C++ and __fastcall symbols from MSVC++, | ||
3413 | + # which start with @ or ?. | ||
3414 | + lt_cv_sys_global_symbol_pipe="$AWK ['"\ | ||
3415 | +" {last_section=section; section=\$ 3};"\ | ||
3416 | +" /Section length .*#relocs.*(pick any)/{hide[last_section]=1};"\ | ||
3417 | +" \$ 0!~/External *\|/{next};"\ | ||
3418 | +" / 0+ UNDEF /{next}; / UNDEF \([^|]\)*()/{next};"\ | ||
3419 | +" {if(hide[section]) next};"\ | ||
3420 | +" {f=0}; \$ 0~/\(\).*\|/{f=1}; {printf f ? \"T \" : \"D \"};"\ | ||
3421 | +" {split(\$ 0, a, /\||\r/); split(a[2], s)};"\ | ||
3422 | +" s[1]~/^[@?]/{print s[1], s[1]; next};"\ | ||
3423 | +" s[1]~prfx {split(s[1],t,\"@\"); print t[1], substr(t[1],length(prfx))}"\ | ||
3424 | +" ' prfx=^$ac_symprfx]" | ||
3425 | + else | ||
3426 | + lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[[ ]]\($symcode$symcode*\)[[ ]][[ ]]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'" | ||
3427 | + fi | ||
3428 | + | ||
3429 | + # Check to see that the pipe works correctly. | ||
3430 | + pipe_works=no | ||
3431 | + | ||
3432 | + rm -f conftest* | ||
3433 | + cat > conftest.$ac_ext <<_LT_EOF | ||
3434 | +#ifdef __cplusplus | ||
3435 | +extern "C" { | ||
3436 | +#endif | ||
3437 | +char nm_test_var; | ||
3438 | +void nm_test_func(void); | ||
3439 | +void nm_test_func(void){} | ||
3440 | +#ifdef __cplusplus | ||
3441 | +} | ||
3442 | +#endif | ||
3443 | +int main(){nm_test_var='a';nm_test_func();return(0);} | ||
3444 | +_LT_EOF | ||
3445 | + | ||
3446 | + if AC_TRY_EVAL(ac_compile); then | ||
3447 | + # Now try to grab the symbols. | ||
3448 | + nlist=conftest.nm | ||
3449 | + if AC_TRY_EVAL(NM conftest.$ac_objext \| $lt_cv_sys_global_symbol_pipe \> $nlist) && test -s "$nlist"; then | ||
3450 | + # Try sorting and uniquifying the output. | ||
3451 | + if sort "$nlist" | uniq > "$nlist"T; then | ||
3452 | + mv -f "$nlist"T "$nlist" | ||
3453 | + else | ||
3454 | + rm -f "$nlist"T | ||
3455 | + fi | ||
3456 | + | ||
3457 | + # Make sure that we snagged all the symbols we need. | ||
3458 | + if $GREP ' nm_test_var$' "$nlist" >/dev/null; then | ||
3459 | + if $GREP ' nm_test_func$' "$nlist" >/dev/null; then | ||
3460 | + cat <<_LT_EOF > conftest.$ac_ext | ||
3461 | +#ifdef __cplusplus | ||
3462 | +extern "C" { | ||
3463 | +#endif | ||
3464 | + | ||
3465 | +_LT_EOF | ||
3466 | + # Now generate the symbol file. | ||
3467 | + eval "$lt_cv_sys_global_symbol_to_cdecl"' < "$nlist" | $GREP -v main >> conftest.$ac_ext' | ||
3468 | + | ||
3469 | + cat <<_LT_EOF >> conftest.$ac_ext | ||
3470 | + | ||
3471 | +/* The mapping between symbol names and symbols. */ | ||
3472 | +const struct { | ||
3473 | + const char *name; | ||
3474 | + void *address; | ||
3475 | +} | ||
3476 | +lt__PROGRAM__LTX_preloaded_symbols[[]] = | ||
3477 | +{ | ||
3478 | + { "@PROGRAM@", (void *) 0 }, | ||
3479 | +_LT_EOF | ||
3480 | + $SED "s/^$symcode$symcode* \(.*\) \(.*\)$/ {\"\2\", (void *) \&\2},/" < "$nlist" | $GREP -v main >> conftest.$ac_ext | ||
3481 | + cat <<\_LT_EOF >> conftest.$ac_ext | ||
3482 | + {0, (void *) 0} | ||
3483 | +}; | ||
3484 | + | ||
3485 | +/* This works around a problem in FreeBSD linker */ | ||
3486 | +#ifdef FREEBSD_WORKAROUND | ||
3487 | +static const void *lt_preloaded_setup() { | ||
3488 | + return lt__PROGRAM__LTX_preloaded_symbols; | ||
3489 | +} | ||
3490 | +#endif | ||
3491 | + | ||
3492 | +#ifdef __cplusplus | ||
3493 | +} | ||
3494 | +#endif | ||
3495 | +_LT_EOF | ||
3496 | + # Now try linking the two files. | ||
3497 | + mv conftest.$ac_objext conftstm.$ac_objext | ||
3498 | + lt_save_LIBS="$LIBS" | ||
3499 | + lt_save_CFLAGS="$CFLAGS" | ||
3500 | + LIBS="conftstm.$ac_objext" | ||
3501 | + CFLAGS="$CFLAGS$_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)" | ||
3502 | + if AC_TRY_EVAL(ac_link) && test -s conftest${ac_exeext}; then | ||
3503 | + pipe_works=yes | ||
3504 | + fi | ||
3505 | + LIBS="$lt_save_LIBS" | ||
3506 | + CFLAGS="$lt_save_CFLAGS" | ||
3507 | + else | ||
3508 | + echo "cannot find nm_test_func in $nlist" >&AS_MESSAGE_LOG_FD | ||
3509 | + fi | ||
3510 | + else | ||
3511 | + echo "cannot find nm_test_var in $nlist" >&AS_MESSAGE_LOG_FD | ||
3512 | + fi | ||
3513 | + else | ||
3514 | + echo "cannot run $lt_cv_sys_global_symbol_pipe" >&AS_MESSAGE_LOG_FD | ||
3515 | + fi | ||
3516 | + else | ||
3517 | + echo "$progname: failed program was:" >&AS_MESSAGE_LOG_FD | ||
3518 | + cat conftest.$ac_ext >&5 | ||
3519 | + fi | ||
3520 | + rm -rf conftest* conftst* | ||
3521 | + | ||
3522 | + # Do not use the global_symbol_pipe unless it works. | ||
3523 | + if test "$pipe_works" = yes; then | ||
3524 | + break | ||
3525 | + else | ||
3526 | + lt_cv_sys_global_symbol_pipe= | ||
3527 | + fi | ||
3528 | +done | ||
3529 | +]) | ||
3530 | +if test -z "$lt_cv_sys_global_symbol_pipe"; then | ||
3531 | + lt_cv_sys_global_symbol_to_cdecl= | ||
3532 | +fi | ||
3533 | +if test -z "$lt_cv_sys_global_symbol_pipe$lt_cv_sys_global_symbol_to_cdecl"; then | ||
3534 | + AC_MSG_RESULT(failed) | ||
3535 | +else | ||
3536 | + AC_MSG_RESULT(ok) | ||
3537 | +fi | ||
3538 | + | ||
3539 | +_LT_DECL([global_symbol_pipe], [lt_cv_sys_global_symbol_pipe], [1], | ||
3540 | + [Take the output of nm and produce a listing of raw symbols and C names]) | ||
3541 | +_LT_DECL([global_symbol_to_cdecl], [lt_cv_sys_global_symbol_to_cdecl], [1], | ||
3542 | + [Transform the output of nm in a proper C declaration]) | ||
3543 | +_LT_DECL([global_symbol_to_c_name_address], | ||
3544 | + [lt_cv_sys_global_symbol_to_c_name_address], [1], | ||
3545 | + [Transform the output of nm in a C name address pair]) | ||
3546 | +_LT_DECL([global_symbol_to_c_name_address_lib_prefix], | ||
3547 | + [lt_cv_sys_global_symbol_to_c_name_address_lib_prefix], [1], | ||
3548 | + [Transform the output of nm in a C name address pair when lib prefix is needed]) | ||
3549 | +]) # _LT_CMD_GLOBAL_SYMBOLS | ||
3550 | + | ||
3551 | + | ||
3552 | +# _LT_COMPILER_PIC([TAGNAME]) | ||
3553 | +# --------------------------- | ||
3554 | +m4_defun([_LT_COMPILER_PIC], | ||
3555 | +[m4_require([_LT_TAG_COMPILER])dnl | ||
3556 | +_LT_TAGVAR(lt_prog_compiler_wl, $1)= | ||
3557 | +_LT_TAGVAR(lt_prog_compiler_pic, $1)= | ||
3558 | +_LT_TAGVAR(lt_prog_compiler_static, $1)= | ||
3559 | + | ||
3560 | +AC_MSG_CHECKING([for $compiler option to produce PIC]) | ||
3561 | +m4_if([$1], [CXX], [ | ||
3562 | + # C++ specific cases for pic, static, wl, etc. | ||
3563 | + if test "$GXX" = yes; then | ||
3564 | + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' | ||
3565 | + _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' | ||
3566 | + | ||
3567 | + case $host_os in | ||
3568 | + aix*) | ||
3569 | + # All AIX code is PIC. | ||
3570 | + if test "$host_cpu" = ia64; then | ||
3571 | + # AIX 5 now supports IA64 processor | ||
3572 | + _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' | ||
3573 | + fi | ||
3574 | + ;; | ||
3575 | + | ||
3576 | + amigaos*) | ||
3577 | + case $host_cpu in | ||
3578 | + powerpc) | ||
3579 | + # see comment about AmigaOS4 .so support | ||
3580 | + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' | ||
3581 | + ;; | ||
3582 | + m68k) | ||
3583 | + # FIXME: we need at least 68020 code to build shared libraries, but | ||
3584 | + # adding the `-m68020' flag to GCC prevents building anything better, | ||
3585 | + # like `-m68040'. | ||
3586 | + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-m68020 -resident32 -malways-restore-a4' | ||
3587 | + ;; | ||
3588 | + esac | ||
3589 | + ;; | ||
3590 | + | ||
3591 | + beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) | ||
3592 | + # PIC is the default for these OSes. | ||
3593 | + ;; | ||
3594 | + mingw* | cygwin* | os2* | pw32* | cegcc*) | ||
3595 | + # This hack is so that the source file can tell whether it is being | ||
3596 | + # built for inclusion in a dll (and should export symbols for example). | ||
3597 | + # Although the cygwin gcc ignores -fPIC, still need this for old-style | ||
3598 | + # (--disable-auto-import) libraries | ||
3599 | + m4_if([$1], [GCJ], [], | ||
3600 | + [_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT']) | ||
3601 | + ;; | ||
3602 | + darwin* | rhapsody*) | ||
3603 | + # PIC is the default on this platform | ||
3604 | + # Common symbols not allowed in MH_DYLIB files | ||
3605 | + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common' | ||
3606 | + ;; | ||
3607 | + *djgpp*) | ||
3608 | + # DJGPP does not support shared libraries at all | ||
3609 | + _LT_TAGVAR(lt_prog_compiler_pic, $1)= | ||
3610 | + ;; | ||
3611 | + interix[[3-9]]*) | ||
3612 | + # Interix 3.x gcc -fpic/-fPIC options generate broken code. | ||
3613 | + # Instead, we relocate shared libraries at runtime. | ||
3614 | + ;; | ||
3615 | + sysv4*MP*) | ||
3616 | + if test -d /usr/nec; then | ||
3617 | + _LT_TAGVAR(lt_prog_compiler_pic, $1)=-Kconform_pic | ||
3618 | + fi | ||
3619 | + ;; | ||
3620 | + hpux*) | ||
3621 | + # PIC is the default for 64-bit PA HP-UX, but not for 32-bit | ||
3622 | + # PA HP-UX. On IA64 HP-UX, PIC is the default but the pic flag | ||
3623 | + # sets the default TLS model and affects inlining. | ||
3624 | + case $host_cpu in | ||
3625 | + hppa*64*) | ||
3626 | + ;; | ||
3627 | + *) | ||
3628 | + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' | ||
3629 | + ;; | ||
3630 | + esac | ||
3631 | + ;; | ||
3632 | + *qnx* | *nto*) | ||
3633 | + # QNX uses GNU C++, but need to define -shared option too, otherwise | ||
3634 | + # it will coredump. | ||
3635 | + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared' | ||
3636 | + ;; | ||
3637 | + *) | ||
3638 | + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' | ||
3639 | + ;; | ||
3640 | + esac | ||
3641 | + else | ||
3642 | + case $host_os in | ||
3643 | + aix[[4-9]]*) | ||
3644 | + # All AIX code is PIC. | ||
3645 | + if test "$host_cpu" = ia64; then | ||
3646 | + # AIX 5 now supports IA64 processor | ||
3647 | + _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' | ||
3648 | + else | ||
3649 | + _LT_TAGVAR(lt_prog_compiler_static, $1)='-bnso -bI:/lib/syscalls.exp' | ||
3650 | + fi | ||
3651 | + ;; | ||
3652 | + chorus*) | ||
3653 | + case $cc_basename in | ||
3654 | + cxch68*) | ||
3655 | + # Green Hills C++ Compiler | ||
3656 | + # _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" | ||
3657 | + ;; | ||
3658 | + esac | ||
3659 | + ;; | ||
3660 | + dgux*) | ||
3661 | + case $cc_basename in | ||
3662 | + ec++*) | ||
3663 | + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' | ||
3664 | + ;; | ||
3665 | + ghcx*) | ||
3666 | + # Green Hills C++ Compiler | ||
3667 | + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic' | ||
3668 | + ;; | ||
3669 | + *) | ||
3670 | + ;; | ||
3671 | + esac | ||
3672 | + ;; | ||
3673 | + freebsd* | dragonfly*) | ||
3674 | + # FreeBSD uses GNU C++ | ||
3675 | + ;; | ||
3676 | + hpux9* | hpux10* | hpux11*) | ||
3677 | + case $cc_basename in | ||
3678 | + CC*) | ||
3679 | + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' | ||
3680 | + _LT_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive' | ||
3681 | + if test "$host_cpu" != ia64; then | ||
3682 | + _LT_TAGVAR(lt_prog_compiler_pic, $1)='+Z' | ||
3683 | + fi | ||
3684 | + ;; | ||
3685 | + aCC*) | ||
3686 | + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' | ||
3687 | + _LT_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive' | ||
3688 | + case $host_cpu in | ||
3689 | + hppa*64*|ia64*) | ||
3690 | + # +Z the default | ||
3691 | + ;; | ||
3692 | + *) | ||
3693 | + _LT_TAGVAR(lt_prog_compiler_pic, $1)='+Z' | ||
3694 | + ;; | ||
3695 | + esac | ||
3696 | + ;; | ||
3697 | + *) | ||
3698 | + ;; | ||
3699 | + esac | ||
3700 | + ;; | ||
3701 | + interix*) | ||
3702 | + # This is c89, which is MS Visual C++ (no shared libs) | ||
3703 | + # Anyone wants to do a port? | ||
3704 | + ;; | ||
3705 | + irix5* | irix6* | nonstopux*) | ||
3706 | + case $cc_basename in | ||
3707 | + CC*) | ||
3708 | + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' | ||
3709 | + _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' | ||
3710 | + # CC pic flag -KPIC is the default. | ||
3711 | + ;; | ||
3712 | + *) | ||
3713 | + ;; | ||
3714 | + esac | ||
3715 | + ;; | ||
3716 | + linux* | k*bsd*-gnu) | ||
3717 | + case $cc_basename in | ||
3718 | + KCC*) | ||
3719 | + # KAI C++ Compiler | ||
3720 | + _LT_TAGVAR(lt_prog_compiler_wl, $1)='--backend -Wl,' | ||
3721 | + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' | ||
3722 | + ;; | ||
3723 | + ecpc* ) | ||
3724 | + # old Intel C++ for x86_64 which still supported -KPIC. | ||
3725 | + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' | ||
3726 | + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' | ||
3727 | + _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' | ||
3728 | + ;; | ||
3729 | + icpc* ) | ||
3730 | + # Intel C++, used to be incompatible with GCC. | ||
3731 | + # ICC 10 doesn't accept -KPIC any more. | ||
3732 | + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' | ||
3733 | + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' | ||
3734 | + _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' | ||
3735 | + ;; | ||
3736 | + pgCC* | pgcpp*) | ||
3737 | + # Portland Group C++ compiler | ||
3738 | + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' | ||
3739 | + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fpic' | ||
3740 | + _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' | ||
3741 | + ;; | ||
3742 | + cxx*) | ||
3743 | + # Compaq C++ | ||
3744 | + # Make sure the PIC flag is empty. It appears that all Alpha | ||
3745 | + # Linux and Compaq Tru64 Unix objects are PIC. | ||
3746 | + _LT_TAGVAR(lt_prog_compiler_pic, $1)= | ||
3747 | + _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' | ||
3748 | + ;; | ||
3749 | + xlc* | xlC*) | ||
3750 | + # IBM XL 8.0 on PPC | ||
3751 | + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' | ||
3752 | + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-qpic' | ||
3753 | + _LT_TAGVAR(lt_prog_compiler_static, $1)='-qstaticlink' | ||
3754 | + ;; | ||
3755 | + *) | ||
3756 | + case `$CC -V 2>&1 | sed 5q` in | ||
3757 | + *Sun\ C*) | ||
3758 | + # Sun C++ 5.9 | ||
3759 | + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' | ||
3760 | + _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' | ||
3761 | + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ' | ||
3762 | + ;; | ||
3763 | + esac | ||
3764 | + ;; | ||
3765 | + esac | ||
3766 | + ;; | ||
3767 | + lynxos*) | ||
3768 | + ;; | ||
3769 | + m88k*) | ||
3770 | + ;; | ||
3771 | + mvs*) | ||
3772 | + case $cc_basename in | ||
3773 | + cxx*) | ||
3774 | + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-W c,exportall' | ||
3775 | + ;; | ||
3776 | + *) | ||
3777 | + ;; | ||
3778 | + esac | ||
3779 | + ;; | ||
3780 | + netbsd*) | ||
3781 | + ;; | ||
3782 | + *qnx* | *nto*) | ||
3783 | + # QNX uses GNU C++, but need to define -shared option too, otherwise | ||
3784 | + # it will coredump. | ||
3785 | + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared' | ||
3786 | + ;; | ||
3787 | + osf3* | osf4* | osf5*) | ||
3788 | + case $cc_basename in | ||
3789 | + KCC*) | ||
3790 | + _LT_TAGVAR(lt_prog_compiler_wl, $1)='--backend -Wl,' | ||
3791 | + ;; | ||
3792 | + RCC*) | ||
3793 | + # Rational C++ 2.4.1 | ||
3794 | + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic' | ||
3795 | + ;; | ||
3796 | + cxx*) | ||
3797 | + # Digital/Compaq C++ | ||
3798 | + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' | ||
3799 | + # Make sure the PIC flag is empty. It appears that all Alpha | ||
3800 | + # Linux and Compaq Tru64 Unix objects are PIC. | ||
3801 | + _LT_TAGVAR(lt_prog_compiler_pic, $1)= | ||
3802 | + _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' | ||
3803 | + ;; | ||
3804 | + *) | ||
3805 | + ;; | ||
3806 | + esac | ||
3807 | + ;; | ||
3808 | + psos*) | ||
3809 | + ;; | ||
3810 | + solaris*) | ||
3811 | + case $cc_basename in | ||
3812 | + CC*) | ||
3813 | + # Sun C++ 4.2, 5.x and Centerline C++ | ||
3814 | + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' | ||
3815 | + _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' | ||
3816 | + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ' | ||
3817 | + ;; | ||
3818 | + gcx*) | ||
3819 | + # Green Hills C++ Compiler | ||
3820 | + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-PIC' | ||
3821 | + ;; | ||
3822 | + *) | ||
3823 | + ;; | ||
3824 | + esac | ||
3825 | + ;; | ||
3826 | + sunos4*) | ||
3827 | + case $cc_basename in | ||
3828 | + CC*) | ||
3829 | + # Sun C++ 4.x | ||
3830 | + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic' | ||
3831 | + _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' | ||
3832 | + ;; | ||
3833 | + lcc*) | ||
3834 | + # Lucid | ||
3835 | + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic' | ||
3836 | + ;; | ||
3837 | + *) | ||
3838 | + ;; | ||
3839 | + esac | ||
3840 | + ;; | ||
3841 | + sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) | ||
3842 | + case $cc_basename in | ||
3843 | + CC*) | ||
3844 | + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' | ||
3845 | + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' | ||
3846 | + _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' | ||
3847 | + ;; | ||
3848 | + esac | ||
3849 | + ;; | ||
3850 | + tandem*) | ||
3851 | + case $cc_basename in | ||
3852 | + NCC*) | ||
3853 | + # NonStop-UX NCC 3.20 | ||
3854 | + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' | ||
3855 | + ;; | ||
3856 | + *) | ||
3857 | + ;; | ||
3858 | + esac | ||
3859 | + ;; | ||
3860 | + vxworks*) | ||
3861 | + ;; | ||
3862 | + *) | ||
3863 | + _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no | ||
3864 | + ;; | ||
3865 | + esac | ||
3866 | + fi | ||
3867 | +], | ||
3868 | +[ | ||
3869 | + if test "$GCC" = yes; then | ||
3870 | + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' | ||
3871 | + _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' | ||
3872 | + | ||
3873 | + case $host_os in | ||
3874 | + aix*) | ||
3875 | + # All AIX code is PIC. | ||
3876 | + if test "$host_cpu" = ia64; then | ||
3877 | + # AIX 5 now supports IA64 processor | ||
3878 | + _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' | ||
3879 | + fi | ||
3880 | + ;; | ||
3881 | + | ||
3882 | + amigaos*) | ||
3883 | + case $host_cpu in | ||
3884 | + powerpc) | ||
3885 | + # see comment about AmigaOS4 .so support | ||
3886 | + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' | ||
3887 | + ;; | ||
3888 | + m68k) | ||
3889 | + # FIXME: we need at least 68020 code to build shared libraries, but | ||
3890 | + # adding the `-m68020' flag to GCC prevents building anything better, | ||
3891 | + # like `-m68040'. | ||
3892 | + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-m68020 -resident32 -malways-restore-a4' | ||
3893 | + ;; | ||
3894 | + esac | ||
3895 | + ;; | ||
3896 | + | ||
3897 | + beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*) | ||
3898 | + # PIC is the default for these OSes. | ||
3899 | + ;; | ||
3900 | + | ||
3901 | + mingw* | cygwin* | pw32* | os2* | cegcc*) | ||
3902 | + # This hack is so that the source file can tell whether it is being | ||
3903 | + # built for inclusion in a dll (and should export symbols for example). | ||
3904 | + # Although the cygwin gcc ignores -fPIC, still need this for old-style | ||
3905 | + # (--disable-auto-import) libraries | ||
3906 | + m4_if([$1], [GCJ], [], | ||
3907 | + [_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT']) | ||
3908 | + ;; | ||
3909 | + | ||
3910 | + darwin* | rhapsody*) | ||
3911 | + # PIC is the default on this platform | ||
3912 | + # Common symbols not allowed in MH_DYLIB files | ||
3913 | + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common' | ||
3914 | + ;; | ||
3915 | + | ||
3916 | + hpux*) | ||
3917 | + # PIC is the default for 64-bit PA HP-UX, but not for 32-bit | ||
3918 | + # PA HP-UX. On IA64 HP-UX, PIC is the default but the pic flag | ||
3919 | + # sets the default TLS model and affects inlining. | ||
3920 | + case $host_cpu in | ||
3921 | + hppa*64*) | ||
3922 | + # +Z the default | ||
3923 | + ;; | ||
3924 | + *) | ||
3925 | + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' | ||
3926 | + ;; | ||
3927 | + esac | ||
3928 | + ;; | ||
3929 | + | ||
3930 | + interix[[3-9]]*) | ||
3931 | + # Interix 3.x gcc -fpic/-fPIC options generate broken code. | ||
3932 | + # Instead, we relocate shared libraries at runtime. | ||
3933 | + ;; | ||
3934 | + | ||
3935 | + msdosdjgpp*) | ||
3936 | + # Just because we use GCC doesn't mean we suddenly get shared libraries | ||
3937 | + # on systems that don't support them. | ||
3938 | + _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no | ||
3939 | + enable_shared=no | ||
3940 | + ;; | ||
3941 | + | ||
3942 | + *nto* | *qnx*) | ||
3943 | + # QNX uses GNU C++, but need to define -shared option too, otherwise | ||
3944 | + # it will coredump. | ||
3945 | + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared' | ||
3946 | + ;; | ||
3947 | + | ||
3948 | + sysv4*MP*) | ||
3949 | + if test -d /usr/nec; then | ||
3950 | + _LT_TAGVAR(lt_prog_compiler_pic, $1)=-Kconform_pic | ||
3951 | + fi | ||
3952 | + ;; | ||
3953 | + | ||
3954 | + *) | ||
3955 | + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' | ||
3956 | + ;; | ||
3957 | + esac | ||
3958 | + else | ||
3959 | + # PORTME Check for flag to pass linker flags through the system compiler. | ||
3960 | + case $host_os in | ||
3961 | + aix*) | ||
3962 | + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' | ||
3963 | + if test "$host_cpu" = ia64; then | ||
3964 | + # AIX 5 now supports IA64 processor | ||
3965 | + _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' | ||
3966 | + else | ||
3967 | + _LT_TAGVAR(lt_prog_compiler_static, $1)='-bnso -bI:/lib/syscalls.exp' | ||
3968 | + fi | ||
3969 | + ;; | ||
3970 | + | ||
3971 | + mingw* | cygwin* | pw32* | os2* | cegcc*) | ||
3972 | + # This hack is so that the source file can tell whether it is being | ||
3973 | + # built for inclusion in a dll (and should export symbols for example). | ||
3974 | + m4_if([$1], [GCJ], [], | ||
3975 | + [_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT']) | ||
3976 | + ;; | ||
3977 | + | ||
3978 | + hpux9* | hpux10* | hpux11*) | ||
3979 | + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' | ||
3980 | + # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but | ||
3981 | + # not for PA HP-UX. | ||
3982 | + case $host_cpu in | ||
3983 | + hppa*64*|ia64*) | ||
3984 | + # +Z the default | ||
3985 | + ;; | ||
3986 | + *) | ||
3987 | + _LT_TAGVAR(lt_prog_compiler_pic, $1)='+Z' | ||
3988 | + ;; | ||
3989 | + esac | ||
3990 | + # Is there a better lt_prog_compiler_static that works with the bundled CC? | ||
3991 | + _LT_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive' | ||
3992 | + ;; | ||
3993 | + | ||
3994 | + irix5* | irix6* | nonstopux*) | ||
3995 | + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' | ||
3996 | + # PIC (with -KPIC) is the default. | ||
3997 | + _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' | ||
3998 | + ;; | ||
3999 | + | ||
4000 | + linux* | k*bsd*-gnu) | ||
4001 | + case $cc_basename in | ||
4002 | + # old Intel for x86_64 which still supported -KPIC. | ||
4003 | + ecc*) | ||
4004 | + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' | ||
4005 | + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' | ||
4006 | + _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' | ||
4007 | + ;; | ||
4008 | + # icc used to be incompatible with GCC. | ||
4009 | + # ICC 10 doesn't accept -KPIC any more. | ||
4010 | + icc* | ifort*) | ||
4011 | + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' | ||
4012 | + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC' | ||
4013 | + _LT_TAGVAR(lt_prog_compiler_static, $1)='-static' | ||
4014 | + ;; | ||
4015 | + # Lahey Fortran 8.1. | ||
4016 | + lf95*) | ||
4017 | + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' | ||
4018 | + _LT_TAGVAR(lt_prog_compiler_pic, $1)='--shared' | ||
4019 | + _LT_TAGVAR(lt_prog_compiler_static, $1)='--static' | ||
4020 | + ;; | ||
4021 | + pgcc* | pgf77* | pgf90* | pgf95*) | ||
4022 | + # Portland Group compilers (*not* the Pentium gcc compiler, | ||
4023 | + # which looks to be a dead project) | ||
4024 | + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' | ||
4025 | + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fpic' | ||
4026 | + _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' | ||
4027 | + ;; | ||
4028 | + ccc*) | ||
4029 | + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' | ||
4030 | + # All Alpha code is PIC. | ||
4031 | + _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' | ||
4032 | + ;; | ||
4033 | + xl*) | ||
4034 | + # IBM XL C 8.0/Fortran 10.1 on PPC | ||
4035 | + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' | ||
4036 | + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-qpic' | ||
4037 | + _LT_TAGVAR(lt_prog_compiler_static, $1)='-qstaticlink' | ||
4038 | + ;; | ||
4039 | + *) | ||
4040 | + case `$CC -V 2>&1 | sed 5q` in | ||
4041 | + *Sun\ C*) | ||
4042 | + # Sun C 5.9 | ||
4043 | + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' | ||
4044 | + _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' | ||
4045 | + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' | ||
4046 | + ;; | ||
4047 | + *Sun\ F*) | ||
4048 | + # Sun Fortran 8.3 passes all unrecognized flags to the linker | ||
4049 | + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' | ||
4050 | + _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' | ||
4051 | + _LT_TAGVAR(lt_prog_compiler_wl, $1)='' | ||
4052 | + ;; | ||
4053 | + esac | ||
4054 | + ;; | ||
4055 | + esac | ||
4056 | + ;; | ||
4057 | + | ||
4058 | + newsos6) | ||
4059 | + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' | ||
4060 | + _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' | ||
4061 | + ;; | ||
4062 | + | ||
4063 | + *nto* | *qnx*) | ||
4064 | + # QNX uses GNU C++, but need to define -shared option too, otherwise | ||
4065 | + # it will coredump. | ||
4066 | + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared' | ||
4067 | + ;; | ||
4068 | + | ||
4069 | + osf3* | osf4* | osf5*) | ||
4070 | + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' | ||
4071 | + # All OSF/1 code is PIC. | ||
4072 | + _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' | ||
4073 | + ;; | ||
4074 | + | ||
4075 | + rdos*) | ||
4076 | + _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared' | ||
4077 | + ;; | ||
4078 | + | ||
4079 | + solaris*) | ||
4080 | + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' | ||
4081 | + _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' | ||
4082 | + case $cc_basename in | ||
4083 | + f77* | f90* | f95*) | ||
4084 | + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ';; | ||
4085 | + *) | ||
4086 | + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,';; | ||
4087 | + esac | ||
4088 | + ;; | ||
4089 | + | ||
4090 | + sunos4*) | ||
4091 | + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ' | ||
4092 | + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-PIC' | ||
4093 | + _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' | ||
4094 | + ;; | ||
4095 | + | ||
4096 | + sysv4 | sysv4.2uw2* | sysv4.3*) | ||
4097 | + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' | ||
4098 | + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' | ||
4099 | + _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' | ||
4100 | + ;; | ||
4101 | + | ||
4102 | + sysv4*MP*) | ||
4103 | + if test -d /usr/nec ;then | ||
4104 | + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-Kconform_pic' | ||
4105 | + _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' | ||
4106 | + fi | ||
4107 | + ;; | ||
4108 | + | ||
4109 | + sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*) | ||
4110 | + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' | ||
4111 | + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC' | ||
4112 | + _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' | ||
4113 | + ;; | ||
4114 | + | ||
4115 | + unicos*) | ||
4116 | + _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,' | ||
4117 | + _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no | ||
4118 | + ;; | ||
4119 | + | ||
4120 | + uts4*) | ||
4121 | + _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic' | ||
4122 | + _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic' | ||
4123 | + ;; | ||
4124 | + | ||
4125 | + *) | ||
4126 | + _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no | ||
4127 | + ;; | ||
4128 | + esac | ||
4129 | + fi | ||
4130 | +]) | ||
4131 | +case $host_os in | ||
4132 | + # For platforms which do not support PIC, -DPIC is meaningless: | ||
4133 | + *djgpp*) | ||
4134 | + _LT_TAGVAR(lt_prog_compiler_pic, $1)= | ||
4135 | + ;; | ||
4136 | + *) | ||
4137 | + _LT_TAGVAR(lt_prog_compiler_pic, $1)="$_LT_TAGVAR(lt_prog_compiler_pic, $1)@&t@m4_if([$1],[],[ -DPIC],[m4_if([$1],[CXX],[ -DPIC],[])])" | ||
4138 | + ;; | ||
4139 | +esac | ||
4140 | +AC_MSG_RESULT([$_LT_TAGVAR(lt_prog_compiler_pic, $1)]) | ||
4141 | +_LT_TAGDECL([wl], [lt_prog_compiler_wl], [1], | ||
4142 | + [How to pass a linker flag through the compiler]) | ||
4143 | + | ||
4144 | +# | ||
4145 | +# Check to make sure the PIC flag actually works. | ||
4146 | +# | ||
4147 | +if test -n "$_LT_TAGVAR(lt_prog_compiler_pic, $1)"; then | ||
4148 | + _LT_COMPILER_OPTION([if $compiler PIC flag $_LT_TAGVAR(lt_prog_compiler_pic, $1) works], | ||
4149 | + [_LT_TAGVAR(lt_cv_prog_compiler_pic_works, $1)], | ||
4150 | + [$_LT_TAGVAR(lt_prog_compiler_pic, $1)@&t@m4_if([$1],[],[ -DPIC],[m4_if([$1],[CXX],[ -DPIC],[])])], [], | ||
4151 | + [case $_LT_TAGVAR(lt_prog_compiler_pic, $1) in | ||
4152 | + "" | " "*) ;; | ||
4153 | + *) _LT_TAGVAR(lt_prog_compiler_pic, $1)=" $_LT_TAGVAR(lt_prog_compiler_pic, $1)" ;; | ||
4154 | + esac], | ||
4155 | + [_LT_TAGVAR(lt_prog_compiler_pic, $1)= | ||
4156 | + _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no]) | ||
4157 | +fi | ||
4158 | +_LT_TAGDECL([pic_flag], [lt_prog_compiler_pic], [1], | ||
4159 | + [Additional compiler flags for building library objects]) | ||
4160 | + | ||
4161 | +# | ||
4162 | +# Check to make sure the static flag actually works. | ||
4163 | +# | ||
4164 | +wl=$_LT_TAGVAR(lt_prog_compiler_wl, $1) eval lt_tmp_static_flag=\"$_LT_TAGVAR(lt_prog_compiler_static, $1)\" | ||
4165 | +_LT_LINKER_OPTION([if $compiler static flag $lt_tmp_static_flag works], | ||
4166 | + _LT_TAGVAR(lt_cv_prog_compiler_static_works, $1), | ||
4167 | + $lt_tmp_static_flag, | ||
4168 | + [], | ||
4169 | + [_LT_TAGVAR(lt_prog_compiler_static, $1)=]) | ||
4170 | +_LT_TAGDECL([link_static_flag], [lt_prog_compiler_static], [1], | ||
4171 | + [Compiler flag to prevent dynamic linking]) | ||
4172 | +])# _LT_COMPILER_PIC | ||
4173 | + | ||
4174 | + | ||
4175 | +# _LT_LINKER_SHLIBS([TAGNAME]) | ||
4176 | +# ---------------------------- | ||
4177 | +# See if the linker supports building shared libraries. | ||
4178 | +m4_defun([_LT_LINKER_SHLIBS], | ||
4179 | +[AC_REQUIRE([LT_PATH_LD])dnl | ||
4180 | +AC_REQUIRE([LT_PATH_NM])dnl | ||
4181 | +m4_require([_LT_FILEUTILS_DEFAULTS])dnl | ||
4182 | +m4_require([_LT_DECL_EGREP])dnl | ||
4183 | +m4_require([_LT_DECL_SED])dnl | ||
4184 | +m4_require([_LT_CMD_GLOBAL_SYMBOLS])dnl | ||
4185 | +m4_require([_LT_TAG_COMPILER])dnl | ||
4186 | +AC_MSG_CHECKING([whether the $compiler linker ($LD) supports shared libraries]) | ||
4187 | +m4_if([$1], [CXX], [ | ||
4188 | + _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' | ||
4189 | + case $host_os in | ||
4190 | + aix[[4-9]]*) | ||
4191 | + # If we're using GNU nm, then we don't want the "-C" option. | ||
4192 | + # -C means demangle to AIX nm, but means don't demangle with GNU nm | ||
4193 | + if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then | ||
4194 | + _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' | ||
4195 | + else | ||
4196 | + _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' | ||
4197 | + fi | ||
4198 | + ;; | ||
4199 | + pw32*) | ||
4200 | + _LT_TAGVAR(export_symbols_cmds, $1)="$ltdll_cmds" | ||
4201 | + ;; | ||
4202 | + cygwin* | mingw* | cegcc*) | ||
4203 | + _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' | ||
4204 | + ;; | ||
4205 | + *) | ||
4206 | + _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' | ||
4207 | + ;; | ||
4208 | + esac | ||
4209 | + _LT_TAGVAR(exclude_expsyms, $1)=['_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*'] | ||
4210 | +], [ | ||
4211 | + runpath_var= | ||
4212 | + _LT_TAGVAR(allow_undefined_flag, $1)= | ||
4213 | + _LT_TAGVAR(always_export_symbols, $1)=no | ||
4214 | + _LT_TAGVAR(archive_cmds, $1)= | ||
4215 | + _LT_TAGVAR(archive_expsym_cmds, $1)= | ||
4216 | + _LT_TAGVAR(compiler_needs_object, $1)=no | ||
4217 | + _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no | ||
4218 | + _LT_TAGVAR(export_dynamic_flag_spec, $1)= | ||
4219 | + _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols' | ||
4220 | + _LT_TAGVAR(hardcode_automatic, $1)=no | ||
4221 | + _LT_TAGVAR(hardcode_direct, $1)=no | ||
4222 | + _LT_TAGVAR(hardcode_direct_absolute, $1)=no | ||
4223 | + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)= | ||
4224 | + _LT_TAGVAR(hardcode_libdir_flag_spec_ld, $1)= | ||
4225 | + _LT_TAGVAR(hardcode_libdir_separator, $1)= | ||
4226 | + _LT_TAGVAR(hardcode_minus_L, $1)=no | ||
4227 | + _LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported | ||
4228 | + _LT_TAGVAR(inherit_rpath, $1)=no | ||
4229 | + _LT_TAGVAR(link_all_deplibs, $1)=unknown | ||
4230 | + _LT_TAGVAR(module_cmds, $1)= | ||
4231 | + _LT_TAGVAR(module_expsym_cmds, $1)= | ||
4232 | + _LT_TAGVAR(old_archive_from_new_cmds, $1)= | ||
4233 | + _LT_TAGVAR(old_archive_from_expsyms_cmds, $1)= | ||
4234 | + _LT_TAGVAR(thread_safe_flag_spec, $1)= | ||
4235 | + _LT_TAGVAR(whole_archive_flag_spec, $1)= | ||
4236 | + # include_expsyms should be a list of space-separated symbols to be *always* | ||
4237 | + # included in the symbol list | ||
4238 | + _LT_TAGVAR(include_expsyms, $1)= | ||
4239 | + # exclude_expsyms can be an extended regexp of symbols to exclude | ||
4240 | + # it will be wrapped by ` (' and `)$', so one must not match beginning or | ||
4241 | + # end of line. Example: `a|bc|.*d.*' will exclude the symbols `a' and `bc', | ||
4242 | + # as well as any symbol that contains `d'. | ||
4243 | + _LT_TAGVAR(exclude_expsyms, $1)=['_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*'] | ||
4244 | + # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out | ||
4245 | + # platforms (ab)use it in PIC code, but their linkers get confused if | ||
4246 | + # the symbol is explicitly referenced. Since portable code cannot | ||
4247 | + # rely on this symbol name, it's probably fine to never include it in | ||
4248 | + # preloaded symbol tables. | ||
4249 | + # Exclude shared library initialization/finalization symbols. | ||
4250 | +dnl Note also adjust exclude_expsyms for C++ above. | ||
4251 | + extract_expsyms_cmds= | ||
4252 | + | ||
4253 | + case $host_os in | ||
4254 | + cygwin* | mingw* | pw32* | cegcc*) | ||
4255 | + # FIXME: the MSVC++ port hasn't been tested in a loooong time | ||
4256 | + # When not using gcc, we currently assume that we are using | ||
4257 | + # Microsoft Visual C++. | ||
4258 | + if test "$GCC" != yes; then | ||
4259 | + with_gnu_ld=no | ||
4260 | + fi | ||
4261 | + ;; | ||
4262 | + interix*) | ||
4263 | + # we just hope/assume this is gcc and not c89 (= MSVC++) | ||
4264 | + with_gnu_ld=yes | ||
4265 | + ;; | ||
4266 | + openbsd*) | ||
4267 | + with_gnu_ld=no | ||
4268 | + ;; | ||
4269 | + esac | ||
4270 | + | ||
4271 | + _LT_TAGVAR(ld_shlibs, $1)=yes | ||
4272 | + if test "$with_gnu_ld" = yes; then | ||
4273 | + # If archive_cmds runs LD, not CC, wlarc should be empty | ||
4274 | + wlarc='${wl}' | ||
4275 | + | ||
4276 | + # Set some defaults for GNU ld with shared library support. These | ||
4277 | + # are reset later if shared libraries are not supported. Putting them | ||
4278 | + # here allows them to be overridden if necessary. | ||
4279 | + runpath_var=LD_RUN_PATH | ||
4280 | + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' | ||
4281 | + _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' | ||
4282 | + # ancient GNU ld didn't support --whole-archive et. al. | ||
4283 | + if $LD --help 2>&1 | $GREP 'no-whole-archive' > /dev/null; then | ||
4284 | + _LT_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' | ||
4285 | + else | ||
4286 | + _LT_TAGVAR(whole_archive_flag_spec, $1)= | ||
4287 | + fi | ||
4288 | + supports_anon_versioning=no | ||
4289 | + case `$LD -v 2>&1` in | ||
4290 | + *\ [[01]].* | *\ 2.[[0-9]].* | *\ 2.10.*) ;; # catch versions < 2.11 | ||
4291 | + *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ... | ||
4292 | + *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ... | ||
4293 | + *\ 2.11.*) ;; # other 2.11 versions | ||
4294 | + *) supports_anon_versioning=yes ;; | ||
4295 | + esac | ||
4296 | + | ||
4297 | + # See if GNU ld supports shared libraries. | ||
4298 | + case $host_os in | ||
4299 | + aix[[3-9]]*) | ||
4300 | + # On AIX/PPC, the GNU linker is very broken | ||
4301 | + if test "$host_cpu" != ia64; then | ||
4302 | + _LT_TAGVAR(ld_shlibs, $1)=no | ||
4303 | + cat <<_LT_EOF 1>&2 | ||
4304 | + | ||
4305 | +*** Warning: the GNU linker, at least up to release 2.9.1, is reported | ||
4306 | +*** to be unable to reliably create shared libraries on AIX. | ||
4307 | +*** Therefore, libtool is disabling shared libraries support. If you | ||
4308 | +*** really care for shared libraries, you may want to modify your PATH | ||
4309 | +*** so that a non-GNU linker is found, and then restart. | ||
4310 | + | ||
4311 | +_LT_EOF | ||
4312 | + fi | ||
4313 | + ;; | ||
4314 | + | ||
4315 | + amigaos*) | ||
4316 | + case $host_cpu in | ||
4317 | + powerpc) | ||
4318 | + # see comment about AmigaOS4 .so support | ||
4319 | + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' | ||
4320 | + _LT_TAGVAR(archive_expsym_cmds, $1)='' | ||
4321 | + ;; | ||
4322 | + m68k) | ||
4323 | + _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)' | ||
4324 | + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' | ||
4325 | + _LT_TAGVAR(hardcode_minus_L, $1)=yes | ||
4326 | + ;; | ||
4327 | + esac | ||
4328 | + ;; | ||
4329 | + | ||
4330 | + beos*) | ||
4331 | + if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then | ||
4332 | + _LT_TAGVAR(allow_undefined_flag, $1)=unsupported | ||
4333 | + # Joseph Beckenbach <jrb3@best.com> says some releases of gcc | ||
4334 | + # support --undefined. This deserves some investigation. FIXME | ||
4335 | + _LT_TAGVAR(archive_cmds, $1)='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' | ||
4336 | + else | ||
4337 | + _LT_TAGVAR(ld_shlibs, $1)=no | ||
4338 | + fi | ||
4339 | + ;; | ||
4340 | + | ||
4341 | + cygwin* | mingw* | pw32* | cegcc*) | ||
4342 | + # _LT_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless, | ||
4343 | + # as there is no search path for DLLs. | ||
4344 | + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' | ||
4345 | + _LT_TAGVAR(allow_undefined_flag, $1)=unsupported | ||
4346 | + _LT_TAGVAR(always_export_symbols, $1)=no | ||
4347 | + _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes | ||
4348 | + _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' | ||
4349 | + | ||
4350 | + if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then | ||
4351 | + _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' | ||
4352 | + # If the export-symbols file already is a .def file (1st line | ||
4353 | + # is EXPORTS), use it as is; otherwise, prepend... | ||
4354 | + _LT_TAGVAR(archive_expsym_cmds, $1)='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then | ||
4355 | + cp $export_symbols $output_objdir/$soname.def; | ||
4356 | + else | ||
4357 | + echo EXPORTS > $output_objdir/$soname.def; | ||
4358 | + cat $export_symbols >> $output_objdir/$soname.def; | ||
4359 | + fi~ | ||
4360 | + $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib' | ||
4361 | + else | ||
4362 | + _LT_TAGVAR(ld_shlibs, $1)=no | ||
4363 | + fi | ||
4364 | + ;; | ||
4365 | + | ||
4366 | + interix[[3-9]]*) | ||
4367 | + _LT_TAGVAR(hardcode_direct, $1)=no | ||
4368 | + _LT_TAGVAR(hardcode_shlibpath_var, $1)=no | ||
4369 | + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' | ||
4370 | + _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' | ||
4371 | + # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. | ||
4372 | + # Instead, shared libraries are loaded at an image base (0x10000000 by | ||
4373 | + # default) and relocated if they conflict, which is a slow very memory | ||
4374 | + # consuming and fragmenting process. To avoid this, we pick a random, | ||
4375 | + # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link | ||
4376 | + # time. Moving up from 0x10000000 also allows more sbrk(2) space. | ||
4377 | + _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' | ||
4378 | + _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' | ||
4379 | + ;; | ||
4380 | + | ||
4381 | + gnu* | linux* | tpf* | k*bsd*-gnu) | ||
4382 | + tmp_diet=no | ||
4383 | + if test "$host_os" = linux-dietlibc; then | ||
4384 | + case $cc_basename in | ||
4385 | + diet\ *) tmp_diet=yes;; # linux-dietlibc with static linking (!diet-dyn) | ||
4386 | + esac | ||
4387 | + fi | ||
4388 | + if $LD --help 2>&1 | $EGREP ': supported targets:.* elf' > /dev/null \ | ||
4389 | + && test "$tmp_diet" = no | ||
4390 | + then | ||
4391 | + tmp_addflag= | ||
4392 | + tmp_sharedflag='-shared' | ||
4393 | + case $cc_basename,$host_cpu in | ||
4394 | + pgcc*) # Portland Group C compiler | ||
4395 | + _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' | ||
4396 | + tmp_addflag=' $pic_flag' | ||
4397 | + ;; | ||
4398 | + pgf77* | pgf90* | pgf95*) # Portland Group f77 and f90 compilers | ||
4399 | + _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' | ||
4400 | + tmp_addflag=' $pic_flag -Mnomain' ;; | ||
4401 | + ecc*,ia64* | icc*,ia64*) # Intel C compiler on ia64 | ||
4402 | + tmp_addflag=' -i_dynamic' ;; | ||
4403 | + efc*,ia64* | ifort*,ia64*) # Intel Fortran compiler on ia64 | ||
4404 | + tmp_addflag=' -i_dynamic -nofor_main' ;; | ||
4405 | + ifc* | ifort*) # Intel Fortran compiler | ||
4406 | + tmp_addflag=' -nofor_main' ;; | ||
4407 | + lf95*) # Lahey Fortran 8.1 | ||
4408 | + _LT_TAGVAR(whole_archive_flag_spec, $1)= | ||
4409 | + tmp_sharedflag='--shared' ;; | ||
4410 | + xl[[cC]]*) # IBM XL C 8.0 on PPC (deal with xlf below) | ||
4411 | + tmp_sharedflag='-qmkshrobj' | ||
4412 | + tmp_addflag= ;; | ||
4413 | + esac | ||
4414 | + case `$CC -V 2>&1 | sed 5q` in | ||
4415 | + *Sun\ C*) # Sun C 5.9 | ||
4416 | + _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' | ||
4417 | + _LT_TAGVAR(compiler_needs_object, $1)=yes | ||
4418 | + tmp_sharedflag='-G' ;; | ||
4419 | + *Sun\ F*) # Sun Fortran 8.3 | ||
4420 | + tmp_sharedflag='-G' ;; | ||
4421 | + esac | ||
4422 | + _LT_TAGVAR(archive_cmds, $1)='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' | ||
4423 | + | ||
4424 | + if test "x$supports_anon_versioning" = xyes; then | ||
4425 | + _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~ | ||
4426 | + cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ | ||
4427 | + echo "local: *; };" >> $output_objdir/$libname.ver~ | ||
4428 | + $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib' | ||
4429 | + fi | ||
4430 | + | ||
4431 | + case $cc_basename in | ||
4432 | + xlf*) | ||
4433 | + # IBM XL Fortran 10.1 on PPC cannot create shared libs itself | ||
4434 | + _LT_TAGVAR(whole_archive_flag_spec, $1)='--whole-archive$convenience --no-whole-archive' | ||
4435 | + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)= | ||
4436 | + _LT_TAGVAR(hardcode_libdir_flag_spec_ld, $1)='-rpath $libdir' | ||
4437 | + _LT_TAGVAR(archive_cmds, $1)='$LD -shared $libobjs $deplibs $compiler_flags -soname $soname -o $lib' | ||
4438 | + if test "x$supports_anon_versioning" = xyes; then | ||
4439 | + _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~ | ||
4440 | + cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ | ||
4441 | + echo "local: *; };" >> $output_objdir/$libname.ver~ | ||
4442 | + $LD -shared $libobjs $deplibs $compiler_flags -soname $soname -version-script $output_objdir/$libname.ver -o $lib' | ||
4443 | + fi | ||
4444 | + ;; | ||
4445 | + esac | ||
4446 | + else | ||
4447 | + _LT_TAGVAR(ld_shlibs, $1)=no | ||
4448 | + fi | ||
4449 | + ;; | ||
4450 | + | ||
4451 | + netbsd*) | ||
4452 | + if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then | ||
4453 | + _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib' | ||
4454 | + wlarc= | ||
4455 | + else | ||
4456 | + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' | ||
4457 | + _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' | ||
4458 | + fi | ||
4459 | + ;; | ||
4460 | + | ||
4461 | + solaris*) | ||
4462 | + if $LD -v 2>&1 | $GREP 'BFD 2\.8' > /dev/null; then | ||
4463 | + _LT_TAGVAR(ld_shlibs, $1)=no | ||
4464 | + cat <<_LT_EOF 1>&2 | ||
4465 | + | ||
4466 | +*** Warning: The releases 2.8.* of the GNU linker cannot reliably | ||
4467 | +*** create shared libraries on Solaris systems. Therefore, libtool | ||
4468 | +*** is disabling shared libraries support. We urge you to upgrade GNU | ||
4469 | +*** binutils to release 2.9.1 or newer. Another option is to modify | ||
4470 | +*** your PATH or compiler configuration so that the native linker is | ||
4471 | +*** used, and then restart. | ||
4472 | + | ||
4473 | +_LT_EOF | ||
4474 | + elif $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then | ||
4475 | + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' | ||
4476 | + _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' | ||
4477 | + else | ||
4478 | + _LT_TAGVAR(ld_shlibs, $1)=no | ||
4479 | + fi | ||
4480 | + ;; | ||
4481 | + | ||
4482 | + sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*) | ||
4483 | + case `$LD -v 2>&1` in | ||
4484 | + *\ [[01]].* | *\ 2.[[0-9]].* | *\ 2.1[[0-5]].*) | ||
4485 | + _LT_TAGVAR(ld_shlibs, $1)=no | ||
4486 | + cat <<_LT_EOF 1>&2 | ||
4487 | + | ||
4488 | +*** Warning: Releases of the GNU linker prior to 2.16.91.0.3 can not | ||
4489 | +*** reliably create shared libraries on SCO systems. Therefore, libtool | ||
4490 | +*** is disabling shared libraries support. We urge you to upgrade GNU | ||
4491 | +*** binutils to release 2.16.91.0.3 or newer. Another option is to modify | ||
4492 | +*** your PATH or compiler configuration so that the native linker is | ||
4493 | +*** used, and then restart. | ||
4494 | + | ||
4495 | +_LT_EOF | ||
4496 | + ;; | ||
4497 | + *) | ||
4498 | + # For security reasons, it is highly recommended that you always | ||
4499 | + # use absolute paths for naming shared libraries, and exclude the | ||
4500 | + # DT_RUNPATH tag from executables and libraries. But doing so | ||
4501 | + # requires that you compile everything twice, which is a pain. | ||
4502 | + if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then | ||
4503 | + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' | ||
4504 | + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' | ||
4505 | + _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' | ||
4506 | + else | ||
4507 | + _LT_TAGVAR(ld_shlibs, $1)=no | ||
4508 | + fi | ||
4509 | + ;; | ||
4510 | + esac | ||
4511 | + ;; | ||
4512 | + | ||
4513 | + sunos4*) | ||
4514 | + _LT_TAGVAR(archive_cmds, $1)='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags' | ||
4515 | + wlarc= | ||
4516 | + _LT_TAGVAR(hardcode_direct, $1)=yes | ||
4517 | + _LT_TAGVAR(hardcode_shlibpath_var, $1)=no | ||
4518 | + ;; | ||
4519 | + | ||
4520 | + *) | ||
4521 | + if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then | ||
4522 | + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' | ||
4523 | + _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' | ||
4524 | + else | ||
4525 | + _LT_TAGVAR(ld_shlibs, $1)=no | ||
4526 | + fi | ||
4527 | + ;; | ||
4528 | + esac | ||
4529 | + | ||
4530 | + if test "$_LT_TAGVAR(ld_shlibs, $1)" = no; then | ||
4531 | + runpath_var= | ||
4532 | + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)= | ||
4533 | + _LT_TAGVAR(export_dynamic_flag_spec, $1)= | ||
4534 | + _LT_TAGVAR(whole_archive_flag_spec, $1)= | ||
4535 | + fi | ||
4536 | + else | ||
4537 | + # PORTME fill in a description of your system's linker (not GNU ld) | ||
4538 | + case $host_os in | ||
4539 | + aix3*) | ||
4540 | + _LT_TAGVAR(allow_undefined_flag, $1)=unsupported | ||
4541 | + _LT_TAGVAR(always_export_symbols, $1)=yes | ||
4542 | + _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' | ||
4543 | + # Note: this linker hardcodes the directories in LIBPATH if there | ||
4544 | + # are no directories specified by -L. | ||
4545 | + _LT_TAGVAR(hardcode_minus_L, $1)=yes | ||
4546 | + if test "$GCC" = yes && test -z "$lt_prog_compiler_static"; then | ||
4547 | + # Neither direct hardcoding nor static linking is supported with a | ||
4548 | + # broken collect2. | ||
4549 | + _LT_TAGVAR(hardcode_direct, $1)=unsupported | ||
4550 | + fi | ||
4551 | + ;; | ||
4552 | + | ||
4553 | + aix[[4-9]]*) | ||
4554 | + if test "$host_cpu" = ia64; then | ||
4555 | + # On IA64, the linker does run time linking by default, so we don't | ||
4556 | + # have to do anything special. | ||
4557 | + aix_use_runtimelinking=no | ||
4558 | + exp_sym_flag='-Bexport' | ||
4559 | + no_entry_flag="" | ||
4560 | + else | ||
4561 | + # If we're using GNU nm, then we don't want the "-C" option. | ||
4562 | + # -C means demangle to AIX nm, but means don't demangle with GNU nm | ||
4563 | + if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then | ||
4564 | + _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' | ||
4565 | + else | ||
4566 | + _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' | ||
4567 | + fi | ||
4568 | + aix_use_runtimelinking=no | ||
4569 | + | ||
4570 | + # Test if we are trying to use run time linking or normal | ||
4571 | + # AIX style linking. If -brtl is somewhere in LDFLAGS, we | ||
4572 | + # need to do runtime linking. | ||
4573 | + case $host_os in aix4.[[23]]|aix4.[[23]].*|aix[[5-9]]*) | ||
4574 | + for ld_flag in $LDFLAGS; do | ||
4575 | + if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then | ||
4576 | + aix_use_runtimelinking=yes | ||
4577 | + break | ||
4578 | + fi | ||
4579 | + done | ||
4580 | + ;; | ||
4581 | + esac | ||
4582 | + | ||
4583 | + exp_sym_flag='-bexport' | ||
4584 | + no_entry_flag='-bnoentry' | ||
4585 | + fi | ||
4586 | + | ||
4587 | + # When large executables or shared objects are built, AIX ld can | ||
4588 | + # have problems creating the table of contents. If linking a library | ||
4589 | + # or program results in "error TOC overflow" add -mminimal-toc to | ||
4590 | + # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not | ||
4591 | + # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. | ||
4592 | + | ||
4593 | + _LT_TAGVAR(archive_cmds, $1)='' | ||
4594 | + _LT_TAGVAR(hardcode_direct, $1)=yes | ||
4595 | + _LT_TAGVAR(hardcode_direct_absolute, $1)=yes | ||
4596 | + _LT_TAGVAR(hardcode_libdir_separator, $1)=':' | ||
4597 | + _LT_TAGVAR(link_all_deplibs, $1)=yes | ||
4598 | + _LT_TAGVAR(file_list_spec, $1)='${wl}-f,' | ||
4599 | + | ||
4600 | + if test "$GCC" = yes; then | ||
4601 | + case $host_os in aix4.[[012]]|aix4.[[012]].*) | ||
4602 | + # We only want to do this on AIX 4.2 and lower, the check | ||
4603 | + # below for broken collect2 doesn't work under 4.3+ | ||
4604 | + collect2name=`${CC} -print-prog-name=collect2` | ||
4605 | + if test -f "$collect2name" && | ||
4606 | + strings "$collect2name" | $GREP resolve_lib_name >/dev/null | ||
4607 | + then | ||
4608 | + # We have reworked collect2 | ||
4609 | + : | ||
4610 | + else | ||
4611 | + # We have old collect2 | ||
4612 | + _LT_TAGVAR(hardcode_direct, $1)=unsupported | ||
4613 | + # It fails to find uninstalled libraries when the uninstalled | ||
4614 | + # path is not listed in the libpath. Setting hardcode_minus_L | ||
4615 | + # to unsupported forces relinking | ||
4616 | + _LT_TAGVAR(hardcode_minus_L, $1)=yes | ||
4617 | + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' | ||
4618 | + _LT_TAGVAR(hardcode_libdir_separator, $1)= | ||
4619 | + fi | ||
4620 | + ;; | ||
4621 | + esac | ||
4622 | + shared_flag='-shared' | ||
4623 | + if test "$aix_use_runtimelinking" = yes; then | ||
4624 | + shared_flag="$shared_flag "'${wl}-G' | ||
4625 | + fi | ||
4626 | + else | ||
4627 | + # not using gcc | ||
4628 | + if test "$host_cpu" = ia64; then | ||
4629 | + # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release | ||
4630 | + # chokes on -Wl,-G. The following line is correct: | ||
4631 | + shared_flag='-G' | ||
4632 | + else | ||
4633 | + if test "$aix_use_runtimelinking" = yes; then | ||
4634 | + shared_flag='${wl}-G' | ||
4635 | + else | ||
4636 | + shared_flag='${wl}-bM:SRE' | ||
4637 | + fi | ||
4638 | + fi | ||
4639 | + fi | ||
4640 | + | ||
4641 | + _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-bexpall' | ||
4642 | + # It seems that -bexpall does not export symbols beginning with | ||
4643 | + # underscore (_), so it is better to generate a list of symbols to export. | ||
4644 | + _LT_TAGVAR(always_export_symbols, $1)=yes | ||
4645 | + if test "$aix_use_runtimelinking" = yes; then | ||
4646 | + # Warning - without using the other runtime loading flags (-brtl), | ||
4647 | + # -berok will link without error, but may produce a broken library. | ||
4648 | + _LT_TAGVAR(allow_undefined_flag, $1)='-berok' | ||
4649 | + # Determine the default libpath from the value encoded in an | ||
4650 | + # empty executable. | ||
4651 | + _LT_SYS_MODULE_PATH_AIX | ||
4652 | + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath" | ||
4653 | + _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" | ||
4654 | + else | ||
4655 | + if test "$host_cpu" = ia64; then | ||
4656 | + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $libdir:/usr/lib:/lib' | ||
4657 | + _LT_TAGVAR(allow_undefined_flag, $1)="-z nodefs" | ||
4658 | + _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" | ||
4659 | + else | ||
4660 | + # Determine the default libpath from the value encoded in an | ||
4661 | + # empty executable. | ||
4662 | + _LT_SYS_MODULE_PATH_AIX | ||
4663 | + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath" | ||
4664 | + # Warning - without using the other run time loading flags, | ||
4665 | + # -berok will link without error, but may produce a broken library. | ||
4666 | + _LT_TAGVAR(no_undefined_flag, $1)=' ${wl}-bernotok' | ||
4667 | + _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-berok' | ||
4668 | + # Exported symbols can be pulled into shared objects from archives | ||
4669 | + _LT_TAGVAR(whole_archive_flag_spec, $1)='$convenience' | ||
4670 | + _LT_TAGVAR(archive_cmds_need_lc, $1)=yes | ||
4671 | + # This is similar to how AIX traditionally builds its shared libraries. | ||
4672 | + _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' | ||
4673 | + fi | ||
4674 | + fi | ||
4675 | + ;; | ||
4676 | + | ||
4677 | + amigaos*) | ||
4678 | + case $host_cpu in | ||
4679 | + powerpc) | ||
4680 | + # see comment about AmigaOS4 .so support | ||
4681 | + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' | ||
4682 | + _LT_TAGVAR(archive_expsym_cmds, $1)='' | ||
4683 | + ;; | ||
4684 | + m68k) | ||
4685 | + _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)' | ||
4686 | + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' | ||
4687 | + _LT_TAGVAR(hardcode_minus_L, $1)=yes | ||
4688 | + ;; | ||
4689 | + esac | ||
4690 | + ;; | ||
4691 | + | ||
4692 | + bsdi[[45]]*) | ||
4693 | + _LT_TAGVAR(export_dynamic_flag_spec, $1)=-rdynamic | ||
4694 | + ;; | ||
4695 | + | ||
4696 | + cygwin* | mingw* | pw32* | cegcc*) | ||
4697 | + # When not using gcc, we currently assume that we are using | ||
4698 | + # Microsoft Visual C++. | ||
4699 | + # hardcode_libdir_flag_spec is actually meaningless, as there is | ||
4700 | + # no search path for DLLs. | ||
4701 | + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=' ' | ||
4702 | + _LT_TAGVAR(allow_undefined_flag, $1)=unsupported | ||
4703 | + # Tell ltmain to make .lib files, not .a files. | ||
4704 | + libext=lib | ||
4705 | + # Tell ltmain to make .dll files, not .so files. | ||
4706 | + shrext_cmds=".dll" | ||
4707 | + # FIXME: Setting linknames here is a bad hack. | ||
4708 | + _LT_TAGVAR(archive_cmds, $1)='$CC -o $lib $libobjs $compiler_flags `$ECHO "X$deplibs" | $Xsed -e '\''s/ -lc$//'\''` -link -dll~linknames=' | ||
4709 | + # The linker will automatically build a .lib file if we build a DLL. | ||
4710 | + _LT_TAGVAR(old_archive_from_new_cmds, $1)='true' | ||
4711 | + # FIXME: Should let the user specify the lib program. | ||
4712 | + _LT_TAGVAR(old_archive_cmds, $1)='lib -OUT:$oldlib$oldobjs$old_deplibs' | ||
4713 | + _LT_TAGVAR(fix_srcfile_path, $1)='`cygpath -w "$srcfile"`' | ||
4714 | + _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes | ||
4715 | + ;; | ||
4716 | + | ||
4717 | + darwin* | rhapsody*) | ||
4718 | + _LT_DARWIN_LINKER_FEATURES($1) | ||
4719 | + ;; | ||
4720 | + | ||
4721 | + dgux*) | ||
4722 | + _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' | ||
4723 | + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' | ||
4724 | + _LT_TAGVAR(hardcode_shlibpath_var, $1)=no | ||
4725 | + ;; | ||
4726 | + | ||
4727 | + freebsd1*) | ||
4728 | + _LT_TAGVAR(ld_shlibs, $1)=no | ||
4729 | + ;; | ||
4730 | + | ||
4731 | + # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor | ||
4732 | + # support. Future versions do this automatically, but an explicit c++rt0.o | ||
4733 | + # does not break anything, and helps significantly (at the cost of a little | ||
4734 | + # extra space). | ||
4735 | + freebsd2.2*) | ||
4736 | + _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o' | ||
4737 | + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' | ||
4738 | + _LT_TAGVAR(hardcode_direct, $1)=yes | ||
4739 | + _LT_TAGVAR(hardcode_shlibpath_var, $1)=no | ||
4740 | + ;; | ||
4741 | + | ||
4742 | + # Unfortunately, older versions of FreeBSD 2 do not have this feature. | ||
4743 | + freebsd2*) | ||
4744 | + _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' | ||
4745 | + _LT_TAGVAR(hardcode_direct, $1)=yes | ||
4746 | + _LT_TAGVAR(hardcode_minus_L, $1)=yes | ||
4747 | + _LT_TAGVAR(hardcode_shlibpath_var, $1)=no | ||
4748 | + ;; | ||
4749 | + | ||
4750 | + # FreeBSD 3 and greater uses gcc -shared to do shared libraries. | ||
4751 | + freebsd* | dragonfly*) | ||
4752 | + _LT_TAGVAR(archive_cmds, $1)='$CC -shared -o $lib $libobjs $deplibs $compiler_flags' | ||
4753 | + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' | ||
4754 | + _LT_TAGVAR(hardcode_direct, $1)=yes | ||
4755 | + _LT_TAGVAR(hardcode_shlibpath_var, $1)=no | ||
4756 | + ;; | ||
4757 | + | ||
4758 | + hpux9*) | ||
4759 | + if test "$GCC" = yes; then | ||
4760 | + _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' | ||
4761 | + else | ||
4762 | + _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' | ||
4763 | + fi | ||
4764 | + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' | ||
4765 | + _LT_TAGVAR(hardcode_libdir_separator, $1)=: | ||
4766 | + _LT_TAGVAR(hardcode_direct, $1)=yes | ||
4767 | + | ||
4768 | + # hardcode_minus_L: Not really in the search PATH, | ||
4769 | + # but as the default location of the library. | ||
4770 | + _LT_TAGVAR(hardcode_minus_L, $1)=yes | ||
4771 | + _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' | ||
4772 | + ;; | ||
4773 | + | ||
4774 | + hpux10*) | ||
4775 | + if test "$GCC" = yes -a "$with_gnu_ld" = no; then | ||
4776 | + _LT_TAGVAR(archive_cmds, $1)='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' | ||
4777 | + else | ||
4778 | + _LT_TAGVAR(archive_cmds, $1)='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags' | ||
4779 | + fi | ||
4780 | + if test "$with_gnu_ld" = no; then | ||
4781 | + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' | ||
4782 | + _LT_TAGVAR(hardcode_libdir_flag_spec_ld, $1)='+b $libdir' | ||
4783 | + _LT_TAGVAR(hardcode_libdir_separator, $1)=: | ||
4784 | + _LT_TAGVAR(hardcode_direct, $1)=yes | ||
4785 | + _LT_TAGVAR(hardcode_direct_absolute, $1)=yes | ||
4786 | + _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' | ||
4787 | + # hardcode_minus_L: Not really in the search PATH, | ||
4788 | + # but as the default location of the library. | ||
4789 | + _LT_TAGVAR(hardcode_minus_L, $1)=yes | ||
4790 | + fi | ||
4791 | + ;; | ||
4792 | + | ||
4793 | + hpux11*) | ||
4794 | + if test "$GCC" = yes -a "$with_gnu_ld" = no; then | ||
4795 | + case $host_cpu in | ||
4796 | + hppa*64*) | ||
4797 | + _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' | ||
4798 | + ;; | ||
4799 | + ia64*) | ||
4800 | + _LT_TAGVAR(archive_cmds, $1)='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' | ||
4801 | + ;; | ||
4802 | + *) | ||
4803 | + _LT_TAGVAR(archive_cmds, $1)='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' | ||
4804 | + ;; | ||
4805 | + esac | ||
4806 | + else | ||
4807 | + case $host_cpu in | ||
4808 | + hppa*64*) | ||
4809 | + _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' | ||
4810 | + ;; | ||
4811 | + ia64*) | ||
4812 | + _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags' | ||
4813 | + ;; | ||
4814 | + *) | ||
4815 | + _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags' | ||
4816 | + ;; | ||
4817 | + esac | ||
4818 | + fi | ||
4819 | + if test "$with_gnu_ld" = no; then | ||
4820 | + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' | ||
4821 | + _LT_TAGVAR(hardcode_libdir_separator, $1)=: | ||
4822 | + | ||
4823 | + case $host_cpu in | ||
4824 | + hppa*64*|ia64*) | ||
4825 | + _LT_TAGVAR(hardcode_direct, $1)=no | ||
4826 | + _LT_TAGVAR(hardcode_shlibpath_var, $1)=no | ||
4827 | + ;; | ||
4828 | + *) | ||
4829 | + _LT_TAGVAR(hardcode_direct, $1)=yes | ||
4830 | + _LT_TAGVAR(hardcode_direct_absolute, $1)=yes | ||
4831 | + _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' | ||
4832 | + | ||
4833 | + # hardcode_minus_L: Not really in the search PATH, | ||
4834 | + # but as the default location of the library. | ||
4835 | + _LT_TAGVAR(hardcode_minus_L, $1)=yes | ||
4836 | + ;; | ||
4837 | + esac | ||
4838 | + fi | ||
4839 | + ;; | ||
4840 | + | ||
4841 | + irix5* | irix6* | nonstopux*) | ||
4842 | + if test "$GCC" = yes; then | ||
4843 | + _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' | ||
4844 | + # Try to use the -exported_symbol ld option, if it does not | ||
4845 | + # work, assume that -exports_file does not work either and | ||
4846 | + # implicitly export all symbols. | ||
4847 | + save_LDFLAGS="$LDFLAGS" | ||
4848 | + LDFLAGS="$LDFLAGS -shared ${wl}-exported_symbol ${wl}foo ${wl}-update_registry ${wl}/dev/null" | ||
4849 | + AC_LINK_IFELSE(int foo(void) {}, | ||
4850 | + _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' | ||
4851 | + ) | ||
4852 | + LDFLAGS="$save_LDFLAGS" | ||
4853 | + else | ||
4854 | + _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' | ||
4855 | + _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' | ||
4856 | + fi | ||
4857 | + _LT_TAGVAR(archive_cmds_need_lc, $1)='no' | ||
4858 | + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' | ||
4859 | + _LT_TAGVAR(hardcode_libdir_separator, $1)=: | ||
4860 | + _LT_TAGVAR(inherit_rpath, $1)=yes | ||
4861 | + _LT_TAGVAR(link_all_deplibs, $1)=yes | ||
4862 | + ;; | ||
4863 | + | ||
4864 | + netbsd*) | ||
4865 | + if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then | ||
4866 | + _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out | ||
4867 | + else | ||
4868 | + _LT_TAGVAR(archive_cmds, $1)='$LD -shared -o $lib $libobjs $deplibs $linker_flags' # ELF | ||
4869 | + fi | ||
4870 | + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' | ||
4871 | + _LT_TAGVAR(hardcode_direct, $1)=yes | ||
4872 | + _LT_TAGVAR(hardcode_shlibpath_var, $1)=no | ||
4873 | + ;; | ||
4874 | + | ||
4875 | + newsos6) | ||
4876 | + _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' | ||
4877 | + _LT_TAGVAR(hardcode_direct, $1)=yes | ||
4878 | + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' | ||
4879 | + _LT_TAGVAR(hardcode_libdir_separator, $1)=: | ||
4880 | + _LT_TAGVAR(hardcode_shlibpath_var, $1)=no | ||
4881 | + ;; | ||
4882 | + | ||
4883 | + *nto* | *qnx*) | ||
4884 | + ;; | ||
4885 | + | ||
4886 | + openbsd*) | ||
4887 | + if test -f /usr/libexec/ld.so; then | ||
4888 | + _LT_TAGVAR(hardcode_direct, $1)=yes | ||
4889 | + _LT_TAGVAR(hardcode_shlibpath_var, $1)=no | ||
4890 | + _LT_TAGVAR(hardcode_direct_absolute, $1)=yes | ||
4891 | + if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then | ||
4892 | + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' | ||
4893 | + _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols' | ||
4894 | + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' | ||
4895 | + _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' | ||
4896 | + else | ||
4897 | + case $host_os in | ||
4898 | + openbsd[[01]].* | openbsd2.[[0-7]] | openbsd2.[[0-7]].*) | ||
4899 | + _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' | ||
4900 | + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' | ||
4901 | + ;; | ||
4902 | + *) | ||
4903 | + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags' | ||
4904 | + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' | ||
4905 | + ;; | ||
4906 | + esac | ||
4907 | + fi | ||
4908 | + else | ||
4909 | + _LT_TAGVAR(ld_shlibs, $1)=no | ||
4910 | + fi | ||
4911 | + ;; | ||
4912 | + | ||
4913 | + os2*) | ||
4914 | + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' | ||
4915 | + _LT_TAGVAR(hardcode_minus_L, $1)=yes | ||
4916 | + _LT_TAGVAR(allow_undefined_flag, $1)=unsupported | ||
4917 | + _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' | ||
4918 | + _LT_TAGVAR(old_archive_from_new_cmds, $1)='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def' | ||
4919 | + ;; | ||
4920 | + | ||
4921 | + osf3*) | ||
4922 | + if test "$GCC" = yes; then | ||
4923 | + _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*' | ||
4924 | + _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' | ||
4925 | + else | ||
4926 | + _LT_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*' | ||
4927 | + _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' | ||
4928 | + fi | ||
4929 | + _LT_TAGVAR(archive_cmds_need_lc, $1)='no' | ||
4930 | + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' | ||
4931 | + _LT_TAGVAR(hardcode_libdir_separator, $1)=: | ||
4932 | + ;; | ||
4933 | + | ||
4934 | + osf4* | osf5*) # as osf3* with the addition of -msym flag | ||
4935 | + if test "$GCC" = yes; then | ||
4936 | + _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*' | ||
4937 | + _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' | ||
4938 | + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' | ||
4939 | + else | ||
4940 | + _LT_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*' | ||
4941 | + _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' | ||
4942 | + _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~ | ||
4943 | + $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' | ||
4944 | + | ||
4945 | + # Both c and cxx compiler support -rpath directly | ||
4946 | + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir' | ||
4947 | + fi | ||
4948 | + _LT_TAGVAR(archive_cmds_need_lc, $1)='no' | ||
4949 | + _LT_TAGVAR(hardcode_libdir_separator, $1)=: | ||
4950 | + ;; | ||
4951 | + | ||
4952 | + solaris*) | ||
4953 | + _LT_TAGVAR(no_undefined_flag, $1)=' -z defs' | ||
4954 | + if test "$GCC" = yes; then | ||
4955 | + wlarc='${wl}' | ||
4956 | + _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-z ${wl}text ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags' | ||
4957 | + _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ | ||
4958 | + $CC -shared ${wl}-z ${wl}text ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp' | ||
4959 | + else | ||
4960 | + case `$CC -V 2>&1` in | ||
4961 | + *"Compilers 5.0"*) | ||
4962 | + wlarc='' | ||
4963 | + _LT_TAGVAR(archive_cmds, $1)='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags' | ||
4964 | + _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ | ||
4965 | + $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$RM $lib.exp' | ||
4966 | + ;; | ||
4967 | + *) | ||
4968 | + wlarc='${wl}' | ||
4969 | + _LT_TAGVAR(archive_cmds, $1)='$CC -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $compiler_flags' | ||
4970 | + _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ | ||
4971 | + $CC -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp' | ||
4972 | + ;; | ||
4973 | + esac | ||
4974 | + fi | ||
4975 | + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' | ||
4976 | + _LT_TAGVAR(hardcode_shlibpath_var, $1)=no | ||
4977 | + case $host_os in | ||
4978 | + solaris2.[[0-5]] | solaris2.[[0-5]].*) ;; | ||
4979 | + *) | ||
4980 | + # The compiler driver will combine and reorder linker options, | ||
4981 | + # but understands `-z linker_flag'. GCC discards it without `$wl', | ||
4982 | + # but is careful enough not to reorder. | ||
4983 | + # Supported since Solaris 2.6 (maybe 2.5.1?) | ||
4984 | + if test "$GCC" = yes; then | ||
4985 | + _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract' | ||
4986 | + else | ||
4987 | + _LT_TAGVAR(whole_archive_flag_spec, $1)='-z allextract$convenience -z defaultextract' | ||
4988 | + fi | ||
4989 | + ;; | ||
4990 | + esac | ||
4991 | + _LT_TAGVAR(link_all_deplibs, $1)=yes | ||
4992 | + ;; | ||
4993 | + | ||
4994 | + sunos4*) | ||
4995 | + if test "x$host_vendor" = xsequent; then | ||
4996 | + # Use $CC to link under sequent, because it throws in some extra .o | ||
4997 | + # files that make .init and .fini sections work. | ||
4998 | + _LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h $soname -o $lib $libobjs $deplibs $compiler_flags' | ||
4999 | + else | ||
5000 | + _LT_TAGVAR(archive_cmds, $1)='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags' | ||
5001 | + fi | ||
5002 | + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' | ||
5003 | + _LT_TAGVAR(hardcode_direct, $1)=yes | ||
5004 | + _LT_TAGVAR(hardcode_minus_L, $1)=yes | ||
5005 | + _LT_TAGVAR(hardcode_shlibpath_var, $1)=no | ||
5006 | + ;; | ||
5007 | + | ||
5008 | + sysv4) | ||
5009 | + case $host_vendor in | ||
5010 | + sni) | ||
5011 | + _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' | ||
5012 | + _LT_TAGVAR(hardcode_direct, $1)=yes # is this really true??? | ||
5013 | + ;; | ||
5014 | + siemens) | ||
5015 | + ## LD is ld it makes a PLAMLIB | ||
5016 | + ## CC just makes a GrossModule. | ||
5017 | + _LT_TAGVAR(archive_cmds, $1)='$LD -G -o $lib $libobjs $deplibs $linker_flags' | ||
5018 | + _LT_TAGVAR(reload_cmds, $1)='$CC -r -o $output$reload_objs' | ||
5019 | + _LT_TAGVAR(hardcode_direct, $1)=no | ||
5020 | + ;; | ||
5021 | + motorola) | ||
5022 | + _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' | ||
5023 | + _LT_TAGVAR(hardcode_direct, $1)=no #Motorola manual says yes, but my tests say they lie | ||
5024 | + ;; | ||
5025 | + esac | ||
5026 | + runpath_var='LD_RUN_PATH' | ||
5027 | + _LT_TAGVAR(hardcode_shlibpath_var, $1)=no | ||
5028 | + ;; | ||
5029 | + | ||
5030 | + sysv4.3*) | ||
5031 | + _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' | ||
5032 | + _LT_TAGVAR(hardcode_shlibpath_var, $1)=no | ||
5033 | + _LT_TAGVAR(export_dynamic_flag_spec, $1)='-Bexport' | ||
5034 | + ;; | ||
5035 | + | ||
5036 | + sysv4*MP*) | ||
5037 | + if test -d /usr/nec; then | ||
5038 | + _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' | ||
5039 | + _LT_TAGVAR(hardcode_shlibpath_var, $1)=no | ||
5040 | + runpath_var=LD_RUN_PATH | ||
5041 | + hardcode_runpath_var=yes | ||
5042 | + _LT_TAGVAR(ld_shlibs, $1)=yes | ||
5043 | + fi | ||
5044 | + ;; | ||
5045 | + | ||
5046 | + sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[[01]].[[10]]* | unixware7* | sco3.2v5.0.[[024]]*) | ||
5047 | + _LT_TAGVAR(no_undefined_flag, $1)='${wl}-z,text' | ||
5048 | + _LT_TAGVAR(archive_cmds_need_lc, $1)=no | ||
5049 | + _LT_TAGVAR(hardcode_shlibpath_var, $1)=no | ||
5050 | + runpath_var='LD_RUN_PATH' | ||
5051 | + | ||
5052 | + if test "$GCC" = yes; then | ||
5053 | + _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' | ||
5054 | + _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' | ||
5055 | + else | ||
5056 | + _LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' | ||
5057 | + _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' | ||
5058 | + fi | ||
5059 | + ;; | ||
5060 | + | ||
5061 | + sysv5* | sco3.2v5* | sco5v6*) | ||
5062 | + # Note: We can NOT use -z defs as we might desire, because we do not | ||
5063 | + # link with -lc, and that would cause any symbols used from libc to | ||
5064 | + # always be unresolved, which means just about no library would | ||
5065 | + # ever link correctly. If we're not using GNU ld we use -z text | ||
5066 | + # though, which does catch some bad symbols but isn't as heavy-handed | ||
5067 | + # as -z defs. | ||
5068 | + _LT_TAGVAR(no_undefined_flag, $1)='${wl}-z,text' | ||
5069 | + _LT_TAGVAR(allow_undefined_flag, $1)='${wl}-z,nodefs' | ||
5070 | + _LT_TAGVAR(archive_cmds_need_lc, $1)=no | ||
5071 | + _LT_TAGVAR(hardcode_shlibpath_var, $1)=no | ||
5072 | + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R,$libdir' | ||
5073 | + _LT_TAGVAR(hardcode_libdir_separator, $1)=':' | ||
5074 | + _LT_TAGVAR(link_all_deplibs, $1)=yes | ||
5075 | + _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-Bexport' | ||
5076 | + runpath_var='LD_RUN_PATH' | ||
5077 | + | ||
5078 | + if test "$GCC" = yes; then | ||
5079 | + _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' | ||
5080 | + _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' | ||
5081 | + else | ||
5082 | + _LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' | ||
5083 | + _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' | ||
5084 | + fi | ||
5085 | + ;; | ||
5086 | + | ||
5087 | + uts4*) | ||
5088 | + _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags' | ||
5089 | + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' | ||
5090 | + _LT_TAGVAR(hardcode_shlibpath_var, $1)=no | ||
5091 | + ;; | ||
5092 | + | ||
5093 | + *) | ||
5094 | + _LT_TAGVAR(ld_shlibs, $1)=no | ||
5095 | + ;; | ||
5096 | + esac | ||
5097 | + | ||
5098 | + if test x$host_vendor = xsni; then | ||
5099 | + case $host in | ||
5100 | + sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*) | ||
5101 | + _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-Blargedynsym' | ||
5102 | + ;; | ||
5103 | + esac | ||
5104 | + fi | ||
5105 | + fi | ||
5106 | +]) | ||
5107 | +AC_MSG_RESULT([$_LT_TAGVAR(ld_shlibs, $1)]) | ||
5108 | +test "$_LT_TAGVAR(ld_shlibs, $1)" = no && can_build_shared=no | ||
5109 | + | ||
5110 | +_LT_TAGVAR(with_gnu_ld, $1)=$with_gnu_ld | ||
5111 | + | ||
5112 | +_LT_DECL([], [libext], [0], [Old archive suffix (normally "a")])dnl | ||
5113 | +_LT_DECL([], [shrext_cmds], [1], [Shared library suffix (normally ".so")])dnl | ||
5114 | +_LT_DECL([], [extract_expsyms_cmds], [2], | ||
5115 | + [The commands to extract the exported symbol list from a shared archive]) | ||
5116 | + | ||
5117 | +# | ||
5118 | +# Do we need to explicitly link libc? | ||
5119 | +# | ||
5120 | +case "x$_LT_TAGVAR(archive_cmds_need_lc, $1)" in | ||
5121 | +x|xyes) | ||
5122 | + # Assume -lc should be added | ||
5123 | + _LT_TAGVAR(archive_cmds_need_lc, $1)=yes | ||
5124 | + | ||
5125 | + if test "$enable_shared" = yes && test "$GCC" = yes; then | ||
5126 | + case $_LT_TAGVAR(archive_cmds, $1) in | ||
5127 | + *'~'*) | ||
5128 | + # FIXME: we may have to deal with multi-command sequences. | ||
5129 | + ;; | ||
5130 | + '$CC '*) | ||
5131 | + # Test whether the compiler implicitly links with -lc since on some | ||
5132 | + # systems, -lgcc has to come before -lc. If gcc already passes -lc | ||
5133 | + # to ld, don't add -lc before -lgcc. | ||
5134 | + AC_MSG_CHECKING([whether -lc should be explicitly linked in]) | ||
5135 | + $RM conftest* | ||
5136 | + echo "$lt_simple_compile_test_code" > conftest.$ac_ext | ||
5137 | + | ||
5138 | + if AC_TRY_EVAL(ac_compile) 2>conftest.err; then | ||
5139 | + soname=conftest | ||
5140 | + lib=conftest | ||
5141 | + libobjs=conftest.$ac_objext | ||
5142 | + deplibs= | ||
5143 | + wl=$_LT_TAGVAR(lt_prog_compiler_wl, $1) | ||
5144 | + pic_flag=$_LT_TAGVAR(lt_prog_compiler_pic, $1) | ||
5145 | + compiler_flags=-v | ||
5146 | + linker_flags=-v | ||
5147 | + verstring= | ||
5148 | + output_objdir=. | ||
5149 | + libname=conftest | ||
5150 | + lt_save_allow_undefined_flag=$_LT_TAGVAR(allow_undefined_flag, $1) | ||
5151 | + _LT_TAGVAR(allow_undefined_flag, $1)= | ||
5152 | + if AC_TRY_EVAL(_LT_TAGVAR(archive_cmds, $1) 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1) | ||
5153 | + then | ||
5154 | + _LT_TAGVAR(archive_cmds_need_lc, $1)=no | ||
5155 | + else | ||
5156 | + _LT_TAGVAR(archive_cmds_need_lc, $1)=yes | ||
5157 | + fi | ||
5158 | + _LT_TAGVAR(allow_undefined_flag, $1)=$lt_save_allow_undefined_flag | ||
5159 | + else | ||
5160 | + cat conftest.err 1>&5 | ||
5161 | + fi | ||
5162 | + $RM conftest* | ||
5163 | + AC_MSG_RESULT([$_LT_TAGVAR(archive_cmds_need_lc, $1)]) | ||
5164 | + ;; | ||
5165 | + esac | ||
5166 | + fi | ||
5167 | + ;; | ||
5168 | +esac | ||
5169 | + | ||
5170 | +_LT_TAGDECL([build_libtool_need_lc], [archive_cmds_need_lc], [0], | ||
5171 | + [Whether or not to add -lc for building shared libraries]) | ||
5172 | +_LT_TAGDECL([allow_libtool_libs_with_static_runtimes], | ||
5173 | + [enable_shared_with_static_runtimes], [0], | ||
5174 | + [Whether or not to disallow shared libs when runtime libs are static]) | ||
5175 | +_LT_TAGDECL([], [export_dynamic_flag_spec], [1], | ||
5176 | + [Compiler flag to allow reflexive dlopens]) | ||
5177 | +_LT_TAGDECL([], [whole_archive_flag_spec], [1], | ||
5178 | + [Compiler flag to generate shared objects directly from archives]) | ||
5179 | +_LT_TAGDECL([], [compiler_needs_object], [1], | ||
5180 | + [Whether the compiler copes with passing no objects directly]) | ||
5181 | +_LT_TAGDECL([], [old_archive_from_new_cmds], [2], | ||
5182 | + [Create an old-style archive from a shared archive]) | ||
5183 | +_LT_TAGDECL([], [old_archive_from_expsyms_cmds], [2], | ||
5184 | + [Create a temporary old-style archive to link instead of a shared archive]) | ||
5185 | +_LT_TAGDECL([], [archive_cmds], [2], [Commands used to build a shared archive]) | ||
5186 | +_LT_TAGDECL([], [archive_expsym_cmds], [2]) | ||
5187 | +_LT_TAGDECL([], [module_cmds], [2], | ||
5188 | + [Commands used to build a loadable module if different from building | ||
5189 | + a shared archive.]) | ||
5190 | +_LT_TAGDECL([], [module_expsym_cmds], [2]) | ||
5191 | +_LT_TAGDECL([], [with_gnu_ld], [1], | ||
5192 | + [Whether we are building with GNU ld or not]) | ||
5193 | +_LT_TAGDECL([], [allow_undefined_flag], [1], | ||
5194 | + [Flag that allows shared libraries with undefined symbols to be built]) | ||
5195 | +_LT_TAGDECL([], [no_undefined_flag], [1], | ||
5196 | + [Flag that enforces no undefined symbols]) | ||
5197 | +_LT_TAGDECL([], [hardcode_libdir_flag_spec], [1], | ||
5198 | + [Flag to hardcode $libdir into a binary during linking. | ||
5199 | + This must work even if $libdir does not exist]) | ||
5200 | +_LT_TAGDECL([], [hardcode_libdir_flag_spec_ld], [1], | ||
5201 | + [[If ld is used when linking, flag to hardcode $libdir into a binary | ||
5202 | + during linking. This must work even if $libdir does not exist]]) | ||
5203 | +_LT_TAGDECL([], [hardcode_libdir_separator], [1], | ||
5204 | + [Whether we need a single "-rpath" flag with a separated argument]) | ||
5205 | +_LT_TAGDECL([], [hardcode_direct], [0], | ||
5206 | + [Set to "yes" if using DIR/libNAME${shared_ext} during linking hardcodes | ||
5207 | + DIR into the resulting binary]) | ||
5208 | +_LT_TAGDECL([], [hardcode_direct_absolute], [0], | ||
5209 | + [Set to "yes" if using DIR/libNAME${shared_ext} during linking hardcodes | ||
5210 | + DIR into the resulting binary and the resulting library dependency is | ||
5211 | + "absolute", i.e impossible to change by setting ${shlibpath_var} if the | ||
5212 | + library is relocated]) | ||
5213 | +_LT_TAGDECL([], [hardcode_minus_L], [0], | ||
5214 | + [Set to "yes" if using the -LDIR flag during linking hardcodes DIR | ||
5215 | + into the resulting binary]) | ||
5216 | +_LT_TAGDECL([], [hardcode_shlibpath_var], [0], | ||
5217 | + [Set to "yes" if using SHLIBPATH_VAR=DIR during linking hardcodes DIR | ||
5218 | + into the resulting binary]) | ||
5219 | +_LT_TAGDECL([], [hardcode_automatic], [0], | ||
5220 | + [Set to "yes" if building a shared library automatically hardcodes DIR | ||
5221 | + into the library and all subsequent libraries and executables linked | ||
5222 | + against it]) | ||
5223 | +_LT_TAGDECL([], [inherit_rpath], [0], | ||
5224 | + [Set to yes if linker adds runtime paths of dependent libraries | ||
5225 | + to runtime path list]) | ||
5226 | +_LT_TAGDECL([], [link_all_deplibs], [0], | ||
5227 | + [Whether libtool must link a program against all its dependency libraries]) | ||
5228 | +_LT_TAGDECL([], [fix_srcfile_path], [1], | ||
5229 | + [Fix the shell variable $srcfile for the compiler]) | ||
5230 | +_LT_TAGDECL([], [always_export_symbols], [0], | ||
5231 | + [Set to "yes" if exported symbols are required]) | ||
5232 | +_LT_TAGDECL([], [export_symbols_cmds], [2], | ||
5233 | + [The commands to list exported symbols]) | ||
5234 | +_LT_TAGDECL([], [exclude_expsyms], [1], | ||
5235 | + [Symbols that should not be listed in the preloaded symbols]) | ||
5236 | +_LT_TAGDECL([], [include_expsyms], [1], | ||
5237 | + [Symbols that must always be exported]) | ||
5238 | +_LT_TAGDECL([], [prelink_cmds], [2], | ||
5239 | + [Commands necessary for linking programs (against libraries) with templates]) | ||
5240 | +_LT_TAGDECL([], [file_list_spec], [1], | ||
5241 | + [Specify filename containing input files]) | ||
5242 | +dnl FIXME: Not yet implemented | ||
5243 | +dnl _LT_TAGDECL([], [thread_safe_flag_spec], [1], | ||
5244 | +dnl [Compiler flag to generate thread safe objects]) | ||
5245 | +])# _LT_LINKER_SHLIBS | ||
5246 | + | ||
5247 | + | ||
5248 | +# _LT_LANG_C_CONFIG([TAG]) | ||
5249 | +# ------------------------ | ||
5250 | +# Ensure that the configuration variables for a C compiler are suitably | ||
5251 | +# defined. These variables are subsequently used by _LT_CONFIG to write | ||
5252 | +# the compiler configuration to `libtool'. | ||
5253 | +m4_defun([_LT_LANG_C_CONFIG], | ||
5254 | +[m4_require([_LT_DECL_EGREP])dnl | ||
5255 | +lt_save_CC="$CC" | ||
5256 | +AC_LANG_PUSH(C) | ||
5257 | + | ||
5258 | +# Source file extension for C test sources. | ||
5259 | +ac_ext=c | ||
5260 | + | ||
5261 | +# Object file extension for compiled C test sources. | ||
5262 | +objext=o | ||
5263 | +_LT_TAGVAR(objext, $1)=$objext | ||
5264 | + | ||
5265 | +# Code to be used in simple compile tests | ||
5266 | +lt_simple_compile_test_code="int some_variable = 0;" | ||
5267 | + | ||
5268 | +# Code to be used in simple link tests | ||
5269 | +lt_simple_link_test_code='int main(){return(0);}' | ||
5270 | + | ||
5271 | +_LT_TAG_COMPILER | ||
5272 | +# Save the default compiler, since it gets overwritten when the other | ||
5273 | +# tags are being tested, and _LT_TAGVAR(compiler, []) is a NOP. | ||
5274 | +compiler_DEFAULT=$CC | ||
5275 | + | ||
5276 | +# save warnings/boilerplate of simple test code | ||
5277 | +_LT_COMPILER_BOILERPLATE | ||
5278 | +_LT_LINKER_BOILERPLATE | ||
5279 | + | ||
5280 | +## CAVEAT EMPTOR: | ||
5281 | +## There is no encapsulation within the following macros, do not change | ||
5282 | +## the running order or otherwise move them around unless you know exactly | ||
5283 | +## what you are doing... | ||
5284 | +if test -n "$compiler"; then | ||
5285 | + _LT_COMPILER_NO_RTTI($1) | ||
5286 | + _LT_COMPILER_PIC($1) | ||
5287 | + _LT_COMPILER_C_O($1) | ||
5288 | + _LT_COMPILER_FILE_LOCKS($1) | ||
5289 | + _LT_LINKER_SHLIBS($1) | ||
5290 | + _LT_SYS_DYNAMIC_LINKER($1) | ||
5291 | + _LT_LINKER_HARDCODE_LIBPATH($1) | ||
5292 | + LT_SYS_DLOPEN_SELF | ||
5293 | + _LT_CMD_STRIPLIB | ||
5294 | + | ||
5295 | + # Report which library types will actually be built | ||
5296 | + AC_MSG_CHECKING([if libtool supports shared libraries]) | ||
5297 | + AC_MSG_RESULT([$can_build_shared]) | ||
5298 | + | ||
5299 | + AC_MSG_CHECKING([whether to build shared libraries]) | ||
5300 | + test "$can_build_shared" = "no" && enable_shared=no | ||
5301 | + | ||
5302 | + # On AIX, shared libraries and static libraries use the same namespace, and | ||
5303 | + # are all built from PIC. | ||
5304 | + case $host_os in | ||
5305 | + aix3*) | ||
5306 | + test "$enable_shared" = yes && enable_static=no | ||
5307 | + if test -n "$RANLIB"; then | ||
5308 | + archive_cmds="$archive_cmds~\$RANLIB \$lib" | ||
5309 | + postinstall_cmds='$RANLIB $lib' | ||
5310 | + fi | ||
5311 | + ;; | ||
5312 | + | ||
5313 | + aix[[4-9]]*) | ||
5314 | + if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then | ||
5315 | + test "$enable_shared" = yes && enable_static=no | ||
5316 | + fi | ||
5317 | + ;; | ||
5318 | + esac | ||
5319 | + AC_MSG_RESULT([$enable_shared]) | ||
5320 | + | ||
5321 | + AC_MSG_CHECKING([whether to build static libraries]) | ||
5322 | + # Make sure either enable_shared or enable_static is yes. | ||
5323 | + test "$enable_shared" = yes || enable_static=yes | ||
5324 | + AC_MSG_RESULT([$enable_static]) | ||
5325 | + | ||
5326 | + _LT_CONFIG($1) | ||
5327 | +fi | ||
5328 | +AC_LANG_POP | ||
5329 | +CC="$lt_save_CC" | ||
5330 | +])# _LT_LANG_C_CONFIG | ||
5331 | + | ||
5332 | + | ||
5333 | +# _LT_PROG_CXX | ||
5334 | +# ------------ | ||
5335 | +# Since AC_PROG_CXX is broken, in that it returns g++ if there is no c++ | ||
5336 | +# compiler, we have our own version here. | ||
5337 | +m4_defun([_LT_PROG_CXX], | ||
5338 | +[ | ||
5339 | +pushdef([AC_MSG_ERROR], [_lt_caught_CXX_error=yes]) | ||
5340 | +AC_PROG_CXX | ||
5341 | +if test -n "$CXX" && ( test "X$CXX" != "Xno" && | ||
5342 | + ( (test "X$CXX" = "Xg++" && `g++ -v >/dev/null 2>&1` ) || | ||
5343 | + (test "X$CXX" != "Xg++"))) ; then | ||
5344 | + AC_PROG_CXXCPP | ||
5345 | +else | ||
5346 | + _lt_caught_CXX_error=yes | ||
5347 | +fi | ||
5348 | +popdef([AC_MSG_ERROR]) | ||
5349 | +])# _LT_PROG_CXX | ||
5350 | + | ||
5351 | +dnl aclocal-1.4 backwards compatibility: | ||
5352 | +dnl AC_DEFUN([_LT_PROG_CXX], []) | ||
5353 | + | ||
5354 | + | ||
5355 | +# _LT_LANG_CXX_CONFIG([TAG]) | ||
5356 | +# -------------------------- | ||
5357 | +# Ensure that the configuration variables for a C++ compiler are suitably | ||
5358 | +# defined. These variables are subsequently used by _LT_CONFIG to write | ||
5359 | +# the compiler configuration to `libtool'. | ||
5360 | +m4_defun([_LT_LANG_CXX_CONFIG], | ||
5361 | +[AC_REQUIRE([_LT_PROG_CXX])dnl | ||
5362 | +m4_require([_LT_FILEUTILS_DEFAULTS])dnl | ||
5363 | +m4_require([_LT_DECL_EGREP])dnl | ||
5364 | + | ||
5365 | +AC_LANG_PUSH(C++) | ||
5366 | +_LT_TAGVAR(archive_cmds_need_lc, $1)=no | ||
5367 | +_LT_TAGVAR(allow_undefined_flag, $1)= | ||
5368 | +_LT_TAGVAR(always_export_symbols, $1)=no | ||
5369 | +_LT_TAGVAR(archive_expsym_cmds, $1)= | ||
5370 | +_LT_TAGVAR(compiler_needs_object, $1)=no | ||
5371 | +_LT_TAGVAR(export_dynamic_flag_spec, $1)= | ||
5372 | +_LT_TAGVAR(hardcode_direct, $1)=no | ||
5373 | +_LT_TAGVAR(hardcode_direct_absolute, $1)=no | ||
5374 | +_LT_TAGVAR(hardcode_libdir_flag_spec, $1)= | ||
5375 | +_LT_TAGVAR(hardcode_libdir_flag_spec_ld, $1)= | ||
5376 | +_LT_TAGVAR(hardcode_libdir_separator, $1)= | ||
5377 | +_LT_TAGVAR(hardcode_minus_L, $1)=no | ||
5378 | +_LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported | ||
5379 | +_LT_TAGVAR(hardcode_automatic, $1)=no | ||
5380 | +_LT_TAGVAR(inherit_rpath, $1)=no | ||
5381 | +_LT_TAGVAR(module_cmds, $1)= | ||
5382 | +_LT_TAGVAR(module_expsym_cmds, $1)= | ||
5383 | +_LT_TAGVAR(link_all_deplibs, $1)=unknown | ||
5384 | +_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds | ||
5385 | +_LT_TAGVAR(no_undefined_flag, $1)= | ||
5386 | +_LT_TAGVAR(whole_archive_flag_spec, $1)= | ||
5387 | +_LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no | ||
5388 | + | ||
5389 | +# Source file extension for C++ test sources. | ||
5390 | +ac_ext=cpp | ||
5391 | + | ||
5392 | +# Object file extension for compiled C++ test sources. | ||
5393 | +objext=o | ||
5394 | +_LT_TAGVAR(objext, $1)=$objext | ||
5395 | + | ||
5396 | +# No sense in running all these tests if we already determined that | ||
5397 | +# the CXX compiler isn't working. Some variables (like enable_shared) | ||
5398 | +# are currently assumed to apply to all compilers on this platform, | ||
5399 | +# and will be corrupted by setting them based on a non-working compiler. | ||
5400 | +if test "$_lt_caught_CXX_error" != yes; then | ||
5401 | + # Code to be used in simple compile tests | ||
5402 | + lt_simple_compile_test_code="int some_variable = 0;" | ||
5403 | + | ||
5404 | + # Code to be used in simple link tests | ||
5405 | + lt_simple_link_test_code='int main(int, char *[[]]) { return(0); }' | ||
5406 | + | ||
5407 | + # ltmain only uses $CC for tagged configurations so make sure $CC is set. | ||
5408 | + _LT_TAG_COMPILER | ||
5409 | + | ||
5410 | + # save warnings/boilerplate of simple test code | ||
5411 | + _LT_COMPILER_BOILERPLATE | ||
5412 | + _LT_LINKER_BOILERPLATE | ||
5413 | + | ||
5414 | + # Allow CC to be a program name with arguments. | ||
5415 | + lt_save_CC=$CC | ||
5416 | + lt_save_LD=$LD | ||
5417 | + lt_save_GCC=$GCC | ||
5418 | + GCC=$GXX | ||
5419 | + lt_save_with_gnu_ld=$with_gnu_ld | ||
5420 | + lt_save_path_LD=$lt_cv_path_LD | ||
5421 | + if test -n "${lt_cv_prog_gnu_ldcxx+set}"; then | ||
5422 | + lt_cv_prog_gnu_ld=$lt_cv_prog_gnu_ldcxx | ||
5423 | + else | ||
5424 | + $as_unset lt_cv_prog_gnu_ld | ||
5425 | + fi | ||
5426 | + if test -n "${lt_cv_path_LDCXX+set}"; then | ||
5427 | + lt_cv_path_LD=$lt_cv_path_LDCXX | ||
5428 | + else | ||
5429 | + $as_unset lt_cv_path_LD | ||
5430 | + fi | ||
5431 | + test -z "${LDCXX+set}" || LD=$LDCXX | ||
5432 | + CC=${CXX-"c++"} | ||
5433 | + compiler=$CC | ||
5434 | + _LT_TAGVAR(compiler, $1)=$CC | ||
5435 | + _LT_CC_BASENAME([$compiler]) | ||
5436 | + | ||
5437 | + if test -n "$compiler"; then | ||
5438 | + # We don't want -fno-exception when compiling C++ code, so set the | ||
5439 | + # no_builtin_flag separately | ||
5440 | + if test "$GXX" = yes; then | ||
5441 | + _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -fno-builtin' | ||
5442 | + else | ||
5443 | + _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)= | ||
5444 | + fi | ||
5445 | + | ||
5446 | + if test "$GXX" = yes; then | ||
5447 | + # Set up default GNU C++ configuration | ||
5448 | + | ||
5449 | + LT_PATH_LD | ||
5450 | + | ||
5451 | + # Check if GNU C++ uses GNU ld as the underlying linker, since the | ||
5452 | + # archiving commands below assume that GNU ld is being used. | ||
5453 | + if test "$with_gnu_ld" = yes; then | ||
5454 | + _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib' | ||
5455 | + _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' | ||
5456 | + | ||
5457 | + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' | ||
5458 | + _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' | ||
5459 | + | ||
5460 | + # If archive_cmds runs LD, not CC, wlarc should be empty | ||
5461 | + # XXX I think wlarc can be eliminated in ltcf-cxx, but I need to | ||
5462 | + # investigate it a little bit more. (MM) | ||
5463 | + wlarc='${wl}' | ||
5464 | + | ||
5465 | + # ancient GNU ld didn't support --whole-archive et. al. | ||
5466 | + if eval "`$CC -print-prog-name=ld` --help 2>&1" | | ||
5467 | + $GREP 'no-whole-archive' > /dev/null; then | ||
5468 | + _LT_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' | ||
5469 | + else | ||
5470 | + _LT_TAGVAR(whole_archive_flag_spec, $1)= | ||
5471 | + fi | ||
5472 | + else | ||
5473 | + with_gnu_ld=no | ||
5474 | + wlarc= | ||
5475 | + | ||
5476 | + # A generic and very simple default shared library creation | ||
5477 | + # command for GNU C++ for the case where it uses the native | ||
5478 | + # linker, instead of GNU ld. If possible, this setting should | ||
5479 | + # overridden to take advantage of the native linker features on | ||
5480 | + # the platform it is being used on. | ||
5481 | + _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib' | ||
5482 | + fi | ||
5483 | + | ||
5484 | + # Commands to make compiler produce verbose output that lists | ||
5485 | + # what "hidden" libraries, object files and flags are used when | ||
5486 | + # linking a shared library. | ||
5487 | + output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "\-L"' | ||
5488 | + | ||
5489 | + else | ||
5490 | + GXX=no | ||
5491 | + with_gnu_ld=no | ||
5492 | + wlarc= | ||
5493 | + fi | ||
5494 | + | ||
5495 | + # PORTME: fill in a description of your system's C++ link characteristics | ||
5496 | + AC_MSG_CHECKING([whether the $compiler linker ($LD) supports shared libraries]) | ||
5497 | + _LT_TAGVAR(ld_shlibs, $1)=yes | ||
5498 | + case $host_os in | ||
5499 | + aix3*) | ||
5500 | + # FIXME: insert proper C++ library support | ||
5501 | + _LT_TAGVAR(ld_shlibs, $1)=no | ||
5502 | + ;; | ||
5503 | + aix[[4-9]]*) | ||
5504 | + if test "$host_cpu" = ia64; then | ||
5505 | + # On IA64, the linker does run time linking by default, so we don't | ||
5506 | + # have to do anything special. | ||
5507 | + aix_use_runtimelinking=no | ||
5508 | + exp_sym_flag='-Bexport' | ||
5509 | + no_entry_flag="" | ||
5510 | + else | ||
5511 | + aix_use_runtimelinking=no | ||
5512 | + | ||
5513 | + # Test if we are trying to use run time linking or normal | ||
5514 | + # AIX style linking. If -brtl is somewhere in LDFLAGS, we | ||
5515 | + # need to do runtime linking. | ||
5516 | + case $host_os in aix4.[[23]]|aix4.[[23]].*|aix[[5-9]]*) | ||
5517 | + for ld_flag in $LDFLAGS; do | ||
5518 | + case $ld_flag in | ||
5519 | + *-brtl*) | ||
5520 | + aix_use_runtimelinking=yes | ||
5521 | + break | ||
5522 | + ;; | ||
5523 | + esac | ||
5524 | + done | ||
5525 | + ;; | ||
5526 | + esac | ||
5527 | + | ||
5528 | + exp_sym_flag='-bexport' | ||
5529 | + no_entry_flag='-bnoentry' | ||
5530 | + fi | ||
5531 | + | ||
5532 | + # When large executables or shared objects are built, AIX ld can | ||
5533 | + # have problems creating the table of contents. If linking a library | ||
5534 | + # or program results in "error TOC overflow" add -mminimal-toc to | ||
5535 | + # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not | ||
5536 | + # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS. | ||
5537 | + | ||
5538 | + _LT_TAGVAR(archive_cmds, $1)='' | ||
5539 | + _LT_TAGVAR(hardcode_direct, $1)=yes | ||
5540 | + _LT_TAGVAR(hardcode_direct_absolute, $1)=yes | ||
5541 | + _LT_TAGVAR(hardcode_libdir_separator, $1)=':' | ||
5542 | + _LT_TAGVAR(link_all_deplibs, $1)=yes | ||
5543 | + _LT_TAGVAR(file_list_spec, $1)='${wl}-f,' | ||
5544 | + | ||
5545 | + if test "$GXX" = yes; then | ||
5546 | + case $host_os in aix4.[[012]]|aix4.[[012]].*) | ||
5547 | + # We only want to do this on AIX 4.2 and lower, the check | ||
5548 | + # below for broken collect2 doesn't work under 4.3+ | ||
5549 | + collect2name=`${CC} -print-prog-name=collect2` | ||
5550 | + if test -f "$collect2name" && | ||
5551 | + strings "$collect2name" | $GREP resolve_lib_name >/dev/null | ||
5552 | + then | ||
5553 | + # We have reworked collect2 | ||
5554 | + : | ||
5555 | + else | ||
5556 | + # We have old collect2 | ||
5557 | + _LT_TAGVAR(hardcode_direct, $1)=unsupported | ||
5558 | + # It fails to find uninstalled libraries when the uninstalled | ||
5559 | + # path is not listed in the libpath. Setting hardcode_minus_L | ||
5560 | + # to unsupported forces relinking | ||
5561 | + _LT_TAGVAR(hardcode_minus_L, $1)=yes | ||
5562 | + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' | ||
5563 | + _LT_TAGVAR(hardcode_libdir_separator, $1)= | ||
5564 | + fi | ||
5565 | + esac | ||
5566 | + shared_flag='-shared' | ||
5567 | + if test "$aix_use_runtimelinking" = yes; then | ||
5568 | + shared_flag="$shared_flag "'${wl}-G' | ||
5569 | + fi | ||
5570 | + else | ||
5571 | + # not using gcc | ||
5572 | + if test "$host_cpu" = ia64; then | ||
5573 | + # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release | ||
5574 | + # chokes on -Wl,-G. The following line is correct: | ||
5575 | + shared_flag='-G' | ||
5576 | + else | ||
5577 | + if test "$aix_use_runtimelinking" = yes; then | ||
5578 | + shared_flag='${wl}-G' | ||
5579 | + else | ||
5580 | + shared_flag='${wl}-bM:SRE' | ||
5581 | + fi | ||
5582 | + fi | ||
5583 | + fi | ||
5584 | + | ||
5585 | + _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-bexpall' | ||
5586 | + # It seems that -bexpall does not export symbols beginning with | ||
5587 | + # underscore (_), so it is better to generate a list of symbols to | ||
5588 | + # export. | ||
5589 | + _LT_TAGVAR(always_export_symbols, $1)=yes | ||
5590 | + if test "$aix_use_runtimelinking" = yes; then | ||
5591 | + # Warning - without using the other runtime loading flags (-brtl), | ||
5592 | + # -berok will link without error, but may produce a broken library. | ||
5593 | + _LT_TAGVAR(allow_undefined_flag, $1)='-berok' | ||
5594 | + # Determine the default libpath from the value encoded in an empty | ||
5595 | + # executable. | ||
5596 | + _LT_SYS_MODULE_PATH_AIX | ||
5597 | + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath" | ||
5598 | + | ||
5599 | + _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" | ||
5600 | + else | ||
5601 | + if test "$host_cpu" = ia64; then | ||
5602 | + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $libdir:/usr/lib:/lib' | ||
5603 | + _LT_TAGVAR(allow_undefined_flag, $1)="-z nodefs" | ||
5604 | + _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" | ||
5605 | + else | ||
5606 | + # Determine the default libpath from the value encoded in an | ||
5607 | + # empty executable. | ||
5608 | + _LT_SYS_MODULE_PATH_AIX | ||
5609 | + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath" | ||
5610 | + # Warning - without using the other run time loading flags, | ||
5611 | + # -berok will link without error, but may produce a broken library. | ||
5612 | + _LT_TAGVAR(no_undefined_flag, $1)=' ${wl}-bernotok' | ||
5613 | + _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-berok' | ||
5614 | + # Exported symbols can be pulled into shared objects from archives | ||
5615 | + _LT_TAGVAR(whole_archive_flag_spec, $1)='$convenience' | ||
5616 | + _LT_TAGVAR(archive_cmds_need_lc, $1)=yes | ||
5617 | + # This is similar to how AIX traditionally builds its shared | ||
5618 | + # libraries. | ||
5619 | + _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' | ||
5620 | + fi | ||
5621 | + fi | ||
5622 | + ;; | ||
5623 | + | ||
5624 | + beos*) | ||
5625 | + if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then | ||
5626 | + _LT_TAGVAR(allow_undefined_flag, $1)=unsupported | ||
5627 | + # Joseph Beckenbach <jrb3@best.com> says some releases of gcc | ||
5628 | + # support --undefined. This deserves some investigation. FIXME | ||
5629 | + _LT_TAGVAR(archive_cmds, $1)='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' | ||
5630 | + else | ||
5631 | + _LT_TAGVAR(ld_shlibs, $1)=no | ||
5632 | + fi | ||
5633 | + ;; | ||
5634 | + | ||
5635 | + chorus*) | ||
5636 | + case $cc_basename in | ||
5637 | + *) | ||
5638 | + # FIXME: insert proper C++ library support | ||
5639 | + _LT_TAGVAR(ld_shlibs, $1)=no | ||
5640 | + ;; | ||
5641 | + esac | ||
5642 | + ;; | ||
5643 | + | ||
5644 | + cygwin* | mingw* | pw32* | cegcc*) | ||
5645 | + # _LT_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless, | ||
5646 | + # as there is no search path for DLLs. | ||
5647 | + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir' | ||
5648 | + _LT_TAGVAR(allow_undefined_flag, $1)=unsupported | ||
5649 | + _LT_TAGVAR(always_export_symbols, $1)=no | ||
5650 | + _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes | ||
5651 | + | ||
5652 | + if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then | ||
5653 | + _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' | ||
5654 | + # If the export-symbols file already is a .def file (1st line | ||
5655 | + # is EXPORTS), use it as is; otherwise, prepend... | ||
5656 | + _LT_TAGVAR(archive_expsym_cmds, $1)='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then | ||
5657 | + cp $export_symbols $output_objdir/$soname.def; | ||
5658 | + else | ||
5659 | + echo EXPORTS > $output_objdir/$soname.def; | ||
5660 | + cat $export_symbols >> $output_objdir/$soname.def; | ||
5661 | + fi~ | ||
5662 | + $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' | ||
5663 | + else | ||
5664 | + _LT_TAGVAR(ld_shlibs, $1)=no | ||
5665 | + fi | ||
5666 | + ;; | ||
5667 | + darwin* | rhapsody*) | ||
5668 | + _LT_DARWIN_LINKER_FEATURES($1) | ||
5669 | + ;; | ||
5670 | + | ||
5671 | + dgux*) | ||
5672 | + case $cc_basename in | ||
5673 | + ec++*) | ||
5674 | + # FIXME: insert proper C++ library support | ||
5675 | + _LT_TAGVAR(ld_shlibs, $1)=no | ||
5676 | + ;; | ||
5677 | + ghcx*) | ||
5678 | + # Green Hills C++ Compiler | ||
5679 | + # FIXME: insert proper C++ library support | ||
5680 | + _LT_TAGVAR(ld_shlibs, $1)=no | ||
5681 | + ;; | ||
5682 | + *) | ||
5683 | + # FIXME: insert proper C++ library support | ||
5684 | + _LT_TAGVAR(ld_shlibs, $1)=no | ||
5685 | + ;; | ||
5686 | + esac | ||
5687 | + ;; | ||
5688 | + | ||
5689 | + freebsd[[12]]*) | ||
5690 | + # C++ shared libraries reported to be fairly broken before | ||
5691 | + # switch to ELF | ||
5692 | + _LT_TAGVAR(ld_shlibs, $1)=no | ||
5693 | + ;; | ||
5694 | + | ||
5695 | + freebsd-elf*) | ||
5696 | + _LT_TAGVAR(archive_cmds_need_lc, $1)=no | ||
5697 | + ;; | ||
5698 | + | ||
5699 | + freebsd* | dragonfly*) | ||
5700 | + # FreeBSD 3 and later use GNU C++ and GNU ld with standard ELF | ||
5701 | + # conventions | ||
5702 | + _LT_TAGVAR(ld_shlibs, $1)=yes | ||
5703 | + ;; | ||
5704 | + | ||
5705 | + gnu*) | ||
5706 | + ;; | ||
5707 | + | ||
5708 | + hpux9*) | ||
5709 | + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' | ||
5710 | + _LT_TAGVAR(hardcode_libdir_separator, $1)=: | ||
5711 | + _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' | ||
5712 | + _LT_TAGVAR(hardcode_direct, $1)=yes | ||
5713 | + _LT_TAGVAR(hardcode_minus_L, $1)=yes # Not in the search PATH, | ||
5714 | + # but as the default | ||
5715 | + # location of the library. | ||
5716 | + | ||
5717 | + case $cc_basename in | ||
5718 | + CC*) | ||
5719 | + # FIXME: insert proper C++ library support | ||
5720 | + _LT_TAGVAR(ld_shlibs, $1)=no | ||
5721 | + ;; | ||
5722 | + aCC*) | ||
5723 | + _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' | ||
5724 | + # Commands to make compiler produce verbose output that lists | ||
5725 | + # what "hidden" libraries, object files and flags are used when | ||
5726 | + # linking a shared library. | ||
5727 | + # | ||
5728 | + # There doesn't appear to be a way to prevent this compiler from | ||
5729 | + # explicitly linking system object files so we need to strip them | ||
5730 | + # from the output so that they don't get included in the library | ||
5731 | + # dependencies. | ||
5732 | + 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' | ||
5733 | + ;; | ||
5734 | + *) | ||
5735 | + if test "$GXX" = yes; then | ||
5736 | + _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' | ||
5737 | + else | ||
5738 | + # FIXME: insert proper C++ library support | ||
5739 | + _LT_TAGVAR(ld_shlibs, $1)=no | ||
5740 | + fi | ||
5741 | + ;; | ||
5742 | + esac | ||
5743 | + ;; | ||
5744 | + | ||
5745 | + hpux10*|hpux11*) | ||
5746 | + if test $with_gnu_ld = no; then | ||
5747 | + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir' | ||
5748 | + _LT_TAGVAR(hardcode_libdir_separator, $1)=: | ||
5749 | + | ||
5750 | + case $host_cpu in | ||
5751 | + hppa*64*|ia64*) | ||
5752 | + ;; | ||
5753 | + *) | ||
5754 | + _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' | ||
5755 | + ;; | ||
5756 | + esac | ||
5757 | + fi | ||
5758 | + case $host_cpu in | ||
5759 | + hppa*64*|ia64*) | ||
5760 | + _LT_TAGVAR(hardcode_direct, $1)=no | ||
5761 | + _LT_TAGVAR(hardcode_shlibpath_var, $1)=no | ||
5762 | + ;; | ||
5763 | + *) | ||
5764 | + _LT_TAGVAR(hardcode_direct, $1)=yes | ||
5765 | + _LT_TAGVAR(hardcode_direct_absolute, $1)=yes | ||
5766 | + _LT_TAGVAR(hardcode_minus_L, $1)=yes # Not in the search PATH, | ||
5767 | + # but as the default | ||
5768 | + # location of the library. | ||
5769 | + ;; | ||
5770 | + esac | ||
5771 | + | ||
5772 | + case $cc_basename in | ||
5773 | + CC*) | ||
5774 | + # FIXME: insert proper C++ library support | ||
5775 | + _LT_TAGVAR(ld_shlibs, $1)=no | ||
5776 | + ;; | ||
5777 | + aCC*) | ||
5778 | + case $host_cpu in | ||
5779 | + hppa*64*) | ||
5780 | + _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' | ||
5781 | + ;; | ||
5782 | + ia64*) | ||
5783 | + _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' | ||
5784 | + ;; | ||
5785 | + *) | ||
5786 | + _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' | ||
5787 | + ;; | ||
5788 | + esac | ||
5789 | + # Commands to make compiler produce verbose output that lists | ||
5790 | + # what "hidden" libraries, object files and flags are used when | ||
5791 | + # linking a shared library. | ||
5792 | + # | ||
5793 | + # There doesn't appear to be a way to prevent this compiler from | ||
5794 | + # explicitly linking system object files so we need to strip them | ||
5795 | + # from the output so that they don't get included in the library | ||
5796 | + # dependencies. | ||
5797 | + 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' | ||
5798 | + ;; | ||
5799 | + *) | ||
5800 | + if test "$GXX" = yes; then | ||
5801 | + if test $with_gnu_ld = no; then | ||
5802 | + case $host_cpu in | ||
5803 | + hppa*64*) | ||
5804 | + _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' | ||
5805 | + ;; | ||
5806 | + ia64*) | ||
5807 | + _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' | ||
5808 | + ;; | ||
5809 | + *) | ||
5810 | + _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' | ||
5811 | + ;; | ||
5812 | + esac | ||
5813 | + fi | ||
5814 | + else | ||
5815 | + # FIXME: insert proper C++ library support | ||
5816 | + _LT_TAGVAR(ld_shlibs, $1)=no | ||
5817 | + fi | ||
5818 | + ;; | ||
5819 | + esac | ||
5820 | + ;; | ||
5821 | + | ||
5822 | + interix[[3-9]]*) | ||
5823 | + _LT_TAGVAR(hardcode_direct, $1)=no | ||
5824 | + _LT_TAGVAR(hardcode_shlibpath_var, $1)=no | ||
5825 | + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' | ||
5826 | + _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' | ||
5827 | + # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc. | ||
5828 | + # Instead, shared libraries are loaded at an image base (0x10000000 by | ||
5829 | + # default) and relocated if they conflict, which is a slow very memory | ||
5830 | + # consuming and fragmenting process. To avoid this, we pick a random, | ||
5831 | + # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link | ||
5832 | + # time. Moving up from 0x10000000 also allows more sbrk(2) space. | ||
5833 | + _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' | ||
5834 | + _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' | ||
5835 | + ;; | ||
5836 | + irix5* | irix6*) | ||
5837 | + case $cc_basename in | ||
5838 | + CC*) | ||
5839 | + # SGI C++ | ||
5840 | + _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' | ||
5841 | + | ||
5842 | + # Archives containing C++ object files must be created using | ||
5843 | + # "CC -ar", where "CC" is the IRIX C++ compiler. This is | ||
5844 | + # necessary to make sure instantiated templates are included | ||
5845 | + # in the archive. | ||
5846 | + _LT_TAGVAR(old_archive_cmds, $1)='$CC -ar -WR,-u -o $oldlib $oldobjs' | ||
5847 | + ;; | ||
5848 | + *) | ||
5849 | + if test "$GXX" = yes; then | ||
5850 | + if test "$with_gnu_ld" = no; then | ||
5851 | + _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' | ||
5852 | + else | ||
5853 | + _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' | ||
5854 | + fi | ||
5855 | + fi | ||
5856 | + _LT_TAGVAR(link_all_deplibs, $1)=yes | ||
5857 | + ;; | ||
5858 | + esac | ||
5859 | + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' | ||
5860 | + _LT_TAGVAR(hardcode_libdir_separator, $1)=: | ||
5861 | + _LT_TAGVAR(inherit_rpath, $1)=yes | ||
5862 | + ;; | ||
5863 | + | ||
5864 | + linux* | k*bsd*-gnu) | ||
5865 | + case $cc_basename in | ||
5866 | + KCC*) | ||
5867 | + # Kuck and Associates, Inc. (KAI) C++ Compiler | ||
5868 | + | ||
5869 | + # KCC will only create a shared library if the output file | ||
5870 | + # ends with ".so" (or ".sl" for HP-UX), so rename the library | ||
5871 | + # to its proper name (with version) after linking. | ||
5872 | + _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' | ||
5873 | + _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' | ||
5874 | + # Commands to make compiler produce verbose output that lists | ||
5875 | + # what "hidden" libraries, object files and flags are used when | ||
5876 | + # linking a shared library. | ||
5877 | + # | ||
5878 | + # There doesn't appear to be a way to prevent this compiler from | ||
5879 | + # explicitly linking system object files so we need to strip them | ||
5880 | + # from the output so that they don't get included in the library | ||
5881 | + # dependencies. | ||
5882 | + 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' | ||
5883 | + | ||
5884 | + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' | ||
5885 | + _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' | ||
5886 | + | ||
5887 | + # Archives containing C++ object files must be created using | ||
5888 | + # "CC -Bstatic", where "CC" is the KAI C++ compiler. | ||
5889 | + _LT_TAGVAR(old_archive_cmds, $1)='$CC -Bstatic -o $oldlib $oldobjs' | ||
5890 | + ;; | ||
5891 | + icpc* | ecpc* ) | ||
5892 | + # Intel C++ | ||
5893 | + with_gnu_ld=yes | ||
5894 | + # version 8.0 and above of icpc choke on multiply defined symbols | ||
5895 | + # if we add $predep_objects and $postdep_objects, however 7.1 and | ||
5896 | + # earlier do not add the objects themselves. | ||
5897 | + case `$CC -V 2>&1` in | ||
5898 | + *"Version 7."*) | ||
5899 | + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib' | ||
5900 | + _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' | ||
5901 | + ;; | ||
5902 | + *) # Version 8.0 or newer | ||
5903 | + tmp_idyn= | ||
5904 | + case $host_cpu in | ||
5905 | + ia64*) tmp_idyn=' -i_dynamic';; | ||
5906 | + esac | ||
5907 | + _LT_TAGVAR(archive_cmds, $1)='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' | ||
5908 | + _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' | ||
5909 | + ;; | ||
5910 | + esac | ||
5911 | + _LT_TAGVAR(archive_cmds_need_lc, $1)=no | ||
5912 | + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' | ||
5913 | + _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' | ||
5914 | + _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive$convenience ${wl}--no-whole-archive' | ||
5915 | + ;; | ||
5916 | + pgCC* | pgcpp*) | ||
5917 | + # Portland Group C++ compiler | ||
5918 | + case `$CC -V` in | ||
5919 | + *pgCC\ [[1-5]]* | *pgcpp\ [[1-5]]*) | ||
5920 | + _LT_TAGVAR(prelink_cmds, $1)='tpldir=Template.dir~ | ||
5921 | + rm -rf $tpldir~ | ||
5922 | + $CC --prelink_objects --instantiation_dir $tpldir $objs $libobjs $compile_deplibs~ | ||
5923 | + compile_command="$compile_command `find $tpldir -name \*.o | $NL2SP`"' | ||
5924 | + _LT_TAGVAR(old_archive_cmds, $1)='tpldir=Template.dir~ | ||
5925 | + rm -rf $tpldir~ | ||
5926 | + $CC --prelink_objects --instantiation_dir $tpldir $oldobjs$old_deplibs~ | ||
5927 | + $AR $AR_FLAGS $oldlib$oldobjs$old_deplibs `find $tpldir -name \*.o | $NL2SP`~ | ||
5928 | + $RANLIB $oldlib' | ||
5929 | + _LT_TAGVAR(archive_cmds, $1)='tpldir=Template.dir~ | ||
5930 | + rm -rf $tpldir~ | ||
5931 | + $CC --prelink_objects --instantiation_dir $tpldir $predep_objects $libobjs $deplibs $convenience $postdep_objects~ | ||
5932 | + $CC -shared $pic_flag $predep_objects $libobjs $deplibs `find $tpldir -name \*.o | $NL2SP` $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib' | ||
5933 | + _LT_TAGVAR(archive_expsym_cmds, $1)='tpldir=Template.dir~ | ||
5934 | + rm -rf $tpldir~ | ||
5935 | + $CC --prelink_objects --instantiation_dir $tpldir $predep_objects $libobjs $deplibs $convenience $postdep_objects~ | ||
5936 | + $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' | ||
5937 | + ;; | ||
5938 | + *) # Version 6 will use weak symbols | ||
5939 | + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib' | ||
5940 | + _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' | ||
5941 | + ;; | ||
5942 | + esac | ||
5943 | + | ||
5944 | + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}--rpath ${wl}$libdir' | ||
5945 | + _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' | ||
5946 | + _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' | ||
5947 | + ;; | ||
5948 | + cxx*) | ||
5949 | + # Compaq C++ | ||
5950 | + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib' | ||
5951 | + _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' | ||
5952 | + | ||
5953 | + runpath_var=LD_RUN_PATH | ||
5954 | + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir' | ||
5955 | + _LT_TAGVAR(hardcode_libdir_separator, $1)=: | ||
5956 | + | ||
5957 | + # Commands to make compiler produce verbose output that lists | ||
5958 | + # what "hidden" libraries, object files and flags are used when | ||
5959 | + # linking a shared library. | ||
5960 | + # | ||
5961 | + # There doesn't appear to be a way to prevent this compiler from | ||
5962 | + # explicitly linking system object files so we need to strip them | ||
5963 | + # from the output so that they don't get included in the library | ||
5964 | + # dependencies. | ||
5965 | + 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' | ||
5966 | + ;; | ||
5967 | + xl*) | ||
5968 | + # IBM XL 8.0 on PPC, with GNU ld | ||
5969 | + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' | ||
5970 | + _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic' | ||
5971 | + _LT_TAGVAR(archive_cmds, $1)='$CC -qmkshrobj $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib' | ||
5972 | + if test "x$supports_anon_versioning" = xyes; then | ||
5973 | + _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~ | ||
5974 | + cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~ | ||
5975 | + echo "local: *; };" >> $output_objdir/$libname.ver~ | ||
5976 | + $CC -qmkshrobj $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib' | ||
5977 | + fi | ||
5978 | + ;; | ||
5979 | + *) | ||
5980 | + case `$CC -V 2>&1 | sed 5q` in | ||
5981 | + *Sun\ C*) | ||
5982 | + # Sun C++ 5.9 | ||
5983 | + _LT_TAGVAR(no_undefined_flag, $1)=' -zdefs' | ||
5984 | + _LT_TAGVAR(archive_cmds, $1)='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' | ||
5985 | + _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' | ||
5986 | + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' | ||
5987 | + _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' | ||
5988 | + _LT_TAGVAR(compiler_needs_object, $1)=yes | ||
5989 | + | ||
5990 | + # Not sure whether something based on | ||
5991 | + # $CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1 | ||
5992 | + # would be better. | ||
5993 | + output_verbose_link_cmd='echo' | ||
5994 | + | ||
5995 | + # Archives containing C++ object files must be created using | ||
5996 | + # "CC -xar", where "CC" is the Sun C++ compiler. This is | ||
5997 | + # necessary to make sure instantiated templates are included | ||
5998 | + # in the archive. | ||
5999 | + _LT_TAGVAR(old_archive_cmds, $1)='$CC -xar -o $oldlib $oldobjs' | ||
6000 | + ;; | ||
6001 | + esac | ||
6002 | + ;; | ||
6003 | + esac | ||
6004 | + ;; | ||
6005 | + | ||
6006 | + lynxos*) | ||
6007 | + # FIXME: insert proper C++ library support | ||
6008 | + _LT_TAGVAR(ld_shlibs, $1)=no | ||
6009 | + ;; | ||
6010 | + | ||
6011 | + m88k*) | ||
6012 | + # FIXME: insert proper C++ library support | ||
6013 | + _LT_TAGVAR(ld_shlibs, $1)=no | ||
6014 | + ;; | ||
6015 | + | ||
6016 | + mvs*) | ||
6017 | + case $cc_basename in | ||
6018 | + cxx*) | ||
6019 | + # FIXME: insert proper C++ library support | ||
6020 | + _LT_TAGVAR(ld_shlibs, $1)=no | ||
6021 | + ;; | ||
6022 | + *) | ||
6023 | + # FIXME: insert proper C++ library support | ||
6024 | + _LT_TAGVAR(ld_shlibs, $1)=no | ||
6025 | + ;; | ||
6026 | + esac | ||
6027 | + ;; | ||
6028 | + | ||
6029 | + netbsd*) | ||
6030 | + if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then | ||
6031 | + _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $predep_objects $libobjs $deplibs $postdep_objects $linker_flags' | ||
6032 | + wlarc= | ||
6033 | + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' | ||
6034 | + _LT_TAGVAR(hardcode_direct, $1)=yes | ||
6035 | + _LT_TAGVAR(hardcode_shlibpath_var, $1)=no | ||
6036 | + fi | ||
6037 | + # Workaround some broken pre-1.5 toolchains | ||
6038 | + output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP conftest.$objext | $SED -e "s:-lgcc -lc -lgcc::"' | ||
6039 | + ;; | ||
6040 | + | ||
6041 | + *nto* | *qnx*) | ||
6042 | + _LT_TAGVAR(ld_shlibs, $1)=yes | ||
6043 | + ;; | ||
6044 | + | ||
6045 | + openbsd2*) | ||
6046 | + # C++ shared libraries are fairly broken | ||
6047 | + _LT_TAGVAR(ld_shlibs, $1)=no | ||
6048 | + ;; | ||
6049 | + | ||
6050 | + openbsd*) | ||
6051 | + if test -f /usr/libexec/ld.so; then | ||
6052 | + _LT_TAGVAR(hardcode_direct, $1)=yes | ||
6053 | + _LT_TAGVAR(hardcode_shlibpath_var, $1)=no | ||
6054 | + _LT_TAGVAR(hardcode_direct_absolute, $1)=yes | ||
6055 | + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib' | ||
6056 | + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' | ||
6057 | + if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then | ||
6058 | + _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' | ||
6059 | + _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E' | ||
6060 | + _LT_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive' | ||
6061 | + fi | ||
6062 | + output_verbose_link_cmd=echo | ||
6063 | + else | ||
6064 | + _LT_TAGVAR(ld_shlibs, $1)=no | ||
6065 | + fi | ||
6066 | + ;; | ||
6067 | + | ||
6068 | + osf3* | osf4* | osf5*) | ||
6069 | + case $cc_basename in | ||
6070 | + KCC*) | ||
6071 | + # Kuck and Associates, Inc. (KAI) C++ Compiler | ||
6072 | + | ||
6073 | + # KCC will only create a shared library if the output file | ||
6074 | + # ends with ".so" (or ".sl" for HP-UX), so rename the library | ||
6075 | + # to its proper name (with version) after linking. | ||
6076 | + _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' | ||
6077 | + | ||
6078 | + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir' | ||
6079 | + _LT_TAGVAR(hardcode_libdir_separator, $1)=: | ||
6080 | + | ||
6081 | + # Archives containing C++ object files must be created using | ||
6082 | + # the KAI C++ compiler. | ||
6083 | + case $host in | ||
6084 | + osf3*) _LT_TAGVAR(old_archive_cmds, $1)='$CC -Bstatic -o $oldlib $oldobjs' ;; | ||
6085 | + *) _LT_TAGVAR(old_archive_cmds, $1)='$CC -o $oldlib $oldobjs' ;; | ||
6086 | + esac | ||
6087 | + ;; | ||
6088 | + RCC*) | ||
6089 | + # Rational C++ 2.4.1 | ||
6090 | + # FIXME: insert proper C++ library support | ||
6091 | + _LT_TAGVAR(ld_shlibs, $1)=no | ||
6092 | + ;; | ||
6093 | + cxx*) | ||
6094 | + case $host in | ||
6095 | + osf3*) | ||
6096 | + _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*' | ||
6097 | + _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' | ||
6098 | + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' | ||
6099 | + ;; | ||
6100 | + *) | ||
6101 | + _LT_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*' | ||
6102 | + _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' | ||
6103 | + _LT_TAGVAR(archive_expsym_cmds, $1)='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done~ | ||
6104 | + echo "-hidden">> $lib.exp~ | ||
6105 | + $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~ | ||
6106 | + $RM $lib.exp' | ||
6107 | + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir' | ||
6108 | + ;; | ||
6109 | + esac | ||
6110 | + | ||
6111 | + _LT_TAGVAR(hardcode_libdir_separator, $1)=: | ||
6112 | + | ||
6113 | + # Commands to make compiler produce verbose output that lists | ||
6114 | + # what "hidden" libraries, object files and flags are used when | ||
6115 | + # linking a shared library. | ||
6116 | + # | ||
6117 | + # There doesn't appear to be a way to prevent this compiler from | ||
6118 | + # explicitly linking system object files so we need to strip them | ||
6119 | + # from the output so that they don't get included in the library | ||
6120 | + # dependencies. | ||
6121 | + 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' | ||
6122 | + ;; | ||
6123 | + *) | ||
6124 | + if test "$GXX" = yes && test "$with_gnu_ld" = no; then | ||
6125 | + _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*' | ||
6126 | + case $host in | ||
6127 | + osf3*) | ||
6128 | + _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' | ||
6129 | + ;; | ||
6130 | + *) | ||
6131 | + _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' | ||
6132 | + ;; | ||
6133 | + esac | ||
6134 | + | ||
6135 | + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir' | ||
6136 | + _LT_TAGVAR(hardcode_libdir_separator, $1)=: | ||
6137 | + | ||
6138 | + # Commands to make compiler produce verbose output that lists | ||
6139 | + # what "hidden" libraries, object files and flags are used when | ||
6140 | + # linking a shared library. | ||
6141 | + output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "\-L"' | ||
6142 | + | ||
6143 | + else | ||
6144 | + # FIXME: insert proper C++ library support | ||
6145 | + _LT_TAGVAR(ld_shlibs, $1)=no | ||
6146 | + fi | ||
6147 | + ;; | ||
6148 | + esac | ||
6149 | + ;; | ||
6150 | + | ||
6151 | + psos*) | ||
6152 | + # FIXME: insert proper C++ library support | ||
6153 | + _LT_TAGVAR(ld_shlibs, $1)=no | ||
6154 | + ;; | ||
6155 | + | ||
6156 | + sunos4*) | ||
6157 | + case $cc_basename in | ||
6158 | + CC*) | ||
6159 | + # Sun C++ 4.x | ||
6160 | + # FIXME: insert proper C++ library support | ||
6161 | + _LT_TAGVAR(ld_shlibs, $1)=no | ||
6162 | + ;; | ||
6163 | + lcc*) | ||
6164 | + # Lucid | ||
6165 | + # FIXME: insert proper C++ library support | ||
6166 | + _LT_TAGVAR(ld_shlibs, $1)=no | ||
6167 | + ;; | ||
6168 | + *) | ||
6169 | + # FIXME: insert proper C++ library support | ||
6170 | + _LT_TAGVAR(ld_shlibs, $1)=no | ||
6171 | + ;; | ||
6172 | + esac | ||
6173 | + ;; | ||
6174 | + | ||
6175 | + solaris*) | ||
6176 | + case $cc_basename in | ||
6177 | + CC*) | ||
6178 | + # Sun C++ 4.2, 5.x and Centerline C++ | ||
6179 | + _LT_TAGVAR(archive_cmds_need_lc,$1)=yes | ||
6180 | + _LT_TAGVAR(no_undefined_flag, $1)=' -zdefs' | ||
6181 | + _LT_TAGVAR(archive_cmds, $1)='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags' | ||
6182 | + _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ | ||
6183 | + $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' | ||
6184 | + | ||
6185 | + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir' | ||
6186 | + _LT_TAGVAR(hardcode_shlibpath_var, $1)=no | ||
6187 | + case $host_os in | ||
6188 | + solaris2.[[0-5]] | solaris2.[[0-5]].*) ;; | ||
6189 | + *) | ||
6190 | + # The compiler driver will combine and reorder linker options, | ||
6191 | + # but understands `-z linker_flag'. | ||
6192 | + # Supported since Solaris 2.6 (maybe 2.5.1?) | ||
6193 | + _LT_TAGVAR(whole_archive_flag_spec, $1)='-z allextract$convenience -z defaultextract' | ||
6194 | + ;; | ||
6195 | + esac | ||
6196 | + _LT_TAGVAR(link_all_deplibs, $1)=yes | ||
6197 | + | ||
6198 | + output_verbose_link_cmd='echo' | ||
6199 | + | ||
6200 | + # Archives containing C++ object files must be created using | ||
6201 | + # "CC -xar", where "CC" is the Sun C++ compiler. This is | ||
6202 | + # necessary to make sure instantiated templates are included | ||
6203 | + # in the archive. | ||
6204 | + _LT_TAGVAR(old_archive_cmds, $1)='$CC -xar -o $oldlib $oldobjs' | ||
6205 | + ;; | ||
6206 | + gcx*) | ||
6207 | + # Green Hills C++ Compiler | ||
6208 | + _LT_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib' | ||
6209 | + | ||
6210 | + # The C++ compiler must be used to create the archive. | ||
6211 | + _LT_TAGVAR(old_archive_cmds, $1)='$CC $LDFLAGS -archive -o $oldlib $oldobjs' | ||
6212 | + ;; | ||
6213 | + *) | ||
6214 | + # GNU C++ compiler with Solaris linker | ||
6215 | + if test "$GXX" = yes && test "$with_gnu_ld" = no; then | ||
6216 | + _LT_TAGVAR(no_undefined_flag, $1)=' ${wl}-z ${wl}defs' | ||
6217 | + if $CC --version | $GREP -v '^2\.7' > /dev/null; then | ||
6218 | + _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib' | ||
6219 | + _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ | ||
6220 | + $CC -shared -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp' | ||
6221 | + | ||
6222 | + # Commands to make compiler produce verbose output that lists | ||
6223 | + # what "hidden" libraries, object files and flags are used when | ||
6224 | + # linking a shared library. | ||
6225 | + output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "\-L"' | ||
6226 | + else | ||
6227 | + # g++ 2.7 appears to require `-G' NOT `-shared' on this | ||
6228 | + # platform. | ||
6229 | + _LT_TAGVAR(archive_cmds, $1)='$CC -G -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib' | ||
6230 | + _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~ | ||
6231 | + $CC -G -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp' | ||
6232 | + | ||
6233 | + # Commands to make compiler produce verbose output that lists | ||
6234 | + # what "hidden" libraries, object files and flags are used when | ||
6235 | + # linking a shared library. | ||
6236 | + output_verbose_link_cmd='$CC -G $CFLAGS -v conftest.$objext 2>&1 | $GREP "\-L"' | ||
6237 | + fi | ||
6238 | + | ||
6239 | + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $wl$libdir' | ||
6240 | + case $host_os in | ||
6241 | + solaris2.[[0-5]] | solaris2.[[0-5]].*) ;; | ||
6242 | + *) | ||
6243 | + _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract' | ||
6244 | + ;; | ||
6245 | + esac | ||
6246 | + fi | ||
6247 | + ;; | ||
6248 | + esac | ||
6249 | + ;; | ||
6250 | + | ||
6251 | + sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[[01]].[[10]]* | unixware7* | sco3.2v5.0.[[024]]*) | ||
6252 | + _LT_TAGVAR(no_undefined_flag, $1)='${wl}-z,text' | ||
6253 | + _LT_TAGVAR(archive_cmds_need_lc, $1)=no | ||
6254 | + _LT_TAGVAR(hardcode_shlibpath_var, $1)=no | ||
6255 | + runpath_var='LD_RUN_PATH' | ||
6256 | + | ||
6257 | + case $cc_basename in | ||
6258 | + CC*) | ||
6259 | + _LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' | ||
6260 | + _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' | ||
6261 | + ;; | ||
6262 | + *) | ||
6263 | + _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' | ||
6264 | + _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' | ||
6265 | + ;; | ||
6266 | + esac | ||
6267 | + ;; | ||
6268 | + | ||
6269 | + sysv5* | sco3.2v5* | sco5v6*) | ||
6270 | + # Note: We can NOT use -z defs as we might desire, because we do not | ||
6271 | + # link with -lc, and that would cause any symbols used from libc to | ||
6272 | + # always be unresolved, which means just about no library would | ||
6273 | + # ever link correctly. If we're not using GNU ld we use -z text | ||
6274 | + # though, which does catch some bad symbols but isn't as heavy-handed | ||
6275 | + # as -z defs. | ||
6276 | + _LT_TAGVAR(no_undefined_flag, $1)='${wl}-z,text' | ||
6277 | + _LT_TAGVAR(allow_undefined_flag, $1)='${wl}-z,nodefs' | ||
6278 | + _LT_TAGVAR(archive_cmds_need_lc, $1)=no | ||
6279 | + _LT_TAGVAR(hardcode_shlibpath_var, $1)=no | ||
6280 | + _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R,$libdir' | ||
6281 | + _LT_TAGVAR(hardcode_libdir_separator, $1)=':' | ||
6282 | + _LT_TAGVAR(link_all_deplibs, $1)=yes | ||
6283 | + _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-Bexport' | ||
6284 | + runpath_var='LD_RUN_PATH' | ||
6285 | + | ||
6286 | + case $cc_basename in | ||
6287 | + CC*) | ||
6288 | + _LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' | ||
6289 | + _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' | ||
6290 | + ;; | ||
6291 | + *) | ||
6292 | + _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' | ||
6293 | + _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags' | ||
6294 | + ;; | ||
6295 | + esac | ||
6296 | + ;; | ||
6297 | + | ||
6298 | + tandem*) | ||
6299 | + case $cc_basename in | ||
6300 | + NCC*) | ||
6301 | + # NonStop-UX NCC 3.20 | ||
6302 | + # FIXME: insert proper C++ library support | ||
6303 | + _LT_TAGVAR(ld_shlibs, $1)=no | ||
6304 | + ;; | ||
6305 | + *) | ||
6306 | + # FIXME: insert proper C++ library support | ||
6307 | + _LT_TAGVAR(ld_shlibs, $1)=no | ||
6308 | + ;; | ||
6309 | + esac | ||
6310 | + ;; | ||
6311 | + | ||
6312 | + vxworks*) | ||
6313 | + # FIXME: insert proper C++ library support | ||
6314 | + _LT_TAGVAR(ld_shlibs, $1)=no | ||
6315 | + ;; | ||
6316 | + | ||
6317 | + *) | ||
6318 | + # FIXME: insert proper C++ library support | ||
6319 | + _LT_TAGVAR(ld_shlibs, $1)=no | ||
6320 | + ;; | ||
6321 | + esac | ||
6322 | + | ||
6323 | + AC_MSG_RESULT([$_LT_TAGVAR(ld_shlibs, $1)]) | ||
6324 | + test "$_LT_TAGVAR(ld_shlibs, $1)" = no && can_build_shared=no | ||
6325 | + | ||
6326 | + _LT_TAGVAR(GCC, $1)="$GXX" | ||
6327 | + _LT_TAGVAR(LD, $1)="$LD" | ||
6328 | + | ||
6329 | + ## CAVEAT EMPTOR: | ||
6330 | + ## There is no encapsulation within the following macros, do not change | ||
6331 | + ## the running order or otherwise move them around unless you know exactly | ||
6332 | + ## what you are doing... | ||
6333 | + _LT_SYS_HIDDEN_LIBDEPS($1) | ||
6334 | + _LT_COMPILER_PIC($1) | ||
6335 | + _LT_COMPILER_C_O($1) | ||
6336 | + _LT_COMPILER_FILE_LOCKS($1) | ||
6337 | + _LT_LINKER_SHLIBS($1) | ||
6338 | + _LT_SYS_DYNAMIC_LINKER($1) | ||
6339 | + _LT_LINKER_HARDCODE_LIBPATH($1) | ||
6340 | + | ||
6341 | + _LT_CONFIG($1) | ||
6342 | + fi # test -n "$compiler" | ||
6343 | + | ||
6344 | + CC=$lt_save_CC | ||
6345 | + LDCXX=$LD | ||
6346 | + LD=$lt_save_LD | ||
6347 | + GCC=$lt_save_GCC | ||
6348 | + with_gnu_ld=$lt_save_with_gnu_ld | ||
6349 | + lt_cv_path_LDCXX=$lt_cv_path_LD | ||
6350 | + lt_cv_path_LD=$lt_save_path_LD | ||
6351 | + lt_cv_prog_gnu_ldcxx=$lt_cv_prog_gnu_ld | ||
6352 | + lt_cv_prog_gnu_ld=$lt_save_with_gnu_ld | ||
6353 | +fi # test "$_lt_caught_CXX_error" != yes | ||
6354 | + | ||
6355 | +AC_LANG_POP | ||
6356 | +])# _LT_LANG_CXX_CONFIG | ||
6357 | + | ||
6358 | + | ||
6359 | +# _LT_SYS_HIDDEN_LIBDEPS([TAGNAME]) | ||
6360 | +# --------------------------------- | ||
6361 | +# Figure out "hidden" library dependencies from verbose | ||
6362 | +# compiler output when linking a shared library. | ||
6363 | +# Parse the compiler output and extract the necessary | ||
6364 | +# objects, libraries and library flags. | ||
6365 | +m4_defun([_LT_SYS_HIDDEN_LIBDEPS], | ||
6366 | +[m4_require([_LT_FILEUTILS_DEFAULTS])dnl | ||
6367 | +# Dependencies to place before and after the object being linked: | ||
6368 | +_LT_TAGVAR(predep_objects, $1)= | ||
6369 | +_LT_TAGVAR(postdep_objects, $1)= | ||
6370 | +_LT_TAGVAR(predeps, $1)= | ||
6371 | +_LT_TAGVAR(postdeps, $1)= | ||
6372 | +_LT_TAGVAR(compiler_lib_search_path, $1)= | ||
6373 | + | ||
6374 | +dnl we can't use the lt_simple_compile_test_code here, | ||
6375 | +dnl because it contains code intended for an executable, | ||
6376 | +dnl not a library. It's possible we should let each | ||
6377 | +dnl tag define a new lt_????_link_test_code variable, | ||
6378 | +dnl but it's only used here... | ||
6379 | +m4_if([$1], [], [cat > conftest.$ac_ext <<_LT_EOF | ||
6380 | +int a; | ||
6381 | +void foo (void) { a = 0; } | ||
6382 | +_LT_EOF | ||
6383 | +], [$1], [CXX], [cat > conftest.$ac_ext <<_LT_EOF | ||
6384 | +class Foo | ||
6385 | +{ | ||
6386 | +public: | ||
6387 | + Foo (void) { a = 0; } | ||
6388 | +private: | ||
6389 | + int a; | ||
6390 | +}; | ||
6391 | +_LT_EOF | ||
6392 | +], [$1], [F77], [cat > conftest.$ac_ext <<_LT_EOF | ||
6393 | + subroutine foo | ||
6394 | + implicit none | ||
6395 | + integer*4 a | ||
6396 | + a=0 | ||
6397 | + return | ||
6398 | + end | ||
6399 | +_LT_EOF | ||
6400 | +], [$1], [FC], [cat > conftest.$ac_ext <<_LT_EOF | ||
6401 | + subroutine foo | ||
6402 | + implicit none | ||
6403 | + integer a | ||
6404 | + a=0 | ||
6405 | + return | ||
6406 | + end | ||
6407 | +_LT_EOF | ||
6408 | +], [$1], [GCJ], [cat > conftest.$ac_ext <<_LT_EOF | ||
6409 | +public class foo { | ||
6410 | + private int a; | ||
6411 | + public void bar (void) { | ||
6412 | + a = 0; | ||
6413 | + } | ||
6414 | +}; | ||
6415 | +_LT_EOF | ||
6416 | +]) | ||
6417 | +dnl Parse the compiler output and extract the necessary | ||
6418 | +dnl objects, libraries and library flags. | ||
6419 | +if AC_TRY_EVAL(ac_compile); then | ||
6420 | + # Parse the compiler output and extract the necessary | ||
6421 | + # objects, libraries and library flags. | ||
6422 | + | ||
6423 | + # Sentinel used to keep track of whether or not we are before | ||
6424 | + # the conftest object file. | ||
6425 | + pre_test_object_deps_done=no | ||
6426 | + | ||
6427 | + for p in `eval "$output_verbose_link_cmd"`; do | ||
6428 | + case $p in | ||
6429 | + | ||
6430 | + -L* | -R* | -l*) | ||
6431 | + # Some compilers place space between "-{L,R}" and the path. | ||
6432 | + # Remove the space. | ||
6433 | + if test $p = "-L" || | ||
6434 | + test $p = "-R"; then | ||
6435 | + prev=$p | ||
6436 | + continue | ||
6437 | + else | ||
6438 | + prev= | ||
6439 | + fi | ||
6440 | + | ||
6441 | + if test "$pre_test_object_deps_done" = no; then | ||
6442 | + case $p in | ||
6443 | + -L* | -R*) | ||
6444 | + # Internal compiler library paths should come after those | ||
6445 | + # provided the user. The postdeps already come after the | ||
6446 | + # user supplied libs so there is no need to process them. | ||
6447 | + if test -z "$_LT_TAGVAR(compiler_lib_search_path, $1)"; then | ||
6448 | + _LT_TAGVAR(compiler_lib_search_path, $1)="${prev}${p}" | ||
6449 | + else | ||
6450 | + _LT_TAGVAR(compiler_lib_search_path, $1)="${_LT_TAGVAR(compiler_lib_search_path, $1)} ${prev}${p}" | ||
6451 | + fi | ||
6452 | + ;; | ||
6453 | + # The "-l" case would never come before the object being | ||
6454 | + # linked, so don't bother handling this case. | ||
6455 | + esac | ||
6456 | + else | ||
6457 | + if test -z "$_LT_TAGVAR(postdeps, $1)"; then | ||
6458 | + _LT_TAGVAR(postdeps, $1)="${prev}${p}" | ||
6459 | + else | ||
6460 | + _LT_TAGVAR(postdeps, $1)="${_LT_TAGVAR(postdeps, $1)} ${prev}${p}" | ||
6461 | + fi | ||
6462 | + fi | ||
6463 | + ;; | ||
6464 | + | ||
6465 | + *.$objext) | ||
6466 | + # This assumes that the test object file only shows up | ||
6467 | + # once in the compiler output. | ||
6468 | + if test "$p" = "conftest.$objext"; then | ||
6469 | + pre_test_object_deps_done=yes | ||
6470 | + continue | ||
6471 | + fi | ||
6472 | + | ||
6473 | + if test "$pre_test_object_deps_done" = no; then | ||
6474 | + if test -z "$_LT_TAGVAR(predep_objects, $1)"; then | ||
6475 | + _LT_TAGVAR(predep_objects, $1)="$p" | ||
6476 | + else | ||
6477 | + _LT_TAGVAR(predep_objects, $1)="$_LT_TAGVAR(predep_objects, $1) $p" | ||
6478 | + fi | ||
6479 | + else | ||
6480 | + if test -z "$_LT_TAGVAR(postdep_objects, $1)"; then | ||
6481 | + _LT_TAGVAR(postdep_objects, $1)="$p" | ||
6482 | + else | ||
6483 | + _LT_TAGVAR(postdep_objects, $1)="$_LT_TAGVAR(postdep_objects, $1) $p" | ||
6484 | + fi | ||
6485 | + fi | ||
6486 | + ;; | ||
6487 | + | ||
6488 | + *) ;; # Ignore the rest. | ||
6489 | + | ||
6490 | + esac | ||
6491 | + done | ||
6492 | + | ||
6493 | + # Clean up. | ||
6494 | + rm -f a.out a.exe | ||
6495 | +else | ||
6496 | + echo "libtool.m4: error: problem compiling $1 test program" | ||
6497 | +fi | ||
6498 | + | ||
6499 | +$RM -f confest.$objext | ||
6500 | + | ||
6501 | +# PORTME: override above test on systems where it is broken | ||
6502 | +m4_if([$1], [CXX], | ||
6503 | +[case $host_os in | ||
6504 | +interix[[3-9]]*) | ||
6505 | + # Interix 3.5 installs completely hosed .la files for C++, so rather than | ||
6506 | + # hack all around it, let's just trust "g++" to DTRT. | ||
6507 | + _LT_TAGVAR(predep_objects,$1)= | ||
6508 | + _LT_TAGVAR(postdep_objects,$1)= | ||
6509 | + _LT_TAGVAR(postdeps,$1)= | ||
6510 | + ;; | ||
6511 | + | ||
6512 | +linux*) | ||
6513 | + case `$CC -V 2>&1 | sed 5q` in | ||
6514 | + *Sun\ C*) | ||
6515 | + # Sun C++ 5.9 | ||
6516 | + | ||
6517 | + # The more standards-conforming stlport4 library is | ||
6518 | + # incompatible with the Cstd library. Avoid specifying | ||
6519 | + # it if it's in CXXFLAGS. Ignore libCrun as | ||
6520 | + # -library=stlport4 depends on it. | ||
6521 | + case " $CXX $CXXFLAGS " in | ||
6522 | + *" -library=stlport4 "*) | ||
6523 | + solaris_use_stlport4=yes | ||
6524 | + ;; | ||
6525 | + esac | ||
6526 | + | ||
6527 | + if test "$solaris_use_stlport4" != yes; then | ||
6528 | + _LT_TAGVAR(postdeps,$1)='-library=Cstd -library=Crun' | ||
6529 | + fi | ||
6530 | + ;; | ||
6531 | + esac | ||
6532 | + ;; | ||
6533 | + | ||
6534 | +solaris*) | ||
6535 | + case $cc_basename in | ||
6536 | + CC*) | ||
6537 | + # The more standards-conforming stlport4 library is | ||
6538 | + # incompatible with the Cstd library. Avoid specifying | ||
6539 | + # it if it's in CXXFLAGS. Ignore libCrun as | ||
6540 | + # -library=stlport4 depends on it. | ||
6541 | + case " $CXX $CXXFLAGS " in | ||
6542 | + *" -library=stlport4 "*) | ||
6543 | + solaris_use_stlport4=yes | ||
6544 | + ;; | ||
6545 | + esac | ||
6546 | + | ||
6547 | + # Adding this requires a known-good setup of shared libraries for | ||
6548 | + # Sun compiler versions before 5.6, else PIC objects from an old | ||
6549 | + # archive will be linked into the output, leading to subtle bugs. | ||
6550 | + if test "$solaris_use_stlport4" != yes; then | ||
6551 | + _LT_TAGVAR(postdeps,$1)='-library=Cstd -library=Crun' | ||
6552 | + fi | ||
6553 | + ;; | ||
6554 | + esac | ||
6555 | + ;; | ||
6556 | +esac | ||
6557 | +]) | ||
6558 | + | ||
6559 | +case " $_LT_TAGVAR(postdeps, $1) " in | ||
6560 | +*" -lc "*) _LT_TAGVAR(archive_cmds_need_lc, $1)=no ;; | ||
6561 | +esac | ||
6562 | + _LT_TAGVAR(compiler_lib_search_dirs, $1)= | ||
6563 | +if test -n "${_LT_TAGVAR(compiler_lib_search_path, $1)}"; then | ||
6564 | + _LT_TAGVAR(compiler_lib_search_dirs, $1)=`echo " ${_LT_TAGVAR(compiler_lib_search_path, $1)}" | ${SED} -e 's! -L! !g' -e 's!^ !!'` | ||
6565 | +fi | ||
6566 | +_LT_TAGDECL([], [compiler_lib_search_dirs], [1], | ||
6567 | + [The directories searched by this compiler when creating a shared library]) | ||
6568 | +_LT_TAGDECL([], [predep_objects], [1], | ||
6569 | + [Dependencies to place before and after the objects being linked to | ||
6570 | + create a shared library]) | ||
6571 | +_LT_TAGDECL([], [postdep_objects], [1]) | ||
6572 | +_LT_TAGDECL([], [predeps], [1]) | ||
6573 | +_LT_TAGDECL([], [postdeps], [1]) | ||
6574 | +_LT_TAGDECL([], [compiler_lib_search_path], [1], | ||
6575 | + [The library search path used internally by the compiler when linking | ||
6576 | + a shared library]) | ||
6577 | +])# _LT_SYS_HIDDEN_LIBDEPS | ||
6578 | + | ||
6579 | + | ||
6580 | +# _LT_PROG_F77 | ||
6581 | +# ------------ | ||
6582 | +# Since AC_PROG_F77 is broken, in that it returns the empty string | ||
6583 | +# if there is no fortran compiler, we have our own version here. | ||
6584 | +m4_defun([_LT_PROG_F77], | ||
6585 | +[ | ||
6586 | +pushdef([AC_MSG_ERROR], [_lt_disable_F77=yes]) | ||
6587 | +AC_PROG_F77 | ||
6588 | +if test -z "$F77" || test "X$F77" = "Xno"; then | ||
6589 | + _lt_disable_F77=yes | ||
6590 | +fi | ||
6591 | +popdef([AC_MSG_ERROR]) | ||
6592 | +])# _LT_PROG_F77 | ||
6593 | + | ||
6594 | +dnl aclocal-1.4 backwards compatibility: | ||
6595 | +dnl AC_DEFUN([_LT_PROG_F77], []) | ||
6596 | + | ||
6597 | + | ||
6598 | +# _LT_LANG_F77_CONFIG([TAG]) | ||
6599 | +# -------------------------- | ||
6600 | +# Ensure that the configuration variables for a Fortran 77 compiler are | ||
6601 | +# suitably defined. These variables are subsequently used by _LT_CONFIG | ||
6602 | +# to write the compiler configuration to `libtool'. | ||
6603 | +m4_defun([_LT_LANG_F77_CONFIG], | ||
6604 | +[AC_REQUIRE([_LT_PROG_F77])dnl | ||
6605 | +AC_LANG_PUSH(Fortran 77) | ||
6606 | + | ||
6607 | +_LT_TAGVAR(archive_cmds_need_lc, $1)=no | ||
6608 | +_LT_TAGVAR(allow_undefined_flag, $1)= | ||
6609 | +_LT_TAGVAR(always_export_symbols, $1)=no | ||
6610 | +_LT_TAGVAR(archive_expsym_cmds, $1)= | ||
6611 | +_LT_TAGVAR(export_dynamic_flag_spec, $1)= | ||
6612 | +_LT_TAGVAR(hardcode_direct, $1)=no | ||
6613 | +_LT_TAGVAR(hardcode_direct_absolute, $1)=no | ||
6614 | +_LT_TAGVAR(hardcode_libdir_flag_spec, $1)= | ||
6615 | +_LT_TAGVAR(hardcode_libdir_flag_spec_ld, $1)= | ||
6616 | +_LT_TAGVAR(hardcode_libdir_separator, $1)= | ||
6617 | +_LT_TAGVAR(hardcode_minus_L, $1)=no | ||
6618 | +_LT_TAGVAR(hardcode_automatic, $1)=no | ||
6619 | +_LT_TAGVAR(inherit_rpath, $1)=no | ||
6620 | +_LT_TAGVAR(module_cmds, $1)= | ||
6621 | +_LT_TAGVAR(module_expsym_cmds, $1)= | ||
6622 | +_LT_TAGVAR(link_all_deplibs, $1)=unknown | ||
6623 | +_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds | ||
6624 | +_LT_TAGVAR(no_undefined_flag, $1)= | ||
6625 | +_LT_TAGVAR(whole_archive_flag_spec, $1)= | ||
6626 | +_LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no | ||
6627 | + | ||
6628 | +# Source file extension for f77 test sources. | ||
6629 | +ac_ext=f | ||
6630 | + | ||
6631 | +# Object file extension for compiled f77 test sources. | ||
6632 | +objext=o | ||
6633 | +_LT_TAGVAR(objext, $1)=$objext | ||
6634 | + | ||
6635 | +# No sense in running all these tests if we already determined that | ||
6636 | +# the F77 compiler isn't working. Some variables (like enable_shared) | ||
6637 | +# are currently assumed to apply to all compilers on this platform, | ||
6638 | +# and will be corrupted by setting them based on a non-working compiler. | ||
6639 | +if test "$_lt_disable_F77" != yes; then | ||
6640 | + # Code to be used in simple compile tests | ||
6641 | + lt_simple_compile_test_code="\ | ||
6642 | + subroutine t | ||
6643 | + return | ||
6644 | + end | ||
6645 | +" | ||
6646 | + | ||
6647 | + # Code to be used in simple link tests | ||
6648 | + lt_simple_link_test_code="\ | ||
6649 | + program t | ||
6650 | + end | ||
6651 | +" | ||
6652 | + | ||
6653 | + # ltmain only uses $CC for tagged configurations so make sure $CC is set. | ||
6654 | + _LT_TAG_COMPILER | ||
6655 | + | ||
6656 | + # save warnings/boilerplate of simple test code | ||
6657 | + _LT_COMPILER_BOILERPLATE | ||
6658 | + _LT_LINKER_BOILERPLATE | ||
6659 | + | ||
6660 | + # Allow CC to be a program name with arguments. | ||
6661 | + lt_save_CC="$CC" | ||
6662 | + lt_save_GCC=$GCC | ||
6663 | + CC=${F77-"f77"} | ||
6664 | + compiler=$CC | ||
6665 | + _LT_TAGVAR(compiler, $1)=$CC | ||
6666 | + _LT_CC_BASENAME([$compiler]) | ||
6667 | + GCC=$G77 | ||
6668 | + if test -n "$compiler"; then | ||
6669 | + AC_MSG_CHECKING([if libtool supports shared libraries]) | ||
6670 | + AC_MSG_RESULT([$can_build_shared]) | ||
6671 | + | ||
6672 | + AC_MSG_CHECKING([whether to build shared libraries]) | ||
6673 | + test "$can_build_shared" = "no" && enable_shared=no | ||
6674 | + | ||
6675 | + # On AIX, shared libraries and static libraries use the same namespace, and | ||
6676 | + # are all built from PIC. | ||
6677 | + case $host_os in | ||
6678 | + aix3*) | ||
6679 | + test "$enable_shared" = yes && enable_static=no | ||
6680 | + if test -n "$RANLIB"; then | ||
6681 | + archive_cmds="$archive_cmds~\$RANLIB \$lib" | ||
6682 | + postinstall_cmds='$RANLIB $lib' | ||
6683 | + fi | ||
6684 | + ;; | ||
6685 | + aix[[4-9]]*) | ||
6686 | + if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then | ||
6687 | + test "$enable_shared" = yes && enable_static=no | ||
6688 | + fi | ||
6689 | + ;; | ||
6690 | + esac | ||
6691 | + AC_MSG_RESULT([$enable_shared]) | ||
6692 | + | ||
6693 | + AC_MSG_CHECKING([whether to build static libraries]) | ||
6694 | + # Make sure either enable_shared or enable_static is yes. | ||
6695 | + test "$enable_shared" = yes || enable_static=yes | ||
6696 | + AC_MSG_RESULT([$enable_static]) | ||
6697 | + | ||
6698 | + _LT_TAGVAR(GCC, $1)="$G77" | ||
6699 | + _LT_TAGVAR(LD, $1)="$LD" | ||
6700 | + | ||
6701 | + ## CAVEAT EMPTOR: | ||
6702 | + ## There is no encapsulation within the following macros, do not change | ||
6703 | + ## the running order or otherwise move them around unless you know exactly | ||
6704 | + ## what you are doing... | ||
6705 | + _LT_COMPILER_PIC($1) | ||
6706 | + _LT_COMPILER_C_O($1) | ||
6707 | + _LT_COMPILER_FILE_LOCKS($1) | ||
6708 | + _LT_LINKER_SHLIBS($1) | ||
6709 | + _LT_SYS_DYNAMIC_LINKER($1) | ||
6710 | + _LT_LINKER_HARDCODE_LIBPATH($1) | ||
6711 | + | ||
6712 | + _LT_CONFIG($1) | ||
6713 | + fi # test -n "$compiler" | ||
6714 | + | ||
6715 | + GCC=$lt_save_GCC | ||
6716 | + CC="$lt_save_CC" | ||
6717 | +fi # test "$_lt_disable_F77" != yes | ||
6718 | + | ||
6719 | +AC_LANG_POP | ||
6720 | +])# _LT_LANG_F77_CONFIG | ||
6721 | + | ||
6722 | + | ||
6723 | +# _LT_PROG_FC | ||
6724 | +# ----------- | ||
6725 | +# Since AC_PROG_FC is broken, in that it returns the empty string | ||
6726 | +# if there is no fortran compiler, we have our own version here. | ||
6727 | +m4_defun([_LT_PROG_FC], | ||
6728 | +[ | ||
6729 | +pushdef([AC_MSG_ERROR], [_lt_disable_FC=yes]) | ||
6730 | +AC_PROG_FC | ||
6731 | +if test -z "$FC" || test "X$FC" = "Xno"; then | ||
6732 | + _lt_disable_FC=yes | ||
6733 | +fi | ||
6734 | +popdef([AC_MSG_ERROR]) | ||
6735 | +])# _LT_PROG_FC | ||
6736 | + | ||
6737 | +dnl aclocal-1.4 backwards compatibility: | ||
6738 | +dnl AC_DEFUN([_LT_PROG_FC], []) | ||
6739 | + | ||
6740 | + | ||
6741 | +# _LT_LANG_FC_CONFIG([TAG]) | ||
6742 | +# ------------------------- | ||
6743 | +# Ensure that the configuration variables for a Fortran compiler are | ||
6744 | +# suitably defined. These variables are subsequently used by _LT_CONFIG | ||
6745 | +# to write the compiler configuration to `libtool'. | ||
6746 | +m4_defun([_LT_LANG_FC_CONFIG], | ||
6747 | +[AC_REQUIRE([_LT_PROG_FC])dnl | ||
6748 | +AC_LANG_PUSH(Fortran) | ||
6749 | + | ||
6750 | +_LT_TAGVAR(archive_cmds_need_lc, $1)=no | ||
6751 | +_LT_TAGVAR(allow_undefined_flag, $1)= | ||
6752 | +_LT_TAGVAR(always_export_symbols, $1)=no | ||
6753 | +_LT_TAGVAR(archive_expsym_cmds, $1)= | ||
6754 | +_LT_TAGVAR(export_dynamic_flag_spec, $1)= | ||
6755 | +_LT_TAGVAR(hardcode_direct, $1)=no | ||
6756 | +_LT_TAGVAR(hardcode_direct_absolute, $1)=no | ||
6757 | +_LT_TAGVAR(hardcode_libdir_flag_spec, $1)= | ||
6758 | +_LT_TAGVAR(hardcode_libdir_flag_spec_ld, $1)= | ||
6759 | +_LT_TAGVAR(hardcode_libdir_separator, $1)= | ||
6760 | +_LT_TAGVAR(hardcode_minus_L, $1)=no | ||
6761 | +_LT_TAGVAR(hardcode_automatic, $1)=no | ||
6762 | +_LT_TAGVAR(inherit_rpath, $1)=no | ||
6763 | +_LT_TAGVAR(module_cmds, $1)= | ||
6764 | +_LT_TAGVAR(module_expsym_cmds, $1)= | ||
6765 | +_LT_TAGVAR(link_all_deplibs, $1)=unknown | ||
6766 | +_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds | ||
6767 | +_LT_TAGVAR(no_undefined_flag, $1)= | ||
6768 | +_LT_TAGVAR(whole_archive_flag_spec, $1)= | ||
6769 | +_LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no | ||
6770 | + | ||
6771 | +# Source file extension for fc test sources. | ||
6772 | +ac_ext=${ac_fc_srcext-f} | ||
6773 | + | ||
6774 | +# Object file extension for compiled fc test sources. | ||
6775 | +objext=o | ||
6776 | +_LT_TAGVAR(objext, $1)=$objext | ||
6777 | + | ||
6778 | +# No sense in running all these tests if we already determined that | ||
6779 | +# the FC compiler isn't working. Some variables (like enable_shared) | ||
6780 | +# are currently assumed to apply to all compilers on this platform, | ||
6781 | +# and will be corrupted by setting them based on a non-working compiler. | ||
6782 | +if test "$_lt_disable_FC" != yes; then | ||
6783 | + # Code to be used in simple compile tests | ||
6784 | + lt_simple_compile_test_code="\ | ||
6785 | + subroutine t | ||
6786 | + return | ||
6787 | + end | ||
6788 | +" | ||
6789 | + | ||
6790 | + # Code to be used in simple link tests | ||
6791 | + lt_simple_link_test_code="\ | ||
6792 | + program t | ||
6793 | + end | ||
6794 | +" | ||
6795 | + | ||
6796 | + # ltmain only uses $CC for tagged configurations so make sure $CC is set. | ||
6797 | + _LT_TAG_COMPILER | ||
6798 | + | ||
6799 | + # save warnings/boilerplate of simple test code | ||
6800 | + _LT_COMPILER_BOILERPLATE | ||
6801 | + _LT_LINKER_BOILERPLATE | ||
6802 | + | ||
6803 | + # Allow CC to be a program name with arguments. | ||
6804 | + lt_save_CC="$CC" | ||
6805 | + lt_save_GCC=$GCC | ||
6806 | + CC=${FC-"f95"} | ||
6807 | + compiler=$CC | ||
6808 | + GCC=$ac_cv_fc_compiler_gnu | ||
6809 | + | ||
6810 | + _LT_TAGVAR(compiler, $1)=$CC | ||
6811 | + _LT_CC_BASENAME([$compiler]) | ||
6812 | + | ||
6813 | + if test -n "$compiler"; then | ||
6814 | + AC_MSG_CHECKING([if libtool supports shared libraries]) | ||
6815 | + AC_MSG_RESULT([$can_build_shared]) | ||
6816 | + | ||
6817 | + AC_MSG_CHECKING([whether to build shared libraries]) | ||
6818 | + test "$can_build_shared" = "no" && enable_shared=no | ||
6819 | + | ||
6820 | + # On AIX, shared libraries and static libraries use the same namespace, and | ||
6821 | + # are all built from PIC. | ||
6822 | + case $host_os in | ||
6823 | + aix3*) | ||
6824 | + test "$enable_shared" = yes && enable_static=no | ||
6825 | + if test -n "$RANLIB"; then | ||
6826 | + archive_cmds="$archive_cmds~\$RANLIB \$lib" | ||
6827 | + postinstall_cmds='$RANLIB $lib' | ||
6828 | + fi | ||
6829 | + ;; | ||
6830 | + aix[[4-9]]*) | ||
6831 | + if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then | ||
6832 | + test "$enable_shared" = yes && enable_static=no | ||
6833 | + fi | ||
6834 | + ;; | ||
6835 | + esac | ||
6836 | + AC_MSG_RESULT([$enable_shared]) | ||
6837 | + | ||
6838 | + AC_MSG_CHECKING([whether to build static libraries]) | ||
6839 | + # Make sure either enable_shared or enable_static is yes. | ||
6840 | + test "$enable_shared" = yes || enable_static=yes | ||
6841 | + AC_MSG_RESULT([$enable_static]) | ||
6842 | + | ||
6843 | + _LT_TAGVAR(GCC, $1)="$ac_cv_fc_compiler_gnu" | ||
6844 | + _LT_TAGVAR(LD, $1)="$LD" | ||
6845 | + | ||
6846 | + ## CAVEAT EMPTOR: | ||
6847 | + ## There is no encapsulation within the following macros, do not change | ||
6848 | + ## the running order or otherwise move them around unless you know exactly | ||
6849 | + ## what you are doing... | ||
6850 | + _LT_SYS_HIDDEN_LIBDEPS($1) | ||
6851 | + _LT_COMPILER_PIC($1) | ||
6852 | + _LT_COMPILER_C_O($1) | ||
6853 | + _LT_COMPILER_FILE_LOCKS($1) | ||
6854 | + _LT_LINKER_SHLIBS($1) | ||
6855 | + _LT_SYS_DYNAMIC_LINKER($1) | ||
6856 | + _LT_LINKER_HARDCODE_LIBPATH($1) | ||
6857 | + | ||
6858 | + _LT_CONFIG($1) | ||
6859 | + fi # test -n "$compiler" | ||
6860 | + | ||
6861 | + GCC=$lt_save_GCC | ||
6862 | + CC="$lt_save_CC" | ||
6863 | +fi # test "$_lt_disable_FC" != yes | ||
6864 | + | ||
6865 | +AC_LANG_POP | ||
6866 | +])# _LT_LANG_FC_CONFIG | ||
6867 | + | ||
6868 | + | ||
6869 | +# _LT_LANG_GCJ_CONFIG([TAG]) | ||
6870 | +# -------------------------- | ||
6871 | +# Ensure that the configuration variables for the GNU Java Compiler compiler | ||
6872 | +# are suitably defined. These variables are subsequently used by _LT_CONFIG | ||
6873 | +# to write the compiler configuration to `libtool'. | ||
6874 | +m4_defun([_LT_LANG_GCJ_CONFIG], | ||
6875 | +[AC_REQUIRE([LT_PROG_GCJ])dnl | ||
6876 | +AC_LANG_SAVE | ||
6877 | + | ||
6878 | +# Source file extension for Java test sources. | ||
6879 | +ac_ext=java | ||
6880 | + | ||
6881 | +# Object file extension for compiled Java test sources. | ||
6882 | +objext=o | ||
6883 | +_LT_TAGVAR(objext, $1)=$objext | ||
6884 | + | ||
6885 | +# Code to be used in simple compile tests | ||
6886 | +lt_simple_compile_test_code="class foo {}" | ||
6887 | + | ||
6888 | +# Code to be used in simple link tests | ||
6889 | +lt_simple_link_test_code='public class conftest { public static void main(String[[]] argv) {}; }' | ||
6890 | + | ||
6891 | +# ltmain only uses $CC for tagged configurations so make sure $CC is set. | ||
6892 | +_LT_TAG_COMPILER | ||
6893 | + | ||
6894 | +# save warnings/boilerplate of simple test code | ||
6895 | +_LT_COMPILER_BOILERPLATE | ||
6896 | +_LT_LINKER_BOILERPLATE | ||
6897 | + | ||
6898 | +# Allow CC to be a program name with arguments. | ||
6899 | +lt_save_CC="$CC" | ||
6900 | +lt_save_GCC=$GCC | ||
6901 | +GCC=yes | ||
6902 | +CC=${GCJ-"gcj"} | ||
6903 | +compiler=$CC | ||
6904 | +_LT_TAGVAR(compiler, $1)=$CC | ||
6905 | +_LT_TAGVAR(LD, $1)="$LD" | ||
6906 | +_LT_CC_BASENAME([$compiler]) | ||
6907 | + | ||
6908 | +# GCJ did not exist at the time GCC didn't implicitly link libc in. | ||
6909 | +_LT_TAGVAR(archive_cmds_need_lc, $1)=no | ||
6910 | + | ||
6911 | +_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds | ||
6912 | + | ||
6913 | +## CAVEAT EMPTOR: | ||
6914 | +## There is no encapsulation within the following macros, do not change | ||
6915 | +## the running order or otherwise move them around unless you know exactly | ||
6916 | +## what you are doing... | ||
6917 | +if test -n "$compiler"; then | ||
6918 | + _LT_COMPILER_NO_RTTI($1) | ||
6919 | + _LT_COMPILER_PIC($1) | ||
6920 | + _LT_COMPILER_C_O($1) | ||
6921 | + _LT_COMPILER_FILE_LOCKS($1) | ||
6922 | + _LT_LINKER_SHLIBS($1) | ||
6923 | + _LT_LINKER_HARDCODE_LIBPATH($1) | ||
6924 | + | ||
6925 | + _LT_CONFIG($1) | ||
6926 | +fi | ||
6927 | + | ||
6928 | +AC_LANG_RESTORE | ||
6929 | + | ||
6930 | +GCC=$lt_save_GCC | ||
6931 | +CC="$lt_save_CC" | ||
6932 | +])# _LT_LANG_GCJ_CONFIG | ||
6933 | + | ||
6934 | + | ||
6935 | +# _LT_LANG_RC_CONFIG([TAG]) | ||
6936 | +# ------------------------- | ||
6937 | +# Ensure that the configuration variables for the Windows resource compiler | ||
6938 | +# are suitably defined. These variables are subsequently used by _LT_CONFIG | ||
6939 | +# to write the compiler configuration to `libtool'. | ||
6940 | +m4_defun([_LT_LANG_RC_CONFIG], | ||
6941 | +[AC_REQUIRE([LT_PROG_RC])dnl | ||
6942 | +AC_LANG_SAVE | ||
6943 | + | ||
6944 | +# Source file extension for RC test sources. | ||
6945 | +ac_ext=rc | ||
6946 | + | ||
6947 | +# Object file extension for compiled RC test sources. | ||
6948 | +objext=o | ||
6949 | +_LT_TAGVAR(objext, $1)=$objext | ||
6950 | + | ||
6951 | +# Code to be used in simple compile tests | ||
6952 | +lt_simple_compile_test_code='sample MENU { MENUITEM "&Soup", 100, CHECKED }' | ||
6953 | + | ||
6954 | +# Code to be used in simple link tests | ||
6955 | +lt_simple_link_test_code="$lt_simple_compile_test_code" | ||
6956 | + | ||
6957 | +# ltmain only uses $CC for tagged configurations so make sure $CC is set. | ||
6958 | +_LT_TAG_COMPILER | ||
6959 | + | ||
6960 | +# save warnings/boilerplate of simple test code | ||
6961 | +_LT_COMPILER_BOILERPLATE | ||
6962 | +_LT_LINKER_BOILERPLATE | ||
6963 | + | ||
6964 | +# Allow CC to be a program name with arguments. | ||
6965 | +lt_save_CC="$CC" | ||
6966 | +lt_save_GCC=$GCC | ||
6967 | +GCC= | ||
6968 | +CC=${RC-"windres"} | ||
6969 | +compiler=$CC | ||
6970 | +_LT_TAGVAR(compiler, $1)=$CC | ||
6971 | +_LT_CC_BASENAME([$compiler]) | ||
6972 | +_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)=yes | ||
6973 | + | ||
6974 | +if test -n "$compiler"; then | ||
6975 | + : | ||
6976 | + _LT_CONFIG($1) | ||
6977 | +fi | ||
6978 | + | ||
6979 | +GCC=$lt_save_GCC | ||
6980 | +AC_LANG_RESTORE | ||
6981 | +CC="$lt_save_CC" | ||
6982 | +])# _LT_LANG_RC_CONFIG | ||
6983 | + | ||
6984 | + | ||
6985 | +# LT_PROG_GCJ | ||
6986 | +# ----------- | ||
6987 | +AC_DEFUN([LT_PROG_GCJ], | ||
6988 | +[m4_ifdef([AC_PROG_GCJ], [AC_PROG_GCJ], | ||
6989 | + [m4_ifdef([A][M_PROG_GCJ], [A][M_PROG_GCJ], | ||
6990 | + [AC_CHECK_TOOL(GCJ, gcj,) | ||
6991 | + test "x${GCJFLAGS+set}" = xset || GCJFLAGS="-g -O2" | ||
6992 | + AC_SUBST(GCJFLAGS)])])[]dnl | ||
6993 | +]) | ||
6994 | + | ||
6995 | +# Old name: | ||
6996 | +AU_ALIAS([LT_AC_PROG_GCJ], [LT_PROG_GCJ]) | ||
6997 | +dnl aclocal-1.4 backwards compatibility: | ||
6998 | +dnl AC_DEFUN([LT_AC_PROG_GCJ], []) | ||
6999 | + | ||
7000 | + | ||
7001 | +# LT_PROG_RC | ||
7002 | +# ---------- | ||
7003 | +AC_DEFUN([LT_PROG_RC], | ||
7004 | +[AC_CHECK_TOOL(RC, windres,) | ||
7005 | +]) | ||
7006 | + | ||
7007 | +# Old name: | ||
7008 | +AU_ALIAS([LT_AC_PROG_RC], [LT_PROG_RC]) | ||
7009 | +dnl aclocal-1.4 backwards compatibility: | ||
7010 | +dnl AC_DEFUN([LT_AC_PROG_RC], []) | ||
7011 | + | ||
7012 | + | ||
7013 | +# _LT_DECL_EGREP | ||
7014 | +# -------------- | ||
7015 | +# If we don't have a new enough Autoconf to choose the best grep | ||
7016 | +# available, choose the one first in the user's PATH. | ||
7017 | +m4_defun([_LT_DECL_EGREP], | ||
7018 | +[AC_REQUIRE([AC_PROG_EGREP])dnl | ||
7019 | +AC_REQUIRE([AC_PROG_FGREP])dnl | ||
7020 | +test -z "$GREP" && GREP=grep | ||
7021 | +_LT_DECL([], [GREP], [1], [A grep program that handles long lines]) | ||
7022 | +_LT_DECL([], [EGREP], [1], [An ERE matcher]) | ||
7023 | +_LT_DECL([], [FGREP], [1], [A literal string matcher]) | ||
7024 | +dnl Non-bleeding-edge autoconf doesn't subst GREP, so do it here too | ||
7025 | +AC_SUBST([GREP]) | ||
7026 | +]) | ||
7027 | + | ||
7028 | + | ||
7029 | +# _LT_DECL_OBJDUMP | ||
7030 | +# -------------- | ||
7031 | +# If we don't have a new enough Autoconf to choose the best objdump | ||
7032 | +# available, choose the one first in the user's PATH. | ||
7033 | +m4_defun([_LT_DECL_OBJDUMP], | ||
7034 | +[AC_CHECK_TOOL(OBJDUMP, objdump, false) | ||
7035 | +test -z "$OBJDUMP" && OBJDUMP=objdump | ||
7036 | +_LT_DECL([], [OBJDUMP], [1], [An object symbol dumper]) | ||
7037 | +AC_SUBST([OBJDUMP]) | ||
7038 | +]) | ||
7039 | + | ||
7040 | + | ||
7041 | +# _LT_DECL_SED | ||
7042 | +# ------------ | ||
7043 | +# Check for a fully-functional sed program, that truncates | ||
7044 | +# as few characters as possible. Prefer GNU sed if found. | ||
7045 | +m4_defun([_LT_DECL_SED], | ||
7046 | +[AC_PROG_SED | ||
7047 | +test -z "$SED" && SED=sed | ||
7048 | +Xsed="$SED -e 1s/^X//" | ||
7049 | +_LT_DECL([], [SED], [1], [A sed program that does not truncate output]) | ||
7050 | +_LT_DECL([], [Xsed], ["\$SED -e 1s/^X//"], | ||
7051 | + [Sed that helps us avoid accidentally triggering echo(1) options like -n]) | ||
7052 | +])# _LT_DECL_SED | ||
7053 | + | ||
7054 | +m4_ifndef([AC_PROG_SED], [ | ||
7055 | +############################################################ | ||
7056 | +# NOTE: This macro has been submitted for inclusion into # | ||
7057 | +# GNU Autoconf as AC_PROG_SED. When it is available in # | ||
7058 | +# a released version of Autoconf we should remove this # | ||
7059 | +# macro and use it instead. # | ||
7060 | +############################################################ | ||
7061 | + | ||
7062 | +m4_defun([AC_PROG_SED], | ||
7063 | +[AC_MSG_CHECKING([for a sed that does not truncate output]) | ||
7064 | +AC_CACHE_VAL(lt_cv_path_SED, | ||
7065 | +[# Loop through the user's path and test for sed and gsed. | ||
7066 | +# Then use that list of sed's as ones to test for truncation. | ||
7067 | +as_save_IFS=$IFS; IFS=$PATH_SEPARATOR | ||
7068 | +for as_dir in $PATH | ||
7069 | +do | ||
7070 | + IFS=$as_save_IFS | ||
7071 | + test -z "$as_dir" && as_dir=. | ||
7072 | + for lt_ac_prog in sed gsed; do | ||
7073 | + for ac_exec_ext in '' $ac_executable_extensions; do | ||
7074 | + if $as_executable_p "$as_dir/$lt_ac_prog$ac_exec_ext"; then | ||
7075 | + lt_ac_sed_list="$lt_ac_sed_list $as_dir/$lt_ac_prog$ac_exec_ext" | ||
7076 | + fi | ||
7077 | + done | ||
7078 | + done | ||
7079 | +done | ||
7080 | +IFS=$as_save_IFS | ||
7081 | +lt_ac_max=0 | ||
7082 | +lt_ac_count=0 | ||
7083 | +# Add /usr/xpg4/bin/sed as it is typically found on Solaris | ||
7084 | +# along with /bin/sed that truncates output. | ||
7085 | +for lt_ac_sed in $lt_ac_sed_list /usr/xpg4/bin/sed; do | ||
7086 | + test ! -f $lt_ac_sed && continue | ||
7087 | + cat /dev/null > conftest.in | ||
7088 | + lt_ac_count=0 | ||
7089 | + echo $ECHO_N "0123456789$ECHO_C" >conftest.in | ||
7090 | + # Check for GNU sed and select it if it is found. | ||
7091 | + if "$lt_ac_sed" --version 2>&1 < /dev/null | grep 'GNU' > /dev/null; then | ||
7092 | + lt_cv_path_SED=$lt_ac_sed | ||
7093 | + break | ||
7094 | + fi | ||
7095 | + while true; do | ||
7096 | + cat conftest.in conftest.in >conftest.tmp | ||
7097 | + mv conftest.tmp conftest.in | ||
7098 | + cp conftest.in conftest.nl | ||
7099 | + echo >>conftest.nl | ||
7100 | + $lt_ac_sed -e 's/a$//' < conftest.nl >conftest.out || break | ||
7101 | + cmp -s conftest.out conftest.nl || break | ||
7102 | + # 10000 chars as input seems more than enough | ||
7103 | + test $lt_ac_count -gt 10 && break | ||
7104 | + lt_ac_count=`expr $lt_ac_count + 1` | ||
7105 | + if test $lt_ac_count -gt $lt_ac_max; then | ||
7106 | + lt_ac_max=$lt_ac_count | ||
7107 | + lt_cv_path_SED=$lt_ac_sed | ||
7108 | + fi | ||
7109 | + done | ||
7110 | +done | ||
7111 | +]) | ||
7112 | +SED=$lt_cv_path_SED | ||
7113 | +AC_SUBST([SED]) | ||
7114 | +AC_MSG_RESULT([$SED]) | ||
7115 | +])#AC_PROG_SED | ||
7116 | +])#m4_ifndef | ||
7117 | + | ||
7118 | +# Old name: | ||
7119 | +AU_ALIAS([LT_AC_PROG_SED], [AC_PROG_SED]) | ||
7120 | +dnl aclocal-1.4 backwards compatibility: | ||
7121 | +dnl AC_DEFUN([LT_AC_PROG_SED], []) | ||
7122 | + | ||
7123 | + | ||
7124 | +# _LT_CHECK_SHELL_FEATURES | ||
7125 | +# ------------------------ | ||
7126 | +# Find out whether the shell is Bourne or XSI compatible, | ||
7127 | +# or has some other useful features. | ||
7128 | +m4_defun([_LT_CHECK_SHELL_FEATURES], | ||
7129 | +[AC_MSG_CHECKING([whether the shell understands some XSI constructs]) | ||
7130 | +# Try some XSI features | ||
7131 | +xsi_shell=no | ||
7132 | +( _lt_dummy="a/b/c" | ||
7133 | + test "${_lt_dummy##*/},${_lt_dummy%/*},"${_lt_dummy%"$_lt_dummy"}, \ | ||
7134 | + = c,a/b,, \ | ||
7135 | + && eval 'test $(( 1 + 1 )) -eq 2 \ | ||
7136 | + && test "${#_lt_dummy}" -eq 5' ) >/dev/null 2>&1 \ | ||
7137 | + && xsi_shell=yes | ||
7138 | +AC_MSG_RESULT([$xsi_shell]) | ||
7139 | +_LT_CONFIG_LIBTOOL_INIT([xsi_shell='$xsi_shell']) | ||
7140 | + | ||
7141 | +AC_MSG_CHECKING([whether the shell understands "+="]) | ||
7142 | +lt_shell_append=no | ||
7143 | +( foo=bar; set foo baz; eval "$[1]+=\$[2]" && test "$foo" = barbaz ) \ | ||
7144 | + >/dev/null 2>&1 \ | ||
7145 | + && lt_shell_append=yes | ||
7146 | +AC_MSG_RESULT([$lt_shell_append]) | ||
7147 | +_LT_CONFIG_LIBTOOL_INIT([lt_shell_append='$lt_shell_append']) | ||
7148 | + | ||
7149 | +if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then | ||
7150 | + lt_unset=unset | ||
7151 | +else | ||
7152 | + lt_unset=false | ||
7153 | +fi | ||
7154 | +_LT_DECL([], [lt_unset], [0], [whether the shell understands "unset"])dnl | ||
7155 | + | ||
7156 | +# test EBCDIC or ASCII | ||
7157 | +case `echo X|tr X '\101'` in | ||
7158 | + A) # ASCII based system | ||
7159 | + # \n is not interpreted correctly by Solaris 8 /usr/ucb/tr | ||
7160 | + lt_SP2NL='tr \040 \012' | ||
7161 | + lt_NL2SP='tr \015\012 \040\040' | ||
7162 | + ;; | ||
7163 | + *) # EBCDIC based system | ||
7164 | + lt_SP2NL='tr \100 \n' | ||
7165 | + lt_NL2SP='tr \r\n \100\100' | ||
7166 | + ;; | ||
7167 | +esac | ||
7168 | +_LT_DECL([SP2NL], [lt_SP2NL], [1], [turn spaces into newlines])dnl | ||
7169 | +_LT_DECL([NL2SP], [lt_NL2SP], [1], [turn newlines into spaces])dnl | ||
7170 | +])# _LT_CHECK_SHELL_FEATURES | ||
7171 | + | ||
7172 | + | ||
7173 | +# _LT_PROG_XSI_SHELLFNS | ||
7174 | +# --------------------- | ||
7175 | +# Bourne and XSI compatible variants of some useful shell functions. | ||
7176 | +m4_defun([_LT_PROG_XSI_SHELLFNS], | ||
7177 | +[case $xsi_shell in | ||
7178 | + yes) | ||
7179 | + cat << \_LT_EOF >> "$cfgfile" | ||
7180 | + | ||
7181 | +# func_dirname file append nondir_replacement | ||
7182 | +# Compute the dirname of FILE. If nonempty, add APPEND to the result, | ||
7183 | +# otherwise set result to NONDIR_REPLACEMENT. | ||
7184 | +func_dirname () | ||
7185 | +{ | ||
7186 | + case ${1} in | ||
7187 | + */*) func_dirname_result="${1%/*}${2}" ;; | ||
7188 | + * ) func_dirname_result="${3}" ;; | ||
7189 | + esac | ||
7190 | +} | ||
7191 | + | ||
7192 | +# func_basename file | ||
7193 | +func_basename () | ||
7194 | +{ | ||
7195 | + func_basename_result="${1##*/}" | ||
7196 | +} | ||
7197 | + | ||
7198 | +# func_dirname_and_basename file append nondir_replacement | ||
7199 | +# perform func_basename and func_dirname in a single function | ||
7200 | +# call: | ||
7201 | +# dirname: Compute the dirname of FILE. If nonempty, | ||
7202 | +# add APPEND to the result, otherwise set result | ||
7203 | +# to NONDIR_REPLACEMENT. | ||
7204 | +# value returned in "$func_dirname_result" | ||
7205 | +# basename: Compute filename of FILE. | ||
7206 | +# value retuned in "$func_basename_result" | ||
7207 | +# Implementation must be kept synchronized with func_dirname | ||
7208 | +# and func_basename. For efficiency, we do not delegate to | ||
7209 | +# those functions but instead duplicate the functionality here. | ||
7210 | +func_dirname_and_basename () | ||
7211 | +{ | ||
7212 | + case ${1} in | ||
7213 | + */*) func_dirname_result="${1%/*}${2}" ;; | ||
7214 | + * ) func_dirname_result="${3}" ;; | ||
7215 | + esac | ||
7216 | + func_basename_result="${1##*/}" | ||
7217 | +} | ||
7218 | + | ||
7219 | +# func_stripname prefix suffix name | ||
7220 | +# strip PREFIX and SUFFIX off of NAME. | ||
7221 | +# PREFIX and SUFFIX must not contain globbing or regex special | ||
7222 | +# characters, hashes, percent signs, but SUFFIX may contain a leading | ||
7223 | +# dot (in which case that matches only a dot). | ||
7224 | +func_stripname () | ||
7225 | +{ | ||
7226 | + # pdksh 5.2.14 does not do ${X%$Y} correctly if both X and Y are | ||
7227 | + # positional parameters, so assign one to ordinary parameter first. | ||
7228 | + func_stripname_result=${3} | ||
7229 | + func_stripname_result=${func_stripname_result#"${1}"} | ||
7230 | + func_stripname_result=${func_stripname_result%"${2}"} | ||
7231 | +} | ||
7232 | + | ||
7233 | +# func_opt_split | ||
7234 | +func_opt_split () | ||
7235 | +{ | ||
7236 | + func_opt_split_opt=${1%%=*} | ||
7237 | + func_opt_split_arg=${1#*=} | ||
7238 | +} | ||
7239 | + | ||
7240 | +# func_lo2o object | ||
7241 | +func_lo2o () | ||
7242 | +{ | ||
7243 | + case ${1} in | ||
7244 | + *.lo) func_lo2o_result=${1%.lo}.${objext} ;; | ||
7245 | + *) func_lo2o_result=${1} ;; | ||
7246 | + esac | ||
7247 | +} | ||
7248 | + | ||
7249 | +# func_xform libobj-or-source | ||
7250 | +func_xform () | ||
7251 | +{ | ||
7252 | + func_xform_result=${1%.*}.lo | ||
7253 | +} | ||
7254 | + | ||
7255 | +# func_arith arithmetic-term... | ||
7256 | +func_arith () | ||
7257 | +{ | ||
7258 | + func_arith_result=$(( $[*] )) | ||
7259 | +} | ||
7260 | + | ||
7261 | +# func_len string | ||
7262 | +# STRING may not start with a hyphen. | ||
7263 | +func_len () | ||
7264 | +{ | ||
7265 | + func_len_result=${#1} | ||
7266 | +} | ||
7267 | + | ||
7268 | +_LT_EOF | ||
7269 | + ;; | ||
7270 | + *) # Bourne compatible functions. | ||
7271 | + cat << \_LT_EOF >> "$cfgfile" | ||
7272 | + | ||
7273 | +# func_dirname file append nondir_replacement | ||
7274 | +# Compute the dirname of FILE. If nonempty, add APPEND to the result, | ||
7275 | +# otherwise set result to NONDIR_REPLACEMENT. | ||
7276 | +func_dirname () | ||
7277 | +{ | ||
7278 | + # Extract subdirectory from the argument. | ||
7279 | + func_dirname_result=`$ECHO "X${1}" | $Xsed -e "$dirname"` | ||
7280 | + if test "X$func_dirname_result" = "X${1}"; then | ||
7281 | + func_dirname_result="${3}" | ||
7282 | + else | ||
7283 | + func_dirname_result="$func_dirname_result${2}" | ||
7284 | + fi | ||
7285 | +} | ||
7286 | + | ||
7287 | +# func_basename file | ||
7288 | +func_basename () | ||
7289 | +{ | ||
7290 | + func_basename_result=`$ECHO "X${1}" | $Xsed -e "$basename"` | ||
7291 | +} | ||
7292 | + | ||
7293 | +dnl func_dirname_and_basename | ||
7294 | +dnl A portable version of this function is already defined in general.m4sh | ||
7295 | +dnl so there is no need for it here. | ||
7296 | + | ||
7297 | +# func_stripname prefix suffix name | ||
7298 | +# strip PREFIX and SUFFIX off of NAME. | ||
7299 | +# PREFIX and SUFFIX must not contain globbing or regex special | ||
7300 | +# characters, hashes, percent signs, but SUFFIX may contain a leading | ||
7301 | +# dot (in which case that matches only a dot). | ||
7302 | +# func_strip_suffix prefix name | ||
7303 | +func_stripname () | ||
7304 | +{ | ||
7305 | + case ${2} in | ||
7306 | + .*) func_stripname_result=`$ECHO "X${3}" \ | ||
7307 | + | $Xsed -e "s%^${1}%%" -e "s%\\\\${2}\$%%"`;; | ||
7308 | + *) func_stripname_result=`$ECHO "X${3}" \ | ||
7309 | + | $Xsed -e "s%^${1}%%" -e "s%${2}\$%%"`;; | ||
7310 | + esac | ||
7311 | +} | ||
7312 | + | ||
7313 | +# sed scripts: | ||
7314 | +my_sed_long_opt='1s/^\(-[[^=]]*\)=.*/\1/;q' | ||
7315 | +my_sed_long_arg='1s/^-[[^=]]*=//' | ||
7316 | + | ||
7317 | +# func_opt_split | ||
7318 | +func_opt_split () | ||
7319 | +{ | ||
7320 | + func_opt_split_opt=`$ECHO "X${1}" | $Xsed -e "$my_sed_long_opt"` | ||
7321 | + func_opt_split_arg=`$ECHO "X${1}" | $Xsed -e "$my_sed_long_arg"` | ||
7322 | +} | ||
7323 | + | ||
7324 | +# func_lo2o object | ||
7325 | +func_lo2o () | ||
7326 | +{ | ||
7327 | + func_lo2o_result=`$ECHO "X${1}" | $Xsed -e "$lo2o"` | ||
7328 | +} | ||
7329 | + | ||
7330 | +# func_xform libobj-or-source | ||
7331 | +func_xform () | ||
7332 | +{ | ||
7333 | + func_xform_result=`$ECHO "X${1}" | $Xsed -e 's/\.[[^.]]*$/.lo/'` | ||
7334 | +} | ||
7335 | + | ||
7336 | +# func_arith arithmetic-term... | ||
7337 | +func_arith () | ||
7338 | +{ | ||
7339 | + func_arith_result=`expr "$[@]"` | ||
7340 | +} | ||
7341 | + | ||
7342 | +# func_len string | ||
7343 | +# STRING may not start with a hyphen. | ||
7344 | +func_len () | ||
7345 | +{ | ||
7346 | + func_len_result=`expr "$[1]" : ".*" 2>/dev/null || echo $max_cmd_len` | ||
7347 | +} | ||
7348 | + | ||
7349 | +_LT_EOF | ||
7350 | +esac | ||
7351 | + | ||
7352 | +case $lt_shell_append in | ||
7353 | + yes) | ||
7354 | + cat << \_LT_EOF >> "$cfgfile" | ||
7355 | + | ||
7356 | +# func_append var value | ||
7357 | +# Append VALUE to the end of shell variable VAR. | ||
7358 | +func_append () | ||
7359 | +{ | ||
7360 | + eval "$[1]+=\$[2]" | ||
7361 | +} | ||
7362 | +_LT_EOF | ||
7363 | + ;; | ||
7364 | + *) | ||
7365 | + cat << \_LT_EOF >> "$cfgfile" | ||
7366 | + | ||
7367 | +# func_append var value | ||
7368 | +# Append VALUE to the end of shell variable VAR. | ||
7369 | +func_append () | ||
7370 | +{ | ||
7371 | + eval "$[1]=\$$[1]\$[2]" | ||
7372 | +} | ||
7373 | + | ||
7374 | +_LT_EOF | ||
7375 | + ;; | ||
7376 | + esac | ||
7377 | +]) | ||
diff --git a/meta-oe/recipes-support/libftdi/libftdi_0.19.bb b/meta-oe/recipes-support/libftdi/libftdi_0.19.bb new file mode 100644 index 000000000..773b791f4 --- /dev/null +++ b/meta-oe/recipes-support/libftdi/libftdi_0.19.bb | |||
@@ -0,0 +1,31 @@ | |||
1 | DESCRIPTION = "libftdi is a library to talk to FTDI chips.\ | ||
2 | FT232BM/245BM, FT2232C/D and FT232/245R using libusb,\ | ||
3 | including the popular bitbang mode." | ||
4 | HOMEPAGE = "http://www.intra2net.com/en/developer/libftdi/" | ||
5 | SECTION = "libs" | ||
6 | |||
7 | PR = "r1" | ||
8 | |||
9 | LICENSE = "LGPLv2.1 GPLv2" | ||
10 | LIC_FILES_CHKSUM= "file://COPYING.GPL;md5=751419260aa954499f7abaabaa882bbe \ | ||
11 | file://COPYING.LIB;md5=db979804f025cf55aabec7129cb671ed \ | ||
12 | " | ||
13 | |||
14 | PNBLACKLIST[libftdi] = "BROKEN: needs to be updated to detect libusb with pkg-config instead of libusb-config" | ||
15 | |||
16 | DEPENDS = "virtual/libusb0" | ||
17 | DEPENDS_virtclass-native = "virtual/libusb0-native" | ||
18 | |||
19 | SRC_URI = "http://www.intra2net.com/en/developer/libftdi/download/libftdi-${PV}.tar.gz \ | ||
20 | file://libtool-m4.patch \ | ||
21 | " | ||
22 | SRC_URI[md5sum] = "e6e25f33b4327b1b7aa1156947da45f3" | ||
23 | SRC_URI[sha256sum] = "567c9d2c42d92fc401c5aba2deed45ffb2433990984e816bcdf31e441aef06be" | ||
24 | |||
25 | PACKAGECONFIG ??= "" | ||
26 | PACKAGECONFIG[cpp-wrapper] = "--enable-libftdipp,--disable-libftdipp,boost" | ||
27 | |||
28 | inherit autotools binconfig pkgconfig | ||
29 | |||
30 | BBCLASSEXTEND = "native" | ||
31 | |||
diff --git a/meta-oe/recipes-support/liblinebreak/liblinebreak_1.2.bb b/meta-oe/recipes-support/liblinebreak/liblinebreak_1.2.bb new file mode 100644 index 000000000..2a5efad7e --- /dev/null +++ b/meta-oe/recipes-support/liblinebreak/liblinebreak_1.2.bb | |||
@@ -0,0 +1,11 @@ | |||
1 | DESCRIPTION = "Liblinebreak is an implementation of the line breaking algorithm as described in Unicode 5.1.0 Standard Annex 14, Revision 22" | ||
2 | HOMEPAGE = "http://vimgadgets.sourceforge.net/liblinebreak/" | ||
3 | SECTION = "libs" | ||
4 | LICENSE = "zlib" | ||
5 | LIC_FILES_CHKSUM = "file://LICENCE;md5=3715191da62bafb5cfc4ff36195b2ec3" | ||
6 | |||
7 | SRC_URI = "${SOURCEFORGE_MIRROR}/project/vimgadgets/liblinebreak/${PV}/liblinebreak-${PV}.tar.gz" | ||
8 | SRC_URI[md5sum] = "d18039259001ccb24b5dd4648c49c5ad" | ||
9 | SRC_URI[sha256sum] = "9efcb0cb1afc75ad1e92d2b2dbf4d9c77b072d6656c5f1a150af8b718d0c7b76" | ||
10 | |||
11 | inherit autotools | ||
diff --git a/meta-oe/recipes-support/libmcrypt/libmcrypt_2.5.8.bb b/meta-oe/recipes-support/libmcrypt/libmcrypt_2.5.8.bb new file mode 100644 index 000000000..2a133c69a --- /dev/null +++ b/meta-oe/recipes-support/libmcrypt/libmcrypt_2.5.8.bb | |||
@@ -0,0 +1,12 @@ | |||
1 | SUMMARY = "Replacement for the old crypt() package and crypt(1) command, with extensions" | ||
2 | HOMEPAGE = "http://mcrypt.sourceforge.net/" | ||
3 | LICENSE = "LGPLv2.1" | ||
4 | LIC_FILES_CHKSUM = "file://COPYING.LIB;md5=bbb461211a33b134d42ed5ee802b37ff" | ||
5 | DEPENDS = "libtool" | ||
6 | |||
7 | SRC_URI = "${SOURCEFORGE_MIRROR}/project/mcrypt/Libmcrypt/${PV}/libmcrypt-${PV}.tar.gz" | ||
8 | |||
9 | SRC_URI[md5sum] = "0821830d930a86a5c69110837c55b7da" | ||
10 | SRC_URI[sha256sum] = "e4eb6c074bbab168ac47b947c195ff8cef9d51a211cdd18ca9c9ef34d27a373e" | ||
11 | |||
12 | inherit autotools-brokensep gettext binconfig | ||
diff --git a/meta-oe/recipes-support/libmicrohttpd/libmicrohttpd_0.9.34.bb b/meta-oe/recipes-support/libmicrohttpd/libmicrohttpd_0.9.34.bb new file mode 100644 index 000000000..e3c833bf4 --- /dev/null +++ b/meta-oe/recipes-support/libmicrohttpd/libmicrohttpd_0.9.34.bb | |||
@@ -0,0 +1,27 @@ | |||
1 | DESCRIPTION = "A small C library that is supposed to make it easy to run an HTTP server as part of another application" | ||
2 | HOMEPAGE = "http://www.gnu.org/software/libmicrohttpd/" | ||
3 | LICENSE = "LGPL-2.1+" | ||
4 | LIC_FILES_CHKSUM = "file://COPYING;md5=9331186f4f80db7da0e724bdd6554ee5" | ||
5 | SECTION = "net" | ||
6 | DEPENDS = "libgcrypt gnutls file" | ||
7 | |||
8 | SRC_URI = "http://ftp.gnu.org/gnu/libmicrohttpd/${BPN}-${PV}.tar.gz" | ||
9 | SRC_URI[md5sum] = "2947eee13c2c8affb95023a0cb6fda0c" | ||
10 | SRC_URI[sha256sum] = "29a2bfd4fd2ddf60c756b8c283291a134898e3cc143843be421a040be1b25a88" | ||
11 | |||
12 | inherit autotools lib_package | ||
13 | |||
14 | # disable spdy, because it depends on openssl | ||
15 | EXTRA_OECONF += "--disable-static --with-gnutls=${STAGING_LIBDIR}/../ --disable-spdy" | ||
16 | |||
17 | PACKAGECONFIG ?= "curl" | ||
18 | PACKAGECONFIG_append_class-target = "\ | ||
19 | ${@base_contains('DISTRO_FEATURES', 'largefile', 'largefile', '', d)} \ | ||
20 | " | ||
21 | PACKAGECONFIG[largefile] = "--enable-largefile,--disable-largefile,," | ||
22 | PACKAGECONFIG[curl] = "--enable-curl,--disable-curl,curl," | ||
23 | |||
24 | do_compile_append() { | ||
25 | sed -i s:-L${STAGING_LIBDIR}::g libmicrohttpd.pc | ||
26 | } | ||
27 | |||
diff --git a/meta-oe/recipes-support/liboauth/liboauth_1.0.3.bb b/meta-oe/recipes-support/liboauth/liboauth_1.0.3.bb new file mode 100644 index 000000000..3311da5a8 --- /dev/null +++ b/meta-oe/recipes-support/liboauth/liboauth_1.0.3.bb | |||
@@ -0,0 +1,16 @@ | |||
1 | # Copyright (C) 2014 Khem Raj <raj.khem@gmail.com> | ||
2 | # Released under the MIT license (see COPYING.MIT for the terms) | ||
3 | |||
4 | DESCRIPTION = "C library implementing OAuth Core RFC 5849" | ||
5 | HOMEPAGE = "http://liboauth.sourceforge.net" | ||
6 | LICENSE = "MIT|GPL-2.0" | ||
7 | LIC_FILES_CHKSUM = "file://COPYING.MIT;md5=6266718a5241c045c8099d9be48817df \ | ||
8 | file://COPYING.GPL;md5=0636e73ff0215e8d672dc4c32c317bb3" | ||
9 | SECTION = "libs" | ||
10 | DEPENDS = "curl openssl" | ||
11 | |||
12 | SRC_URI = "${SOURCEFORGE_MIRROR}/project/${BPN}/${BP}.tar.gz" | ||
13 | SRC_URI[md5sum] = "689b46c2b3ab1a39735ac33f714c4f7f" | ||
14 | SRC_URI[sha256sum] = "0df60157b052f0e774ade8a8bac59d6e8d4b464058cc55f9208d72e41156811f" | ||
15 | |||
16 | inherit autotools pkgconfig | ||
diff --git a/meta-oe/recipes-support/libol/libol/configure.patch b/meta-oe/recipes-support/libol/libol/configure.patch new file mode 100644 index 000000000..87695fb06 --- /dev/null +++ b/meta-oe/recipes-support/libol/libol/configure.patch | |||
@@ -0,0 +1,14 @@ | |||
1 | Index: libol-0.3.18/configure.in | ||
2 | =================================================================== | ||
3 | --- libol-0.3.18.orig/configure.in 2006-03-27 14:44:52.000000000 +0000 | ||
4 | +++ libol-0.3.18/configure.in 2014-07-18 07:05:56.029481372 +0000 | ||
5 | @@ -1,7 +1,7 @@ | ||
6 | dnl Process this file with autoconf to produce a configure script. | ||
7 | -AC_INIT(src/abstract_io.c) | ||
8 | +AC_INIT(libol, "0.3.18") | ||
9 | |||
10 | -AM_INIT_AUTOMAKE(libol, "0.3.18", 1) | ||
11 | +AM_INIT_AUTOMAKE([foreign]) | ||
12 | if test -n "$SNAPSHOT_VERSION"; then | ||
13 | VERSION=$VERSION+$SNAPSHOT_VERSION | ||
14 | fi | ||
diff --git a/meta-oe/recipes-support/libol/libol_0.3.18.bb b/meta-oe/recipes-support/libol/libol_0.3.18.bb new file mode 100644 index 000000000..c31f48313 --- /dev/null +++ b/meta-oe/recipes-support/libol/libol_0.3.18.bb | |||
@@ -0,0 +1,19 @@ | |||
1 | SUMMARY = "A tiny C support library" | ||
2 | SECTION = "libs" | ||
3 | LICENSE = "GPLv2" | ||
4 | LIC_FILES_CHKSUM = "file://COPYING;md5=c93c0550bd3173f4504b2cbd8991e50b" | ||
5 | |||
6 | SRC_URI = "http://www.balabit.com/downloads/files/libol/0.3/${BP}.tar.gz \ | ||
7 | file://configure.patch" | ||
8 | SRC_URI[md5sum] = "cbadf4b7ea276dfa85acc38a1cc5ff17" | ||
9 | SRC_URI[sha256sum] = "9de3bf13297ff882e02a1e6e5f6bf760a544aff92a9d8a1cf4328a32005cefe7" | ||
10 | |||
11 | inherit autotools binconfig | ||
12 | |||
13 | do_compile_prepend() { | ||
14 | install ${S}/utils/make_class.in ${B}/utils | ||
15 | } | ||
16 | |||
17 | do_install_append() { | ||
18 | rm -fr ${D}${bindir} | ||
19 | } | ||
diff --git a/meta-oe/recipes-support/libraw1394/libraw1394_2.1.0.bb b/meta-oe/recipes-support/libraw1394/libraw1394_2.1.0.bb new file mode 100644 index 000000000..811829ebc --- /dev/null +++ b/meta-oe/recipes-support/libraw1394/libraw1394_2.1.0.bb | |||
@@ -0,0 +1,11 @@ | |||
1 | SUMMARY = "base library for low-level IEEE 1394 accesses" | ||
2 | HOMEPAGE = "https://ieee1394.wiki.kernel.org/index.php/Libraries#libraw1394" | ||
3 | SECTION = "libs" | ||
4 | LICENSE = "LGPL-2.1" | ||
5 | LIC_FILES_CHKSUM = "file://COPYING.LIB;md5=d8045f3b8f929c1cb29a1e3fd737b499" | ||
6 | |||
7 | SRC_URI = "https://www.kernel.org/pub/linux/libs/ieee1394/${BPN}-${PV}.tar.gz" | ||
8 | SRC_URI[md5sum] = "d06cccb776b240b6ab5efdee33b87af2" | ||
9 | SRC_URI[sha256sum] = "a83cff16fb8885831bc29d7d17f3c570dc39251d89e20795c08e87720de0ba70" | ||
10 | |||
11 | inherit autotools | ||
diff --git a/meta-oe/recipes-support/libsdl-ttf/libsdl-ttf-2.0.10/configure.patch b/meta-oe/recipes-support/libsdl-ttf/libsdl-ttf-2.0.10/configure.patch new file mode 100644 index 000000000..de88f0a34 --- /dev/null +++ b/meta-oe/recipes-support/libsdl-ttf/libsdl-ttf-2.0.10/configure.patch | |||
@@ -0,0 +1,52 @@ | |||
1 | Index: SDL_ttf-2.0.10/configure.in | ||
2 | =================================================================== | ||
3 | --- SDL_ttf-2.0.10.orig/configure.in 2009-10-12 23:06:38.000000000 +0000 | ||
4 | +++ SDL_ttf-2.0.10/configure.in 2014-07-17 12:33:34.011662505 +0000 | ||
5 | @@ -1,5 +1,4 @@ | ||
6 | dnl Process this file with autoconf to produce a configure script. | ||
7 | -AC_INIT(README) | ||
8 | |||
9 | dnl Set various version strings - taken gratefully from the GTk sources | ||
10 | |||
11 | @@ -11,12 +10,19 @@ | ||
12 | # if backwards compatibility has been broken, | ||
13 | # set BINARY_AGE and INTERFACE_AGE to 0. | ||
14 | |||
15 | -MAJOR_VERSION=2 | ||
16 | -MINOR_VERSION=0 | ||
17 | -MICRO_VERSION=10 | ||
18 | +m4_define([sdlttf_major_version],[2]) | ||
19 | +m4_define([sdlttf_minor_version],[0]) | ||
20 | +m4_define([sdlttf_micro_version],[10]) | ||
21 | +m4_define([sdlttf_version], [sdlttf_major_version.sdlttf_minor_version.sdlttf_micro_version]) | ||
22 | + | ||
23 | +AC_INIT([SDL_ttf], [sdlttf_version]) | ||
24 | + | ||
25 | +MAJOR_VERSION=sdlttf_major_version | ||
26 | +MINOR_VERSION=sdlttf_minor_version | ||
27 | +MICRO_VERSION=sdlttf_micro_version | ||
28 | INTERFACE_AGE=0 | ||
29 | BINARY_AGE=10 | ||
30 | -VERSION=$MAJOR_VERSION.$MINOR_VERSION.$MICRO_VERSION | ||
31 | +VERSION=sdlttf_version | ||
32 | |||
33 | AC_SUBST(MAJOR_VERSION) | ||
34 | AC_SUBST(MINOR_VERSION) | ||
35 | @@ -25,6 +31,8 @@ | ||
36 | AC_SUBST(BINARY_AGE) | ||
37 | AC_SUBST(VERSION) | ||
38 | |||
39 | +AC_CONFIG_MACRO_DIR([acinclude]) | ||
40 | + | ||
41 | # libtool versioning | ||
42 | LT_INIT([win32-dll]) | ||
43 | |||
44 | @@ -42,7 +50,7 @@ | ||
45 | AC_CANONICAL_HOST | ||
46 | |||
47 | dnl Setup for automake | ||
48 | -AM_INIT_AUTOMAKE(SDL_ttf, $VERSION) | ||
49 | +AM_INIT_AUTOMAKE([foreign]) | ||
50 | |||
51 | dnl Check for tools | ||
52 | AC_PROG_LIBTOOL | ||
diff --git a/meta-oe/recipes-support/libsdl-ttf/libsdl-ttf-2.0.10/use.pkg-config.for.freetype2.patch b/meta-oe/recipes-support/libsdl-ttf/libsdl-ttf-2.0.10/use.pkg-config.for.freetype2.patch new file mode 100644 index 000000000..8a11f6649 --- /dev/null +++ b/meta-oe/recipes-support/libsdl-ttf/libsdl-ttf-2.0.10/use.pkg-config.for.freetype2.patch | |||
@@ -0,0 +1,57 @@ | |||
1 | freetype-config was removed from oe-core in | ||
2 | |||
3 | commit 5870bd272b0b077d0826fb900b251884c1c05061 | ||
4 | Author: Richard Purdie <richard.purdie@linuxfoundation.org> | ||
5 | Date: Thu May 22 10:59:33 2014 +0100 | ||
6 | |||
7 | binconfig-disabled: Add class and use | ||
8 | |||
9 | diff --git a/configure.in b/configure.in | ||
10 | index 408e8d6..5f9e730 100644 | ||
11 | --- a/configure.in | ||
12 | +++ b/configure.in | ||
13 | @@ -86,39 +86,11 @@ case "$host" in | ||
14 | esac | ||
15 | AM_CONDITIONAL(USE_VERSION_RC, test x$use_version_rc = xtrue) | ||
16 | |||
17 | -dnl Check for the FreeType 2 library | ||
18 | -dnl | ||
19 | -dnl Get the cflags and libraries from the freetype-config script | ||
20 | -dnl | ||
21 | -AC_ARG_WITH(freetype-prefix,[ --with-freetype-prefix=PFX Prefix where FREETYPE is | ||
22 | -installed (optional)], | ||
23 | - freetype_prefix="$withval", freetype_prefix="") | ||
24 | -AC_ARG_WITH(freetype-exec-prefix,[ --with-freetype-exec-prefix=PFX Exec prefix | ||
25 | -where FREETYPE is installed (optional)], | ||
26 | - freetype_exec_prefix="$withval", freetype_exec_prefix="") | ||
27 | - | ||
28 | -if test x$freetype_exec_prefix != x ; then | ||
29 | - freetype_args="$freetype_args --exec-prefix=$freetype_exec_prefix" | ||
30 | - if test x${FREETYPE_CONFIG+set} != xset ; then | ||
31 | - FREETYPE_CONFIG=$freetype_exec_prefix/bin/freetype-config | ||
32 | - fi | ||
33 | -fi | ||
34 | -if test x$freetype_prefix != x ; then | ||
35 | - freetype_args="$freetype_args --prefix=$freetype_prefix" | ||
36 | - if test x${FREETYPE_CONFIG+set} != xset ; then | ||
37 | - FREETYPE_CONFIG=$freetype_prefix/bin/freetype-config | ||
38 | - fi | ||
39 | -fi | ||
40 | -AC_PATH_PROG(FREETYPE_CONFIG, freetype-config, no) | ||
41 | -no_freetype="" | ||
42 | -if test "$FREETYPE_CONFIG" = "no" ; then | ||
43 | - AC_MSG_ERROR([ | ||
44 | -*** Unable to find FreeType2 library (http://www.freetype.org/) | ||
45 | -]) | ||
46 | -else | ||
47 | - CFLAGS="$CFLAGS `$FREETYPE_CONFIG $freetypeconf_args --cflags`" | ||
48 | - LIBS="$LIBS `$FREETYPE_CONFIG $freetypeconf_args --libs`" | ||
49 | -fi | ||
50 | +PKG_CHECK_MODULES(FREETYPE2, freetype2, | ||
51 | + CFLAGS="$CFLAGS $FREETYPE2_CFLAGS" | ||
52 | + LIBS="$LIBS $FREETYPE2_LIBS", | ||
53 | + AC_MSG_ERROR([*** Unable to find FreeType2 library (http://www.freetype.org/)]) | ||
54 | +) | ||
55 | |||
56 | dnl Check for SDL | ||
57 | SDL_VERSION=2.0.0 | ||
diff --git a/meta-oe/recipes-support/libsdl-ttf/libsdl-ttf_2.0.10.bb b/meta-oe/recipes-support/libsdl-ttf/libsdl-ttf_2.0.10.bb new file mode 100644 index 000000000..ad3792e22 --- /dev/null +++ b/meta-oe/recipes-support/libsdl-ttf/libsdl-ttf_2.0.10.bb | |||
@@ -0,0 +1,33 @@ | |||
1 | SUMMARY = "Simple DirectMedia Layer truetype font library" | ||
2 | SECTION = "libs" | ||
3 | DEPENDS = "virtual/libsdl freetype" | ||
4 | LICENSE = "LGPLv2.1" | ||
5 | LIC_FILES_CHKSUM = "file://COPYING;md5=27818cd7fd83877a8e3ef82b82798ef4" | ||
6 | |||
7 | PR = "r2" | ||
8 | |||
9 | SRC_URI = "http://www.libsdl.org/projects/SDL_ttf/release/SDL_ttf-${PV}.tar.gz \ | ||
10 | file://configure.patch \ | ||
11 | file://use.pkg-config.for.freetype2.patch \ | ||
12 | " | ||
13 | |||
14 | S = "${WORKDIR}/SDL_ttf-${PV}" | ||
15 | EXTRA_OECONF += "SDL_CONFIG=${STAGING_BINDIR_CROSS}/sdl-config " | ||
16 | |||
17 | inherit autotools | ||
18 | |||
19 | TARGET_CC_ARCH += "${LDFLAGS}" | ||
20 | |||
21 | do_configure_prepend() { | ||
22 | |||
23 | # Removing these files fixes a libtool version mismatch. | ||
24 | MACROS="libtool.m4 lt~obsolete.m4 ltoptions.m4 ltsugar.m4 ltversion.m4" | ||
25 | |||
26 | for i in ${MACROS}; do | ||
27 | rm -f ${S}/acinclude/$i | ||
28 | done | ||
29 | |||
30 | } | ||
31 | |||
32 | SRC_URI[md5sum] = "814e6e17e8879254208d23b3b7e0354b" | ||
33 | SRC_URI[sha256sum] = "7d38704bcc7c34029c2dcb73b2d4857e8ad76341c6e0faed279eb9f743c66c6a" | ||
diff --git a/meta-oe/recipes-support/libsmi/libsmi_0.4.8.bb b/meta-oe/recipes-support/libsmi/libsmi_0.4.8.bb new file mode 100644 index 000000000..2b036f901 --- /dev/null +++ b/meta-oe/recipes-support/libsmi/libsmi_0.4.8.bb | |||
@@ -0,0 +1,16 @@ | |||
1 | SUMMARY = "A Library to Access SMI MIB Information" | ||
2 | |||
3 | LICENSE = "BSD" | ||
4 | LIC_FILES_CHKSUM = "file://COPYING;md5=3ad3076f9332343a21636cfd351f05b7" | ||
5 | |||
6 | SRC_URI = "ftp://ftp.ibr.cs.tu-bs.de/pub/local/libsmi/${BP}.tar.gz" | ||
7 | |||
8 | SRC_URI[md5sum] = "760b6b1070738158708649ed2c63425e" | ||
9 | SRC_URI[sha256sum] = "f048a5270f41bc88b0c3b0a8fe70ca4d716a46b531a0ecaaa87c462f49d74849" | ||
10 | |||
11 | inherit autotools | ||
12 | |||
13 | PACKAGES += "${PN}-mibs ${PN}-pibs" | ||
14 | |||
15 | FILES_${PN}-mibs += "${datadir}/mibs" | ||
16 | FILES_${PN}-pibs += "${datadir}/pibs" | ||
diff --git a/meta-oe/recipes-support/libsoc/libsoc_0.6.bb b/meta-oe/recipes-support/libsoc/libsoc_0.6.bb new file mode 100644 index 000000000..79c171adf --- /dev/null +++ b/meta-oe/recipes-support/libsoc/libsoc_0.6.bb | |||
@@ -0,0 +1,17 @@ | |||
1 | SUMMARY = "Library for interfacing with common SoC peripherals" | ||
2 | DESCRIPTION = "libsoc is a C library to interface with common peripherals (gpio, i2c, spi, pwm) \ | ||
3 | found in SoC (System on Chips) through generic Linux Kernel interfaces." | ||
4 | |||
5 | HOMEPAGE = "https://github.com/jackmitch/libsoc" | ||
6 | |||
7 | LICENSE = "LGPLv2.1" | ||
8 | LIC_FILES_CHKSUM = "file://COPYING;md5=e0bfebea12a718922225ba987b2126a5" | ||
9 | |||
10 | inherit autotools | ||
11 | |||
12 | SRCREV = "3643cf161a4b37bfbdfd05437166c4a29ac3ed8d" | ||
13 | SRC_URI = "git://github.com/jackmitch/libsoc.git" | ||
14 | |||
15 | S = "${WORKDIR}/git" | ||
16 | |||
17 | RDEPENDS_${PN} = "libgcc" | ||
diff --git a/meta-oe/recipes-support/libssh/libssh_0.6.3.bb b/meta-oe/recipes-support/libssh/libssh_0.6.3.bb new file mode 100644 index 000000000..771a47a6c --- /dev/null +++ b/meta-oe/recipes-support/libssh/libssh_0.6.3.bb | |||
@@ -0,0 +1,29 @@ | |||
1 | SUMMARY = "Multiplatform C library implementing the SSHv2 and SSHv1 protocol" | ||
2 | HOMEPAGE = "http://www.libssh.org" | ||
3 | SECTION = "libs" | ||
4 | |||
5 | DEPENDS = "zlib openssl libgcrypt" | ||
6 | |||
7 | LICENSE = "LGPLv2.1" | ||
8 | LIC_FILES_CHKSUM = "file://COPYING;md5=388a4fb1dea8ceae0be78ba9b01fc139" | ||
9 | |||
10 | SRC_URI = "git://git.libssh.org/projects/libssh.git;branch=v0-6" | ||
11 | SRCREV = "87145387aa12b720b52d6bc75b4dd6cd058c868a" | ||
12 | S = "${WORKDIR}/git" | ||
13 | |||
14 | EXTRA_OECMAKE = " \ | ||
15 | -DWITH_GCRYPT=1 \ | ||
16 | -DWITH_PCAP=1 \ | ||
17 | -DWITH_SFTP=1 \ | ||
18 | -DWITH_ZLIB=1 \ | ||
19 | " | ||
20 | |||
21 | inherit cmake | ||
22 | |||
23 | do_configure_prepend () { | ||
24 | # Disable building of examples | ||
25 | sed -i -e '/add_subdirectory(examples)/s/^/#DONOTWANT/' ${S}/CMakeLists.txt \ | ||
26 | || bbfatal "Failed to disable examples" | ||
27 | } | ||
28 | |||
29 | FILES_${PN}-dev += "${libdir}/cmake" | ||
diff --git a/meta-oe/recipes-support/libssh2/libssh2_1.4.3.bb b/meta-oe/recipes-support/libssh2/libssh2_1.4.3.bb new file mode 100644 index 000000000..b53766333 --- /dev/null +++ b/meta-oe/recipes-support/libssh2/libssh2_1.4.3.bb | |||
@@ -0,0 +1,18 @@ | |||
1 | SUMMARY = "A client-side C library implementing the SSH2 protocol" | ||
2 | HOMEPAGE = "http://www.libssh2.org/" | ||
3 | SECTION = "libs" | ||
4 | |||
5 | DEPENDS = "zlib openssl" | ||
6 | |||
7 | LICENSE = "BSD" | ||
8 | LIC_FILES_CHKSUM = "file://COPYING;md5=d00afe44f336a79a2ca7e1681ce14509" | ||
9 | |||
10 | SRC_URI = "http://www.libssh2.org/download/${BP}.tar.gz" | ||
11 | SRC_URI[md5sum] = "071004c60c5d6f90354ad1b701013a0b" | ||
12 | SRC_URI[sha256sum] = "eac6f85f9df9db2e6386906a6227eb2cd7b3245739561cad7d6dc1d5d021b96d" | ||
13 | |||
14 | inherit autotools pkgconfig | ||
15 | |||
16 | EXTRA_OECONF += "--with-openssl \ | ||
17 | --with-libz \ | ||
18 | " | ||
diff --git a/meta-oe/recipes-support/libtinyxml/libtinyxml/enforce-use-stl.patch b/meta-oe/recipes-support/libtinyxml/libtinyxml/enforce-use-stl.patch new file mode 100644 index 000000000..88c962bbe --- /dev/null +++ b/meta-oe/recipes-support/libtinyxml/libtinyxml/enforce-use-stl.patch | |||
@@ -0,0 +1,20 @@ | |||
1 | Description: TinyXml is built with TIXML_USE_STL, so we have to | ||
2 | enforce it when the library is used. | ||
3 | Author: Felix Geyer <debfx-pkg@fobos.de> | ||
4 | |||
5 | Upstream-Status: Pending | ||
6 | |||
7 | diff -Nur tinyxml-2.5.3/tinyxml.h tinyxml-2.5.3.patch/tinyxml.h | ||
8 | --- tinyxml-2.5.3/tinyxml.h 2007-05-07 00:41:23.000000000 +0200 | ||
9 | +++ tinyxml-2.5.3.patch/tinyxml.h 2009-07-08 22:32:03.000000000 +0200 | ||
10 | @@ -26,6 +26,10 @@ | ||
11 | #ifndef TINYXML_INCLUDED | ||
12 | #define TINYXML_INCLUDED | ||
13 | |||
14 | +#ifndef TIXML_USE_STL | ||
15 | + #define TIXML_USE_STL | ||
16 | +#endif | ||
17 | + | ||
18 | #ifdef _MSC_VER | ||
19 | #pragma warning( push ) | ||
20 | #pragma warning( disable : 4530 ) | ||
diff --git a/meta-oe/recipes-support/libtinyxml/libtinyxml/entity-encoding.patch b/meta-oe/recipes-support/libtinyxml/libtinyxml/entity-encoding.patch new file mode 100644 index 000000000..b801506ea --- /dev/null +++ b/meta-oe/recipes-support/libtinyxml/libtinyxml/entity-encoding.patch | |||
@@ -0,0 +1,62 @@ | |||
1 | Description: TinyXML incorrectly encodes text element containing | ||
2 | an ampersand followed by either x or #. | ||
3 | |||
4 | Origin: http://sourceforge.net/tracker/index.php?func=detail&aid=3031828&group_id=13559&atid=313559 | ||
5 | |||
6 | Upstream-Status: Pending | ||
7 | |||
8 | diff -u -r1.105 tinyxml.cpp | ||
9 | --- a/tinyxml.cpp | ||
10 | +++ b/tinyxml.cpp | ||
11 | @@ -57,30 +57,7 @@ | ||
12 | { | ||
13 | unsigned char c = (unsigned char) str[i]; | ||
14 | |||
15 | - if ( c == '&' | ||
16 | - && i < ( (int)str.length() - 2 ) | ||
17 | - && str[i+1] == '#' | ||
18 | - && str[i+2] == 'x' ) | ||
19 | - { | ||
20 | - // Hexadecimal character reference. | ||
21 | - // Pass through unchanged. | ||
22 | - // © -- copyright symbol, for example. | ||
23 | - // | ||
24 | - // The -1 is a bug fix from Rob Laveaux. It keeps | ||
25 | - // an overflow from happening if there is no ';'. | ||
26 | - // There are actually 2 ways to exit this loop - | ||
27 | - // while fails (error case) and break (semicolon found). | ||
28 | - // However, there is no mechanism (currently) for | ||
29 | - // this function to return an error. | ||
30 | - while ( i<(int)str.length()-1 ) | ||
31 | - { | ||
32 | - outString->append( str.c_str() + i, 1 ); | ||
33 | - ++i; | ||
34 | - if ( str[i] == ';' ) | ||
35 | - break; | ||
36 | - } | ||
37 | - } | ||
38 | - else if ( c == '&' ) | ||
39 | + if ( c == '&' ) | ||
40 | { | ||
41 | outString->append( entity[0].str, entity[0].strLength ); | ||
42 | ++i; | ||
43 | diff -u -r1.89 xmltest.cpp | ||
44 | --- a/xmltest.cpp | ||
45 | +++ b/xmltest.cpp | ||
46 | @@ -1340,6 +1340,16 @@ | ||
47 | }*/ | ||
48 | } | ||
49 | |||
50 | + #ifdef TIXML_USE_STL | ||
51 | + { | ||
52 | + TiXmlDocument xml; | ||
53 | + xml.Parse("<foo>foo&#xa+bar</foo>"); | ||
54 | + std::string str; | ||
55 | + str << xml; | ||
56 | + XmlTest( "Entity escaping", "<foo>foo&#xa+bar</foo>", str.c_str() ); | ||
57 | + } | ||
58 | + #endif | ||
59 | + | ||
60 | /* 1417717 experiment | ||
61 | { | ||
62 | TiXmlDocument xml; | ||
diff --git a/meta-oe/recipes-support/libtinyxml/libtinyxml_2.6.2.bb b/meta-oe/recipes-support/libtinyxml/libtinyxml_2.6.2.bb new file mode 100644 index 000000000..e09a5393d --- /dev/null +++ b/meta-oe/recipes-support/libtinyxml/libtinyxml_2.6.2.bb | |||
@@ -0,0 +1,45 @@ | |||
1 | # (c) Copyright 2012 Hewlett-Packard Development Company, L.P. | ||
2 | |||
3 | SUMMARY = "a simple, small, minimal, C++ XML parser" | ||
4 | HOMEPAGE = "http://www.sourceforge.net/projects/tinyxml" | ||
5 | LICENSE = "Zlib" | ||
6 | LIC_FILES_CHKSUM = "file://readme.txt;md5=f8f366f3370dda889f60faa7db162cf4" | ||
7 | SECTION = "libs" | ||
8 | |||
9 | PR = "r5" | ||
10 | |||
11 | SRC_URI = "${SOURCEFORGE_MIRROR}/tinyxml/tinyxml_${@'${PV}'.replace('.', '_')}.tar.gz \ | ||
12 | file://enforce-use-stl.patch \ | ||
13 | file://entity-encoding.patch" | ||
14 | SRC_URI[md5sum] = "c1b864c96804a10526540c664ade67f0" | ||
15 | SRC_URI[sha256sum] = "15bdfdcec58a7da30adc87ac2b078e4417dbe5392f3afb719f9ba6d062645593" | ||
16 | |||
17 | S = "${WORKDIR}/tinyxml" | ||
18 | |||
19 | EXTRA_CXXFLAGS = "-I. -fPIC" | ||
20 | |||
21 | do_compile() { | ||
22 | ${CXX} ${CXXFLAGS} ${EXTRA_CXXFLAGS} -c -o tinyxml.o tinyxml.cpp | ||
23 | ${CXX} ${CXXFLAGS} ${EXTRA_CXXFLAGS} -c -o tinyxmlerror.o tinyxmlerror.cpp | ||
24 | ${CXX} ${CXXFLAGS} ${EXTRA_CXXFLAGS} -c -o tinyxmlparser.o tinyxmlparser.cpp | ||
25 | ${CXX} ${CXXFLAGS} \ | ||
26 | -shared \ | ||
27 | -Wl,-soname,libtinyxml.so.${PV} \ | ||
28 | -o libtinyxml.so.${PV} \ | ||
29 | ${LDFLAGS} \ | ||
30 | tinyxml.o \ | ||
31 | tinyxmlparser.o \ | ||
32 | tinyxmlerror.o | ||
33 | |||
34 | } | ||
35 | |||
36 | do_install() { | ||
37 | install -d ${D}${libdir} | ||
38 | install -m 0755 ${S}/libtinyxml.so.${PV} ${D}${libdir} | ||
39 | ln -sf libtinyxml.so.${PV} ${D}${libdir}/libtinyxml.so | ||
40 | |||
41 | install -d ${D}${includedir} | ||
42 | install -m 0644 ${S}/tinyxml.h ${D}${includedir} | ||
43 | } | ||
44 | |||
45 | BBCLASSEXTEND += "native" | ||
diff --git a/meta-oe/recipes-support/libtinyxml2/libtinyxml2_git.bb b/meta-oe/recipes-support/libtinyxml2/libtinyxml2_git.bb new file mode 100644 index 000000000..1d3cffd77 --- /dev/null +++ b/meta-oe/recipes-support/libtinyxml2/libtinyxml2_git.bb | |||
@@ -0,0 +1,38 @@ | |||
1 | SUMMARY = "TinyXML-2 is a simple, small, efficient, C++ XML parser that can be easily integrating into other programs." | ||
2 | HOMEPAGE = "http://www.grinninglizard.com/tinyxml2/" | ||
3 | LICENSE = "Zlib" | ||
4 | LIC_FILES_CHKSUM = "file://readme.md;md5=0033b2f8a25283414b21354670bb1334" | ||
5 | SECTION = "libs" | ||
6 | |||
7 | SRCREV = "d211bb13512cf4edb408e2c4badbcf4100ce0fd0" | ||
8 | |||
9 | PV = "2.2.0+git${SRCPV}" | ||
10 | |||
11 | SRC_URI = "git://github.com/leethomason/tinyxml2.git" | ||
12 | |||
13 | S = "${WORKDIR}/git" | ||
14 | |||
15 | EXTRA_CXXFLAGS = "-I. -fPIC" | ||
16 | |||
17 | do_compile() { | ||
18 | ${CXX} ${CXXFLAGS} ${EXTRA_CXXFLAGS} -c -o tinyxml2.o tinyxml2.cpp | ||
19 | ${CXX} ${CXXFLAGS} \ | ||
20 | -shared \ | ||
21 | -Wl,-soname,libtinyxml2.so.${PV} \ | ||
22 | -o libtinyxml2.so.${PV} \ | ||
23 | ${LDFLAGS} \ | ||
24 | tinyxml2.o \ | ||
25 | |||
26 | } | ||
27 | |||
28 | do_install() { | ||
29 | install -d ${D}${libdir} | ||
30 | install -m 0755 ${S}/libtinyxml2.so.${PV} ${D}${libdir} | ||
31 | ln -sf libtinyxml2.so.${PV} ${D}${libdir}/libtinyxml2.so | ||
32 | |||
33 | install -d ${D}${includedir} | ||
34 | install -m 0644 ${S}/tinyxml2.h ${D}${includedir} | ||
35 | } | ||
36 | |||
37 | BBCLASSEXTEND += "native" | ||
38 | |||
diff --git a/meta-oe/recipes-support/libusbg/libusbg/0001-Fix-out-of-tree-builds.patch b/meta-oe/recipes-support/libusbg/libusbg/0001-Fix-out-of-tree-builds.patch new file mode 100644 index 000000000..6be49fbca --- /dev/null +++ b/meta-oe/recipes-support/libusbg/libusbg/0001-Fix-out-of-tree-builds.patch | |||
@@ -0,0 +1,39 @@ | |||
1 | From 6118c6ec1291a5c731aa8d4f0c1eb8cce43d47ad Mon Sep 17 00:00:00 2001 | ||
2 | From: Koen Kooi <koen@dominion.thruhere.net> | ||
3 | Date: Mon, 4 Aug 2014 09:04:08 +0200 | ||
4 | Subject: [PATCH] Fix out-of-tree builds | ||
5 | |||
6 | The include flag should point to the source directory, not the build | ||
7 | directory. | ||
8 | |||
9 | Signed-off-by: Koen Kooi <koen@dominion.thruhere.net> | ||
10 | Upstream-status: Submitted [https://github.com/libusbg/libusbg/pull/9] | ||
11 | --- | ||
12 | examples/Makefile.am | 2 +- | ||
13 | src/Makefile.am | 2 +- | ||
14 | 2 files changed, 2 insertions(+), 2 deletions(-) | ||
15 | |||
16 | diff --git a/examples/Makefile.am b/examples/Makefile.am | ||
17 | index f9f9407..ef4f81e 100644 | ||
18 | --- a/examples/Makefile.am | ||
19 | +++ b/examples/Makefile.am | ||
20 | @@ -1,5 +1,5 @@ | ||
21 | bin_PROGRAMS = show-gadgets gadget-acm-ecm | ||
22 | gadget_acm_ecm_SOURCES = gadget-acm-ecm.c | ||
23 | show_gadgets_SOURCES = show-gadgets.c | ||
24 | -AM_CPPFLAGS=-I../include/ | ||
25 | +AM_CPPFLAGS=-I$(top_srcdir)/include/ | ||
26 | AM_LDFLAGS=-L../src/ -lusbg | ||
27 | diff --git a/src/Makefile.am b/src/Makefile.am | ||
28 | index d955a4c..2f71366 100644 | ||
29 | --- a/src/Makefile.am | ||
30 | +++ b/src/Makefile.am | ||
31 | @@ -1,4 +1,4 @@ | ||
32 | lib_LTLIBRARIES = libusbg.la | ||
33 | libusbg_la_SOURCES = usbg.c | ||
34 | libusbg_la_LDFLAGS = -version-info 0:1:0 | ||
35 | -AM_CPPFLAGS=-I../include/ | ||
36 | +AM_CPPFLAGS=-I$(top_srcdir)/include/ | ||
37 | -- | ||
38 | 1.9.0 | ||
39 | |||
diff --git a/meta-oe/recipes-support/libusbg/libusbg_git.bb b/meta-oe/recipes-support/libusbg/libusbg_git.bb new file mode 100644 index 000000000..97d60a6a8 --- /dev/null +++ b/meta-oe/recipes-support/libusbg/libusbg_git.bb | |||
@@ -0,0 +1,16 @@ | |||
1 | SUMMARY = "USB Gadget Configfs Library" | ||
2 | |||
3 | LICENSE = "GPLv2 & LGPLv2.1" | ||
4 | LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \ | ||
5 | file://COPYING.LGPL;md5=4fbd65380cdd255951079008b364516c" | ||
6 | |||
7 | inherit autotools | ||
8 | |||
9 | PV = "0.1.0" | ||
10 | SRCREV = "a826d136e0e8fa53815f1ba05893e6dd74208c15" | ||
11 | SRC_URI = "git://github.com/libusbg/libusbg.git \ | ||
12 | file://0001-Fix-out-of-tree-builds.patch \ | ||
13 | " | ||
14 | |||
15 | S = "${WORKDIR}/git" | ||
16 | |||
diff --git a/meta-oe/recipes-support/libyaml/files/libyaml-CVE-2014-2525.patch b/meta-oe/recipes-support/libyaml/files/libyaml-CVE-2014-2525.patch new file mode 100644 index 000000000..2fdcba3ec --- /dev/null +++ b/meta-oe/recipes-support/libyaml/files/libyaml-CVE-2014-2525.patch | |||
@@ -0,0 +1,42 @@ | |||
1 | Heap-based buffer overflow in the yaml_parser_scan_uri_escapes function | ||
2 | in LibYAML before 0.1.6 allows context-dependent attackers to execute | ||
3 | arbitrary code via a long sequence of percent-encoded characters in a | ||
4 | URI in a YAML file. | ||
5 | |||
6 | Upstream-Status: Backport | ||
7 | |||
8 | Signed-off-by: Kai Kang <kai.kang@windriver.com> | ||
9 | --- | ||
10 | diff --git a/src/scanner.c.old b/src/scanner.c | ||
11 | index a2e8619..c6cde3b 100644 | ||
12 | --- a/src/scanner.c.old | ||
13 | +++ b/src/scanner.c | ||
14 | @@ -2619,6 +2619,9 @@ yaml_parser_scan_tag_uri(yaml_parser_t *parser, int directive, | ||
15 | /* Check if it is a URI-escape sequence. */ | ||
16 | |||
17 | if (CHECK(parser->buffer, '%')) { | ||
18 | + if (!STRING_EXTEND(parser, string)) | ||
19 | + goto error; | ||
20 | + | ||
21 | if (!yaml_parser_scan_uri_escapes(parser, | ||
22 | directive, start_mark, &string)) goto error; | ||
23 | } | ||
24 | diff --git a/src/yaml_private.h.old b/src/yaml_private.h | ||
25 | index ed5ea66..d72acb4 100644 | ||
26 | --- a/src/yaml_private.h.old | ||
27 | +++ b/src/yaml_private.h | ||
28 | @@ -132,9 +132,12 @@ yaml_string_join( | ||
29 | (string).start = (string).pointer = (string).end = 0) | ||
30 | |||
31 | #define STRING_EXTEND(context,string) \ | ||
32 | - (((string).pointer+5 < (string).end) \ | ||
33 | + ((((string).pointer+5 < (string).end) \ | ||
34 | || yaml_string_extend(&(string).start, \ | ||
35 | - &(string).pointer, &(string).end)) | ||
36 | + &(string).pointer, &(string).end)) ? \ | ||
37 | + 1 : \ | ||
38 | + ((context)->error = YAML_MEMORY_ERROR, \ | ||
39 | + 0)) | ||
40 | |||
41 | #define CLEAR(context,string) \ | ||
42 | ((string).pointer = (string).start, \ | ||
diff --git a/meta-oe/recipes-support/libyaml/libyaml_0.1.5.bb b/meta-oe/recipes-support/libyaml/libyaml_0.1.5.bb new file mode 100644 index 000000000..127954196 --- /dev/null +++ b/meta-oe/recipes-support/libyaml/libyaml_0.1.5.bb | |||
@@ -0,0 +1,21 @@ | |||
1 | SUMMARY = "LibYAML is a YAML 1.1 parser and emitter written in C." | ||
2 | DESCRIPTION = "LibYAML is a C library for parsing and emitting data in YAML 1.1, \ | ||
3 | a human-readable data serialization format. " | ||
4 | HOMEPAGE = "http://pyyaml.org/wiki/LibYAML" | ||
5 | SECTION = "libs/devel" | ||
6 | |||
7 | LICENSE = "MIT" | ||
8 | LIC_FILES_CHKSUM = "file://LICENSE;md5=6015f088759b10e0bc2bf64898d4ae17" | ||
9 | |||
10 | SRC_URI = "http://pyyaml.org/download/libyaml/yaml-${PV}.tar.gz \ | ||
11 | file://libyaml-CVE-2014-2525.patch \ | ||
12 | " | ||
13 | |||
14 | SRC_URI[md5sum] = "24f6093c1e840ca5df2eb09291a1dbf1" | ||
15 | SRC_URI[sha256sum] = "fa87ee8fb7b936ec04457bc044cd561155e1000a4d25029867752e543c2d3bef" | ||
16 | |||
17 | S = "${WORKDIR}/yaml-${PV}" | ||
18 | |||
19 | inherit autotools | ||
20 | |||
21 | BBCLASSEXTEND = "native" | ||
diff --git a/meta-oe/recipes-support/links/files/ac-prog-cxx.patch b/meta-oe/recipes-support/links/files/ac-prog-cxx.patch new file mode 100644 index 000000000..41c382685 --- /dev/null +++ b/meta-oe/recipes-support/links/files/ac-prog-cxx.patch | |||
@@ -0,0 +1,11 @@ | |||
1 | --- links-2.1pre20/configure.in.orig 2005-12-21 15:23:49.000000000 +0000 | ||
2 | +++ links-2.1pre20/configure.in 2005-12-21 15:23:59.000000000 +0000 | ||
3 | @@ -18,7 +18,7 @@ | ||
4 | dnl Checks for programs. | ||
5 | AC_PROG_CC | ||
6 | |||
7 | -#AC_PROG_CXX | ||
8 | +AC_PROG_CXX | ||
9 | #AC_PROG_AWK | ||
10 | #AM_PROG_LEX | ||
11 | #AC_PROG_YACC | ||
diff --git a/meta-oe/recipes-support/links/files/links2.desktop b/meta-oe/recipes-support/links/files/links2.desktop new file mode 100644 index 000000000..a05bce1b2 --- /dev/null +++ b/meta-oe/recipes-support/links/files/links2.desktop | |||
@@ -0,0 +1,14 @@ | |||
1 | [Desktop Entry] | ||
2 | Encoding=UTF-8 | ||
3 | Name=Links | ||
4 | Comment=Links is a browser very similar to lynx | ||
5 | Comment[es]=El links es un browser para modo texto, similar a lynx | ||
6 | Comment[pl]=Links jest przeglÄ…darkÄ… podobnÄ… do lynksa | ||
7 | Comment[pt]=O links é um browser para modo texto, similar ao lynx | ||
8 | Comment[pt_BR]=O links é um browser para modo texto, similar ao lynx | ||
9 | Exec=links -g | ||
10 | Terminal=true | ||
11 | Icon=links2 | ||
12 | Type=Application | ||
13 | Categories=Application;ConsoleOnly;Network;WebBrowser; | ||
14 | # vi: encoding=utf-8 | ||
diff --git a/meta-oe/recipes-support/links/links-x11_2.7.bb b/meta-oe/recipes-support/links/links-x11_2.7.bb new file mode 100644 index 000000000..87666534e --- /dev/null +++ b/meta-oe/recipes-support/links/links-x11_2.7.bb | |||
@@ -0,0 +1,27 @@ | |||
1 | require links.inc | ||
2 | |||
3 | DEPENDS += "virtual/libx11" | ||
4 | RCONFLICTS_${PN} = "links" | ||
5 | |||
6 | SRC_URI += " file://links2.desktop \ | ||
7 | http://www.xora.org.uk/oe/links2.png;name=icon" | ||
8 | |||
9 | S = "${WORKDIR}/links-${PV}" | ||
10 | |||
11 | EXTRA_OECONF = "--enable-graphics \ | ||
12 | --with-ssl=${STAGING_LIBDIR}/.. --with-libjpeg \ | ||
13 | --without-libtiff --without-svgalib --without-fb \ | ||
14 | --without-directfb --without-pmshell --without-atheos \ | ||
15 | --with-x --without-gpm" | ||
16 | |||
17 | do_install_append() { | ||
18 | install -d ${D}/${datadir}/applications | ||
19 | install -m 0644 ${WORKDIR}/links2.desktop ${D}/${datadir}/applications | ||
20 | install -d ${D}/${datadir}/pixmaps | ||
21 | install -m 0644 ${WORKDIR}/links2.png ${D}/${datadir}/pixmaps | ||
22 | } | ||
23 | |||
24 | SRC_URI[md5sum] = "d06aa6e14b2172d73188871a5357185a" | ||
25 | SRC_URI[sha256sum] = "0c182b1cbcdfd5cdcd2f75a6032d1a4b660d07c1225c1e07757cec81d3302130" | ||
26 | SRC_URI[icon.md5sum] = "477e8787927c634614bac01b44355a33" | ||
27 | SRC_URI[icon.sha256sum] = "eddcd8b8c8698aa621d1a453943892d77b72ed492e0d14e0dbac5c6a57e52f47" | ||
diff --git a/meta-oe/recipes-support/links/links.inc b/meta-oe/recipes-support/links/links.inc new file mode 100644 index 000000000..e07240820 --- /dev/null +++ b/meta-oe/recipes-support/links/links.inc | |||
@@ -0,0 +1,17 @@ | |||
1 | DESCRIPTION = "Links is graphics and text mode WWW \ | ||
2 | browser, similar to Lynx." | ||
3 | HOMEPAGE = "http://links.twibright.com/" | ||
4 | SECTION = "console/network" | ||
5 | LICENSE = "GPLv2" | ||
6 | LIC_FILES_CHKSUM = "file://COPYING;md5=65e735be2e05d5943803344148f57603" | ||
7 | DEPENDS = "jpeg libpng flex openssl zlib" | ||
8 | |||
9 | SRC_URI = "http://links.twibright.com/download/links-${PV}.tar.bz2 \ | ||
10 | file://ac-prog-cxx.patch \ | ||
11 | " | ||
12 | |||
13 | PACKAGECONFIG ??= "" | ||
14 | PACKAGECONFIG[bzip2] = "--with-bzip2,--without-bzip2,bzip2" | ||
15 | PACKAGECONFIG[lzma] = "--with-lzma,--without-lzma,xz" | ||
16 | |||
17 | inherit autotools pkgconfig | ||
diff --git a/meta-oe/recipes-support/links/links_2.7.bb b/meta-oe/recipes-support/links/links_2.7.bb new file mode 100644 index 000000000..e80dd7bca --- /dev/null +++ b/meta-oe/recipes-support/links/links_2.7.bb | |||
@@ -0,0 +1,13 @@ | |||
1 | require links.inc | ||
2 | |||
3 | DEPENDS += "gpm" | ||
4 | RCONFLICTS_${PN} = "links-x11" | ||
5 | |||
6 | EXTRA_OECONF = "--enable-graphics \ | ||
7 | --with-ssl=${STAGING_LIBDIR}/.. --with-libjpeg \ | ||
8 | --without-libtiff --without-svgalib --with-fb \ | ||
9 | --without-directfb --without-pmshell --without-atheos \ | ||
10 | --without-x" | ||
11 | |||
12 | SRC_URI[md5sum] = "d06aa6e14b2172d73188871a5357185a" | ||
13 | SRC_URI[sha256sum] = "0c182b1cbcdfd5cdcd2f75a6032d1a4b660d07c1225c1e07757cec81d3302130" | ||
diff --git a/meta-oe/recipes-support/lio-utils/lio-utils_4.1.bb b/meta-oe/recipes-support/lio-utils/lio-utils_4.1.bb new file mode 100644 index 000000000..bbedb784a --- /dev/null +++ b/meta-oe/recipes-support/lio-utils/lio-utils_4.1.bb | |||
@@ -0,0 +1,59 @@ | |||
1 | SUMMARY = "lio-utils" | ||
2 | DESCRIPTION = "a simple low-level configuration tool set for the Target+iSCSI (LIO)" | ||
3 | HOMEPAGE = "http://linux-iscsi.org/index.php/Lio-utils" | ||
4 | LICENSE = "GPLv2" | ||
5 | LIC_FILES_CHKSUM = "file://debian/copyright;md5=c3ea231a32635cbb5debedf3e88aa3df" | ||
6 | |||
7 | PV = "4.1+git${SRCPV}" | ||
8 | |||
9 | SRC_URI = "git://risingtidesystems.com/lio-utils.git" | ||
10 | SRCREV = "28bd928655bdc7bd3cf380f0196630690c51e05f" | ||
11 | S = "${WORKDIR}/git" | ||
12 | |||
13 | inherit distutils | ||
14 | |||
15 | EXTRA_OEMAKE += "DESTDIR=${D}" | ||
16 | |||
17 | do_compile() { | ||
18 | cd ${S}/tcm-py | ||
19 | distutils_do_compile | ||
20 | |||
21 | cd ${S}/lio-py | ||
22 | distutils_do_compile | ||
23 | |||
24 | if test -d ${S}/tools; then | ||
25 | oe_runmake -C ${S}/tools | ||
26 | fi | ||
27 | } | ||
28 | |||
29 | do_install() { | ||
30 | cd ${S}/tcm-py | ||
31 | distutils_do_install | ||
32 | |||
33 | cd ${S}/lio-py | ||
34 | distutils_do_install | ||
35 | |||
36 | SITE_PACKAGES=${D}/${PYTHON_SITEPACKAGES_DIR} | ||
37 | install -d ${D}/${sbindir} | ||
38 | for var in tcm_node tcm_dump tcm_loop tcm_fabric lio_dump lio_node; do | ||
39 | if [ ! -h ${D}/${sbindir}/${var} ];then | ||
40 | chmod a+x ${SITE_PACKAGES}/${var}.py | ||
41 | ln -s ${PYTHON_SITEPACKAGES_DIR}/${var}.py ${D}/${sbindir}/${var} | ||
42 | fi | ||
43 | done | ||
44 | |||
45 | if test -d ${S}/tools; then | ||
46 | oe_runmake -C ${S}/tools install | ||
47 | fi | ||
48 | |||
49 | install -d ${D}/etc/target/ | ||
50 | install -d ${D}/etc/init.d/ | ||
51 | install -m 755 ${S}/scripts/rc.target ${D}/etc/init.d/ | ||
52 | install -m 755 ${S}/conf/tcm_start.default ${D}/etc/target/tcm_start.sh | ||
53 | install -m 755 ${S}/conf/lio_start.default ${D}/etc/target/lio_start.sh | ||
54 | } | ||
55 | |||
56 | RDEPENDS_${PN} += "python-stringold python-subprocess python-shell \ | ||
57 | python-datetime python-textutils python-crypt python-netclient python-email" | ||
58 | |||
59 | FILES_${PN} += "${sbindir}/* /etc/init.d/* /etc/target/*" | ||
diff --git a/meta-oe/recipes-support/lm_sensors/lmsensors-config/fancontrol b/meta-oe/recipes-support/lm_sensors/lmsensors-config/fancontrol new file mode 100644 index 000000000..1f03a2bf2 --- /dev/null +++ b/meta-oe/recipes-support/lm_sensors/lmsensors-config/fancontrol | |||
@@ -0,0 +1,2 @@ | |||
1 | # fancontrol configuration file. | ||
2 | # Place your device specific configuration in this file. | ||
diff --git a/meta-oe/recipes-support/lm_sensors/lmsensors-config/sensord.cgi b/meta-oe/recipes-support/lm_sensors/lmsensors-config/sensord.cgi new file mode 100644 index 000000000..b1aad05b6 --- /dev/null +++ b/meta-oe/recipes-support/lm_sensors/lmsensors-config/sensord.cgi | |||
@@ -0,0 +1,10 @@ | |||
1 | #!/usr/bin/rrdcgi | ||
2 | |||
3 | <html> | ||
4 | <head> | ||
5 | <title>sensord</title> | ||
6 | </head> | ||
7 | <body> | ||
8 | Generate a valid sensord.cgi script and install it in your BSP. | ||
9 | </body> | ||
10 | </html> | ||
diff --git a/meta-oe/recipes-support/lm_sensors/lmsensors-config/sensord.conf b/meta-oe/recipes-support/lm_sensors/lmsensors-config/sensord.conf new file mode 100644 index 000000000..6b48cf604 --- /dev/null +++ b/meta-oe/recipes-support/lm_sensors/lmsensors-config/sensord.conf | |||
@@ -0,0 +1,16 @@ | |||
1 | # Default sensord configuration file | ||
2 | # Syntax: sensord {options} {chips} | ||
3 | # -i, --interval <time> -- interval between scanning alarms (default 60s) | ||
4 | # -l, --log-interval <time> -- interval between logging sensors (default 30m) | ||
5 | # -t, --rrd-interval <time> -- interval between updating RRD file (default 5m) | ||
6 | # -T, --rrd-no-average -- switch RRD in non-average mode | ||
7 | # -r, --rrd-file <file> -- RRD file (default <none>) | ||
8 | # -c, --config-file <file> -- configuration file | ||
9 | # -p, --pid-file <file> -- PID file (default /var/run/sensord.pid) | ||
10 | # -f, --syslog-facility <f> -- syslog facility to use (default local4) | ||
11 | # -g, --rrd-cgi <img-dir> -- output an RRD CGI script and exit | ||
12 | # -a, --load-average -- include load average in RRD file | ||
13 | # -d, --debug -- display some debug information | ||
14 | # -v, --version -- display version and exit | ||
15 | # -h, --help -- display help and exit | ||
16 | SENSORD_ARGS="-i60s -l30m -t1m -r/var/lib/sensord.rrd -a" | ||
diff --git a/meta-oe/recipes-support/lm_sensors/lmsensors-config/sensors.conf b/meta-oe/recipes-support/lm_sensors/lmsensors-config/sensors.conf new file mode 100644 index 000000000..bb8c93de6 --- /dev/null +++ b/meta-oe/recipes-support/lm_sensors/lmsensors-config/sensors.conf | |||
@@ -0,0 +1,2 @@ | |||
1 | # sensors configuration file. | ||
2 | # Place your device specific configuration in this file. | ||
diff --git a/meta-oe/recipes-support/lm_sensors/lmsensors-config_1.0.bb b/meta-oe/recipes-support/lm_sensors/lmsensors-config_1.0.bb new file mode 100644 index 000000000..343971f1a --- /dev/null +++ b/meta-oe/recipes-support/lm_sensors/lmsensors-config_1.0.bb | |||
@@ -0,0 +1,58 @@ | |||
1 | SUMMARY = "lm_sensors configuration files" | ||
2 | DESCRIPTION = "Hardware health monitoring configuration files" | ||
3 | HOMEPAGE = "http://www.lm-sensors.org/" | ||
4 | LICENSE = "MIT-X" | ||
5 | LIC_FILES_CHKSUM = "file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420" | ||
6 | |||
7 | PACKAGE_ARCH = "${MACHINE_ARCH}" | ||
8 | |||
9 | SRC_URI = "file://fancontrol \ | ||
10 | file://sensord.cgi \ | ||
11 | file://sensord.conf \ | ||
12 | file://sensors.conf \ | ||
13 | " | ||
14 | |||
15 | RDEPENDS_${PN}-dev = "" | ||
16 | |||
17 | do_install() { | ||
18 | # Install fancontrol configuration file | ||
19 | install -d ${D}${sysconfdir} | ||
20 | install -m 0644 ${WORKDIR}/fancontrol ${D}${sysconfdir} | ||
21 | |||
22 | # Install libsensors configuration file | ||
23 | install -d ${D}${sysconfdir}/sensors.d | ||
24 | install -m 0644 ${WORKDIR}/sensors.conf ${D}${sysconfdir}/sensors.d | ||
25 | |||
26 | # Install sensord configuration file | ||
27 | install -m 0644 ${WORKDIR}/sensord.conf ${D}${sysconfdir} | ||
28 | |||
29 | # Install sensord.cgi script and create world-writable | ||
30 | # web-accessible sensord directory | ||
31 | install -d ${D}/www/pages/cgi-bin | ||
32 | install -m 0755 ${WORKDIR}/sensord.cgi ${D}/www/pages/cgi-bin | ||
33 | install -d -m a=rwxs ${D}/www/pages/sensord | ||
34 | } | ||
35 | |||
36 | # libsensors configuration | ||
37 | PACKAGES =+ "${PN}-libsensors" | ||
38 | |||
39 | # sensord logging daemon configuration | ||
40 | PACKAGES =+ "${PN}-sensord" | ||
41 | |||
42 | # fancontrol script configuration | ||
43 | PACKAGES =+ "${PN}-fancontrol" | ||
44 | |||
45 | # sensord web cgi support | ||
46 | PACKAGES =+ "${PN}-cgi" | ||
47 | RRECOMMENDS_${PN}-cgi = "lighttpd lighttpd-module-cgi" | ||
48 | RDEPENDS_${PN}-cgi = "${PN}-sensord" | ||
49 | FILES_${PN}-cgi = "/www/*" | ||
50 | |||
51 | # libsensors configuration file | ||
52 | FILES_${PN}-libsensors = "${sysconfdir}/sensors.d/sensors.conf" | ||
53 | |||
54 | # sensord logging daemon configuration files | ||
55 | FILES_${PN}-sensord = "${sysconfdir}/sensord.conf" | ||
56 | |||
57 | # fancontrol script configuration file | ||
58 | FILES_${PN}-fancontrol = "${sysconfdir}/fancontrol" | ||
diff --git a/meta-oe/recipes-support/lm_sensors/lmsensors/fancontrol.init b/meta-oe/recipes-support/lm_sensors/lmsensors/fancontrol.init new file mode 100644 index 000000000..4433020b3 --- /dev/null +++ b/meta-oe/recipes-support/lm_sensors/lmsensors/fancontrol.init | |||
@@ -0,0 +1,47 @@ | |||
1 | #!/bin/sh | ||
2 | ### BEGIN INIT INFO | ||
3 | # Provides: fancontrol | ||
4 | # Required-Start: $local_fs | ||
5 | # Should-Start: | ||
6 | # Required-Stop: $local_fs | ||
7 | # Should-Stop: | ||
8 | # Default-Start: 2 3 4 5 | ||
9 | # Default-Stop: 0 1 6 | ||
10 | # Short-Description: fancontrol initscript | ||
11 | # Description: Starts and controls the fancontrol daemon | ||
12 | ### END INIT INFO | ||
13 | |||
14 | PATH=/sbin:/usr/sbin:/bin:/usr/bin | ||
15 | |||
16 | DESC="fan control daemon" | ||
17 | NAME="fancontrol" | ||
18 | FANCONTROL=`which $NAME` | ||
19 | PIDFILE="/var/run/fancontrol.pid" | ||
20 | |||
21 | # Exit if the package is not installed | ||
22 | [ -x "$FANCONTROL" ] || exit 0 | ||
23 | |||
24 | case "$1" in | ||
25 | start) | ||
26 | echo -n "Starting $DESC: $NAME... " | ||
27 | start-stop-daemon -S -p $PIDFILE -b -x $FANCONTROL | ||
28 | echo "done." | ||
29 | ;; | ||
30 | stop) | ||
31 | echo -n "Stopping $DESC: $NAME... " | ||
32 | start-stop-daemon -K -p $PIDFILE | ||
33 | echo "done." | ||
34 | ;; | ||
35 | restart) | ||
36 | echo "Restarting $DESC: $NAME... " | ||
37 | $0 stop | ||
38 | $0 start | ||
39 | echo "done." | ||
40 | ;; | ||
41 | *) | ||
42 | echo "Usage: $0 {start|stop|restart}" | ||
43 | exit 1 | ||
44 | ;; | ||
45 | esac | ||
46 | |||
47 | exit 0 | ||
diff --git a/meta-oe/recipes-support/lm_sensors/lmsensors/sensord.init b/meta-oe/recipes-support/lm_sensors/lmsensors/sensord.init new file mode 100644 index 000000000..5a09cd3cf --- /dev/null +++ b/meta-oe/recipes-support/lm_sensors/lmsensors/sensord.init | |||
@@ -0,0 +1,49 @@ | |||
1 | #! /bin/sh | ||
2 | ### BEGIN INIT INFO | ||
3 | # Provides: sensord | ||
4 | # Required-Start: $local_fs | ||
5 | # Should-Start: | ||
6 | # Required-Stop: $local_fs | ||
7 | # Should-Stop: | ||
8 | # Default-Start: 2 3 4 5 | ||
9 | # Default-Stop: 0 1 6 | ||
10 | # Short-Description: sensord initscript | ||
11 | # Description: Starts the sensord logging daemon | ||
12 | ### END INIT INFO | ||
13 | |||
14 | PATH=/sbin:/usr/sbin:/bin:/usr/bin | ||
15 | |||
16 | DESC="sensors logging daemon" | ||
17 | NAME="sensord" | ||
18 | SENSORD=`which $NAME` | ||
19 | |||
20 | . /etc/init.d/functions || exit 1 | ||
21 | . /etc/sensord.conf || exit 1 | ||
22 | |||
23 | # Exit if the package is not installed | ||
24 | [ -x "$SENSORD" ] || exit 0 | ||
25 | |||
26 | case "$1" in | ||
27 | start) | ||
28 | echo -n "Starting $DESC: $NAME... " | ||
29 | start-stop-daemon -S -x $SENSORD -- $SENSORD_ARGS | ||
30 | echo "done." | ||
31 | ;; | ||
32 | stop) | ||
33 | echo -n "Stopping $DESC: $NAME... " | ||
34 | start-stop-daemon -K -x $SENSORD | ||
35 | echo "done." | ||
36 | ;; | ||
37 | restart) | ||
38 | echo "Restarting $DESC: $NAME... " | ||
39 | $0 stop | ||
40 | $0 start | ||
41 | echo "done." | ||
42 | ;; | ||
43 | *) | ||
44 | echo "Usage: $0 {start|stop|restart}" | ||
45 | exit 1 | ||
46 | ;; | ||
47 | esac | ||
48 | |||
49 | exit 0 | ||
diff --git a/meta-oe/recipes-support/lm_sensors/lmsensors_3.3.5.bb b/meta-oe/recipes-support/lm_sensors/lmsensors_3.3.5.bb new file mode 100644 index 000000000..c2aefba27 --- /dev/null +++ b/meta-oe/recipes-support/lm_sensors/lmsensors_3.3.5.bb | |||
@@ -0,0 +1,123 @@ | |||
1 | SUMMARY = "lm_sensors" | ||
2 | DESCRIPTION = "Hardware health monitoring applications" | ||
3 | HOMEPAGE = "http://www.lm-sensors.org/" | ||
4 | LICENSE = "GPLv2+ & LGPLv2.1+" | ||
5 | LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe \ | ||
6 | file://COPYING.LGPL;md5=4fbd65380cdd255951079008b364516c" | ||
7 | |||
8 | DEPENDS = "sysfsutils virtual/libiconv bison-native flex-native rrdtool" | ||
9 | |||
10 | SRC_URI = "http://dl.lm-sensors.org/lm-sensors/releases/lm_sensors-${PV}.tar.bz2 \ | ||
11 | file://fancontrol.init \ | ||
12 | file://sensord.init \ | ||
13 | " | ||
14 | SRC_URI[md5sum] = "da506dedceb41822e64865f6ba34828a" | ||
15 | SRC_URI[sha256sum] = "5dae6a665e1150159a93743c4ff1943a7efe02cd9d3bb12c4805e7d7adcf4fcf" | ||
16 | |||
17 | inherit update-rc.d | ||
18 | |||
19 | RDEPENDS_${PN}-dev = "" | ||
20 | |||
21 | INITSCRIPT_PACKAGES = "${PN}-fancontrol ${PN}-sensord" | ||
22 | INITSCRIPT_NAME_${PN}-fancontrol = "fancontrol" | ||
23 | INITSCRIPT_NAME_${PN}-sensord = "sensord" | ||
24 | INITSCRIPT_PARAMS_${PN}-fancontrol = "defaults 66" | ||
25 | INITSCRIPT_PARAMS_${PN}-sensord = "defaults 67" | ||
26 | |||
27 | S = "${WORKDIR}/lm_sensors-${PV}" | ||
28 | |||
29 | EXTRA_OEMAKE = 'LINUX=${STAGING_KERNEL_DIR} EXLDFLAGS="${LDFLAGS}" \ | ||
30 | MACHINE=${TARGET_ARCH} PREFIX=${prefix} MANDIR=${mandir} \ | ||
31 | LIBDIR=${libdir} \ | ||
32 | CC="${CC}" AR="${AR}"' | ||
33 | |||
34 | do_compile() { | ||
35 | oe_runmake user PROG_EXTRA="sensors sensord" | ||
36 | } | ||
37 | |||
38 | do_install() { | ||
39 | oe_runmake user_install DESTDIR=${D} | ||
40 | install -m 0755 ${S}/prog/sensord/sensord ${D}${bindir} | ||
41 | install -m 0644 ${S}/prog/sensord/sensord.8 ${D}${mandir}/man8 | ||
42 | |||
43 | # Install directory | ||
44 | install -d ${D}${sysconfdir}/init.d | ||
45 | |||
46 | # Install fancontrol init script | ||
47 | install -m 0755 ${WORKDIR}/fancontrol.init \ | ||
48 | ${D}${sysconfdir}/init.d/fancontrol | ||
49 | |||
50 | # Install sensord init script | ||
51 | install -m 0755 ${WORKDIR}/sensord.init ${D}${sysconfdir}/init.d/sensord | ||
52 | } | ||
53 | |||
54 | # libsensors packages | ||
55 | PACKAGES =+ "${PN}-libsensors ${PN}-libsensors-dbg ${PN}-libsensors-dev ${PN}-libsensors-staticdev ${PN}-libsensors-doc" | ||
56 | |||
57 | # sensors command packages | ||
58 | PACKAGES =+ "${PN}-sensors ${PN}-sensors-dbg ${PN}-sensors-doc" | ||
59 | |||
60 | # sensord logging daemon | ||
61 | PACKAGES =+ "${PN}-sensord ${PN}-sensord-dbg ${PN}-sensord-doc" | ||
62 | |||
63 | # fancontrol script | ||
64 | PACKAGES =+ "${PN}-fancontrol ${PN}-fancontrol-doc" | ||
65 | |||
66 | # sensors-detect script | ||
67 | PACKAGES =+ "${PN}-sensorsdetect ${PN}-sensorsdetect-doc" | ||
68 | |||
69 | # sensors-conf-convert script | ||
70 | PACKAGES =+ "${PN}-sensorsconfconvert ${PN}-sensorsconfconvert-doc" | ||
71 | |||
72 | # pwmconfig script | ||
73 | PACKAGES =+ "${PN}-pwmconfig ${PN}-pwmconfig-doc" | ||
74 | |||
75 | # isadump and isaset helper program | ||
76 | PACKAGES =+ "${PN}-isatools ${PN}-isatools-dbg ${PN}-isatools-doc" | ||
77 | |||
78 | # libsensors files | ||
79 | FILES_${PN}-libsensors = "${libdir}/libsensors.so.* ${sysconfdir}/sensors3.conf ${sysconfdir}/sensors.d" | ||
80 | FILES_${PN}-libsensors-dbg = "${libdir}/.debug ${prefix}/src/debug" | ||
81 | FILES_${PN}-libsensors-dev = "${libdir}/libsensors.so ${includedir}" | ||
82 | FILES_${PN}-libsensors-staticdev = "${libdir}/libsensors.a" | ||
83 | FILES_${PN}-libsensors-doc = "${mandir}/man3" | ||
84 | RRECOMMENDS_${PN}-libsensors = "lmsensors-config-libsensors" | ||
85 | |||
86 | # sensors command files | ||
87 | FILES_${PN}-sensors = "${bindir}/sensors" | ||
88 | FILES_${PN}-sensors-dbg = "${bindir}/.debug/sensors" | ||
89 | FILES_${PN}-sensors-doc = "${mandir}/man1 ${mandir}/man5" | ||
90 | RDEPENDS_${PN}-sensors = "${PN}-libsensors" | ||
91 | |||
92 | # sensord logging daemon | ||
93 | FILES_${PN}-sensord = "${bindir}/sensord ${sysconfdir}/init.d/sensord" | ||
94 | FILES_${PN}-sensord-dbg = "${bindir}/.debug/sensord" | ||
95 | FILES_${PN}-sensord-doc = "${mandir}/man8/sensord.8" | ||
96 | RDEPENDS_${PN}-sensord = "${PN}-sensors rrdtool" | ||
97 | RRECOMMENDS_${PN}-sensord = "lmsensors-config-sensord" | ||
98 | |||
99 | # fancontrol script files | ||
100 | FILES_${PN}-fancontrol = "${sbindir}/fancontrol ${sysconfdir}/init.d/fancontrol" | ||
101 | FILES_${PN}-fancontrol-doc = "${mandir}/man8/fancontrol.8" | ||
102 | RDEPENDS_${PN}-fancontrol = "bash" | ||
103 | RRECOMMENDS_${PN}-fancontrol = "lmsensors-config-fancontrol" | ||
104 | |||
105 | # sensors-detect script files | ||
106 | FILES_${PN}-sensorsdetect = "${sbindir}/sensors-detect" | ||
107 | FILES_${PN}-sensorsdetect-doc = "${mandir}/man8/sensors-detect.8" | ||
108 | RDEPENDS_${PN}-sensorsdetect = "${PN}-sensors perl perl-modules" | ||
109 | |||
110 | # sensors-conf-convert script files | ||
111 | FILES_${PN}-sensorsconfconvert = "${bindir}/sensors-conf-convert" | ||
112 | FILES_${PN}-sensorsconfconvert-doc = "${mandir}/man8/sensors-conf-convert.8" | ||
113 | RDEPENDS_${PN}-sensorsconfconvert = "${PN}-sensors perl perl-modules" | ||
114 | |||
115 | # pwmconfig script files | ||
116 | FILES_${PN}-pwmconfig = "${sbindir}/pwmconfig" | ||
117 | FILES_${PN}-pwmconfig-doc = "${mandir}/man8/pwmconfig.8" | ||
118 | RDEPENDS_${PN}-pwmconfig = "${PN}-fancontrol" | ||
119 | |||
120 | # isadump and isaset helper program files | ||
121 | FILES_${PN}-isatools = "${sbindir}/isa*" | ||
122 | FILES_${PN}-isatools-dbg = "${sbindir}/.debug/isa*" | ||
123 | FILES_${PN}-isatools-doc = "${mandir}/man8/isa*" | ||
diff --git a/meta-oe/recipes-support/lockdev/lockdev_git.bb b/meta-oe/recipes-support/lockdev/lockdev_git.bb new file mode 100644 index 000000000..023b9a7dd --- /dev/null +++ b/meta-oe/recipes-support/lockdev/lockdev_git.bb | |||
@@ -0,0 +1,20 @@ | |||
1 | SUMMARY = "Locking devices library" | ||
2 | SECTION = "libs" | ||
3 | LICENSE = "LGPLv2.1" | ||
4 | LIC_FILES_CHKSUM="file://COPYING;md5=4fbd65380cdd255951079008b364516c" | ||
5 | |||
6 | PV = "1.0.3+git${SRCPV}" | ||
7 | |||
8 | SRCREV = "16b899645d32012cc94cc9232f64d4ddaaf0b795" | ||
9 | SRC_URI = "git://anonscm.debian.org/lockdev/lockdev.git" | ||
10 | |||
11 | S = "${WORKDIR}/git" | ||
12 | |||
13 | inherit lib_package autotools-brokensep | ||
14 | |||
15 | do_configure_prepend () { | ||
16 | ./scripts/git-version > VERSION | ||
17 | |||
18 | # Make automake happy | ||
19 | touch ChangeLog | ||
20 | } | ||
diff --git a/meta-oe/recipes-support/log4c/log4c/fix_configure_with-expat.patch b/meta-oe/recipes-support/log4c/log4c/fix_configure_with-expat.patch new file mode 100644 index 000000000..4872eb4f5 --- /dev/null +++ b/meta-oe/recipes-support/log4c/log4c/fix_configure_with-expat.patch | |||
@@ -0,0 +1,21 @@ | |||
1 | The original use of AC_ARG_WITH is buggy and causes expat support | ||
2 | to be *disabled* if "--with-expat" is passed to configure. | ||
3 | |||
4 | Upstream status: pending | ||
5 | |||
6 | Index: log4c-1.2.4/configure.in | ||
7 | =================================================================== | ||
8 | --- log4c-1.2.4.orig/configure.in | ||
9 | +++ log4c-1.2.4/configure.in | ||
10 | @@ -217,9 +217,9 @@ AC_ARG_WITH(expat, | ||
11 | have any effect and Log4C uses some bundled yacc/lex code | ||
12 | for parsing it's configuration file. | ||
13 | ]), | ||
14 | - with_expat=no, | ||
15 | + [], | ||
16 | with_expat=yes) | ||
17 | -if test x$with_expat = xyes ; then | ||
18 | +if test x$with_expat != xno ; then | ||
19 | use_expat=yes | ||
20 | AM_PATH_EXPAT(1.95.1) | ||
21 | fi | ||
diff --git a/meta-oe/recipes-support/log4c/log4c_1.2.4.bb b/meta-oe/recipes-support/log4c/log4c_1.2.4.bb new file mode 100644 index 000000000..ea75757f8 --- /dev/null +++ b/meta-oe/recipes-support/log4c/log4c_1.2.4.bb | |||
@@ -0,0 +1,15 @@ | |||
1 | SUMMARY = "Log4c is a C library for flexible logging to files, syslog and other destinations" | ||
2 | HOMEPAGE = "http://log4c.sourceforge.net" | ||
3 | LICENSE = "LGPLv2" | ||
4 | LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c" | ||
5 | |||
6 | SRC_URI = "${SOURCEFORGE_MIRROR}/${BPN}/${BP}.tar.gz \ | ||
7 | file://fix_configure_with-expat.patch" | ||
8 | |||
9 | SRC_URI[md5sum] = "0d94919136e1d16b68427562e74cb3dd" | ||
10 | SRC_URI[sha256sum] = "5991020192f52cc40fa852fbf6bbf5bd5db5d5d00aa9905c67f6f0eadeed48ea" | ||
11 | |||
12 | PACKAGECONFIG ??= "expat" | ||
13 | PACKAGECONFIG[expat] = "--with-expat,--without-expat,expat" | ||
14 | |||
15 | inherit autotools | ||
diff --git a/meta-oe/recipes-support/lvm2/lvm2.inc b/meta-oe/recipes-support/lvm2/lvm2.inc new file mode 100644 index 000000000..42f6e3a43 --- /dev/null +++ b/meta-oe/recipes-support/lvm2/lvm2.inc | |||
@@ -0,0 +1,52 @@ | |||
1 | SECTION = "utils" | ||
2 | DESCRIPTION = "LVM2 is a set of utilities to manage logical volumes in Linux." | ||
3 | DEPENDS = "udev" | ||
4 | LICENSE = "GPLv2 & LGPLv2" | ||
5 | LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f \ | ||
6 | file://COPYING.LIB;md5=fbc093901857fcd118f065f900982c24" | ||
7 | INC_PR = "r4" | ||
8 | |||
9 | |||
10 | S = "${WORKDIR}/LVM2.${PV}" | ||
11 | SRC_URI = "ftp://sources.redhat.com/pub/lvm2/old/LVM2.${PV}.tgz \ | ||
12 | file://0001-Replace-CPPFunction-with-rl_completion_func_t.patch \ | ||
13 | file://mlock-ignore-vectors-gate_vma.patch \ | ||
14 | file://lvm.conf" | ||
15 | |||
16 | PACKAGECONFIG ??= "readline" | ||
17 | PACKAGECONFIG[readline] = "--enable-readline,--disable-readline,readline" | ||
18 | |||
19 | # Unset user/group to unbreak install. | ||
20 | EXTRA_OECONF = "--with-user= \ | ||
21 | --with-group= \ | ||
22 | --disable-o_direct \ | ||
23 | --enable-realtime \ | ||
24 | --enable-applib \ | ||
25 | --enable-cmdlib \ | ||
26 | --enable-udev_sync \ | ||
27 | --enable-udev_rules \ | ||
28 | --enable-pkgconfig \ | ||
29 | --enable-dmeventd \ | ||
30 | --with-udev-prefix= \ | ||
31 | --with-usrlibdir=${libdir} \ | ||
32 | " | ||
33 | |||
34 | PACKAGECONFIG += "${@base_contains('DISTRO_FEATURES', 'selinux', 'selinux', '', d)}" | ||
35 | |||
36 | PACKAGECONFIG[selinux] = "--enable-selinux,--disable-selinux,libselinux," | ||
37 | |||
38 | inherit autotools pkgconfig | ||
39 | |||
40 | do_install_append() { | ||
41 | # Install machine specific configuration file | ||
42 | install -m 0644 ${WORKDIR}/lvm.conf ${D}${sysconfdir}/lvm/lvm.conf | ||
43 | } | ||
44 | |||
45 | TARGET_CC_ARCH += "${LDFLAGS}" | ||
46 | |||
47 | FILES_${PN} += "${libdir}/device-mapper/*.so ${base_libdir}/udev" | ||
48 | FILES_${PN}-dbg += "${libdir}/device-mapper/.debug" | ||
49 | |||
50 | RDEPENDS_${PN} = "bash" | ||
51 | |||
52 | CONFFILES_${PN} += "${sysconfdir}/lvm/lvm.conf" | ||
diff --git a/meta-oe/recipes-support/lvm2/lvm2/0001-Replace-CPPFunction-with-rl_completion_func_t.patch b/meta-oe/recipes-support/lvm2/lvm2/0001-Replace-CPPFunction-with-rl_completion_func_t.patch new file mode 100644 index 000000000..98c21fdb3 --- /dev/null +++ b/meta-oe/recipes-support/lvm2/lvm2/0001-Replace-CPPFunction-with-rl_completion_func_t.patch | |||
@@ -0,0 +1,33 @@ | |||
1 | From e2484e179c389b98366c8b66b451d9d2ba8f35e8 Mon Sep 17 00:00:00 2001 | ||
2 | From: Zhenhua Luo <zhenhua.luo@freescale.com> | ||
3 | Date: Tue, 25 Mar 2014 17:39:43 +0800 | ||
4 | Subject: [PATCH] Replace CPPFunction with rl_completion_func_t | ||
5 | |||
6 | lvm2 depends on readline, CPPFunction has been replaced by rl_completion_func_t | ||
7 | in recent readline, | ||
8 | |||
9 | Upstream-Status: Inappropriate [configuration] | ||
10 | The change depends on the build environment, it is required by OpenEmbedded env | ||
11 | due to readline upgrade. | ||
12 | |||
13 | Signed-off-by: Zhenhua Luo <zhenhua.luo@freescale.com> | ||
14 | --- | ||
15 | tools/lvm.c | 2 +- | ||
16 | 1 file changed, 1 insertion(+), 1 deletion(-) | ||
17 | |||
18 | diff --git a/tools/lvm.c b/tools/lvm.c | ||
19 | index e002a76..5fa35d2 100644 | ||
20 | --- a/tools/lvm.c | ||
21 | +++ b/tools/lvm.c | ||
22 | @@ -186,7 +186,7 @@ int lvm_shell(struct cmd_context *cmd, struct cmdline_context *cmdline) | ||
23 | char *input = NULL, *args[MAX_ARGS], **argv; | ||
24 | |||
25 | rl_readline_name = "lvm"; | ||
26 | - rl_attempted_completion_function = (CPPFunction *) _completion; | ||
27 | + rl_attempted_completion_function = (rl_completion_func_t *) _completion; | ||
28 | |||
29 | _read_history(cmd); | ||
30 | |||
31 | -- | ||
32 | 1.9.1 | ||
33 | |||
diff --git a/meta-oe/recipes-support/lvm2/lvm2/lvm.conf b/meta-oe/recipes-support/lvm2/lvm2/lvm.conf new file mode 100644 index 000000000..c44c6a7a0 --- /dev/null +++ b/meta-oe/recipes-support/lvm2/lvm2/lvm.conf | |||
@@ -0,0 +1,292 @@ | |||
1 | # This is an example configuration file for the LVM2 system. | ||
2 | # It contains the default settings that would be used if there was no | ||
3 | # /etc/lvm/lvm.conf file. | ||
4 | # | ||
5 | # Refer to 'man lvm.conf' for further information including the file layout. | ||
6 | # | ||
7 | # To put this file in a different directory and override /etc/lvm set | ||
8 | # the environment variable LVM_SYSTEM_DIR before running the tools. | ||
9 | |||
10 | |||
11 | # This section allows you to configure which block devices should | ||
12 | # be used by the LVM system. | ||
13 | devices { | ||
14 | |||
15 | # Where do you want your volume groups to appear ? | ||
16 | dir = "/dev" | ||
17 | |||
18 | # An array of directories that contain the device nodes you wish | ||
19 | # to use with LVM2. | ||
20 | scan = [ "/dev" ] | ||
21 | |||
22 | # A filter that tells LVM2 to only use a restricted set of devices. | ||
23 | # The filter consists of an array of regular expressions. These | ||
24 | # expressions can be delimited by a character of your choice, and | ||
25 | # prefixed with either an 'a' (for accept) or 'r' (for reject). | ||
26 | # The first expression found to match a device name determines if | ||
27 | # the device will be accepted or rejected (ignored). Devices that | ||
28 | # don't match any patterns are accepted. | ||
29 | |||
30 | # Be careful if there there are symbolic links or multiple filesystem | ||
31 | # entries for the same device as each name is checked separately against | ||
32 | # the list of patterns. The effect is that if any name matches any 'a' | ||
33 | # pattern, the device is accepted; otherwise if any name matches any 'r' | ||
34 | # pattern it is rejected; otherwise it is accepted. | ||
35 | |||
36 | # Don't have more than one filter line active at once: only one gets used. | ||
37 | |||
38 | # Run vgscan after you change this parameter to ensure that | ||
39 | # the cache file gets regenerated (see below). | ||
40 | # If it doesn't do what you expect, check the output of 'vgscan -vvvv'. | ||
41 | |||
42 | |||
43 | # By default we accept every block device: | ||
44 | filter = [ "a/.*/" ] | ||
45 | |||
46 | # Exclude the cdrom drive | ||
47 | # filter = [ "r|/dev/cdrom|" ] | ||
48 | |||
49 | # When testing I like to work with just loopback devices: | ||
50 | # filter = [ "a/loop/", "r/.*/" ] | ||
51 | |||
52 | # Or maybe all loops and ide drives except hdc: | ||
53 | # filter =[ "a|loop|", "r|/dev/hdc|", "a|/dev/ide|", "r|.*|" ] | ||
54 | |||
55 | # Use anchors if you want to be really specific | ||
56 | # filter = [ "a|^/dev/hda8$|", "r/.*/" ] | ||
57 | |||
58 | # The results of the filtering are cached on disk to avoid | ||
59 | # rescanning dud devices (which can take a very long time). By | ||
60 | # default this cache file is hidden in the /etc/lvm directory. | ||
61 | # It is safe to delete this file: the tools regenerate it. | ||
62 | cache = "/etc/lvm/.cache" | ||
63 | |||
64 | # You can turn off writing this cache file by setting this to 0. | ||
65 | write_cache_state = 1 | ||
66 | |||
67 | # Advanced settings. | ||
68 | |||
69 | # List of pairs of additional acceptable block device types found | ||
70 | # in /proc/devices with maximum (non-zero) number of partitions. | ||
71 | # types = [ "fd", 16 ] | ||
72 | |||
73 | # If sysfs is mounted (2.6 kernels) restrict device scanning to | ||
74 | # the block devices it believes are valid. | ||
75 | # 1 enables; 0 disables. | ||
76 | sysfs_scan = 1 | ||
77 | |||
78 | # By default, LVM2 will ignore devices used as components of | ||
79 | # software RAID (md) devices by looking for md superblocks. | ||
80 | # 1 enables; 0 disables. | ||
81 | md_component_detection = 1 | ||
82 | } | ||
83 | |||
84 | # This section that allows you to configure the nature of the | ||
85 | # information that LVM2 reports. | ||
86 | log { | ||
87 | |||
88 | # Controls the messages sent to stdout or stderr. | ||
89 | # There are three levels of verbosity, 3 being the most verbose. | ||
90 | verbose = 0 | ||
91 | |||
92 | # Should we send log messages through syslog? | ||
93 | # 1 is yes; 0 is no. | ||
94 | syslog = 1 | ||
95 | |||
96 | # Should we log error and debug messages to a file? | ||
97 | # By default there is no log file. | ||
98 | #file = "/var/log/lvm2.log" | ||
99 | |||
100 | # Should we overwrite the log file each time the program is run? | ||
101 | # By default we append. | ||
102 | overwrite = 0 | ||
103 | |||
104 | # What level of log messages should we send to the log file and/or syslog? | ||
105 | # There are 6 syslog-like log levels currently in use - 2 to 7 inclusive. | ||
106 | # 7 is the most verbose (LOG_DEBUG). | ||
107 | level = 0 | ||
108 | |||
109 | # Format of output messages | ||
110 | # Whether or not (1 or 0) to indent messages according to their severity | ||
111 | indent = 1 | ||
112 | |||
113 | # Whether or not (1 or 0) to display the command name on each line output | ||
114 | command_names = 0 | ||
115 | |||
116 | # A prefix to use before the message text (but after the command name, | ||
117 | # if selected). Default is two spaces, so you can see/grep the severity | ||
118 | # of each message. | ||
119 | prefix = " " | ||
120 | |||
121 | # To make the messages look similar to the original LVM tools use: | ||
122 | # indent = 0 | ||
123 | # command_names = 1 | ||
124 | # prefix = " -- " | ||
125 | |||
126 | # Set this if you want log messages during activation. | ||
127 | # Don't use this in low memory situations (can deadlock). | ||
128 | # activation = 0 | ||
129 | } | ||
130 | |||
131 | # Configuration of metadata backups and archiving. In LVM2 when we | ||
132 | # talk about a 'backup' we mean making a copy of the metadata for the | ||
133 | # *current* system. The 'archive' contains old metadata configurations. | ||
134 | # Backups are stored in a human readeable text format. | ||
135 | backup { | ||
136 | |||
137 | # Should we maintain a backup of the current metadata configuration ? | ||
138 | # Use 1 for Yes; 0 for No. | ||
139 | # Think very hard before turning this off! | ||
140 | backup = 1 | ||
141 | |||
142 | # Where shall we keep it ? | ||
143 | # Remember to back up this directory regularly! | ||
144 | backup_dir = "/etc/lvm/backup" | ||
145 | |||
146 | # Should we maintain an archive of old metadata configurations. | ||
147 | # Use 1 for Yes; 0 for No. | ||
148 | # On by default. Think very hard before turning this off. | ||
149 | archive = 1 | ||
150 | |||
151 | # Where should archived files go ? | ||
152 | # Remember to back up this directory regularly! | ||
153 | archive_dir = "/etc/lvm/archive" | ||
154 | |||
155 | # What is the minimum number of archive files you wish to keep ? | ||
156 | retain_min = 10 | ||
157 | |||
158 | # What is the minimum time you wish to keep an archive file for ? | ||
159 | retain_days = 30 | ||
160 | } | ||
161 | |||
162 | # Settings for the running LVM2 in shell (readline) mode. | ||
163 | shell { | ||
164 | |||
165 | # Number of lines of history to store in ~/.lvm_history | ||
166 | history_size = 100 | ||
167 | } | ||
168 | |||
169 | |||
170 | # Miscellaneous global LVM2 settings | ||
171 | global { | ||
172 | |||
173 | # The file creation mask for any files and directories created. | ||
174 | # Interpreted as octal if the first digit is zero. | ||
175 | umask = 077 | ||
176 | |||
177 | # Allow other users to read the files | ||
178 | #umask = 022 | ||
179 | |||
180 | # Enabling test mode means that no changes to the on disk metadata | ||
181 | # will be made. Equivalent to having the -t option on every | ||
182 | # command. Defaults to off. | ||
183 | test = 0 | ||
184 | |||
185 | # Whether or not to communicate with the kernel device-mapper. | ||
186 | # Set to 0 if you want to use the tools to manipulate LVM metadata | ||
187 | # without activating any logical volumes. | ||
188 | # If the device-mapper kernel driver is not present in your kernel | ||
189 | # setting this to 0 should suppress the error messages. | ||
190 | activation = 1 | ||
191 | |||
192 | # If we can't communicate with device-mapper, should we try running | ||
193 | # the LVM1 tools? | ||
194 | # This option only applies to 2.4 kernels and is provided to help you | ||
195 | # switch between device-mapper kernels and LVM1 kernels. | ||
196 | # The LVM1 tools need to be installed with .lvm1 suffices | ||
197 | # e.g. vgscan.lvm1 and they will stop working after you start using | ||
198 | # the new lvm2 on-disk metadata format. | ||
199 | # The default value is set when the tools are built. | ||
200 | # fallback_to_lvm1 = 0 | ||
201 | |||
202 | # The default metadata format that commands should use - "lvm1" or "lvm2". | ||
203 | # The command line override is -M1 or -M2. | ||
204 | # Defaults to "lvm1" if compiled in, else "lvm2". | ||
205 | # format = "lvm1" | ||
206 | |||
207 | # Location of proc filesystem | ||
208 | proc = "/proc" | ||
209 | |||
210 | # Type of locking to use. Defaults to file-based locking (1). | ||
211 | # Turn locking off by setting to 0 (dangerous: risks metadata corruption | ||
212 | # if LVM2 commands get run concurrently). | ||
213 | locking_type = 1 | ||
214 | |||
215 | # Local non-LV directory that holds file-based locks while commands are | ||
216 | # in progress. A directory like /tmp that may get wiped on reboot is OK. | ||
217 | locking_dir = "/var/lock/lvm" | ||
218 | |||
219 | # Other entries can go here to allow you to load shared libraries | ||
220 | # e.g. if support for LVM1 metadata was compiled as a shared library use | ||
221 | # format_libraries = "liblvm2format1.so" | ||
222 | # Full pathnames can be given. | ||
223 | |||
224 | # Search this directory first for shared libraries. | ||
225 | # library_dir = "/lib" | ||
226 | } | ||
227 | |||
228 | activation { | ||
229 | # Device used in place of missing stripes if activating incomplete volume. | ||
230 | # For now, you need to set this up yourself first (e.g. with 'dmsetup') | ||
231 | # For example, you could make it return I/O errors using the 'error' | ||
232 | # target or make it return zeros. | ||
233 | missing_stripe_filler = "/dev/ioerror" | ||
234 | |||
235 | # Size (in KB) of each copy operation when mirroring | ||
236 | mirror_region_size = 512 | ||
237 | |||
238 | # How much stack (in KB) to reserve for use while devices suspended | ||
239 | reserved_stack = 256 | ||
240 | |||
241 | # How much memory (in KB) to reserve for use while devices suspended | ||
242 | reserved_memory = 8192 | ||
243 | |||
244 | # Nice value used while devices suspended | ||
245 | process_priority = -18 | ||
246 | |||
247 | # If volume_list is defined, each LV is only activated if there is a | ||
248 | # match against the list. | ||
249 | # "vgname" and "vgname/lvname" are matched exactly. | ||
250 | # "@tag" matches any tag set in the LV or VG. | ||
251 | # "@*" matches if any tag defined on the host is also set in the LV or VG | ||
252 | # | ||
253 | # volume_list = [ "vg1", "vg2/lvol1", "@tag1", "@*" ] | ||
254 | } | ||
255 | |||
256 | |||
257 | #################### | ||
258 | # Advanced section # | ||
259 | #################### | ||
260 | |||
261 | # Metadata settings | ||
262 | # | ||
263 | # metadata { | ||
264 | # Default number of copies of metadata to hold on each PV. 0, 1 or 2. | ||
265 | # You might want to override it from the command line with 0 | ||
266 | # when running pvcreate on new PVs which are to be added to large VGs. | ||
267 | |||
268 | # pvmetadatacopies = 1 | ||
269 | |||
270 | # Approximate default size of on-disk metadata areas in sectors. | ||
271 | # You should increase this if you have large volume groups or | ||
272 | # you want to retain a large on-disk history of your metadata changes. | ||
273 | |||
274 | # pvmetadatasize = 255 | ||
275 | |||
276 | # List of directories holding live copies of text format metadata. | ||
277 | # These directories must not be on logical volumes! | ||
278 | # It's possible to use LVM2 with a couple of directories here, | ||
279 | # preferably on different (non-LV) filesystems, and with no other | ||
280 | # on-disk metadata (pvmetadatacopies = 0). Or this can be in | ||
281 | # addition to on-disk metadata areas. | ||
282 | # The feature was originally added to simplify testing and is not | ||
283 | # supported under low memory situations - the machine could lock up. | ||
284 | # | ||
285 | # Never edit any files in these directories by hand unless you | ||
286 | # you are absolutely sure you know what you are doing! Use | ||
287 | # the supplied toolset to make changes (e.g. vgcfgrestore). | ||
288 | |||
289 | # dirs = [ "/etc/lvm/metadata", "/mnt/disk2/lvm/metadata2" ] | ||
290 | #} | ||
291 | |||
292 | |||
diff --git a/meta-oe/recipes-support/lvm2/lvm2/mlock-ignore-vectors-gate_vma.patch b/meta-oe/recipes-support/lvm2/lvm2/mlock-ignore-vectors-gate_vma.patch new file mode 100644 index 000000000..310513679 --- /dev/null +++ b/meta-oe/recipes-support/lvm2/lvm2/mlock-ignore-vectors-gate_vma.patch | |||
@@ -0,0 +1,31 @@ | |||
1 | Subject: [PATCH] fix: mlock ignore [vectors] gate_vma | ||
2 | |||
3 | Upstream-Status: Pending | ||
4 | |||
5 | linux kernel has a new commit f9d4861f for [vectors] vma on ARM | ||
6 | "ARM: 7294/1: vectors: use gate_vma for vectors user mapping". | ||
7 | |||
8 | mlock()/munlock() on a gate_vma would cause NOMEM error, so add | ||
9 | [vectors] to _ignore_maps[], as other gate_vmas [vdso]/[vsyscall] | ||
10 | did. | ||
11 | |||
12 | Signed-off-by: Xin Ouyang <Xin.Ouyang@windriver.com> | ||
13 | --- | ||
14 | lib/mm/memlock.c | 1 + | ||
15 | 1 file changed, 1 insertion(+) | ||
16 | |||
17 | diff --git a/lib/mm/memlock.c b/lib/mm/memlock.c | ||
18 | index 8c631bf..a6b1955 100644 | ||
19 | --- a/lib/mm/memlock.c | ||
20 | +++ b/lib/mm/memlock.c | ||
21 | @@ -84,6 +84,7 @@ static int _default_priority; | ||
22 | static const char * const _ignore_maps[] = { | ||
23 | "[vdso]", | ||
24 | "[vsyscall]", | ||
25 | + "[vectors]", | ||
26 | }; | ||
27 | |||
28 | /* default blacklist for maps */ | ||
29 | -- | ||
30 | 1.7.9.5 | ||
31 | |||
diff --git a/meta-oe/recipes-support/lvm2/lvm2_2.02.97.bb b/meta-oe/recipes-support/lvm2/lvm2_2.02.97.bb new file mode 100644 index 000000000..2de17cfe3 --- /dev/null +++ b/meta-oe/recipes-support/lvm2/lvm2_2.02.97.bb | |||
@@ -0,0 +1,6 @@ | |||
1 | require lvm2.inc | ||
2 | |||
3 | PR = "${INC_PR}.0" | ||
4 | |||
5 | SRC_URI[md5sum] = "d18bd01334309db1c422b9bf6b181057" | ||
6 | SRC_URI[sha256sum] = "edda82012e8a9e1f0b00ba5a331468d3e0201992be14c0dbea71bf564a51fc2b" | ||
diff --git a/meta-oe/recipes-support/lzip/lzip_1.15.bb b/meta-oe/recipes-support/lzip/lzip_1.15.bb new file mode 100644 index 000000000..3d646953b --- /dev/null +++ b/meta-oe/recipes-support/lzip/lzip_1.15.bb | |||
@@ -0,0 +1,43 @@ | |||
1 | SUMMARY = "Lzip is a lossless data compressor based on the LZMA algorithm" | ||
2 | HOMEPAGE = "http://lzip.nongnu.org/lzip.html" | ||
3 | SECTION = "console/utils" | ||
4 | LICENSE = "GPLv3" | ||
5 | LIC_FILES_CHKSUM = "file://COPYING;md5=f27defe1e96c2e1ecd4e0c9be8967949" | ||
6 | |||
7 | SRC_URI = "${SAVANNAH_GNU_MIRROR}/lzip/lzip-${PV}.tar.gz" | ||
8 | |||
9 | # Only the latest version is available in .tar.gz format from savannah.gnu.org, | ||
10 | # FreeBSD distfiles is known to have version 1.13. | ||
11 | |||
12 | SRC_URI[md5sum] = "e83a364c8544fc66cccb552369d93220" | ||
13 | SRC_URI[sha256sum] = "7cd3fcda68fc9900efcf7784313e3bdd1303fef1a0546db9723f5e5564dd05b6" | ||
14 | |||
15 | CONFIGUREOPTS = "\ | ||
16 | '--srcdir=${S}' \ | ||
17 | '--prefix=${prefix}' \ | ||
18 | '--exec-prefix=${exec_prefix}' \ | ||
19 | '--bindir=${bindir}' \ | ||
20 | '--datadir=${datadir}' \ | ||
21 | '--infodir=${infodir}' \ | ||
22 | '--sysconfdir=${sysconfdir}' \ | ||
23 | 'CXX=${CXX}' \ | ||
24 | 'CPPFLAGS=${CPPFLAGS}' \ | ||
25 | 'CXXFLAGS=${CXXFLAGS}' \ | ||
26 | 'LDFLAGS=${LDFLAGS}' \ | ||
27 | " | ||
28 | EXTRA_OEMAKE = "" | ||
29 | |||
30 | B = "${S}/obj" | ||
31 | do_configure () { | ||
32 | ${S}/configure ${CONFIGUREOPTS} | ||
33 | } | ||
34 | |||
35 | do_install () { | ||
36 | oe_runmake 'DESTDIR=${D}' install | ||
37 | # Info dir listing isn't interesting at this point so remove it if it exists. | ||
38 | if [ -e "${D}${infodir}/dir" ]; then | ||
39 | rm -f ${D}${infodir}/dir | ||
40 | fi | ||
41 | } | ||
42 | |||
43 | BBCLASSEXTEND += "native nativesdk" | ||
diff --git a/meta-oe/recipes-support/maliit/maliit-framework/0001-Fix-MALIIT_INSTALL_PRF-to-allow-the-build-with-opene.patch b/meta-oe/recipes-support/maliit/maliit-framework/0001-Fix-MALIIT_INSTALL_PRF-to-allow-the-build-with-opene.patch new file mode 100644 index 000000000..acd9a57a5 --- /dev/null +++ b/meta-oe/recipes-support/maliit/maliit-framework/0001-Fix-MALIIT_INSTALL_PRF-to-allow-the-build-with-opene.patch | |||
@@ -0,0 +1,34 @@ | |||
1 | From 33554f9b3fd493c7e28617fd01466ffa87251f27 Mon Sep 17 00:00:00 2001 | ||
2 | From: Samuel Stirtzel <s.stirtzel@googlemail.com> | ||
3 | Date: Wed, 1 Aug 2012 13:21:51 +0200 | ||
4 | Subject: [PATCH] Fix MALIIT_INSTALL_PRF to allow the build with openembedded | ||
5 | |||
6 | Upstream-Status: Inappropriate [configuration] | ||
7 | |||
8 | Signed-off-by: Samuel Stirtzel <s.stirtzel@googlemail.com> | ||
9 | --- | ||
10 | config.pri | 8 +++++--- | ||
11 | 1 file changed, 5 insertions(+), 3 deletions(-) | ||
12 | |||
13 | diff --git a/config.pri b/config.pri | ||
14 | index b037b8c..43409f3 100644 | ||
15 | --- a/config.pri | ||
16 | +++ b/config.pri | ||
17 | @@ -161,9 +161,11 @@ contains(QT_MAJOR_VERSION, 4) { | ||
18 | QT_WIDGETS = gui widgets | ||
19 | } | ||
20 | |||
21 | -MALIIT_INSTALL_PRF = $$[QT_INSTALL_DATA]/mkspecs/features | ||
22 | -local-install { | ||
23 | - MALIIT_INSTALL_PRF = $$replace(MALIIT_INSTALL_PRF, $$[QT_INSTALL_PREFIX], $$PREFIX) | ||
24 | +isEmpty(MALIIT_INSTALL_PRF) { | ||
25 | + MALIIT_INSTALL_PRF = $$[QT_INSTALL_DATA]/mkspecs/features | ||
26 | + local-install { | ||
27 | + MALIIT_INSTALL_PRF = $$replace(MALIIT_INSTALL_PRF, $$[QT_INSTALL_PREFIX], $$PREFIX) | ||
28 | + } | ||
29 | } | ||
30 | |||
31 | defineTest(outputFile) { | ||
32 | -- | ||
33 | 1.7.9.5 | ||
34 | |||
diff --git a/meta-oe/recipes-support/maliit/maliit-framework/0001-Fix-QT_IM_PLUGIN_PATH-to-allow-openembedded-to-build.patch b/meta-oe/recipes-support/maliit/maliit-framework/0001-Fix-QT_IM_PLUGIN_PATH-to-allow-openembedded-to-build.patch new file mode 100644 index 000000000..830e6deb4 --- /dev/null +++ b/meta-oe/recipes-support/maliit/maliit-framework/0001-Fix-QT_IM_PLUGIN_PATH-to-allow-openembedded-to-build.patch | |||
@@ -0,0 +1,34 @@ | |||
1 | From fb6acbd2af9ed288c1c4f4200fc73d8d9955486a Mon Sep 17 00:00:00 2001 | ||
2 | From: Samuel Stirtzel <s.stirtzel@googlemail.com> | ||
3 | Date: Wed, 1 Aug 2012 13:33:10 +0200 | ||
4 | Subject: [PATCH] Fix QT_IM_PLUGIN_PATH to allow openembedded to build Maliit | ||
5 | |||
6 | Upstream-Status: Inappropriate [configuration] | ||
7 | |||
8 | Signed-off-by: Samuel Stirtzel <s.stirtzel@googlemail.com> | ||
9 | --- | ||
10 | input-context/input-context.pri | 10 ++++++---- | ||
11 | 1 file changed, 6 insertions(+), 4 deletions(-) | ||
12 | |||
13 | diff --git a/input-context/input-context.pri b/input-context/input-context.pri | ||
14 | index d94e6a3..d460e70 100644 | ||
15 | --- a/input-context/input-context.pri | ||
16 | +++ b/input-context/input-context.pri | ||
17 | @@ -25,8 +25,10 @@ for(OPTION,$$list($$lower($$COV_OPTION))){ | ||
18 | |||
19 | QMAKE_CLEAN += $$OBJECTS_DIR/*.gcno $$OBJECTS_DIR/*.gcda | ||
20 | |||
21 | -QT_IM_PLUGIN_PATH = $$[QT_INSTALL_PLUGINS]/inputmethods | ||
22 | -QT_PREFIX = $$[QT_INSTALL_PREFIX] | ||
23 | -local-install { | ||
24 | - QT_IM_PLUGIN_PATH = $$replace(QT_IM_PLUGIN_PATH, $$QT_PREFIX, $$PREFIX) | ||
25 | +isEmpty(QT_IM_PLUGIN_PATH) { | ||
26 | + QT_IM_PLUGIN_PATH = $$[QT_INSTALL_PLUGINS]/inputmethods | ||
27 | + QT_PREFIX = $$[QT_INSTALL_PREFIX] | ||
28 | + local-install { | ||
29 | + QT_IM_PLUGIN_PATH = $$replace(QT_IM_PLUGIN_PATH, $$QT_PREFIX, $$PREFIX) | ||
30 | + } | ||
31 | } | ||
32 | -- | ||
33 | 1.7.9.5 | ||
34 | |||
diff --git a/meta-oe/recipes-support/maliit/maliit-framework/0001-Link-to-libmaliit-1-0-in-inputcontext-plugin.patch b/meta-oe/recipes-support/maliit/maliit-framework/0001-Link-to-libmaliit-1-0-in-inputcontext-plugin.patch new file mode 100644 index 000000000..c2291c6b7 --- /dev/null +++ b/meta-oe/recipes-support/maliit/maliit-framework/0001-Link-to-libmaliit-1-0-in-inputcontext-plugin.patch | |||
@@ -0,0 +1,23 @@ | |||
1 | From cc33efdedbec9e9a55e9a0c6756516fd84d42e53 Mon Sep 17 00:00:00 2001 | ||
2 | From: Samuel Stirtzel <s.stirtzel@googlemail.com> | ||
3 | Date: Fri, 1 Mar 2013 11:31:41 +0100 | ||
4 | Subject: [PATCH] Link to libmaliit-1,0 in inputcontext plugin | ||
5 | |||
6 | Signed-off-by: Samuel Stirtzel <s.stirtzel@googlemail.com> | ||
7 | --- | ||
8 | .../input-context-plugin/input-context-plugin.pro | 2 ++ | ||
9 | 1 file changed, 2 insertions(+) | ||
10 | |||
11 | diff --git a/input-context/input-context-plugin/input-context-plugin.pro b/input-context/input-context-plugin/input-context-plugin.pro | ||
12 | index eefbe93..296e2fa 100644 | ||
13 | --- a/input-context/input-context-plugin/input-context-plugin.pro | ||
14 | +++ b/input-context/input-context-plugin/input-context-plugin.pro | ||
15 | @@ -15,3 +15,5 @@ CONFIG += plugin | ||
16 | |||
17 | INSTALLS += target | ||
18 | target.path += $$QT_IM_PLUGIN_PATH | ||
19 | + | ||
20 | +LIBS += -L../../lib -l"maliit-1.0" | ||
21 | -- | ||
22 | 1.7.9.5 | ||
23 | |||
diff --git a/meta-oe/recipes-support/maliit/maliit-framework/0002-ut_maliit_glib_settings-fix-build-for-glib-2.36.patch b/meta-oe/recipes-support/maliit/maliit-framework/0002-ut_maliit_glib_settings-fix-build-for-glib-2.36.patch new file mode 100644 index 000000000..df4f1794e --- /dev/null +++ b/meta-oe/recipes-support/maliit/maliit-framework/0002-ut_maliit_glib_settings-fix-build-for-glib-2.36.patch | |||
@@ -0,0 +1,33 @@ | |||
1 | From 839e0933f09309a0374aa58cc58439c3a1f157b2 Mon Sep 17 00:00:00 2001 | ||
2 | From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@googlemail.com> | ||
3 | Date: Tue, 14 May 2013 10:24:48 +0200 | ||
4 | Subject: [PATCH] ut_maliit_glib_settings: fix build for glib 2.36 | ||
5 | MIME-Version: 1.0 | ||
6 | Content-Type: text/plain; charset=UTF-8 | ||
7 | Content-Transfer-Encoding: 8bit | ||
8 | |||
9 | Upstream-Status: Inappropriate [code removed upstream] | ||
10 | |||
11 | Signed-off-by: Andreas Müller <schnitzeltony@googlemail.com> | ||
12 | --- | ||
13 | .../ut_maliit_glib_settings.c | 3 ++- | ||
14 | 1 files changed, 2 insertions(+), 1 deletions(-) | ||
15 | |||
16 | diff --git a/tests/ut_maliit_glib_settings/ut_maliit_glib_settings.c b/tests/ut_maliit_glib_settings/ut_maliit_glib_settings.c | ||
17 | index 476ba33..09b6261 100644 | ||
18 | --- a/tests/ut_maliit_glib_settings/ut_maliit_glib_settings.c | ||
19 | +++ b/tests/ut_maliit_glib_settings/ut_maliit_glib_settings.c | ||
20 | @@ -188,8 +188,9 @@ test_settings_manager_emits_disconnected(void) | ||
21 | int | ||
22 | main (int argc, char **argv) { | ||
23 | g_test_init(&argc, &argv, NULL); | ||
24 | +#if !GLIB_CHECK_VERSION (2, 36, 0) | ||
25 | g_type_init(); | ||
26 | - | ||
27 | +#endif | ||
28 | g_test_add_func("/ut_maliit_glib_settings/MaliitSettingsManager/preferred_description_locale/default", | ||
29 | test_preferred_description_locale_default); | ||
30 | g_test_add_func("/ut_maliit_glib_settings/MaliitSettingsManager/preferred_description_locale/set-get-roundtrip", | ||
31 | -- | ||
32 | 1.7.6.5 | ||
33 | |||
diff --git a/meta-oe/recipes-support/maliit/maliit-framework/maliit-server.desktop b/meta-oe/recipes-support/maliit/maliit-framework/maliit-server.desktop new file mode 100644 index 000000000..24bdf9b52 --- /dev/null +++ b/meta-oe/recipes-support/maliit/maliit-framework/maliit-server.desktop | |||
@@ -0,0 +1,6 @@ | |||
1 | [Desktop Entry] | ||
2 | Name=Maliit server | ||
3 | Exec=/usr/bin/maliit-server | ||
4 | Icon= | ||
5 | Type=Application | ||
6 | Categories=Utility; | ||
diff --git a/meta-oe/recipes-support/maliit/maliit-framework_git.bb b/meta-oe/recipes-support/maliit/maliit-framework_git.bb new file mode 100644 index 000000000..3eb7f30df --- /dev/null +++ b/meta-oe/recipes-support/maliit/maliit-framework_git.bb | |||
@@ -0,0 +1,101 @@ | |||
1 | SUMMARY = "A virtual keyboard for touch-screen based user interfaces" | ||
2 | HOMEPAGE = "https://wiki.maliit.org/Main_Page" | ||
3 | |||
4 | LICENSE = "LGPLv2.1" | ||
5 | LIC_FILES_CHKSUM = "file://LICENSE.LGPL;md5=5c917f6ce94ceb8d8d5e16e2fca5b9ad" | ||
6 | |||
7 | inherit autotools qt4x11 gtk-immodules-cache | ||
8 | |||
9 | PNBLACKLIST[maliit-framework] ?= "BROKEN: Wasn't updated to work with B!=S, maybe incorrectly inherits autotools" | ||
10 | |||
11 | DEPENDS = "libxcomposite dbus gtk+3 gtk+" | ||
12 | |||
13 | SRC_URI = "git://github.com/maliit/framework.git;branch=master \ | ||
14 | file://0001-Fix-MALIIT_INSTALL_PRF-to-allow-the-build-with-opene.patch \ | ||
15 | file://0001-Fix-QT_IM_PLUGIN_PATH-to-allow-openembedded-to-build.patch \ | ||
16 | file://0001-Link-to-libmaliit-1-0-in-inputcontext-plugin.patch \ | ||
17 | file://0002-ut_maliit_glib_settings-fix-build-for-glib-2.36.patch \ | ||
18 | file://maliit-server.desktop \ | ||
19 | " | ||
20 | |||
21 | SRCREV = "750842dec74a9b17dca91ef779c4fc5a43c4d9dc" | ||
22 | PV = "0.92.3+git${SRCPV}" | ||
23 | PR = "r1" | ||
24 | |||
25 | |||
26 | PACKAGES =+ "${PN}-gtk" | ||
27 | GTKIMMODULES_PACKAGES = "${PN}-gtk" | ||
28 | |||
29 | RDEPENDS_${PN} = "qt4-plugin-inputmethod-imsw-multi libqtsvg4" | ||
30 | |||
31 | RRECOMMENDS_${PN} = "maliit-plugins" | ||
32 | |||
33 | |||
34 | FILES_${PN} += "\ | ||
35 | ${libdir}/maliit/plugins-*/factories/libmaliit-plugins-quick-factory-*.so \ | ||
36 | ${libdir}/qt4/plugins/inputmethods/*.so \ | ||
37 | ${datadir}/applications/maliit-server.desktop \ | ||
38 | " | ||
39 | |||
40 | FILES_${PN}-dbg += "\ | ||
41 | ${libdir}/maliit-framework-tests \ | ||
42 | ${libdir}/gtk-*/*/immodules/.debug \ | ||
43 | ${libdir}/maliit/plugins-*/factories/.debug \ | ||
44 | ${libdir}/qt4/plugins/.debug \ | ||
45 | ${libdir}/qt4/plugins/inputmethods/.debug \ | ||
46 | " | ||
47 | |||
48 | FILES_${PN}-dev += "${datadir}/qt4" | ||
49 | |||
50 | FILES_${PN}-gtk +="\ | ||
51 | ${bindir}/maliit-exampleapp-gtk* \ | ||
52 | \ | ||
53 | ${libdir}/gtk-*/*/immodules/libim-maliit.so\ | ||
54 | " | ||
55 | |||
56 | EXTRA_QMAKEVARS_PRE = "\ | ||
57 | PREFIX=${prefix} \ | ||
58 | LIBDIR=${libdir} \ | ||
59 | QT_IM_PLUGIN_PATH=${libdir}/qt4/plugins/inputmethods \ | ||
60 | MALIIT_INSTALL_PRF=${datadir}/qt4/mkspecs/features \ | ||
61 | SCHEMADIR=${sysconfdir}/gconf/schemas \ | ||
62 | CONFIG+=disable-gconf \ | ||
63 | CONFIG+=disable-gtk-cache-update \ | ||
64 | CONFIG+=local-install \ | ||
65 | CONFIG+=nosdk \ | ||
66 | " | ||
67 | |||
68 | EXTRA_OEMAKE += "INSTALL_ROOT=${D}" | ||
69 | |||
70 | do_install_append() { | ||
71 | #Fix absolute paths | ||
72 | sed -i -e "s|/usr|${STAGING_DIR_TARGET}${prefix}|" ${D}/${datadir}/qt4/mkspecs/features/maliit-framework.prf | ||
73 | sed -i -e "s|/usr|${STAGING_DIR_TARGET}${prefix}|" ${D}/${datadir}/qt4/mkspecs/features/maliit-plugins.prf | ||
74 | |||
75 | install -d ${D}${datadir}/applications | ||
76 | install -m 644 ${WORKDIR}/maliit-server.desktop ${D}${datadir}/applications | ||
77 | } | ||
78 | |||
79 | pkg_postinst_${PN} () { | ||
80 | #!/bin/sh | ||
81 | # should run online | ||
82 | if [ "x$D" != "x" ]; then | ||
83 | exit 1 | ||
84 | fi | ||
85 | echo "export QT_IM_MODULE=Maliit" >> /etc/xprofile | ||
86 | ln -s /usr/share/applications/maliit-server.desktop /etc/xdg/autostart/maliit-server.desktop | ||
87 | } | ||
88 | |||
89 | pkg_postrm_${PN} () { | ||
90 | #!/bin/sh | ||
91 | # should run online | ||
92 | if [ "x$D" = "x" ]; then | ||
93 | exit 1 | ||
94 | fi | ||
95 | if [ -e "/etc/xprofile" ]; then | ||
96 | sed -i -e "g|export QT_IM_MODULE=Maliit|d" /etc/xprofile | ||
97 | fi | ||
98 | rm -f /etc/xdg/autostart/maliit-server.desktop | ||
99 | } | ||
100 | |||
101 | S = "${WORKDIR}/git" | ||
diff --git a/meta-oe/recipes-support/maliit/maliit-plugins_git.bb b/meta-oe/recipes-support/maliit/maliit-plugins_git.bb new file mode 100644 index 000000000..3c040d87a --- /dev/null +++ b/meta-oe/recipes-support/maliit/maliit-plugins_git.bb | |||
@@ -0,0 +1,35 @@ | |||
1 | SUMMARY = "Plugins for a virtual keyboard for touch-screen based user interfaces" | ||
2 | HOMEPAGE = "https://wiki.maliit.org/Main_Page" | ||
3 | |||
4 | LICENSE = "BSD" | ||
5 | LIC_FILES_CHKSUM = "file://LICENSE;md5=f29b21caa8e460097bfad9c026a33621" | ||
6 | |||
7 | inherit autotools qt4x11 | ||
8 | |||
9 | PNBLACKLIST[maliit-plugins] ?= "BROKEN: depends on broken maliit-framework" | ||
10 | |||
11 | DEPENDS = "maliit-framework" | ||
12 | |||
13 | RDEPENDS_${PN} += "qt4-plugin-iconengine-svgicon qt4-plugin-imageformat-svg" | ||
14 | |||
15 | SRC_URI = "git://github.com/maliit/plugins.git;branch=master" | ||
16 | |||
17 | SRCREV = "0760e585df494b394df1b887e5138ffef19c481f" | ||
18 | PV = "0.92.3+git${SRCPV}" | ||
19 | |||
20 | EXTRA_QMAKEVARS_PRE = "\ | ||
21 | PREFIX=${prefix} \ | ||
22 | LIBDIR=${libdir} \ | ||
23 | CONFIG+=nodoc \ | ||
24 | " | ||
25 | |||
26 | FILES_${PN} += "\ | ||
27 | ${libdir}/maliit \ | ||
28 | ${datadir} \ | ||
29 | " | ||
30 | |||
31 | FILES_${PN}-dbg += "${libdir}/maliit/plugins-*/.debug" | ||
32 | |||
33 | S= "${WORKDIR}/git" | ||
34 | |||
35 | EXTRA_OEMAKE += "INSTALL_ROOT=${D}" | ||
diff --git a/meta-oe/recipes-support/mbuffer/mbuffer_20140310.bb b/meta-oe/recipes-support/mbuffer/mbuffer_20140310.bb new file mode 100644 index 000000000..3467d2898 --- /dev/null +++ b/meta-oe/recipes-support/mbuffer/mbuffer_20140310.bb | |||
@@ -0,0 +1,23 @@ | |||
1 | DESCRIPTION = "mbuffer is a tool for buffering data streams with a large set of unique features." | ||
2 | HOMEPAGE = "http://www.maier-komor.de/mbuffer.html" | ||
3 | LICENSE = "GPLv3" | ||
4 | LIC_FILES_CHKSUM = "file://LICENSE;md5=d32239bcb673463ab874e80d47fae504" | ||
5 | SECTION = "console/network" | ||
6 | |||
7 | SRC_URI = " \ | ||
8 | http://www.maier-komor.de/software/mbuffer/mbuffer-20140310.tgz \ | ||
9 | " | ||
10 | |||
11 | SRC_URI[md5sum] = "9937d7f666c19a2e6b2499b04dbecc44" | ||
12 | SRC_URI[sha256sum] = "ab90b6fdce16db2bf08bcda0bc5d2bfb053a9a163d2a24f95fbf246460549b99" | ||
13 | |||
14 | inherit autotools | ||
15 | |||
16 | PACKAGECONFIG ??= "" | ||
17 | PACKAGECONFIG[md5] = "--enable-md5,--disable-md5,openssl" | ||
18 | |||
19 | do_configure() { | ||
20 | ( cd ${S}; gnu-configize ) | ||
21 | oe_runconf | ||
22 | } | ||
23 | |||
diff --git a/meta-oe/recipes-support/mg/files/remove_ncurses_check.patch b/meta-oe/recipes-support/mg/files/remove_ncurses_check.patch new file mode 100644 index 000000000..16137da2b --- /dev/null +++ b/meta-oe/recipes-support/mg/files/remove_ncurses_check.patch | |||
@@ -0,0 +1,36 @@ | |||
1 | diff -uwr mg-20110905/configure mg-20110905-changed/configure | ||
2 | --- mg-20110905/configure 2011-09-05 13:36:16.000000000 -0500 | ||
3 | +++ mg-20110905-changed/configure 2014-08-14 10:46:14.168715425 -0500 | ||
4 | @@ -163,32 +163,6 @@ | ||
5 | echo 'Fails.' | ||
6 | fi | ||
7 | |||
8 | - | ||
9 | -if [ ! -r /usr/include/term.h ]; then | ||
10 | - note 'term.h' | ||
11 | - if [ -r /usr/include/ncurses/term.h ]; then | ||
12 | - echo "Found in /usr/include/ncurses" | ||
13 | - extraflags="$extraflags -I/usr/include/ncurses" | ||
14 | - else | ||
15 | - for i in pkg local; do | ||
16 | - if [ -r /usr/$i/include/term.h ]; then | ||
17 | - echo "Found in /usr/$i/include" | ||
18 | - extralibs="$extralibs -L/usr/$i/lib" | ||
19 | - extraflags="$extraflags -I/usr/$i/include" | ||
20 | - break | ||
21 | - else | ||
22 | - false | ||
23 | - fi | ||
24 | - done || | ||
25 | - { | ||
26 | - echo 'Not found!' >&2 | ||
27 | - echo 'Do you have the ncurses devel package installed?' >&2 | ||
28 | - echo 'If you know where term.h is, please email the author!' >&2 | ||
29 | - exit 1 | ||
30 | - } | ||
31 | - fi | ||
32 | -fi | ||
33 | - | ||
34 | note 'base and dirname' | ||
35 | if gcc_defines "__GLIBC__" || gcc_defines "__CYGWIN__" ; then | ||
36 | echo 'Not present, adding.' | ||
diff --git a/meta-oe/recipes-support/mg/mg_20110905.bb b/meta-oe/recipes-support/mg/mg_20110905.bb new file mode 100644 index 000000000..b9a4d3392 --- /dev/null +++ b/meta-oe/recipes-support/mg/mg_20110905.bb | |||
@@ -0,0 +1,21 @@ | |||
1 | SUMMARY = "A portable version of the mg maintained by the OpenBSD team" | ||
2 | HOMEPAGE = "http://homepage.boetes.org/software/mg/" | ||
3 | LICENSE = "PD" | ||
4 | LIC_FILES_CHKSUM = "file://version.c;md5=811e1b67a5cd60c12b218a2b7c1adbf2" | ||
5 | DEPENDS = "ncurses" | ||
6 | SECTION = "console/editors" | ||
7 | |||
8 | SRC_URI = "http://homepage.boetes.org/software/mg/mg-${PV}.tar.gz \ | ||
9 | file://remove_ncurses_check.patch" | ||
10 | |||
11 | SRC_URI[md5sum] = "2de35316fa8ebafe6003efaae70b723e" | ||
12 | SRC_URI[sha256sum] = "1cd37d7e6a3eecc890a5718c38b8f38495057ba93856762a756ccee2f9618229" | ||
13 | |||
14 | do_configure () { | ||
15 | sed -i Makefile.in -e 's,^prefix=.*,prefix=${prefix},' | ||
16 | ./configure | ||
17 | } | ||
18 | |||
19 | do_install () { | ||
20 | oe_runmake install DESTDIR=${D} | ||
21 | } | ||
diff --git a/meta-oe/recipes-support/mime-support/mime-support_3.48.bb b/meta-oe/recipes-support/mime-support/mime-support_3.48.bb new file mode 100644 index 000000000..7f8b40a48 --- /dev/null +++ b/meta-oe/recipes-support/mime-support/mime-support_3.48.bb | |||
@@ -0,0 +1,58 @@ | |||
1 | SECTION = "base" | ||
2 | SUMMARY = "MIME files 'mime.types' & 'mailcap', and support programs" | ||
3 | LICENSE = "PD" | ||
4 | LIC_FILES_CHKSUM = "file://debian/README;md5=36bbe2ace0a05c3fb684b73208fbf30b" | ||
5 | |||
6 | DEPENDS = "file" | ||
7 | RDEPENDS_${PN} = "perl" | ||
8 | RRECOMMENDS_${PN} = "file" | ||
9 | |||
10 | SRC_URI = "${DEBIAN_MIRROR}/main/m/mime-support/mime-support_${PV}-1.tar.gz" | ||
11 | S = "${WORKDIR}/${PN}" | ||
12 | |||
13 | FILES_${PN} += " ${libdir}/mime" | ||
14 | |||
15 | docdir_append = "/${PN}" | ||
16 | |||
17 | do_install () { | ||
18 | install -d ${D}${sysconfdir} | ||
19 | install -d ${D}${libdir}/mime/packages | ||
20 | install -d ${D}${docdir} | ||
21 | install -d ${D}${sbindir} | ||
22 | install -d ${D}${bindir} | ||
23 | install -d ${D}${mandir}/man1 | ||
24 | install -d ${D}${mandir}/man5 | ||
25 | install -d ${D}${mandir}/man8 | ||
26 | install -m 644 mime.types ${D}${sysconfdir}/ | ||
27 | install -m 644 mailcap ${D}${libdir}/mime/ | ||
28 | install -m 644 mailcap.order ${D}${sysconfdir}/ | ||
29 | install -m 644 mailcap.man ${D}${mandir}/man5/mailcap.5 | ||
30 | install -m 644 mailcap.order.man ${D}${mandir}/man5/mailcap.order.5 | ||
31 | # install -m 755 install-mime ${D}${sbindir}/ | ||
32 | # install -m 644 install-mime.man ${D}${mandir}/man8/install-mime.8 | ||
33 | install -m 755 update-mime ${D}${sbindir}/ | ||
34 | install -m 644 update-mime.man ${D}${mandir}/man8/update-mime.8 | ||
35 | install -m 755 run-mailcap ${D}${bindir}/ | ||
36 | install -m 644 run-mailcap.man ${D}${mandir}/man1/run-mailcap.1 | ||
37 | # install -m 644 rfcs/* ${D}${docdir}/ | ||
38 | install -m 644 debian/changelog ${D}${docdir}/changelog.Debian | ||
39 | install -m 644 debian/README ${D}${docdir}/copyright | ||
40 | install -m 755 debian-view ${D}${libdir}/mime/ | ||
41 | install -m 755 playaudio ${D}${libdir}/mime/ | ||
42 | install -m 755 playdsp ${D}${libdir}/mime/ | ||
43 | install -m 644 mailcap.entries ${D}${libdir}/mime/packages/mime-support | ||
44 | cd ${D}${mandir}; gzip -9fv */* | ||
45 | cd ${D}${docdir}; gzip -9v * | ||
46 | cd ${D}${docdir}; gunzip copyright.gz | ||
47 | cd ${D}${bindir}; ln -s run-mailcap see | ||
48 | cd ${D}${bindir}; ln -s run-mailcap edit | ||
49 | cd ${D}${bindir}; ln -s run-mailcap compose | ||
50 | cd ${D}${bindir}; ln -s run-mailcap print | ||
51 | cd ${D}${mandir}/man1; ln -s run-mailcap.1.gz see.1.gz | ||
52 | cd ${D}${mandir}/man1; ln -s run-mailcap.1.gz edit.1.gz | ||
53 | cd ${D}${mandir}/man1; ln -s run-mailcap.1.gz compose.1.gz | ||
54 | cd ${D}${mandir}/man1; ln -s run-mailcap.1.gz print.1.gz | ||
55 | } | ||
56 | |||
57 | SRC_URI[md5sum] = "d6e5d715e331147352c50c158dbdec6d" | ||
58 | SRC_URI[sha256sum] = "a529c7892cb786f514af71f4ca5a4c3ebc58b538a49ff959c0d97592d38f040a" | ||
diff --git a/meta-oe/recipes-support/mini-iconv/mini-iconv.bb b/meta-oe/recipes-support/mini-iconv/mini-iconv.bb new file mode 100644 index 000000000..0f1548aa2 --- /dev/null +++ b/meta-oe/recipes-support/mini-iconv/mini-iconv.bb | |||
@@ -0,0 +1,20 @@ | |||
1 | # Copyright (C) 2012 Khem Raj <raj.khem@gmail.com> | ||
2 | # Released under the MIT license (see COPYING.MIT for the terms) | ||
3 | |||
4 | SUMMARY = "A minimal iconv implementation w/ support for UTF-8, ASCII, ISO-8859-1" | ||
5 | HOMEPAGE = "http://tinderbox.dev.gentoo.org/portage/local/misc/mini-iconv/" | ||
6 | LICENSE = "MPL-1.1" | ||
7 | SECTION = "libs" | ||
8 | DEPENDS = "" | ||
9 | PROVIDES = "virtual/libiconv" | ||
10 | LIC_FILES_CHKSUM = "file://iconv.c;beginline=1;endline=6;md5=35af9d9924327fe8a0a1fe3a2cb454c8" | ||
11 | SRC_URI = "http://mirror.meleeweb.net/pub/linux/gentoo/distfiles/mini-iconv.tar.bz2" | ||
12 | SRC_URI[md5sum] = "84412221e26505a2b3855d4a1cdcd0e0" | ||
13 | SRC_URI[sha256sum] = "3552262bf1bcf8e859a2a3a7adfb0367af8593383e730c492e981477aac0a0d4" | ||
14 | |||
15 | |||
16 | S = "${WORKDIR}/${PN}" | ||
17 | |||
18 | do_install() { | ||
19 | oe_runmake install DESTDIR=${D} PREFIX=${prefix} LIB=${base_libdir} | ||
20 | } | ||
diff --git a/meta-oe/recipes-support/mongodb/mongodb/0001-Make-it-possible-to-disable-the-use-of-v8.patch b/meta-oe/recipes-support/mongodb/mongodb/0001-Make-it-possible-to-disable-the-use-of-v8.patch new file mode 100644 index 000000000..650389e16 --- /dev/null +++ b/meta-oe/recipes-support/mongodb/mongodb/0001-Make-it-possible-to-disable-the-use-of-v8.patch | |||
@@ -0,0 +1,50 @@ | |||
1 | From f1bd00e7f54aad6479bc809c27d5cd3c2fb993eb Mon Sep 17 00:00:00 2001 | ||
2 | From: Michael Hudson-Doyle <michael.hudson@linaro.org> | ||
3 | Date: Fri, 20 Dec 2013 11:10:43 +1300 | ||
4 | Subject: [PATCH 1/5] Make it possible to disable the use of v8. | ||
5 | |||
6 | Currently v8 is always built in, no matter what you pass to scons. | ||
7 | |||
8 | This removes the (useless) --usev8 flag for scons and replaces it with a | ||
9 | --disable-scripting option instead. | ||
10 | --- | ||
11 | SConstruct | 9 ++++++--- | ||
12 | 1 file changed, 6 insertions(+), 3 deletions(-) | ||
13 | |||
14 | diff --git a/SConstruct b/SConstruct | ||
15 | index 3886d1b..6e0ef3b 100644 | ||
16 | --- a/SConstruct | ||
17 | +++ b/SConstruct | ||
18 | @@ -225,7 +225,7 @@ add_option( "asio" , "Use Asynchronous IO (NOT READY YET)" , 0 , True ) | ||
19 | add_option( "ssl" , "Enable SSL" , 0 , True ) | ||
20 | |||
21 | # library choices | ||
22 | -add_option( "usev8" , "use v8 for javascript" , 0 , True ) | ||
23 | +add_option( "disable-scripting" , "do not build support for javascript" , 0 , True ) | ||
24 | add_option( "libc++", "use libc++ (experimental, requires clang)", 0, True ) | ||
25 | |||
26 | # mongo feature options | ||
27 | @@ -442,7 +442,7 @@ static = has_option( "static" ) | ||
28 | |||
29 | noshell = has_option( "noshell" ) | ||
30 | |||
31 | -usev8 = has_option( "usev8" ) | ||
32 | +disable_scripting = has_option( "disable-scripting" ) | ||
33 | |||
34 | asio = has_option( "asio" ) | ||
35 | |||
36 | @@ -600,7 +600,10 @@ if has_option( "durableDefaultOn" ): | ||
37 | if has_option( "durableDefaultOff" ): | ||
38 | env.Append( CPPDEFINES=[ "_DURABLEDEFAULTOFF" ] ) | ||
39 | |||
40 | -usev8 = True | ||
41 | +if disable_scripting or justClientLib: | ||
42 | + usev8 = False | ||
43 | +else: | ||
44 | + usev8 = True | ||
45 | |||
46 | extraLibPlaces = [] | ||
47 | |||
48 | -- | ||
49 | 1.9.0 | ||
50 | |||
diff --git a/meta-oe/recipes-support/mongodb/mongodb/0002-Fix-linking-when-scripting-is-disabled.patch b/meta-oe/recipes-support/mongodb/mongodb/0002-Fix-linking-when-scripting-is-disabled.patch new file mode 100644 index 000000000..b4388d8f0 --- /dev/null +++ b/meta-oe/recipes-support/mongodb/mongodb/0002-Fix-linking-when-scripting-is-disabled.patch | |||
@@ -0,0 +1,25 @@ | |||
1 | From 5b22f64a2e2237082d2733698b07147d27b09ad2 Mon Sep 17 00:00:00 2001 | ||
2 | From: Michael Hudson-Doyle <michael.hudson@linaro.org> | ||
3 | Date: Fri, 20 Dec 2013 12:28:27 +1300 | ||
4 | Subject: [PATCH 2/5] Fix linking when scripting is disabled. | ||
5 | |||
6 | --- | ||
7 | src/mongo/scripting/engine_none.cpp | 4 ++++ | ||
8 | 1 file changed, 4 insertions(+) | ||
9 | |||
10 | diff --git a/src/mongo/scripting/engine_none.cpp b/src/mongo/scripting/engine_none.cpp | ||
11 | index f5c7109..9ae9d57 100644 | ||
12 | --- a/src/mongo/scripting/engine_none.cpp | ||
13 | +++ b/src/mongo/scripting/engine_none.cpp | ||
14 | @@ -33,4 +33,8 @@ namespace mongo { | ||
15 | void ScriptEngine::setup() { | ||
16 | // noop | ||
17 | } | ||
18 | + | ||
19 | + std::string ScriptEngine::getInterpreterVersionString() { | ||
20 | + return "none"; | ||
21 | + } | ||
22 | } | ||
23 | -- | ||
24 | 1.9.0 | ||
25 | |||
diff --git a/meta-oe/recipes-support/mongodb/mongodb/0003-Do-not-build-mongo-binary-when-scripting-is-disabled.patch b/meta-oe/recipes-support/mongodb/mongodb/0003-Do-not-build-mongo-binary-when-scripting-is-disabled.patch new file mode 100644 index 000000000..016ac3584 --- /dev/null +++ b/meta-oe/recipes-support/mongodb/mongodb/0003-Do-not-build-mongo-binary-when-scripting-is-disabled.patch | |||
@@ -0,0 +1,64 @@ | |||
1 | From eab4316597a8e9e7bbf845a054564c6daa4a95b7 Mon Sep 17 00:00:00 2001 | ||
2 | From: Michael Hudson-Doyle <michael.hudson@linaro.org> | ||
3 | Date: Wed, 22 Jan 2014 13:53:10 +1300 | ||
4 | Subject: [PATCH 3/5] * Do not build 'mongo' binary when scripting is disabled | ||
5 | * Do not build the jstests when scripting is disabled | ||
6 | |||
7 | --- | ||
8 | SConstruct | 8 ++++++-- | ||
9 | src/mongo/SConscript | 4 +++- | ||
10 | 2 files changed, 9 insertions(+), 3 deletions(-) | ||
11 | |||
12 | diff --git a/SConstruct b/SConstruct | ||
13 | index 6e0ef3b..c84a669 100644 | ||
14 | --- a/SConstruct | ||
15 | +++ b/SConstruct | ||
16 | @@ -440,10 +440,13 @@ else: | ||
17 | |||
18 | static = has_option( "static" ) | ||
19 | |||
20 | -noshell = has_option( "noshell" ) | ||
21 | - | ||
22 | disable_scripting = has_option( "disable-scripting" ) | ||
23 | |||
24 | +if not disable_scripting: | ||
25 | + noshell = has_option( "noshell" ) | ||
26 | +else: | ||
27 | + noshell = True | ||
28 | + | ||
29 | asio = has_option( "asio" ) | ||
30 | |||
31 | usePCH = has_option( "usePCH" ) | ||
32 | @@ -1662,6 +1665,7 @@ Export("get_option") | ||
33 | Export("has_option use_system_version_of_library") | ||
34 | Export("mongoCodeVersion") | ||
35 | Export("usev8") | ||
36 | +Export("disable_scripting") | ||
37 | Export("darwin windows solaris linux freebsd nix") | ||
38 | Export('module_sconscripts') | ||
39 | Export("debugBuild optBuild") | ||
40 | diff --git a/src/mongo/SConscript b/src/mongo/SConscript | ||
41 | index 58f8406..b4379e7 100644 | ||
42 | --- a/src/mongo/SConscript | ||
43 | +++ b/src/mongo/SConscript | ||
44 | @@ -6,6 +6,7 @@ import os | ||
45 | import itertools | ||
46 | from buildscripts import utils | ||
47 | |||
48 | +Import("disable_scripting") | ||
49 | Import("env") | ||
50 | Import("shellEnv") | ||
51 | Import("testEnv") | ||
52 | @@ -1043,7 +1044,8 @@ test = testEnv.Install( | ||
53 | [ f for f in Glob("dbtests/*.cpp") | ||
54 | if not str(f).endswith('framework.cpp') and | ||
55 | not str(f).endswith('framework_options.cpp') and | ||
56 | - not str(f).endswith('framework_options_init.cpp') ], | ||
57 | + not str(f).endswith('framework_options_init.cpp') and | ||
58 | + not (str(f).endswith('jstests.cpp') and disable_scripting)], | ||
59 | LIBDEPS = [ | ||
60 | "mutable_bson_test_utils", | ||
61 | "mongocommon", | ||
62 | -- | ||
63 | 1.9.0 | ||
64 | |||
diff --git a/meta-oe/recipes-support/mongodb/mongodb/0004-replace-os.uname-with-os.getenv-OE_TARGET_ARCH.patch b/meta-oe/recipes-support/mongodb/mongodb/0004-replace-os.uname-with-os.getenv-OE_TARGET_ARCH.patch new file mode 100644 index 000000000..ade7ec02a --- /dev/null +++ b/meta-oe/recipes-support/mongodb/mongodb/0004-replace-os.uname-with-os.getenv-OE_TARGET_ARCH.patch | |||
@@ -0,0 +1,50 @@ | |||
1 | From d02f33d860f2d11f71e9056782a2e75603d6ec25 Mon Sep 17 00:00:00 2001 | ||
2 | From: Koen Kooi <koen.kooi@linaro.org> | ||
3 | Date: Tue, 4 Feb 2014 10:56:35 +0100 | ||
4 | Subject: [PATCH 4/5] replace os.uname with os.getenv(OE_TARGET_ARCH) | ||
5 | |||
6 | This fixes crosscompilation | ||
7 | |||
8 | Signed-off-by: Koen Kooi <koen.kooi@linaro.org> | ||
9 | Upstream-Status: Inappropiate [OE specific] | ||
10 | --- | ||
11 | SConstruct | 8 ++++---- | ||
12 | 1 file changed, 4 insertions(+), 4 deletions(-) | ||
13 | |||
14 | diff --git a/SConstruct b/SConstruct | ||
15 | index c84a669..05e2ea0 100644 | ||
16 | --- a/SConstruct | ||
17 | +++ b/SConstruct | ||
18 | @@ -257,9 +257,9 @@ add_option( "pch" , "use precompiled headers to speed up the build (experimental | ||
19 | add_option( "distcc" , "use distcc for distributing builds" , 0 , False ) | ||
20 | |||
21 | # debugging/profiling help | ||
22 | -if os.sys.platform.startswith("linux") and (os.uname()[-1] == 'x86_64'): | ||
23 | +if os.sys.platform.startswith("linux") and (os.getenv("OE_TARGET_ARCH") == 'x86_64'): | ||
24 | defaultAllocator = 'tcmalloc' | ||
25 | -elif (os.sys.platform == "darwin") and (os.uname()[-1] == 'x86_64'): | ||
26 | +elif (os.sys.platform == "darwin") and (os.getenv("OE_TARGET_ARCH") == 'x86_64'): | ||
27 | defaultAllocator = 'tcmalloc' | ||
28 | else: | ||
29 | defaultAllocator = 'system' | ||
30 | @@ -633,7 +633,7 @@ if has_option( "extralib" ): | ||
31 | # ---- other build setup ----- | ||
32 | |||
33 | if "uname" in dir(os): | ||
34 | - processor = os.uname()[4] | ||
35 | + processor = os.getenv("OE_TARGET_ARCH") | ||
36 | else: | ||
37 | processor = "i386" | ||
38 | |||
39 | @@ -662,7 +662,7 @@ elif linux: | ||
40 | |||
41 | env.Append( LIBS=['m'] ) | ||
42 | |||
43 | - if os.uname()[4] == "x86_64" and not force32: | ||
44 | + if os.getenv("OE_TARGET_ARCH") == "x86_64" and not force32: | ||
45 | linux64 = True | ||
46 | nixLibPrefix = "lib64" | ||
47 | env.Append( EXTRALIBPATH=["/usr/lib64" , "/lib64" ] ) | ||
48 | -- | ||
49 | 1.9.0 | ||
50 | |||
diff --git a/meta-oe/recipes-support/mongodb/mongodb/0005-GCC-4.7-supports-atomic-ops-for-armv5-and-up-but-onl.patch b/meta-oe/recipes-support/mongodb/mongodb/0005-GCC-4.7-supports-atomic-ops-for-armv5-and-up-but-onl.patch new file mode 100644 index 000000000..490d56485 --- /dev/null +++ b/meta-oe/recipes-support/mongodb/mongodb/0005-GCC-4.7-supports-atomic-ops-for-armv5-and-up-but-onl.patch | |||
@@ -0,0 +1,127 @@ | |||
1 | From e31f85e6915d4bf6ed76c5da71c235525fa4ecc3 Mon Sep 17 00:00:00 2001 | ||
2 | From: Koen Kooi <koen.kooi@linaro.org> | ||
3 | Date: Mon, 14 Apr 2014 10:29:42 +0200 | ||
4 | Subject: [PATCH 5/5] GCC 4.7+ supports atomic ops for armv5 and up, but only | ||
5 | exports the functions for armv6 and up. This patch works around the linker | ||
6 | problems associated with that. | ||
7 | |||
8 | Forward ported from http://pkgs.fedoraproject.org/cgit/mongodb.git/tree/mongodb-2.4.5-atomics.patch | ||
9 | |||
10 | Upstream-status: pending | ||
11 | --- | ||
12 | src/mongo/bson/util/atomic_int.h | 26 ++++++++++++ | ||
13 | src/mongo/platform/atomic_intrinsics_gcc_generic.h | 47 ++++++++++++++++++++++ | ||
14 | 2 files changed, 73 insertions(+) | ||
15 | |||
16 | diff --git a/src/mongo/bson/util/atomic_int.h b/src/mongo/bson/util/atomic_int.h | ||
17 | index 0b85363..ed02c23 100644 | ||
18 | --- a/src/mongo/bson/util/atomic_int.h | ||
19 | +++ b/src/mongo/bson/util/atomic_int.h | ||
20 | @@ -24,6 +24,10 @@ | ||
21 | |||
22 | #include "mongo/platform/compiler.h" | ||
23 | |||
24 | +#define GCC_VERSION (__GNUC__ * 10000 \ | ||
25 | + + __GNUC_MINOR__ * 100 \ | ||
26 | + + __GNUC_PATCHLEVEL__) | ||
27 | + | ||
28 | namespace mongo { | ||
29 | |||
30 | /** | ||
31 | @@ -72,6 +76,28 @@ namespace mongo { | ||
32 | InterlockedAdd((volatile long *)&x,by); | ||
33 | } | ||
34 | # endif | ||
35 | +#elif defined(GCC_VERSION) && GCC_VERSION >= 40700 | ||
36 | +// in GCC version >= 4.7.0 we can use the built-in atomic operations | ||
37 | + | ||
38 | + inline void AtomicUInt::set(unsigned newX) { | ||
39 | + __atomic_store_n (&x, newX, __ATOMIC_SEQ_CST); | ||
40 | + } | ||
41 | + AtomicUInt AtomicUInt::operator++() { // ++prefix | ||
42 | + return __atomic_add_fetch(&x, 1, __ATOMIC_SEQ_CST); | ||
43 | + } | ||
44 | + AtomicUInt AtomicUInt::operator++(int) { // postfix++ | ||
45 | + return __atomic_fetch_add(&x, 1, __ATOMIC_SEQ_CST); | ||
46 | + } | ||
47 | + AtomicUInt AtomicUInt::operator--() { // --prefix | ||
48 | + return __atomic_add_fetch(&x, -1, __ATOMIC_SEQ_CST); | ||
49 | + } | ||
50 | + AtomicUInt AtomicUInt::operator--(int) { // postfix-- | ||
51 | + return __atomic_fetch_add(&x, -1, __ATOMIC_SEQ_CST); | ||
52 | + } | ||
53 | + void AtomicUInt::signedAdd(int by) { | ||
54 | + __atomic_fetch_add(&x, by, __ATOMIC_SEQ_CST); | ||
55 | + } | ||
56 | + | ||
57 | #elif defined(__GCC_HAVE_SYNC_COMPARE_AND_SWAP_4) | ||
58 | // this is in GCC >= 4.1 | ||
59 | inline void AtomicUInt::set(unsigned newX) { __sync_synchronize(); x = newX; } | ||
60 | diff --git a/src/mongo/platform/atomic_intrinsics_gcc_generic.h b/src/mongo/platform/atomic_intrinsics_gcc_generic.h | ||
61 | index 64a2499..b7cc176 100644 | ||
62 | --- a/src/mongo/platform/atomic_intrinsics_gcc_generic.h | ||
63 | +++ b/src/mongo/platform/atomic_intrinsics_gcc_generic.h | ||
64 | @@ -22,8 +22,53 @@ | ||
65 | |||
66 | #include <boost/utility.hpp> | ||
67 | |||
68 | +#define GCC_VERSION (__GNUC__ * 10000 \ | ||
69 | + + __GNUC_MINOR__ * 100 \ | ||
70 | + + __GNUC_PATCHLEVEL__) | ||
71 | + | ||
72 | namespace mongo { | ||
73 | |||
74 | +// If GCC version >= 4.7.0, we can use the built-in atomic operations | ||
75 | +#if defined(GCC_VERSION) && GCC_VERSION >= 40700 | ||
76 | + | ||
77 | + /** | ||
78 | + * Instantiation of AtomicIntrinsics<>. | ||
79 | + */ | ||
80 | + template <typename T> | ||
81 | + class AtomicIntrinsics { | ||
82 | + public: | ||
83 | + | ||
84 | + static T compareAndSwap(volatile T* dest, T expected, T newValue) { | ||
85 | + return __atomic_compare_exchange_n (dest, &expected, newValue, 0, __ATOMIC_SEQ_CST, __ATOMIC_SEQ_CST); | ||
86 | + } | ||
87 | + | ||
88 | + static T swap(volatile T* dest, T newValue) { | ||
89 | + return __atomic_exchange_n (dest, newValue, __ATOMIC_SEQ_CST); | ||
90 | + } | ||
91 | + | ||
92 | + static T load(volatile const T* value) { | ||
93 | + return __atomic_load_n (value, __ATOMIC_SEQ_CST); | ||
94 | + } | ||
95 | + | ||
96 | + static T loadRelaxed(volatile const T* value) { | ||
97 | + return *value; | ||
98 | + } | ||
99 | + | ||
100 | + static void store(volatile T* dest, T newValue) { | ||
101 | + __atomic_store_n (dest, newValue, __ATOMIC_SEQ_CST); | ||
102 | + } | ||
103 | + | ||
104 | + static T fetchAndAdd(volatile T* dest, T increment) { | ||
105 | + return __atomic_fetch_add (dest, increment, __ATOMIC_SEQ_CST); | ||
106 | + } | ||
107 | + | ||
108 | + private: | ||
109 | + AtomicIntrinsics(); | ||
110 | + ~AtomicIntrinsics(); | ||
111 | + }; | ||
112 | + | ||
113 | +#else // GCC version < 4.7, so we must use legacy (platform-specific) atomic operations | ||
114 | + | ||
115 | /** | ||
116 | * Instantiation of AtomicIntrinsics<> for all word types T. | ||
117 | */ | ||
118 | @@ -67,4 +112,6 @@ namespace mongo { | ||
119 | ~AtomicIntrinsics(); | ||
120 | }; | ||
121 | |||
122 | +#endif // GCC_VERSION >= 40700 | ||
123 | + | ||
124 | } // namespace mongo | ||
125 | -- | ||
126 | 1.9.0 | ||
127 | |||
diff --git a/meta-oe/recipes-support/mongodb/mongodb_git.bb b/meta-oe/recipes-support/mongodb/mongodb_git.bb new file mode 100644 index 000000000..2701c4cfc --- /dev/null +++ b/meta-oe/recipes-support/mongodb/mongodb_git.bb | |||
@@ -0,0 +1,39 @@ | |||
1 | SUMMARY = "mongodb" | ||
2 | LICENSE = "AGPL-3.0 & Apache-2.0" | ||
3 | LIC_FILES_CHKSUM = "file://GNU-AGPL-3.0.txt;md5=73f1eb20517c55bf9493b7dd6e480788 \ | ||
4 | file://APACHE-2.0.txt;md5=3b83ef96387f14655fc854ddc3c6bd57" | ||
5 | |||
6 | DEPENDS = "openssl libpcre boost libpcap" | ||
7 | # Mongo uses tcmalloc on x86_64, which is provided by gperftools | ||
8 | DEPENDS_append_x86-64 = " gperftools" | ||
9 | |||
10 | inherit scons | ||
11 | |||
12 | PV = "2.6.0+git${SRCPV}" | ||
13 | SRCREV = "be1905c24c7e5ea258e537fbf0d2c502c4fc6de2" | ||
14 | SRC_URI = "git://github.com/mongodb/mongo.git;branch=v2.6 \ | ||
15 | file://0001-Make-it-possible-to-disable-the-use-of-v8.patch \ | ||
16 | file://0002-Fix-linking-when-scripting-is-disabled.patch \ | ||
17 | file://0003-Do-not-build-mongo-binary-when-scripting-is-disabled.patch \ | ||
18 | file://0004-replace-os.uname-with-os.getenv-OE_TARGET_ARCH.patch \ | ||
19 | file://0005-GCC-4.7-supports-atomic-ops-for-armv5-and-up-but-onl.patch \ | ||
20 | " | ||
21 | |||
22 | S = "${WORKDIR}/git" | ||
23 | |||
24 | export OE_TARGET_ARCH="${TARGET_ARCH}" | ||
25 | |||
26 | EXTRA_OESCONS = "--prefix=${D}${prefix} \ | ||
27 | --propagate-shell-environment \ | ||
28 | --cc-use-shell-environment \ | ||
29 | --cxx-use-shell-environment \ | ||
30 | --ld='${TARGET_PREFIX}g++' \ | ||
31 | --ssl \ | ||
32 | --use-system-pcre \ | ||
33 | --use-system-boost \ | ||
34 | --use-system-tcmalloc \ | ||
35 | --disable-scripting \ | ||
36 | --nostrip \ | ||
37 | mongod mongos" | ||
38 | |||
39 | |||
diff --git a/meta-oe/recipes-support/multipath-tools/files/always-use-libdevmapper-kpartx.patch b/meta-oe/recipes-support/multipath-tools/files/always-use-libdevmapper-kpartx.patch new file mode 100644 index 000000000..a16a85405 --- /dev/null +++ b/meta-oe/recipes-support/multipath-tools/files/always-use-libdevmapper-kpartx.patch | |||
@@ -0,0 +1,29 @@ | |||
1 | Always use devmapper for kpartx | ||
2 | |||
3 | Do not try to compute the LIBDM_API_COOKIE make variable | ||
4 | from host information when cross-compiling. | ||
5 | |||
6 | Upstream-Status: Inappropriate [embedded specific] | ||
7 | |||
8 | Signed-off-by: Aws Ismail <aws.ismail@windriver.com> | ||
9 | Signed-off-by: Joe Slater <joe.slater@windriver.com> | ||
10 | |||
11 | diff --git a/kpartx/Makefile b/kpartx/Makefile | ||
12 | index 2a07334..24bdabc 100644 | ||
13 | --- a/kpartx/Makefile | ||
14 | +++ b/kpartx/Makefile | ||
15 | @@ -4,13 +4,7 @@ | ||
16 | # | ||
17 | include ../Makefile.inc | ||
18 | |||
19 | -CFLAGS += -I. -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 | ||
20 | - | ||
21 | -LIBDM_API_COOKIE = $(shell grep -Ecs '^[a-z]*[[:space:]]+dm_task_set_cookie' /usr/include/libdevmapper.h) | ||
22 | - | ||
23 | -ifneq ($(strip $(LIBDM_API_COOKIE)),0) | ||
24 | - CFLAGS += -DLIBDM_API_COOKIE | ||
25 | -endif | ||
26 | +CFLAGS += -I. -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -DLIBDM_API_COOKIE | ||
27 | |||
28 | LDFLAGS = -ldevmapper | ||
29 | OBJS = bsd.o dos.o kpartx.o solaris.o unixware.o dasd.o sun.o \ | ||
diff --git a/meta-oe/recipes-support/multipath-tools/files/always-use-libdevmapper.patch b/meta-oe/recipes-support/multipath-tools/files/always-use-libdevmapper.patch new file mode 100644 index 000000000..89d2352da --- /dev/null +++ b/meta-oe/recipes-support/multipath-tools/files/always-use-libdevmapper.patch | |||
@@ -0,0 +1,44 @@ | |||
1 | Always use devmapper | ||
2 | |||
3 | Do not try to compute several _API_ make variables | ||
4 | from host information when cross-compiling. | ||
5 | |||
6 | Upstream-Status: Inappropriate [embedded specific] | ||
7 | |||
8 | Signed-off-by: Aws Ismail <aws.ismail@windriver.com> | ||
9 | Signed-off-by: Joe Slater <joe.slater@windriver.com> | ||
10 | |||
11 | diff --git a/libmultipath/Makefile b/libmultipath/Makefile | ||
12 | index e5b06b3..efd6cf6 100644 | ||
13 | --- a/libmultipath/Makefile | ||
14 | +++ b/libmultipath/Makefile | ||
15 | @@ -17,23 +17,18 @@ OBJS = memory.o parser.o vector.o devmapper.o \ | ||
16 | log.o configure.o structs_vec.o sysfs.o prio.o checkers.o \ | ||
17 | lock.o waiter.o file.o wwids.o | ||
18 | |||
19 | -LIBDM_API_FLUSH = $(shell grep -Ecs '^[a-z]*[[:space:]]+dm_task_no_flush' /usr/include/libdevmapper.h) | ||
20 | |||
21 | -ifneq ($(strip $(LIBDM_API_FLUSH)),0) | ||
22 | +#ifneq ($(strip $(LIBDM_API_FLUSH)),0) | ||
23 | CFLAGS += -DLIBDM_API_FLUSH -D_GNU_SOURCE | ||
24 | -endif | ||
25 | +#endif | ||
26 | |||
27 | -LIBDM_API_COOKIE = $(shell grep -Ecs '^[a-z]*[[:space:]]+dm_task_set_cookie' /usr/include/libdevmapper.h) | ||
28 | - | ||
29 | -ifneq ($(strip $(LIBDM_API_COOKIE)),0) | ||
30 | +#ifneq ($(strip $(LIBDM_API_COOKIE)),0) | ||
31 | CFLAGS += -DLIBDM_API_COOKIE | ||
32 | -endif | ||
33 | - | ||
34 | -LIBUDEV_API_RECVBUF = $(shell grep -Ecs '^[a-z]*[[:space:]]+udev_monitor_set_resolve_buffer_size' /usr/include/libudev.h) | ||
35 | +#endif | ||
36 | |||
37 | -ifneq ($(strip $(LIBUDEV_API_RECVBUF)),0) | ||
38 | +#ifneq ($(strip $(LIBUDEV_API_RECVBUF)),0) | ||
39 | CFLAGS += -DLIBUDEV_API_RECVBUF | ||
40 | -endif | ||
41 | +#endif | ||
42 | |||
43 | |||
44 | all: $(LIBS) | ||
diff --git a/meta-oe/recipes-support/multipath-tools/files/makefile_inc.patch b/meta-oe/recipes-support/multipath-tools/files/makefile_inc.patch new file mode 100644 index 000000000..ff71f3967 --- /dev/null +++ b/meta-oe/recipes-support/multipath-tools/files/makefile_inc.patch | |||
@@ -0,0 +1,36 @@ | |||
1 | multipath-tools: modify Makefile.inc for cross-compilation | ||
2 | |||
3 | Do not look for systemd info on the host, and allow us to pass in CFLAGS | ||
4 | using the OPTFLAGS variable. | ||
5 | |||
6 | Upstream-Status: Inappropriate [embedded specific] | ||
7 | |||
8 | Signed-off-by: Joe Slater <joe.slater@windriver.com> | ||
9 | |||
10 | |||
11 | --- a/Makefile.inc | ||
12 | +++ b/Makefile.inc | ||
13 | @@ -21,12 +21,6 @@ ifndef LIB | ||
14 | endif | ||
15 | endif | ||
16 | |||
17 | -ifndef SYSTEMD | ||
18 | - ifeq ($(shell systemctl --version > /dev/null 2>&1 && echo 1), 1) | ||
19 | - SYSTEMD = $(shell systemctl --version 2> /dev/null | sed -n 's/systemd \([0-9]*\)/\1/p') | ||
20 | - endif | ||
21 | -endif | ||
22 | - | ||
23 | prefix = | ||
24 | exec_prefix = $(prefix) | ||
25 | bindir = $(exec_prefix)/sbin | ||
26 | @@ -49,7 +43,10 @@ ifndef RPM_OPT_FLAGS | ||
27 | RPM_OPT_FLAGS = -O2 -g -pipe -Wformat-security -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 | ||
28 | endif | ||
29 | |||
30 | +ifndef OPTFLAGS | ||
31 | OPTFLAGS = $(RPM_OPT_FLAGS) -Wunused -Wstrict-prototypes | ||
32 | +endif | ||
33 | + | ||
34 | CFLAGS = $(OPTFLAGS) -fPIC -DLIB_STRING=\"${LIB}\" | ||
35 | SHARED_FLAGS = -shared | ||
36 | |||
diff --git a/meta-oe/recipes-support/multipath-tools/files/multipathd.oe b/meta-oe/recipes-support/multipath-tools/files/multipathd.oe new file mode 100755 index 000000000..3bdf875e3 --- /dev/null +++ b/meta-oe/recipes-support/multipath-tools/files/multipathd.oe | |||
@@ -0,0 +1,146 @@ | |||
1 | #!/bin/bash | ||
2 | # | ||
3 | # multipathd Starts the multipath daemon | ||
4 | # | ||
5 | # chkconfig: - 06 87 | ||
6 | # description: Manages device-mapper multipath devices | ||
7 | |||
8 | ### BEGIN INIT INFO | ||
9 | # Provides: multipathd | ||
10 | # Required-Start: | ||
11 | # Required-Stop: | ||
12 | # Default-Start: | ||
13 | # Default-Stop: | ||
14 | # Short-Description: Control multipathd | ||
15 | # Description: This service monitors and manages | ||
16 | # device-mapper multipath devices | ||
17 | ### END INIT INFO | ||
18 | |||
19 | DAEMON=/sbin/multipathd | ||
20 | prog=`basename $DAEMON` | ||
21 | initdir=/etc/init.d | ||
22 | lockdir=/var/lock/subsys | ||
23 | sysconfig=/etc/sysconfig | ||
24 | syspath=/sys/block | ||
25 | |||
26 | RETVAL=0 | ||
27 | |||
28 | teardown_slaves() | ||
29 | { | ||
30 | pushd $1 > /dev/null | ||
31 | if [ -d "slaves" ]; then | ||
32 | for slave in slaves/*; | ||
33 | do | ||
34 | if [ "$slave" = "slaves/*" ]; then | ||
35 | read dev < $1/dev | ||
36 | tablename=`dmsetup table --target multipath | sed -n "s/\(.*\): .* $dev .*/\1/p"` | ||
37 | if ! [ -z $tablename ]; then | ||
38 | echo "Root is on a multipathed device, multipathd can not be stopped" | ||
39 | exit 1 | ||
40 | fi | ||
41 | else | ||
42 | local_slave=`readlink -f $slave`; | ||
43 | teardown_slaves $local_slave; | ||
44 | fi | ||
45 | done | ||
46 | |||
47 | else | ||
48 | read dev < $1/dev | ||
49 | tablename=`dmsetup table --target multipath | sed -n "s/\(.*\): .* $dev .*/\1/p"` | ||
50 | if ! [ -z $tablename ]; then | ||
51 | echo "Root is on a multipathed device, multipathd can not be stopped" | ||
52 | exit 1 | ||
53 | fi | ||
54 | fi | ||
55 | popd > /dev/null | ||
56 | } | ||
57 | |||
58 | # | ||
59 | # See how we were called. | ||
60 | # | ||
61 | |||
62 | start() { | ||
63 | test -x $DAEMON || exit 5 | ||
64 | echo -n $"Starting $prog daemon: " | ||
65 | start-stop-daemon --start --quiet --exec $DAEMON | ||
66 | RETVAL=$? | ||
67 | [ $RETVAL -eq 0 ] && touch $lockdir/$prog | ||
68 | echo | ||
69 | } | ||
70 | |||
71 | force_stop() { | ||
72 | echo -n $"Stopping $prog daemon: " | ||
73 | killall $DAEMON | ||
74 | RETVAL=$? | ||
75 | [ $RETVAL -eq 0 ] && rm -f $lockdir/$prog | ||
76 | echo | ||
77 | } | ||
78 | |||
79 | stop() { | ||
80 | root_dev=$(awk '{ if ($1 !~ /^[ \t]*#/ && $2 == "/") { print $1; }}' /etc/mtab) | ||
81 | dm_num=`dmsetup info -c --noheadings -o minor $root_dev 2> /dev/null` | ||
82 | if [ $? -eq 0 ]; then | ||
83 | root_dm_device="dm-$dm_num" | ||
84 | [ -d $syspath/$root_dm_device ] && teardown_slaves $syspath/$root_dm_device | ||
85 | fi | ||
86 | |||
87 | force_stop | ||
88 | } | ||
89 | |||
90 | restart() { | ||
91 | stop | ||
92 | start | ||
93 | } | ||
94 | |||
95 | force_restart() { | ||
96 | force_stop | ||
97 | start | ||
98 | } | ||
99 | |||
100 | reload() { | ||
101 | echo -n "Reloading $prog: " | ||
102 | trap "" SIGHUP | ||
103 | killall $DAEMON -s SIGHUP -v | ||
104 | RETVAL=$? | ||
105 | echo | ||
106 | } | ||
107 | |||
108 | case "$1" in | ||
109 | start) | ||
110 | start | ||
111 | ;; | ||
112 | stop) | ||
113 | stop | ||
114 | ;; | ||
115 | force-stop) | ||
116 | force_stop | ||
117 | ;; | ||
118 | force-reload|reload) | ||
119 | reload | ||
120 | ;; | ||
121 | restart) | ||
122 | restart | ||
123 | ;; | ||
124 | force-restart) | ||
125 | force_restart | ||
126 | ;; | ||
127 | condrestart|try-restart) | ||
128 | if [ -f $lockdir/$prog ]; then | ||
129 | restart | ||
130 | fi | ||
131 | ;; | ||
132 | status) | ||
133 | if pidof -o %PPID $DAEMON > /dev/null; then | ||
134 | echo "Running" | ||
135 | RETVAL=0 | ||
136 | else | ||
137 | echo "Not running" | ||
138 | RETVAL=1 | ||
139 | fi | ||
140 | ;; | ||
141 | *) | ||
142 | echo $"Usage: $0 {start|stop|force-stop|status|restart|force-restart|condrestart|reload}" | ||
143 | RETVAL=2 | ||
144 | esac | ||
145 | |||
146 | exit $RETVAL | ||
diff --git a/meta-oe/recipes-support/multipath-tools/multipath-tools_git.bb b/meta-oe/recipes-support/multipath-tools/multipath-tools_git.bb new file mode 100644 index 000000000..055cfe64c --- /dev/null +++ b/meta-oe/recipes-support/multipath-tools/multipath-tools_git.bb | |||
@@ -0,0 +1,70 @@ | |||
1 | SUMMARY = "The upstream project used to drive the Device Mapper multipathing driver" | ||
2 | |||
3 | DEPENDS = "lvm2 libaio readline udev" | ||
4 | |||
5 | LICENSE = "LGPLv2" | ||
6 | |||
7 | SRC_URI = "git://git.opensvc.com/multipath-tools/.git;protocol=http \ | ||
8 | file://multipathd.oe \ | ||
9 | file://makefile_inc.patch \ | ||
10 | file://always-use-libdevmapper.patch \ | ||
11 | file://always-use-libdevmapper-kpartx.patch \ | ||
12 | " | ||
13 | # 0.5.0 | ||
14 | # | ||
15 | #SRCREV = "82f391e787dc02e9d9294aa391137ab424bb83c4" | ||
16 | #LIC_FILES_CHKSUM = "file://COPYING;md5=7be2873b6270e45abacc503abbe2aa3d" | ||
17 | |||
18 | # 0.5.0 + commits thru 7/18/2014 | ||
19 | # | ||
20 | #SRCREV = "0d72f46c12207a6b7b89f5ef4f5ab5f87ed8bc90" | ||
21 | #LIC_FILES_CHKSUM = "file://COPYING;md5=b06690e7a95c166eefe0199b39118eb1" | ||
22 | |||
23 | # 0.5.0 + commits thru 9/12/2014 | ||
24 | # | ||
25 | # includes important systemd related structure size fix | ||
26 | # | ||
27 | SRCREV = "aec68ab217fd2956443b27ceeb97dd6475267789" | ||
28 | LIC_FILES_CHKSUM = "file://COPYING;md5=b06690e7a95c166eefe0199b39118eb1" | ||
29 | |||
30 | inherit systemd | ||
31 | |||
32 | |||
33 | S = "${WORKDIR}/git" | ||
34 | |||
35 | PV = "0.5.0+git${@'${SRCPV}'.split('+')[-1]}" | ||
36 | |||
37 | # The exact version of SYSTEMD does not matter but should be greater than 209. | ||
38 | # | ||
39 | EXTRA_OEMAKE = 'MULTIPATH_VERSION=${PV} DESTDIR=${D} syslibdir=${base_libdir} \ | ||
40 | OPTFLAGS="${CFLAGS}" \ | ||
41 | LIB=${base_libdir} libdir=${base_libdir}/multipath \ | ||
42 | unitdir=/lib/systemd/system \ | ||
43 | ${@bb.utils.contains("DISTRO_FEATURES", "systemd", "SYSTEMD=216", "", d)} \ | ||
44 | ' | ||
45 | |||
46 | do_install() { | ||
47 | oe_runmake install | ||
48 | |||
49 | # Copy a sample conf file, but do not rename it multipath.conf. | ||
50 | # | ||
51 | cp multipath.conf.defaults ${D}${sysconfdir} | ||
52 | |||
53 | # We copy an initscript, but do not start multipathd at init time. | ||
54 | # | ||
55 | cp ${WORKDIR}/multipathd.oe ${D}${sysconfdir}/init.d/multipathd | ||
56 | |||
57 | } | ||
58 | |||
59 | FILES_${PN}-dbg += "${base_libdir}/multipath/.debug" | ||
60 | |||
61 | # systemd and udev stuff always goes under /lib! | ||
62 | # | ||
63 | FILES_${PN} += "${base_libdir}/multipath \ | ||
64 | /lib/systemd" | ||
65 | |||
66 | PACKAGES =+ "kpartx" | ||
67 | FILES_kpartx = "${base_sbindir}/kpartx \ | ||
68 | /lib/udev/kpartx_id" | ||
69 | |||
70 | RDEPENDS_${PN} += "kpartx" | ||
diff --git a/meta-oe/recipes-support/mysql/mariadb-native_5.5.39.bb b/meta-oe/recipes-support/mysql/mariadb-native_5.5.39.bb new file mode 100644 index 000000000..9148deefc --- /dev/null +++ b/meta-oe/recipes-support/mysql/mariadb-native_5.5.39.bb | |||
@@ -0,0 +1,19 @@ | |||
1 | require mariadb_${PV}.inc | ||
2 | inherit native | ||
3 | |||
4 | PROVIDES += "mysql5-native" | ||
5 | DEPENDS = "ncurses-native zlib-native" | ||
6 | |||
7 | RDEPENDS_${PN} = "" | ||
8 | PACKAGES = "" | ||
9 | EXTRA_OEMAKE = "" | ||
10 | |||
11 | do_install() { | ||
12 | oe_runmake 'DESTDIR=${D}' install | ||
13 | |||
14 | install -d ${D}${bindir} | ||
15 | install -m 0755 sql/gen_lex_hash ${D}${bindir}/ | ||
16 | install -m 0755 extra/comp_err ${D}${bindir}/ | ||
17 | install -m 0755 scripts/comp_sql ${D}${bindir}/ | ||
18 | } | ||
19 | |||
diff --git a/meta-oe/recipes-support/mysql/mariadb/fix-cmake-module-path.patch b/meta-oe/recipes-support/mysql/mariadb/fix-cmake-module-path.patch new file mode 100644 index 000000000..8d9f558d0 --- /dev/null +++ b/meta-oe/recipes-support/mysql/mariadb/fix-cmake-module-path.patch | |||
@@ -0,0 +1,29 @@ | |||
1 | Avoid CMAKE_MODULE_PATH being overwritten | ||
2 | |||
3 | OE-Core's setting of CMAKE_MODULE_PATH stomps on MariaDB's value unless | ||
4 | we set it after setting the project name. | ||
5 | |||
6 | Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> | ||
7 | |||
8 | Upstream-Status: Inappropriate [working around OE-Core bug] | ||
9 | |||
10 | --- mariadb/CMakeLists.txt 2014-07-17 11:01:07.676353047 +0100 | ||
11 | +++ mariadb/CMakeLists.txt 2014-07-17 11:01:31.299353107 +0100 | ||
12 | @@ -28,8 +28,6 @@ | ||
13 | |||
14 | MESSAGE(STATUS "Running cmake version ${CMAKE_VERSION}") | ||
15 | |||
16 | -SET(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${CMAKE_SOURCE_DIR}/cmake) | ||
17 | - | ||
18 | # Distinguish between community and non-community builds, with the | ||
19 | # default being a community build. This does not impact the feature | ||
20 | # set that will be compiled in; it's merely provided as a hint to | ||
21 | @@ -77,6 +75,8 @@ | ||
22 | ENDIF() | ||
23 | PROJECT(${MYSQL_PROJECT_NAME}) | ||
24 | |||
25 | +SET(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${CMAKE_SOURCE_DIR}/cmake) | ||
26 | + | ||
27 | IF(BUILD_CONFIG) | ||
28 | INCLUDE( | ||
29 | ${CMAKE_SOURCE_DIR}/cmake/build_configurations/${BUILD_CONFIG}.cmake) | ||
diff --git a/meta-oe/recipes-support/mysql/mariadb/fix-mysqlclient-r-version.patch b/meta-oe/recipes-support/mysql/mariadb/fix-mysqlclient-r-version.patch new file mode 100644 index 000000000..7516619eb --- /dev/null +++ b/meta-oe/recipes-support/mysql/mariadb/fix-mysqlclient-r-version.patch | |||
@@ -0,0 +1,161 @@ | |||
1 | From 6db2a606196fb38a6d106dc409eee1cb9a40a440 Mon Sep 17 00:00:00 2001 | ||
2 | From: Tor Didriksen <tor.didriksen@oracle.com> | ||
3 | Date: Mon, 24 Jun 2013 17:15:35 +0200 | ||
4 | Subject: [PATCH] Bug#16809055 MYSQL 5.6 AND 5.7 STILL USE LIBMYSQLCLIENT.SO.18 | ||
5 | |||
6 | With this patch, the libmysql/ directory contains: | ||
7 | libmysqlclient.a | ||
8 | libmysqlclient_r.a -> libmysqlclient.a | ||
9 | libmysqlclient_r.so -> libmysqlclient.so* | ||
10 | libmysqlclient_r.so.18 -> libmysqlclient.so.18* | ||
11 | libmysqlclient_r.so.18.1.0 -> libmysqlclient.so.18.1.0* | ||
12 | libmysqlclient.so -> libmysqlclient.so.18* | ||
13 | libmysqlclient.so.18 -> libmysqlclient.so.18.1.0* | ||
14 | libmysqlclient.so.18.1.0* | ||
15 | |||
16 | This fixes libmysqlclient_r symlinks pointing to the unversioned | ||
17 | libmysqlclient.so symlink (leading to package QA errors since the | ||
18 | libmysqlclient-r package ends up depending on libmysqlclient-dev). | ||
19 | |||
20 | Borrowed from MySQL 5.6 tree at https://github.com/percona/mysql/ | ||
21 | |||
22 | Upstream-Status: Pending | ||
23 | |||
24 | Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> | ||
25 | |||
26 | --- | ||
27 | cmake/install_macros.cmake | 25 +++++++++++++++---------- | ||
28 | cmake/mysql_version.cmake | 3 ++- | ||
29 | libmysql/CMakeLists.txt | 36 ++++++++++++++++++++++++++++-------- | ||
30 | 3 files changed, 45 insertions(+), 19 deletions(-) | ||
31 | |||
32 | diff --git a/cmake/install_macros.cmake b/cmake/install_macros.cmake | ||
33 | index b8efdf8..a0d0e68 100644 | ||
34 | --- a/cmake/install_macros.cmake | ||
35 | +++ b/cmake/install_macros.cmake | ||
36 | @@ -1,4 +1,4 @@ | ||
37 | -# Copyright (c) 2009, 2011, Oracle and/or its affiliates. All rights reserved. | ||
38 | +# Copyright (c) 2009, 2013, Oracle and/or its affiliates. All rights reserved. | ||
39 | # | ||
40 | # This program is free software; you can redistribute it and/or modify | ||
41 | # it under the terms of the GNU General Public License as published by | ||
42 | @@ -111,28 +111,33 @@ FUNCTION(INSTALL_SCRIPT) | ||
43 | ENDFUNCTION() | ||
44 | |||
45 | # Install symbolic link to CMake target. | ||
46 | -# the link is created in the same directory as target | ||
47 | -# and extension will be the same as for target file. | ||
48 | -MACRO(INSTALL_SYMLINK linkname target destination component) | ||
49 | +# We do 'cd path; ln -s target_name link_name' | ||
50 | +# We also add an INSTALL target for "${path}/${link_name}" | ||
51 | +MACRO(INSTALL_SYMLINK target target_name link_name destination component) | ||
52 | IF(UNIX) | ||
53 | GET_TARGET_PROPERTY(location ${target} LOCATION) | ||
54 | GET_FILENAME_COMPONENT(path ${location} PATH) | ||
55 | - GET_FILENAME_COMPONENT(name ${location} NAME) | ||
56 | - SET(output ${path}/${linkname}) | ||
57 | + MESSAGE(STATUS "target ${target}") | ||
58 | + MESSAGE(STATUS "link_name ${link_name}") | ||
59 | + MESSAGE(STATUS "target_name ${target_name}") | ||
60 | + MESSAGE(STATUS "path ${path}") | ||
61 | + MESSAGE(STATUS "") | ||
62 | + | ||
63 | + SET(output ${path}/${link_name}) | ||
64 | ADD_CUSTOM_COMMAND( | ||
65 | OUTPUT ${output} | ||
66 | COMMAND ${CMAKE_COMMAND} ARGS -E remove -f ${output} | ||
67 | COMMAND ${CMAKE_COMMAND} ARGS -E create_symlink | ||
68 | - ${name} | ||
69 | - ${linkname} | ||
70 | + ${target_name} | ||
71 | + ${link_name} | ||
72 | WORKING_DIRECTORY ${path} | ||
73 | DEPENDS ${target} | ||
74 | ) | ||
75 | |||
76 | - ADD_CUSTOM_TARGET(symlink_${linkname} | ||
77 | + ADD_CUSTOM_TARGET(symlink_${link_name} | ||
78 | ALL | ||
79 | DEPENDS ${output}) | ||
80 | - SET_TARGET_PROPERTIES(symlink_${linkname} PROPERTIES CLEAN_DIRECT_OUTPUT 1) | ||
81 | + SET_TARGET_PROPERTIES(symlink_${link_name} PROPERTIES CLEAN_DIRECT_OUTPUT 1) | ||
82 | IF(CMAKE_GENERATOR MATCHES "Xcode") | ||
83 | # For Xcode, replace project config with install config | ||
84 | STRING(REPLACE "${CMAKE_CFG_INTDIR}" | ||
85 | diff --git a/libmysql/CMakeLists.txt b/libmysql/CMakeLists.txt | ||
86 | index be5760f..96286ff 100644 | ||
87 | --- a/libmysql/CMakeLists.txt | ||
88 | +++ b/libmysql/CMakeLists.txt | ||
89 | @@ -180,6 +180,12 @@ IF(MSVC) | ||
90 | INSTALL_DEBUG_TARGET(mysqlclient DESTINATION ${INSTALL_LIBDIR}/debug) | ||
91 | ENDIF() | ||
92 | |||
93 | +MACRO(GET_TARGET_NAME target out_name) | ||
94 | + GET_TARGET_PROPERTY(location ${target} LOCATION) | ||
95 | + GET_FILENAME_COMPONENT(name ${location} NAME) | ||
96 | + SET(${out_name} ${name}) | ||
97 | +ENDMACRO() | ||
98 | + | ||
99 | IF(UNIX) | ||
100 | MACRO(GET_VERSIONED_LIBNAME LIBNAME EXTENSION VERSION OUTNAME) | ||
101 | SET(DOT_VERSION ".${VERSION}") | ||
102 | @@ -192,7 +198,13 @@ IF(UNIX) | ||
103 | SET(${OUTNAME} ${LIBNAME}${EXTENSION}${DOT_VERSION}) | ||
104 | ENDIF() | ||
105 | ENDMACRO() | ||
106 | - INSTALL_SYMLINK(${CMAKE_STATIC_LIBRARY_PREFIX}mysqlclient_r.a mysqlclient ${INSTALL_LIBDIR} Development) | ||
107 | +ENDIF() | ||
108 | + | ||
109 | +IF(UNIX) | ||
110 | + GET_TARGET_NAME(mysqlclient lib_name) | ||
111 | + INSTALL_SYMLINK(mysqlclient | ||
112 | + ${lib_name} ${CMAKE_STATIC_LIBRARY_PREFIX}mysqlclient_r.a | ||
113 | + ${INSTALL_LIBDIR} Development) | ||
114 | ENDIF() | ||
115 | |||
116 | IF(NOT DISABLE_SHARED) | ||
117 | @@ -205,10 +217,9 @@ IF(NOT DISABLE_SHARED) | ||
118 | # libtool compatability | ||
119 | IF(CMAKE_SYSTEM_NAME MATCHES "FreeBSD" OR APPLE) | ||
120 | SET(OS_SHARED_LIB_VERSION "${SHARED_LIB_MAJOR_VERSION}") | ||
121 | - ELSEIF(CMAKE_SYSTEM_NAME MATCHES "HP-UX") | ||
122 | - SET(OS_SHARED_LIB_VERSION "${SHARED_LIB_MAJOR_VERSION}.0") | ||
123 | ELSE() | ||
124 | - SET(OS_SHARED_LIB_VERSION "${SHARED_LIB_MAJOR_VERSION}.0.0") | ||
125 | + SET(OS_SHARED_LIB_VERSION | ||
126 | + "${SHARED_LIB_MAJOR_VERSION}.${SHARED_LIB_MINOR_VERSION}.0") | ||
127 | ENDIF() | ||
128 | # Name of shared library is mysqlclient on Unix | ||
129 | SET_TARGET_PROPERTIES(libmysql PROPERTIES | ||
130 | @@ -239,8 +250,13 @@ IF(NOT DISABLE_SHARED) | ||
131 | "${CMAKE_SHARED_LIBRARY_SUFFIX}" | ||
132 | "" | ||
133 | linkname) | ||
134 | - INSTALL_SYMLINK(${linkname} libmysql ${INSTALL_LIBDIR} SharedLibraries) | ||
135 | - SET(OS_SHARED_LIB_SYMLINKS "${SHARED_LIB_MAJOR_VERSION}" "${OS_SHARED_LIB_VERSION}") | ||
136 | + GET_TARGET_NAME(libmysql lib_name) | ||
137 | + GET_FILENAME_COMPONENT(lib_name_we ${lib_name} NAME_WE) | ||
138 | + INSTALL_SYMLINK(libmysql | ||
139 | + ${lib_name} ${linkname} | ||
140 | + ${INSTALL_LIBDIR} SharedLibraries) | ||
141 | + SET(OS_SHARED_LIB_SYMLINKS | ||
142 | + "${SHARED_LIB_MAJOR_VERSION}" "${OS_SHARED_LIB_VERSION}") | ||
143 | LIST(REMOVE_DUPLICATES OS_SHARED_LIB_SYMLINKS) | ||
144 | FOREACH(ver ${OS_SHARED_LIB_SYMLINKS}) | ||
145 | GET_VERSIONED_LIBNAME( | ||
146 | @@ -248,7 +264,11 @@ IF(NOT DISABLE_SHARED) | ||
147 | "${CMAKE_SHARED_LIBRARY_SUFFIX}" | ||
148 | "${ver}" | ||
149 | linkname) | ||
150 | - INSTALL_SYMLINK(${linkname} libmysql ${INSTALL_LIBDIR} SharedLibraries) | ||
151 | + GET_VERSIONED_LIBNAME( | ||
152 | + ${lib_name_we} "${CMAKE_SHARED_LIBRARY_SUFFIX}" "${ver}" lib_name_ver) | ||
153 | + INSTALL_SYMLINK(libmysql | ||
154 | + ${lib_name_ver} ${linkname} | ||
155 | + ${INSTALL_LIBDIR} SharedLibraries) | ||
156 | ENDFOREACH() | ||
157 | ENDIF() | ||
158 | ENDIF() | ||
159 | -- | ||
160 | 2.0.3 | ||
161 | |||
diff --git a/meta-oe/recipes-support/mysql/mariadb/my.cnf b/meta-oe/recipes-support/mysql/mariadb/my.cnf new file mode 100644 index 000000000..f2c9b9036 --- /dev/null +++ b/meta-oe/recipes-support/mysql/mariadb/my.cnf | |||
@@ -0,0 +1,22 @@ | |||
1 | [client] | ||
2 | #password = password | ||
3 | port = 3306 | ||
4 | socket = /tmp/mysql.sock | ||
5 | |||
6 | [mysqld_safe] | ||
7 | err-log = /var/log/mysql.err | ||
8 | |||
9 | [mysqld] | ||
10 | user = mysql | ||
11 | port = 3306 | ||
12 | socket = /tmp/mysql.sock | ||
13 | pid-file = /var/lib/mysql/mysqld.pid | ||
14 | log-error = /var/log/mysqld.err | ||
15 | basedir = /usr | ||
16 | datadir = /var/mysql | ||
17 | skip-external-locking | ||
18 | skip-networking | ||
19 | ignore-builtin-innodb | ||
20 | default-storage-engine = myisam | ||
21 | bind-address = localhost | ||
22 | |||
diff --git a/meta-oe/recipes-support/mysql/mariadb/mysqld.service b/meta-oe/recipes-support/mysql/mariadb/mysqld.service new file mode 100644 index 000000000..18ad8d54d --- /dev/null +++ b/meta-oe/recipes-support/mysql/mariadb/mysqld.service | |||
@@ -0,0 +1,15 @@ | |||
1 | [Unit] | ||
2 | Description=MariaDB database server | ||
3 | After=syslog.target | ||
4 | After=network.target | ||
5 | |||
6 | [Service] | ||
7 | Type=simple | ||
8 | User=mysql | ||
9 | Group=mysql | ||
10 | ExecStart=@BINDIR@/mysqld_safe --basedir=@PREFIX@ | ||
11 | TimeoutSec=300 | ||
12 | PrivateTmp=true | ||
13 | |||
14 | [Install] | ||
15 | WantedBy=multi-user.target | ||
diff --git a/meta-oe/recipes-support/mysql/mariadb/remove-bad-path.patch b/meta-oe/recipes-support/mysql/mariadb/remove-bad-path.patch new file mode 100644 index 000000000..ff26b0b86 --- /dev/null +++ b/meta-oe/recipes-support/mysql/mariadb/remove-bad-path.patch | |||
@@ -0,0 +1,18 @@ | |||
1 | Remove host path from include directories | ||
2 | |||
3 | Naturally this breaks cross-compilation if present. | ||
4 | |||
5 | Upstream-Status: Pending | ||
6 | |||
7 | Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com> | ||
8 | |||
9 | --- mariadb-5.5.38/storage/tokudb/ft-index/CMakeLists.txt 2014-07-17 14:37:04.529327998 +0100 | ||
10 | +++ mariadb-5.5.38/storage/tokudb/ft-index/CMakeLists.txt 2014-07-17 14:43:56.991337895 +0100 | ||
11 | @@ -39,7 +39,6 @@ | ||
12 | |||
13 | ## default includes and libraries | ||
14 | include_directories(SYSTEM | ||
15 | - /usr/local/include | ||
16 | ${ZLIB_INCLUDE_DIRS} | ||
17 | ) | ||
18 | |||
diff --git a/meta-oe/recipes-support/mysql/mariadb_5.5.39.bb b/meta-oe/recipes-support/mysql/mariadb_5.5.39.bb new file mode 100644 index 000000000..fee5b6297 --- /dev/null +++ b/meta-oe/recipes-support/mysql/mariadb_5.5.39.bb | |||
@@ -0,0 +1,28 @@ | |||
1 | require ${PN}_${PV}.inc | ||
2 | |||
3 | EXTRA_OECMAKE += "-DSTACK_DIRECTION=-1" | ||
4 | |||
5 | DEPENDS += "mariadb-native ncurses zlib readline libaio" | ||
6 | |||
7 | PROVIDES += "mysql5" | ||
8 | |||
9 | RPROVIDES_${PN} += "mysql5" | ||
10 | RREPLACES_${PN} += "mysql5" | ||
11 | RCONFLICTS_${PN} += "mysql5" | ||
12 | |||
13 | RPROVIDES_${PN}-dbg += "mysql5-dbg" | ||
14 | RREPLACES_${PN}-dbg += "mysql5-dbg" | ||
15 | RCONFLICTS_${PN}-dbg += "mysql5-dbg" | ||
16 | |||
17 | RPROVIDES_${PN}-leftovers += "mysql5-leftovers" | ||
18 | RREPLACES_${PN}-leftovers += "mysql5-leftovers" | ||
19 | RCONFLICTS_${PN}-leftovers += "mysql5-leftovers" | ||
20 | |||
21 | RPROVIDES_${PN}-client += "mysql5-client" | ||
22 | RREPLACES_${PN}-client += "mysql5-client" | ||
23 | RCONFLICTS_${PN}-client += "mysql5-client" | ||
24 | |||
25 | RPROVIDES_${PN}-server += "mysql5-server" | ||
26 | RREPLACES_${PN}-server += "mysql5-server" | ||
27 | RCONFLICTS_${PN}-server += "mysql5-server" | ||
28 | |||
diff --git a/meta-oe/recipes-support/mysql/mariadb_5.5.39.inc b/meta-oe/recipes-support/mysql/mariadb_5.5.39.inc new file mode 100644 index 000000000..ae2e92b5d --- /dev/null +++ b/meta-oe/recipes-support/mysql/mariadb_5.5.39.inc | |||
@@ -0,0 +1,252 @@ | |||
1 | SUMMARY = "A robust, scalable, and reliable SQL server" | ||
2 | HOMEPAGE = "http://mariadb.org" | ||
3 | SECTION = "libs" | ||
4 | LICENSE = "GPLv2" | ||
5 | LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe" | ||
6 | |||
7 | SRC_URI = "http://mirror.stshosting.co.uk/mariadb/mariadb-${PV}/source/mariadb-${PV}.tar.gz \ | ||
8 | file://fix-cmake-module-path.patch \ | ||
9 | file://remove-bad-path.patch \ | ||
10 | file://fix-mysqlclient-r-version.patch \ | ||
11 | file://my.cnf \ | ||
12 | file://mysqld.service \ | ||
13 | " | ||
14 | |||
15 | SRC_URI[md5sum] = "917a807d8cf2c8ef9deedd2a89b6decd" | ||
16 | SRC_URI[sha256sum] = "cb850865ab55ce5f01c99a612cc75b76ead5d75adfa75a606f453d32f9089d14" | ||
17 | |||
18 | S = "${WORKDIR}/mariadb-${PV}" | ||
19 | |||
20 | BINCONFIG_GLOB = "mysql_config" | ||
21 | |||
22 | inherit cmake gettext binconfig update-rc.d useradd systemd | ||
23 | |||
24 | INITSCRIPT_PACKAGES = "${PN}-server" | ||
25 | INITSCRIPT_NAME = "mysqld" | ||
26 | INITSCRIPT_PARAMS = "start 45 5 . stop 45 0 6 1 ." | ||
27 | |||
28 | USERADD_PACKAGES = "${PN}-server" | ||
29 | USERADD_PARAM_${PN}-server = "--system --home-dir /var/mysql -g mysql --shell /bin/false mysql" | ||
30 | GROUPADD_PARAM_${PN}-server = "--system mysql" | ||
31 | |||
32 | SYSTEMD_PACKAGES = "${PN}-server" | ||
33 | SYSTEMD_SERVICE_${PN}-server = "mysqld.service" | ||
34 | SYSTEMD_AUTO_ENABLE_mariadb-server = "disable" | ||
35 | |||
36 | EXTRA_OEMAKE = "'GEN_LEX_HASH=${STAGING_BINDIR_NATIVE}/gen_lex_hash'" | ||
37 | |||
38 | PACKAGECONFIG ??= "${@bb.utils.contains('DISTRO_FEATURES', 'pam', 'pam', '', d)}" | ||
39 | PACKAGECONFIG_class-native = "" | ||
40 | PACKAGECONFIG[pam] = ",-DWITHOUT_AUTH_PAM=TRUE,libpam" | ||
41 | |||
42 | # MariaDB doesn't link properly with gold | ||
43 | # https://mariadb.atlassian.net/browse/MDEV-5982 | ||
44 | TARGET_CFLAGS += "-fuse-ld=bfd" | ||
45 | |||
46 | EXTRA_OECMAKE = "-DWITH_EMBEDDED_SERVER=ON \ | ||
47 | -DWITH_JEMALLOC=no \ | ||
48 | -DWITHOUT_TOKUDB=TRUE \ | ||
49 | -DCMAKE_DISABLE_FIND_PACKAGE_Boost=TRUE \ | ||
50 | -DGROFF=FALSE \ | ||
51 | -DNROFF=FALSE \ | ||
52 | -DENABLE_DTRACE=FALSE \ | ||
53 | -DWITH_PIC=ON \ | ||
54 | -DINSTALL_LAYOUT=RPM \ | ||
55 | -DINSTALL_DOCDIR:PATH=${datadir}/doc/${BPN} \ | ||
56 | -DINSTALL_LIBDIR:PATH=${baselib} \ | ||
57 | -DINSTALL_PLUGINDIR:PATH=${baselib}/plugin \ | ||
58 | -DINSTALL_SYSCONFDIR:PATH=${sysconfdir} \ | ||
59 | -DMYSQL_DATADIR:PATH=/var/mysql \ | ||
60 | -DCAT_EXECUTABLE=`which cat` \ | ||
61 | -DCMAKE_AR:FILEPATH=${AR}" | ||
62 | |||
63 | do_configure_append() { | ||
64 | # handle distros with different values of ${libexecdir} | ||
65 | libexecdir2=`echo ${libexecdir} | sed -e 's+/usr/++g'` | ||
66 | sed -i -e "s:/libexec:/$libexecdir2:g" ${S}/scripts/mysql_install_db.sh | ||
67 | sed -i -e "s:mysqld libexec:mysqld $libexecdir2:g" ${S}/scripts/mysql_install_db.sh | ||
68 | sed -i -e "s:/libexec:/$libexecdir2:g" ${S}/scripts/mysqld_safe.sh | ||
69 | } | ||
70 | |||
71 | do_generate_toolchain_file_append_class-native () { | ||
72 | # If these are set cmake will assume we're cross-compiling, which will | ||
73 | # result in certain things we want being disabled | ||
74 | sed -i "/set( CMAKE_SYSTEM_NAME/d" ${WORKDIR}/toolchain.cmake | ||
75 | sed -i "/set( CMAKE_SYSTEM_PROCESSOR/d" ${WORKDIR}/toolchain.cmake | ||
76 | } | ||
77 | |||
78 | do_compile_prepend_class-target () { | ||
79 | # These need to be in-tree or make will think they need to be built, | ||
80 | # and since we're cross-compiling that is disabled | ||
81 | cp ${STAGING_BINDIR_NATIVE}/comp_err ${S}/extra | ||
82 | cp ${STAGING_BINDIR_NATIVE}/comp_sql ${S}/scripts | ||
83 | } | ||
84 | |||
85 | SYSROOT_PREPROCESS_FUNCS += "mariadb_sysroot_preprocess" | ||
86 | |||
87 | # We need to append this so it runs *after* binconfig's preprocess function | ||
88 | # | ||
89 | # We really don't care exactly what the directories were set to originally. | ||
90 | # plugindir is not fixed, but we don't create any plugins. | ||
91 | # | ||
92 | mariadb_sysroot_preprocess () { | ||
93 | sed -i -es,^pkgincludedir=.*,pkgincludedir=\'${STAGING_INCDIR}/mysql\', ${SYSROOT_DESTDIR}${bindir_crossscripts}/mysql_config | ||
94 | sed -i -es,^pkglibdir=.*,pkglibdir=\'${STAGING_LIBDIR}\', ${SYSROOT_DESTDIR}${bindir_crossscripts}/mysql_config | ||
95 | } | ||
96 | |||
97 | do_install() { | ||
98 | oe_runmake 'DESTDIR=${D}' install | ||
99 | |||
100 | install -d ${D}/${sysconfdir}/init.d | ||
101 | install -m 0644 ${WORKDIR}/my.cnf ${D}/${sysconfdir}/ | ||
102 | mv ${D}/${sysconfdir}/init.d/mysql ${D}/${sysconfdir}/init.d/mysqld | ||
103 | |||
104 | install -d ${D}${systemd_unitdir}/system | ||
105 | install -m 0644 ${WORKDIR}/mysqld.service ${D}${systemd_unitdir}/system | ||
106 | sed -i -e 's,@BINDIR@,${bindir},g' -e 's,@PREFIX@,${prefix},g' ${D}${systemd_unitdir}/system/mysqld.service | ||
107 | |||
108 | if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then | ||
109 | install -d ${D}${sysconfdir}/tmpfiles.d | ||
110 | echo "f /var/log/mysqld.err 0640 mysql mysql -" \ | ||
111 | > ${D}${sysconfdir}/tmpfiles.d/99-mysqld.conf | ||
112 | fi | ||
113 | } | ||
114 | |||
115 | pkg_postinst_${PN}-server () { | ||
116 | if [ "x$D" != "x" ]; then | ||
117 | exit 1 | ||
118 | fi | ||
119 | |||
120 | #Install the database | ||
121 | test -d /usr/bin || mkdir -p /usr/bin | ||
122 | test -e /usr/bin/hostname || ln -s /bin/hostname /usr/bin/hostname | ||
123 | mkdir /var/lib/mysql | ||
124 | chown mysql.mysql /var/lib/mysql | ||
125 | |||
126 | mysql_install_db --basedir=${prefix} --user=mysql | ||
127 | |||
128 | } | ||
129 | |||
130 | PACKAGES = "${PN}-dbg ${PN} \ | ||
131 | libmysqlclient-r libmysqlclient-r-dev libmysqlclient-r-staticdev libmysqlclient-r-dbg \ | ||
132 | libmysqlclient libmysqlclient-dev libmysqlclient-staticdev libmysqlclient-dbg \ | ||
133 | libmysqld libmysqld-dev ${PN}-client ${PN}-server ${PN}-leftovers" | ||
134 | CONFFILES_${PN}-server += "${sysconfdir}/my.cnf" | ||
135 | |||
136 | FILES_${PN} = " " | ||
137 | RDEPENDS_${PN} = "${PN}-client ${PN}-server" | ||
138 | ALLOW_EMPTY_${PN} = "1" | ||
139 | |||
140 | RDEPENDS_${PN}-client = "perl perl-module-getopt-long perl-module-file-temp \ | ||
141 | perl-module-fcntl perl-module-sys-hostname perl-module-ipc-open3 \ | ||
142 | perl-module-exporter" | ||
143 | RDEPENDS_${PN}-server = "perl perl-module-getopt-long perl-module-data-dumper \ | ||
144 | perl-module-file-basename perl-module-file-path perl-module-sys-hostname \ | ||
145 | perl-module-file-copy perl-module-file-temp perl-module-posix" | ||
146 | RDEPENDS_${PN}-leftovers = "perl perl-module-cwd perl-module-benchmark perl-module-getopt-long \ | ||
147 | perl-module-posix perl-module-data-dumper perl-module-sigtrap perl-module-threads \ | ||
148 | perl-module-threads-shared perl-module-io-socket perl-module-sys-hostname perl-module-file-copy \ | ||
149 | perl-module-file-spec perl-module-file-find perl-module-file-basename perl-module-file-path \ | ||
150 | perl-module-constant perl-module-lib perl-module-file-temp perl-module-file-spec-functions \ | ||
151 | perl-module-io-socket-inet perl-module-io-select" | ||
152 | |||
153 | FILES_libmysqlclient = "\ | ||
154 | ${libdir}/libmysqlclient.so.*" | ||
155 | FILES_libmysqlclient-dev = " \ | ||
156 | ${includedir}/mysql/ \ | ||
157 | ${libdir}/libmysqlclient.so \ | ||
158 | ${sysconfdir}/aclocal \ | ||
159 | ${bindir}/mysql_config" | ||
160 | FILES_libmysqlclient-staticdev = "\ | ||
161 | ${libdir}/*.a" | ||
162 | FILES_libmysqlclient-dbg = "${libdir}/plugin/.debug/ \ | ||
163 | ${datadir}/mysql-test/lib/My/SafeProcess/.debug/my_safe_process" | ||
164 | |||
165 | # Avoid warnings about ha_xtradb.so.0.0.0 and ha_innodb_plugin.so.0.0.0 | ||
166 | # which are intentionally non-PIC on 32-bit x86 (see e.g. | ||
167 | # storage/xtradb/plug.in in the source) | ||
168 | INSANE_SKIP_libmysqlclient_append_i586 = " textrel" | ||
169 | |||
170 | FILES_libmysqlclient-r = "${libdir}/libmysqlclient_r.so.*" | ||
171 | FILES_libmysqlclient-r-dev = "\ | ||
172 | ${libdir}/libmysqlclient_r.so" | ||
173 | FILES_libmysqlclient-r-staticdev = "${libdir}/libmysqlclient_r.a" | ||
174 | FILES_libmysqlclient-r-dbg = "${libdir}/plugin/.debuglibmysqlclient_r.so.*" | ||
175 | |||
176 | FILES_libmysqld = "\ | ||
177 | ${libdir}/libmysqld.so.*" | ||
178 | FILES_libmysqld-dev = "\ | ||
179 | ${libdir}/libmysqld.so" | ||
180 | |||
181 | FILES_${PN}-client = "\ | ||
182 | ${bindir}/myisam_ftdump \ | ||
183 | ${bindir}/mysql \ | ||
184 | ${bindir}/mysql_client_test \ | ||
185 | ${bindir}/mysql_client_test_embedded \ | ||
186 | ${bindir}/mysql_find_rows \ | ||
187 | ${bindir}/mysql_fix_extensions \ | ||
188 | ${bindir}/mysql_waitpid \ | ||
189 | ${bindir}/mysqlaccess \ | ||
190 | ${bindir}/mysqladmin \ | ||
191 | ${bindir}/mysqlbug \ | ||
192 | ${bindir}/mysqlcheck \ | ||
193 | ${bindir}/mysqldump \ | ||
194 | ${bindir}/mysqldumpslow \ | ||
195 | ${bindir}/mysqlimport \ | ||
196 | ${bindir}/mysqlshow \ | ||
197 | ${bindir}/mysqlslap \ | ||
198 | ${bindir}/mysqltest_embedded \ | ||
199 | ${libexecdir}/mysqlmanager" | ||
200 | |||
201 | FILES_${PN}-server = "\ | ||
202 | ${bindir}/comp_err \ | ||
203 | ${bindir}/isamchk \ | ||
204 | ${bindir}/isamlog \ | ||
205 | ${bindir}/msql2mysql \ | ||
206 | ${bindir}/my_print_defaults \ | ||
207 | ${bindir}/myisamchk \ | ||
208 | ${bindir}/myisamlog \ | ||
209 | ${bindir}/myisampack \ | ||
210 | ${bindir}/mysql_convert_table_format \ | ||
211 | ${bindir}/mysql_fix_privilege_tables \ | ||
212 | ${bindir}/mysql_install_db \ | ||
213 | ${bindir}/mysql_secure_installation \ | ||
214 | ${bindir}/mysql_setpermission \ | ||
215 | ${bindir}/mysql_tzinfo_to_sql \ | ||
216 | ${bindir}/mysql_upgrade \ | ||
217 | ${bindir}/mysql_plugin \ | ||
218 | ${bindir}/mysql_zap \ | ||
219 | ${bindir}/mysqlbinlog \ | ||
220 | ${bindir}/mysqld_multi \ | ||
221 | ${bindir}/mysqld_safe \ | ||
222 | ${bindir}/mysqlhotcopy \ | ||
223 | ${bindir}/mysqltest \ | ||
224 | ${bindir}/ndb_delete_all \ | ||
225 | ${bindir}/ndb_desc \ | ||
226 | ${bindir}/ndb_drop_index \ | ||
227 | ${bindir}/ndb_drop_table \ | ||
228 | ${bindir}/ndb_mgm \ | ||
229 | ${bindir}/ndb_restore \ | ||
230 | ${bindir}/ndb_select_all \ | ||
231 | ${bindir}/ndb_select_count \ | ||
232 | ${bindir}/ndb_show_tables \ | ||
233 | ${bindir}/ndb_waiter \ | ||
234 | ${bindir}/pack_isam \ | ||
235 | ${bindir}/perror \ | ||
236 | ${bindir}/replace \ | ||
237 | ${bindir}/resolve_stack_dump \ | ||
238 | ${bindir}/resolveip \ | ||
239 | ${libexecdir}/mysqld \ | ||
240 | ${sbindir}/mysqld \ | ||
241 | ${sbindir}/ndb_cpcd \ | ||
242 | ${sbindir}/ndbd \ | ||
243 | ${sbindir}/ndb_mgmd \ | ||
244 | ${libdir}/plugin/*.so \ | ||
245 | ${datadir}/mysql/ \ | ||
246 | ${localstatedir}/mysql/ \ | ||
247 | ${sysconfdir}/init.d \ | ||
248 | ${sysconfdir}/my.cnf \ | ||
249 | ${sysconfdir}/tmpfiles.d" | ||
250 | |||
251 | DESCRIPTION_${PN}-leftovers = "unpackaged and probably unneeded files for ${PN}" | ||
252 | FILES_${PN}-leftovers = "/" | ||
diff --git a/meta-oe/recipes-support/mysql/mysql-python/remove-distribute.patch b/meta-oe/recipes-support/mysql/mysql-python/remove-distribute.patch new file mode 100644 index 000000000..0ce750d63 --- /dev/null +++ b/meta-oe/recipes-support/mysql/mysql-python/remove-distribute.patch | |||
@@ -0,0 +1,17 @@ | |||
1 | Upstream-Status: Innapropriate | ||
2 | |||
3 | Index: MySQL-python-1.2.4/setup.py | ||
4 | =================================================================== | ||
5 | --- MySQL-python-1.2.4.orig/setup.py | ||
6 | +++ MySQL-python-1.2.4/setup.py | ||
7 | @@ -3,8 +3,8 @@ | ||
8 | import os | ||
9 | import sys | ||
10 | |||
11 | -from distribute_setup import use_setuptools | ||
12 | -use_setuptools() | ||
13 | +#from distribute_setup import use_setuptools | ||
14 | +#use_setuptools() | ||
15 | from setuptools import setup, Extension | ||
16 | |||
17 | if not hasattr(sys, "hexversion") or sys.hexversion < 0x02040000: | ||
diff --git a/meta-oe/recipes-support/mysql/mysql-python_1.2.4.bb b/meta-oe/recipes-support/mysql/mysql-python_1.2.4.bb new file mode 100644 index 000000000..6fc974ecd --- /dev/null +++ b/meta-oe/recipes-support/mysql/mysql-python_1.2.4.bb | |||
@@ -0,0 +1,19 @@ | |||
1 | SUMMARY = "Python interface to MySQL" | ||
2 | HOMEPAGE = "https://github.com/farcepest/MySQLdb1" | ||
3 | SECTION = "devel/python" | ||
4 | LICENSE = "GPLv2" | ||
5 | LIC_FILES_CHKSUM = "file://GPL-2.0;md5=b234ee4d69f5fce4486a80fdaf4a4263" | ||
6 | |||
7 | DEPENDS = "mysql5" | ||
8 | |||
9 | SRCNAME = "MySQL-python" | ||
10 | |||
11 | SRC_URI = "https://pypi.python.org/packages/source/M/${SRCNAME}/${SRCNAME}-${PV}.zip \ | ||
12 | file://remove-distribute.patch" | ||
13 | |||
14 | SRC_URI[md5sum] = "ddf2386daf10a97af115ffad2ed4a9a0" | ||
15 | SRC_URI[sha256sum] = "e405f9d6be33923d428acaa4db4f4470427f1d15ea0d2d82a933449ace26bbd9" | ||
16 | |||
17 | S = "${WORKDIR}/${SRCNAME}-${PV}" | ||
18 | |||
19 | inherit setuptools | ||
diff --git a/meta-oe/recipes-support/nano/nano-2.2.5/ncursesw.includedir.patch b/meta-oe/recipes-support/nano/nano-2.2.5/ncursesw.includedir.patch new file mode 100644 index 000000000..0f224be39 --- /dev/null +++ b/meta-oe/recipes-support/nano/nano-2.2.5/ncursesw.includedir.patch | |||
@@ -0,0 +1,12 @@ | |||
1 | diff -uNr nano-2.2.5.orig//configure.ac nano-2.2.5/configure.ac | ||
2 | --- nano-2.2.5.orig//configure.ac 2010-08-06 03:00:51.000000000 +0200 | ||
3 | +++ nano-2.2.5/configure.ac 2010-08-10 14:11:52.000000000 +0200 | ||
4 | @@ -442,7 +442,7 @@ | ||
5 | AC_CHECK_HEADERS(ncurses.h) | ||
6 | |||
7 | if test x$enable_utf8 != xno; then | ||
8 | - AC_CHECK_LIB(ncursesw, get_wch, [CURSES_LIB="-lncursesw" CPPFLAGS="-I/usr/include/ncursesw $CPPFLAGS" CURSES_LIB_NAME=ncursesw CURSES_LIB_WIDE=yes]) | ||
9 | + AC_CHECK_LIB(ncursesw, get_wch, [CURSES_LIB="-lncursesw" CURSES_LIB_NAME=ncursesw CURSES_LIB_WIDE=yes]) | ||
10 | fi | ||
11 | |||
12 | if eval "test x$CURSES_LIB_NAME = x"; then | ||
diff --git a/meta-oe/recipes-support/nano/nano.inc b/meta-oe/recipes-support/nano/nano.inc new file mode 100644 index 000000000..b73aae00f --- /dev/null +++ b/meta-oe/recipes-support/nano/nano.inc | |||
@@ -0,0 +1,19 @@ | |||
1 | DESCRIPTION = "GNU nano (Nano's ANOther editor, or \ | ||
2 | Not ANOther editor) is an enhanced clone of the \ | ||
3 | Pico text editor." | ||
4 | HOMEPAGE = "http://www.nano-editor.org/" | ||
5 | LICENSE = "GPLv2" | ||
6 | LIC_FILES_CHKSUM = "file://COPYING;md5=f27defe1e96c2e1ecd4e0c9be8967949" | ||
7 | SECTION = "console/utils" | ||
8 | DEPENDS = "ncurses" | ||
9 | RDEPENDS_${PN} = "ncurses-terminfo" | ||
10 | |||
11 | INC_PR = "r3" | ||
12 | |||
13 | PV_MAJOR = "${@d.getVar('PV',1).split('.')[0]}.${@d.getVar('PV',1).split('.')[1]}" | ||
14 | |||
15 | SRC_URI = "http://www.nano-editor.org/dist/v${PV_MAJOR}/nano-${PV}.tar.gz" | ||
16 | |||
17 | inherit autotools gettext | ||
18 | |||
19 | PACKAGECONFIG[tiny] = "--enable-tiny,--enable-all," | ||
diff --git a/meta-oe/recipes-support/nano/nano_2.2.5.bb b/meta-oe/recipes-support/nano/nano_2.2.5.bb new file mode 100644 index 000000000..e656f46df --- /dev/null +++ b/meta-oe/recipes-support/nano/nano_2.2.5.bb | |||
@@ -0,0 +1,8 @@ | |||
1 | include nano.inc | ||
2 | |||
3 | PR = "${INC_PR}.0" | ||
4 | |||
5 | SRC_URI += "file://ncursesw.includedir.patch" | ||
6 | |||
7 | SRC_URI[md5sum] = "77a10a49589f975ce98350a4527a2ebf" | ||
8 | SRC_URI[sha256sum] = "9015945d1badabbada203b37c4779d3dd1066234235c714deb439989c5cd7d9e" | ||
diff --git a/meta-oe/recipes-support/nmon/nmon_13g.bb b/meta-oe/recipes-support/nmon/nmon_13g.bb new file mode 100644 index 000000000..1f7518972 --- /dev/null +++ b/meta-oe/recipes-support/nmon/nmon_13g.bb | |||
@@ -0,0 +1,29 @@ | |||
1 | SUMMARY = "nmon performance monitor" | ||
2 | HOMEPAGE = "http://nmon.sf.net" | ||
3 | SECTION = "console/utils" | ||
4 | LICENSE = "GPLv3" | ||
5 | LIC_FILES_CHKSUM = "file://${WORKDIR}/Documentation.txt;md5=dbb13658cf55d687c4f2ff771a696d4a" | ||
6 | DEPENDS = "ncurses" | ||
7 | PR = "r2" | ||
8 | |||
9 | SRC_URI = "${SOURCEFORGE_MIRROR}/nmon/lmon13g.c;name=lmon \ | ||
10 | ${SOURCEFORGE_MIRROR}/nmon/Documentation.txt;name=doc \ | ||
11 | " | ||
12 | |||
13 | SRC_URI[lmon.md5sum] = "b1b8e6c0123ad232394991f2d4f40494" | ||
14 | SRC_URI[lmon.sha256sum] = "456ab2a342b31d1a352d0d940af5962fa65a12ae8757ff73e6e73210832ae8b5" | ||
15 | SRC_URI[doc.md5sum] = "dbb13658cf55d687c4f2ff771a696d4a" | ||
16 | SRC_URI[doc.sha256sum] = "1f7f83afe62a7210be5e83cd24157adb854c14599efe0b377a7ecca933869278" | ||
17 | |||
18 | CFLAGS += "-D JFS -D GETUSER -Wall -D LARGEMEM" | ||
19 | LDFLAGS += "-ltinfo -lncursesw" | ||
20 | ASNEEDED_pn-nmon = "" | ||
21 | |||
22 | do_compile() { | ||
23 | ${CC} ${CFLAGS} ${LDFLAGS} ${WORKDIR}/lmon13g.c -o nmon | ||
24 | } | ||
25 | |||
26 | do_install() { | ||
27 | install -d ${D}${bindir} | ||
28 | install -m 0755 nmon ${D}${bindir} | ||
29 | } | ||
diff --git a/meta-oe/recipes-support/nonworking/fftw/benchfft_3.1.bb b/meta-oe/recipes-support/nonworking/fftw/benchfft_3.1.bb new file mode 100644 index 000000000..feb3c3c25 --- /dev/null +++ b/meta-oe/recipes-support/nonworking/fftw/benchfft_3.1.bb | |||
@@ -0,0 +1,19 @@ | |||
1 | SUMMARY = "FFTW benchmarks" | ||
2 | SECTION = "libs" | ||
3 | LICENSE = "GPLv2" | ||
4 | |||
5 | # single precision fftw is called fftwf | ||
6 | DEPENDS = "virtual/fftw" | ||
7 | |||
8 | SRC_URI = "http://www.fftw.org/benchfft/benchfft-${PV}.tar.gz" | ||
9 | |||
10 | EXTRA_OECONF = "--disable-fortran --enable-single --enable-shared" | ||
11 | |||
12 | inherit autotools pkgconfig | ||
13 | |||
14 | do_compile_prepend() { | ||
15 | sed -i -e 's:all-recursive:$(RECURSIVE_TARGETS):g' ${S}/Makefile | ||
16 | } | ||
17 | |||
18 | SRC_URI[md5sum] = "9356e5e9dcb3f1481977009720a2ccf8" | ||
19 | SRC_URI[sha256sum] = "1b4a5b5e48ad5e61a21586b7b59d5c0a88691a981e73e2c6dc5868197461791b" | ||
diff --git a/meta-oe/recipes-support/nonworking/freerdp/freerdp.inc b/meta-oe/recipes-support/nonworking/freerdp/freerdp.inc new file mode 100644 index 000000000..34dac4b7e --- /dev/null +++ b/meta-oe/recipes-support/nonworking/freerdp/freerdp.inc | |||
@@ -0,0 +1,51 @@ | |||
1 | # Copyright (C) 2010-2012 O.S. Systems Software Ltda. All Rights Reserved | ||
2 | # Released under the MIT license | ||
3 | |||
4 | DESCRIPTION = "FreeRDP RDP client" | ||
5 | HOMEPAGE = "http://www.freerdp.com" | ||
6 | DEPENDS = "virtual/libx11 openssl libxcursor libxv cups alsa-lib pulseaudio pcsc-lite libxkbfile libxinerama" | ||
7 | SECTION = "x11/network" | ||
8 | LICENSE = "Apache-2.0" | ||
9 | LIC_FILES_CHKSUM = "file://LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57" | ||
10 | |||
11 | inherit pkgconfig cmake | ||
12 | |||
13 | EXTRA_OECMAKE += "-DWITH_PULSEAUDIO=ON \ | ||
14 | -DWITH_PCSC=ON \ | ||
15 | -DWITH_CUPS=ON \ | ||
16 | -DWITH_FFMPEG=OFF \ | ||
17 | -DWITH_CUNIT=OFF \ | ||
18 | -DWITH_X11=ON \ | ||
19 | -DWITH_XKBFILE=ON \ | ||
20 | -DWITH_XINERAMA=ON" | ||
21 | |||
22 | PACKAGES =+ "libfreerdp" | ||
23 | |||
24 | LEAD_SONAME = "libfreerdp.so" | ||
25 | FILES_libfreerdp = "${libdir}/lib*${SOLIBS}" | ||
26 | |||
27 | PACKAGES_DYNAMIC += "^libfreerdp-plugin-.*" | ||
28 | |||
29 | python populate_packages_prepend () { | ||
30 | freerdp_root = d.expand('${libdir}/freerdp') | ||
31 | |||
32 | do_split_packages(d, freerdp_root, '^(audin_.*)\.so$', | ||
33 | output_pattern='libfreerdp-plugin-%s', | ||
34 | description='FreeRDP plugin %s', | ||
35 | prepend=True, extra_depends='libfreerdp-plugin-audin') | ||
36 | |||
37 | do_split_packages(d, freerdp_root, '^(rdpsnd_.*)\.so$', | ||
38 | output_pattern='libfreerdp-plugin-%s', | ||
39 | description='FreeRDP plugin %s', | ||
40 | prepend=True, extra_depends='libfreerdp-plugin-rdpsnd') | ||
41 | |||
42 | do_split_packages(d, freerdp_root, '^(tsmf_.*)\.so$', | ||
43 | output_pattern='libfreerdp-plugin-%s', | ||
44 | description='FreeRDP plugin %s', | ||
45 | prepend=True, extra_depends='libfreerdp-plugin-tsmf') | ||
46 | |||
47 | do_split_packages(d, freerdp_root, '^([^-]*)\.so$', | ||
48 | output_pattern='libfreerdp-plugin-%s', | ||
49 | description='FreeRDP plugin %s', | ||
50 | prepend=True, extra_depends='') | ||
51 | } | ||
diff --git a/meta-oe/recipes-support/nonworking/freerdp/freerdp_git.bb b/meta-oe/recipes-support/nonworking/freerdp/freerdp_git.bb new file mode 100644 index 000000000..0e9bf065c --- /dev/null +++ b/meta-oe/recipes-support/nonworking/freerdp/freerdp_git.bb | |||
@@ -0,0 +1,16 @@ | |||
1 | # Copyright (C) 2010-2012, O.S. Systems Software Ltda. | ||
2 | # Released under the MIT license | ||
3 | |||
4 | include freerdp.inc | ||
5 | |||
6 | inherit gitpkgv | ||
7 | |||
8 | PV = "1.0.2+gitr${SRCPV}" | ||
9 | PKGV = "${GITPKGVTAG}" | ||
10 | |||
11 | EXTRA_OECMAKE += "-DWITH_MANPAGES=OFF" | ||
12 | |||
13 | SRCREV = "f311acaffb9190567e2b478a98d7cbfaf2709f6b" | ||
14 | SRC_URI = "git://github.com/FreeRDP/FreeRDP.git;branch=stable-1.0" | ||
15 | |||
16 | S = "${WORKDIR}/git" | ||
diff --git a/meta-oe/recipes-support/numactl/numactl/Fix-the-test-output-format.patch b/meta-oe/recipes-support/numactl/numactl/Fix-the-test-output-format.patch new file mode 100644 index 000000000..8c309a4b5 --- /dev/null +++ b/meta-oe/recipes-support/numactl/numactl/Fix-the-test-output-format.patch | |||
@@ -0,0 +1,59 @@ | |||
1 | [PATCH] Fix the test output format | ||
2 | |||
3 | Upstream-Status: Pending | ||
4 | |||
5 | Signed-off-by: Roy Li <rongqing.li@windriver.com> | ||
6 | --- | ||
7 | test/regress | 6 +++--- | ||
8 | test/regress2 | 9 ++++----- | ||
9 | 2 files changed, 7 insertions(+), 8 deletions(-) | ||
10 | |||
11 | diff --git a/test/regress b/test/regress | ||
12 | index 05eff5b..10d72f7 100755 | ||
13 | --- a/test/regress | ||
14 | +++ b/test/regress | ||
15 | @@ -73,6 +73,7 @@ probe_hardware() | ||
16 | if [ $numnodes -lt 2 ] ; then | ||
17 | echo "need at least two nodes with at least $NEEDPAGES each of" | ||
18 | echo "free memory for mempolicy regression tests" | ||
19 | + echo "FAIL: numa regress" | ||
20 | exit 1 | ||
21 | fi | ||
22 | } | ||
23 | @@ -206,10 +207,9 @@ main() | ||
24 | rm A B | ||
25 | |||
26 | if [ "$EXIT" = 0 ] ; then | ||
27 | - echo '========SUCCESS' | ||
28 | + echo 'PASS: numactl regress' | ||
29 | else | ||
30 | - echo '========FAILURE' | ||
31 | - exit 1 | ||
32 | + echo 'FAIL: numactl regress' | ||
33 | fi | ||
34 | } | ||
35 | |||
36 | diff --git a/test/regress2 b/test/regress2 | ||
37 | index 6a254fa..9c97943 100755 | ||
38 | --- a/test/regress2 | ||
39 | +++ b/test/regress2 | ||
40 | @@ -6,12 +6,11 @@ VALGRIND=${VALGRIND:-} | ||
41 | export LD_LIBRARY_PATH=`pwd`/.. | ||
42 | |||
43 | T() { | ||
44 | - echo "$@" | ||
45 | - if ! $VALGRIND "$@" ; then | ||
46 | - echo $1 FAILED!!!! | ||
47 | - exit 1 | ||
48 | + if ! $VALGRIND "$@" 2>&1 1>/dev/null; then | ||
49 | + echo "FAIL: $1" | ||
50 | + else | ||
51 | + echo "PASS: $1" | ||
52 | fi | ||
53 | - echo | ||
54 | } | ||
55 | |||
56 | # various tests | ||
57 | -- | ||
58 | 1.7.10.4 | ||
59 | |||
diff --git a/meta-oe/recipes-support/numactl/numactl/Makefile b/meta-oe/recipes-support/numactl/numactl/Makefile new file mode 100644 index 000000000..9a5134c3f --- /dev/null +++ b/meta-oe/recipes-support/numactl/numactl/Makefile | |||
@@ -0,0 +1,7 @@ | |||
1 | .PHONY: regress1 regress2 | ||
2 | |||
3 | regress1: | ||
4 | cd test ; ./regress | ||
5 | |||
6 | regress2: | ||
7 | cd test ; ./regress2 | ||
diff --git a/meta-oe/recipes-support/numactl/numactl/fix-null-pointer.patch b/meta-oe/recipes-support/numactl/numactl/fix-null-pointer.patch new file mode 100644 index 000000000..53952aef9 --- /dev/null +++ b/meta-oe/recipes-support/numactl/numactl/fix-null-pointer.patch | |||
@@ -0,0 +1,28 @@ | |||
1 | [PATCH] return 0 if distance_table is NULL | ||
2 | |||
3 | Upstream-Status: Pending | ||
4 | |||
5 | read_distance_table() maybe return 0, but distance_table is not set, | ||
6 | if distance_table is used, and will lead to SEGFAULT | ||
7 | |||
8 | Signed-off-by: Roy Li <rongqing.li@windriver.com> | ||
9 | --- | ||
10 | distance.c | 2 ++ | ||
11 | 1 file changed, 2 insertions(+) | ||
12 | |||
13 | diff --git a/distance.c b/distance.c | ||
14 | index 4a26972..c6ca021 100755 | ||
15 | --- a/distance.c | ||
16 | +++ b/distance.c | ||
17 | @@ -113,6 +113,8 @@ int numa_distance(int a, int b) | ||
18 | int err = read_distance_table(); | ||
19 | if (err < 0) | ||
20 | return 0; | ||
21 | + if (!distance_table) | ||
22 | + return 0; | ||
23 | } | ||
24 | return distance_table[a * distance_numnodes + b]; | ||
25 | } | ||
26 | -- | ||
27 | 1.7.10.4 | ||
28 | |||
diff --git a/meta-oe/recipes-support/numactl/numactl/run-ptest b/meta-oe/recipes-support/numactl/numactl/run-ptest new file mode 100755 index 000000000..215f7c25b --- /dev/null +++ b/meta-oe/recipes-support/numactl/numactl/run-ptest | |||
@@ -0,0 +1,9 @@ | |||
1 | #!/bin/sh | ||
2 | make regress1 | ||
3 | make regress2 | ||
4 | if numademo -t -e 10M; then | ||
5 | echo "PASS: numademo" | ||
6 | else | ||
7 | echo "FAIL: numademo" | ||
8 | fi | ||
9 | |||
diff --git a/meta-oe/recipes-support/numactl/numactl_2.0.9.bb b/meta-oe/recipes-support/numactl/numactl_2.0.9.bb new file mode 100644 index 000000000..651277dab --- /dev/null +++ b/meta-oe/recipes-support/numactl/numactl_2.0.9.bb | |||
@@ -0,0 +1,44 @@ | |||
1 | SUMMARY = "Development package for building Applications that use numa" | ||
2 | DESCRIPTION = "Simple NUMA policy support. It consists of a numactl program \ | ||
3 | to run other programs with a specific NUMA policy and a libnuma to do \ | ||
4 | allocations with NUMA policy in applications." | ||
5 | LICENSE = "GPL-2.0 & LGPL-2.1" | ||
6 | SECTION = "apps" | ||
7 | RDEPENDS_${PN} = "perl" | ||
8 | |||
9 | inherit autotools-brokensep ptest | ||
10 | |||
11 | LIC_FILES_CHKSUM = "file://README;beginline=19;endline=32;md5=5644cc3851cb2499f6c48e52fe198bd9" | ||
12 | SRC_URI[md5sum] = "136685c8eaf9d6569c351fe1d453b30c" | ||
13 | SRC_URI[sha256sum] = "9ca033e6c14c0f26c20379b0cf9299429fd5a354a79c3c7880fd41ef69f7751c" | ||
14 | |||
15 | SRC_URI = "ftp://oss.sgi.com/www/projects/libnuma/download/${BPN}-${PV}.tar.gz \ | ||
16 | file://fix-null-pointer.patch \ | ||
17 | file://Fix-the-test-output-format.patch \ | ||
18 | file://Makefile \ | ||
19 | file://run-ptest \ | ||
20 | " | ||
21 | |||
22 | # ARM does not currently support NUMA | ||
23 | COMPATIBLE_HOST = "^((?!arm).*)$" | ||
24 | |||
25 | do_install() { | ||
26 | oe_runmake DESTDIR=${D} prefix=${D}/usr libdir=${D}/${libdir} install | ||
27 | #remove the empty man2 directory | ||
28 | rm -r ${D}${mandir}/man2 | ||
29 | } | ||
30 | |||
31 | do_install_ptest() { | ||
32 | #install tests binaries | ||
33 | local test_binaries="checkaffinity checktopology distance \ | ||
34 | ftok mbind_mig_pages migrate_pages move_pages mynode \ | ||
35 | nodemap pagesize prefered printcpu randmap realloc_test \ | ||
36 | regress regress2 runltp shmtest tbitmap tshared bind_range" | ||
37 | |||
38 | [ ! -d ${D}/${PTEST_PATH}/test ] && mkdir -p ${D}/${PTEST_PATH}/test | ||
39 | for i in $test_binaries; do | ||
40 | install -m 0755 ${B}/test/$i ${D}${PTEST_PATH}/test | ||
41 | done | ||
42 | install -m 0755 ${WORKDIR}/Makefile ${D}${PTEST_PATH}/ | ||
43 | install -m 0755 ${B}/numactl ${D}${PTEST_PATH}/ | ||
44 | } | ||
diff --git a/meta-oe/recipes-support/ode/ode/configure.patch b/meta-oe/recipes-support/ode/ode/configure.patch new file mode 100644 index 000000000..246b2e2c2 --- /dev/null +++ b/meta-oe/recipes-support/ode/ode/configure.patch | |||
@@ -0,0 +1,13 @@ | |||
1 | Index: ode-0.13/libccd/configure.ac | ||
2 | =================================================================== | ||
3 | --- ode-0.13.orig/libccd/configure.ac 2013-08-19 17:48:03.000000000 +0000 | ||
4 | +++ ode-0.13/libccd/configure.ac 2014-07-17 22:04:16.580595690 +0000 | ||
5 | @@ -5,7 +5,7 @@ | ||
6 | AC_INIT([libccd], [1.0], [danfis@danfis.cz]) | ||
7 | AC_CONFIG_SRCDIR([src/ccd.c]) | ||
8 | AC_CONFIG_HEADERS([src/config.h]) | ||
9 | -AM_INIT_AUTOMAKE | ||
10 | +AM_INIT_AUTOMAKE([foreign]) | ||
11 | |||
12 | # Checks for programs. | ||
13 | AC_PROG_CXX | ||
diff --git a/meta-oe/recipes-support/ode/ode/install.patch b/meta-oe/recipes-support/ode/ode/install.patch new file mode 100644 index 000000000..2f6cdb008 --- /dev/null +++ b/meta-oe/recipes-support/ode/ode/install.patch | |||
@@ -0,0 +1,23 @@ | |||
1 | --- ode-0.9.orig/Makefile.am 2007-02-21 15:54:54.000000000 +0100 | ||
2 | +++ ode-0.9/Makefile.am 2010-08-21 16:15:55.000000000 +0200 | ||
3 | @@ -25,13 +25,13 @@ | ||
4 | |||
5 | if USE_SONAME | ||
6 | install-exec-hook: | ||
7 | - ln -s $(libdir)/@ODE_SONAME@.@ODE_REVISION@.@ODE_AGE@ \ | ||
8 | - $(libdir)/libode.so | ||
9 | - ln -s $(libdir)/@ODE_SONAME@.@ODE_REVISION@.@ODE_AGE@ \ | ||
10 | - $(libdir)/@ODE_SONAME@ | ||
11 | - ln -s $(libdir)/@ODE_SONAME@.@ODE_REVISION@.@ODE_AGE@ \ | ||
12 | - $(libdir)/@ODE_SONAME@.@ODE_REVISION@ | ||
13 | - /sbin/ldconfig | ||
14 | + ln -s @ODE_SONAME@.@ODE_REVISION@.@ODE_AGE@ \ | ||
15 | + $(DESTDIR)/$(libdir)/libode.so | ||
16 | + ln -s @ODE_SONAME@.@ODE_REVISION@.@ODE_AGE@ \ | ||
17 | + $(DESTDIR)/$(libdir)/@ODE_SONAME@ | ||
18 | + ln -s @ODE_SONAME@.@ODE_REVISION@.@ODE_AGE@ \ | ||
19 | + $(DESTDIR)/$(libdir)/@ODE_SONAME@.@ODE_REVISION@ | ||
20 | + echo /sbin/ldconfig | ||
21 | else | ||
22 | install-exec-hook: | ||
23 | endif | ||
diff --git a/meta-oe/recipes-support/ode/ode_0.13.bb b/meta-oe/recipes-support/ode/ode_0.13.bb new file mode 100644 index 000000000..2dc82a8e1 --- /dev/null +++ b/meta-oe/recipes-support/ode/ode_0.13.bb | |||
@@ -0,0 +1,28 @@ | |||
1 | SUMMARY = "ODE is an Open Source Physics Engine" | ||
2 | SECTION = "libs" | ||
3 | HOMEPAGE = "http://www.ode.org" | ||
4 | LICENSE = "LGPLv2.1 & BSD" | ||
5 | LIC_FILES_CHKSUM = " \ | ||
6 | file://COPYING;md5=1de906ee96808d9776dd72a5f9a79a22 \ | ||
7 | file://LICENSE.TXT;md5=771782cb6245c7fbbe74bc0ec059beff \ | ||
8 | " | ||
9 | # LICENSE-BSD.TXT is missing in 0.13 tarball, but COPYING still says it's dual licensed | ||
10 | # and svn repo still contains LICENSE-BSD.TXT so maybe it will return in next tarball | ||
11 | # file://LICENSE-BSD.TXT;md5=c74e6304a772117e059458fb9763a928 | ||
12 | |||
13 | |||
14 | SRC_URI = "${SOURCEFORGE_MIRROR}/opende/ode-${PV}.tar.bz2 \ | ||
15 | file://configure.patch" | ||
16 | SRC_URI[md5sum] = "04b32c9645c147e18caff7a597a19f84" | ||
17 | SRC_URI[sha256sum] = "34ce3e236e313bf109a0cb5546d2fca462aed99f29a42e62bc1463b803c31ef9" | ||
18 | |||
19 | inherit autotools binconfig | ||
20 | |||
21 | EXTRA_OECONF = "--disable-demos --enable-soname" | ||
22 | |||
23 | FILES_${PN} = "${libdir}/lib*${SOLIBS}" | ||
24 | |||
25 | PACKAGECONFIG ?= "" | ||
26 | # if it isn't explicitly selected and "$build_os" == "$target_os", then configure will run | ||
27 | # series of AC_TRY_RUN which won't work for cross-compilation and configure fails | ||
28 | PACKAGECONFIG[double-precision] = "--enable-double-precision,--disable-double-precision" | ||
diff --git a/meta-oe/recipes-support/onig/files/configure.patch b/meta-oe/recipes-support/onig/files/configure.patch new file mode 100644 index 000000000..5fa700f19 --- /dev/null +++ b/meta-oe/recipes-support/onig/files/configure.patch | |||
@@ -0,0 +1,13 @@ | |||
1 | Index: onig-5.9.3/configure.in | ||
2 | =================================================================== | ||
3 | --- onig-5.9.3.orig/configure.in 2012-10-26 07:06:14.000000000 +0000 | ||
4 | +++ onig-5.9.3/configure.in 2014-07-18 08:02:52.701574484 +0000 | ||
5 | @@ -3,7 +3,7 @@ | ||
6 | |||
7 | AC_CONFIG_MACRO_DIR([m4]) | ||
8 | |||
9 | -AM_INIT_AUTOMAKE | ||
10 | +AM_INIT_AUTOMAKE([foreign]) | ||
11 | AC_CONFIG_HEADER(config.h) | ||
12 | |||
13 | |||
diff --git a/meta-oe/recipes-support/onig/files/do-not-use-system-headers.patch b/meta-oe/recipes-support/onig/files/do-not-use-system-headers.patch new file mode 100644 index 000000000..b93602a26 --- /dev/null +++ b/meta-oe/recipes-support/onig/files/do-not-use-system-headers.patch | |||
@@ -0,0 +1,44 @@ | |||
1 | Author: Marcin Juszkiewicz <marcin.juszkiewicz@linaro.org> | ||
2 | |||
3 | When build on host with older eglibc (Ubuntu 12.04) build fails with: | ||
4 | |||
5 | /tmp/OE/build/tmp-eglibc/sysroots/genericarmv8/usr/include/bits/predefs.h:23:3: error: #error "Never use <bits/predefs.h> directly; include <stdc-predef.h> instead." | ||
6 | |||
7 | Signed-off-by: Marcin Juszkiewicz <marcin.juszkiewicz@linaro.org> | ||
8 | |||
9 | Upstream-Status: Inappropriate [embedded specific] | ||
10 | |||
11 | --- | ||
12 | Makefile.am | 2 +- | ||
13 | sample/Makefile.am | 2 +- | ||
14 | 2 files changed, 2 insertions(+), 2 deletions(-) | ||
15 | |||
16 | --- onig-5.9.3.orig/Makefile.am | ||
17 | +++ onig-5.9.3/Makefile.am | ||
18 | @@ -4,11 +4,11 @@ sampledir = $(top_srcdir)/sample | ||
19 | libname = libonig.la | ||
20 | |||
21 | ACLOCAL_AMFLAGS = -I m4 | ||
22 | #AM_CFLAGS = -DNOT_RUBY | ||
23 | AM_CFLAGS = | ||
24 | -INCLUDES = -I$(top_srcdir) -I$(includedir) | ||
25 | +INCLUDES = -I$(top_srcdir) | ||
26 | |||
27 | SUBDIRS = . sample | ||
28 | |||
29 | include_HEADERS = oniguruma.h oniggnu.h onigposix.h | ||
30 | lib_LTLIBRARIES = $(libname) | ||
31 | --- onig-5.9.3.orig/sample/Makefile.am | ||
32 | +++ onig-5.9.3/sample/Makefile.am | ||
33 | @@ -1,10 +1,10 @@ | ||
34 | noinst_PROGRAMS = encode listcap names posix simple sql syntax crnl | ||
35 | |||
36 | libname = $(top_builddir)/libonig.la | ||
37 | LDADD = $(libname) | ||
38 | -INCLUDES = -I$(top_srcdir) -I$(includedir) | ||
39 | +INCLUDES = -I$(top_srcdir) | ||
40 | |||
41 | encode_SOURCES = encode.c | ||
42 | listcap_SOURCES = listcap.c | ||
43 | names_SOURCES = names.c | ||
44 | posix_SOURCES = posix.c | ||
diff --git a/meta-oe/recipes-support/onig/onig_5.9.3.bb b/meta-oe/recipes-support/onig/onig_5.9.3.bb new file mode 100644 index 000000000..22db78afe --- /dev/null +++ b/meta-oe/recipes-support/onig/onig_5.9.3.bb | |||
@@ -0,0 +1,17 @@ | |||
1 | DESCRIPTION = "Regular expressions library. The characteristics of this \ | ||
2 | library is that different character encoding for every regular expression \ | ||
3 | object can be specified." | ||
4 | HOMEPAGE = "http://www.geocities.jp/kosako3/oniguruma/" | ||
5 | LICENSE = "BSD" | ||
6 | LIC_FILES_CHKSUM = "file://COPYING;md5=0d4861b5bc0c392a5aa90d9d76ebd86f" | ||
7 | |||
8 | SRC_URI = "http://www.geocities.jp/kosako3/oniguruma/archive/onig-${PV}.tar.gz \ | ||
9 | file://do-not-use-system-headers.patch \ | ||
10 | file://configure.patch" | ||
11 | |||
12 | SRC_URI[md5sum] = "0d4eda2066d3c92970842a6790ce897a" | ||
13 | SRC_URI[sha256sum] = "c3bba66b2a84760e6582c40881db97c839d94f327870009724bb8b4d0c051f2a" | ||
14 | |||
15 | DEPENDS = "libevent" | ||
16 | |||
17 | inherit autotools binconfig | ||
diff --git a/meta-oe/recipes-support/open-vcdiff/open-vcdiff_0.8.4.bb b/meta-oe/recipes-support/open-vcdiff/open-vcdiff_0.8.4.bb new file mode 100644 index 000000000..e6942d01f --- /dev/null +++ b/meta-oe/recipes-support/open-vcdiff/open-vcdiff_0.8.4.bb | |||
@@ -0,0 +1,18 @@ | |||
1 | SUMMARY = "An encoder/decoder for the VCDIFF (RFC3284) format" | ||
2 | DESCRIPTION = "A library with a simple API is included, as well as a \ | ||
3 | command-line executable that can apply the encoder and \ | ||
4 | decoder to source, target, and delta files. \ | ||
5 | A slight variation from the draft standard is defined \ | ||
6 | to allow chunk-by-chunk decoding when only a partial \ | ||
7 | delta file window is available." | ||
8 | HOMEPAGE = "http://code.google.com/p/open-vcdiff/" | ||
9 | SECTION = "console/utils" | ||
10 | |||
11 | LICENSE = "Apache-2.0" | ||
12 | LIC_FILES_CHKSUM = "file://COPYING;md5=ff820d4ddc1ba05b6fd37b41a21506f9" | ||
13 | |||
14 | SRC_URI = "https://drive.google.com/uc?id=0B5WpIi2fQU1aNGJwVE9hUjU5clU&export=download;downloadfilename=${BP}.tar.gz" | ||
15 | SRC_URI[md5sum] = "5c0d378d907bebc38b51c3d7e4117011" | ||
16 | SRC_URI[sha256sum] = "2b142b1027fb0a62c41347600e01a53fa274dad15445a7da48083c830c3138b3" | ||
17 | |||
18 | inherit autotools | ||
diff --git a/meta-oe/recipes-support/opencv/opencv-samples_2.4.bb b/meta-oe/recipes-support/opencv/opencv-samples_2.4.bb new file mode 100644 index 000000000..9d862fe91 --- /dev/null +++ b/meta-oe/recipes-support/opencv/opencv-samples_2.4.bb | |||
@@ -0,0 +1,39 @@ | |||
1 | SUMMARY = "Opencv : The Open Computer Vision Library" | ||
2 | HOMEPAGE = "http://opencv.willowgarage.com/wiki/" | ||
3 | SECTION = "libs" | ||
4 | LICENSE = "BSD" | ||
5 | |||
6 | DEPENDS = "opencv" | ||
7 | |||
8 | LIC_FILES_CHKSUM = "file://include/opencv2/opencv.hpp;endline=41;md5=6d690d8488a6fca7a2c192932466bb14 \ | ||
9 | " | ||
10 | SRCREV = "6fae07ba8867b8fd2c53344a774aab669afa7c5e" | ||
11 | SRC_URI = "git://github.com/Itseez/opencv.git;branch=2.4 \ | ||
12 | " | ||
13 | PV = "2.4.3+git${SRCPV}" | ||
14 | |||
15 | S = "${WORKDIR}/git" | ||
16 | |||
17 | do_install() { | ||
18 | cd samples/c | ||
19 | install -d ${D}/${bindir} | ||
20 | install -d ${D}/${datadir}/opencv/samples | ||
21 | |||
22 | cp * ${D}/${datadir}/opencv/samples || true | ||
23 | |||
24 | for i in *.c; do | ||
25 | echo "compiling $i" | ||
26 | ${CXX} ${CFLAGS} ${LDFLAGS} -ggdb `pkg-config --cflags opencv` -o `basename $i .c` $i `pkg-config --libs opencv` || true | ||
27 | install -m 0755 `basename $i .c` ${D}/${bindir} || true | ||
28 | rm ${D}/${datadir}/opencv/samples/`basename $i .c` || true | ||
29 | done | ||
30 | for i in *.cpp; do | ||
31 | echo "compiling $i" | ||
32 | ${CXX} ${CFLAGS} ${LDFLAGS} -ggdb `pkg-config --cflags opencv` -o `basename $i .cpp` $i `pkg-config --libs opencv` || true | ||
33 | install -m 0755 `basename $i .cpp` ${D}/${bindir} || true | ||
34 | rm ${D}/${datadir}/opencv/samples/`basename $i .cpp` || true | ||
35 | done | ||
36 | } | ||
37 | |||
38 | FILES_${PN}-dev += "${datadir}/opencv/samples/*.c* ${datadir}/opencv/samples/*.vcp* ${datadir}/opencv/samples/build*" | ||
39 | FILES_${PN} += "${bindir} ${datadir}/opencv" | ||
diff --git a/meta-oe/recipes-support/opencv/opencv/opencv-fix-pkgconfig-generation.patch b/meta-oe/recipes-support/opencv/opencv/opencv-fix-pkgconfig-generation.patch new file mode 100644 index 000000000..d352778c9 --- /dev/null +++ b/meta-oe/recipes-support/opencv/opencv/opencv-fix-pkgconfig-generation.patch | |||
@@ -0,0 +1,44 @@ | |||
1 | Fix pkg-config generation | ||
2 | |||
3 | Replace absolute library path with library name spec and library search | ||
4 | path option. | ||
5 | |||
6 | The fix has been provided by Ray Rashif (code.opencv.org/issues/1925) | ||
7 | |||
8 | Upstream-Status: Pending | ||
9 | |||
10 | diff -Nbaur OpenCV-2.4.3.orig/cmake/OpenCVGenPkgconfig.cmake OpenCV-2.4.3/cmake/OpenCVGenPkgconfig.cmake | ||
11 | --- OpenCV-2.4.3.orig/cmake/OpenCVGenPkgconfig.cmake 2012-11-04 08:40:14.243505926 +0000 | ||
12 | +++ OpenCV-2.4.3/cmake/OpenCVGenPkgconfig.cmake 2012-11-04 08:40:42.286649120 +0000 | ||
13 | @@ -10,7 +10,7 @@ | ||
14 | # ------------------------------------------------------------------------------------------- | ||
15 | set(prefix "${CMAKE_INSTALL_PREFIX}") | ||
16 | set(exec_prefix "\${prefix}") | ||
17 | -set(libdir "") #TODO: need link paths for OpenCV_EXTRA_COMPONENTS | ||
18 | +set(libdir "\${prefix}/${OPENCV_LIB_INSTALL_PATH}") | ||
19 | set(includedir "\${prefix}/${OPENCV_INCLUDE_INSTALL_PATH}") | ||
20 | set(VERSION ${OPENCV_VERSION}) | ||
21 | |||
22 | @@ -36,10 +36,11 @@ | ||
23 | ocv_list_reverse(OpenCV_EXTRA_COMPONENTS) | ||
24 | |||
25 | #build the list of components | ||
26 | -set(OpenCV_LIB_COMPONENTS_ "") | ||
27 | +set(OpenCV_LIB_COMPONENTS_ "-L\${libdir}") | ||
28 | foreach(CVLib ${OpenCV_LIB_COMPONENTS}) | ||
29 | get_target_property(libpath ${CVLib} LOCATION_${CMAKE_BUILD_TYPE}) | ||
30 | get_filename_component(libname "${libpath}" NAME) | ||
31 | + get_filename_component(lname "${libpath}" NAME_WE) | ||
32 | |||
33 | if(INSTALL_TO_MANGLED_PATHS) | ||
34 | set(libname "${libname}.${OPENCV_VERSION}") | ||
35 | @@ -52,7 +53,8 @@ | ||
36 | set(installDir "${OPENCV_LIB_INSTALL_PATH}") | ||
37 | endif() | ||
38 | |||
39 | - set(OpenCV_LIB_COMPONENTS_ "${OpenCV_LIB_COMPONENTS_} \${exec_prefix}/${installDir}/${libname}") | ||
40 | + string(REPLACE "libopencv" "-lopencv" lname "${lname}") | ||
41 | + set(OpenCV_LIB_COMPONENTS_ "${OpenCV_LIB_COMPONENTS_} ${lname}") | ||
42 | endforeach() | ||
43 | |||
44 | # add extra dependencies required for OpenCV | ||
diff --git a/meta-oe/recipes-support/opencv/opencv_2.4.bb b/meta-oe/recipes-support/opencv/opencv_2.4.bb new file mode 100644 index 000000000..63d7c8b25 --- /dev/null +++ b/meta-oe/recipes-support/opencv/opencv_2.4.bb | |||
@@ -0,0 +1,100 @@ | |||
1 | SUMMARY = "Opencv : The Open Computer Vision Library" | ||
2 | HOMEPAGE = "http://opencv.willowgarage.com/wiki/" | ||
3 | SECTION = "libs" | ||
4 | |||
5 | LICENSE = "BSD" | ||
6 | LIC_FILES_CHKSUM = "file://include/opencv2/opencv.hpp;endline=41;md5=6d690d8488a6fca7a2c192932466bb14" | ||
7 | |||
8 | ARM_INSTRUCTION_SET = "arm" | ||
9 | |||
10 | DEPENDS = "python-numpy libtool swig swig-native python bzip2 zlib glib-2.0" | ||
11 | |||
12 | SRCREV = "df8e28283f09825cca0c2902160b7abebcfe1b64" | ||
13 | SRC_URI = "git://github.com/Itseez/opencv.git;branch=2.4 \ | ||
14 | file://opencv-fix-pkgconfig-generation.patch \ | ||
15 | " | ||
16 | |||
17 | PV = "2.4.9+git${SRCPV}" | ||
18 | |||
19 | S = "${WORKDIR}/git" | ||
20 | |||
21 | # Do an out-of-tree build | ||
22 | OECMAKE_SOURCEPATH = "${S}" | ||
23 | OECMAKE_BUILDPATH = "${WORKDIR}/build-${TARGET_ARCH}" | ||
24 | |||
25 | EXTRA_OECMAKE = "-DPYTHON_NUMPY_INCLUDE_DIR:PATH=${STAGING_LIBDIR}/${PYTHON_DIR}/site-packages/numpy/core/include \ | ||
26 | -DBUILD_PYTHON_SUPPORT=ON \ | ||
27 | -DWITH_GSTREAMER=OFF \ | ||
28 | -DCMAKE_SKIP_RPATH=ON \ | ||
29 | ${@bb.utils.contains("TARGET_CC_ARCH", "-msse3", "-DENABLE_SSE=1 -DENABLE_SSE2=1 -DENABLE_SSE3=1 -DENABLE_SSSE3=1", "", d)} \ | ||
30 | ${@base_conditional("libdir", "/usr/lib64", "-DLIB_SUFFIX=64", "", d)} \ | ||
31 | ${@base_conditional("libdir", "/usr/lib32", "-DLIB_SUFFIX=32", "", d)} \ | ||
32 | " | ||
33 | |||
34 | PACKAGECONFIG ??= "eigen jpeg libav png tiff v4l \ | ||
35 | ${@bb.utils.contains("DISTRO_FEATURES", "x11", "gtk", "", d)}" | ||
36 | PACKAGECONFIG[eigen] = "-DWITH_EIGEN=ON,-DWITH_EIGEN=OFF,libeigen," | ||
37 | PACKAGECONFIG[gtk] = "-DWITH_GTK=ON,-DWITH_GTK=OFF,gtk+," | ||
38 | PACKAGECONFIG[jpeg] = "-DWITH_JPEG=ON,-DWITH_JPEG=OFF,jpeg," | ||
39 | PACKAGECONFIG[libav] = "-DWITH_FFMPEG=ON,-DWITH_FFMPEG=OFF,libav," | ||
40 | PACKAGECONFIG[png] = "-DWITH_PNG=ON,-DWITH_PNG=OFF,libpng," | ||
41 | PACKAGECONFIG[tiff] = "-DWITH_TIFF=ON,-DWITH_TIFF=OFF,tiff," | ||
42 | PACKAGECONFIG[v4l] = "-DWITH_V4L=ON,-DWITH_V4L=OFF,v4l-utils," | ||
43 | PACKAGECONFIG[jasper] = "-DBUILD_JASPER=ON,-DBUILD_JASPER=OFF,jasper" | ||
44 | |||
45 | inherit distutils-base pkgconfig cmake | ||
46 | |||
47 | export BUILD_SYS | ||
48 | export HOST_SYS | ||
49 | export PYTHON_CSPEC="-I${STAGING_INCDIR}/${PYTHON_DIR}" | ||
50 | export PYTHON="${STAGING_BINDIR_NATIVE}/python" | ||
51 | |||
52 | TARGET_CC_ARCH += "-I${S}/include " | ||
53 | |||
54 | PACKAGES += "${PN}-apps python-opencv" | ||
55 | |||
56 | python populate_packages_prepend () { | ||
57 | cv_libdir = d.expand('${libdir}') | ||
58 | cv_libdir_dbg = d.expand('${libdir}/.debug') | ||
59 | do_split_packages(d, cv_libdir, '^lib(.*)\.so$', 'lib%s-dev', 'OpenCV %s development package', extra_depends='${PN}-dev', allow_links=True) | ||
60 | do_split_packages(d, cv_libdir, '^lib(.*)\.la$', 'lib%s-dev', 'OpenCV %s development package', extra_depends='${PN}-dev') | ||
61 | do_split_packages(d, cv_libdir, '^lib(.*)\.a$', 'lib%s-dev', 'OpenCV %s development package', extra_depends='${PN}-dev') | ||
62 | do_split_packages(d, cv_libdir, '^lib(.*)\.so\.*', 'lib%s', 'OpenCV %s library', extra_depends='', allow_links=True) | ||
63 | |||
64 | pn = d.getVar('PN', 1) | ||
65 | metapkg = pn + '-dev' | ||
66 | d.setVar('ALLOW_EMPTY_' + metapkg, "1") | ||
67 | blacklist = [ metapkg ] | ||
68 | metapkg_rdepends = [ ] | ||
69 | packages = d.getVar('PACKAGES', 1).split() | ||
70 | for pkg in packages[1:]: | ||
71 | if not pkg in blacklist and not pkg in metapkg_rdepends and pkg.endswith('-dev'): | ||
72 | metapkg_rdepends.append(pkg) | ||
73 | d.setVar('RRECOMMENDS_' + metapkg, ' '.join(metapkg_rdepends)) | ||
74 | } | ||
75 | |||
76 | PACKAGES_DYNAMIC += "^libopencv-.*" | ||
77 | |||
78 | FILES_${PN} = "" | ||
79 | FILES_${PN}-apps = "${bindir}/* ${datadir}/OpenCV" | ||
80 | FILES_${PN}-dbg += "${libdir}/.debug" | ||
81 | FILES_${PN}-dev = "${includedir} ${libdir}/pkgconfig" | ||
82 | FILES_${PN}-doc = "${datadir}/OpenCV/doc" | ||
83 | |||
84 | ALLOW_EMPTY_${PN} = "1" | ||
85 | |||
86 | INSANE_SKIP_python-opencv = "True" | ||
87 | SUMMARY_python-opencv = "Python bindings to opencv" | ||
88 | FILES_python-opencv = "${PYTHON_SITEPACKAGES_DIR}/*" | ||
89 | RDEPENDS_python-opencv = "python-core python-numpy" | ||
90 | |||
91 | do_install_append() { | ||
92 | cp ${S}/include/opencv/*.h ${D}${includedir}/opencv/ | ||
93 | sed -i '/blobtrack/d' ${D}${includedir}/opencv/cvaux.h | ||
94 | |||
95 | # Move Python files into correct library folder (for multilib build) | ||
96 | if [ "$libdir" != "/usr/lib" ]; then | ||
97 | mv ${D}/usr/lib/* ${D}/${libdir}/ | ||
98 | rm -rf ${D}/usr/lib | ||
99 | fi | ||
100 | } | ||
diff --git a/meta-oe/recipes-support/openldap/openldap-2.4.39/ITS-7723-fix-reference-counting.patch b/meta-oe/recipes-support/openldap/openldap-2.4.39/ITS-7723-fix-reference-counting.patch new file mode 100644 index 000000000..9a0f4cb14 --- /dev/null +++ b/meta-oe/recipes-support/openldap/openldap-2.4.39/ITS-7723-fix-reference-counting.patch | |||
@@ -0,0 +1,38 @@ | |||
1 | From 59688044386dfeee0c837a15133f4e878f1bb661 Mon Sep 17 00:00:00 2001 | ||
2 | From: Jan Synacek <jsynacek@redhat.com> | ||
3 | Date: Wed, 13 Nov 2013 09:06:54 +0100 | ||
4 | Subject: [PATCH] ITS#7723 fix reference counting | ||
5 | |||
6 | Upstream-Status: Backport | ||
7 | |||
8 | Commit 59688044386dfeee0c837a15133f4e878f1bb661 upstream | ||
9 | |||
10 | Signed-off-by: Yue Tao <Yue.Tao@windriver.com> | ||
11 | Signed-off-by: Jackie Huang <jackie.huang@windriver.com> | ||
12 | --- | ||
13 | libraries/librewrite/session.c | 2 ++ | ||
14 | 1 files changed, 2 insertions(+), 0 deletions(-) | ||
15 | |||
16 | diff --git a/libraries/librewrite/session.c b/libraries/librewrite/session.c | ||
17 | index fcc7698..02fc054 100644 | ||
18 | --- a/libraries/librewrite/session.c | ||
19 | +++ b/libraries/librewrite/session.c | ||
20 | @@ -161,6 +161,7 @@ rewrite_session_find( | ||
21 | #ifdef USE_REWRITE_LDAP_PVT_THREADS | ||
22 | if ( session ) { | ||
23 | ldap_pvt_thread_mutex_lock( &session->ls_mutex ); | ||
24 | + session->ls_count++; | ||
25 | } | ||
26 | ldap_pvt_thread_rdwr_runlock( &info->li_cookies_mutex ); | ||
27 | #endif /* USE_REWRITE_LDAP_PVT_THREADS */ | ||
28 | @@ -178,6 +179,7 @@ rewrite_session_return( | ||
29 | ) | ||
30 | { | ||
31 | assert( session != NULL ); | ||
32 | + session->ls_count--; | ||
33 | ldap_pvt_thread_mutex_unlock( &session->ls_mutex ); | ||
34 | } | ||
35 | |||
36 | -- | ||
37 | 1.7.5.4 | ||
38 | |||
diff --git a/meta-oe/recipes-support/openldap/openldap-2.4.39/gnutls-Avoid-use-of-deprecated-function.patch b/meta-oe/recipes-support/openldap/openldap-2.4.39/gnutls-Avoid-use-of-deprecated-function.patch new file mode 100644 index 000000000..dffd3ca51 --- /dev/null +++ b/meta-oe/recipes-support/openldap/openldap-2.4.39/gnutls-Avoid-use-of-deprecated-function.patch | |||
@@ -0,0 +1,44 @@ | |||
1 | From 0205e83f4670d10ad3c6ae4b8fc5ec1d0c7020c0 Mon Sep 17 00:00:00 2001 | ||
2 | From: Howard Chu <hyc@openldap.org> | ||
3 | Date: Sat, 7 Sep 2013 09:39:24 -0700 | ||
4 | Subject: [PATCH] ITS#7430 GnuTLS: Avoid use of deprecated function | ||
5 | |||
6 | Upstream-status: Backport | ||
7 | |||
8 | --- | ||
9 | libraries/libldap/tls_g.c | 12 ++++++++++++ | ||
10 | 1 files changed, 12 insertions(+), 0 deletions(-) | ||
11 | |||
12 | diff --git a/libraries/libldap/tls_g.c b/libraries/libldap/tls_g.c | ||
13 | index 9acffaf..c793828 100644 | ||
14 | --- a/libraries/libldap/tls_g.c | ||
15 | +++ b/libraries/libldap/tls_g.c | ||
16 | @@ -368,6 +368,17 @@ tlsg_ctx_init( struct ldapoptions *lo, struct ldaptls *lt, int is_server ) | ||
17 | * then we have to build the cert chain. | ||
18 | */ | ||
19 | if ( max == 1 && !gnutls_x509_crt_check_issuer( certs[0], certs[0] )) { | ||
20 | +#if GNUTLS_VERSION_NUMBER >= 0x020c00 | ||
21 | + unsigned int i; | ||
22 | + for ( i = 1; i<VERIFY_DEPTH; i++ ) { | ||
23 | + if ( gnutls_certificate_get_issuer( ctx->cred, certs[i-1], &certs[i], 0 )) | ||
24 | + break; | ||
25 | + max++; | ||
26 | + /* If this CA is self-signed, we're done */ | ||
27 | + if ( gnutls_x509_crt_check_issuer( certs[i], certs[i] )) | ||
28 | + break; | ||
29 | + } | ||
30 | +#else | ||
31 | gnutls_x509_crt_t *cas; | ||
32 | unsigned int i, j, ncas; | ||
33 | |||
34 | @@ -387,6 +398,7 @@ tlsg_ctx_init( struct ldapoptions *lo, struct ldaptls *lt, int is_server ) | ||
35 | if ( j == ncas ) | ||
36 | break; | ||
37 | } | ||
38 | +#endif | ||
39 | } | ||
40 | rc = gnutls_certificate_set_x509_key( ctx->cred, certs, max, key ); | ||
41 | if ( rc ) return -1; | ||
42 | -- | ||
43 | 1.7.4.2 | ||
44 | |||
diff --git a/meta-oe/recipes-support/openldap/openldap-2.4.39/initscript b/meta-oe/recipes-support/openldap/openldap-2.4.39/initscript new file mode 100644 index 000000000..08d1067a7 --- /dev/null +++ b/meta-oe/recipes-support/openldap/openldap-2.4.39/initscript | |||
@@ -0,0 +1,35 @@ | |||
1 | #! /bin/sh | ||
2 | # | ||
3 | # This is an init script for openembedded | ||
4 | # Copy it to /etc/init.d/openldap and type | ||
5 | # > update-rc.d openldap defaults 60 | ||
6 | # | ||
7 | |||
8 | # Source function library. | ||
9 | . /etc/init.d/functions | ||
10 | |||
11 | slapd=/usr/sbin/slapd | ||
12 | test -x "$slapd" || exit 0 | ||
13 | |||
14 | |||
15 | case "$1" in | ||
16 | start) | ||
17 | echo -n "Starting OpenLDAP: " | ||
18 | start-stop-daemon --start --quiet --exec $slapd | ||
19 | echo "." | ||
20 | ;; | ||
21 | stop) | ||
22 | echo -n "Stopping OpenLDAP: " | ||
23 | start-stop-daemon --stop --quiet --pidfile /var/run/slapd.pid | ||
24 | echo "." | ||
25 | ;; | ||
26 | status) | ||
27 | status $slapd; | ||
28 | exit $? | ||
29 | ;; | ||
30 | *) | ||
31 | echo "Usage: /etc/init.d/openldap {start|stop|status}" | ||
32 | exit 1 | ||
33 | esac | ||
34 | |||
35 | exit 0 | ||
diff --git a/meta-oe/recipes-support/openldap/openldap-2.4.39/install-strip.patch b/meta-oe/recipes-support/openldap/openldap-2.4.39/install-strip.patch new file mode 100644 index 000000000..2992b7030 --- /dev/null +++ b/meta-oe/recipes-support/openldap/openldap-2.4.39/install-strip.patch | |||
@@ -0,0 +1,14 @@ | |||
1 | # This patch ensures that the install operations which strip | ||
2 | # programs and libraries (LTINSTALL) work in a cross build | ||
3 | # environment. | ||
4 | --- openldap-2.2.24/.pc/install-strip.patch/build/top.mk 2005-01-20 09:00:55.000000000 -0800 | ||
5 | +++ openldap-2.2.24/build/top.mk 2005-04-16 13:48:20.536710376 -0700 | ||
6 | @@ -116,7 +116,7 @@ | ||
7 | LTLINK_MOD = $(LIBTOOL) $(LTONLY_MOD) --mode=link \ | ||
8 | $(CC) $(LT_CFLAGS) $(LDFLAGS) $(LTFLAGS_MOD) | ||
9 | |||
10 | -LTINSTALL = $(LIBTOOL) --mode=install $(INSTALL) | ||
11 | +LTINSTALL = STRIPPROG="" $(LIBTOOL) --mode=install $(top_srcdir)/contrib/ldapc++/install-sh -c | ||
12 | LTFINISH = $(LIBTOOL) --mode=finish | ||
13 | |||
14 | # Misc UNIX commands used in build environment | ||
diff --git a/meta-oe/recipes-support/openldap/openldap-2.4.39/kill-icu.patch b/meta-oe/recipes-support/openldap/openldap-2.4.39/kill-icu.patch new file mode 100644 index 000000000..dcf541137 --- /dev/null +++ b/meta-oe/recipes-support/openldap/openldap-2.4.39/kill-icu.patch | |||
@@ -0,0 +1,30 @@ | |||
1 | From: Marcin Juszkiewicz <marcin.juszkiewicz@linaro.org> | ||
2 | |||
3 | slapd depends on ICU if it was built first. | ||
4 | |||
5 | Upstream-status: inappropiate [embedded specific] | ||
6 | --- | ||
7 | configure.in | 8 -------- | ||
8 | 1 file changed, 8 deletions(-) | ||
9 | |||
10 | --- openldap-2.4.23.orig/configure.in | ||
11 | +++ openldap-2.4.23/configure.in | ||
12 | @@ -2045,18 +2045,10 @@ if test $ol_enable_ndb != no ; then | ||
13 | SLAPD_LIBS="$SLAPD_LIBS \$(SLAPD_NDB_LIBS)" | ||
14 | fi | ||
15 | fi | ||
16 | |||
17 | dnl ---------------------------------------------------------------- | ||
18 | -dnl International Components for Unicode | ||
19 | -OL_ICU | ||
20 | -if test "$ol_icu" = no ; then | ||
21 | - AC_MSG_WARN([ICU not available]) | ||
22 | -else | ||
23 | - ICU_LIBS="$ol_icu" | ||
24 | -fi | ||
25 | -dnl ---------------------------------------------------------------- | ||
26 | dnl | ||
27 | dnl Check for Cyrus SASL | ||
28 | dnl | ||
29 | WITH_SASL=no | ||
30 | ol_link_sasl=no | ||
diff --git a/meta-oe/recipes-support/openldap/openldap-2.4.39/openldap-2.4.28-gnutls-gcrypt.patch b/meta-oe/recipes-support/openldap/openldap-2.4.39/openldap-2.4.28-gnutls-gcrypt.patch new file mode 100644 index 000000000..c7b1552c1 --- /dev/null +++ b/meta-oe/recipes-support/openldap/openldap-2.4.39/openldap-2.4.28-gnutls-gcrypt.patch | |||
@@ -0,0 +1,17 @@ | |||
1 | From http://sources.gentoo.org/cgi-bin/viewvc.cgi/gentoo-x86/net-nds/openldap/files/ | ||
2 | |||
3 | Upstream-status: Unknown | ||
4 | |||
5 | -- | ||
6 | |||
7 | --- openldap-2.4.28/configure.in.orig 2012-02-11 22:40:36.004360795 +0000 | ||
8 | +++ openldap-2.4.28/configure.in 2012-02-11 22:40:13.410986851 +0000 | ||
9 | @@ -1214,7 +1214,7 @@ | ||
10 | ol_with_tls=gnutls | ||
11 | ol_link_tls=yes | ||
12 | |||
13 | - TLS_LIBS="-lgnutls" | ||
14 | + TLS_LIBS="-lgnutls -lgcrypt" | ||
15 | |||
16 | AC_DEFINE(HAVE_GNUTLS, 1, | ||
17 | [define if you have GNUtls]) | ||
diff --git a/meta-oe/recipes-support/openldap/openldap-2.4.39/openldap-m4-pthread.patch b/meta-oe/recipes-support/openldap/openldap-2.4.39/openldap-m4-pthread.patch new file mode 100644 index 000000000..b669b7254 --- /dev/null +++ b/meta-oe/recipes-support/openldap/openldap-2.4.39/openldap-m4-pthread.patch | |||
@@ -0,0 +1,20 @@ | |||
1 | --- openldap-2.3.11/build/openldap.m4.orig 2005-11-11 00:11:18.604322590 -0800 | ||
2 | +++ openldap-2.3.11/build/openldap.m4 2005-11-11 00:26:21.621145856 -0800 | ||
3 | @@ -788,7 +788,7 @@ AC_DEFUN([OL_PTHREAD_TEST_FUNCTION],[[ | ||
4 | ]]) | ||
5 | |||
6 | AC_DEFUN([OL_PTHREAD_TEST_PROGRAM], | ||
7 | -AC_LANG_SOURCE([OL_PTHREAD_TEST_INCLUDES | ||
8 | +[AC_LANG_SOURCE([[OL_PTHREAD_TEST_INCLUDES | ||
9 | |||
10 | int main(argc, argv) | ||
11 | int argc; | ||
12 | @@ -796,7 +796,7 @@ int main(argc, argv) | ||
13 | { | ||
14 | OL_PTHREAD_TEST_FUNCTION | ||
15 | } | ||
16 | -])) | ||
17 | +]])]) | ||
18 | dnl -------------------------------------------------------------------- | ||
19 | AC_DEFUN([OL_PTHREAD_TRY], [# Pthread try link: $1 ($2) | ||
20 | if test "$ol_link_threads" = no ; then | ||
diff --git a/meta-oe/recipes-support/openldap/openldap-2.4.39/use-urandom.patch b/meta-oe/recipes-support/openldap/openldap-2.4.39/use-urandom.patch new file mode 100644 index 000000000..e7b988faf --- /dev/null +++ b/meta-oe/recipes-support/openldap/openldap-2.4.39/use-urandom.patch | |||
@@ -0,0 +1,38 @@ | |||
1 | openldap: assume /dev/urandom exists | ||
2 | |||
3 | When we are cross-compiling, we want to assume | ||
4 | that /dev/urandom exists. We could change the source | ||
5 | code to look for it, but this is the easy way out. | ||
6 | |||
7 | Upstream-Status: pending | ||
8 | |||
9 | Signed-off-by: Joe Slater <jslater@windriver.com> | ||
10 | |||
11 | |||
12 | --- a/configure.in | ||
13 | +++ b/configure.in | ||
14 | @@ -2142,8 +2142,8 @@ fi | ||
15 | |||
16 | dnl ---------------------------------------------------------------- | ||
17 | dnl Check for entropy sources | ||
18 | +dev=no | ||
19 | if test $cross_compiling != yes && test "$ac_cv_mingw32" != yes ; then | ||
20 | - dev=no | ||
21 | if test -r /dev/urandom ; then | ||
22 | dev="/dev/urandom"; | ||
23 | elif test -r /idev/urandom ; then | ||
24 | @@ -2156,9 +2156,11 @@ if test $cross_compiling != yes && test | ||
25 | dev="/idev/random"; | ||
26 | fi | ||
27 | |||
28 | - if test $dev != no ; then | ||
29 | - AC_DEFINE_UNQUOTED(URANDOM_DEVICE,"$dev",[set to urandom device]) | ||
30 | - fi | ||
31 | +elif test $cross_compiling == yes ; then | ||
32 | + dev="/dev/urandom"; | ||
33 | +fi | ||
34 | +if test $dev != no ; then | ||
35 | + AC_DEFINE_UNQUOTED(URANDOM_DEVICE,"$dev",[set to urandom device]) | ||
36 | fi | ||
37 | |||
38 | dnl ---------------------------------------------------------------- | ||
diff --git a/meta-oe/recipes-support/openldap/openldap_2.4.39.bb b/meta-oe/recipes-support/openldap/openldap_2.4.39.bb new file mode 100644 index 000000000..8752395fa --- /dev/null +++ b/meta-oe/recipes-support/openldap/openldap_2.4.39.bb | |||
@@ -0,0 +1,216 @@ | |||
1 | # OpenLDAP, a license free (see http://www.OpenLDAP.org/license.html) | ||
2 | # | ||
3 | SUMMARY = "OpenLDAP Directory Service" | ||
4 | DESCRIPTION = "OpenLDAP Software is an open source implementation of the Lightweight Directory Access Protocol." | ||
5 | HOMEPAGE = "http://www.OpenLDAP.org/license.html" | ||
6 | # The OpenLDAP Public License - see the HOMEPAGE - defines | ||
7 | # the license. www.openldap.org claims this is Open Source | ||
8 | # (see http://www.openldap.org), the license appears to be | ||
9 | # basically BSD. opensource.org does not record this license | ||
10 | # at present (so it is apparently not OSI certified). | ||
11 | LICENSE = "OpenLDAP" | ||
12 | LIC_FILES_CHKSUM = "file://COPYRIGHT;md5=f2bdbaa4f50199a00b6de2ca7ec1db05 \ | ||
13 | file://LICENSE;md5=153d07ef052c4a37a8fac23bc6031972 \ | ||
14 | " | ||
15 | SECTION = "libs" | ||
16 | |||
17 | LDAP_VER = "${@'.'.join(d.getVar('PV',1).split('.')[0:2])}" | ||
18 | |||
19 | SRC_URI = "ftp://ftp.openldap.org/pub/OpenLDAP/openldap-release/${BP}.tgz \ | ||
20 | file://openldap-m4-pthread.patch \ | ||
21 | file://kill-icu.patch \ | ||
22 | file://gnutls-Avoid-use-of-deprecated-function.patch \ | ||
23 | file://openldap-2.4.28-gnutls-gcrypt.patch \ | ||
24 | file://ITS-7723-fix-reference-counting.patch \ | ||
25 | file://use-urandom.patch \ | ||
26 | file://initscript \ | ||
27 | " | ||
28 | SRC_URI[md5sum] = "b0d5ee4b252c841dec6b332d679cf943" | ||
29 | SRC_URI[sha256sum] = "8267c87347103fef56b783b24877c0feda1063d3cb85d070e503d076584bf8a7" | ||
30 | |||
31 | DEPENDS = "util-linux groff-native" | ||
32 | |||
33 | # The original top.mk used INSTALL, not INSTALL_STRIP_PROGRAM when | ||
34 | # installing .so and executables, this fails in cross compilation | ||
35 | # environments | ||
36 | SRC_URI += "file://install-strip.patch" | ||
37 | |||
38 | inherit autotools-brokensep update-rc.d | ||
39 | |||
40 | # CV SETTINGS | ||
41 | # Required to work round AC_FUNC_MEMCMP which gets the wrong answer | ||
42 | # when cross compiling (should be in site?) | ||
43 | EXTRA_OECONF += "ac_cv_func_memcmp_working=yes" | ||
44 | |||
45 | # CONFIG DEFINITIONS | ||
46 | # The following is necessary because it cannot be determined for a | ||
47 | # cross compile automagically. Select should yield fine on all OE | ||
48 | # systems... | ||
49 | EXTRA_OECONF += "--with-yielding-select=yes" | ||
50 | # Shared libraries are nice... | ||
51 | EXTRA_OECONF += "--enable-dynamic" | ||
52 | |||
53 | PACKAGECONFIG ??= "gnutls modules \ | ||
54 | bdb hdb ldap meta monitor null passwd shell proxycache dnssrv \ | ||
55 | " | ||
56 | #--with-tls with TLS/SSL support auto|openssl|gnutls [auto] | ||
57 | PACKAGECONFIG[gnutls] = "--with-tls=gnutls,,gnutls libgcrypt" | ||
58 | PACKAGECONFIG[openssl] = "--with-tls=openssl,,openssl" | ||
59 | |||
60 | PACKAGECONFIG[sasl] = "--with-cyrus-sasl,--without-cyrus-sasl,cyrus-sasl" | ||
61 | PACKAGECONFIG[modules] = "lt_cv_dlopen_self=yes --enable-modules,--disable-modules,libtool" | ||
62 | |||
63 | # SLAPD options | ||
64 | # | ||
65 | # UNIX crypt(3) passwd support: | ||
66 | EXTRA_OECONF += "--enable-crypt" | ||
67 | |||
68 | # SLAPD BACKEND | ||
69 | # | ||
70 | # The backend must be set by the configuration. This controls the | ||
71 | # required database. | ||
72 | # | ||
73 | # Backends="bdb dnssrv hdb ldap mdb meta monitor ndb null passwd perl relay shell sock sql" | ||
74 | # | ||
75 | # Note that multiple backends can be built. The ldbm backend requires a | ||
76 | # build-time choice of database API. The bdb backend forces this to be | ||
77 | # DB4. To use the gdbm (or other) API the Berkely database module must | ||
78 | # be removed from the build. | ||
79 | md = "${libexecdir}/openldap" | ||
80 | # | ||
81 | #--enable-bdb enable Berkeley DB backend no|yes|mod yes | ||
82 | # The Berkely DB is the standard choice. This version of OpenLDAP requires | ||
83 | # the version 4 implementation or better. | ||
84 | PACKAGECONFIG[bdb] = "--enable-bdb=yes,--enable-bdb=no,db" | ||
85 | |||
86 | #--enable-dnssrv enable dnssrv backend no|yes|mod no | ||
87 | PACKAGECONFIG[dnssrv] = "--enable-dnssrv=mod,--enable-dnssrv=no" | ||
88 | |||
89 | #--enable-hdb enable Hierarchical DB backend no|yes|mod no | ||
90 | PACKAGECONFIG[hdb] = "--enable-hdb=yes,--enable-hdb=no,db" | ||
91 | |||
92 | #--enable-ldap enable ldap backend no|yes|mod no | ||
93 | PACKAGECONFIG[ldap] = "--enable-ldap=mod,--enable-ldap=no," | ||
94 | |||
95 | #--enable-mdb enable mdb database backend no|yes|mod [yes] | ||
96 | PACKAGECONFIG[mdb] = "--enable-mdb=mod,--enable-mdb=no," | ||
97 | |||
98 | #--enable-meta enable metadirectory backend no|yes|mod no | ||
99 | PACKAGECONFIG[meta] = "--enable-meta=mod,--enable-meta=no," | ||
100 | |||
101 | #--enable-monitor enable monitor backend no|yes|mod yes | ||
102 | PACKAGECONFIG[monitor] = "--enable-monitor=mod,--enable-monitor=no," | ||
103 | |||
104 | #--enable-ndb enable MySQL NDB Cluster backend no|yes|mod [no] | ||
105 | PACKAGECONFIG[ndb] = "--enable-ndb=mod,--enable-ndb=no," | ||
106 | |||
107 | #--enable-null enable null backend no|yes|mod no | ||
108 | PACKAGECONFIG[null] = "--enable-null=mod,--enable-null=no," | ||
109 | |||
110 | #--enable-passwd enable passwd backend no|yes|mod no | ||
111 | PACKAGECONFIG[passwd] = "--enable-passwd=mod,--enable-passwd=no," | ||
112 | |||
113 | #--enable-perl enable perl backend no|yes|mod no | ||
114 | # This requires a loadable perl dynamic library, if enabled without | ||
115 | # doing something appropriate (building perl?) the build will pick | ||
116 | # up the build machine perl - not good (inherit perlnative?) | ||
117 | PACKAGECONFIG[perl] = "--enable-perl=mod,--enable-perl=no,perl" | ||
118 | |||
119 | #--enable-relay enable relay backend no|yes|mod [yes] | ||
120 | PACKAGECONFIG[relay] = "--enable-relay=mod,--enable-relay=no," | ||
121 | |||
122 | #--enable-shell enable shell backend no|yes|mod no | ||
123 | # configure: WARNING: Use of --without-threads is recommended with back-shell | ||
124 | PACKAGECONFIG[shell] = "--enable-shell=mod --without-threads,--enable-shell=no," | ||
125 | |||
126 | #--enable-sock enable sock backend no|yes|mod [no] | ||
127 | PACKAGECONFIG[sock] = "--enable-sock=mod,--enable-sock=no," | ||
128 | |||
129 | #--enable-sql enable sql backend no|yes|mod no | ||
130 | # sql requires some sql backend which provides sql.h, sqlite* provides | ||
131 | # sqlite.h (which may be compatible but hasn't been tried.) | ||
132 | PACKAGECONFIG[sql] = "--enable-sql=mod,--enable-sql=no,sqlite3" | ||
133 | |||
134 | #--enable-dyngroup Dynamic Group overlay no|yes|mod no | ||
135 | # This is a demo, Proxy Cache defines init_module which conflicts with the | ||
136 | # same symbol in dyngroup | ||
137 | PACKAGECONFIG[dyngroup] = "--enable-dyngroup=mod,--enable-dyngroup=no," | ||
138 | |||
139 | #--enable-proxycache Proxy Cache overlay no|yes|mod no | ||
140 | PACKAGECONFIG[proxycache] = "--enable-proxycache=mod,--enable-proxycache=no," | ||
141 | FILES_${PN}-overlay-proxycache = "${md}/pcache-*.so.*" | ||
142 | PACKAGES += "${PN}-overlay-proxycache" | ||
143 | |||
144 | # Append URANDOM_DEVICE='/dev/urandom' to CPPFLAGS: | ||
145 | # This allows tls to obtain random bits from /dev/urandom, by default | ||
146 | # it was disabled for cross-compiling. | ||
147 | CPPFLAGS_append = " -D_GNU_SOURCE -DURANDOM_DEVICE=\'/dev/urandom\'" | ||
148 | |||
149 | do_configure() { | ||
150 | cp ${STAGING_DATADIR_NATIVE}/libtool/config/ltmain.sh ${S}/build | ||
151 | rm -f ${S}/libtool | ||
152 | aclocal | ||
153 | libtoolize --force --copy | ||
154 | gnu-configize | ||
155 | autoconf | ||
156 | oe_runconf | ||
157 | } | ||
158 | |||
159 | LEAD_SONAME = "libldap-${LDAP_VER}.so.*" | ||
160 | |||
161 | # The executables go in a separate package. This allows the | ||
162 | # installation of the libraries with no daemon support. | ||
163 | # Each module also has its own package - see above. | ||
164 | PACKAGES += "${PN}-slapd ${PN}-slurpd ${PN}-bin" | ||
165 | |||
166 | # Package contents - shift most standard contents to -bin | ||
167 | FILES_${PN} = "${libdir}/lib*.so.* ${sysconfdir}/openldap/ldap.* ${localstatedir}/openldap-data" | ||
168 | FILES_${PN}-slapd = "${sysconfdir}/init.d ${libexecdir}/slapd ${sbindir} ${localstatedir}/run ${localstatedir}/volatile/run \ | ||
169 | ${sysconfdir}/openldap/slapd.* ${sysconfdir}/openldap/schema \ | ||
170 | ${sysconfdir}/openldap/DB_CONFIG.example" | ||
171 | FILES_${PN}-slurpd = "${libexecdir}/slurpd ${localstatedir}/openldap-slurp ${localstatedir}/run ${localstatedir}/volatile/run" | ||
172 | FILES_${PN}-bin = "${bindir}" | ||
173 | FILES_${PN}-dev = "${includedir} ${libdir}/lib*.so ${libdir}/*.la ${libdir}/*.a ${libexecdir}/openldap/*.a ${libexecdir}/openldap/*.la ${libexecdir}/openldap/*.so" | ||
174 | FILES_${PN}-dbg += "${libexecdir}/openldap/.debug" | ||
175 | |||
176 | do_install_append() { | ||
177 | install -d ${D}${sysconfdir}/init.d | ||
178 | cat ${WORKDIR}/initscript > ${D}${sysconfdir}/init.d/openldap | ||
179 | chmod 755 ${D}${sysconfdir}/init.d/openldap | ||
180 | # This is duplicated in /etc/openldap and is for slapd | ||
181 | rm -f ${D}${localstatedir}/openldap-data/DB_CONFIG.example | ||
182 | |||
183 | # Installing slapd under ${sbin} is more FHS and LSB compliance | ||
184 | mv ${D}${libexecdir}/slapd ${D}/${sbindir}/slapd | ||
185 | SLAPTOOLS="slapadd slapcat slapdn slapindex slappasswd slaptest slapauth slapacl slapschema" | ||
186 | cd ${D}/${sbindir}/ | ||
187 | rm -f ${SLAPTOOLS} | ||
188 | for i in ${SLAPTOOLS}; do ln -sf slapd $i; done | ||
189 | |||
190 | rmdir "${D}${localstatedir}/run" | ||
191 | rmdir --ignore-fail-on-non-empty "${D}${localstatedir}" | ||
192 | } | ||
193 | |||
194 | INITSCRIPT_PACKAGES = "${PN}-slapd" | ||
195 | INITSCRIPT_NAME_${PN}-slapd = "openldap" | ||
196 | INITSCRIPT_PARAMS_${PN}-slapd = "defaults" | ||
197 | |||
198 | PACKAGES_DYNAMIC += "^${PN}-backends.* ^${PN}-backend-.*" | ||
199 | |||
200 | python populate_packages_prepend () { | ||
201 | backend_dir = d.expand('${libexecdir}/openldap') | ||
202 | do_split_packages(d, backend_dir, 'back_([a-z]*)\-.*\.so\..*$', 'openldap-backend-%s', 'OpenLDAP %s backend', extra_depends='', allow_links=True) | ||
203 | |||
204 | metapkg = "${PN}-backends" | ||
205 | d.setVar('ALLOW_EMPTY_' + metapkg, "1") | ||
206 | d.setVar('FILES_' + metapkg, "") | ||
207 | metapkg_rdepends = [] | ||
208 | packages = d.getVar('PACKAGES', 1).split() | ||
209 | for pkg in packages[1:]: | ||
210 | if pkg.count("openldap-backend-") and not pkg in metapkg_rdepends and not pkg.count("-dev") and not pkg.count("-dbg") and not pkg.count("static") and not pkg.count("locale"): | ||
211 | metapkg_rdepends.append(pkg) | ||
212 | d.setVar('RDEPENDS_' + metapkg, ' '.join(metapkg_rdepends)) | ||
213 | d.setVar('DESCRIPTION_' + metapkg, 'OpenLDAP backends meta package') | ||
214 | packages.append(metapkg) | ||
215 | d.setVar('PACKAGES', ' '.join(packages)) | ||
216 | } | ||
diff --git a/meta-oe/recipes-support/openmotif/openmotif/configure.patch b/meta-oe/recipes-support/openmotif/openmotif/configure.patch new file mode 100644 index 000000000..8868e805a --- /dev/null +++ b/meta-oe/recipes-support/openmotif/openmotif/configure.patch | |||
@@ -0,0 +1,15 @@ | |||
1 | --- a/configure.ac~ 2009-10-27 14:10:23.000000000 -0200 | ||
2 | +++ b/configure.ac 2011-05-31 10:51:00.207232036 -0300 | ||
3 | @@ -3,12 +3,6 @@ | ||
4 | AC_CONFIG_SRCDIR([lib/Xm/Form.c]) | ||
5 | AC_PREREQ(2.52) | ||
6 | AC_CONFIG_AUX_DIR(.) | ||
7 | -AC_CHECK_FILE(/usr/X/include/X11/X.h, | ||
8 | - AC_PREFIX_DEFAULT(/usr/X), | ||
9 | - AC_PREFIX_DEFAULT(/usr)) | ||
10 | -AC_CHECK_FILE(/usr/X11R6/include/X11/X.h, | ||
11 | - AC_PREFIX_DEFAULT(/usr/X11R6), | ||
12 | - AC_PREFIX_DEFAULT(/usr)) | ||
13 | |||
14 | dnl AM_MAINTAINER_MODE | ||
15 | AC_CANONICAL_TARGET | ||
diff --git a/meta-oe/recipes-support/openmotif/openmotif_2.3.3.bb b/meta-oe/recipes-support/openmotif/openmotif_2.3.3.bb new file mode 100644 index 000000000..2baeda025 --- /dev/null +++ b/meta-oe/recipes-support/openmotif/openmotif_2.3.3.bb | |||
@@ -0,0 +1,48 @@ | |||
1 | SECTION = "libs" | ||
2 | SUMMARY = "OSM/Motif implementation" | ||
3 | LICENSE = "OGPL" | ||
4 | DEPENDS = "xbitmaps virtual/libx11 libxt libxft xproto" | ||
5 | |||
6 | LIC_FILES_CHKSUM = "file://LICENSE;md5=14f692c82491db3d52419929d2f3b343" | ||
7 | |||
8 | PR = "r3" | ||
9 | |||
10 | PNBLACKLIST[openmotif] ?= "BROKEN: doesn't build with B!=S" | ||
11 | |||
12 | SRC_URI = "http://motif.ics.com/sites/default/files/openmotif-2.3.3.tar.gz \ | ||
13 | file://configure.patch;patch=1" | ||
14 | |||
15 | SRC_URI[md5sum] = "fd27cd3369d6c7d5ef79eccba524f7be" | ||
16 | SRC_URI[sha256sum] = "c85f5545e218fa0c59a3789192132d472fc5a33e914a221a568eee4fc10cd103" | ||
17 | |||
18 | inherit autotools | ||
19 | |||
20 | PACKAGECONFIG ??= "" | ||
21 | PACKAGECONFIG[jpeg] = "--enable-jpeg,--disable-jpeg,jpeg" | ||
22 | PACKAGECONFIG[png] = "--enable-png,--disable-png,libpng" | ||
23 | |||
24 | EXTRA_OECONF = "X_CFLAGS=-I${STAGING_INCDIR} --disable-printing" | ||
25 | |||
26 | PACKAGES += "${PN}-bin" | ||
27 | |||
28 | FILES_${PN}-bin = "${bindir}" | ||
29 | |||
30 | do_compile() { | ||
31 | ( | ||
32 | # HACK: build a native binaries need during the build | ||
33 | unset CC LD CXX CCLD CFLAGS | ||
34 | oe_runmake -C config/util CC="${BUILD_CC}" LD="${BUILD_LD}" CXX="${BUILD_CXX}" LIBS="" makestrs | ||
35 | ) | ||
36 | if [ "$?" != "0" ]; then | ||
37 | exit 1 | ||
38 | fi | ||
39 | oe_runmake -C lib | ||
40 | oe_runmake -C include | ||
41 | } | ||
42 | |||
43 | do_install() { | ||
44 | oe_runmake DESTDIR=${D} -C lib install | ||
45 | oe_runmake DESTDIR=${D} -C include install | ||
46 | } | ||
47 | |||
48 | LEAD_SONAME = "libXm.so.4" | ||
diff --git a/meta-oe/recipes-support/opensync/libsyncml_0.5.4.bb b/meta-oe/recipes-support/opensync/libsyncml_0.5.4.bb new file mode 100644 index 000000000..e740b6da2 --- /dev/null +++ b/meta-oe/recipes-support/opensync/libsyncml_0.5.4.bb | |||
@@ -0,0 +1,18 @@ | |||
1 | SUMMARY = "Libsyncml is an implementation of the SyncML protocol" | ||
2 | HOMEPAGE = "https://libsyncml.opensync.org/" | ||
3 | SECTION = "libs" | ||
4 | LICENSE = "LGPLv2.1" | ||
5 | LIC_FILES_CHKSUM = "file://COPYING;md5=fad9b3332be894bab9bc501572864b29" | ||
6 | |||
7 | DEPENDS = "libxml2 glib-2.0 libsoup-2.4 openobex wbxml2" | ||
8 | |||
9 | SRC_URI = "${SOURCEFORGE_MIRROR}/libsyncml/libsyncml-${PV}.tar.gz" | ||
10 | SRC_URI[md5sum] = "84879ed7cb94618530fbcb801a1a4f95" | ||
11 | SRC_URI[sha256sum] = "05d6513637adb1300a3a58b6e29d53ab6373c8f370807d0d925bae72b2920e53" | ||
12 | |||
13 | inherit cmake pkgconfig | ||
14 | |||
15 | PACKAGES += "${PN}-tools" | ||
16 | |||
17 | FILES_${PN}-tools = "${bindir}" | ||
18 | FILES_${PN} = "${libdir}/*.so.*" | ||
diff --git a/meta-oe/recipes-support/opensync/wbxml2_0.10.8.bb b/meta-oe/recipes-support/opensync/wbxml2_0.10.8.bb new file mode 100644 index 000000000..d383c659c --- /dev/null +++ b/meta-oe/recipes-support/opensync/wbxml2_0.10.8.bb | |||
@@ -0,0 +1,21 @@ | |||
1 | SUMMARY = "WBXML parsing and encoding library" | ||
2 | HOMEPAGE = "http://libwbxml.opensync.org/" | ||
3 | SECTION = "libs" | ||
4 | LICENSE = "LGPLv2.1+" | ||
5 | LIC_FILES_CHKSUM = "file://COPYING;md5=c1128ee5341ccd5927d8bafe4b6266e1" | ||
6 | |||
7 | DEPENDS = "expat" | ||
8 | |||
9 | SRC_URI = "${SOURCEFORGE_MIRROR}/libwbxml/libwbxml-${PV}.tar.gz" | ||
10 | |||
11 | SRC_URI[md5sum] = "f5031e9f730ffd9dc6a2d1ded585e1d1" | ||
12 | SRC_URI[sha256sum] = "a057daa098f12838eb4e635bb28413027f1b73819872c3fbf64e3207790a3f7d" | ||
13 | |||
14 | S = "${WORKDIR}/libwbxml-${PV}" | ||
15 | |||
16 | inherit cmake pkgconfig | ||
17 | |||
18 | PACKAGES += "${PN}-tools" | ||
19 | |||
20 | FILES_${PN}-tools = "${bindir}" | ||
21 | FILES_${PN} = "${libdir}/*.so.*" | ||
diff --git a/meta-oe/recipes-support/p11-kit/p11-kit_0.19.1.bb b/meta-oe/recipes-support/p11-kit/p11-kit_0.19.1.bb new file mode 100644 index 000000000..e0ebe7da9 --- /dev/null +++ b/meta-oe/recipes-support/p11-kit/p11-kit_0.19.1.bb | |||
@@ -0,0 +1,18 @@ | |||
1 | SUMMARY = "Provides a way to load and enumerate PKCS#11 modules" | ||
2 | LICENSE = "BSD" | ||
3 | LIC_FILES_CHKSUM = "file://COPYING;md5=02933887f609807fbb57aa4237d14a50" | ||
4 | |||
5 | inherit autotools gettext pkgconfig | ||
6 | |||
7 | DEPENDS = "libtasn1 libffi" | ||
8 | |||
9 | SRC_URI = "http://p11-glue.freedesktop.org/releases/${BP}.tar.gz" | ||
10 | SRC_URI[md5sum] = "d96046ab6ac00d005342caf416ed76ab" | ||
11 | SRC_URI[sha256sum] = "94fbed372c11d0a404762aad966e54eb4f44c1d5b871a1b79a1a3b4cf36ed256" | ||
12 | |||
13 | FILES_${PN}-dev += " \ | ||
14 | ${libdir}/p11-kit-proxy.so \ | ||
15 | ${libdir}/pkcs11/p11-kit-trust.so \ | ||
16 | " | ||
17 | FILES_${PN}-dev += "${libdir}/pkcs11/*.la" | ||
18 | FILES_${PN}-dbg += "${libdir}/pkcs11/.debug" | ||
diff --git a/meta-oe/recipes-support/p910nd/p910nd/fix-var-lock.patch b/meta-oe/recipes-support/p910nd/p910nd/fix-var-lock.patch new file mode 100644 index 000000000..aa84e180e --- /dev/null +++ b/meta-oe/recipes-support/p910nd/p910nd/fix-var-lock.patch | |||
@@ -0,0 +1,30 @@ | |||
1 | Use /var/lock instead of /var/lock/subsys | ||
2 | |||
3 | Upstream-Status: Inappropriate [configuration] | ||
4 | |||
5 | Index: p910nd/p910nd.8 | ||
6 | =================================================================== | ||
7 | --- p910nd.orig/p910nd.8 2011-11-14 22:41:41.904615879 +0100 | ||
8 | +++ p910nd/p910nd.8 2011-11-14 22:49:52.299047607 +0100 | ||
9 | @@ -83,7 +83,7 @@ | ||
10 | .SH "SEE ALSO" | ||
11 | printcap(5), hosts_access(5) | ||
12 | .SH FILES | ||
13 | -/var/run/p9100d.pid, /var/lock/subsys/p9100d, /etc/hosts.allow, /etc/hosts.deny | ||
14 | +/var/run/p9100d.pid, /var/lock/p9100d, /etc/hosts.allow, /etc/hosts.deny | ||
15 | .SH COPYRIGHT | ||
16 | .I p910nd | ||
17 | is under the GNU Public License Version 2 | ||
18 | Index: p910nd/p910nd.c | ||
19 | =================================================================== | ||
20 | --- p910nd.orig/p910nd.c 2011-11-14 22:47:41.986401420 +0100 | ||
21 | +++ p910nd/p910nd.c 2011-11-14 22:49:27.274923524 +0100 | ||
22 | @@ -122,7 +122,7 @@ | ||
23 | #ifdef LOCKFILE_DIR | ||
24 | #define LOCKFILE LOCKFILE_DIR "/p910%cd" | ||
25 | #else | ||
26 | -#define LOCKFILE "/var/lock/subsys/p910%cd" | ||
27 | +#define LOCKFILE "/var/lock/p910%cd" | ||
28 | #endif | ||
29 | #ifndef PRINTERFILE | ||
30 | #define PRINTERFILE "/dev/lp%c" | ||
diff --git a/meta-oe/recipes-support/p910nd/p910nd_0.95.bb b/meta-oe/recipes-support/p910nd/p910nd_0.95.bb new file mode 100644 index 000000000..5ebbb29e1 --- /dev/null +++ b/meta-oe/recipes-support/p910nd/p910nd_0.95.bb | |||
@@ -0,0 +1,22 @@ | |||
1 | DESCRIPTION = "A small network printer daemon for embedded situations that passes the job directly to the printer" | ||
2 | HOMEPAGE = "http://p910nd.sourceforge.net/" | ||
3 | SECTION = "console/utils" | ||
4 | LICENSE = "GPLv2" | ||
5 | LIC_FILES_CHKSUM = "file://COPYING;md5=8ca43cbc842c2336e835926c2166c28b" | ||
6 | |||
7 | PR = "r2" | ||
8 | |||
9 | SRC_URI = "${SOURCEFORGE_MIRROR}/p910nd/p910nd-${PV}.tar.bz2 \ | ||
10 | file://fix-var-lock.patch" | ||
11 | |||
12 | SRC_URI[md5sum] = "c7ac6afdf7730ac8387a8e87198d4491" | ||
13 | SRC_URI[sha256sum] = "7d78642c86dc247fbdef1ff85c56629dcdc6b2a457c786420299e284fffcb029" | ||
14 | |||
15 | do_compile () { | ||
16 | ${CC} ${LDFLAGS} -o p910nd p910nd.c | ||
17 | } | ||
18 | |||
19 | do_install () { | ||
20 | install -D -m 0755 ${S}/p910nd ${D}${sbindir}/p910nd | ||
21 | install -D -m 0644 ${S}/p910nd.conf ${D}${sysconfdir}/p910nd.conf | ||
22 | } | ||
diff --git a/meta-oe/recipes-support/pcsc-lite/pcsc-lite_1.8.6.bb b/meta-oe/recipes-support/pcsc-lite/pcsc-lite_1.8.6.bb new file mode 100644 index 000000000..5a58389ab --- /dev/null +++ b/meta-oe/recipes-support/pcsc-lite/pcsc-lite_1.8.6.bb | |||
@@ -0,0 +1,32 @@ | |||
1 | SUMMARY = "PC/SC Lite smart card framework and applications" | ||
2 | HOMEPAGE = "http://pcsclite.alioth.debian.org/" | ||
3 | LICENSE = "BSD" | ||
4 | LIC_FILES_CHKSUM = "file://COPYING;md5=a39d325b7d9cf2f07826a5154b16500c" | ||
5 | DEPENDS = "udev" | ||
6 | |||
7 | SRC_URI = "https://alioth.debian.org/frs/download.php/file/3757/pcsc-lite-${PV}.tar.bz2" | ||
8 | SRC_URI[md5sum] = "3e4b777231d35ce35c15c0704f936eaa" | ||
9 | SRC_URI[sha256sum] = "1e44049168d1ce55fd56c175f61206955254df0f385455f2a20ec7e8a0e6a77a" | ||
10 | |||
11 | PR = "r3" | ||
12 | |||
13 | inherit autotools systemd pkgconfig | ||
14 | |||
15 | EXTRA_OECONF = " \ | ||
16 | --disable-libusb \ | ||
17 | --enable-libudev \ | ||
18 | --enable-usbdropdir=${libdir}/pcsc/drivers \ | ||
19 | " | ||
20 | |||
21 | S = "${WORKDIR}/pcsc-lite-${PV}" | ||
22 | |||
23 | PACKAGES =+ "${PN}-lib" | ||
24 | |||
25 | RRECOMMENDS_${PN} = "ccid" | ||
26 | |||
27 | FILES_${PN}-lib = "${libdir}/lib*${SOLIBS}" | ||
28 | |||
29 | RPROVIDES_${PN} += "${PN}-systemd" | ||
30 | RREPLACES_${PN} += "${PN}-systemd" | ||
31 | RCONFLICTS_${PN} += "${PN}-systemd" | ||
32 | SYSTEMD_SERVICE_${PN} = "pcscd.socket" | ||
diff --git a/meta-oe/recipes-support/picocom/picocom_1.6.bb b/meta-oe/recipes-support/picocom/picocom_1.6.bb new file mode 100644 index 000000000..6b5200cdd --- /dev/null +++ b/meta-oe/recipes-support/picocom/picocom_1.6.bb | |||
@@ -0,0 +1,17 @@ | |||
1 | SUMMARY = "Lightweight and minimal (~20K) dumb-terminal emulation program" | ||
2 | SECTION = "console/utils" | ||
3 | LICENSE = "GPLv2+" | ||
4 | HOMEPAGE = "http://code.google.com/p/picocom/" | ||
5 | LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=393a5ca445f6965873eca0259a17f833" | ||
6 | |||
7 | SRC_URI = "http://picocom.googlecode.com/files/picocom-1.6.tar.gz" | ||
8 | |||
9 | CPPFLAGS_append = '-DVERSION_STR=\\"${PV}\\" -DUUCP_LOCK_DIR=\\"/var/lock\\" -DHIGH_BAUD' | ||
10 | |||
11 | do_install () { | ||
12 | install -d ${D}${bindir} | ||
13 | install -m 0755 ${PN} pcasc pcxm pcym pczm ${D}${bindir}/ | ||
14 | } | ||
15 | |||
16 | SRC_URI[md5sum] = "426c3d30b82cbc80b0dafdccd6020c6c" | ||
17 | SRC_URI[sha256sum] = "df5774072de805ff06c6b1420dbcc932b1b00e919b49e22a7be14bcad5a0b3a1" | ||
diff --git a/meta-oe/recipes-support/pidgin/libotr/fix_qa-issue_include.patch b/meta-oe/recipes-support/pidgin/libotr/fix_qa-issue_include.patch new file mode 100644 index 000000000..b78663310 --- /dev/null +++ b/meta-oe/recipes-support/pidgin/libotr/fix_qa-issue_include.patch | |||
@@ -0,0 +1,18 @@ | |||
1 | libotr: Fix QA-issue where also files from buildhost would be included | ||
2 | |||
3 | Warning was: | ||
4 | cc1: warning: include location "/usr/include" is unsafe for | ||
5 | cross-compilation [-Wpoison-system-directories] | ||
6 | |||
7 | Upstream-Status: Pending | ||
8 | |||
9 | Signed-off-by: Jakob Drexel <jake42@rommel.stw.uni-erlangen.de> | ||
10 | |||
11 | --- a/toolkit/Makefile.am 2012-05-03 15:52:22.000000000 +0200 | ||
12 | +++ b/toolkit/Makefile.am 2014-01-13 12:12:26.030369357 +0100 | ||
13 | @@ -1,4 +1,4 @@ | ||
14 | -INCLUDES = -I$(includedir) -I../src @LIBGCRYPT_CFLAGS@ | ||
15 | +INCLUDES = -I../src @LIBGCRYPT_CFLAGS@ | ||
16 | |||
17 | noinst_HEADERS = aes.h ctrmode.h parse.h sesskeys.h readotr.h sha1hmac.h | ||
18 | |||
diff --git a/meta-oe/recipes-support/pidgin/libotr/sepbuild.patch b/meta-oe/recipes-support/pidgin/libotr/sepbuild.patch new file mode 100644 index 000000000..f66e52881 --- /dev/null +++ b/meta-oe/recipes-support/pidgin/libotr/sepbuild.patch | |||
@@ -0,0 +1,16 @@ | |||
1 | Fix builds with ${B} != ${S} | ||
2 | |||
3 | Upstream-Status: Pending | ||
4 | |||
5 | RP 2014/7/17 | ||
6 | |||
7 | Index: libotr-4.0.0/toolkit/Makefile.am | ||
8 | =================================================================== | ||
9 | --- libotr-4.0.0.orig/toolkit/Makefile.am 2014-07-16 18:09:59.777858022 +0000 | ||
10 | +++ libotr-4.0.0/toolkit/Makefile.am 2014-07-17 06:28:51.359066155 +0000 | ||
11 | @@ -1,4 +1,4 @@ | ||
12 | -INCLUDES = -I../src @LIBGCRYPT_CFLAGS@ | ||
13 | +INCLUDES = -I$(top_srcdir)/src @LIBGCRYPT_CFLAGS@ | ||
14 | |||
15 | noinst_HEADERS = aes.h ctrmode.h parse.h sesskeys.h readotr.h sha1hmac.h | ||
16 | |||
diff --git a/meta-oe/recipes-support/pidgin/libotr_4.0.0.bb b/meta-oe/recipes-support/pidgin/libotr_4.0.0.bb new file mode 100644 index 000000000..dd9eeab7a --- /dev/null +++ b/meta-oe/recipes-support/pidgin/libotr_4.0.0.bb | |||
@@ -0,0 +1,15 @@ | |||
1 | SUMMARY = "(OTR) Messaging allows you to have private conversations over instant messaging" | ||
2 | HOMEPAGE = "http://www.cypherpunks.ca/otr/" | ||
3 | LICENSE = "GPLv2" | ||
4 | LIC_FILES_CHKSUM = "file://COPYING;md5=92fe174bad6da3763f6e9e9eaff6df24" | ||
5 | DEPENDS = "libgcrypt libgpg-error" | ||
6 | |||
7 | SRC_URI = "http://www.cypherpunks.ca/otr/${BP}.tar.gz \ | ||
8 | file://fix_qa-issue_include.patch \ | ||
9 | file://sepbuild.patch \ | ||
10 | " | ||
11 | |||
12 | SRC_URI[md5sum] = "00979dca82d70383fcd1b01f3974363c" | ||
13 | SRC_URI[sha256sum] = "3f911994409898e74527730745ef35ed75c352c695a1822a677a34b2cf0293b4" | ||
14 | |||
15 | inherit autotools pkgconfig | ||
diff --git a/meta-oe/recipes-support/pidgin/pidgin-otr/ignore_extra-portability_warnings.patch b/meta-oe/recipes-support/pidgin/pidgin-otr/ignore_extra-portability_warnings.patch new file mode 100644 index 000000000..db0ad873b --- /dev/null +++ b/meta-oe/recipes-support/pidgin/pidgin-otr/ignore_extra-portability_warnings.patch | |||
@@ -0,0 +1,19 @@ | |||
1 | pidgin-otr: Silence no-extra-portability warnings | ||
2 | |||
3 | Make it build with OE, was not building with warning turned on | ||
4 | |||
5 | Upstream-Status: Pending | ||
6 | |||
7 | Signed-off-by: Jakob Drexel <jake42@rommel.stw.uni-erlangen.de> | ||
8 | |||
9 | --- a/configure.ac 2012-09-01 17:03:19.000000000 +0200 | ||
10 | +++ b/configure.ac 2014-01-12 21:59:24.920300215 +0100 | ||
11 | @@ -4,7 +4,7 @@ | ||
12 | |||
13 | AM_CONFIG_HEADER(config.h) | ||
14 | |||
15 | -AM_INIT_AUTOMAKE([-Wall -Werror]) | ||
16 | +AM_INIT_AUTOMAKE([-Wall -Werror -Wno-extra-portability]) | ||
17 | |||
18 | AC_PROG_CC | ||
19 | |||
diff --git a/meta-oe/recipes-support/pidgin/pidgin-otr_4.0.0.bb b/meta-oe/recipes-support/pidgin/pidgin-otr_4.0.0.bb new file mode 100644 index 000000000..18dbe0959 --- /dev/null +++ b/meta-oe/recipes-support/pidgin/pidgin-otr_4.0.0.bb | |||
@@ -0,0 +1,19 @@ | |||
1 | SUMMARY = "(OTR) Messaging allows you to have private conversations over instant messaging" | ||
2 | HOMEPAGE = "http://www.cypherpunks.ca/otr/" | ||
3 | LICENSE = "GPLv2" | ||
4 | LIC_FILES_CHKSUM = "file://COPYING;md5=92fe174bad6da3763f6e9e9eaff6df24" | ||
5 | DEPENDS = "libgcrypt libotr pidgin intltool-native" | ||
6 | |||
7 | SRC_URI = "http://www.cypherpunks.ca/otr/${BP}.tar.gz \ | ||
8 | file://ignore_extra-portability_warnings.patch \ | ||
9 | " | ||
10 | |||
11 | SRC_URI[md5sum] = "eadb953376acc474e56041d4c12aa2c8" | ||
12 | SRC_URI[sha256sum] = "d56b3f092dbe9ee6597641c7d2dd294884dc04ba47aaf4ec571cd54977df4691" | ||
13 | |||
14 | |||
15 | FILES_${PN} = "${libdir}/pidgin/*" | ||
16 | FILES_${PN}-dbg = "${libdir}/pidgin/.debug" | ||
17 | FILES_${PN}-dbg += "${libdir}/pidgin/.debug/pidgin-otr.so" | ||
18 | FILES_${PN}-dbg += "/usr/src/debug/pidgin-otr/${PV}-${PR}/${P}/*" | ||
19 | inherit autotools pkgconfig | ||
diff --git a/meta-oe/recipes-support/pidgin/pidgin/pidgin-cross-python-265.patch b/meta-oe/recipes-support/pidgin/pidgin/pidgin-cross-python-265.patch new file mode 100644 index 000000000..57c4c4681 --- /dev/null +++ b/meta-oe/recipes-support/pidgin/pidgin/pidgin-cross-python-265.patch | |||
@@ -0,0 +1,16 @@ | |||
1 | Index: pidgin-2.6.5/configure.ac | ||
2 | =================================================================== | ||
3 | --- pidgin-2.6.5.orig/configure.ac | ||
4 | +++ pidgin-2.6.5/configure.ac | ||
5 | @@ -1470,8 +1470,9 @@ if test "_$pythonpath" != _ ; then | ||
6 | AC_CHECK_LIB(pthread, pthread_create, ) | ||
7 | AC_CHECK_LIB(util, openpty, ) | ||
8 | AC_CHECK_LIB(db, dbopen, ) | ||
9 | - PY_LIBS="-L$PY_EXEC_PREFIX/lib/python$PY_VERSION/config -lpython$PY_VERSION" | ||
10 | - PY_CFLAGS="-I$PY_PREFIX/include/python$PY_VERSION" | ||
11 | + m4_pattern_allow([^PKG_CONFIG_SYSROOT_DIR$]) | ||
12 | + PY_LIBS="-L$PKG_CONFIG_SYSROOT_DIR/usr/lib/python$PY_VERSION/config -lpython$PY_VERSION" | ||
13 | + PY_CFLAGS="-I$PKG_CONFIG_SYSROOT_DIR/usr/include/python$PY_VERSION" | ||
14 | AC_DEFINE(USE_PYTHON, [1], [Define if python headers are available.]) | ||
15 | AC_MSG_RESULT(ok) | ||
16 | else | ||
diff --git a/meta-oe/recipes-support/pidgin/pidgin/pidgin.desktop-set-icon.patch b/meta-oe/recipes-support/pidgin/pidgin/pidgin.desktop-set-icon.patch new file mode 100644 index 000000000..05f76895b --- /dev/null +++ b/meta-oe/recipes-support/pidgin/pidgin/pidgin.desktop-set-icon.patch | |||
@@ -0,0 +1,11 @@ | |||
1 | --- pidgin-2.0.1/pidgin.desktop.in.orig 2007-06-20 23:50:44.000000000 +0000 | ||
2 | +++ pidgin-2.0.1/pidgin.desktop.in 2007-06-20 23:51:05.000000000 +0000 | ||
3 | @@ -4,7 +4,7 @@ | ||
4 | _GenericName=Internet Messenger | ||
5 | _Comment=Send instant messages over multiple protocols | ||
6 | Exec=pidgin | ||
7 | -Icon=pidgin | ||
8 | +Icon=/usr/share/icons/hicolor/48x48/apps/pidgin.png | ||
9 | StartupNotify=true | ||
10 | Terminal=false | ||
11 | Type=Application | ||
diff --git a/meta-oe/recipes-support/pidgin/pidgin/purple-OE-branding-25.patch b/meta-oe/recipes-support/pidgin/pidgin/purple-OE-branding-25.patch new file mode 100644 index 000000000..293ef709d --- /dev/null +++ b/meta-oe/recipes-support/pidgin/pidgin/purple-OE-branding-25.patch | |||
@@ -0,0 +1,16 @@ | |||
1 | Index: pidgin-2.5.0/libpurple/protocols/irc/irc.h | ||
2 | =================================================================== | ||
3 | --- pidgin-2.5.0.orig/libpurple/protocols/irc/irc.h 2008-08-19 01:53:38.000000000 +0000 | ||
4 | +++ pidgin-2.5.0/libpurple/protocols/irc/irc.h 2008-08-27 11:15:58.000000000 +0000 | ||
5 | @@ -36,9 +36,9 @@ | ||
6 | |||
7 | #define IRC_DEFAULT_CHARSET "UTF-8" | ||
8 | #define IRC_DEFAULT_AUTODETECT FALSE | ||
9 | -#define IRC_DEFAULT_ALIAS "purple" | ||
10 | +#define IRC_DEFAULT_ALIAS "OE-user" | ||
11 | |||
12 | -#define IRC_DEFAULT_QUIT "Leaving." | ||
13 | +#define IRC_DEFAULT_QUIT "Powered by OE: www.openembedded.org" | ||
14 | |||
15 | #define IRC_INITIAL_BUFSIZE 1024 | ||
16 | |||
diff --git a/meta-oe/recipes-support/pidgin/pidgin/sanitize-configure.ac.patch b/meta-oe/recipes-support/pidgin/pidgin/sanitize-configure.ac.patch new file mode 100644 index 000000000..a77d64f40 --- /dev/null +++ b/meta-oe/recipes-support/pidgin/pidgin/sanitize-configure.ac.patch | |||
@@ -0,0 +1,33 @@ | |||
1 | --- /tmp/configure.ac 2007-05-08 17:29:02.000000000 +0200 | ||
2 | +++ pidgin-2.0.0/configure.ac 2007-05-08 17:30:30.325251000 +0200 | ||
3 | @@ -472,7 +472,7 @@ | ||
4 | if test "x$enable_consoleui" = "xyes"; then | ||
5 | dnl # Some distros put the headers in ncursesw/, some don't | ||
6 | found_ncurses_h=no | ||
7 | - for location in $ac_ncurses_includes $NCURSES_HEADERS /usr/include/ncursesw /usr/include | ||
8 | + for location in $ac_ncurses_includes $NCURSES_HEADERS | ||
9 | do | ||
10 | f="$location/ncurses.h" | ||
11 | AC_CHECK_HEADER($f,[ | ||
12 | @@ -1860,10 +1860,6 @@ | ||
13 | KRB4_CFLAGS="$KRB4_CFLAGS -I${kerberos}/include/kerberosIV" | ||
14 | fi | ||
15 | KRB4_LDFLAGS="-L${kerberos}/lib" | ||
16 | - elif test -d /usr/local/include/kerberosIV ; then | ||
17 | - KRB4_CFLAGS="-I/usr/local/include/kerberosIV" | ||
18 | - elif test -d /usr/include/kerberosIV ; then | ||
19 | - KRB4_CFLAGS="-I/usr/include/kerberosIV" | ||
20 | fi | ||
21 | AC_DEFINE(ZEPHYR_USES_KERBEROS, 1, [Define if kerberos should be used in Zephyr.]) | ||
22 | |||
23 | @@ -1896,10 +1892,6 @@ | ||
24 | ZEPHYR_LDFLAGS="-L${zephyr}/lib" | ||
25 | elif test -d /usr/athena/include/zephyr ; then | ||
26 | ZEPHYR_CFLAGS="-I/usr/athena/include" | ||
27 | - elif test -d /usr/include/zephyr ; then | ||
28 | - ZEPHYR_CFLAGS="-I/usr/include" | ||
29 | - elif test -d /usr/local/include/zephyr ; then | ||
30 | - ZEPHYR_CFLAGS="-I/usr/local/include" | ||
31 | fi | ||
32 | AC_DEFINE(LIBZEPHYR_EXT, 1 , [Define if external libzephyr should be used.]) | ||
33 | AM_CONDITIONAL(EXTERNAL_LIBZEPHYR, test "x$zephyr" != "xno") | ||
diff --git a/meta-oe/recipes-support/pidgin/pidgin_2.10.9.bb b/meta-oe/recipes-support/pidgin/pidgin_2.10.9.bb new file mode 100644 index 000000000..b63535237 --- /dev/null +++ b/meta-oe/recipes-support/pidgin/pidgin_2.10.9.bb | |||
@@ -0,0 +1,106 @@ | |||
1 | DESCRIPTION = "multi-protocol instant messaging client" | ||
2 | SECTION = "x11/network" | ||
3 | LICENSE = "GPLv2" | ||
4 | LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe" | ||
5 | DEPENDS = "python startup-notification avahi gtk+ ncurses gnutls virtual/libintl gstreamer dbus intltool-native farsight2 libidn" | ||
6 | |||
7 | inherit autotools gettext pkgconfig gconf perlnative | ||
8 | |||
9 | SRC_URI = "\ | ||
10 | ${SOURCEFORGE_MIRROR}/pidgin/pidgin-${PV}.tar.bz2 \ | ||
11 | file://sanitize-configure.ac.patch \ | ||
12 | file://pidgin.desktop-set-icon.patch \ | ||
13 | file://purple-OE-branding-25.patch \ | ||
14 | file://pidgin-cross-python-265.patch \ | ||
15 | " | ||
16 | |||
17 | SRC_URI[md5sum] = "10a4a69d077893f6dd3438cd8af94e81" | ||
18 | SRC_URI[sha256sum] = "dc362ed8577f623eea4554a79e917073aa726825074fea402f2e515f0f51f319" | ||
19 | |||
20 | EXTRA_OECONF = " \ | ||
21 | --enable-vv \ | ||
22 | --disable-perl \ | ||
23 | --disable-tcl \ | ||
24 | --disable-gevolution \ | ||
25 | --disable-schemas-install \ | ||
26 | --x-includes=${STAGING_INCDIR} \ | ||
27 | --x-libraries=${STAGING_LIBDIR} \ | ||
28 | --enable-gnutls=yes \ | ||
29 | --with-ncurses-headers=${STAGING_INCDIR} \ | ||
30 | --with-gnutls-includes=${STAGING_INCDIR} \ | ||
31 | --with-gnutls-libs=${STAGING_LIBDIR} \ | ||
32 | --disable-gtkspell \ | ||
33 | --disable-meanwhile \ | ||
34 | --disable-nm \ | ||
35 | --disable-screensaver \ | ||
36 | --enable-nss=no \ | ||
37 | " | ||
38 | |||
39 | do_configure_prepend() { | ||
40 | touch ${S}/po/Makefile | ||
41 | sed -i "s#PY_VERSION=`$PYTHON -c 'import sys ; print sys.version[0:3]'`#PY_VERSION=${PYTHON_BASEVERSION}#g" ${S}/configure.ac | ||
42 | } | ||
43 | |||
44 | OE_LT_RPATH_ALLOW=":${libdir}/purple-2:" | ||
45 | OE_LT_RPATH_ALLOW[export]="1" | ||
46 | |||
47 | PACKAGES =+ "libpurple-dbg libpurple-dev libpurple libgnt-dbg libgnt libgnt-dev finch-dbg finch finch-dev ${PN}-data" | ||
48 | |||
49 | LEAD_SONAME = "libpurple.so.0" | ||
50 | FILES_libpurple = "${libdir}/libpurple*.so.* ${libdir}/purple-2 ${bindir}/purple-* ${sysconfdir}/gconf/schemas/purple* ${datadir}/purple/ca-certs" | ||
51 | FILES_libpurple-dev = "${libdir}/libpurple*.la \ | ||
52 | ${libdir}/libpurple*.so \ | ||
53 | ${libdir}/purple-2/*.la \ | ||
54 | ${libdir}/purple-2/libjabber.so \ | ||
55 | ${libdir}/purple-2/liboscar.so \ | ||
56 | ${libdir}/purple-2/libymsg.so \ | ||
57 | ${datadir}/aclocal" | ||
58 | FILES_libpurple-dbg += "${libdir}/.debug/libpurple* \ | ||
59 | ${libdir}/purple-2/.debug" | ||
60 | FILES_libgnt = "${libdir}/libgnt.so.* ${libdir}/gnt/*.so" | ||
61 | FILES_libgnt-dev = "${libdir}/gnt/*.la" | ||
62 | FILES_libgnt-dbg = "${libdir}/gnt/.debug" | ||
63 | FILES_finch = "${bindir}/finch" | ||
64 | FILES_finch-dev = "${libdir}/finch/*.la" | ||
65 | FILES_finch-dbg = "${bindir}/.debug/finch \ | ||
66 | ${libdir}/finch/.debug" | ||
67 | |||
68 | FILES_${PN} = "${bindir} ${datadir}/${PN} ${libdir}/${PN}/*.so \ | ||
69 | ${datadir}/applications" | ||
70 | RRECOMMENDS_${PN} = "${PN}-data libpurple-plugin-ssl-gnutls libpurple-protocol-irc libpurple-protocol-xmpp" | ||
71 | |||
72 | FILES_${PN}-data = "${datadir}/pixmaps ${datadir}/sounds ${datadir}/icons" | ||
73 | FILES_${PN}-dev += "${libdir}/${PN}/*.la" | ||
74 | |||
75 | PACKAGES_DYNAMIC += "^libpurple-protocol-.* ^libpurple-plugin-.* ^pidgin-plugin-.* ^finch-plugin-.*" | ||
76 | |||
77 | python populate_packages_prepend () { | ||
78 | pidgroot = d.expand('${libdir}/pidgin') | ||
79 | purple = d.expand('${libdir}/purple-2') | ||
80 | finch = d.expand('${libdir}/finch') | ||
81 | |||
82 | do_split_packages(d, pidgroot, '^([^l][^i][^b].*)\.so$', | ||
83 | output_pattern='pidgin-plugin-%s', | ||
84 | description='Pidgin plugin %s', | ||
85 | prepend=True, extra_depends='') | ||
86 | |||
87 | do_split_packages(d, purple, '^lib(.*)\.so$', | ||
88 | output_pattern='libpurple-protocol-%s', | ||
89 | description='Libpurple protocol plugin for %s', | ||
90 | prepend=True, extra_depends='') | ||
91 | |||
92 | do_split_packages(d, purple, '^(ssl-.*)\.so$', | ||
93 | output_pattern='libpurple-plugin-%s', | ||
94 | description='libpurple plugin %s', | ||
95 | prepend=True, extra_depends='libpurple-plugin-ssl') | ||
96 | |||
97 | do_split_packages(d, purple, '^([^l][^i][^b].*)\.so$', | ||
98 | output_pattern='libpurple-plugin-%s', | ||
99 | description='libpurple plugin %s', | ||
100 | prepend=True, extra_depends='') | ||
101 | |||
102 | do_split_packages(d, finch, '^([^l][^i][^b].*)\.so$', | ||
103 | output_pattern='finch-plugin-%s', | ||
104 | description='Finch plugin %s', | ||
105 | prepend=True, extra_depends='') | ||
106 | } | ||
diff --git a/meta-oe/recipes-support/pngcheck/pngcheck_2.3.0.bb b/meta-oe/recipes-support/pngcheck/pngcheck_2.3.0.bb new file mode 100644 index 000000000..445e8ad8e --- /dev/null +++ b/meta-oe/recipes-support/pngcheck/pngcheck_2.3.0.bb | |||
@@ -0,0 +1,22 @@ | |||
1 | SUMMARY = "pngcheck verifies the integrity of PNG, JNG and MNG files" | ||
2 | HOMEPAGE = "http://www.libpng.org/pub/png/apps/pngcheck.html" | ||
3 | LICENSE = "GPLv2" | ||
4 | LIC_FILES_CHKSUM = "file://gpl/COPYING;md5=94d55d512a9ba36caa9b7df079bae19f" | ||
5 | DEPENDS = "zlib libpng" | ||
6 | |||
7 | SRC_URI = "${SOURCEFORGE_MIRROR}/project/png-mng/${BPN}/${PV}/${BPN}-${PV}.tar.gz" | ||
8 | |||
9 | SRC_URI[md5sum] = "980bd6d9a3830fdce746d7fe3c9166ee" | ||
10 | SRC_URI[sha256sum] = "77f0a039ac64df55fbd06af6f872fdbad4f639d009bbb5cd5cbe4db25690f35f" | ||
11 | |||
12 | do_compile() { | ||
13 | oe_runmake -f Makefile.unx INCS=-I${STAGING_DIR_HOST}${incdir} LIBS=${STAGING_DIR_HOST}${libdir}/libz.a | ||
14 | } | ||
15 | |||
16 | do_install() { | ||
17 | install -d ${D}${bindir} | ||
18 | install pngcheck ${D}${bindir} | ||
19 | install png-fix-IDAT-windowsize ${D}${bindir} | ||
20 | install pngsplit ${D}${bindir} | ||
21 | } | ||
22 | |||
diff --git a/meta-oe/recipes-support/poppler/poppler-data_0.4.6.bb b/meta-oe/recipes-support/poppler/poppler-data_0.4.6.bb new file mode 100644 index 000000000..014ba7cdd --- /dev/null +++ b/meta-oe/recipes-support/poppler/poppler-data_0.4.6.bb | |||
@@ -0,0 +1,21 @@ | |||
1 | SUMMARY = "Poppler is a PDF rendering library based on the xpdf-3.0 code base" | ||
2 | LICENSE = "Adobe" | ||
3 | LIC_FILES_CHKSUM = "file://COPYING;md5=4870b98343f0bbb25fa43b9d2ba59448 \ | ||
4 | file://COPYING.adobe;md5=63c6a8a9df204c00461fa5f163d8a663 \ | ||
5 | file://COPYING.gpl2;md5=751419260aa954499f7abaabaa882bbe \ | ||
6 | " | ||
7 | |||
8 | inherit allarch | ||
9 | |||
10 | SRC_URI = "http://poppler.freedesktop.org/${BP}.tar.gz" | ||
11 | SRC_URI[md5sum] = "a8a7ca808827dd674faba6e4fc73b471" | ||
12 | SRC_URI[sha256sum] = "f306901dfa5bda90cd6663d4eedb1c773c3c709de78018c79f1282b2c8f90afa" | ||
13 | |||
14 | do_compile() { | ||
15 | } | ||
16 | |||
17 | do_install() { | ||
18 | oe_runmake install DESTDIR=${D} | ||
19 | } | ||
20 | |||
21 | FILES_${PN} += "${datadir}" | ||
diff --git a/meta-oe/recipes-support/poppler/poppler_0.26.5.bb b/meta-oe/recipes-support/poppler/poppler_0.26.5.bb new file mode 100644 index 000000000..d11963961 --- /dev/null +++ b/meta-oe/recipes-support/poppler/poppler_0.26.5.bb | |||
@@ -0,0 +1,39 @@ | |||
1 | SUMMARY = "Poppler is a PDF rendering library based on the xpdf-3.0 code base" | ||
2 | LICENSE = "GPLv2" | ||
3 | LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe" | ||
4 | |||
5 | SRC_URI = " \ | ||
6 | http://poppler.freedesktop.org/${BP}.tar.xz \ | ||
7 | " | ||
8 | SRC_URI[md5sum] = "786c943eee550e3a977c181e7778b1c8" | ||
9 | SRC_URI[sha256sum] = "de7de5fa337431e5d1f372e8577b3707322f1dbc1dc28a70f2927476f134d1ee" | ||
10 | |||
11 | DEPENDS = "fontconfig zlib cairo lcms" | ||
12 | |||
13 | inherit autotools pkgconfig gtk-doc | ||
14 | |||
15 | PACKAGECONFIG ??= "jpeg png tiff" | ||
16 | PACKAGECONFIG[jpeg] = "--enable-libjpeg,--disable-libjpeg,jpeg" | ||
17 | PACKAGECONFIG[png] = "--enable-libpng,--disable-libpng,libpng" | ||
18 | PACKAGECONFIG[tiff] = "--enable-libtiff,--disable-libtiff,tiff" | ||
19 | |||
20 | EXTRA_OECONF = "\ | ||
21 | --enable-xpdf-headers \ | ||
22 | --disable-gtk-test \ | ||
23 | --disable-poppler-qt4 \ | ||
24 | --enable-zlib \ | ||
25 | " | ||
26 | |||
27 | # check for TARGET_FPU=soft and inform configure of the result so it can disable some floating points | ||
28 | def get_poppler_fpu_setting(bb, d): | ||
29 | if d.getVar('TARGET_FPU', 1) in [ 'soft' ]: | ||
30 | return "--enable-fixedpoint" | ||
31 | return "" | ||
32 | |||
33 | EXTRA_OECONF += "${@get_poppler_fpu_setting(bb, d)}" | ||
34 | |||
35 | PACKAGES =+ "libpoppler libpoppler-glib" | ||
36 | FILES_libpoppler = "${libdir}/libpoppler.so.*" | ||
37 | FILES_libpoppler-glib = "${libdir}/libpoppler-glib.so.*" | ||
38 | |||
39 | RDEPENDS_${PN} = "poppler-data" | ||
diff --git a/meta-oe/recipes-support/portaudio/portaudio-v19_svn.bb b/meta-oe/recipes-support/portaudio/portaudio-v19_svn.bb new file mode 100644 index 000000000..c8d7378eb --- /dev/null +++ b/meta-oe/recipes-support/portaudio/portaudio-v19_svn.bb | |||
@@ -0,0 +1,32 @@ | |||
1 | SUMMARY = "A portable audio library" | ||
2 | SECTION = "libs/multimedia" | ||
3 | LICENSE = "PortAudio" | ||
4 | LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=26107732c2ab637c5710446fcfaf02df" | ||
5 | |||
6 | PV = "v19+svnr${SRCPV}" | ||
7 | |||
8 | SRCREV = "1387" | ||
9 | SRC_URI = "svn://subversion.assembla.com/svn/portaudio/portaudio;module=trunk;protocol=http" | ||
10 | S = "${WORKDIR}/trunk" | ||
11 | |||
12 | inherit autotools pkgconfig | ||
13 | |||
14 | PACKAGECONFIG ??= "alsa jack" | ||
15 | PACKAGECONFIG[alsa] = "--with-alsa, --without-alsa, alsa-lib," | ||
16 | PACKAGECONFIG[jack] = "--with-jack, --without-jack, jack," | ||
17 | |||
18 | EXTRA_OECONF = "--without-oss" | ||
19 | |||
20 | TESTS = " pa_devs patest1 patest_hang patest_many patest_prime patest_sine patest_stop patest_write_sine \ | ||
21 | pa_fuzz patest_buffer patest_in_overflow patest_maxsines patest_read_record patest_sine8 patest_sync \ | ||
22 | pa_minlat patest_callbackstop patest_latency patest_multi_sine patest_record patest_sine_formats patest_toomanysines \ | ||
23 | paqa_devs patest_clip patest_leftright patest_out_underflow patest_ringmix patest_sine_time patest_underflow \ | ||
24 | paqa_errs patest_dither patest_longsine patest_pink patest_saw patest_start_stop patest_wire" | ||
25 | |||
26 | # DEFINES = PA_USE_OSS=1 HAVE_LIBPTHREAD=1 | ||
27 | # DEFINES += PA_LITTLE_ENDIAN | ||
28 | |||
29 | # INCLUDEPATH = ../pa_common | ||
30 | |||
31 | PACKAGES += "portaudio-examples" | ||
32 | FILES_portaudio-examples = "${bindir}" | ||
diff --git a/meta-oe/recipes-support/postgresql/files/0001-Use-pkg-config-for-libxml2-detection.patch b/meta-oe/recipes-support/postgresql/files/0001-Use-pkg-config-for-libxml2-detection.patch new file mode 100644 index 000000000..d08ec6af1 --- /dev/null +++ b/meta-oe/recipes-support/postgresql/files/0001-Use-pkg-config-for-libxml2-detection.patch | |||
@@ -0,0 +1,43 @@ | |||
1 | From d52e330be895bb8c5f0fb3e2884766acbd942a85 Mon Sep 17 00:00:00 2001 | ||
2 | From: Philip Balister <philip@balister.org> | ||
3 | Date: Tue, 1 Jul 2014 09:40:44 -0400 | ||
4 | Subject: [PATCH] Use pkg-config for libxml2 detection. | ||
5 | |||
6 | Upstream-Status: Inappropriate [configuration] | ||
7 | |||
8 | xml2-config does not work. Use pkgconfig to set CPPFLAGS and LIBS. | ||
9 | |||
10 | Signed-off-by: Philip Balister <philip@balister.org> | ||
11 | --- | ||
12 | configure.in | 15 ++------------- | ||
13 | 1 file changed, 2 insertions(+), 13 deletions(-) | ||
14 | |||
15 | diff --git a/configure.in b/configure.in | ||
16 | index f8bf466..1f4fabf 100644 | ||
17 | --- a/configure.in | ||
18 | +++ b/configure.in | ||
19 | @@ -734,19 +734,8 @@ PGAC_ARG_BOOL(with, libxml, no, [build with XML support], | ||
20 | [AC_DEFINE([USE_LIBXML], 1, [Define to 1 to build with XML support. (--with-libxml)])]) | ||
21 | |||
22 | if test "$with_libxml" = yes ; then | ||
23 | - AC_CHECK_PROGS(XML2_CONFIG, xml2-config) | ||
24 | - if test -n "$XML2_CONFIG"; then | ||
25 | - for pgac_option in `$XML2_CONFIG --cflags`; do | ||
26 | - case $pgac_option in | ||
27 | - -I*|-D*) CPPFLAGS="$CPPFLAGS $pgac_option";; | ||
28 | - esac | ||
29 | - done | ||
30 | - for pgac_option in `$XML2_CONFIG --libs`; do | ||
31 | - case $pgac_option in | ||
32 | - -L*) LDFLAGS="$LDFLAGS $pgac_option";; | ||
33 | - esac | ||
34 | - done | ||
35 | - fi | ||
36 | + CPPFLAGS="$CPPFLAGS `pkg-config --short-errors --print-errors --cflags "libxml-2.0" 2>&1`" | ||
37 | + LIBS="`pkg-config --short-errors --print-errors --libs "libxml-2.0" 2>&1` $LIBS" | ||
38 | fi | ||
39 | |||
40 | AC_SUBST(with_libxml) | ||
41 | -- | ||
42 | 1.8.3.1 | ||
43 | |||
diff --git a/meta-oe/recipes-support/postgresql/files/0002-Predict-integer-overflow-to-avoid-buffer-overruns.patch b/meta-oe/recipes-support/postgresql/files/0002-Predict-integer-overflow-to-avoid-buffer-overruns.patch new file mode 100644 index 000000000..c8b4c80aa --- /dev/null +++ b/meta-oe/recipes-support/postgresql/files/0002-Predict-integer-overflow-to-avoid-buffer-overruns.patch | |||
@@ -0,0 +1,605 @@ | |||
1 | From 12bbce15d93d7692ddff1405aa04b67f8a327f57 Mon Sep 17 00:00:00 2001 | ||
2 | From: Noah Misch <noah@leadboat.com> | ||
3 | Date: Mon, 17 Feb 2014 09:33:31 -0500 | ||
4 | Subject: [PATCH] Predict integer overflow to avoid buffer overruns. | ||
5 | |||
6 | commit 12bbce15d93d7692ddff1405aa04b67f8a327f57 REL9_2_STABLE | ||
7 | |||
8 | Several functions, mostly type input functions, calculated an allocation | ||
9 | size such that the calculation wrapped to a small positive value when | ||
10 | arguments implied a sufficiently-large requirement. Writes past the end | ||
11 | of the inadvertent small allocation followed shortly thereafter. | ||
12 | Coverity identified the path_in() vulnerability; code inspection led to | ||
13 | the rest. In passing, add check_stack_depth() to prevent stack overflow | ||
14 | in related functions. | ||
15 | |||
16 | Back-patch to 8.4 (all supported versions). The non-comment hstore | ||
17 | changes touch code that did not exist in 8.4, so that part stops at 9.0. | ||
18 | |||
19 | Noah Misch and Heikki Linnakangas, reviewed by Tom Lane. | ||
20 | |||
21 | Security: CVE-2014-0064 | ||
22 | |||
23 | Upstream-Status: Backport | ||
24 | |||
25 | Signed-off-by: Kai Kang <kai.kang@windriver.com> | ||
26 | --- | ||
27 | contrib/hstore/hstore.h | 15 ++++++++++++--- | ||
28 | contrib/hstore/hstore_io.c | 21 +++++++++++++++++++++ | ||
29 | contrib/hstore/hstore_op.c | 15 +++++++++++++++ | ||
30 | contrib/intarray/_int.h | 2 ++ | ||
31 | contrib/intarray/_int_bool.c | 9 +++++++++ | ||
32 | contrib/ltree/ltree.h | 3 +++ | ||
33 | contrib/ltree/ltree_io.c | 11 +++++++++++ | ||
34 | contrib/ltree/ltxtquery_io.c | 13 ++++++++++++- | ||
35 | src/backend/utils/adt/geo_ops.c | 30 ++++++++++++++++++++++++++++-- | ||
36 | src/backend/utils/adt/tsquery.c | 7 ++++++- | ||
37 | src/backend/utils/adt/tsquery_util.c | 5 +++++ | ||
38 | src/backend/utils/adt/txid.c | 15 +++++---------- | ||
39 | src/backend/utils/adt/varbit.c | 32 ++++++++++++++++++++++++++++++-- | ||
40 | src/include/tsearch/ts_type.h | 3 +++ | ||
41 | src/include/utils/varbit.h | 7 +++++++ | ||
42 | 15 files changed, 169 insertions(+), 19 deletions(-) | ||
43 | |||
44 | diff --git a/contrib/hstore/hstore.h b/contrib/hstore/hstore.h | ||
45 | index 8906397..4e55f6e 100644 | ||
46 | --- a/contrib/hstore/hstore.h | ||
47 | +++ b/contrib/hstore/hstore.h | ||
48 | @@ -49,9 +49,12 @@ typedef struct | ||
49 | } HStore; | ||
50 | |||
51 | /* | ||
52 | - * it's not possible to get more than 2^28 items into an hstore, | ||
53 | - * so we reserve the top few bits of the size field. See hstore_compat.c | ||
54 | - * for one reason why. Some bits are left for future use here. | ||
55 | + * It's not possible to get more than 2^28 items into an hstore, so we reserve | ||
56 | + * the top few bits of the size field. See hstore_compat.c for one reason | ||
57 | + * why. Some bits are left for future use here. MaxAllocSize makes the | ||
58 | + * practical count limit slightly more than 2^28 / 3, or INT_MAX / 24, the | ||
59 | + * limit for an hstore full of 4-byte keys and null values. Therefore, we | ||
60 | + * don't explicitly check the format-imposed limit. | ||
61 | */ | ||
62 | #define HS_FLAG_NEWVERSION 0x80000000 | ||
63 | |||
64 | @@ -59,6 +62,12 @@ typedef struct | ||
65 | #define HS_SETCOUNT(hsp_,c_) ((hsp_)->size_ = (c_) | HS_FLAG_NEWVERSION) | ||
66 | |||
67 | |||
68 | +/* | ||
69 | + * "x" comes from an existing HS_COUNT() (as discussed, <= INT_MAX/24) or a | ||
70 | + * Pairs array length (due to MaxAllocSize, <= INT_MAX/40). "lenstr" is no | ||
71 | + * more than INT_MAX, that extreme case arising in hstore_from_arrays(). | ||
72 | + * Therefore, this calculation is limited to about INT_MAX / 5 + INT_MAX. | ||
73 | + */ | ||
74 | #define HSHRDSIZE (sizeof(HStore)) | ||
75 | #define CALCDATASIZE(x, lenstr) ( (x) * 2 * sizeof(HEntry) + HSHRDSIZE + (lenstr) ) | ||
76 | |||
77 | diff --git a/contrib/hstore/hstore_io.c b/contrib/hstore/hstore_io.c | ||
78 | index dde6c4b..5bcdc95 100644 | ||
79 | --- a/contrib/hstore/hstore_io.c | ||
80 | +++ b/contrib/hstore/hstore_io.c | ||
81 | @@ -9,6 +9,7 @@ | ||
82 | #include "funcapi.h" | ||
83 | #include "libpq/pqformat.h" | ||
84 | #include "utils/lsyscache.h" | ||
85 | +#include "utils/memutils.h" | ||
86 | #include "utils/typcache.h" | ||
87 | |||
88 | #include "hstore.h" | ||
89 | @@ -437,6 +438,11 @@ hstore_recv(PG_FUNCTION_ARGS) | ||
90 | PG_RETURN_POINTER(out); | ||
91 | } | ||
92 | |||
93 | + if (pcount < 0 || pcount > MaxAllocSize / sizeof(Pairs)) | ||
94 | + ereport(ERROR, | ||
95 | + (errcode(ERRCODE_PROGRAM_LIMIT_EXCEEDED), | ||
96 | + errmsg("number of pairs (%d) exceeds the maximum allowed (%d)", | ||
97 | + pcount, (int) (MaxAllocSize / sizeof(Pairs))))); | ||
98 | pairs = palloc(pcount * sizeof(Pairs)); | ||
99 | |||
100 | for (i = 0; i < pcount; ++i) | ||
101 | @@ -552,6 +558,13 @@ hstore_from_arrays(PG_FUNCTION_ARGS) | ||
102 | TEXTOID, -1, false, 'i', | ||
103 | &key_datums, &key_nulls, &key_count); | ||
104 | |||
105 | + /* see discussion in hstoreArrayToPairs() */ | ||
106 | + if (key_count > MaxAllocSize / sizeof(Pairs)) | ||
107 | + ereport(ERROR, | ||
108 | + (errcode(ERRCODE_PROGRAM_LIMIT_EXCEEDED), | ||
109 | + errmsg("number of pairs (%d) exceeds the maximum allowed (%d)", | ||
110 | + key_count, (int) (MaxAllocSize / sizeof(Pairs))))); | ||
111 | + | ||
112 | /* value_array might be NULL */ | ||
113 | |||
114 | if (PG_ARGISNULL(1)) | ||
115 | @@ -674,6 +687,13 @@ hstore_from_array(PG_FUNCTION_ARGS) | ||
116 | |||
117 | count = in_count / 2; | ||
118 | |||
119 | + /* see discussion in hstoreArrayToPairs() */ | ||
120 | + if (count > MaxAllocSize / sizeof(Pairs)) | ||
121 | + ereport(ERROR, | ||
122 | + (errcode(ERRCODE_PROGRAM_LIMIT_EXCEEDED), | ||
123 | + errmsg("number of pairs (%d) exceeds the maximum allowed (%d)", | ||
124 | + count, (int) (MaxAllocSize / sizeof(Pairs))))); | ||
125 | + | ||
126 | pairs = palloc(count * sizeof(Pairs)); | ||
127 | |||
128 | for (i = 0; i < count; ++i) | ||
129 | @@ -805,6 +825,7 @@ hstore_from_record(PG_FUNCTION_ARGS) | ||
130 | my_extra->ncolumns = ncolumns; | ||
131 | } | ||
132 | |||
133 | + Assert(ncolumns <= MaxTupleAttributeNumber); /* thus, no overflow */ | ||
134 | pairs = palloc(ncolumns * sizeof(Pairs)); | ||
135 | |||
136 | if (rec) | ||
137 | diff --git a/contrib/hstore/hstore_op.c b/contrib/hstore/hstore_op.c | ||
138 | index fee2c3c..8de175a 100644 | ||
139 | --- a/contrib/hstore/hstore_op.c | ||
140 | +++ b/contrib/hstore/hstore_op.c | ||
141 | @@ -7,6 +7,7 @@ | ||
142 | #include "catalog/pg_type.h" | ||
143 | #include "funcapi.h" | ||
144 | #include "utils/builtins.h" | ||
145 | +#include "utils/memutils.h" | ||
146 | |||
147 | #include "hstore.h" | ||
148 | |||
149 | @@ -89,6 +90,19 @@ hstoreArrayToPairs(ArrayType *a, int *npairs) | ||
150 | return NULL; | ||
151 | } | ||
152 | |||
153 | + /* | ||
154 | + * A text array uses at least eight bytes per element, so any overflow in | ||
155 | + * "key_count * sizeof(Pairs)" is small enough for palloc() to catch. | ||
156 | + * However, credible improvements to the array format could invalidate | ||
157 | + * that assumption. Therefore, use an explicit check rather than relying | ||
158 | + * on palloc() to complain. | ||
159 | + */ | ||
160 | + if (key_count > MaxAllocSize / sizeof(Pairs)) | ||
161 | + ereport(ERROR, | ||
162 | + (errcode(ERRCODE_PROGRAM_LIMIT_EXCEEDED), | ||
163 | + errmsg("number of pairs (%d) exceeds the maximum allowed (%d)", | ||
164 | + key_count, (int) (MaxAllocSize / sizeof(Pairs))))); | ||
165 | + | ||
166 | key_pairs = palloc(sizeof(Pairs) * key_count); | ||
167 | |||
168 | for (i = 0, j = 0; i < key_count; i++) | ||
169 | @@ -647,6 +661,7 @@ hstore_slice_to_hstore(PG_FUNCTION_ARGS) | ||
170 | PG_RETURN_POINTER(out); | ||
171 | } | ||
172 | |||
173 | + /* hstoreArrayToPairs() checked overflow */ | ||
174 | out_pairs = palloc(sizeof(Pairs) * nkeys); | ||
175 | bufsiz = 0; | ||
176 | |||
177 | diff --git a/contrib/intarray/_int.h b/contrib/intarray/_int.h | ||
178 | index 11c0698..755cd9e 100644 | ||
179 | --- a/contrib/intarray/_int.h | ||
180 | +++ b/contrib/intarray/_int.h | ||
181 | @@ -5,6 +5,7 @@ | ||
182 | #define ___INT_H__ | ||
183 | |||
184 | #include "utils/array.h" | ||
185 | +#include "utils/memutils.h" | ||
186 | |||
187 | /* number ranges for compression */ | ||
188 | #define MAXNUMRANGE 100 | ||
189 | @@ -137,6 +138,7 @@ typedef struct QUERYTYPE | ||
190 | |||
191 | #define HDRSIZEQT offsetof(QUERYTYPE, items) | ||
192 | #define COMPUTESIZE(size) ( HDRSIZEQT + (size) * sizeof(ITEM) ) | ||
193 | +#define QUERYTYPEMAXITEMS ((MaxAllocSize - HDRSIZEQT) / sizeof(ITEM)) | ||
194 | #define GETQUERY(x) ( (x)->items ) | ||
195 | |||
196 | /* "type" codes for ITEM */ | ||
197 | diff --git a/contrib/intarray/_int_bool.c b/contrib/intarray/_int_bool.c | ||
198 | index 4e63f6d..62294d1 100644 | ||
199 | --- a/contrib/intarray/_int_bool.c | ||
200 | +++ b/contrib/intarray/_int_bool.c | ||
201 | @@ -451,6 +451,9 @@ boolop(PG_FUNCTION_ARGS) | ||
202 | static void | ||
203 | findoprnd(ITEM *ptr, int4 *pos) | ||
204 | { | ||
205 | + /* since this function recurses, it could be driven to stack overflow. */ | ||
206 | + check_stack_depth(); | ||
207 | + | ||
208 | #ifdef BS_DEBUG | ||
209 | elog(DEBUG3, (ptr[*pos].type == OPR) ? | ||
210 | "%d %c" : "%d %d", *pos, ptr[*pos].val); | ||
211 | @@ -511,7 +514,13 @@ bqarr_in(PG_FUNCTION_ARGS) | ||
212 | (errcode(ERRCODE_INVALID_PARAMETER_VALUE), | ||
213 | errmsg("empty query"))); | ||
214 | |||
215 | + if (state.num > QUERYTYPEMAXITEMS) | ||
216 | + ereport(ERROR, | ||
217 | + (errcode(ERRCODE_PROGRAM_LIMIT_EXCEEDED), | ||
218 | + errmsg("number of query items (%d) exceeds the maximum allowed (%d)", | ||
219 | + state.num, (int) QUERYTYPEMAXITEMS))); | ||
220 | commonlen = COMPUTESIZE(state.num); | ||
221 | + | ||
222 | query = (QUERYTYPE *) palloc(commonlen); | ||
223 | SET_VARSIZE(query, commonlen); | ||
224 | query->size = state.num; | ||
225 | diff --git a/contrib/ltree/ltree.h b/contrib/ltree/ltree.h | ||
226 | index aec4458..49e9907 100644 | ||
227 | --- a/contrib/ltree/ltree.h | ||
228 | +++ b/contrib/ltree/ltree.h | ||
229 | @@ -5,6 +5,7 @@ | ||
230 | |||
231 | #include "fmgr.h" | ||
232 | #include "tsearch/ts_locale.h" | ||
233 | +#include "utils/memutils.h" | ||
234 | |||
235 | typedef struct | ||
236 | { | ||
237 | @@ -111,6 +112,8 @@ typedef struct | ||
238 | |||
239 | #define HDRSIZEQT MAXALIGN(VARHDRSZ + sizeof(int4)) | ||
240 | #define COMPUTESIZE(size,lenofoperand) ( HDRSIZEQT + (size) * sizeof(ITEM) + (lenofoperand) ) | ||
241 | +#define LTXTQUERY_TOO_BIG(size,lenofoperand) \ | ||
242 | + ((size) > (MaxAllocSize - HDRSIZEQT - (lenofoperand)) / sizeof(ITEM)) | ||
243 | #define GETQUERY(x) (ITEM*)( (char*)(x)+HDRSIZEQT ) | ||
244 | #define GETOPERAND(x) ( (char*)GETQUERY(x) + ((ltxtquery*)x)->size * sizeof(ITEM) ) | ||
245 | |||
246 | diff --git a/contrib/ltree/ltree_io.c b/contrib/ltree/ltree_io.c | ||
247 | index 3e88b81..d64debb 100644 | ||
248 | --- a/contrib/ltree/ltree_io.c | ||
249 | +++ b/contrib/ltree/ltree_io.c | ||
250 | @@ -8,6 +8,7 @@ | ||
251 | #include <ctype.h> | ||
252 | |||
253 | #include "ltree.h" | ||
254 | +#include "utils/memutils.h" | ||
255 | #include "crc32.h" | ||
256 | |||
257 | PG_FUNCTION_INFO_V1(ltree_in); | ||
258 | @@ -64,6 +65,11 @@ ltree_in(PG_FUNCTION_ARGS) | ||
259 | ptr += charlen; | ||
260 | } | ||
261 | |||
262 | + if (num + 1 > MaxAllocSize / sizeof(nodeitem)) | ||
263 | + ereport(ERROR, | ||
264 | + (errcode(ERRCODE_PROGRAM_LIMIT_EXCEEDED), | ||
265 | + errmsg("number of levels (%d) exceeds the maximum allowed (%d)", | ||
266 | + num + 1, (int) (MaxAllocSize / sizeof(nodeitem))))); | ||
267 | list = lptr = (nodeitem *) palloc(sizeof(nodeitem) * (num + 1)); | ||
268 | ptr = buf; | ||
269 | while (*ptr) | ||
270 | @@ -228,6 +234,11 @@ lquery_in(PG_FUNCTION_ARGS) | ||
271 | } | ||
272 | |||
273 | num++; | ||
274 | + if (num > MaxAllocSize / ITEMSIZE) | ||
275 | + ereport(ERROR, | ||
276 | + (errcode(ERRCODE_PROGRAM_LIMIT_EXCEEDED), | ||
277 | + errmsg("number of levels (%d) exceeds the maximum allowed (%d)", | ||
278 | + num, (int) (MaxAllocSize / ITEMSIZE)))); | ||
279 | curqlevel = tmpql = (lquery_level *) palloc0(ITEMSIZE * num); | ||
280 | ptr = buf; | ||
281 | while (*ptr) | ||
282 | diff --git a/contrib/ltree/ltxtquery_io.c b/contrib/ltree/ltxtquery_io.c | ||
283 | index 826f4e1..13ea58d 100644 | ||
284 | --- a/contrib/ltree/ltxtquery_io.c | ||
285 | +++ b/contrib/ltree/ltxtquery_io.c | ||
286 | @@ -9,6 +9,7 @@ | ||
287 | |||
288 | #include "crc32.h" | ||
289 | #include "ltree.h" | ||
290 | +#include "miscadmin.h" | ||
291 | |||
292 | PG_FUNCTION_INFO_V1(ltxtq_in); | ||
293 | Datum ltxtq_in(PG_FUNCTION_ARGS); | ||
294 | @@ -213,6 +214,9 @@ makepol(QPRS_STATE *state) | ||
295 | int4 lenstack = 0; | ||
296 | uint16 flag = 0; | ||
297 | |||
298 | + /* since this function recurses, it could be driven to stack overflow */ | ||
299 | + check_stack_depth(); | ||
300 | + | ||
301 | while ((type = gettoken_query(state, &val, &lenval, &strval, &flag)) != END) | ||
302 | { | ||
303 | switch (type) | ||
304 | @@ -277,6 +281,9 @@ makepol(QPRS_STATE *state) | ||
305 | static void | ||
306 | findoprnd(ITEM *ptr, int4 *pos) | ||
307 | { | ||
308 | + /* since this function recurses, it could be driven to stack overflow. */ | ||
309 | + check_stack_depth(); | ||
310 | + | ||
311 | if (ptr[*pos].type == VAL || ptr[*pos].type == VALTRUE) | ||
312 | { | ||
313 | ptr[*pos].left = 0; | ||
314 | @@ -341,8 +348,12 @@ queryin(char *buf) | ||
315 | errmsg("syntax error"), | ||
316 | errdetail("Empty query."))); | ||
317 | |||
318 | - /* make finish struct */ | ||
319 | + if (LTXTQUERY_TOO_BIG(state.num, state.sumlen)) | ||
320 | + ereport(ERROR, | ||
321 | + (errcode(ERRCODE_PROGRAM_LIMIT_EXCEEDED), | ||
322 | + errmsg("ltxtquery is too large"))); | ||
323 | commonlen = COMPUTESIZE(state.num, state.sumlen); | ||
324 | + | ||
325 | query = (ltxtquery *) palloc(commonlen); | ||
326 | SET_VARSIZE(query, commonlen); | ||
327 | query->size = state.num; | ||
328 | diff --git a/src/backend/utils/adt/geo_ops.c b/src/backend/utils/adt/geo_ops.c | ||
329 | index ac7b4b8..7ebcaaa 100644 | ||
330 | --- a/src/backend/utils/adt/geo_ops.c | ||
331 | +++ b/src/backend/utils/adt/geo_ops.c | ||
332 | @@ -1403,6 +1403,7 @@ path_in(PG_FUNCTION_ARGS) | ||
333 | char *s; | ||
334 | int npts; | ||
335 | int size; | ||
336 | + int base_size; | ||
337 | int depth = 0; | ||
338 | |||
339 | if ((npts = pair_count(str, ',')) <= 0) | ||
340 | @@ -1421,7 +1422,15 @@ path_in(PG_FUNCTION_ARGS) | ||
341 | depth++; | ||
342 | } | ||
343 | |||
344 | - size = offsetof(PATH, p[0]) +sizeof(path->p[0]) * npts; | ||
345 | + base_size = sizeof(path->p[0]) * npts; | ||
346 | + size = offsetof(PATH, p[0]) + base_size; | ||
347 | + | ||
348 | + /* Check for integer overflow */ | ||
349 | + if (base_size / npts != sizeof(path->p[0]) || size <= base_size) | ||
350 | + ereport(ERROR, | ||
351 | + (errcode(ERRCODE_PROGRAM_LIMIT_EXCEEDED), | ||
352 | + errmsg("too many points requested"))); | ||
353 | + | ||
354 | path = (PATH *) palloc(size); | ||
355 | |||
356 | SET_VARSIZE(path, size); | ||
357 | @@ -3465,6 +3474,7 @@ poly_in(PG_FUNCTION_ARGS) | ||
358 | POLYGON *poly; | ||
359 | int npts; | ||
360 | int size; | ||
361 | + int base_size; | ||
362 | int isopen; | ||
363 | char *s; | ||
364 | |||
365 | @@ -3473,7 +3483,15 @@ poly_in(PG_FUNCTION_ARGS) | ||
366 | (errcode(ERRCODE_INVALID_TEXT_REPRESENTATION), | ||
367 | errmsg("invalid input syntax for type polygon: \"%s\"", str))); | ||
368 | |||
369 | - size = offsetof(POLYGON, p[0]) +sizeof(poly->p[0]) * npts; | ||
370 | + base_size = sizeof(poly->p[0]) * npts; | ||
371 | + size = offsetof(POLYGON, p[0]) + base_size; | ||
372 | + | ||
373 | + /* Check for integer overflow */ | ||
374 | + if (base_size / npts != sizeof(poly->p[0]) || size <= base_size) | ||
375 | + ereport(ERROR, | ||
376 | + (errcode(ERRCODE_PROGRAM_LIMIT_EXCEEDED), | ||
377 | + errmsg("too many points requested"))); | ||
378 | + | ||
379 | poly = (POLYGON *) palloc0(size); /* zero any holes */ | ||
380 | |||
381 | SET_VARSIZE(poly, size); | ||
382 | @@ -4379,6 +4397,10 @@ path_poly(PG_FUNCTION_ARGS) | ||
383 | (errcode(ERRCODE_INVALID_PARAMETER_VALUE), | ||
384 | errmsg("open path cannot be converted to polygon"))); | ||
385 | |||
386 | + /* | ||
387 | + * Never overflows: the old size fit in MaxAllocSize, and the new size is | ||
388 | + * just a small constant larger. | ||
389 | + */ | ||
390 | size = offsetof(POLYGON, p[0]) +sizeof(poly->p[0]) * path->npts; | ||
391 | poly = (POLYGON *) palloc(size); | ||
392 | |||
393 | @@ -4484,6 +4506,10 @@ poly_path(PG_FUNCTION_ARGS) | ||
394 | int size; | ||
395 | int i; | ||
396 | |||
397 | + /* | ||
398 | + * Never overflows: the old size fit in MaxAllocSize, and the new size is | ||
399 | + * smaller by a small constant. | ||
400 | + */ | ||
401 | size = offsetof(PATH, p[0]) +sizeof(path->p[0]) * poly->npts; | ||
402 | path = (PATH *) palloc(size); | ||
403 | |||
404 | diff --git a/src/backend/utils/adt/tsquery.c b/src/backend/utils/adt/tsquery.c | ||
405 | index 6e1f8cf..1322b5e 100644 | ||
406 | --- a/src/backend/utils/adt/tsquery.c | ||
407 | +++ b/src/backend/utils/adt/tsquery.c | ||
408 | @@ -515,8 +515,13 @@ parse_tsquery(char *buf, | ||
409 | return query; | ||
410 | } | ||
411 | |||
412 | - /* Pack the QueryItems in the final TSQuery struct to return to caller */ | ||
413 | + if (TSQUERY_TOO_BIG(list_length(state.polstr), state.sumlen)) | ||
414 | + ereport(ERROR, | ||
415 | + (errcode(ERRCODE_PROGRAM_LIMIT_EXCEEDED), | ||
416 | + errmsg("tsquery is too large"))); | ||
417 | commonlen = COMPUTESIZE(list_length(state.polstr), state.sumlen); | ||
418 | + | ||
419 | + /* Pack the QueryItems in the final TSQuery struct to return to caller */ | ||
420 | query = (TSQuery) palloc0(commonlen); | ||
421 | SET_VARSIZE(query, commonlen); | ||
422 | query->size = list_length(state.polstr); | ||
423 | diff --git a/src/backend/utils/adt/tsquery_util.c b/src/backend/utils/adt/tsquery_util.c | ||
424 | index 0724d33..9003702 100644 | ||
425 | --- a/src/backend/utils/adt/tsquery_util.c | ||
426 | +++ b/src/backend/utils/adt/tsquery_util.c | ||
427 | @@ -333,6 +333,11 @@ QTN2QT(QTNode *in) | ||
428 | QTN2QTState state; | ||
429 | |||
430 | cntsize(in, &sumlen, &nnode); | ||
431 | + | ||
432 | + if (TSQUERY_TOO_BIG(nnode, sumlen)) | ||
433 | + ereport(ERROR, | ||
434 | + (errcode(ERRCODE_PROGRAM_LIMIT_EXCEEDED), | ||
435 | + errmsg("tsquery is too large"))); | ||
436 | len = COMPUTESIZE(nnode, sumlen); | ||
437 | |||
438 | out = (TSQuery) palloc0(len); | ||
439 | diff --git a/src/backend/utils/adt/txid.c b/src/backend/utils/adt/txid.c | ||
440 | index 08a8c89..c71daaf 100644 | ||
441 | --- a/src/backend/utils/adt/txid.c | ||
442 | +++ b/src/backend/utils/adt/txid.c | ||
443 | @@ -27,6 +27,7 @@ | ||
444 | #include "miscadmin.h" | ||
445 | #include "libpq/pqformat.h" | ||
446 | #include "utils/builtins.h" | ||
447 | +#include "utils/memutils.h" | ||
448 | #include "utils/snapmgr.h" | ||
449 | |||
450 | |||
451 | @@ -66,6 +67,8 @@ typedef struct | ||
452 | |||
453 | #define TXID_SNAPSHOT_SIZE(nxip) \ | ||
454 | (offsetof(TxidSnapshot, xip) + sizeof(txid) * (nxip)) | ||
455 | +#define TXID_SNAPSHOT_MAX_NXIP \ | ||
456 | + ((MaxAllocSize - offsetof(TxidSnapshot, xip)) / sizeof(txid)) | ||
457 | |||
458 | /* | ||
459 | * Epoch values from xact.c | ||
460 | @@ -445,20 +448,12 @@ txid_snapshot_recv(PG_FUNCTION_ARGS) | ||
461 | txid last = 0; | ||
462 | int nxip; | ||
463 | int i; | ||
464 | - int avail; | ||
465 | - int expect; | ||
466 | txid xmin, | ||
467 | xmax; | ||
468 | |||
469 | - /* | ||
470 | - * load nxip and check for nonsense. | ||
471 | - * | ||
472 | - * (nxip > avail) check is against int overflows in 'expect'. | ||
473 | - */ | ||
474 | + /* load and validate nxip */ | ||
475 | nxip = pq_getmsgint(buf, 4); | ||
476 | - avail = buf->len - buf->cursor; | ||
477 | - expect = 8 + 8 + nxip * 8; | ||
478 | - if (nxip < 0 || nxip > avail || expect > avail) | ||
479 | + if (nxip < 0 || nxip > TXID_SNAPSHOT_MAX_NXIP) | ||
480 | goto bad_format; | ||
481 | |||
482 | xmin = pq_getmsgint64(buf); | ||
483 | diff --git a/src/backend/utils/adt/varbit.c b/src/backend/utils/adt/varbit.c | ||
484 | index 2bcf5b8..0deefda 100644 | ||
485 | --- a/src/backend/utils/adt/varbit.c | ||
486 | +++ b/src/backend/utils/adt/varbit.c | ||
487 | @@ -148,12 +148,22 @@ bit_in(PG_FUNCTION_ARGS) | ||
488 | sp = input_string; | ||
489 | } | ||
490 | |||
491 | + /* | ||
492 | + * Determine bitlength from input string. MaxAllocSize ensures a regular | ||
493 | + * input is small enough, but we must check hex input. | ||
494 | + */ | ||
495 | slen = strlen(sp); | ||
496 | - /* Determine bitlength from input string */ | ||
497 | if (bit_not_hex) | ||
498 | bitlen = slen; | ||
499 | else | ||
500 | + { | ||
501 | + if (slen > VARBITMAXLEN / 4) | ||
502 | + ereport(ERROR, | ||
503 | + (errcode(ERRCODE_PROGRAM_LIMIT_EXCEEDED), | ||
504 | + errmsg("bit string length exceeds the maximum allowed (%d)", | ||
505 | + VARBITMAXLEN))); | ||
506 | bitlen = slen * 4; | ||
507 | + } | ||
508 | |||
509 | /* | ||
510 | * Sometimes atttypmod is not supplied. If it is supplied we need to make | ||
511 | @@ -450,12 +460,22 @@ varbit_in(PG_FUNCTION_ARGS) | ||
512 | sp = input_string; | ||
513 | } | ||
514 | |||
515 | + /* | ||
516 | + * Determine bitlength from input string. MaxAllocSize ensures a regular | ||
517 | + * input is small enough, but we must check hex input. | ||
518 | + */ | ||
519 | slen = strlen(sp); | ||
520 | - /* Determine bitlength from input string */ | ||
521 | if (bit_not_hex) | ||
522 | bitlen = slen; | ||
523 | else | ||
524 | + { | ||
525 | + if (slen > VARBITMAXLEN / 4) | ||
526 | + ereport(ERROR, | ||
527 | + (errcode(ERRCODE_PROGRAM_LIMIT_EXCEEDED), | ||
528 | + errmsg("bit string length exceeds the maximum allowed (%d)", | ||
529 | + VARBITMAXLEN))); | ||
530 | bitlen = slen * 4; | ||
531 | + } | ||
532 | |||
533 | /* | ||
534 | * Sometimes atttypmod is not supplied. If it is supplied we need to make | ||
535 | @@ -535,6 +555,9 @@ varbit_in(PG_FUNCTION_ARGS) | ||
536 | /* | ||
537 | * varbit_out - | ||
538 | * Prints the string as bits to preserve length accurately | ||
539 | + * | ||
540 | + * XXX varbit_recv() and hex input to varbit_in() can load a value that this | ||
541 | + * cannot emit. Consider using hex output for such values. | ||
542 | */ | ||
543 | Datum | ||
544 | varbit_out(PG_FUNCTION_ARGS) | ||
545 | @@ -944,6 +967,11 @@ bit_catenate(VarBit *arg1, VarBit *arg2) | ||
546 | bitlen1 = VARBITLEN(arg1); | ||
547 | bitlen2 = VARBITLEN(arg2); | ||
548 | |||
549 | + if (bitlen1 > VARBITMAXLEN - bitlen2) | ||
550 | + ereport(ERROR, | ||
551 | + (errcode(ERRCODE_PROGRAM_LIMIT_EXCEEDED), | ||
552 | + errmsg("bit string length exceeds the maximum allowed (%d)", | ||
553 | + VARBITMAXLEN))); | ||
554 | bytelen = VARBITTOTALLEN(bitlen1 + bitlen2); | ||
555 | |||
556 | result = (VarBit *) palloc(bytelen); | ||
557 | diff --git a/src/include/tsearch/ts_type.h b/src/include/tsearch/ts_type.h | ||
558 | index 3adc336..9ee5610 100644 | ||
559 | --- a/src/include/tsearch/ts_type.h | ||
560 | +++ b/src/include/tsearch/ts_type.h | ||
561 | @@ -13,6 +13,7 @@ | ||
562 | #define _PG_TSTYPE_H_ | ||
563 | |||
564 | #include "fmgr.h" | ||
565 | +#include "utils/memutils.h" | ||
566 | #include "utils/pg_crc.h" | ||
567 | |||
568 | |||
569 | @@ -244,6 +245,8 @@ typedef TSQueryData *TSQuery; | ||
570 | * QueryItems, and lenofoperand is the total length of all operands | ||
571 | */ | ||
572 | #define COMPUTESIZE(size, lenofoperand) ( HDRSIZETQ + (size) * sizeof(QueryItem) + (lenofoperand) ) | ||
573 | +#define TSQUERY_TOO_BIG(size, lenofoperand) \ | ||
574 | + ((size) > (MaxAllocSize - HDRSIZETQ - (lenofoperand)) / sizeof(QueryItem)) | ||
575 | |||
576 | /* Returns a pointer to the first QueryItem in a TSQuery */ | ||
577 | #define GETQUERY(x) ((QueryItem*)( (char*)(x)+HDRSIZETQ )) | ||
578 | diff --git a/src/include/utils/varbit.h b/src/include/utils/varbit.h | ||
579 | index 52dca8b..61531a8 100644 | ||
580 | --- a/src/include/utils/varbit.h | ||
581 | +++ b/src/include/utils/varbit.h | ||
582 | @@ -15,6 +15,8 @@ | ||
583 | #ifndef VARBIT_H | ||
584 | #define VARBIT_H | ||
585 | |||
586 | +#include <limits.h> | ||
587 | + | ||
588 | #include "fmgr.h" | ||
589 | |||
590 | /* | ||
591 | @@ -53,6 +55,11 @@ typedef struct | ||
592 | /* Number of bytes needed to store a bit string of a given length */ | ||
593 | #define VARBITTOTALLEN(BITLEN) (((BITLEN) + BITS_PER_BYTE-1)/BITS_PER_BYTE + \ | ||
594 | VARHDRSZ + VARBITHDRSZ) | ||
595 | +/* | ||
596 | + * Maximum number of bits. Several code sites assume no overflow from | ||
597 | + * computing bitlen + X; VARBITTOTALLEN() has the largest such X. | ||
598 | + */ | ||
599 | +#define VARBITMAXLEN (INT_MAX - BITS_PER_BYTE + 1) | ||
600 | /* pointer beyond the end of the bit string (like end() in STL containers) */ | ||
601 | #define VARBITEND(PTR) (((bits8 *) (PTR)) + VARSIZE(PTR)) | ||
602 | /* Mask that will cover exactly one byte, i.e. BITS_PER_BYTE bits */ | ||
603 | -- | ||
604 | 1.7.5.4 | ||
605 | |||
diff --git a/meta-oe/recipes-support/postgresql/files/0003-Shore-up-ADMIN-OPTION-restrictions.patch b/meta-oe/recipes-support/postgresql/files/0003-Shore-up-ADMIN-OPTION-restrictions.patch new file mode 100644 index 000000000..abbe14249 --- /dev/null +++ b/meta-oe/recipes-support/postgresql/files/0003-Shore-up-ADMIN-OPTION-restrictions.patch | |||
@@ -0,0 +1,273 @@ | |||
1 | From 15a8f97b9d16aaf659f58c981242b9da591cf24c Mon Sep 17 00:00:00 2001 | ||
2 | From: Noah Misch <noah@leadboat.com> | ||
3 | Date: Mon, 17 Feb 2014 09:33:31 -0500 | ||
4 | Subject: [PATCH] Shore up ADMIN OPTION restrictions. | ||
5 | |||
6 | commit 15a8f97b9d16aaf659f58c981242b9da591cf24c REL9_2_STABLE | ||
7 | |||
8 | Granting a role without ADMIN OPTION is supposed to prevent the grantee | ||
9 | from adding or removing members from the granted role. Issuing SET ROLE | ||
10 | before the GRANT bypassed that, because the role itself had an implicit | ||
11 | right to add or remove members. Plug that hole by recognizing that | ||
12 | implicit right only when the session user matches the current role. | ||
13 | Additionally, do not recognize it during a security-restricted operation | ||
14 | or during execution of a SECURITY DEFINER function. The restriction on | ||
15 | SECURITY DEFINER is not security-critical. However, it seems best for a | ||
16 | user testing his own SECURITY DEFINER function to see the same behavior | ||
17 | others will see. Back-patch to 8.4 (all supported versions). | ||
18 | |||
19 | The SQL standards do not conflate roles and users as PostgreSQL does; | ||
20 | only SQL roles have members, and only SQL users initiate sessions. An | ||
21 | application using PostgreSQL users and roles as SQL users and roles will | ||
22 | never attempt to grant membership in the role that is the session user, | ||
23 | so the implicit right to add or remove members will never arise. | ||
24 | |||
25 | The security impact was mostly that a role member could revoke access | ||
26 | from others, contrary to the wishes of his own grantor. Unapproved role | ||
27 | member additions are less notable, because the member can still largely | ||
28 | achieve that by creating a view or a SECURITY DEFINER function. | ||
29 | |||
30 | Reviewed by Andres Freund and Tom Lane. Reported, independently, by | ||
31 | Jonas Sundman and Noah Misch. | ||
32 | |||
33 | Security: CVE-2014-0060 | ||
34 | |||
35 | |||
36 | Upstream-Status: Backport | ||
37 | |||
38 | Signed-off-by: Kai Kang <kai.kang@windriver.com> | ||
39 | --- | ||
40 | doc/src/sgml/ref/grant.sgml | 12 ++++--- | ||
41 | src/backend/commands/user.c | 11 ++++++- | ||
42 | src/backend/utils/adt/acl.c | 50 ++++++++++++++++++++++++------ | ||
43 | src/test/regress/expected/privileges.out | 36 +++++++++++++++++++++- | ||
44 | src/test/regress/sql/privileges.sql | 29 ++++++++++++++++- | ||
45 | 5 files changed, 120 insertions(+), 18 deletions(-) | ||
46 | |||
47 | diff --git a/doc/src/sgml/ref/grant.sgml b/doc/src/sgml/ref/grant.sgml | ||
48 | index fb81af4..2b5a843 100644 | ||
49 | --- a/doc/src/sgml/ref/grant.sgml | ||
50 | +++ b/doc/src/sgml/ref/grant.sgml | ||
51 | @@ -396,11 +396,13 @@ GRANT <replaceable class="PARAMETER">role_name</replaceable> [, ...] TO <replace | ||
52 | <para> | ||
53 | If <literal>WITH ADMIN OPTION</literal> is specified, the member can | ||
54 | in turn grant membership in the role to others, and revoke membership | ||
55 | - in the role as well. Without the admin option, ordinary users cannot do | ||
56 | - that. However, | ||
57 | - database superusers can grant or revoke membership in any role to anyone. | ||
58 | - Roles having <literal>CREATEROLE</> privilege can grant or revoke | ||
59 | - membership in any role that is not a superuser. | ||
60 | + in the role as well. Without the admin option, ordinary users cannot | ||
61 | + do that. A role is not considered to hold <literal>WITH ADMIN | ||
62 | + OPTION</literal> on itself, but it may grant or revoke membership in | ||
63 | + itself from a database session where the session user matches the | ||
64 | + role. Database superusers can grant or revoke membership in any role | ||
65 | + to anyone. Roles having <literal>CREATEROLE</> privilege can grant | ||
66 | + or revoke membership in any role that is not a superuser. | ||
67 | </para> | ||
68 | |||
69 | <para> | ||
70 | diff --git a/src/backend/commands/user.c b/src/backend/commands/user.c | ||
71 | index a22092c..39bf172 100644 | ||
72 | --- a/src/backend/commands/user.c | ||
73 | +++ b/src/backend/commands/user.c | ||
74 | @@ -1334,7 +1334,16 @@ AddRoleMems(const char *rolename, Oid roleid, | ||
75 | rolename))); | ||
76 | } | ||
77 | |||
78 | - /* XXX not sure about this check */ | ||
79 | + /* | ||
80 | + * The role membership grantor of record has little significance at | ||
81 | + * present. Nonetheless, inasmuch as users might look to it for a crude | ||
82 | + * audit trail, let only superusers impute the grant to a third party. | ||
83 | + * | ||
84 | + * Before lifting this restriction, give the member == role case of | ||
85 | + * is_admin_of_role() a fresh look. Ensure that the current role cannot | ||
86 | + * use an explicit grantor specification to take advantage of the session | ||
87 | + * user's self-admin right. | ||
88 | + */ | ||
89 | if (grantorId != GetUserId() && !superuser()) | ||
90 | ereport(ERROR, | ||
91 | (errcode(ERRCODE_INSUFFICIENT_PRIVILEGE), | ||
92 | diff --git a/src/backend/utils/adt/acl.c b/src/backend/utils/adt/acl.c | ||
93 | index 1d6ae8b..9a52edb 100644 | ||
94 | --- a/src/backend/utils/adt/acl.c | ||
95 | +++ b/src/backend/utils/adt/acl.c | ||
96 | @@ -4580,6 +4580,11 @@ pg_role_aclcheck(Oid role_oid, Oid roleid, AclMode mode) | ||
97 | { | ||
98 | if (mode & ACL_GRANT_OPTION_FOR(ACL_CREATE)) | ||
99 | { | ||
100 | + /* | ||
101 | + * XXX For roleid == role_oid, is_admin_of_role() also examines the | ||
102 | + * session and call stack. That suits two-argument pg_has_role(), but | ||
103 | + * it gives the three-argument version a lamentable whimsy. | ||
104 | + */ | ||
105 | if (is_admin_of_role(roleid, role_oid)) | ||
106 | return ACLCHECK_OK; | ||
107 | } | ||
108 | @@ -4897,11 +4902,9 @@ is_member_of_role_nosuper(Oid member, Oid role) | ||
109 | |||
110 | |||
111 | /* | ||
112 | - * Is member an admin of role (directly or indirectly)? That is, is it | ||
113 | - * a member WITH ADMIN OPTION? | ||
114 | - * | ||
115 | - * We could cache the result as for is_member_of_role, but currently this | ||
116 | - * is not used in any performance-critical paths, so we don't. | ||
117 | + * Is member an admin of role? That is, is member the role itself (subject to | ||
118 | + * restrictions below), a member (directly or indirectly) WITH ADMIN OPTION, | ||
119 | + * or a superuser? | ||
120 | */ | ||
121 | bool | ||
122 | is_admin_of_role(Oid member, Oid role) | ||
123 | @@ -4910,14 +4913,41 @@ is_admin_of_role(Oid member, Oid role) | ||
124 | List *roles_list; | ||
125 | ListCell *l; | ||
126 | |||
127 | - /* Fast path for simple case */ | ||
128 | - if (member == role) | ||
129 | - return true; | ||
130 | - | ||
131 | - /* Superusers have every privilege, so are part of every role */ | ||
132 | if (superuser_arg(member)) | ||
133 | return true; | ||
134 | |||
135 | + if (member == role) | ||
136 | + /* | ||
137 | + * A role can admin itself when it matches the session user and we're | ||
138 | + * outside any security-restricted operation, SECURITY DEFINER or | ||
139 | + * similar context. SQL-standard roles cannot self-admin. However, | ||
140 | + * SQL-standard users are distinct from roles, and they are not | ||
141 | + * grantable like roles: PostgreSQL's role-user duality extends the | ||
142 | + * standard. Checking for a session user match has the effect of | ||
143 | + * letting a role self-admin only when it's conspicuously behaving | ||
144 | + * like a user. Note that allowing self-admin under a mere SET ROLE | ||
145 | + * would make WITH ADMIN OPTION largely irrelevant; any member could | ||
146 | + * SET ROLE to issue the otherwise-forbidden command. | ||
147 | + * | ||
148 | + * Withholding self-admin in a security-restricted operation prevents | ||
149 | + * object owners from harnessing the session user identity during | ||
150 | + * administrative maintenance. Suppose Alice owns a database, has | ||
151 | + * issued "GRANT alice TO bob", and runs a daily ANALYZE. Bob creates | ||
152 | + * an alice-owned SECURITY DEFINER function that issues "REVOKE alice | ||
153 | + * FROM carol". If he creates an expression index calling that | ||
154 | + * function, Alice will attempt the REVOKE during each ANALYZE. | ||
155 | + * Checking InSecurityRestrictedOperation() thwarts that attack. | ||
156 | + * | ||
157 | + * Withholding self-admin in SECURITY DEFINER functions makes their | ||
158 | + * behavior independent of the calling user. There's no security or | ||
159 | + * SQL-standard-conformance need for that restriction, though. | ||
160 | + * | ||
161 | + * A role cannot have actual WITH ADMIN OPTION on itself, because that | ||
162 | + * would imply a membership loop. Therefore, we're done either way. | ||
163 | + */ | ||
164 | + return member == GetSessionUserId() && | ||
165 | + !InLocalUserIdChange() && !InSecurityRestrictedOperation(); | ||
166 | + | ||
167 | /* | ||
168 | * Find all the roles that member is a member of, including multi-level | ||
169 | * recursion. We build a list in the same way that is_member_of_role does | ||
170 | diff --git a/src/test/regress/expected/privileges.out b/src/test/regress/expected/privileges.out | ||
171 | index e8930cb..bc6d731 100644 | ||
172 | --- a/src/test/regress/expected/privileges.out | ||
173 | +++ b/src/test/regress/expected/privileges.out | ||
174 | @@ -32,7 +32,7 @@ ALTER GROUP regressgroup1 ADD USER regressuser4; | ||
175 | ALTER GROUP regressgroup2 ADD USER regressuser2; -- duplicate | ||
176 | NOTICE: role "regressuser2" is already a member of role "regressgroup2" | ||
177 | ALTER GROUP regressgroup2 DROP USER regressuser2; | ||
178 | -ALTER GROUP regressgroup2 ADD USER regressuser4; | ||
179 | +GRANT regressgroup2 TO regressuser4 WITH ADMIN OPTION; | ||
180 | -- test owner privileges | ||
181 | SET SESSION AUTHORIZATION regressuser1; | ||
182 | SELECT session_user, current_user; | ||
183 | @@ -929,6 +929,40 @@ SELECT has_table_privilege('regressuser1', 'atest4', 'SELECT WITH GRANT OPTION') | ||
184 | t | ||
185 | (1 row) | ||
186 | |||
187 | +-- Admin options | ||
188 | +SET SESSION AUTHORIZATION regressuser4; | ||
189 | +CREATE FUNCTION dogrant_ok() RETURNS void LANGUAGE sql SECURITY DEFINER AS | ||
190 | + 'GRANT regressgroup2 TO regressuser5'; | ||
191 | +GRANT regressgroup2 TO regressuser5; -- ok: had ADMIN OPTION | ||
192 | +SET ROLE regressgroup2; | ||
193 | +GRANT regressgroup2 TO regressuser5; -- fails: SET ROLE suspended privilege | ||
194 | +ERROR: must have admin option on role "regressgroup2" | ||
195 | +SET SESSION AUTHORIZATION regressuser1; | ||
196 | +GRANT regressgroup2 TO regressuser5; -- fails: no ADMIN OPTION | ||
197 | +ERROR: must have admin option on role "regressgroup2" | ||
198 | +SELECT dogrant_ok(); -- ok: SECURITY DEFINER conveys ADMIN | ||
199 | +NOTICE: role "regressuser5" is already a member of role "regressgroup2" | ||
200 | +CONTEXT: SQL function "dogrant_ok" statement 1 | ||
201 | + dogrant_ok | ||
202 | +------------ | ||
203 | + | ||
204 | +(1 row) | ||
205 | + | ||
206 | +SET ROLE regressgroup2; | ||
207 | +GRANT regressgroup2 TO regressuser5; -- fails: SET ROLE did not help | ||
208 | +ERROR: must have admin option on role "regressgroup2" | ||
209 | +SET SESSION AUTHORIZATION regressgroup2; | ||
210 | +GRANT regressgroup2 TO regressuser5; -- ok: a role can self-admin | ||
211 | +NOTICE: role "regressuser5" is already a member of role "regressgroup2" | ||
212 | +CREATE FUNCTION dogrant_fails() RETURNS void LANGUAGE sql SECURITY DEFINER AS | ||
213 | + 'GRANT regressgroup2 TO regressuser5'; | ||
214 | +SELECT dogrant_fails(); -- fails: no self-admin in SECURITY DEFINER | ||
215 | +ERROR: must have admin option on role "regressgroup2" | ||
216 | +CONTEXT: SQL function "dogrant_fails" statement 1 | ||
217 | +DROP FUNCTION dogrant_fails(); | ||
218 | +SET SESSION AUTHORIZATION regressuser4; | ||
219 | +DROP FUNCTION dogrant_ok(); | ||
220 | +REVOKE regressgroup2 FROM regressuser5; | ||
221 | -- has_sequence_privilege tests | ||
222 | \c - | ||
223 | CREATE SEQUENCE x_seq; | ||
224 | diff --git a/src/test/regress/sql/privileges.sql b/src/test/regress/sql/privileges.sql | ||
225 | index d4d328e..5f1018a 100644 | ||
226 | --- a/src/test/regress/sql/privileges.sql | ||
227 | +++ b/src/test/regress/sql/privileges.sql | ||
228 | @@ -37,7 +37,7 @@ ALTER GROUP regressgroup1 ADD USER regressuser4; | ||
229 | |||
230 | ALTER GROUP regressgroup2 ADD USER regressuser2; -- duplicate | ||
231 | ALTER GROUP regressgroup2 DROP USER regressuser2; | ||
232 | -ALTER GROUP regressgroup2 ADD USER regressuser4; | ||
233 | +GRANT regressgroup2 TO regressuser4 WITH ADMIN OPTION; | ||
234 | |||
235 | -- test owner privileges | ||
236 | |||
237 | @@ -581,6 +581,33 @@ SELECT has_table_privilege('regressuser3', 'atest4', 'SELECT'); -- false | ||
238 | SELECT has_table_privilege('regressuser1', 'atest4', 'SELECT WITH GRANT OPTION'); -- true | ||
239 | |||
240 | |||
241 | +-- Admin options | ||
242 | + | ||
243 | +SET SESSION AUTHORIZATION regressuser4; | ||
244 | +CREATE FUNCTION dogrant_ok() RETURNS void LANGUAGE sql SECURITY DEFINER AS | ||
245 | + 'GRANT regressgroup2 TO regressuser5'; | ||
246 | +GRANT regressgroup2 TO regressuser5; -- ok: had ADMIN OPTION | ||
247 | +SET ROLE regressgroup2; | ||
248 | +GRANT regressgroup2 TO regressuser5; -- fails: SET ROLE suspended privilege | ||
249 | + | ||
250 | +SET SESSION AUTHORIZATION regressuser1; | ||
251 | +GRANT regressgroup2 TO regressuser5; -- fails: no ADMIN OPTION | ||
252 | +SELECT dogrant_ok(); -- ok: SECURITY DEFINER conveys ADMIN | ||
253 | +SET ROLE regressgroup2; | ||
254 | +GRANT regressgroup2 TO regressuser5; -- fails: SET ROLE did not help | ||
255 | + | ||
256 | +SET SESSION AUTHORIZATION regressgroup2; | ||
257 | +GRANT regressgroup2 TO regressuser5; -- ok: a role can self-admin | ||
258 | +CREATE FUNCTION dogrant_fails() RETURNS void LANGUAGE sql SECURITY DEFINER AS | ||
259 | + 'GRANT regressgroup2 TO regressuser5'; | ||
260 | +SELECT dogrant_fails(); -- fails: no self-admin in SECURITY DEFINER | ||
261 | +DROP FUNCTION dogrant_fails(); | ||
262 | + | ||
263 | +SET SESSION AUTHORIZATION regressuser4; | ||
264 | +DROP FUNCTION dogrant_ok(); | ||
265 | +REVOKE regressgroup2 FROM regressuser5; | ||
266 | + | ||
267 | + | ||
268 | -- has_sequence_privilege tests | ||
269 | \c - | ||
270 | |||
271 | -- | ||
272 | 1.7.5.4 | ||
273 | |||
diff --git a/meta-oe/recipes-support/postgresql/files/0004-Prevent-privilege-escalation-in-explicit-calls-to-PL.patch b/meta-oe/recipes-support/postgresql/files/0004-Prevent-privilege-escalation-in-explicit-calls-to-PL.patch new file mode 100644 index 000000000..cc2183a2a --- /dev/null +++ b/meta-oe/recipes-support/postgresql/files/0004-Prevent-privilege-escalation-in-explicit-calls-to-PL.patch | |||
@@ -0,0 +1,267 @@ | |||
1 | From 1d701d28a796ea2d1a4d2be9e9ee06209eaea040 Mon Sep 17 00:00:00 2001 | ||
2 | From: Noah Misch <noah@leadboat.com> | ||
3 | Date: Mon, 17 Feb 2014 09:33:31 -0500 | ||
4 | Subject: [PATCH] Prevent privilege escalation in explicit calls to PL | ||
5 | validators. | ||
6 | |||
7 | commit 1d701d28a796ea2d1a4d2be9e9ee06209eaea040 REL9_2_STABLE | ||
8 | |||
9 | The primary role of PL validators is to be called implicitly during | ||
10 | CREATE FUNCTION, but they are also normal functions that a user can call | ||
11 | explicitly. Add a permissions check to each validator to ensure that a | ||
12 | user cannot use explicit validator calls to achieve things he could not | ||
13 | otherwise achieve. Back-patch to 8.4 (all supported versions). | ||
14 | Non-core procedural language extensions ought to make the same two-line | ||
15 | change to their own validators. | ||
16 | |||
17 | Andres Freund, reviewed by Tom Lane and Noah Misch. | ||
18 | |||
19 | Security: CVE-2014-0061 | ||
20 | |||
21 | Upstream-Status: Backport | ||
22 | Signed-off-by: Kai Kang <kai.kang@windriver.com> | ||
23 | --- | ||
24 | doc/src/sgml/plhandler.sgml | 5 ++- | ||
25 | src/backend/catalog/pg_proc.c | 9 ++++ | ||
26 | src/backend/commands/functioncmds.c | 1 - | ||
27 | src/backend/utils/fmgr/fmgr.c | 84 +++++++++++++++++++++++++++++++++++ | ||
28 | src/include/fmgr.h | 1 + | ||
29 | src/pl/plperl/plperl.c | 4 ++ | ||
30 | src/pl/plpgsql/src/pl_handler.c | 3 + | ||
31 | src/pl/plpython/plpy_main.c | 4 ++ | ||
32 | 8 files changed, 109 insertions(+), 2 deletions(-) | ||
33 | |||
34 | diff --git a/doc/src/sgml/plhandler.sgml b/doc/src/sgml/plhandler.sgml | ||
35 | index 024ef9d..aa4bba3 100644 | ||
36 | --- a/doc/src/sgml/plhandler.sgml | ||
37 | +++ b/doc/src/sgml/plhandler.sgml | ||
38 | @@ -178,7 +178,10 @@ CREATE LANGUAGE plsample | ||
39 | or updated a function written in the procedural language. | ||
40 | The passed-in OID is the OID of the function's <classname>pg_proc</> | ||
41 | row. The validator must fetch this row in the usual way, and do | ||
42 | - whatever checking is appropriate. Typical checks include verifying | ||
43 | + whatever checking is appropriate. | ||
44 | + First, call <function>CheckFunctionValidatorAccess()</> to diagnose | ||
45 | + explicit calls to the validator that the user could not achieve through | ||
46 | + <command>CREATE FUNCTION</>. Typical checks then include verifying | ||
47 | that the function's argument and result types are supported by the | ||
48 | language, and that the function's body is syntactically correct | ||
49 | in the language. If the validator finds the function to be okay, | ||
50 | diff --git a/src/backend/catalog/pg_proc.c b/src/backend/catalog/pg_proc.c | ||
51 | index 3812408..3124868 100644 | ||
52 | --- a/src/backend/catalog/pg_proc.c | ||
53 | +++ b/src/backend/catalog/pg_proc.c | ||
54 | @@ -718,6 +718,9 @@ fmgr_internal_validator(PG_FUNCTION_ARGS) | ||
55 | Datum tmp; | ||
56 | char *prosrc; | ||
57 | |||
58 | + if (!CheckFunctionValidatorAccess(fcinfo->flinfo->fn_oid, funcoid)) | ||
59 | + PG_RETURN_VOID(); | ||
60 | + | ||
61 | /* | ||
62 | * We do not honor check_function_bodies since it's unlikely the function | ||
63 | * name will be found later if it isn't there now. | ||
64 | @@ -763,6 +766,9 @@ fmgr_c_validator(PG_FUNCTION_ARGS) | ||
65 | char *prosrc; | ||
66 | char *probin; | ||
67 | |||
68 | + if (!CheckFunctionValidatorAccess(fcinfo->flinfo->fn_oid, funcoid)) | ||
69 | + PG_RETURN_VOID(); | ||
70 | + | ||
71 | /* | ||
72 | * It'd be most consistent to skip the check if !check_function_bodies, | ||
73 | * but the purpose of that switch is to be helpful for pg_dump loading, | ||
74 | @@ -814,6 +820,9 @@ fmgr_sql_validator(PG_FUNCTION_ARGS) | ||
75 | bool haspolyarg; | ||
76 | int i; | ||
77 | |||
78 | + if (!CheckFunctionValidatorAccess(fcinfo->flinfo->fn_oid, funcoid)) | ||
79 | + PG_RETURN_VOID(); | ||
80 | + | ||
81 | tuple = SearchSysCache1(PROCOID, ObjectIdGetDatum(funcoid)); | ||
82 | if (!HeapTupleIsValid(tuple)) | ||
83 | elog(ERROR, "cache lookup failed for function %u", funcoid); | ||
84 | diff --git a/src/backend/commands/functioncmds.c b/src/backend/commands/functioncmds.c | ||
85 | index 9ba6dd8..ea74b5e 100644 | ||
86 | --- a/src/backend/commands/functioncmds.c | ||
87 | +++ b/src/backend/commands/functioncmds.c | ||
88 | @@ -997,7 +997,6 @@ CreateFunction(CreateFunctionStmt *stmt, const char *queryString) | ||
89 | prorows); | ||
90 | } | ||
91 | |||
92 | - | ||
93 | /* | ||
94 | * Guts of function deletion. | ||
95 | * | ||
96 | diff --git a/src/backend/utils/fmgr/fmgr.c b/src/backend/utils/fmgr/fmgr.c | ||
97 | index 2ec63fa..8d6f183 100644 | ||
98 | --- a/src/backend/utils/fmgr/fmgr.c | ||
99 | +++ b/src/backend/utils/fmgr/fmgr.c | ||
100 | @@ -24,6 +24,7 @@ | ||
101 | #include "miscadmin.h" | ||
102 | #include "nodes/nodeFuncs.h" | ||
103 | #include "pgstat.h" | ||
104 | +#include "utils/acl.h" | ||
105 | #include "utils/builtins.h" | ||
106 | #include "utils/fmgrtab.h" | ||
107 | #include "utils/guc.h" | ||
108 | @@ -2445,3 +2446,86 @@ get_call_expr_arg_stable(Node *expr, int argnum) | ||
109 | |||
110 | return false; | ||
111 | } | ||
112 | + | ||
113 | +/*------------------------------------------------------------------------- | ||
114 | + * Support routines for procedural language implementations | ||
115 | + *------------------------------------------------------------------------- | ||
116 | + */ | ||
117 | + | ||
118 | +/* | ||
119 | + * Verify that a validator is actually associated with the language of a | ||
120 | + * particular function and that the user has access to both the language and | ||
121 | + * the function. All validators should call this before doing anything | ||
122 | + * substantial. Doing so ensures a user cannot achieve anything with explicit | ||
123 | + * calls to validators that he could not achieve with CREATE FUNCTION or by | ||
124 | + * simply calling an existing function. | ||
125 | + * | ||
126 | + * When this function returns false, callers should skip all validation work | ||
127 | + * and call PG_RETURN_VOID(). This never happens at present; it is reserved | ||
128 | + * for future expansion. | ||
129 | + * | ||
130 | + * In particular, checking that the validator corresponds to the function's | ||
131 | + * language allows untrusted language validators to assume they process only | ||
132 | + * superuser-chosen source code. (Untrusted language call handlers, by | ||
133 | + * definition, do assume that.) A user lacking the USAGE language privilege | ||
134 | + * would be unable to reach the validator through CREATE FUNCTION, so we check | ||
135 | + * that to block explicit calls as well. Checking the EXECUTE privilege on | ||
136 | + * the function is often superfluous, because most users can clone the | ||
137 | + * function to get an executable copy. It is meaningful against users with no | ||
138 | + * database TEMP right and no permanent schema CREATE right, thereby unable to | ||
139 | + * create any function. Also, if the function tracks persistent state by | ||
140 | + * function OID or name, validating the original function might permit more | ||
141 | + * mischief than creating and validating a clone thereof. | ||
142 | + */ | ||
143 | +bool | ||
144 | +CheckFunctionValidatorAccess(Oid validatorOid, Oid functionOid) | ||
145 | +{ | ||
146 | + HeapTuple procTup; | ||
147 | + HeapTuple langTup; | ||
148 | + Form_pg_proc procStruct; | ||
149 | + Form_pg_language langStruct; | ||
150 | + AclResult aclresult; | ||
151 | + | ||
152 | + /* Get the function's pg_proc entry */ | ||
153 | + procTup = SearchSysCache1(PROCOID, ObjectIdGetDatum(functionOid)); | ||
154 | + if (!HeapTupleIsValid(procTup)) | ||
155 | + elog(ERROR, "cache lookup failed for function %u", functionOid); | ||
156 | + procStruct = (Form_pg_proc) GETSTRUCT(procTup); | ||
157 | + | ||
158 | + /* | ||
159 | + * Fetch pg_language entry to know if this is the correct validation | ||
160 | + * function for that pg_proc entry. | ||
161 | + */ | ||
162 | + langTup = SearchSysCache1(LANGOID, ObjectIdGetDatum(procStruct->prolang)); | ||
163 | + if (!HeapTupleIsValid(langTup)) | ||
164 | + elog(ERROR, "cache lookup failed for language %u", procStruct->prolang); | ||
165 | + langStruct = (Form_pg_language) GETSTRUCT(langTup); | ||
166 | + | ||
167 | + if (langStruct->lanvalidator != validatorOid) | ||
168 | + ereport(ERROR, | ||
169 | + (errcode(ERRCODE_INSUFFICIENT_PRIVILEGE), | ||
170 | + errmsg("language validation function %u called for language %u instead of %u", | ||
171 | + validatorOid, procStruct->prolang, | ||
172 | + langStruct->lanvalidator))); | ||
173 | + | ||
174 | + /* first validate that we have permissions to use the language */ | ||
175 | + aclresult = pg_language_aclcheck(procStruct->prolang, GetUserId(), | ||
176 | + ACL_USAGE); | ||
177 | + if (aclresult != ACLCHECK_OK) | ||
178 | + aclcheck_error(aclresult, ACL_KIND_LANGUAGE, | ||
179 | + NameStr(langStruct->lanname)); | ||
180 | + | ||
181 | + /* | ||
182 | + * Check whether we are allowed to execute the function itself. If we can | ||
183 | + * execute it, there should be no possible side-effect of | ||
184 | + * compiling/validation that execution can't have. | ||
185 | + */ | ||
186 | + aclresult = pg_proc_aclcheck(functionOid, GetUserId(), ACL_EXECUTE); | ||
187 | + if (aclresult != ACLCHECK_OK) | ||
188 | + aclcheck_error(aclresult, ACL_KIND_PROC, NameStr(procStruct->proname)); | ||
189 | + | ||
190 | + ReleaseSysCache(procTup); | ||
191 | + ReleaseSysCache(langTup); | ||
192 | + | ||
193 | + return true; | ||
194 | +} | ||
195 | diff --git a/src/include/fmgr.h b/src/include/fmgr.h | ||
196 | index 0a25776..f944cc6 100644 | ||
197 | --- a/src/include/fmgr.h | ||
198 | +++ b/src/include/fmgr.h | ||
199 | @@ -624,6 +624,7 @@ extern Oid get_fn_expr_argtype(FmgrInfo *flinfo, int argnum); | ||
200 | extern Oid get_call_expr_argtype(fmNodePtr expr, int argnum); | ||
201 | extern bool get_fn_expr_arg_stable(FmgrInfo *flinfo, int argnum); | ||
202 | extern bool get_call_expr_arg_stable(fmNodePtr expr, int argnum); | ||
203 | +extern bool CheckFunctionValidatorAccess(Oid validatorOid, Oid functionOid); | ||
204 | |||
205 | /* | ||
206 | * Routines in dfmgr.c | ||
207 | diff --git a/src/pl/plperl/plperl.c b/src/pl/plperl/plperl.c | ||
208 | index 7c2aee9..49d50c4 100644 | ||
209 | --- a/src/pl/plperl/plperl.c | ||
210 | +++ b/src/pl/plperl/plperl.c | ||
211 | @@ -1847,6 +1847,9 @@ plperl_validator(PG_FUNCTION_ARGS) | ||
212 | bool istrigger = false; | ||
213 | int i; | ||
214 | |||
215 | + if (!CheckFunctionValidatorAccess(fcinfo->flinfo->fn_oid, funcoid)) | ||
216 | + PG_RETURN_VOID(); | ||
217 | + | ||
218 | /* Get the new function's pg_proc entry */ | ||
219 | tuple = SearchSysCache1(PROCOID, ObjectIdGetDatum(funcoid)); | ||
220 | if (!HeapTupleIsValid(tuple)) | ||
221 | @@ -1926,6 +1929,7 @@ PG_FUNCTION_INFO_V1(plperlu_validator); | ||
222 | Datum | ||
223 | plperlu_validator(PG_FUNCTION_ARGS) | ||
224 | { | ||
225 | + /* call plperl validator with our fcinfo so it gets our oid */ | ||
226 | return plperl_validator(fcinfo); | ||
227 | } | ||
228 | |||
229 | diff --git a/src/pl/plpgsql/src/pl_handler.c b/src/pl/plpgsql/src/pl_handler.c | ||
230 | index 022ec3f..00b1a6f 100644 | ||
231 | --- a/src/pl/plpgsql/src/pl_handler.c | ||
232 | +++ b/src/pl/plpgsql/src/pl_handler.c | ||
233 | @@ -227,6 +227,9 @@ plpgsql_validator(PG_FUNCTION_ARGS) | ||
234 | bool istrigger = false; | ||
235 | int i; | ||
236 | |||
237 | + if (!CheckFunctionValidatorAccess(fcinfo->flinfo->fn_oid, funcoid)) | ||
238 | + PG_RETURN_VOID(); | ||
239 | + | ||
240 | /* Get the new function's pg_proc entry */ | ||
241 | tuple = SearchSysCache1(PROCOID, ObjectIdGetDatum(funcoid)); | ||
242 | if (!HeapTupleIsValid(tuple)) | ||
243 | diff --git a/src/pl/plpython/plpy_main.c b/src/pl/plpython/plpy_main.c | ||
244 | index c4de762..3847847 100644 | ||
245 | --- a/src/pl/plpython/plpy_main.c | ||
246 | +++ b/src/pl/plpython/plpy_main.c | ||
247 | @@ -159,6 +159,9 @@ plpython_validator(PG_FUNCTION_ARGS) | ||
248 | Form_pg_proc procStruct; | ||
249 | bool is_trigger; | ||
250 | |||
251 | + if (!CheckFunctionValidatorAccess(fcinfo->flinfo->fn_oid, funcoid)) | ||
252 | + PG_RETURN_VOID(); | ||
253 | + | ||
254 | if (!check_function_bodies) | ||
255 | { | ||
256 | PG_RETURN_VOID(); | ||
257 | @@ -184,6 +187,7 @@ plpython_validator(PG_FUNCTION_ARGS) | ||
258 | Datum | ||
259 | plpython2_validator(PG_FUNCTION_ARGS) | ||
260 | { | ||
261 | + /* call plpython validator with our fcinfo so it gets our oid */ | ||
262 | return plpython_validator(fcinfo); | ||
263 | } | ||
264 | #endif /* PY_MAJOR_VERSION < 3 */ | ||
265 | -- | ||
266 | 1.7.5.4 | ||
267 | |||
diff --git a/meta-oe/recipes-support/postgresql/files/0005-Avoid-repeated-name-lookups-during-table-and-index-D.patch b/meta-oe/recipes-support/postgresql/files/0005-Avoid-repeated-name-lookups-during-table-and-index-D.patch new file mode 100644 index 000000000..f1aa21250 --- /dev/null +++ b/meta-oe/recipes-support/postgresql/files/0005-Avoid-repeated-name-lookups-during-table-and-index-D.patch | |||
@@ -0,0 +1,1082 @@ | |||
1 | From 820ab11fbfd508fc75a39c43ad2c1b3e79c4982b Mon Sep 17 00:00:00 2001 | ||
2 | From: Robert Haas <rhaas@postgresql.org> | ||
3 | Date: Mon, 17 Feb 2014 09:33:31 -0500 | ||
4 | Subject: [PATCH] Avoid repeated name lookups during table and index DDL. | ||
5 | |||
6 | commit 820ab11fbfd508fc75a39c43ad2c1b3e79c4982b REL9_2_STABLE | ||
7 | |||
8 | If the name lookups come to different conclusions due to concurrent | ||
9 | activity, we might perform some parts of the DDL on a different table | ||
10 | than other parts. At least in the case of CREATE INDEX, this can be | ||
11 | used to cause the permissions checks to be performed against a | ||
12 | different table than the index creation, allowing for a privilege | ||
13 | escalation attack. | ||
14 | |||
15 | This changes the calling convention for DefineIndex, CreateTrigger, | ||
16 | transformIndexStmt, transformAlterTableStmt, CheckIndexCompatible | ||
17 | (in 9.2 and newer), and AlterTable (in 9.1 and older). In addition, | ||
18 | CheckRelationOwnership is removed in 9.2 and newer and the calling | ||
19 | convention is changed in older branches. A field has also been added | ||
20 | to the Constraint node (FkConstraint in 8.4). Third-party code calling | ||
21 | these functions or using the Constraint node will require updating. | ||
22 | |||
23 | Report by Andres Freund. Patch by Robert Haas and Andres Freund, | ||
24 | reviewed by Tom Lane. | ||
25 | |||
26 | Security: CVE-2014-0062 | ||
27 | |||
28 | Upstream-Status: Backport | ||
29 | |||
30 | Signed-off-by: Kai Kang <kai.kang@windriver.com> | ||
31 | --- | ||
32 | src/backend/bootstrap/bootparse.y | 17 ++++- | ||
33 | src/backend/catalog/index.c | 10 +-- | ||
34 | src/backend/catalog/pg_constraint.c | 19 +++++ | ||
35 | src/backend/commands/indexcmds.c | 22 ++++-- | ||
36 | src/backend/commands/tablecmds.c | 137 +++++++++++++++++++++++++---------- | ||
37 | src/backend/commands/trigger.c | 28 ++++++-- | ||
38 | src/backend/nodes/copyfuncs.c | 1 + | ||
39 | src/backend/nodes/equalfuncs.c | 1 + | ||
40 | src/backend/nodes/outfuncs.c | 1 + | ||
41 | src/backend/parser/parse_utilcmd.c | 64 ++++++----------- | ||
42 | src/backend/tcop/utility.c | 73 +++++++------------ | ||
43 | src/include/catalog/pg_constraint.h | 1 + | ||
44 | src/include/commands/defrem.h | 4 +- | ||
45 | src/include/commands/tablecmds.h | 2 + | ||
46 | src/include/commands/trigger.h | 2 +- | ||
47 | src/include/nodes/parsenodes.h | 2 + | ||
48 | src/include/parser/parse_utilcmd.h | 5 +- | ||
49 | src/include/tcop/utility.h | 2 - | ||
50 | 18 files changed, 234 insertions(+), 157 deletions(-) | ||
51 | |||
52 | diff --git a/src/backend/bootstrap/bootparse.y b/src/backend/bootstrap/bootparse.y | ||
53 | index f4a1b8f..eeffb0f 100644 | ||
54 | --- a/src/backend/bootstrap/bootparse.y | ||
55 | +++ b/src/backend/bootstrap/bootparse.y | ||
56 | @@ -27,6 +27,7 @@ | ||
57 | #include "bootstrap/bootstrap.h" | ||
58 | #include "catalog/catalog.h" | ||
59 | #include "catalog/heap.h" | ||
60 | +#include "catalog/namespace.h" | ||
61 | #include "catalog/pg_am.h" | ||
62 | #include "catalog/pg_attribute.h" | ||
63 | #include "catalog/pg_authid.h" | ||
64 | @@ -281,6 +282,7 @@ Boot_DeclareIndexStmt: | ||
65 | XDECLARE INDEX boot_ident oidspec ON boot_ident USING boot_ident LPAREN boot_index_params RPAREN | ||
66 | { | ||
67 | IndexStmt *stmt = makeNode(IndexStmt); | ||
68 | + Oid relationId; | ||
69 | |||
70 | do_start(); | ||
71 | |||
72 | @@ -302,7 +304,12 @@ Boot_DeclareIndexStmt: | ||
73 | stmt->initdeferred = false; | ||
74 | stmt->concurrent = false; | ||
75 | |||
76 | - DefineIndex(stmt, | ||
77 | + /* locks and races need not concern us in bootstrap mode */ | ||
78 | + relationId = RangeVarGetRelid(stmt->relation, NoLock, | ||
79 | + false); | ||
80 | + | ||
81 | + DefineIndex(relationId, | ||
82 | + stmt, | ||
83 | $4, | ||
84 | false, | ||
85 | false, | ||
86 | @@ -316,6 +323,7 @@ Boot_DeclareUniqueIndexStmt: | ||
87 | XDECLARE UNIQUE INDEX boot_ident oidspec ON boot_ident USING boot_ident LPAREN boot_index_params RPAREN | ||
88 | { | ||
89 | IndexStmt *stmt = makeNode(IndexStmt); | ||
90 | + Oid relationId; | ||
91 | |||
92 | do_start(); | ||
93 | |||
94 | @@ -337,7 +345,12 @@ Boot_DeclareUniqueIndexStmt: | ||
95 | stmt->initdeferred = false; | ||
96 | stmt->concurrent = false; | ||
97 | |||
98 | - DefineIndex(stmt, | ||
99 | + /* locks and races need not concern us in bootstrap mode */ | ||
100 | + relationId = RangeVarGetRelid(stmt->relation, NoLock, | ||
101 | + false); | ||
102 | + | ||
103 | + DefineIndex(relationId, | ||
104 | + stmt, | ||
105 | $5, | ||
106 | false, | ||
107 | false, | ||
108 | diff --git a/src/backend/catalog/index.c b/src/backend/catalog/index.c | ||
109 | index 7d6346a..ca8acf3 100644 | ||
110 | --- a/src/backend/catalog/index.c | ||
111 | +++ b/src/backend/catalog/index.c | ||
112 | @@ -1202,18 +1202,13 @@ index_constraint_create(Relation heapRelation, | ||
113 | */ | ||
114 | if (deferrable) | ||
115 | { | ||
116 | - RangeVar *heapRel; | ||
117 | CreateTrigStmt *trigger; | ||
118 | |||
119 | - heapRel = makeRangeVar(get_namespace_name(namespaceId), | ||
120 | - pstrdup(RelationGetRelationName(heapRelation)), | ||
121 | - -1); | ||
122 | - | ||
123 | trigger = makeNode(CreateTrigStmt); | ||
124 | trigger->trigname = (constraintType == CONSTRAINT_PRIMARY) ? | ||
125 | "PK_ConstraintTrigger" : | ||
126 | "Unique_ConstraintTrigger"; | ||
127 | - trigger->relation = heapRel; | ||
128 | + trigger->relation = NULL; | ||
129 | trigger->funcname = SystemFuncName("unique_key_recheck"); | ||
130 | trigger->args = NIL; | ||
131 | trigger->row = true; | ||
132 | @@ -1226,7 +1221,8 @@ index_constraint_create(Relation heapRelation, | ||
133 | trigger->initdeferred = initdeferred; | ||
134 | trigger->constrrel = NULL; | ||
135 | |||
136 | - (void) CreateTrigger(trigger, NULL, conOid, indexRelationId, true); | ||
137 | + (void) CreateTrigger(trigger, NULL, RelationGetRelid(heapRelation), | ||
138 | + InvalidOid, conOid, indexRelationId, true); | ||
139 | } | ||
140 | |||
141 | /* | ||
142 | diff --git a/src/backend/catalog/pg_constraint.c b/src/backend/catalog/pg_constraint.c | ||
143 | index 107a780..08a94cf 100644 | ||
144 | --- a/src/backend/catalog/pg_constraint.c | ||
145 | +++ b/src/backend/catalog/pg_constraint.c | ||
146 | @@ -746,6 +746,25 @@ AlterConstraintNamespaces(Oid ownerId, Oid oldNspId, | ||
147 | } | ||
148 | |||
149 | /* | ||
150 | + * get_constraint_relation_oids | ||
151 | + * Find the IDs of the relations to which a constraint refers. | ||
152 | + */ | ||
153 | +void | ||
154 | +get_constraint_relation_oids(Oid constraint_oid, Oid *conrelid, Oid *confrelid) | ||
155 | +{ | ||
156 | + HeapTuple tup; | ||
157 | + Form_pg_constraint con; | ||
158 | + | ||
159 | + tup = SearchSysCache1(CONSTROID, ObjectIdGetDatum(constraint_oid)); | ||
160 | + if (!HeapTupleIsValid(tup)) /* should not happen */ | ||
161 | + elog(ERROR, "cache lookup failed for constraint %u", constraint_oid); | ||
162 | + con = (Form_pg_constraint) GETSTRUCT(tup); | ||
163 | + *conrelid = con->conrelid; | ||
164 | + *confrelid = con->confrelid; | ||
165 | + ReleaseSysCache(tup); | ||
166 | +} | ||
167 | + | ||
168 | +/* | ||
169 | * get_relation_constraint_oid | ||
170 | * Find a constraint on the specified relation with the specified name. | ||
171 | * Returns constraint's OID. | ||
172 | diff --git a/src/backend/commands/indexcmds.c b/src/backend/commands/indexcmds.c | ||
173 | index f3ee278..ec5fb0d 100644 | ||
174 | --- a/src/backend/commands/indexcmds.c | ||
175 | +++ b/src/backend/commands/indexcmds.c | ||
176 | @@ -111,7 +111,6 @@ static void RangeVarCallbackForReindexIndex(const RangeVar *relation, | ||
177 | */ | ||
178 | bool | ||
179 | CheckIndexCompatible(Oid oldId, | ||
180 | - RangeVar *heapRelation, | ||
181 | char *accessMethodName, | ||
182 | List *attributeList, | ||
183 | List *exclusionOpNames) | ||
184 | @@ -139,7 +138,7 @@ CheckIndexCompatible(Oid oldId, | ||
185 | Datum d; | ||
186 | |||
187 | /* Caller should already have the relation locked in some way. */ | ||
188 | - relationId = RangeVarGetRelid(heapRelation, NoLock, false); | ||
189 | + relationId = IndexGetRelation(oldId, false); | ||
190 | |||
191 | /* | ||
192 | * We can pretend isconstraint = false unconditionally. It only serves to | ||
193 | @@ -279,6 +278,8 @@ CheckIndexCompatible(Oid oldId, | ||
194 | * DefineIndex | ||
195 | * Creates a new index. | ||
196 | * | ||
197 | + * 'relationId': the OID of the heap relation on which the index is to be | ||
198 | + * created | ||
199 | * 'stmt': IndexStmt describing the properties of the new index. | ||
200 | * 'indexRelationId': normally InvalidOid, but during bootstrap can be | ||
201 | * nonzero to specify a preselected OID for the index. | ||
202 | @@ -292,7 +293,8 @@ CheckIndexCompatible(Oid oldId, | ||
203 | * Returns the OID of the created index. | ||
204 | */ | ||
205 | Oid | ||
206 | -DefineIndex(IndexStmt *stmt, | ||
207 | +DefineIndex(Oid relationId, | ||
208 | + IndexStmt *stmt, | ||
209 | Oid indexRelationId, | ||
210 | bool is_alter_table, | ||
211 | bool check_rights, | ||
212 | @@ -305,7 +307,6 @@ DefineIndex(IndexStmt *stmt, | ||
213 | Oid *collationObjectId; | ||
214 | Oid *classObjectId; | ||
215 | Oid accessMethodId; | ||
216 | - Oid relationId; | ||
217 | Oid namespaceId; | ||
218 | Oid tablespaceId; | ||
219 | List *indexColNames; | ||
220 | @@ -325,6 +326,7 @@ DefineIndex(IndexStmt *stmt, | ||
221 | int n_old_snapshots; | ||
222 | LockRelId heaprelid; | ||
223 | LOCKTAG heaplocktag; | ||
224 | + LOCKMODE lockmode; | ||
225 | Snapshot snapshot; | ||
226 | int i; | ||
227 | |||
228 | @@ -343,14 +345,18 @@ DefineIndex(IndexStmt *stmt, | ||
229 | INDEX_MAX_KEYS))); | ||
230 | |||
231 | /* | ||
232 | - * Open heap relation, acquire a suitable lock on it, remember its OID | ||
233 | - * | ||
234 | * Only SELECT ... FOR UPDATE/SHARE are allowed while doing a standard | ||
235 | * index build; but for concurrent builds we allow INSERT/UPDATE/DELETE | ||
236 | * (but not VACUUM). | ||
237 | + * | ||
238 | + * NB: Caller is responsible for making sure that relationId refers | ||
239 | + * to the relation on which the index should be built; except in bootstrap | ||
240 | + * mode, this will typically require the caller to have already locked | ||
241 | + * the relation. To avoid lock upgrade hazards, that lock should be at | ||
242 | + * least as strong as the one we take here. | ||
243 | */ | ||
244 | - rel = heap_openrv(stmt->relation, | ||
245 | - (stmt->concurrent ? ShareUpdateExclusiveLock : ShareLock)); | ||
246 | + lockmode = stmt->concurrent ? ShareUpdateExclusiveLock : ShareLock; | ||
247 | + rel = heap_open(relationId, lockmode); | ||
248 | |||
249 | relationId = RelationGetRelid(rel); | ||
250 | namespaceId = RelationGetNamespace(rel); | ||
251 | diff --git a/src/backend/commands/tablecmds.c b/src/backend/commands/tablecmds.c | ||
252 | index 7c1f779..bcb81ea 100644 | ||
253 | --- a/src/backend/commands/tablecmds.c | ||
254 | +++ b/src/backend/commands/tablecmds.c | ||
255 | @@ -283,7 +283,8 @@ static void validateCheckConstraint(Relation rel, HeapTuple constrtup); | ||
256 | static void validateForeignKeyConstraint(char *conname, | ||
257 | Relation rel, Relation pkrel, | ||
258 | Oid pkindOid, Oid constraintOid); | ||
259 | -static void createForeignKeyTriggers(Relation rel, Constraint *fkconstraint, | ||
260 | +static void createForeignKeyTriggers(Relation rel, Oid refRelOid, | ||
261 | + Constraint *fkconstraint, | ||
262 | Oid constraintOid, Oid indexOid); | ||
263 | static void ATController(Relation rel, List *cmds, bool recurse, LOCKMODE lockmode); | ||
264 | static void ATPrepCmd(List **wqueue, Relation rel, AlterTableCmd *cmd, | ||
265 | @@ -360,8 +361,9 @@ static void ATExecAlterColumnType(AlteredTableInfo *tab, Relation rel, | ||
266 | static void ATExecAlterColumnGenericOptions(Relation rel, const char *colName, | ||
267 | List *options, LOCKMODE lockmode); | ||
268 | static void ATPostAlterTypeCleanup(List **wqueue, AlteredTableInfo *tab, LOCKMODE lockmode); | ||
269 | -static void ATPostAlterTypeParse(Oid oldId, char *cmd, | ||
270 | - List **wqueue, LOCKMODE lockmode, bool rewrite); | ||
271 | +static void ATPostAlterTypeParse(Oid oldId, Oid oldRelId, Oid refRelId, | ||
272 | + char *cmd, List **wqueue, LOCKMODE lockmode, | ||
273 | + bool rewrite); | ||
274 | static void TryReuseIndex(Oid oldId, IndexStmt *stmt); | ||
275 | static void TryReuseForeignKey(Oid oldId, Constraint *con); | ||
276 | static void change_owner_fix_column_acls(Oid relationOid, | ||
277 | @@ -5406,7 +5408,8 @@ ATExecAddIndex(AlteredTableInfo *tab, Relation rel, | ||
278 | |||
279 | /* The IndexStmt has already been through transformIndexStmt */ | ||
280 | |||
281 | - new_index = DefineIndex(stmt, | ||
282 | + new_index = DefineIndex(RelationGetRelid(rel), | ||
283 | + stmt, | ||
284 | InvalidOid, /* no predefined OID */ | ||
285 | true, /* is_alter_table */ | ||
286 | check_rights, | ||
287 | @@ -5728,7 +5731,10 @@ ATAddForeignKeyConstraint(AlteredTableInfo *tab, Relation rel, | ||
288 | * table; trying to start with a lesser lock will just create a risk of | ||
289 | * deadlock.) | ||
290 | */ | ||
291 | - pkrel = heap_openrv(fkconstraint->pktable, AccessExclusiveLock); | ||
292 | + if (OidIsValid(fkconstraint->old_pktable_oid)) | ||
293 | + pkrel = heap_open(fkconstraint->old_pktable_oid, AccessExclusiveLock); | ||
294 | + else | ||
295 | + pkrel = heap_openrv(fkconstraint->pktable, AccessExclusiveLock); | ||
296 | |||
297 | /* | ||
298 | * Validity checks (permission checks wait till we have the column | ||
299 | @@ -6066,7 +6072,8 @@ ATAddForeignKeyConstraint(AlteredTableInfo *tab, Relation rel, | ||
300 | /* | ||
301 | * Create the triggers that will enforce the constraint. | ||
302 | */ | ||
303 | - createForeignKeyTriggers(rel, fkconstraint, constrOid, indexOid); | ||
304 | + createForeignKeyTriggers(rel, RelationGetRelid(pkrel), fkconstraint, | ||
305 | + constrOid, indexOid); | ||
306 | |||
307 | /* | ||
308 | * Tell Phase 3 to check that the constraint is satisfied by existing | ||
309 | @@ -6736,7 +6743,7 @@ validateForeignKeyConstraint(char *conname, | ||
310 | } | ||
311 | |||
312 | static void | ||
313 | -CreateFKCheckTrigger(RangeVar *myRel, Constraint *fkconstraint, | ||
314 | +CreateFKCheckTrigger(Oid myRelOid, Oid refRelOid, Constraint *fkconstraint, | ||
315 | Oid constraintOid, Oid indexOid, bool on_insert) | ||
316 | { | ||
317 | CreateTrigStmt *fk_trigger; | ||
318 | @@ -6752,7 +6759,7 @@ CreateFKCheckTrigger(RangeVar *myRel, Constraint *fkconstraint, | ||
319 | */ | ||
320 | fk_trigger = makeNode(CreateTrigStmt); | ||
321 | fk_trigger->trigname = "RI_ConstraintTrigger_c"; | ||
322 | - fk_trigger->relation = myRel; | ||
323 | + fk_trigger->relation = NULL; | ||
324 | fk_trigger->row = true; | ||
325 | fk_trigger->timing = TRIGGER_TYPE_AFTER; | ||
326 | |||
327 | @@ -6773,10 +6780,11 @@ CreateFKCheckTrigger(RangeVar *myRel, Constraint *fkconstraint, | ||
328 | fk_trigger->isconstraint = true; | ||
329 | fk_trigger->deferrable = fkconstraint->deferrable; | ||
330 | fk_trigger->initdeferred = fkconstraint->initdeferred; | ||
331 | - fk_trigger->constrrel = fkconstraint->pktable; | ||
332 | + fk_trigger->constrrel = NULL; | ||
333 | fk_trigger->args = NIL; | ||
334 | |||
335 | - (void) CreateTrigger(fk_trigger, NULL, constraintOid, indexOid, true); | ||
336 | + (void) CreateTrigger(fk_trigger, NULL, myRelOid, refRelOid, constraintOid, | ||
337 | + indexOid, true); | ||
338 | |||
339 | /* Make changes-so-far visible */ | ||
340 | CommandCounterIncrement(); | ||
341 | @@ -6786,18 +6794,13 @@ CreateFKCheckTrigger(RangeVar *myRel, Constraint *fkconstraint, | ||
342 | * Create the triggers that implement an FK constraint. | ||
343 | */ | ||
344 | static void | ||
345 | -createForeignKeyTriggers(Relation rel, Constraint *fkconstraint, | ||
346 | +createForeignKeyTriggers(Relation rel, Oid refRelOid, Constraint *fkconstraint, | ||
347 | Oid constraintOid, Oid indexOid) | ||
348 | { | ||
349 | - RangeVar *myRel; | ||
350 | + Oid myRelOid; | ||
351 | CreateTrigStmt *fk_trigger; | ||
352 | |||
353 | - /* | ||
354 | - * Reconstruct a RangeVar for my relation (not passed in, unfortunately). | ||
355 | - */ | ||
356 | - myRel = makeRangeVar(get_namespace_name(RelationGetNamespace(rel)), | ||
357 | - pstrdup(RelationGetRelationName(rel)), | ||
358 | - -1); | ||
359 | + myRelOid = RelationGetRelid(rel); | ||
360 | |||
361 | /* Make changes-so-far visible */ | ||
362 | CommandCounterIncrement(); | ||
363 | @@ -6808,14 +6811,14 @@ createForeignKeyTriggers(Relation rel, Constraint *fkconstraint, | ||
364 | */ | ||
365 | fk_trigger = makeNode(CreateTrigStmt); | ||
366 | fk_trigger->trigname = "RI_ConstraintTrigger_a"; | ||
367 | - fk_trigger->relation = fkconstraint->pktable; | ||
368 | + fk_trigger->relation = NULL; | ||
369 | fk_trigger->row = true; | ||
370 | fk_trigger->timing = TRIGGER_TYPE_AFTER; | ||
371 | fk_trigger->events = TRIGGER_TYPE_DELETE; | ||
372 | fk_trigger->columns = NIL; | ||
373 | fk_trigger->whenClause = NULL; | ||
374 | fk_trigger->isconstraint = true; | ||
375 | - fk_trigger->constrrel = myRel; | ||
376 | + fk_trigger->constrrel = NULL; | ||
377 | switch (fkconstraint->fk_del_action) | ||
378 | { | ||
379 | case FKCONSTR_ACTION_NOACTION: | ||
380 | @@ -6850,7 +6853,8 @@ createForeignKeyTriggers(Relation rel, Constraint *fkconstraint, | ||
381 | } | ||
382 | fk_trigger->args = NIL; | ||
383 | |||
384 | - (void) CreateTrigger(fk_trigger, NULL, constraintOid, indexOid, true); | ||
385 | + (void) CreateTrigger(fk_trigger, NULL, refRelOid, myRelOid, constraintOid, | ||
386 | + indexOid, true); | ||
387 | |||
388 | /* Make changes-so-far visible */ | ||
389 | CommandCounterIncrement(); | ||
390 | @@ -6861,14 +6865,14 @@ createForeignKeyTriggers(Relation rel, Constraint *fkconstraint, | ||
391 | */ | ||
392 | fk_trigger = makeNode(CreateTrigStmt); | ||
393 | fk_trigger->trigname = "RI_ConstraintTrigger_a"; | ||
394 | - fk_trigger->relation = fkconstraint->pktable; | ||
395 | + fk_trigger->relation = NULL; | ||
396 | fk_trigger->row = true; | ||
397 | fk_trigger->timing = TRIGGER_TYPE_AFTER; | ||
398 | fk_trigger->events = TRIGGER_TYPE_UPDATE; | ||
399 | fk_trigger->columns = NIL; | ||
400 | fk_trigger->whenClause = NULL; | ||
401 | fk_trigger->isconstraint = true; | ||
402 | - fk_trigger->constrrel = myRel; | ||
403 | + fk_trigger->constrrel = NULL; | ||
404 | switch (fkconstraint->fk_upd_action) | ||
405 | { | ||
406 | case FKCONSTR_ACTION_NOACTION: | ||
407 | @@ -6903,7 +6907,8 @@ createForeignKeyTriggers(Relation rel, Constraint *fkconstraint, | ||
408 | } | ||
409 | fk_trigger->args = NIL; | ||
410 | |||
411 | - (void) CreateTrigger(fk_trigger, NULL, constraintOid, indexOid, true); | ||
412 | + (void) CreateTrigger(fk_trigger, NULL, refRelOid, myRelOid, constraintOid, | ||
413 | + indexOid, true); | ||
414 | |||
415 | /* Make changes-so-far visible */ | ||
416 | CommandCounterIncrement(); | ||
417 | @@ -6912,8 +6917,10 @@ createForeignKeyTriggers(Relation rel, Constraint *fkconstraint, | ||
418 | * Build and execute CREATE CONSTRAINT TRIGGER statements for the CHECK | ||
419 | * action for both INSERTs and UPDATEs on the referencing table. | ||
420 | */ | ||
421 | - CreateFKCheckTrigger(myRel, fkconstraint, constraintOid, indexOid, true); | ||
422 | - CreateFKCheckTrigger(myRel, fkconstraint, constraintOid, indexOid, false); | ||
423 | + CreateFKCheckTrigger(myRelOid, refRelOid, fkconstraint, constraintOid, | ||
424 | + indexOid, true); | ||
425 | + CreateFKCheckTrigger(myRelOid, refRelOid, fkconstraint, constraintOid, | ||
426 | + indexOid, false); | ||
427 | } | ||
428 | |||
429 | /* | ||
430 | @@ -7832,15 +7839,36 @@ ATPostAlterTypeCleanup(List **wqueue, AlteredTableInfo *tab, LOCKMODE lockmode) | ||
431 | * lock on the table the constraint is attached to, and we need to get | ||
432 | * that before dropping. It's safe because the parser won't actually look | ||
433 | * at the catalogs to detect the existing entry. | ||
434 | + * | ||
435 | + * We can't rely on the output of deparsing to tell us which relation | ||
436 | + * to operate on, because concurrent activity might have made the name | ||
437 | + * resolve differently. Instead, we've got to use the OID of the | ||
438 | + * constraint or index we're processing to figure out which relation | ||
439 | + * to operate on. | ||
440 | */ | ||
441 | forboth(oid_item, tab->changedConstraintOids, | ||
442 | def_item, tab->changedConstraintDefs) | ||
443 | - ATPostAlterTypeParse(lfirst_oid(oid_item), (char *) lfirst(def_item), | ||
444 | + { | ||
445 | + Oid oldId = lfirst_oid(oid_item); | ||
446 | + Oid relid; | ||
447 | + Oid confrelid; | ||
448 | + | ||
449 | + get_constraint_relation_oids(oldId, &relid, &confrelid); | ||
450 | + ATPostAlterTypeParse(oldId, relid, confrelid, | ||
451 | + (char *) lfirst(def_item), | ||
452 | wqueue, lockmode, tab->rewrite); | ||
453 | + } | ||
454 | forboth(oid_item, tab->changedIndexOids, | ||
455 | def_item, tab->changedIndexDefs) | ||
456 | - ATPostAlterTypeParse(lfirst_oid(oid_item), (char *) lfirst(def_item), | ||
457 | + { | ||
458 | + Oid oldId = lfirst_oid(oid_item); | ||
459 | + Oid relid; | ||
460 | + | ||
461 | + relid = IndexGetRelation(oldId, false); | ||
462 | + ATPostAlterTypeParse(oldId, relid, InvalidOid, | ||
463 | + (char *) lfirst(def_item), | ||
464 | wqueue, lockmode, tab->rewrite); | ||
465 | + } | ||
466 | |||
467 | /* | ||
468 | * Now we can drop the existing constraints and indexes --- constraints | ||
469 | @@ -7873,12 +7901,13 @@ ATPostAlterTypeCleanup(List **wqueue, AlteredTableInfo *tab, LOCKMODE lockmode) | ||
470 | } | ||
471 | |||
472 | static void | ||
473 | -ATPostAlterTypeParse(Oid oldId, char *cmd, | ||
474 | +ATPostAlterTypeParse(Oid oldId, Oid oldRelId, Oid refRelId, char *cmd, | ||
475 | List **wqueue, LOCKMODE lockmode, bool rewrite) | ||
476 | { | ||
477 | List *raw_parsetree_list; | ||
478 | List *querytree_list; | ||
479 | ListCell *list_item; | ||
480 | + Relation rel; | ||
481 | |||
482 | /* | ||
483 | * We expect that we will get only ALTER TABLE and CREATE INDEX | ||
484 | @@ -7894,16 +7923,21 @@ ATPostAlterTypeParse(Oid oldId, char *cmd, | ||
485 | |||
486 | if (IsA(stmt, IndexStmt)) | ||
487 | querytree_list = lappend(querytree_list, | ||
488 | - transformIndexStmt((IndexStmt *) stmt, | ||
489 | + transformIndexStmt(oldRelId, | ||
490 | + (IndexStmt *) stmt, | ||
491 | cmd)); | ||
492 | else if (IsA(stmt, AlterTableStmt)) | ||
493 | querytree_list = list_concat(querytree_list, | ||
494 | - transformAlterTableStmt((AlterTableStmt *) stmt, | ||
495 | + transformAlterTableStmt(oldRelId, | ||
496 | + (AlterTableStmt *) stmt, | ||
497 | cmd)); | ||
498 | else | ||
499 | querytree_list = lappend(querytree_list, stmt); | ||
500 | } | ||
501 | |||
502 | + /* Caller should already have acquired whatever lock we need. */ | ||
503 | + rel = relation_open(oldRelId, NoLock); | ||
504 | + | ||
505 | /* | ||
506 | * Attach each generated command to the proper place in the work queue. | ||
507 | * Note this could result in creation of entirely new work-queue entries. | ||
508 | @@ -7915,7 +7949,6 @@ ATPostAlterTypeParse(Oid oldId, char *cmd, | ||
509 | foreach(list_item, querytree_list) | ||
510 | { | ||
511 | Node *stm = (Node *) lfirst(list_item); | ||
512 | - Relation rel; | ||
513 | AlteredTableInfo *tab; | ||
514 | |||
515 | switch (nodeTag(stm)) | ||
516 | @@ -7928,14 +7961,12 @@ ATPostAlterTypeParse(Oid oldId, char *cmd, | ||
517 | if (!rewrite) | ||
518 | TryReuseIndex(oldId, stmt); | ||
519 | |||
520 | - rel = relation_openrv(stmt->relation, lockmode); | ||
521 | tab = ATGetQueueEntry(wqueue, rel); | ||
522 | newcmd = makeNode(AlterTableCmd); | ||
523 | newcmd->subtype = AT_ReAddIndex; | ||
524 | newcmd->def = (Node *) stmt; | ||
525 | tab->subcmds[AT_PASS_OLD_INDEX] = | ||
526 | lappend(tab->subcmds[AT_PASS_OLD_INDEX], newcmd); | ||
527 | - relation_close(rel, NoLock); | ||
528 | break; | ||
529 | } | ||
530 | case T_AlterTableStmt: | ||
531 | @@ -7943,7 +7974,6 @@ ATPostAlterTypeParse(Oid oldId, char *cmd, | ||
532 | AlterTableStmt *stmt = (AlterTableStmt *) stm; | ||
533 | ListCell *lcmd; | ||
534 | |||
535 | - rel = relation_openrv(stmt->relation, lockmode); | ||
536 | tab = ATGetQueueEntry(wqueue, rel); | ||
537 | foreach(lcmd, stmt->cmds) | ||
538 | { | ||
539 | @@ -7964,6 +7994,7 @@ ATPostAlterTypeParse(Oid oldId, char *cmd, | ||
540 | case AT_AddConstraint: | ||
541 | Assert(IsA(cmd->def, Constraint)); | ||
542 | con = (Constraint *) cmd->def; | ||
543 | + con->old_pktable_oid = refRelId; | ||
544 | /* rewriting neither side of a FK */ | ||
545 | if (con->contype == CONSTR_FOREIGN && | ||
546 | !rewrite && !tab->rewrite) | ||
547 | @@ -7977,7 +8008,6 @@ ATPostAlterTypeParse(Oid oldId, char *cmd, | ||
548 | (int) cmd->subtype); | ||
549 | } | ||
550 | } | ||
551 | - relation_close(rel, NoLock); | ||
552 | break; | ||
553 | } | ||
554 | default: | ||
555 | @@ -7985,6 +8015,8 @@ ATPostAlterTypeParse(Oid oldId, char *cmd, | ||
556 | (int) nodeTag(stm)); | ||
557 | } | ||
558 | } | ||
559 | + | ||
560 | + relation_close(rel, NoLock); | ||
561 | } | ||
562 | |||
563 | /* | ||
564 | @@ -7995,7 +8027,6 @@ static void | ||
565 | TryReuseIndex(Oid oldId, IndexStmt *stmt) | ||
566 | { | ||
567 | if (CheckIndexCompatible(oldId, | ||
568 | - stmt->relation, | ||
569 | stmt->accessMethod, | ||
570 | stmt->indexParams, | ||
571 | stmt->excludeOpNames)) | ||
572 | @@ -10291,6 +10322,38 @@ RangeVarCallbackOwnsTable(const RangeVar *relation, | ||
573 | } | ||
574 | |||
575 | /* | ||
576 | + * Callback to RangeVarGetRelidExtended(), similar to | ||
577 | + * RangeVarCallbackOwnsTable() but without checks on the type of the relation. | ||
578 | + */ | ||
579 | +void | ||
580 | +RangeVarCallbackOwnsRelation(const RangeVar *relation, | ||
581 | + Oid relId, Oid oldRelId, void *arg) | ||
582 | +{ | ||
583 | + HeapTuple tuple; | ||
584 | + | ||
585 | + /* Nothing to do if the relation was not found. */ | ||
586 | + if (!OidIsValid(relId)) | ||
587 | + return; | ||
588 | + | ||
589 | + tuple = SearchSysCache1(RELOID, ObjectIdGetDatum(relId)); | ||
590 | + if (!HeapTupleIsValid(tuple)) /* should not happen */ | ||
591 | + elog(ERROR, "cache lookup failed for relation %u", relId); | ||
592 | + | ||
593 | + if (!pg_class_ownercheck(relId, GetUserId())) | ||
594 | + aclcheck_error(ACLCHECK_NOT_OWNER, ACL_KIND_CLASS, | ||
595 | + relation->relname); | ||
596 | + | ||
597 | + if (!allowSystemTableMods && | ||
598 | + IsSystemClass((Form_pg_class) GETSTRUCT(tuple))) | ||
599 | + ereport(ERROR, | ||
600 | + (errcode(ERRCODE_INSUFFICIENT_PRIVILEGE), | ||
601 | + errmsg("permission denied: \"%s\" is a system catalog", | ||
602 | + relation->relname))); | ||
603 | + | ||
604 | + ReleaseSysCache(tuple); | ||
605 | +} | ||
606 | + | ||
607 | +/* | ||
608 | * Common RangeVarGetRelid callback for rename, set schema, and alter table | ||
609 | * processing. | ||
610 | */ | ||
611 | diff --git a/src/backend/commands/trigger.c b/src/backend/commands/trigger.c | ||
612 | index f546d94..9e6c954 100644 | ||
613 | --- a/src/backend/commands/trigger.c | ||
614 | +++ b/src/backend/commands/trigger.c | ||
615 | @@ -42,6 +42,7 @@ | ||
616 | #include "pgstat.h" | ||
617 | #include "rewrite/rewriteManip.h" | ||
618 | #include "storage/bufmgr.h" | ||
619 | +#include "storage/lmgr.h" | ||
620 | #include "tcop/utility.h" | ||
621 | #include "utils/acl.h" | ||
622 | #include "utils/builtins.h" | ||
623 | @@ -94,6 +95,13 @@ static void AfterTriggerSaveEvent(EState *estate, ResultRelInfo *relinfo, | ||
624 | * queryString is the source text of the CREATE TRIGGER command. | ||
625 | * This must be supplied if a whenClause is specified, else it can be NULL. | ||
626 | * | ||
627 | + * relOid, if nonzero, is the relation on which the trigger should be | ||
628 | + * created. If zero, the name provided in the statement will be looked up. | ||
629 | + * | ||
630 | + * refRelOid, if nonzero, is the relation to which the constraint trigger | ||
631 | + * refers. If zero, the constraint relation name provided in the statement | ||
632 | + * will be looked up as needed. | ||
633 | + * | ||
634 | * constraintOid, if nonzero, says that this trigger is being created | ||
635 | * internally to implement that constraint. A suitable pg_depend entry will | ||
636 | * be made to link the trigger to that constraint. constraintOid is zero when | ||
637 | @@ -116,7 +124,7 @@ static void AfterTriggerSaveEvent(EState *estate, ResultRelInfo *relinfo, | ||
638 | */ | ||
639 | Oid | ||
640 | CreateTrigger(CreateTrigStmt *stmt, const char *queryString, | ||
641 | - Oid constraintOid, Oid indexOid, | ||
642 | + Oid relOid, Oid refRelOid, Oid constraintOid, Oid indexOid, | ||
643 | bool isInternal) | ||
644 | { | ||
645 | int16 tgtype; | ||
646 | @@ -145,7 +153,10 @@ CreateTrigger(CreateTrigStmt *stmt, const char *queryString, | ||
647 | ObjectAddress myself, | ||
648 | referenced; | ||
649 | |||
650 | - rel = heap_openrv(stmt->relation, AccessExclusiveLock); | ||
651 | + if (OidIsValid(relOid)) | ||
652 | + rel = heap_open(relOid, AccessExclusiveLock); | ||
653 | + else | ||
654 | + rel = heap_openrv(stmt->relation, AccessExclusiveLock); | ||
655 | |||
656 | /* | ||
657 | * Triggers must be on tables or views, and there are additional | ||
658 | @@ -194,7 +205,7 @@ CreateTrigger(CreateTrigStmt *stmt, const char *queryString, | ||
659 | errmsg("permission denied: \"%s\" is a system catalog", | ||
660 | RelationGetRelationName(rel)))); | ||
661 | |||
662 | - if (stmt->isconstraint && stmt->constrrel != NULL) | ||
663 | + if (stmt->isconstraint) | ||
664 | { | ||
665 | /* | ||
666 | * We must take a lock on the target relation to protect against | ||
667 | @@ -203,7 +214,14 @@ CreateTrigger(CreateTrigStmt *stmt, const char *queryString, | ||
668 | * might end up creating a pg_constraint entry referencing a | ||
669 | * nonexistent table. | ||
670 | */ | ||
671 | - constrrelid = RangeVarGetRelid(stmt->constrrel, AccessShareLock, false); | ||
672 | + if (OidIsValid(refRelOid)) | ||
673 | + { | ||
674 | + LockRelationOid(refRelOid, AccessShareLock); | ||
675 | + constrrelid = refRelOid; | ||
676 | + } | ||
677 | + else if (stmt->constrrel != NULL) | ||
678 | + constrrelid = RangeVarGetRelid(stmt->constrrel, AccessShareLock, | ||
679 | + false); | ||
680 | } | ||
681 | |||
682 | /* permission checks */ | ||
683 | @@ -513,7 +531,7 @@ CreateTrigger(CreateTrigStmt *stmt, const char *queryString, | ||
684 | ereport(ERROR, | ||
685 | (errcode(ERRCODE_DUPLICATE_OBJECT), | ||
686 | errmsg("trigger \"%s\" for relation \"%s\" already exists", | ||
687 | - trigname, stmt->relation->relname))); | ||
688 | + trigname, RelationGetRelationName(rel)))); | ||
689 | } | ||
690 | systable_endscan(tgscan); | ||
691 | } | ||
692 | diff --git a/src/backend/nodes/copyfuncs.c b/src/backend/nodes/copyfuncs.c | ||
693 | index 9bac994..dbe0f6a 100644 | ||
694 | --- a/src/backend/nodes/copyfuncs.c | ||
695 | +++ b/src/backend/nodes/copyfuncs.c | ||
696 | @@ -2357,6 +2357,7 @@ _copyConstraint(const Constraint *from) | ||
697 | COPY_SCALAR_FIELD(fk_upd_action); | ||
698 | COPY_SCALAR_FIELD(fk_del_action); | ||
699 | COPY_NODE_FIELD(old_conpfeqop); | ||
700 | + COPY_SCALAR_FIELD(old_pktable_oid); | ||
701 | COPY_SCALAR_FIELD(skip_validation); | ||
702 | COPY_SCALAR_FIELD(initially_valid); | ||
703 | |||
704 | diff --git a/src/backend/nodes/equalfuncs.c b/src/backend/nodes/equalfuncs.c | ||
705 | index d185654..f8770b0 100644 | ||
706 | --- a/src/backend/nodes/equalfuncs.c | ||
707 | +++ b/src/backend/nodes/equalfuncs.c | ||
708 | @@ -2143,6 +2143,7 @@ _equalConstraint(const Constraint *a, const Constraint *b) | ||
709 | COMPARE_SCALAR_FIELD(fk_upd_action); | ||
710 | COMPARE_SCALAR_FIELD(fk_del_action); | ||
711 | COMPARE_NODE_FIELD(old_conpfeqop); | ||
712 | + COMPARE_SCALAR_FIELD(old_pktable_oid); | ||
713 | COMPARE_SCALAR_FIELD(skip_validation); | ||
714 | COMPARE_SCALAR_FIELD(initially_valid); | ||
715 | |||
716 | diff --git a/src/backend/nodes/outfuncs.c b/src/backend/nodes/outfuncs.c | ||
717 | index 1df71f6..888ffd2 100644 | ||
718 | --- a/src/backend/nodes/outfuncs.c | ||
719 | +++ b/src/backend/nodes/outfuncs.c | ||
720 | @@ -2653,6 +2653,7 @@ _outConstraint(StringInfo str, const Constraint *node) | ||
721 | WRITE_CHAR_FIELD(fk_upd_action); | ||
722 | WRITE_CHAR_FIELD(fk_del_action); | ||
723 | WRITE_NODE_FIELD(old_conpfeqop); | ||
724 | + WRITE_OID_FIELD(old_pktable_oid); | ||
725 | WRITE_BOOL_FIELD(skip_validation); | ||
726 | WRITE_BOOL_FIELD(initially_valid); | ||
727 | break; | ||
728 | diff --git a/src/backend/parser/parse_utilcmd.c b/src/backend/parser/parse_utilcmd.c | ||
729 | index e3f9c62..5df939a 100644 | ||
730 | --- a/src/backend/parser/parse_utilcmd.c | ||
731 | +++ b/src/backend/parser/parse_utilcmd.c | ||
732 | @@ -1867,14 +1867,18 @@ transformFKConstraints(CreateStmtContext *cxt, | ||
733 | * a predicate expression. There are several code paths that create indexes | ||
734 | * without bothering to call this, because they know they don't have any | ||
735 | * such expressions to deal with. | ||
736 | + * | ||
737 | + * To avoid race conditions, it's important that this function rely only on | ||
738 | + * the passed-in relid (and not on stmt->relation) to determine the target | ||
739 | + * relation. | ||
740 | */ | ||
741 | IndexStmt * | ||
742 | -transformIndexStmt(IndexStmt *stmt, const char *queryString) | ||
743 | +transformIndexStmt(Oid relid, IndexStmt *stmt, const char *queryString) | ||
744 | { | ||
745 | - Relation rel; | ||
746 | ParseState *pstate; | ||
747 | RangeTblEntry *rte; | ||
748 | ListCell *l; | ||
749 | + Relation rel; | ||
750 | |||
751 | /* | ||
752 | * We must not scribble on the passed-in IndexStmt, so copy it. (This is | ||
753 | @@ -1882,26 +1886,17 @@ transformIndexStmt(IndexStmt *stmt, const char *queryString) | ||
754 | */ | ||
755 | stmt = (IndexStmt *) copyObject(stmt); | ||
756 | |||
757 | - /* | ||
758 | - * Open the parent table with appropriate locking. We must do this | ||
759 | - * because addRangeTableEntry() would acquire only AccessShareLock, | ||
760 | - * leaving DefineIndex() needing to do a lock upgrade with consequent risk | ||
761 | - * of deadlock. Make sure this stays in sync with the type of lock | ||
762 | - * DefineIndex() wants. If we are being called by ALTER TABLE, we will | ||
763 | - * already hold a higher lock. | ||
764 | - */ | ||
765 | - rel = heap_openrv(stmt->relation, | ||
766 | - (stmt->concurrent ? ShareUpdateExclusiveLock : ShareLock)); | ||
767 | - | ||
768 | /* Set up pstate */ | ||
769 | pstate = make_parsestate(NULL); | ||
770 | pstate->p_sourcetext = queryString; | ||
771 | |||
772 | /* | ||
773 | * Put the parent table into the rtable so that the expressions can refer | ||
774 | - * to its fields without qualification. | ||
775 | + * to its fields without qualification. Caller is responsible for locking | ||
776 | + * relation, but we still need to open it. | ||
777 | */ | ||
778 | - rte = addRangeTableEntry(pstate, stmt->relation, NULL, false, true); | ||
779 | + rel = relation_open(relid, NoLock); | ||
780 | + rte = addRangeTableEntryForRelation(pstate, rel, NULL, false, true); | ||
781 | |||
782 | /* no to join list, yes to namespaces */ | ||
783 | addRTEtoQuery(pstate, rte, false, true, true); | ||
784 | @@ -1955,7 +1950,7 @@ transformIndexStmt(IndexStmt *stmt, const char *queryString) | ||
785 | |||
786 | free_parsestate(pstate); | ||
787 | |||
788 | - /* Close relation, but keep the lock */ | ||
789 | + /* Close relation */ | ||
790 | heap_close(rel, NoLock); | ||
791 | |||
792 | return stmt; | ||
793 | @@ -2277,9 +2272,14 @@ transformRuleStmt(RuleStmt *stmt, const char *queryString, | ||
794 | * Returns a List of utility commands to be done in sequence. One of these | ||
795 | * will be the transformed AlterTableStmt, but there may be additional actions | ||
796 | * to be done before and after the actual AlterTable() call. | ||
797 | + * | ||
798 | + * To avoid race conditions, it's important that this function rely only on | ||
799 | + * the passed-in relid (and not on stmt->relation) to determine the target | ||
800 | + * relation. | ||
801 | */ | ||
802 | List * | ||
803 | -transformAlterTableStmt(AlterTableStmt *stmt, const char *queryString) | ||
804 | +transformAlterTableStmt(Oid relid, AlterTableStmt *stmt, | ||
805 | + const char *queryString) | ||
806 | { | ||
807 | Relation rel; | ||
808 | ParseState *pstate; | ||
809 | @@ -2291,7 +2291,6 @@ transformAlterTableStmt(AlterTableStmt *stmt, const char *queryString) | ||
810 | List *newcmds = NIL; | ||
811 | bool skipValidation = true; | ||
812 | AlterTableCmd *newcmd; | ||
813 | - LOCKMODE lockmode; | ||
814 | |||
815 | /* | ||
816 | * We must not scribble on the passed-in AlterTableStmt, so copy it. (This | ||
817 | @@ -2299,29 +2298,8 @@ transformAlterTableStmt(AlterTableStmt *stmt, const char *queryString) | ||
818 | */ | ||
819 | stmt = (AlterTableStmt *) copyObject(stmt); | ||
820 | |||
821 | - /* | ||
822 | - * Determine the appropriate lock level for this list of subcommands. | ||
823 | - */ | ||
824 | - lockmode = AlterTableGetLockLevel(stmt->cmds); | ||
825 | - | ||
826 | - /* | ||
827 | - * Acquire appropriate lock on the target relation, which will be held | ||
828 | - * until end of transaction. This ensures any decisions we make here | ||
829 | - * based on the state of the relation will still be good at execution. We | ||
830 | - * must get lock now because execution will later require it; taking a | ||
831 | - * lower grade lock now and trying to upgrade later risks deadlock. Any | ||
832 | - * new commands we add after this must not upgrade the lock level | ||
833 | - * requested here. | ||
834 | - */ | ||
835 | - rel = relation_openrv_extended(stmt->relation, lockmode, stmt->missing_ok); | ||
836 | - if (rel == NULL) | ||
837 | - { | ||
838 | - /* this message is consistent with relation_openrv */ | ||
839 | - ereport(NOTICE, | ||
840 | - (errmsg("relation \"%s\" does not exist, skipping", | ||
841 | - stmt->relation->relname))); | ||
842 | - return NIL; | ||
843 | - } | ||
844 | + /* Caller is responsible for locking the relation */ | ||
845 | + rel = relation_open(relid, NoLock); | ||
846 | |||
847 | /* Set up pstate and CreateStmtContext */ | ||
848 | pstate = make_parsestate(NULL); | ||
849 | @@ -2434,7 +2412,7 @@ transformAlterTableStmt(AlterTableStmt *stmt, const char *queryString) | ||
850 | IndexStmt *idxstmt = (IndexStmt *) lfirst(l); | ||
851 | |||
852 | Assert(IsA(idxstmt, IndexStmt)); | ||
853 | - idxstmt = transformIndexStmt(idxstmt, queryString); | ||
854 | + idxstmt = transformIndexStmt(relid, idxstmt, queryString); | ||
855 | newcmd = makeNode(AlterTableCmd); | ||
856 | newcmd->subtype = OidIsValid(idxstmt->indexOid) ? AT_AddIndexConstraint : AT_AddIndex; | ||
857 | newcmd->def = (Node *) idxstmt; | ||
858 | @@ -2458,7 +2436,7 @@ transformAlterTableStmt(AlterTableStmt *stmt, const char *queryString) | ||
859 | newcmds = lappend(newcmds, newcmd); | ||
860 | } | ||
861 | |||
862 | - /* Close rel but keep lock */ | ||
863 | + /* Close rel */ | ||
864 | relation_close(rel, NoLock); | ||
865 | |||
866 | /* | ||
867 | diff --git a/src/backend/tcop/utility.c b/src/backend/tcop/utility.c | ||
868 | index 509bf4d..7903e03 100644 | ||
869 | --- a/src/backend/tcop/utility.c | ||
870 | +++ b/src/backend/tcop/utility.c | ||
871 | @@ -67,49 +67,6 @@ ProcessUtility_hook_type ProcessUtility_hook = NULL; | ||
872 | |||
873 | |||
874 | /* | ||
875 | - * Verify user has ownership of specified relation, else ereport. | ||
876 | - * | ||
877 | - * If noCatalogs is true then we also deny access to system catalogs, | ||
878 | - * except when allowSystemTableMods is true. | ||
879 | - */ | ||
880 | -void | ||
881 | -CheckRelationOwnership(RangeVar *rel, bool noCatalogs) | ||
882 | -{ | ||
883 | - Oid relOid; | ||
884 | - HeapTuple tuple; | ||
885 | - | ||
886 | - /* | ||
887 | - * XXX: This is unsafe in the presence of concurrent DDL, since it is | ||
888 | - * called before acquiring any lock on the target relation. However, | ||
889 | - * locking the target relation (especially using something like | ||
890 | - * AccessExclusiveLock) before verifying that the user has permissions is | ||
891 | - * not appealing either. | ||
892 | - */ | ||
893 | - relOid = RangeVarGetRelid(rel, NoLock, false); | ||
894 | - | ||
895 | - tuple = SearchSysCache1(RELOID, ObjectIdGetDatum(relOid)); | ||
896 | - if (!HeapTupleIsValid(tuple)) /* should not happen */ | ||
897 | - elog(ERROR, "cache lookup failed for relation %u", relOid); | ||
898 | - | ||
899 | - if (!pg_class_ownercheck(relOid, GetUserId())) | ||
900 | - aclcheck_error(ACLCHECK_NOT_OWNER, ACL_KIND_CLASS, | ||
901 | - rel->relname); | ||
902 | - | ||
903 | - if (noCatalogs) | ||
904 | - { | ||
905 | - if (!allowSystemTableMods && | ||
906 | - IsSystemClass((Form_pg_class) GETSTRUCT(tuple))) | ||
907 | - ereport(ERROR, | ||
908 | - (errcode(ERRCODE_INSUFFICIENT_PRIVILEGE), | ||
909 | - errmsg("permission denied: \"%s\" is a system catalog", | ||
910 | - rel->relname))); | ||
911 | - } | ||
912 | - | ||
913 | - ReleaseSysCache(tuple); | ||
914 | -} | ||
915 | - | ||
916 | - | ||
917 | -/* | ||
918 | * CommandIsReadOnly: is an executable query read-only? | ||
919 | * | ||
920 | * This is a much stricter test than we apply for XactReadOnly mode; | ||
921 | @@ -723,7 +680,8 @@ standard_ProcessUtility(Node *parsetree, | ||
922 | if (OidIsValid(relid)) | ||
923 | { | ||
924 | /* Run parse analysis ... */ | ||
925 | - stmts = transformAlterTableStmt(atstmt, queryString); | ||
926 | + stmts = transformAlterTableStmt(relid, atstmt, | ||
927 | + queryString); | ||
928 | |||
929 | /* ... and do it */ | ||
930 | foreach(l, stmts) | ||
931 | @@ -910,18 +868,36 @@ standard_ProcessUtility(Node *parsetree, | ||
932 | case T_IndexStmt: /* CREATE INDEX */ | ||
933 | { | ||
934 | IndexStmt *stmt = (IndexStmt *) parsetree; | ||
935 | + Oid relid; | ||
936 | + LOCKMODE lockmode; | ||
937 | |||
938 | if (stmt->concurrent) | ||
939 | PreventTransactionChain(isTopLevel, | ||
940 | "CREATE INDEX CONCURRENTLY"); | ||
941 | |||
942 | - CheckRelationOwnership(stmt->relation, true); | ||
943 | + /* | ||
944 | + * Look up the relation OID just once, right here at the | ||
945 | + * beginning, so that we don't end up repeating the name | ||
946 | + * lookup later and latching onto a different relation | ||
947 | + * partway through. To avoid lock upgrade hazards, it's | ||
948 | + * important that we take the strongest lock that will | ||
949 | + * eventually be needed here, so the lockmode calculation | ||
950 | + * needs to match what DefineIndex() does. | ||
951 | + */ | ||
952 | + lockmode = stmt->concurrent ? ShareUpdateExclusiveLock | ||
953 | + : ShareLock; | ||
954 | + relid = | ||
955 | + RangeVarGetRelidExtended(stmt->relation, lockmode, | ||
956 | + false, false, | ||
957 | + RangeVarCallbackOwnsRelation, | ||
958 | + NULL); | ||
959 | |||
960 | /* Run parse analysis ... */ | ||
961 | - stmt = transformIndexStmt(stmt, queryString); | ||
962 | + stmt = transformIndexStmt(relid, stmt, queryString); | ||
963 | |||
964 | /* ... and do it */ | ||
965 | - DefineIndex(stmt, | ||
966 | + DefineIndex(relid, /* OID of heap relation */ | ||
967 | + stmt, | ||
968 | InvalidOid, /* no predefined OID */ | ||
969 | false, /* is_alter_table */ | ||
970 | true, /* check_rights */ | ||
971 | @@ -1057,7 +1033,8 @@ standard_ProcessUtility(Node *parsetree, | ||
972 | |||
973 | case T_CreateTrigStmt: | ||
974 | (void) CreateTrigger((CreateTrigStmt *) parsetree, queryString, | ||
975 | - InvalidOid, InvalidOid, false); | ||
976 | + InvalidOid, InvalidOid, InvalidOid, | ||
977 | + InvalidOid, false); | ||
978 | break; | ||
979 | |||
980 | case T_CreatePLangStmt: | ||
981 | diff --git a/src/include/catalog/pg_constraint.h b/src/include/catalog/pg_constraint.h | ||
982 | index d9d40b2..d8f8da4 100644 | ||
983 | --- a/src/include/catalog/pg_constraint.h | ||
984 | +++ b/src/include/catalog/pg_constraint.h | ||
985 | @@ -246,6 +246,7 @@ extern char *ChooseConstraintName(const char *name1, const char *name2, | ||
986 | |||
987 | extern void AlterConstraintNamespaces(Oid ownerId, Oid oldNspId, | ||
988 | Oid newNspId, bool isType, ObjectAddresses *objsMoved); | ||
989 | +extern void get_constraint_relation_oids(Oid constraint_oid, Oid *conrelid, Oid *confrelid); | ||
990 | extern Oid get_relation_constraint_oid(Oid relid, const char *conname, bool missing_ok); | ||
991 | extern Oid get_domain_constraint_oid(Oid typid, const char *conname, bool missing_ok); | ||
992 | |||
993 | diff --git a/src/include/commands/defrem.h b/src/include/commands/defrem.h | ||
994 | index 9b6d57a..a00fd37 100644 | ||
995 | --- a/src/include/commands/defrem.h | ||
996 | +++ b/src/include/commands/defrem.h | ||
997 | @@ -20,7 +20,8 @@ | ||
998 | extern void RemoveObjects(DropStmt *stmt); | ||
999 | |||
1000 | /* commands/indexcmds.c */ | ||
1001 | -extern Oid DefineIndex(IndexStmt *stmt, | ||
1002 | +extern Oid DefineIndex(Oid relationId, | ||
1003 | + IndexStmt *stmt, | ||
1004 | Oid indexRelationId, | ||
1005 | bool is_alter_table, | ||
1006 | bool check_rights, | ||
1007 | @@ -35,7 +36,6 @@ extern char *makeObjectName(const char *name1, const char *name2, | ||
1008 | extern char *ChooseRelationName(const char *name1, const char *name2, | ||
1009 | const char *label, Oid namespaceid); | ||
1010 | extern bool CheckIndexCompatible(Oid oldId, | ||
1011 | - RangeVar *heapRelation, | ||
1012 | char *accessMethodName, | ||
1013 | List *attributeList, | ||
1014 | List *exclusionOpNames); | ||
1015 | diff --git a/src/include/commands/tablecmds.h b/src/include/commands/tablecmds.h | ||
1016 | index 4f32062..d41f8a1 100644 | ||
1017 | --- a/src/include/commands/tablecmds.h | ||
1018 | +++ b/src/include/commands/tablecmds.h | ||
1019 | @@ -78,4 +78,6 @@ extern void AtEOSubXact_on_commit_actions(bool isCommit, | ||
1020 | extern void RangeVarCallbackOwnsTable(const RangeVar *relation, | ||
1021 | Oid relId, Oid oldRelId, void *arg); | ||
1022 | |||
1023 | +extern void RangeVarCallbackOwnsRelation(const RangeVar *relation, | ||
1024 | + Oid relId, Oid oldRelId, void *noCatalogs); | ||
1025 | #endif /* TABLECMDS_H */ | ||
1026 | diff --git a/src/include/commands/trigger.h b/src/include/commands/trigger.h | ||
1027 | index 9303341..0869c0b 100644 | ||
1028 | --- a/src/include/commands/trigger.h | ||
1029 | +++ b/src/include/commands/trigger.h | ||
1030 | @@ -109,7 +109,7 @@ extern PGDLLIMPORT int SessionReplicationRole; | ||
1031 | #define TRIGGER_DISABLED 'D' | ||
1032 | |||
1033 | extern Oid CreateTrigger(CreateTrigStmt *stmt, const char *queryString, | ||
1034 | - Oid constraintOid, Oid indexOid, | ||
1035 | + Oid relOid, Oid refRelOid, Oid constraintOid, Oid indexOid, | ||
1036 | bool isInternal); | ||
1037 | |||
1038 | extern void RemoveTriggerById(Oid trigOid); | ||
1039 | diff --git a/src/include/nodes/parsenodes.h b/src/include/nodes/parsenodes.h | ||
1040 | index 327f7cf..31f5479 100644 | ||
1041 | --- a/src/include/nodes/parsenodes.h | ||
1042 | +++ b/src/include/nodes/parsenodes.h | ||
1043 | @@ -1566,6 +1566,8 @@ typedef struct Constraint | ||
1044 | /* Fields used for constraints that allow a NOT VALID specification */ | ||
1045 | bool skip_validation; /* skip validation of existing rows? */ | ||
1046 | bool initially_valid; /* mark the new constraint as valid? */ | ||
1047 | + | ||
1048 | + Oid old_pktable_oid; /* pg_constraint.confrelid of my former self */ | ||
1049 | } Constraint; | ||
1050 | |||
1051 | /* ---------------------- | ||
1052 | diff --git a/src/include/parser/parse_utilcmd.h b/src/include/parser/parse_utilcmd.h | ||
1053 | index 4ad793a..d8b340e 100644 | ||
1054 | --- a/src/include/parser/parse_utilcmd.h | ||
1055 | +++ b/src/include/parser/parse_utilcmd.h | ||
1056 | @@ -18,9 +18,10 @@ | ||
1057 | |||
1058 | |||
1059 | extern List *transformCreateStmt(CreateStmt *stmt, const char *queryString); | ||
1060 | -extern List *transformAlterTableStmt(AlterTableStmt *stmt, | ||
1061 | +extern List *transformAlterTableStmt(Oid relid, AlterTableStmt *stmt, | ||
1062 | const char *queryString); | ||
1063 | -extern IndexStmt *transformIndexStmt(IndexStmt *stmt, const char *queryString); | ||
1064 | +extern IndexStmt *transformIndexStmt(Oid relid, IndexStmt *stmt, | ||
1065 | + const char *queryString); | ||
1066 | extern void transformRuleStmt(RuleStmt *stmt, const char *queryString, | ||
1067 | List **actions, Node **whereClause); | ||
1068 | extern List *transformCreateSchemaStmt(CreateSchemaStmt *stmt); | ||
1069 | diff --git a/src/include/tcop/utility.h b/src/include/tcop/utility.h | ||
1070 | index 54190b2..ae871ca 100644 | ||
1071 | --- a/src/include/tcop/utility.h | ||
1072 | +++ b/src/include/tcop/utility.h | ||
1073 | @@ -42,6 +42,4 @@ extern LogStmtLevel GetCommandLogLevel(Node *parsetree); | ||
1074 | |||
1075 | extern bool CommandIsReadOnly(Node *parsetree); | ||
1076 | |||
1077 | -extern void CheckRelationOwnership(RangeVar *rel, bool noCatalogs); | ||
1078 | - | ||
1079 | #endif /* UTILITY_H */ | ||
1080 | -- | ||
1081 | 1.7.5.4 | ||
1082 | |||
diff --git a/meta-oe/recipes-support/postgresql/files/0006-Fix-handling-of-wide-datetime-input-output.patch b/meta-oe/recipes-support/postgresql/files/0006-Fix-handling-of-wide-datetime-input-output.patch new file mode 100644 index 000000000..fac0a7347 --- /dev/null +++ b/meta-oe/recipes-support/postgresql/files/0006-Fix-handling-of-wide-datetime-input-output.patch | |||
@@ -0,0 +1,465 @@ | |||
1 | From f416622be81d1320417bbc7892fd562cae0dba72 Mon Sep 17 00:00:00 2001 | ||
2 | From: Noah Misch <noah@leadboat.com> | ||
3 | Date: Mon, 17 Feb 2014 09:33:31 -0500 | ||
4 | Subject: [PATCH] Fix handling of wide datetime input/output. | ||
5 | MIME-Version: 1.0 | ||
6 | Content-Type: text/plain; charset=UTF-8 | ||
7 | Content-Transfer-Encoding: 8bit | ||
8 | |||
9 | commit f416622be81d1320417bbc7892fd562cae0dba72 REL9_2_STABLE | ||
10 | |||
11 | Many server functions use the MAXDATELEN constant to size a buffer for | ||
12 | parsing or displaying a datetime value. It was much too small for the | ||
13 | longest possible interval output and slightly too small for certain | ||
14 | valid timestamp input, particularly input with a long timezone name. | ||
15 | The long input was rejected needlessly; the long output caused | ||
16 | interval_out() to overrun its buffer. ECPG's pgtypes library has a copy | ||
17 | of the vulnerable functions, which bore the same vulnerabilities along | ||
18 | with some of its own. In contrast to the server, certain long inputs | ||
19 | caused stack overflow rather than failing cleanly. Back-patch to 8.4 | ||
20 | (all supported versions). | ||
21 | |||
22 | Reported by Daniel Schüssler, reviewed by Tom Lane. | ||
23 | |||
24 | Security: CVE-2014-0063 | ||
25 | |||
26 | |||
27 | Upstream-Status: Backport | ||
28 | |||
29 | Signed-off-by: Kai Kang <kai.kang@windriver.com> | ||
30 | --- | ||
31 | src/include/utils/datetime.h | 17 +++++--- | ||
32 | src/interfaces/ecpg/pgtypeslib/datetime.c | 4 +- | ||
33 | src/interfaces/ecpg/pgtypeslib/dt.h | 17 +++++--- | ||
34 | src/interfaces/ecpg/pgtypeslib/dt_common.c | 44 ++++++++++++++------ | ||
35 | src/interfaces/ecpg/pgtypeslib/interval.c | 2 +- | ||
36 | src/interfaces/ecpg/pgtypeslib/timestamp.c | 2 +- | ||
37 | .../ecpg/test/expected/pgtypeslib-dt_test2.c | 22 +++++++--- | ||
38 | .../ecpg/test/expected/pgtypeslib-dt_test2.stdout | 19 ++++++++ | ||
39 | src/interfaces/ecpg/test/pgtypeslib/dt_test2.pgc | 10 ++++ | ||
40 | src/test/regress/expected/interval.out | 7 +++ | ||
41 | src/test/regress/sql/interval.sql | 2 + | ||
42 | 11 files changed, 111 insertions(+), 35 deletions(-) | ||
43 | |||
44 | diff --git a/src/include/utils/datetime.h b/src/include/utils/datetime.h | ||
45 | index d73cc8d..4b805b6 100644 | ||
46 | --- a/src/include/utils/datetime.h | ||
47 | +++ b/src/include/utils/datetime.h | ||
48 | @@ -188,12 +188,17 @@ struct tzEntry; | ||
49 | #define DTK_DATE_M (DTK_M(YEAR) | DTK_M(MONTH) | DTK_M(DAY)) | ||
50 | #define DTK_TIME_M (DTK_M(HOUR) | DTK_M(MINUTE) | DTK_ALL_SECS_M) | ||
51 | |||
52 | -#define MAXDATELEN 63 /* maximum possible length of an input date | ||
53 | - * string (not counting tr. null) */ | ||
54 | -#define MAXDATEFIELDS 25 /* maximum possible number of fields in a date | ||
55 | - * string */ | ||
56 | -#define TOKMAXLEN 10 /* only this many chars are stored in | ||
57 | - * datetktbl */ | ||
58 | +/* | ||
59 | + * Working buffer size for input and output of interval, timestamp, etc. | ||
60 | + * Inputs that need more working space will be rejected early. Longer outputs | ||
61 | + * will overrun buffers, so this must suffice for all possible output. As of | ||
62 | + * this writing, interval_out() needs the most space at ~90 bytes. | ||
63 | + */ | ||
64 | +#define MAXDATELEN 128 | ||
65 | +/* maximum possible number of fields in a date string */ | ||
66 | +#define MAXDATEFIELDS 25 | ||
67 | +/* only this many chars are stored in datetktbl */ | ||
68 | +#define TOKMAXLEN 10 | ||
69 | |||
70 | /* keep this struct small; it gets used a lot */ | ||
71 | typedef struct | ||
72 | diff --git a/src/interfaces/ecpg/pgtypeslib/datetime.c b/src/interfaces/ecpg/pgtypeslib/datetime.c | ||
73 | index 823626f..4adcd1e 100644 | ||
74 | --- a/src/interfaces/ecpg/pgtypeslib/datetime.c | ||
75 | +++ b/src/interfaces/ecpg/pgtypeslib/datetime.c | ||
76 | @@ -61,14 +61,14 @@ PGTYPESdate_from_asc(char *str, char **endptr) | ||
77 | int nf; | ||
78 | char *field[MAXDATEFIELDS]; | ||
79 | int ftype[MAXDATEFIELDS]; | ||
80 | - char lowstr[MAXDATELEN + 1]; | ||
81 | + char lowstr[MAXDATELEN + MAXDATEFIELDS]; | ||
82 | char *realptr; | ||
83 | char **ptr = (endptr != NULL) ? endptr : &realptr; | ||
84 | |||
85 | bool EuroDates = FALSE; | ||
86 | |||
87 | errno = 0; | ||
88 | - if (strlen(str) >= sizeof(lowstr)) | ||
89 | + if (strlen(str) > MAXDATELEN) | ||
90 | { | ||
91 | errno = PGTYPES_DATE_BAD_DATE; | ||
92 | return INT_MIN; | ||
93 | diff --git a/src/interfaces/ecpg/pgtypeslib/dt.h b/src/interfaces/ecpg/pgtypeslib/dt.h | ||
94 | index dfe6f9e..2780593 100644 | ||
95 | --- a/src/interfaces/ecpg/pgtypeslib/dt.h | ||
96 | +++ b/src/interfaces/ecpg/pgtypeslib/dt.h | ||
97 | @@ -192,12 +192,17 @@ typedef double fsec_t; | ||
98 | #define DTK_DATE_M (DTK_M(YEAR) | DTK_M(MONTH) | DTK_M(DAY)) | ||
99 | #define DTK_TIME_M (DTK_M(HOUR) | DTK_M(MINUTE) | DTK_M(SECOND)) | ||
100 | |||
101 | -#define MAXDATELEN 63 /* maximum possible length of an input date | ||
102 | - * string (not counting tr. null) */ | ||
103 | -#define MAXDATEFIELDS 25 /* maximum possible number of fields in a date | ||
104 | - * string */ | ||
105 | -#define TOKMAXLEN 10 /* only this many chars are stored in | ||
106 | - * datetktbl */ | ||
107 | +/* | ||
108 | + * Working buffer size for input and output of interval, timestamp, etc. | ||
109 | + * Inputs that need more working space will be rejected early. Longer outputs | ||
110 | + * will overrun buffers, so this must suffice for all possible output. As of | ||
111 | + * this writing, PGTYPESinterval_to_asc() needs the most space at ~90 bytes. | ||
112 | + */ | ||
113 | +#define MAXDATELEN 128 | ||
114 | +/* maximum possible number of fields in a date string */ | ||
115 | +#define MAXDATEFIELDS 25 | ||
116 | +/* only this many chars are stored in datetktbl */ | ||
117 | +#define TOKMAXLEN 10 | ||
118 | |||
119 | /* keep this struct small; it gets used a lot */ | ||
120 | typedef struct | ||
121 | diff --git a/src/interfaces/ecpg/pgtypeslib/dt_common.c b/src/interfaces/ecpg/pgtypeslib/dt_common.c | ||
122 | index 6b89e4a..18178dd 100644 | ||
123 | --- a/src/interfaces/ecpg/pgtypeslib/dt_common.c | ||
124 | +++ b/src/interfaces/ecpg/pgtypeslib/dt_common.c | ||
125 | @@ -1171,15 +1171,22 @@ DecodeNumberField(int len, char *str, int fmask, | ||
126 | if ((cp = strchr(str, '.')) != NULL) | ||
127 | { | ||
128 | #ifdef HAVE_INT64_TIMESTAMP | ||
129 | - char fstr[MAXDATELEN + 1]; | ||
130 | + char fstr[7]; | ||
131 | + int i; | ||
132 | + | ||
133 | + cp++; | ||
134 | |||
135 | /* | ||
136 | * OK, we have at most six digits to care about. Let's construct a | ||
137 | - * string and then do the conversion to an integer. | ||
138 | + * string with those digits, zero-padded on the right, and then do | ||
139 | + * the conversion to an integer. | ||
140 | + * | ||
141 | + * XXX This truncates the seventh digit, unlike rounding it as do | ||
142 | + * the backend and the !HAVE_INT64_TIMESTAMP case. | ||
143 | */ | ||
144 | - strcpy(fstr, (cp + 1)); | ||
145 | - strcpy(fstr + strlen(fstr), "000000"); | ||
146 | - *(fstr + 6) = '\0'; | ||
147 | + for (i = 0; i < 6; i++) | ||
148 | + fstr[i] = *cp != '\0' ? *cp++ : '0'; | ||
149 | + fstr[i] = '\0'; | ||
150 | *fsec = strtol(fstr, NULL, 10); | ||
151 | #else | ||
152 | *fsec = strtod(cp, NULL); | ||
153 | @@ -1531,15 +1538,22 @@ DecodeTime(char *str, int *tmask, struct tm * tm, fsec_t *fsec) | ||
154 | else if (*cp == '.') | ||
155 | { | ||
156 | #ifdef HAVE_INT64_TIMESTAMP | ||
157 | - char fstr[MAXDATELEN + 1]; | ||
158 | + char fstr[7]; | ||
159 | + int i; | ||
160 | + | ||
161 | + cp++; | ||
162 | |||
163 | /* | ||
164 | - * OK, we have at most six digits to work with. Let's construct a | ||
165 | - * string and then do the conversion to an integer. | ||
166 | + * OK, we have at most six digits to care about. Let's construct a | ||
167 | + * string with those digits, zero-padded on the right, and then do | ||
168 | + * the conversion to an integer. | ||
169 | + * | ||
170 | + * XXX This truncates the seventh digit, unlike rounding it as do | ||
171 | + * the backend and the !HAVE_INT64_TIMESTAMP case. | ||
172 | */ | ||
173 | - strncpy(fstr, (cp + 1), 7); | ||
174 | - strcpy(fstr + strlen(fstr), "000000"); | ||
175 | - *(fstr + 6) = '\0'; | ||
176 | + for (i = 0; i < 6; i++) | ||
177 | + fstr[i] = *cp != '\0' ? *cp++ : '0'; | ||
178 | + fstr[i] = '\0'; | ||
179 | *fsec = strtol(fstr, &cp, 10); | ||
180 | #else | ||
181 | str = cp; | ||
182 | @@ -1665,6 +1679,9 @@ DecodePosixTimezone(char *str, int *tzp) | ||
183 | * DTK_NUMBER can hold date fields (yy.ddd) | ||
184 | * DTK_STRING can hold months (January) and time zones (PST) | ||
185 | * DTK_DATE can hold Posix time zones (GMT-8) | ||
186 | + * | ||
187 | + * The "lowstr" work buffer must have at least strlen(timestr) + MAXDATEFIELDS | ||
188 | + * bytes of space. On output, field[] entries will point into it. | ||
189 | */ | ||
190 | int | ||
191 | ParseDateTime(char *timestr, char *lowstr, | ||
192 | @@ -1677,7 +1694,10 @@ ParseDateTime(char *timestr, char *lowstr, | ||
193 | /* outer loop through fields */ | ||
194 | while (*(*endstr) != '\0') | ||
195 | { | ||
196 | + /* Record start of current field */ | ||
197 | field[nf] = lp; | ||
198 | + if (nf >= MAXDATEFIELDS) | ||
199 | + return -1; | ||
200 | |||
201 | /* leading digit? then date or time */ | ||
202 | if (isdigit((unsigned char) *(*endstr))) | ||
203 | @@ -1818,8 +1838,6 @@ ParseDateTime(char *timestr, char *lowstr, | ||
204 | /* force in a delimiter after each field */ | ||
205 | *lp++ = '\0'; | ||
206 | nf++; | ||
207 | - if (nf > MAXDATEFIELDS) | ||
208 | - return -1; | ||
209 | } | ||
210 | |||
211 | *numfields = nf; | ||
212 | diff --git a/src/interfaces/ecpg/pgtypeslib/interval.c b/src/interfaces/ecpg/pgtypeslib/interval.c | ||
213 | index bcc10ee..fdd8f49 100644 | ||
214 | --- a/src/interfaces/ecpg/pgtypeslib/interval.c | ||
215 | +++ b/src/interfaces/ecpg/pgtypeslib/interval.c | ||
216 | @@ -1092,7 +1092,7 @@ PGTYPESinterval_from_asc(char *str, char **endptr) | ||
217 | tm->tm_sec = 0; | ||
218 | fsec = 0; | ||
219 | |||
220 | - if (strlen(str) >= sizeof(lowstr)) | ||
221 | + if (strlen(str) > MAXDATELEN) | ||
222 | { | ||
223 | errno = PGTYPES_INTVL_BAD_INTERVAL; | ||
224 | return NULL; | ||
225 | diff --git a/src/interfaces/ecpg/pgtypeslib/timestamp.c b/src/interfaces/ecpg/pgtypeslib/timestamp.c | ||
226 | index 7d3f7c8..4f91e63 100644 | ||
227 | --- a/src/interfaces/ecpg/pgtypeslib/timestamp.c | ||
228 | +++ b/src/interfaces/ecpg/pgtypeslib/timestamp.c | ||
229 | @@ -297,7 +297,7 @@ PGTYPEStimestamp_from_asc(char *str, char **endptr) | ||
230 | char *realptr; | ||
231 | char **ptr = (endptr != NULL) ? endptr : &realptr; | ||
232 | |||
233 | - if (strlen(str) >= sizeof(lowstr)) | ||
234 | + if (strlen(str) > MAXDATELEN) | ||
235 | { | ||
236 | errno = PGTYPES_TS_BAD_TIMESTAMP; | ||
237 | return (noresult); | ||
238 | diff --git a/src/interfaces/ecpg/test/expected/pgtypeslib-dt_test2.c b/src/interfaces/ecpg/test/expected/pgtypeslib-dt_test2.c | ||
239 | index d3ebb0e..0ba1936 100644 | ||
240 | --- a/src/interfaces/ecpg/test/expected/pgtypeslib-dt_test2.c | ||
241 | +++ b/src/interfaces/ecpg/test/expected/pgtypeslib-dt_test2.c | ||
242 | @@ -45,6 +45,15 @@ char *dates[] = { "19990108foobar", | ||
243 | "1999.008", | ||
244 | "J2451187", | ||
245 | "January 8, 99 BC", | ||
246 | + /* | ||
247 | + * Maximize space usage in ParseDateTime() with 25 | ||
248 | + * (MAXDATEFIELDS) fields and 128 (MAXDATELEN) total length. | ||
249 | + */ | ||
250 | + "........................Xaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa" | ||
251 | + "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", | ||
252 | + /* 26 fields */ | ||
253 | + ".........................aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa" | ||
254 | + "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", | ||
255 | NULL }; | ||
256 | |||
257 | /* do not conflict with libc "times" symbol */ | ||
258 | @@ -52,6 +61,7 @@ static char *times[] = { "0:04", | ||
259 | "1:59 PDT", | ||
260 | "13:24:40 -8:00", | ||
261 | "13:24:40.495+3", | ||
262 | + "13:24:40.123456789+3", | ||
263 | NULL }; | ||
264 | |||
265 | char *intervals[] = { "1 minute", | ||
266 | @@ -73,22 +83,22 @@ main(void) | ||
267 | |||
268 | |||
269 | |||
270 | -#line 52 "dt_test2.pgc" | ||
271 | +#line 62 "dt_test2.pgc" | ||
272 | date date1 ; | ||
273 | |||
274 | -#line 53 "dt_test2.pgc" | ||
275 | +#line 63 "dt_test2.pgc" | ||
276 | timestamp ts1 , ts2 ; | ||
277 | |||
278 | -#line 54 "dt_test2.pgc" | ||
279 | +#line 64 "dt_test2.pgc" | ||
280 | char * text ; | ||
281 | |||
282 | -#line 55 "dt_test2.pgc" | ||
283 | +#line 65 "dt_test2.pgc" | ||
284 | interval * i1 ; | ||
285 | |||
286 | -#line 56 "dt_test2.pgc" | ||
287 | +#line 66 "dt_test2.pgc" | ||
288 | date * dc ; | ||
289 | /* exec sql end declare section */ | ||
290 | -#line 57 "dt_test2.pgc" | ||
291 | +#line 67 "dt_test2.pgc" | ||
292 | |||
293 | |||
294 | int i, j; | ||
295 | diff --git a/src/interfaces/ecpg/test/expected/pgtypeslib-dt_test2.stdout b/src/interfaces/ecpg/test/expected/pgtypeslib-dt_test2.stdout | ||
296 | index 24e9d26..9a4587b 100644 | ||
297 | --- a/src/interfaces/ecpg/test/expected/pgtypeslib-dt_test2.stdout | ||
298 | +++ b/src/interfaces/ecpg/test/expected/pgtypeslib-dt_test2.stdout | ||
299 | @@ -8,85 +8,104 @@ TS[3,0]: 1999-01-08 00:04:00 | ||
300 | TS[3,1]: 1999-01-08 01:59:00 | ||
301 | TS[3,2]: 1999-01-08 13:24:40 | ||
302 | TS[3,3]: 1999-01-08 13:24:40.495 | ||
303 | +TS[3,4]: 1999-01-08 13:24:40.123456 | ||
304 | Date[4]: 1999-01-08 (N - F) | ||
305 | TS[4,0]: 1999-01-08 00:04:00 | ||
306 | TS[4,1]: 1999-01-08 01:59:00 | ||
307 | TS[4,2]: 1999-01-08 13:24:40 | ||
308 | TS[4,3]: 1999-01-08 13:24:40.495 | ||
309 | +TS[4,4]: 1999-01-08 13:24:40.123456 | ||
310 | Date[5]: 1999-01-08 (N - F) | ||
311 | TS[5,0]: 1999-01-08 00:04:00 | ||
312 | TS[5,1]: 1999-01-08 01:59:00 | ||
313 | TS[5,2]: 1999-01-08 13:24:40 | ||
314 | TS[5,3]: 1999-01-08 13:24:40.495 | ||
315 | +TS[5,4]: 1999-01-08 13:24:40.123456 | ||
316 | Date[6]: 1999-01-18 (N - F) | ||
317 | TS[6,0]: 1999-01-18 00:04:00 | ||
318 | TS[6,1]: 1999-01-18 01:59:00 | ||
319 | TS[6,2]: 1999-01-18 13:24:40 | ||
320 | TS[6,3]: 1999-01-18 13:24:40.495 | ||
321 | +TS[6,4]: 1999-01-18 13:24:40.123456 | ||
322 | Date[7]: 2003-01-02 (N - F) | ||
323 | TS[7,0]: 2003-01-02 00:04:00 | ||
324 | TS[7,1]: 2003-01-02 01:59:00 | ||
325 | TS[7,2]: 2003-01-02 13:24:40 | ||
326 | TS[7,3]: 2003-01-02 13:24:40.495 | ||
327 | +TS[7,4]: 2003-01-02 13:24:40.123456 | ||
328 | Date[8]: 1999-01-08 (N - F) | ||
329 | TS[8,0]: 1999-01-08 00:04:00 | ||
330 | TS[8,1]: 1999-01-08 01:59:00 | ||
331 | TS[8,2]: 1999-01-08 13:24:40 | ||
332 | TS[8,3]: 1999-01-08 13:24:40.495 | ||
333 | +TS[8,4]: 1999-01-08 13:24:40.123456 | ||
334 | Date[9]: 1999-01-08 (N - F) | ||
335 | TS[9,0]: 1999-01-08 00:04:00 | ||
336 | TS[9,1]: 1999-01-08 01:59:00 | ||
337 | TS[9,2]: 1999-01-08 13:24:40 | ||
338 | TS[9,3]: 1999-01-08 13:24:40.495 | ||
339 | +TS[9,4]: 1999-01-08 13:24:40.123456 | ||
340 | Date[10]: 1999-01-08 (N - F) | ||
341 | TS[10,0]: 1999-01-08 00:04:00 | ||
342 | TS[10,1]: 1999-01-08 01:59:00 | ||
343 | TS[10,2]: 1999-01-08 13:24:40 | ||
344 | TS[10,3]: 1999-01-08 13:24:40.495 | ||
345 | +TS[10,4]: 1999-01-08 13:24:40.123456 | ||
346 | Date[11]: 1999-01-08 (N - F) | ||
347 | TS[11,0]: 1999-01-08 00:04:00 | ||
348 | TS[11,1]: 1999-01-08 01:59:00 | ||
349 | TS[11,2]: 1999-01-08 13:24:40 | ||
350 | TS[11,3]: 1999-01-08 13:24:40.495 | ||
351 | +TS[11,4]: 1999-01-08 13:24:40.123456 | ||
352 | Date[12]: 1999-01-08 (N - F) | ||
353 | TS[12,0]: 1999-01-08 00:04:00 | ||
354 | TS[12,1]: 1999-01-08 01:59:00 | ||
355 | TS[12,2]: 1999-01-08 13:24:40 | ||
356 | TS[12,3]: 1999-01-08 13:24:40.495 | ||
357 | +TS[12,4]: 1999-01-08 13:24:40.123456 | ||
358 | Date[13]: 2006-01-08 (N - F) | ||
359 | TS[13,0]: 2006-01-08 00:04:00 | ||
360 | TS[13,1]: 2006-01-08 01:59:00 | ||
361 | TS[13,2]: 2006-01-08 13:24:40 | ||
362 | TS[13,3]: 2006-01-08 13:24:40.495 | ||
363 | +TS[13,4]: 2006-01-08 13:24:40.123456 | ||
364 | Date[14]: 1999-01-08 (N - F) | ||
365 | TS[14,0]: 1999-01-08 00:04:00 | ||
366 | TS[14,1]: 1999-01-08 01:59:00 | ||
367 | TS[14,2]: 1999-01-08 13:24:40 | ||
368 | TS[14,3]: 1999-01-08 13:24:40.495 | ||
369 | +TS[14,4]: 1999-01-08 13:24:40.123456 | ||
370 | Date[15]: 1999-01-08 (N - F) | ||
371 | TS[15,0]: 1999-01-08 00:04:00 | ||
372 | TS[15,1]: 1999-01-08 01:59:00 | ||
373 | TS[15,2]: 1999-01-08 13:24:40 | ||
374 | TS[15,3]: 1999-01-08 13:24:40.495 | ||
375 | +TS[15,4]: 1999-01-08 13:24:40.123456 | ||
376 | Date[16]: 1999-01-08 (N - F) | ||
377 | TS[16,0]: 1999-01-08 00:04:00 | ||
378 | TS[16,1]: 1999-01-08 01:59:00 | ||
379 | TS[16,2]: 1999-01-08 13:24:40 | ||
380 | TS[16,3]: 1999-01-08 13:24:40.495 | ||
381 | +TS[16,4]: 1999-01-08 13:24:40.123456 | ||
382 | Date[17]: 1999-01-08 (N - F) | ||
383 | TS[17,0]: 1999-01-08 00:04:00 | ||
384 | TS[17,1]: 1999-01-08 01:59:00 | ||
385 | TS[17,2]: 1999-01-08 13:24:40 | ||
386 | TS[17,3]: 1999-01-08 13:24:40.495 | ||
387 | +TS[17,4]: 1999-01-08 13:24:40.123456 | ||
388 | Date[18]: 1999-01-08 (N - F) | ||
389 | TS[18,0]: 1999-01-08 00:04:00 | ||
390 | TS[18,1]: 1999-01-08 01:59:00 | ||
391 | TS[18,2]: 1999-01-08 13:24:40 | ||
392 | TS[18,3]: 1999-01-08 13:24:40.495 | ||
393 | +TS[18,4]: 1999-01-08 13:24:40.123456 | ||
394 | Date[19]: 0099-01-08 BC (N - F) | ||
395 | TS[19,0]: 0099-01-08 00:04:00 BC | ||
396 | TS[19,1]: 0099-01-08 01:59:00 BC | ||
397 | TS[19,2]: 0099-01-08 13:24:40 BC | ||
398 | +TS[19,4]: 0099-01-08 13:24:40.123456 BC | ||
399 | +Date[20]: - (N - T) | ||
400 | +Date[21]: - (N - T) | ||
401 | interval[0]: @ 1 min | ||
402 | interval_copy[0]: @ 1 min | ||
403 | interval[1]: @ 1 day 12 hours 59 mins 10 secs | ||
404 | diff --git a/src/interfaces/ecpg/test/pgtypeslib/dt_test2.pgc b/src/interfaces/ecpg/test/pgtypeslib/dt_test2.pgc | ||
405 | index 0edf012..a127dd9 100644 | ||
406 | --- a/src/interfaces/ecpg/test/pgtypeslib/dt_test2.pgc | ||
407 | +++ b/src/interfaces/ecpg/test/pgtypeslib/dt_test2.pgc | ||
408 | @@ -27,6 +27,15 @@ char *dates[] = { "19990108foobar", | ||
409 | "1999.008", | ||
410 | "J2451187", | ||
411 | "January 8, 99 BC", | ||
412 | + /* | ||
413 | + * Maximize space usage in ParseDateTime() with 25 | ||
414 | + * (MAXDATEFIELDS) fields and 128 (MAXDATELEN) total length. | ||
415 | + */ | ||
416 | + "........................Xaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa" | ||
417 | + "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", | ||
418 | + /* 26 fields */ | ||
419 | + ".........................aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa" | ||
420 | + "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa", | ||
421 | NULL }; | ||
422 | |||
423 | /* do not conflict with libc "times" symbol */ | ||
424 | @@ -34,6 +43,7 @@ static char *times[] = { "0:04", | ||
425 | "1:59 PDT", | ||
426 | "13:24:40 -8:00", | ||
427 | "13:24:40.495+3", | ||
428 | + "13:24:40.123456789+3", | ||
429 | NULL }; | ||
430 | |||
431 | char *intervals[] = { "1 minute", | ||
432 | diff --git a/src/test/regress/expected/interval.out b/src/test/regress/expected/interval.out | ||
433 | index 3bf2211..99fd0ca 100644 | ||
434 | --- a/src/test/regress/expected/interval.out | ||
435 | +++ b/src/test/regress/expected/interval.out | ||
436 | @@ -306,6 +306,13 @@ select '4 millenniums 5 centuries 4 decades 1 year 4 months 4 days 17 minutes 31 | ||
437 | @ 4541 years 4 mons 4 days 17 mins 31 secs | ||
438 | (1 row) | ||
439 | |||
440 | +-- test long interval output | ||
441 | +select '100000000y 10mon -1000000000d -1000000000h -10min -10.000001s ago'::interval; | ||
442 | + interval | ||
443 | +------------------------------------------------------------------------------------------- | ||
444 | + @ 100000000 years 10 mons -1000000000 days -1000000000 hours -10 mins -10.000001 secs ago | ||
445 | +(1 row) | ||
446 | + | ||
447 | -- test justify_hours() and justify_days() | ||
448 | SELECT justify_hours(interval '6 months 3 days 52 hours 3 minutes 2 seconds') as "6 mons 5 days 4 hours 3 mins 2 seconds"; | ||
449 | 6 mons 5 days 4 hours 3 mins 2 seconds | ||
450 | diff --git a/src/test/regress/sql/interval.sql b/src/test/regress/sql/interval.sql | ||
451 | index f1da4c2..7cee286 100644 | ||
452 | --- a/src/test/regress/sql/interval.sql | ||
453 | +++ b/src/test/regress/sql/interval.sql | ||
454 | @@ -108,6 +108,8 @@ select avg(f1) from interval_tbl; | ||
455 | -- test long interval input | ||
456 | select '4 millenniums 5 centuries 4 decades 1 year 4 months 4 days 17 minutes 31 seconds'::interval; | ||
457 | |||
458 | +-- test long interval output | ||
459 | +select '100000000y 10mon -1000000000d -1000000000h -10min -10.000001s ago'::interval; | ||
460 | |||
461 | -- test justify_hours() and justify_days() | ||
462 | |||
463 | -- | ||
464 | 1.7.5.4 | ||
465 | |||
diff --git a/meta-oe/recipes-support/postgresql/files/0007-Make-pqsignal-available-to-pg_regress-of-ECPG-and-is.patch b/meta-oe/recipes-support/postgresql/files/0007-Make-pqsignal-available-to-pg_regress-of-ECPG-and-is.patch new file mode 100644 index 000000000..3cffc0a85 --- /dev/null +++ b/meta-oe/recipes-support/postgresql/files/0007-Make-pqsignal-available-to-pg_regress-of-ECPG-and-is.patch | |||
@@ -0,0 +1,75 @@ | |||
1 | From 0ae841a98c21c53901d5bc9a9323a8cc800364f6 Mon Sep 17 00:00:00 2001 | ||
2 | From: Noah Misch <noah@leadboat.com> | ||
3 | Date: Sat, 14 Jun 2014 10:52:25 -0400 | ||
4 | Subject: [PATCH] Make pqsignal() available to pg_regress of ECPG and | ||
5 | isolation suites. | ||
6 | |||
7 | commit 0ae841a98c21c53901d5bc9a9323a8cc800364f6 REL9_2_STABLE | ||
8 | |||
9 | Commit 453a5d91d49e4d35054f92785d830df4067e10c1 made it available to the | ||
10 | src/test/regress build of pg_regress, but all pg_regress builds need the | ||
11 | same treatment. Patch 9.2 through 8.4; in 9.3 and later, pg_regress | ||
12 | gets pqsignal() via libpgport. | ||
13 | |||
14 | |||
15 | Upstream-Status: Backport | ||
16 | |||
17 | Signed-off-by: Kai Kang <kai.kang@windriver.com> | ||
18 | --- | ||
19 | src/interfaces/ecpg/test/Makefile | 4 ++-- | ||
20 | src/test/isolation/Makefile | 12 +++++++----- | ||
21 | 2 files changed, 9 insertions(+), 7 deletions(-) | ||
22 | |||
23 | diff --git a/src/interfaces/ecpg/test/Makefile b/src/interfaces/ecpg/test/Makefile | ||
24 | index e9944c6..4bb9525 100644 | ||
25 | --- a/src/interfaces/ecpg/test/Makefile | ||
26 | +++ b/src/interfaces/ecpg/test/Makefile | ||
27 | @@ -47,10 +47,10 @@ clean distclean maintainer-clean: | ||
28 | |||
29 | all: pg_regress$(X) | ||
30 | |||
31 | -pg_regress$(X): pg_regress_ecpg.o $(top_builddir)/src/test/regress/pg_regress.o | ||
32 | +pg_regress$(X): pg_regress_ecpg.o $(top_builddir)/src/test/regress/pg_regress.o $(top_builddir)/src/test/regress/pqsignal.o | ||
33 | $(CC) $(CFLAGS) $(LDFLAGS) $(LDFLAGS_EX) $^ $(LIBS) -o $@ | ||
34 | |||
35 | -$(top_builddir)/src/test/regress/pg_regress.o: | ||
36 | +$(top_builddir)/src/test/regress/pg_regress.o $(top_builddir)/src/test/regress/pqsignal.o: | ||
37 | $(MAKE) -C $(dir $@) $(notdir $@) | ||
38 | |||
39 | # dependencies ensure that path changes propagate | ||
40 | diff --git a/src/test/isolation/Makefile b/src/test/isolation/Makefile | ||
41 | index 46ea6f0..e20ba48 100644 | ||
42 | --- a/src/test/isolation/Makefile | ||
43 | +++ b/src/test/isolation/Makefile | ||
44 | @@ -15,13 +15,15 @@ OBJS = specparse.o isolationtester.o | ||
45 | |||
46 | all: isolationtester$(X) pg_isolation_regress$(X) | ||
47 | |||
48 | -submake-regress: | ||
49 | +pg_regress.o: | ||
50 | $(MAKE) -C $(top_builddir)/src/test/regress pg_regress.o | ||
51 | - | ||
52 | -pg_regress.o: | submake-regress | ||
53 | rm -f $@ && $(LN_S) $(top_builddir)/src/test/regress/pg_regress.o . | ||
54 | |||
55 | -pg_isolation_regress$(X): isolation_main.o pg_regress.o | ||
56 | +pqsignal.o: | ||
57 | + $(MAKE) -C $(top_builddir)/src/test/regress pqsignal.o | ||
58 | + rm -f $@ && $(LN_S) $(top_builddir)/src/test/regress/pqsignal.o . | ||
59 | + | ||
60 | +pg_isolation_regress$(X): isolation_main.o pg_regress.o pqsignal.o | ||
61 | $(CC) $(CFLAGS) $^ $(LDFLAGS) $(LDFLAGS_EX) $(LIBS) -o $@ | ||
62 | |||
63 | isolationtester$(X): $(OBJS) | submake-libpq submake-libpgport | ||
64 | @@ -59,7 +61,7 @@ endif | ||
65 | # so do not clean them here | ||
66 | clean distclean: | ||
67 | rm -f isolationtester$(X) pg_isolation_regress$(X) $(OBJS) isolation_main.o | ||
68 | - rm -f pg_regress.o | ||
69 | + rm -f pg_regress.o pqsignal.o | ||
70 | rm -rf $(pg_regress_clean_files) | ||
71 | |||
72 | maintainer-clean: distclean | ||
73 | -- | ||
74 | 1.7.5.4 | ||
75 | |||
diff --git a/meta-oe/recipes-support/postgresql/files/0008-Prevent-potential-overruns-of-fixed-size-buffers.patch b/meta-oe/recipes-support/postgresql/files/0008-Prevent-potential-overruns-of-fixed-size-buffers.patch new file mode 100644 index 000000000..62ec9354d --- /dev/null +++ b/meta-oe/recipes-support/postgresql/files/0008-Prevent-potential-overruns-of-fixed-size-buffers.patch | |||
@@ -0,0 +1,393 @@ | |||
1 | From 655b665f745e2e07cf6936c6063b0250f5caa98f Mon Sep 17 00:00:00 2001 | ||
2 | From: Tom Lane <tgl@sss.pgh.pa.us> | ||
3 | Date: Mon, 17 Feb 2014 11:20:27 -0500 | ||
4 | Subject: [PATCH] Prevent potential overruns of fixed-size buffers. | ||
5 | |||
6 | commit 655b665f745e2e07cf6936c6063b0250f5caa98f REL9_2_STABLE | ||
7 | |||
8 | Coverity identified a number of places in which it couldn't prove that a | ||
9 | string being copied into a fixed-size buffer would fit. We believe that | ||
10 | most, perhaps all of these are in fact safe, or are copying data that is | ||
11 | coming from a trusted source so that any overrun is not really a security | ||
12 | issue. Nonetheless it seems prudent to forestall any risk by using | ||
13 | strlcpy() and similar functions. | ||
14 | |||
15 | Fixes by Peter Eisentraut and Jozef Mlich based on Coverity reports. | ||
16 | |||
17 | In addition, fix a potential null-pointer-dereference crash in | ||
18 | contrib/chkpass. The crypt(3) function is defined to return NULL on | ||
19 | failure, but chkpass.c didn't check for that before using the result. | ||
20 | The main practical case in which this could be an issue is if libc is | ||
21 | configured to refuse to execute unapproved hashing algorithms (e.g., | ||
22 | "FIPS mode"). This ideally should've been a separate commit, but | ||
23 | since it touches code adjacent to one of the buffer overrun changes, | ||
24 | I included it in this commit to avoid last-minute merge issues. | ||
25 | This issue was reported by Honza Horak. | ||
26 | |||
27 | Security: CVE-2014-0065 for buffer overruns, CVE-2014-0066 for crypt() | ||
28 | |||
29 | Upsteam-Status: Backport | ||
30 | |||
31 | Signed-off-by: Kai Kang <kai.kang@windriver.com> | ||
32 | --- | ||
33 | contrib/chkpass/chkpass.c | 29 ++++++++++++++++++++++++++--- | ||
34 | contrib/pg_standby/pg_standby.c | 2 +- | ||
35 | src/backend/access/transam/xlog.c | 10 +++++----- | ||
36 | src/backend/tsearch/spell.c | 2 +- | ||
37 | src/backend/utils/adt/datetime.c | 11 ++++++----- | ||
38 | src/bin/initdb/findtimezone.c | 4 ++-- | ||
39 | src/bin/pg_basebackup/pg_basebackup.c | 8 ++++---- | ||
40 | src/interfaces/ecpg/preproc/pgc.l | 2 +- | ||
41 | src/interfaces/libpq/fe-protocol2.c | 2 +- | ||
42 | src/interfaces/libpq/fe-protocol3.c | 2 +- | ||
43 | src/port/exec.c | 4 ++-- | ||
44 | src/test/regress/pg_regress.c | 6 +++--- | ||
45 | src/timezone/pgtz.c | 2 +- | ||
46 | 13 files changed, 54 insertions(+), 30 deletions(-) | ||
47 | |||
48 | diff --git a/contrib/chkpass/chkpass.c b/contrib/chkpass/chkpass.c | ||
49 | index 0c9fec0..1795b8c 100644 | ||
50 | --- a/contrib/chkpass/chkpass.c | ||
51 | +++ b/contrib/chkpass/chkpass.c | ||
52 | @@ -70,6 +70,7 @@ chkpass_in(PG_FUNCTION_ARGS) | ||
53 | char *str = PG_GETARG_CSTRING(0); | ||
54 | chkpass *result; | ||
55 | char mysalt[4]; | ||
56 | + char *crypt_output; | ||
57 | static char salt_chars[] = | ||
58 | "./0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz"; | ||
59 | |||
60 | @@ -92,7 +93,15 @@ chkpass_in(PG_FUNCTION_ARGS) | ||
61 | mysalt[1] = salt_chars[random() & 0x3f]; | ||
62 | mysalt[2] = 0; /* technically the terminator is not necessary | ||
63 | * but I like to play safe */ | ||
64 | - strcpy(result->password, crypt(str, mysalt)); | ||
65 | + | ||
66 | + crypt_output = crypt(str, mysalt); | ||
67 | + if (crypt_output == NULL) | ||
68 | + ereport(ERROR, | ||
69 | + (errcode(ERRCODE_INVALID_PARAMETER_VALUE), | ||
70 | + errmsg("crypt() failed"))); | ||
71 | + | ||
72 | + strlcpy(result->password, crypt_output, sizeof(result->password)); | ||
73 | + | ||
74 | PG_RETURN_POINTER(result); | ||
75 | } | ||
76 | |||
77 | @@ -141,9 +150,16 @@ chkpass_eq(PG_FUNCTION_ARGS) | ||
78 | chkpass *a1 = (chkpass *) PG_GETARG_POINTER(0); | ||
79 | text *a2 = PG_GETARG_TEXT_PP(1); | ||
80 | char str[9]; | ||
81 | + char *crypt_output; | ||
82 | |||
83 | text_to_cstring_buffer(a2, str, sizeof(str)); | ||
84 | - PG_RETURN_BOOL(strcmp(a1->password, crypt(str, a1->password)) == 0); | ||
85 | + crypt_output = crypt(str, a1->password); | ||
86 | + if (crypt_output == NULL) | ||
87 | + ereport(ERROR, | ||
88 | + (errcode(ERRCODE_INVALID_PARAMETER_VALUE), | ||
89 | + errmsg("crypt() failed"))); | ||
90 | + | ||
91 | + PG_RETURN_BOOL(strcmp(a1->password, crypt_output) == 0); | ||
92 | } | ||
93 | |||
94 | PG_FUNCTION_INFO_V1(chkpass_ne); | ||
95 | @@ -153,7 +169,14 @@ chkpass_ne(PG_FUNCTION_ARGS) | ||
96 | chkpass *a1 = (chkpass *) PG_GETARG_POINTER(0); | ||
97 | text *a2 = PG_GETARG_TEXT_PP(1); | ||
98 | char str[9]; | ||
99 | + char *crypt_output; | ||
100 | |||
101 | text_to_cstring_buffer(a2, str, sizeof(str)); | ||
102 | - PG_RETURN_BOOL(strcmp(a1->password, crypt(str, a1->password)) != 0); | ||
103 | + crypt_output = crypt(str, a1->password); | ||
104 | + if (crypt_output == NULL) | ||
105 | + ereport(ERROR, | ||
106 | + (errcode(ERRCODE_INVALID_PARAMETER_VALUE), | ||
107 | + errmsg("crypt() failed"))); | ||
108 | + | ||
109 | + PG_RETURN_BOOL(strcmp(a1->password, crypt_output) != 0); | ||
110 | } | ||
111 | diff --git a/contrib/pg_standby/pg_standby.c b/contrib/pg_standby/pg_standby.c | ||
112 | index 84941ed..0f1e0c1 100644 | ||
113 | --- a/contrib/pg_standby/pg_standby.c | ||
114 | +++ b/contrib/pg_standby/pg_standby.c | ||
115 | @@ -338,7 +338,7 @@ SetWALFileNameForCleanup(void) | ||
116 | if (strcmp(restartWALFileName, nextWALFileName) > 0) | ||
117 | return false; | ||
118 | |||
119 | - strcpy(exclusiveCleanupFileName, restartWALFileName); | ||
120 | + strlcpy(exclusiveCleanupFileName, restartWALFileName, sizeof(exclusiveCleanupFileName)); | ||
121 | return true; | ||
122 | } | ||
123 | |||
124 | diff --git a/src/backend/access/transam/xlog.c b/src/backend/access/transam/xlog.c | ||
125 | index d639c4a..49bb453 100644 | ||
126 | --- a/src/backend/access/transam/xlog.c | ||
127 | +++ b/src/backend/access/transam/xlog.c | ||
128 | @@ -3017,7 +3017,7 @@ KeepFileRestoredFromArchive(char *path, char *xlogfname) | ||
129 | xlogfpath, oldpath))); | ||
130 | } | ||
131 | #else | ||
132 | - strncpy(oldpath, xlogfpath, MAXPGPATH); | ||
133 | + strlcpy(oldpath, xlogfpath, MAXPGPATH); | ||
134 | #endif | ||
135 | if (unlink(oldpath) != 0) | ||
136 | ereport(FATAL, | ||
137 | @@ -5913,7 +5913,7 @@ recoveryStopsHere(XLogRecord *record, bool *includeThis) | ||
138 | |||
139 | recordRestorePointData = (xl_restore_point *) XLogRecGetData(record); | ||
140 | recordXtime = recordRestorePointData->rp_time; | ||
141 | - strncpy(recordRPName, recordRestorePointData->rp_name, MAXFNAMELEN); | ||
142 | + strlcpy(recordRPName, recordRestorePointData->rp_name, MAXFNAMELEN); | ||
143 | } | ||
144 | else | ||
145 | return false; | ||
146 | @@ -6008,7 +6008,7 @@ recoveryStopsHere(XLogRecord *record, bool *includeThis) | ||
147 | } | ||
148 | else | ||
149 | { | ||
150 | - strncpy(recoveryStopName, recordRPName, MAXFNAMELEN); | ||
151 | + strlcpy(recoveryStopName, recordRPName, MAXFNAMELEN); | ||
152 | |||
153 | ereport(LOG, | ||
154 | (errmsg("recovery stopping at restore point \"%s\", time %s", | ||
155 | @@ -6348,7 +6348,7 @@ StartupXLOG(void) | ||
156 | * see them | ||
157 | */ | ||
158 | XLogCtl->RecoveryTargetTLI = recoveryTargetTLI; | ||
159 | - strncpy(XLogCtl->archiveCleanupCommand, | ||
160 | + strlcpy(XLogCtl->archiveCleanupCommand, | ||
161 | archiveCleanupCommand ? archiveCleanupCommand : "", | ||
162 | sizeof(XLogCtl->archiveCleanupCommand)); | ||
163 | |||
164 | @@ -8760,7 +8760,7 @@ XLogRestorePoint(const char *rpName) | ||
165 | xl_restore_point xlrec; | ||
166 | |||
167 | xlrec.rp_time = GetCurrentTimestamp(); | ||
168 | - strncpy(xlrec.rp_name, rpName, MAXFNAMELEN); | ||
169 | + strlcpy(xlrec.rp_name, rpName, MAXFNAMELEN); | ||
170 | |||
171 | rdata.buffer = InvalidBuffer; | ||
172 | rdata.data = (char *) &xlrec; | ||
173 | diff --git a/src/backend/tsearch/spell.c b/src/backend/tsearch/spell.c | ||
174 | index 449aa6a..4acc33e 100644 | ||
175 | --- a/src/backend/tsearch/spell.c | ||
176 | +++ b/src/backend/tsearch/spell.c | ||
177 | @@ -255,7 +255,7 @@ NIAddSpell(IspellDict *Conf, const char *word, const char *flag) | ||
178 | } | ||
179 | Conf->Spell[Conf->nspell] = (SPELL *) tmpalloc(SPELLHDRSZ + strlen(word) + 1); | ||
180 | strcpy(Conf->Spell[Conf->nspell]->word, word); | ||
181 | - strncpy(Conf->Spell[Conf->nspell]->p.flag, flag, MAXFLAGLEN); | ||
182 | + strlcpy(Conf->Spell[Conf->nspell]->p.flag, flag, MAXFLAGLEN); | ||
183 | Conf->nspell++; | ||
184 | } | ||
185 | |||
186 | diff --git a/src/backend/utils/adt/datetime.c b/src/backend/utils/adt/datetime.c | ||
187 | index 4763a6f..4105f17 100644 | ||
188 | --- a/src/backend/utils/adt/datetime.c | ||
189 | +++ b/src/backend/utils/adt/datetime.c | ||
190 | @@ -90,10 +90,10 @@ char *days[] = {"Sunday", "Monday", "Tuesday", "Wednesday", | ||
191 | * Note that this table must be strictly alphabetically ordered to allow an | ||
192 | * O(ln(N)) search algorithm to be used. | ||
193 | * | ||
194 | - * The text field is NOT guaranteed to be NULL-terminated. | ||
195 | + * The token field is NOT guaranteed to be NULL-terminated. | ||
196 | * | ||
197 | - * To keep this table reasonably small, we divide the lexval for TZ and DTZ | ||
198 | - * entries by 15 (so they are on 15 minute boundaries) and truncate the text | ||
199 | + * To keep this table reasonably small, we divide the value for TZ and DTZ | ||
200 | + * entries by 15 (so they are on 15 minute boundaries) and truncate the token | ||
201 | * field at TOKMAXLEN characters. | ||
202 | * Formerly, we divided by 10 rather than 15 but there are a few time zones | ||
203 | * which are 30 or 45 minutes away from an even hour, most are on an hour | ||
204 | @@ -108,7 +108,7 @@ static datetkn *timezonetktbl = NULL; | ||
205 | static int sztimezonetktbl = 0; | ||
206 | |||
207 | static const datetkn datetktbl[] = { | ||
208 | -/* text, token, lexval */ | ||
209 | + /* token, type, value */ | ||
210 | {EARLY, RESERV, DTK_EARLY}, /* "-infinity" reserved for "early time" */ | ||
211 | {DA_D, ADBC, AD}, /* "ad" for years > 0 */ | ||
212 | {"allballs", RESERV, DTK_ZULU}, /* 00:00:00 */ | ||
213 | @@ -188,7 +188,7 @@ static const datetkn datetktbl[] = { | ||
214 | static int szdatetktbl = sizeof datetktbl / sizeof datetktbl[0]; | ||
215 | |||
216 | static datetkn deltatktbl[] = { | ||
217 | - /* text, token, lexval */ | ||
218 | + /* token, type, value */ | ||
219 | {"@", IGNORE_DTF, 0}, /* postgres relative prefix */ | ||
220 | {DAGO, AGO, 0}, /* "ago" indicates negative time offset */ | ||
221 | {"c", UNITS, DTK_CENTURY}, /* "century" relative */ | ||
222 | @@ -4201,6 +4201,7 @@ ConvertTimeZoneAbbrevs(TimeZoneAbbrevTable *tbl, | ||
223 | tbl->numabbrevs = n; | ||
224 | for (i = 0; i < n; i++) | ||
225 | { | ||
226 | + /* do NOT use strlcpy here; token field need not be null-terminated */ | ||
227 | strncpy(newtbl[i].token, abbrevs[i].abbrev, TOKMAXLEN); | ||
228 | newtbl[i].type = abbrevs[i].is_dst ? DTZ : TZ; | ||
229 | TOVAL(&newtbl[i], abbrevs[i].offset / MINS_PER_HOUR); | ||
230 | diff --git a/src/bin/initdb/findtimezone.c b/src/bin/initdb/findtimezone.c | ||
231 | index 6d6f96a..6d38151 100644 | ||
232 | --- a/src/bin/initdb/findtimezone.c | ||
233 | +++ b/src/bin/initdb/findtimezone.c | ||
234 | @@ -68,7 +68,7 @@ pg_open_tzfile(const char *name, char *canonname) | ||
235 | if (canonname) | ||
236 | strlcpy(canonname, name, TZ_STRLEN_MAX + 1); | ||
237 | |||
238 | - strcpy(fullname, pg_TZDIR()); | ||
239 | + strlcpy(fullname, pg_TZDIR(), sizeof(fullname)); | ||
240 | if (strlen(fullname) + 1 + strlen(name) >= MAXPGPATH) | ||
241 | return -1; /* not gonna fit */ | ||
242 | strcat(fullname, "/"); | ||
243 | @@ -375,7 +375,7 @@ identify_system_timezone(void) | ||
244 | } | ||
245 | |||
246 | /* Search for the best-matching timezone file */ | ||
247 | - strcpy(tmptzdir, pg_TZDIR()); | ||
248 | + strlcpy(tmptzdir, pg_TZDIR(), sizeof(tmptzdir)); | ||
249 | bestscore = -1; | ||
250 | resultbuf[0] = '\0'; | ||
251 | scan_available_timezones(tmptzdir, tmptzdir + strlen(tmptzdir) + 1, | ||
252 | diff --git a/src/bin/pg_basebackup/pg_basebackup.c b/src/bin/pg_basebackup/pg_basebackup.c | ||
253 | index 9d840a1..26cc758 100644 | ||
254 | --- a/src/bin/pg_basebackup/pg_basebackup.c | ||
255 | +++ b/src/bin/pg_basebackup/pg_basebackup.c | ||
256 | @@ -735,9 +735,9 @@ ReceiveAndUnpackTarFile(PGconn *conn, PGresult *res, int rownum) | ||
257 | FILE *file = NULL; | ||
258 | |||
259 | if (PQgetisnull(res, rownum, 0)) | ||
260 | - strcpy(current_path, basedir); | ||
261 | + strlcpy(current_path, basedir, sizeof(current_path)); | ||
262 | else | ||
263 | - strcpy(current_path, PQgetvalue(res, rownum, 1)); | ||
264 | + strlcpy(current_path, PQgetvalue(res, rownum, 1), sizeof(current_path)); | ||
265 | |||
266 | /* | ||
267 | * Get the COPY data | ||
268 | @@ -1053,7 +1053,7 @@ BaseBackup(void) | ||
269 | progname); | ||
270 | disconnect_and_exit(1); | ||
271 | } | ||
272 | - strcpy(xlogstart, PQgetvalue(res, 0, 0)); | ||
273 | + strlcpy(xlogstart, PQgetvalue(res, 0, 0), sizeof(xlogstart)); | ||
274 | if (verbose && includewal) | ||
275 | fprintf(stderr, "transaction log start point: %s\n", xlogstart); | ||
276 | PQclear(res); | ||
277 | @@ -1153,7 +1153,7 @@ BaseBackup(void) | ||
278 | progname); | ||
279 | disconnect_and_exit(1); | ||
280 | } | ||
281 | - strcpy(xlogend, PQgetvalue(res, 0, 0)); | ||
282 | + strlcpy(xlogend, PQgetvalue(res, 0, 0), sizeof(xlogend)); | ||
283 | if (verbose && includewal) | ||
284 | fprintf(stderr, "transaction log end point: %s\n", xlogend); | ||
285 | PQclear(res); | ||
286 | diff --git a/src/interfaces/ecpg/preproc/pgc.l b/src/interfaces/ecpg/preproc/pgc.l | ||
287 | index f2e7edd..7ae8556 100644 | ||
288 | --- a/src/interfaces/ecpg/preproc/pgc.l | ||
289 | +++ b/src/interfaces/ecpg/preproc/pgc.l | ||
290 | @@ -1315,7 +1315,7 @@ parse_include(void) | ||
291 | yytext[i] = '\0'; | ||
292 | memmove(yytext, yytext+1, strlen(yytext)); | ||
293 | |||
294 | - strncpy(inc_file, yytext, sizeof(inc_file)); | ||
295 | + strlcpy(inc_file, yytext, sizeof(inc_file)); | ||
296 | yyin = fopen(inc_file, "r"); | ||
297 | if (!yyin) | ||
298 | { | ||
299 | diff --git a/src/interfaces/libpq/fe-protocol2.c b/src/interfaces/libpq/fe-protocol2.c | ||
300 | index 1ba5885..af4c412 100644 | ||
301 | --- a/src/interfaces/libpq/fe-protocol2.c | ||
302 | +++ b/src/interfaces/libpq/fe-protocol2.c | ||
303 | @@ -500,7 +500,7 @@ pqParseInput2(PGconn *conn) | ||
304 | if (!conn->result) | ||
305 | return; | ||
306 | } | ||
307 | - strncpy(conn->result->cmdStatus, conn->workBuffer.data, | ||
308 | + strlcpy(conn->result->cmdStatus, conn->workBuffer.data, | ||
309 | CMDSTATUS_LEN); | ||
310 | checkXactStatus(conn, conn->workBuffer.data); | ||
311 | conn->asyncStatus = PGASYNC_READY; | ||
312 | diff --git a/src/interfaces/libpq/fe-protocol3.c b/src/interfaces/libpq/fe-protocol3.c | ||
313 | index d289f82..6f8a470 100644 | ||
314 | --- a/src/interfaces/libpq/fe-protocol3.c | ||
315 | +++ b/src/interfaces/libpq/fe-protocol3.c | ||
316 | @@ -206,7 +206,7 @@ pqParseInput3(PGconn *conn) | ||
317 | if (!conn->result) | ||
318 | return; | ||
319 | } | ||
320 | - strncpy(conn->result->cmdStatus, conn->workBuffer.data, | ||
321 | + strlcpy(conn->result->cmdStatus, conn->workBuffer.data, | ||
322 | CMDSTATUS_LEN); | ||
323 | conn->asyncStatus = PGASYNC_READY; | ||
324 | break; | ||
325 | diff --git a/src/port/exec.c b/src/port/exec.c | ||
326 | index c79e8ba..0726dbe 100644 | ||
327 | --- a/src/port/exec.c | ||
328 | +++ b/src/port/exec.c | ||
329 | @@ -66,7 +66,7 @@ validate_exec(const char *path) | ||
330 | if (strlen(path) >= strlen(".exe") && | ||
331 | pg_strcasecmp(path + strlen(path) - strlen(".exe"), ".exe") != 0) | ||
332 | { | ||
333 | - strcpy(path_exe, path); | ||
334 | + strlcpy(path_exe, path, sizeof(path_exe) - 4); | ||
335 | strcat(path_exe, ".exe"); | ||
336 | path = path_exe; | ||
337 | } | ||
338 | @@ -275,7 +275,7 @@ resolve_symlinks(char *path) | ||
339 | } | ||
340 | |||
341 | /* must copy final component out of 'path' temporarily */ | ||
342 | - strcpy(link_buf, fname); | ||
343 | + strlcpy(link_buf, fname, sizeof(link_buf)); | ||
344 | |||
345 | if (!getcwd(path, MAXPGPATH)) | ||
346 | { | ||
347 | diff --git a/src/test/regress/pg_regress.c b/src/test/regress/pg_regress.c | ||
348 | index d991a5c..a6466eb 100644 | ||
349 | --- a/src/test/regress/pg_regress.c | ||
350 | +++ b/src/test/regress/pg_regress.c | ||
351 | @@ -1233,7 +1233,7 @@ results_differ(const char *testname, const char *resultsfile, const char *defaul | ||
352 | */ | ||
353 | platform_expectfile = get_expectfile(testname, resultsfile); | ||
354 | |||
355 | - strcpy(expectfile, default_expectfile); | ||
356 | + strlcpy(expectfile, default_expectfile, sizeof(expectfile)); | ||
357 | if (platform_expectfile) | ||
358 | { | ||
359 | /* | ||
360 | @@ -1288,7 +1288,7 @@ results_differ(const char *testname, const char *resultsfile, const char *defaul | ||
361 | { | ||
362 | /* This diff was a better match than the last one */ | ||
363 | best_line_count = l; | ||
364 | - strcpy(best_expect_file, alt_expectfile); | ||
365 | + strlcpy(best_expect_file, alt_expectfile, sizeof(best_expect_file)); | ||
366 | } | ||
367 | free(alt_expectfile); | ||
368 | } | ||
369 | @@ -1316,7 +1316,7 @@ results_differ(const char *testname, const char *resultsfile, const char *defaul | ||
370 | { | ||
371 | /* This diff was a better match than the last one */ | ||
372 | best_line_count = l; | ||
373 | - strcpy(best_expect_file, default_expectfile); | ||
374 | + strlcpy(best_expect_file, default_expectfile, sizeof(best_expect_file)); | ||
375 | } | ||
376 | } | ||
377 | |||
378 | diff --git a/src/timezone/pgtz.c b/src/timezone/pgtz.c | ||
379 | index d5bc83e..80c5635 100644 | ||
380 | --- a/src/timezone/pgtz.c | ||
381 | +++ b/src/timezone/pgtz.c | ||
382 | @@ -83,7 +83,7 @@ pg_open_tzfile(const char *name, char *canonname) | ||
383 | * Loop to split the given name into directory levels; for each level, | ||
384 | * search using scan_directory_ci(). | ||
385 | */ | ||
386 | - strcpy(fullname, pg_TZDIR()); | ||
387 | + strlcpy(fullname, pg_TZDIR(), sizeof(fullname)); | ||
388 | orignamelen = fullnamelen = strlen(fullname); | ||
389 | fname = name; | ||
390 | for (;;) | ||
391 | -- | ||
392 | 1.7.5.4 | ||
393 | |||
diff --git a/meta-oe/recipes-support/postgresql/files/no-ecpg-test.patch b/meta-oe/recipes-support/postgresql/files/no-ecpg-test.patch new file mode 100644 index 000000000..c0f28f425 --- /dev/null +++ b/meta-oe/recipes-support/postgresql/files/no-ecpg-test.patch | |||
@@ -0,0 +1,12 @@ | |||
1 | diff --git a/src/interfaces/ecpg/Makefile b/src/interfaces/ecpg/Makefile | ||
2 | index dcd578f..1428423 100644 | ||
3 | --- a/src/interfaces/ecpg/Makefile | ||
4 | +++ b/src/interfaces/ecpg/Makefile | ||
5 | @@ -8,7 +8,6 @@ all install installdirs uninstall dep depend distprep: | ||
6 | $(MAKE) -C ecpglib $@ | ||
7 | $(MAKE) -C compatlib $@ | ||
8 | $(MAKE) -C preproc $@ | ||
9 | - $(MAKE) -C test $@ | ||
10 | |||
11 | clean distclean maintainer-clean: | ||
12 | -$(MAKE) -C include $@ | ||
diff --git a/meta-oe/recipes-support/postgresql/files/postgresql-bashprofile b/meta-oe/recipes-support/postgresql/files/postgresql-bashprofile new file mode 100644 index 000000000..1c931f37f --- /dev/null +++ b/meta-oe/recipes-support/postgresql/files/postgresql-bashprofile | |||
@@ -0,0 +1,4 @@ | |||
1 | [ -f /etc/profile ] && source /etc/profile | ||
2 | |||
3 | PGDATA=/var/lib/postgresql/data | ||
4 | export PGDATA | ||
diff --git a/meta-oe/recipes-support/postgresql/files/postgresql-setup b/meta-oe/recipes-support/postgresql/files/postgresql-setup new file mode 100644 index 000000000..75bb01e05 --- /dev/null +++ b/meta-oe/recipes-support/postgresql/files/postgresql-setup | |||
@@ -0,0 +1,73 @@ | |||
1 | #!/bin/sh | ||
2 | # | ||
3 | # postgresql-setup Initialization operation for PostgreSQL | ||
4 | |||
5 | # For SELinux we need to use 'runuser' not 'su' | ||
6 | if [ -x /sbin/runuser ] | ||
7 | then | ||
8 | SU=runuser | ||
9 | else | ||
10 | SU=su | ||
11 | fi | ||
12 | |||
13 | PGENGINE=/usr/bin | ||
14 | PGDATA=/var/lib/postgresql/data | ||
15 | PGLOG=/var/lib/postgresql/pgstartup.log | ||
16 | script_result=0 | ||
17 | |||
18 | initdb(){ | ||
19 | if [ -f "$PGDATA/PG_VERSION" ] | ||
20 | then | ||
21 | echo -n "Data directory is not empty!" | ||
22 | echo -n " [FAILED] " | ||
23 | echo | ||
24 | script_result=1 | ||
25 | else | ||
26 | echo -n "Initializing database: " | ||
27 | if [ ! -e "$PGDATA" -a ! -h "$PGDATA" ] | ||
28 | then | ||
29 | mkdir -p "$PGDATA" || exit 1 | ||
30 | chown postgres:postgres "$PGDATA" | ||
31 | chmod go-rwx "$PGDATA" | ||
32 | fi | ||
33 | # Clean up SELinux tagging for PGDATA | ||
34 | [ -x /sbin/restorecon ] && /sbin/restorecon "$PGDATA" | ||
35 | |||
36 | # Make sure the startup-time log file is OK, too | ||
37 | if [ ! -e "$PGLOG" -a ! -h "$PGLOG" ] | ||
38 | then | ||
39 | touch "$PGLOG" || exit 1 | ||
40 | chown postgres:postgres "$PGLOG" | ||
41 | chmod go-rwx "$PGLOG" | ||
42 | [ -x /sbin/restorecon ] && /sbin/restorecon "$PGLOG" | ||
43 | fi | ||
44 | |||
45 | # Initialize the database | ||
46 | $SU -l postgres -c "$PGENGINE/initdb --pgdata='$PGDATA' --auth='ident'" >> "$PGLOG" 2>&1 < /dev/null | ||
47 | |||
48 | # Create directory for postmaster log | ||
49 | mkdir "$PGDATA/pg_log" | ||
50 | chown postgres:postgres "$PGDATA/pg_log" | ||
51 | chmod go-rwx "$PGDATA/pg_log" | ||
52 | |||
53 | if [ -f "$PGDATA/PG_VERSION" ] | ||
54 | then | ||
55 | echo -n " [ OK ] " | ||
56 | else | ||
57 | echo -n " [FAILED] " | ||
58 | script_result=1 | ||
59 | fi | ||
60 | echo | ||
61 | fi | ||
62 | } | ||
63 | |||
64 | case "$1" in | ||
65 | initdb) | ||
66 | initdb | ||
67 | ;; | ||
68 | *) | ||
69 | echo "Usage: $0 initdb" | ||
70 | exit 2 | ||
71 | esac | ||
72 | |||
73 | exit $script_result | ||
diff --git a/meta-oe/recipes-support/postgresql/files/postgresql.init b/meta-oe/recipes-support/postgresql/files/postgresql.init new file mode 100644 index 000000000..4a4f0cd16 --- /dev/null +++ b/meta-oe/recipes-support/postgresql/files/postgresql.init | |||
@@ -0,0 +1,193 @@ | |||
1 | #!/bin/sh | ||
2 | # | ||
3 | # postgresql This is the init script for starting up the PostgreSQL | ||
4 | # server. | ||
5 | # | ||
6 | # chkconfig: - 64 36 | ||
7 | # description: PostgreSQL database server. | ||
8 | # processname: postmaster | ||
9 | # pidfile: /var/run/postmaster.PORT.pid | ||
10 | |||
11 | # This script is slightly unusual in that the name of the daemon (postmaster) | ||
12 | # is not the same as the name of the subsystem (postgresql) | ||
13 | |||
14 | # PGVERSION is the full package version, e.g., 8.4.0 | ||
15 | # Note: the specfile inserts the correct value during package build | ||
16 | PGVERSION=9.2.4 | ||
17 | # PGMAJORVERSION is major version, e.g., 8.4 (this should match PG_VERSION) | ||
18 | PGMAJORVERSION=`echo "$PGVERSION" | sed 's/^\([0-9]*\.[0-9]*\).*$/\1/'` | ||
19 | |||
20 | # Source function library. | ||
21 | . /etc/init.d/functions | ||
22 | |||
23 | # Find the name of the script | ||
24 | NAME=`basename $0` | ||
25 | if [ ${NAME:0:1} = "S" -o ${NAME:0:1} = "K" ] | ||
26 | then | ||
27 | NAME=${NAME:3} | ||
28 | fi | ||
29 | |||
30 | # For SELinux we need to use 'runuser' not 'su' | ||
31 | if [ -x /sbin/runuser ] | ||
32 | then | ||
33 | SU=runuser | ||
34 | else | ||
35 | SU=su | ||
36 | fi | ||
37 | |||
38 | |||
39 | # Set defaults for configuration variables | ||
40 | PGENGINE=/usr/bin | ||
41 | PGPORT=5432 | ||
42 | PGDATA=/var/lib/postgresql/data | ||
43 | PGLOG=/var/lib/postgresql/pgstartup.log | ||
44 | # Value to set as postmaster process's oom_adj | ||
45 | PG_OOM_ADJ=-17 | ||
46 | |||
47 | # Override defaults from /etc/sysconfig/postgresql if file is present | ||
48 | [ -f /etc/default/postgresql/${NAME} ] && . /etc/default/postgresql/${NAME} | ||
49 | |||
50 | export PGDATA | ||
51 | export PGPORT | ||
52 | |||
53 | lockfile="/var/lock/subsys/${NAME}" | ||
54 | pidfile="/var/run/postmaster.${PGPORT}.pid" | ||
55 | |||
56 | script_result=0 | ||
57 | |||
58 | start(){ | ||
59 | [ -x "$PGENGINE/postmaster" ] || exit 5 | ||
60 | |||
61 | PSQL_START=$"Starting ${NAME} service: " | ||
62 | |||
63 | # Make sure startup-time log file is valid | ||
64 | if [ ! -e "$PGLOG" -a ! -h "$PGLOG" ] | ||
65 | then | ||
66 | touch "$PGLOG" || exit 4 | ||
67 | chown postgres:postgres "$PGLOG" | ||
68 | chmod go-rwx "$PGLOG" | ||
69 | [ -x /sbin/restorecon ] && /sbin/restorecon "$PGLOG" | ||
70 | fi | ||
71 | |||
72 | # Check for the PGDATA structure | ||
73 | if [ -f "$PGDATA/PG_VERSION" ] && [ -d "$PGDATA/base" ] | ||
74 | then | ||
75 | # Check version of existing PGDATA | ||
76 | if [ x`cat "$PGDATA/PG_VERSION"` != x"$PGMAJORVERSION" ] | ||
77 | then | ||
78 | SYSDOCDIR="(Your System's documentation directory)" | ||
79 | if [ -d "/usr/doc/postgresql-$PGVERSION" ] | ||
80 | then | ||
81 | SYSDOCDIR=/usr/doc | ||
82 | fi | ||
83 | if [ -d "/usr/share/doc/postgresql-$PGVERSION" ] | ||
84 | then | ||
85 | SYSDOCDIR=/usr/share/doc | ||
86 | fi | ||
87 | if [ -d "/usr/doc/packages/postgresql-$PGVERSION" ] | ||
88 | then | ||
89 | SYSDOCDIR=/usr/doc/packages | ||
90 | fi | ||
91 | if [ -d "/usr/share/doc/packages/postgresql-$PGVERSION" ] | ||
92 | then | ||
93 | SYSDOCDIR=/usr/share/doc/packages | ||
94 | fi | ||
95 | echo | ||
96 | echo $"An old version of the database format was found." | ||
97 | echo $"You need to upgrade the data format before using PostgreSQL." | ||
98 | echo $"See $SYSDOCDIR/postgresql-$PGVERSION/README.rpm-dist for more information." | ||
99 | exit 1 | ||
100 | fi | ||
101 | else | ||
102 | # No existing PGDATA! Warn the user to initdb it. | ||
103 | echo | ||
104 | echo "$PGDATA is missing. Use \"postgresql-setup initdb\" to initialize the cluster first." | ||
105 | echo -n " [FAILED] " | ||
106 | echo | ||
107 | exit 1 | ||
108 | fi | ||
109 | |||
110 | echo -n "$PSQL_START" | ||
111 | test x"$PG_OOM_ADJ" != x && echo "$PG_OOM_ADJ" > /proc/self/oom_score_adj | ||
112 | $SU -l postgres -c "$PGENGINE/postmaster -p '$PGPORT' -D '$PGDATA' ${PGOPTS} &" >> "$PGLOG" 2>&1 < /dev/null | ||
113 | sleep 2 | ||
114 | pid=`head -n 1 "$PGDATA/postmaster.pid" 2>/dev/null` | ||
115 | if [ "x$pid" != x ] | ||
116 | then | ||
117 | echo -n " [ OK ]" | ||
118 | touch "$lockfile" | ||
119 | echo $pid > "$pidfile" | ||
120 | echo | ||
121 | else | ||
122 | echo -n " [FAILED]" | ||
123 | echo | ||
124 | script_result=1 | ||
125 | fi | ||
126 | } | ||
127 | |||
128 | stop(){ | ||
129 | echo -n $"Stopping ${NAME} service: " | ||
130 | if [ -e "$lockfile" ] | ||
131 | then | ||
132 | $SU -l postgres -c "$PGENGINE/pg_ctl stop -D '$PGDATA' -s -m fast" > /dev/null 2>&1 < /dev/null | ||
133 | ret=$? | ||
134 | if [ $ret -eq 0 ] | ||
135 | then | ||
136 | echo -n " [ OK ] " | ||
137 | rm -f "$pidfile" | ||
138 | rm -f "$lockfile" | ||
139 | else | ||
140 | echo -n " [FAILED] " | ||
141 | script_result=1 | ||
142 | fi | ||
143 | else | ||
144 | # not running; per LSB standards this is "ok" | ||
145 | echo -n " [ OK ] " | ||
146 | fi | ||
147 | echo | ||
148 | } | ||
149 | |||
150 | restart(){ | ||
151 | stop | ||
152 | start | ||
153 | } | ||
154 | |||
155 | condrestart(){ | ||
156 | [ -e "$lockfile" ] && restart || : | ||
157 | } | ||
158 | |||
159 | reload(){ | ||
160 | $SU -l postgres -c "$PGENGINE/pg_ctl reload -D '$PGDATA' -s" > /dev/null 2>&1 < /dev/null | ||
161 | } | ||
162 | |||
163 | |||
164 | # See how we were called. | ||
165 | case "$1" in | ||
166 | start) | ||
167 | start | ||
168 | ;; | ||
169 | stop) | ||
170 | stop | ||
171 | ;; | ||
172 | status) | ||
173 | status postmaster | ||
174 | script_result=$? | ||
175 | ;; | ||
176 | restart) | ||
177 | restart | ||
178 | ;; | ||
179 | condrestart|try-restart) | ||
180 | condrestart | ||
181 | ;; | ||
182 | reload) | ||
183 | reload | ||
184 | ;; | ||
185 | force-reload) | ||
186 | restart | ||
187 | ;; | ||
188 | *) | ||
189 | echo $"Usage: $0 {start|stop|status|restart|condrestart|try-restart|reload|force-reload}" | ||
190 | exit 2 | ||
191 | esac | ||
192 | |||
193 | exit $script_result | ||
diff --git a/meta-oe/recipes-support/postgresql/files/postgresql.pam b/meta-oe/recipes-support/postgresql/files/postgresql.pam new file mode 100644 index 000000000..0b6fdc5f2 --- /dev/null +++ b/meta-oe/recipes-support/postgresql/files/postgresql.pam | |||
@@ -0,0 +1,4 @@ | |||
1 | #%PAM-1.0 | ||
2 | auth include common-auth | ||
3 | account include common-account | ||
4 | password include common-password | ||
diff --git a/meta-oe/recipes-support/postgresql/files/postgresql.service b/meta-oe/recipes-support/postgresql/files/postgresql.service new file mode 100644 index 000000000..4ec959e84 --- /dev/null +++ b/meta-oe/recipes-support/postgresql/files/postgresql.service | |||
@@ -0,0 +1,27 @@ | |||
1 | [Unit] | ||
2 | Description=PostgreSQL database server | ||
3 | After=network.target | ||
4 | |||
5 | [Service] | ||
6 | Type=forking | ||
7 | User=postgres | ||
8 | Group=postgres | ||
9 | |||
10 | # Port number for server to listen on | ||
11 | Environment=PGPORT=5432 | ||
12 | |||
13 | # Location of database directory | ||
14 | Environment=PGDATA=/var/lib/postgresql/data | ||
15 | |||
16 | # Disable OOM kill on the postmaster | ||
17 | OOMScoreAdjust=-17 | ||
18 | |||
19 | ExecStart=@BINDIR@/pg_ctl start -D ${PGDATA} -s -o "-p ${PGPORT}" -w -t 300 | ||
20 | ExecStop=@BINDIR@/pg_ctl stop -D ${PGDATA} -s -m fast | ||
21 | ExecReload=@BINDIR@/pg_ctl reload -D ${PGDATA} -s | ||
22 | |||
23 | # Give a reasonable amount of time for the server to start up/shut down | ||
24 | TimeoutSec=300 | ||
25 | |||
26 | [Install] | ||
27 | WantedBy=multi-user.target | ||
diff --git a/meta-oe/recipes-support/postgresql/postgresql-9.2.4/ecpg-parallel-make-fix.patch b/meta-oe/recipes-support/postgresql/postgresql-9.2.4/ecpg-parallel-make-fix.patch new file mode 100644 index 000000000..63615cd51 --- /dev/null +++ b/meta-oe/recipes-support/postgresql/postgresql-9.2.4/ecpg-parallel-make-fix.patch | |||
@@ -0,0 +1,31 @@ | |||
1 | Upstream-status: backport | ||
2 | |||
3 | From 602070f9cce790debd8d1469254e7726ab499ae7 Mon Sep 17 00:00:00 2001 | ||
4 | From: Peter Eisentraut <peter_e@gmx.net> | ||
5 | Date: Fri, 29 Mar 2013 21:39:55 -0400 | ||
6 | Subject: [PATCH] ecpg: Parallel make fix | ||
7 | |||
8 | In some parallel make situations, the install-headers target could be | ||
9 | called before the installation directories are created by installdirs, | ||
10 | causing the installation to fail. Fix that by making install-headers | ||
11 | depend on installdirs. | ||
12 | --- | ||
13 | src/interfaces/ecpg/include/Makefile | 2 +- | ||
14 | 1 file changed, 1 insertion(+), 1 deletion(-) | ||
15 | |||
16 | diff --git a/src/interfaces/ecpg/include/Makefile b/src/interfaces/ecpg/include/Makefile | ||
17 | index eab833b..e92e56f 100644 | ||
18 | --- a/src/interfaces/ecpg/include/Makefile | ||
19 | +++ b/src/interfaces/ecpg/include/Makefile | ||
20 | @@ -18,7 +18,7 @@ ecpg_headers = ecpgerrno.h ecpglib.h ecpgtype.h sqlca.h sql3types.h ecpg_informi | ||
21 | sqlda.h sqlda-compat.h sqlda-native.h | ||
22 | informix_headers = datetime.h decimal.h sqltypes.h | ||
23 | |||
24 | -install-headers: $(ecpg_headers) $(informix_headers) | ||
25 | +install-headers: $(ecpg_headers) $(informix_headers) installdirs | ||
26 | $(INSTALL_DATA) $(addprefix $(srcdir)/,$(ecpg_headers)) '$(DESTDIR)$(includedir)/' | ||
27 | $(INSTALL_DATA) $(addprefix $(srcdir)/,$(informix_headers)) '$(DESTDIR)$(informix_esql_dir)/' | ||
28 | $(INSTALL_DATA) $(ecpg_config_h) '$(DESTDIR)$(includedir)' | ||
29 | -- | ||
30 | 1.8.3.4 | ||
31 | |||
diff --git a/meta-oe/recipes-support/postgresql/postgresql-9.2.4/remove.autoconf.version.check.patch b/meta-oe/recipes-support/postgresql/postgresql-9.2.4/remove.autoconf.version.check.patch new file mode 100644 index 000000000..022aa3d76 --- /dev/null +++ b/meta-oe/recipes-support/postgresql/postgresql-9.2.4/remove.autoconf.version.check.patch | |||
@@ -0,0 +1,15 @@ | |||
1 | Index: postgresql-9.2.4/configure.in | ||
2 | =================================================================== | ||
3 | --- postgresql-9.2.4.orig/configure.in | ||
4 | +++ postgresql-9.2.4/configure.in | ||
5 | @@ -19,10 +19,6 @@ m4_pattern_forbid(^PGAC_)dnl to catch un | ||
6 | |||
7 | AC_INIT([PostgreSQL], [9.2.4], [pgsql-bugs@postgresql.org]) | ||
8 | |||
9 | -m4_if(m4_defn([m4_PACKAGE_VERSION]), [2.63], [], [m4_fatal([Autoconf version 2.63 is required. | ||
10 | -Untested combinations of 'autoconf' and PostgreSQL versions are not | ||
11 | -recommended. You can remove the check from 'configure.in' but it is then | ||
12 | -your responsibility whether the result works or not.])]) | ||
13 | AC_COPYRIGHT([Copyright (c) 1996-2012, PostgreSQL Global Development Group]) | ||
14 | AC_CONFIG_SRCDIR([src/backend/access/common/heaptuple.c]) | ||
15 | AC_CONFIG_AUX_DIR(config) | ||
diff --git a/meta-oe/recipes-support/postgresql/postgresql.inc b/meta-oe/recipes-support/postgresql/postgresql.inc new file mode 100644 index 000000000..1397f564d --- /dev/null +++ b/meta-oe/recipes-support/postgresql/postgresql.inc | |||
@@ -0,0 +1,395 @@ | |||
1 | SUMMARY = "PostgreSQL is a powerful, open source relational database system." | ||
2 | DESCRIPTION = "\ | ||
3 | PostgreSQL is an advanced Object-Relational database management system \ | ||
4 | (DBMS) that supports almost all SQL constructs (including \ | ||
5 | transactions, subselects and user-defined types and functions). The \ | ||
6 | postgresql package includes the client programs and libraries that \ | ||
7 | you'll need to access a PostgreSQL DBMS server. These PostgreSQL \ | ||
8 | client programs are programs that directly manipulate the internal \ | ||
9 | structure of PostgreSQL databases on a PostgreSQL server. These client \ | ||
10 | programs can be located on the same machine with the PostgreSQL \ | ||
11 | server, or may be on a remote machine which accesses a PostgreSQL \ | ||
12 | server over a network connection. This package contains the docs \ | ||
13 | in HTML for the whole package, as well as command-line utilities for \ | ||
14 | managing PostgreSQL databases on a PostgreSQL server. \ | ||
15 | \ | ||
16 | If you want to manipulate a PostgreSQL database on a local or remote \ | ||
17 | PostgreSQL server, you need this package. You also need to install \ | ||
18 | this package if you're installing the postgresql-server package. \ | ||
19 | " | ||
20 | HOMEPAGE = "http://www.postgresql.com" | ||
21 | LICENSE = "BSD" | ||
22 | DEPENDS = "zlib readline tzcode-native" | ||
23 | INC_PR = "r0" | ||
24 | |||
25 | ARM_INSTRUCTION_SET = "arm" | ||
26 | |||
27 | SRC_URI = "http://ftp.postgresql.org/pub/source/v${PV}/${BP}.tar.bz2 \ | ||
28 | file://postgresql.init \ | ||
29 | file://postgresql-bashprofile \ | ||
30 | file://postgresql.pam \ | ||
31 | file://postgresql-setup \ | ||
32 | file://postgresql.service \ | ||
33 | file://0001-Use-pkg-config-for-libxml2-detection.patch \ | ||
34 | file://0002-Predict-integer-overflow-to-avoid-buffer-overruns.patch \ | ||
35 | file://0003-Shore-up-ADMIN-OPTION-restrictions.patch \ | ||
36 | file://0004-Prevent-privilege-escalation-in-explicit-calls-to-PL.patch \ | ||
37 | file://0005-Avoid-repeated-name-lookups-during-table-and-index-D.patch \ | ||
38 | file://0006-Fix-handling-of-wide-datetime-input-output.patch \ | ||
39 | file://0007-Make-pqsignal-available-to-pg_regress-of-ECPG-and-is.patch \ | ||
40 | file://0008-Prevent-potential-overruns-of-fixed-size-buffers.patch \ | ||
41 | " | ||
42 | |||
43 | LEAD_SONAME = "libpq.so" | ||
44 | |||
45 | # LDFLAGS for shared libraries | ||
46 | export LDFLAGS_SL = "${LDFLAGS}" | ||
47 | |||
48 | inherit autotools pkgconfig perlnative pythonnative useradd update-rc.d systemd | ||
49 | |||
50 | SYSTEMD_SERVICE_${PN} = "postgresql.service" | ||
51 | SYSTEMD_AUTO_ENABLE_${PN} = "disable" | ||
52 | |||
53 | DEPENDS_append = " ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'systemd-systemctl-native', '', d)}" | ||
54 | pkg_postinst_${PN} () { | ||
55 | if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd sysvinit', 'true', 'false', d)}; then | ||
56 | if [ -n "$D" ]; then | ||
57 | OPTS="--root=$D" | ||
58 | fi | ||
59 | systemctl $OPTS mask postgresql-server.service | ||
60 | fi | ||
61 | } | ||
62 | |||
63 | enable_pam = "${@base_contains('DISTRO_FEATURES', 'pam', 'pam', '', d)}" | ||
64 | PACKAGECONFIG ??= "${enable_pam} openssl python uuid libxml tcl nls libxml perl" | ||
65 | PACKAGECONFIG[pam] = "--with-pam,--without-pam,libpam," | ||
66 | PACKAGECONFIG[openssl] = "--with-openssl,--without-openssl,openssl," | ||
67 | PACKAGECONFIG[python] = "--with-python,--without-python,python,python" | ||
68 | PACKAGECONFIG[uuid] = "--with-ossp-uuid,--without-ossp-uuid,ossp-uuid," | ||
69 | # when tcl native package is fixed change WORKDIR to STAGING_BINDIR_CROSS | ||
70 | PACKAGECONFIG[tcl] = \ | ||
71 | "--with-tcl --with-tclconfig=${STAGING_BINDIR_CROSS},--without-tcl,tcl," | ||
72 | PACKAGECONFIG[nls] = "--enable-nls,--disable-nls,," | ||
73 | PACKAGECONFIG[libxml] = "--with-libxml,--without-libxml,libxml2,libxml2" | ||
74 | PACKAGECONFIG[perl] = "--with-perl,--without-perl,perl,perl" | ||
75 | |||
76 | EXTRA_OECONF += "--enable-thread-safety --disable-rpath \ | ||
77 | --datadir=${datadir}/${BPN} \ | ||
78 | --sysconfdir=${sysconfdir}/${BPN} \ | ||
79 | --without-krb5 \ | ||
80 | " | ||
81 | EXTRA_OECONF_sh4 += "--disable-spinlocks" | ||
82 | EXTRA_OECONF_aarch64 += "--disable-spinlocks" | ||
83 | |||
84 | PACKAGES_DYNAMIC += "^${PN}-plperl ^${PN}-plperl-dbg \ | ||
85 | ^${PN}-pltcl ^${PN}-pltcl-dbg \ | ||
86 | ^${PN}-plpython ^${PN}-plpython-dbg \ | ||
87 | " | ||
88 | |||
89 | python populate_packages_prepend() { | ||
90 | |||
91 | def fill_more(name, dbg=True): | ||
92 | if name is None or name.strip() == "": | ||
93 | return | ||
94 | |||
95 | fpack=d.getVar('PACKAGES') or "" | ||
96 | fpack="${PN}-" + name + " " + fpack | ||
97 | if dbg: | ||
98 | fpack="${PN}-" + name + "-dbg" + " " + fpack | ||
99 | d.setVar('PACKAGES', fpack) | ||
100 | |||
101 | conf=(d.getVar('PACKAGECONFIG', True) or "").split() | ||
102 | pack=d.getVar('PACKAGES') or "" | ||
103 | bb.debug(1, "PACKAGECONFIG=%s" % conf) | ||
104 | bb.debug(1, "PACKAGES1=%s" % pack ) | ||
105 | |||
106 | if "perl" in conf : | ||
107 | fill_more("plperl") | ||
108 | |||
109 | if "tcl" in conf: | ||
110 | fill_more("pltcl") | ||
111 | |||
112 | if "python" in conf: | ||
113 | fill_more("plpython") | ||
114 | |||
115 | pack=d.getVar('PACKAGES', True) or "" | ||
116 | bb.debug(1, "PACKAGES2=%s" % pack) | ||
117 | |||
118 | } | ||
119 | |||
120 | do_configure() { | ||
121 | # do_configure_prepend | ||
122 | # make sure configure finds python includdirs with these envs | ||
123 | export BUILD_SYS=${BUILD_SYS} HOST_SYS=${HOST_SYS} \ | ||
124 | STAGING_INCDIR=${STAGING_INCDIR} \ | ||
125 | STAGING_LIBDIR=${STAGING_LIBDIR} | ||
126 | |||
127 | # do_configure | ||
128 | autotools_do_configure | ||
129 | |||
130 | # do_configure_append | ||
131 | # workaround perl package related bugs | ||
132 | sed -i -e "s:-L/usr/local/lib:-L=/usr/local/lib:g" \ | ||
133 | ${B}/src/Makefile.global | ||
134 | LIBPNA="\${STAGING_LIBDIR_NATIVE}/perl-native" | ||
135 | LIBNA="\${STAGING_LIBDIR_NATIVE}" | ||
136 | BLIBNA="\${STAGING_BASE_LIBDIR_NATIVE}" | ||
137 | sed -i -e "/^perl_archlibexp/s:${LIBPNA}:${STAGING_LIBDIR}:g" \ | ||
138 | ${B}/src/Makefile.global | ||
139 | sed -i -e "/^perl_privlibexp/s:${LIBPNA}:${STAGING_LIBDIR}:g" \ | ||
140 | ${B}/src/Makefile.global | ||
141 | # remove the rpath, replace with correct lib path | ||
142 | sed -i \ | ||
143 | -e "/^perl_embed_ldflags/s:-Wl,-rpath,${LIBNA}::g" \ | ||
144 | -e "/^perl_embed_ldflags/s:-Wl,-rpath,${BLIBNA}::g" \ | ||
145 | -e "/^perl_embed_ldflags/s:-Wl,-rpath-link,${LIBNA}::g" \ | ||
146 | -e "/^perl_embed_ldflags/s:-Wl,-rpath-link,${BLIBNA}::g" \ | ||
147 | -e "/^perl_embed_ldflags/s:${LIBPNA}:${STAGING_LIBDIR}:g" \ | ||
148 | -e "/^perl_embed_ldflags/s:${LIBNA}:${STAGING_LIBDIR}:g" \ | ||
149 | -e "/^perl_embed_ldflags/s:${BLIBNA}:${STAGING_BASELIBDIR}:g" \ | ||
150 | ${B}/src/Makefile.global | ||
151 | |||
152 | # workaround perl package's libperl.so problem | ||
153 | # we are using perlnative so this perl should have same version | ||
154 | perl_version=`perl -v 2>/dev/null | \ | ||
155 | sed -n 's/This is perl.*v[a-z ]*\([0-9]\.[0-9][0-9.]*\).*$/\1/p'` | ||
156 | if [ ! -h "${STAGING_LIBDIR}/perl/$perl_version/CORE/libperl.so" -a \ | ||
157 | ! -h "${STAGING_LIBDIR}/libperl.so" ]; then | ||
158 | ln -sf ../../../libperl.so.5 \ | ||
159 | ${STAGING_LIBDIR}/perl/$perl_version/CORE/libperl.so | ||
160 | fi | ||
161 | } | ||
162 | |||
163 | do_compile_append() { | ||
164 | oe_runmake -C contrib all | ||
165 | } | ||
166 | |||
167 | # server needs to configure user and group | ||
168 | usernum = "28" | ||
169 | groupnum = "28" | ||
170 | USERADD_PACKAGES = "${PN}" | ||
171 | USERADD_PARAM_${PN} = "-M -g postgres -o -r -d ${localstatedir}/lib/${BPN} \ | ||
172 | -s /bin/bash -c 'PostgreSQL Server' -u ${usernum} postgres" | ||
173 | GROUPADD_PARAM_${PN} = "-g ${groupnum} -o -r postgres" | ||
174 | |||
175 | INITSCRIPT_PACKAGES = "${PN}" | ||
176 | INITSCRIPT_NAME = "${BPN}-server" | ||
177 | INITSCRIPT_PARAMS = "start 64 . stop 36 0 1 2 3 4 5 6 ." | ||
178 | |||
179 | do_install_append() { | ||
180 | # install contrib | ||
181 | oe_runmake DESTDIR=${D} -C contrib install | ||
182 | # install tutorial | ||
183 | install -d -m 0755 ${D}${libdir}/${BPN}/tutorial | ||
184 | install ${B}/src/tutorial/* ${D}${libdir}/${BPN}/tutorial | ||
185 | |||
186 | # install COPYRIGHT README HISTORY | ||
187 | install -d -m 0755 ${D}${docdir}/${BPN} | ||
188 | for i in ${B}/{COPYRIGHT,README,HISTORY} ${B}/doc/{KNOWN_BUGS,MISSING_FEATURES,README*,bug.template}; do | ||
189 | [ -f $i ] && install $i ${D}${docdir}/${BPN} | ||
190 | done | ||
191 | |||
192 | # install dirs and server init | ||
193 | install -d ${D}${sysconfdir}/init.d | ||
194 | install -m 0755 ${WORKDIR}/${BPN}.init ${D}${sysconfdir}/init.d/${BPN}-server | ||
195 | sed -i -e "s/^PGVERSION=.*$/PGVERSION=${PV}/g" ${D}${sysconfdir}/init.d/${BPN}-server | ||
196 | install -m 0755 ${WORKDIR}/${BPN}-setup ${D}${bindir}/${BPN}-setup | ||
197 | install -d -m 700 ${D}${localstatedir}/lib/${BPN}/data | ||
198 | install -d -m 700 ${D}${localstatedir}/lib/${BPN}/backups | ||
199 | install -m 644 ${WORKDIR}/${BPN}-bashprofile ${D}${localstatedir}/lib/${BPN}/.bash_profile | ||
200 | chown -R postgres:postgres ${D}${localstatedir}/lib/${BPN} | ||
201 | # multiple server config directory | ||
202 | install -d -m 700 ${D}${sysconfdir}/default/${BPN} | ||
203 | |||
204 | if [ "${@d.getVar('enable_pam', True)}" = "pam" ]; then | ||
205 | install -d ${D}${sysconfdir}/pam.d | ||
206 | install -m 644 ${WORKDIR}/postgresql.pam ${D}${sysconfdir}/pam.d/postgresql | ||
207 | fi | ||
208 | |||
209 | # Install systemd unit files | ||
210 | install -d ${D}${systemd_unitdir}/system | ||
211 | install -m 0644 ${WORKDIR}/postgresql.service ${D}${systemd_unitdir}/system | ||
212 | sed -i -e 's,@BINDIR@,${bindir},g' \ | ||
213 | ${D}${systemd_unitdir}/system/postgresql.service | ||
214 | } | ||
215 | |||
216 | SSTATE_SCAN_FILES += "Makefile.global" | ||
217 | |||
218 | PACKAGES =+ "${PN}-client ${PN}-server-dev ${PN}-timezone \ | ||
219 | libecpg-compat-dbg libecpg-compat libecpg-compat-dev \ | ||
220 | libecpg-dbg libecpg libecpg-dev libecpg-staticdev libecpg-doc \ | ||
221 | libpq-dbg libpq libpq-dev libpq-staticdev \ | ||
222 | libpgtypes-dbg libpgtypes libpgtypes-staticdev libpgtypes-dev \ | ||
223 | ${PN}-contrib ${PN}-contrib-dbg \ | ||
224 | " | ||
225 | |||
226 | FILES_${PN} += "${sysconfdir}/init.d/${BPN}-server \ | ||
227 | ${localstatedir}/lib/${BPN}/data ${localstatedir}/lib/${BPN}/backups \ | ||
228 | ${localstatedir}/lib/${BPN}/.bash_profile ${sysconfdir}/default/${BPN} \ | ||
229 | ${libdir}/${BPN}/dict_snowball.so ${libdir}/${BPN}/plpgsql.so \ | ||
230 | ${libdir}/${BPN}/euc2004_sjis2004.so \ | ||
231 | ${libdir}/${BPN}/libpqwalreceiver.so \ | ||
232 | ${libdir}/${BPN}/*_and_*.so \ | ||
233 | ${@'${sysconfdir}/pam.d/postgresql' \ | ||
234 | if 'pam' == d.getVar('enable_pam', True) \ | ||
235 | else ''} \ | ||
236 | " | ||
237 | |||
238 | FILES_${PN}-dbg += " ${libdir}/${BPN}/.debug/dict_snowball.so \ | ||
239 | ${libdir}/${BPN}/.debug/plpgsql.so \ | ||
240 | ${libdir}/${BPN}/.debug/euc2004_sjis2004.so \ | ||
241 | ${libdir}/${BPN}/.debug/libpqwalreceiver.so \ | ||
242 | ${libdir}/${BPN}/.debug/*_and_*.so \ | ||
243 | " | ||
244 | |||
245 | FILES_${PN}-client = "${bindir}/clusterdb \ | ||
246 | ${bindir}/createdb \ | ||
247 | ${bindir}/createlang \ | ||
248 | ${bindir}/createuser \ | ||
249 | ${bindir}/dropdb \ | ||
250 | ${bindir}/droplang \ | ||
251 | ${bindir}/dropuser \ | ||
252 | ${bindir}/pg_dump \ | ||
253 | ${bindir}/pg_dumpall \ | ||
254 | ${bindir}/pg_restore \ | ||
255 | ${bindir}/psql \ | ||
256 | ${bindir}/reindexdb \ | ||
257 | ${bindir}/vacuumdb \ | ||
258 | ${bindir}/vacuumlo \ | ||
259 | ${datadir}/${BPN}/psqlrc.sample" | ||
260 | |||
261 | FILES_${PN}-client-doc = "${mandir}/man1/clusterdb.* \ | ||
262 | ${mandir}/man1/createdb.* ${mandir}/man1/createlang.* \ | ||
263 | ${mandir}/man1/createuser.* ${mandir}/man1/dropdb.* \ | ||
264 | ${mandir}/man1/droplang.* ${mandir}/man1/dropuser.* \ | ||
265 | ${mandir}/man1/pg_dump.* ${mandir}/man1/pg_dumpall.* \ | ||
266 | ${mandir}/man1/pg_restore.* ${mandir}/man1/psql.* \ | ||
267 | ${mandir}/man1/reindexdb.* ${mandir}/man1/vacuumdb.* \ | ||
268 | ${mandir}/man7/* \ | ||
269 | " | ||
270 | |||
271 | FILES_${PN}-doc += "${docdir}/${BPN}/html ${libdir}/${BPN}/tutorial/ \ | ||
272 | ${mandir}/man1/initdb.* ${mandir}/man1/pg_controldata.* \ | ||
273 | ${mandir}/man1/pg_ctl.* ${mandir}/man1/pg_resetxlog.* \ | ||
274 | ${mandir}/man1/postgres.* ${mandir}/man1/postmaster.* \ | ||
275 | " | ||
276 | |||
277 | FILES_${PN}-timezone = "${datadir}/${BPN}/timezone \ | ||
278 | ${datadir}/${BPN}/timezonesets \ | ||
279 | " | ||
280 | RDEPENDS_${PN} += "${PN}-timezone" | ||
281 | FILES_${PN}-server-dev = "${includedir}/${BPN}/server" | ||
282 | |||
283 | FILES_libecpg = "${libdir}/libecpg*${SOLIBS}" | ||
284 | FILES_libecpg-dbg = "${libdir}/.debug/libecpg*" | ||
285 | FILES_libecpg-dev = "${libdir}/libecpg*${SOLIBSDEV} \ | ||
286 | ${libdir}/libpgtypes*${SOLIBSDEV} \ | ||
287 | ${includedir}/ecpg*.h ${includedir}/${BPN}/ecpg*.h \ | ||
288 | ${includedir}/pgtypes*.h ${includedir}/${BPN}/informix \ | ||
289 | ${includedir}/sql3types.h ${includedir}/sqlca.h" | ||
290 | FILES_libecpg-doc = "${mandir}/man1/ecpg.*" | ||
291 | FILES_libecpg-staticdev = "${libdir}/libecpg*.a" | ||
292 | SECTION_libecpg-staticdev = "devel" | ||
293 | RDEPENDS_libecpg-staticdev = "libecpg-dev (= ${EXTENDPKGV})" | ||
294 | |||
295 | FILES_libpq = "${libdir}/libpq*${SOLIBS}" | ||
296 | FILES_libpq-dbg = "${libdir}/.debug/libpq* ${libdir}/${BPN}/pgxs/src/test/regress/.debug/*" | ||
297 | FILES_libpq-dev = "${libdir}/libpq*${SOLIBSDEV} \ | ||
298 | ${includedir}" | ||
299 | FILES_libpq-staticdev = "${libdir}/libpq*.a ${libdir}/libpgport.a" | ||
300 | SECTION_libpq-staticdev = "devel" | ||
301 | RDEPENDS_libpq-staticdev = "libpq-dev (= ${EXTENDPKGV})" | ||
302 | |||
303 | FILES_libecpg-compat = "${libdir}/libecpg_compat*${SOLIBS}" | ||
304 | FILES_libecpg-compat-dbg = "${libdir}/.debug/libecpg_compat*" | ||
305 | FILES_libecpg-compat-dev = "${libdir}/libecpg_compat*${SOLIBS}" | ||
306 | FILES_libpgtypes = "${libdir}/libpgtypes*${SOLIBS}" | ||
307 | FILES_libpgtypes-dbg = "${libdir}/.debug/libpgtypes*" | ||
308 | FILES_libpgtypes-staticdev = "${libdir}/libpgtypes*.a" | ||
309 | FILES_libpgtypes-dev = "${libdir}/libpgtypes*${SOLIBS} ${includedir}/pgtypes*.h" | ||
310 | |||
311 | FILES_${PN}-contrib = " ${bindir}/oid2name ${bindir}/pg_standby \ | ||
312 | ${bindir}/pgbench ${bindir}/vacuumlo \ | ||
313 | ${S}/contrib/spi/*.example \ | ||
314 | ${libdir}/${BPN}/_int.so ${libdir}/${BPN}/adminpack.so \ | ||
315 | ${libdir}/${BPN}/autoinc.so ${libdir}/${BPN}/auto_explain.so \ | ||
316 | ${libdir}/${BPN}/auth_delay.so ${libdir}/${BPN}/btree_gin.so \ | ||
317 | ${libdir}/${BPN}/btree_gist.so ${libdir}/${BPN}/.so \ | ||
318 | ${libdir}/${BPN}/chkpass.so ${libdir}/${BPN}/citext.so \ | ||
319 | ${libdir}/${BPN}/cube.so ${libdir}/${BPN}/dblink.so \ | ||
320 | ${libdir}/${BPN}/dict_int.so ${libdir}/${BPN}/dict_xsyn.so \ | ||
321 | ${libdir}/${BPN}/dummy_seclabel.so ${libdir}/${BPN}/earthdistance.so \ | ||
322 | ${libdir}/${BPN}/file_fdw.so ${libdir}/${BPN}/fuzzystrmatch.so \ | ||
323 | ${libdir}/${BPN}/hstore.so ${libdir}/${BPN}/insert_username.so \ | ||
324 | ${libdir}/${BPN}/isn.so ${libdir}/${BPN}/lo.so \ | ||
325 | ${libdir}/${BPN}/ltree.so ${libdir}/${BPN}/moddatetime.so \ | ||
326 | ${libdir}/${BPN}/pageinspect.so ${libdir}/${BPN}/pg_buffercache.so \ | ||
327 | ${libdir}/${BPN}/pg_freespacemap.so ${libdir}/${BPN}/pg_trgm.so \ | ||
328 | ${libdir}/${BPN}/pgcrypto.so ${libdir}/${BPN}/pgrowlocks.so \ | ||
329 | ${libdir}/${BPN}/pgstattuple.so ${libdir}/${BPN}/pg_stat_statements.so \ | ||
330 | ${libdir}/${BPN}/refint.so ${libdir}/${BPN}/seg.so \ | ||
331 | ${libdir}/${BPN}/sslinfo.so \ | ||
332 | ${libdir}/${BPN}/tablefunc.so \ | ||
333 | ${libdir}/${BPN}/test_parser.so ${libdir}/${BPN}/timetravel.so \ | ||
334 | ${libdir}/${BPN}/tsearch2.so ${libdir}/${BPN}/uuid-ossp.so \ | ||
335 | ${libdir}/${BPN}/pgxml.so ${libdir}/${BPN}/passwordcheck.so \ | ||
336 | ${libdir}/${BPN}/pg_upgrade_support.so ${libdir}/${BPN}/.so \ | ||
337 | ${libdir}/${BPN}/unaccent.so \ | ||
338 | " | ||
339 | FILES_${PN}-contrib-dbg = " \ | ||
340 | ${libdir}/${BPN}/.debug/_int.so ${libdir}/${BPN}/.debug/adminpack.so \ | ||
341 | ${libdir}/${BPN}/.debug/autoinc.so ${libdir}/${BPN}/.debug/auto_explain.so \ | ||
342 | ${libdir}/${BPN}/.debug/auth_delay.so ${libdir}/${BPN}/.debug/btree_gin.so \ | ||
343 | ${libdir}/${BPN}/.debug/btree_gist.so ${libdir}/${BPN}/.debug/.so \ | ||
344 | ${libdir}/${BPN}/.debug/chkpass.so ${libdir}/${BPN}/.debug/citext.so \ | ||
345 | ${libdir}/${BPN}/.debug/cube.so ${libdir}/${BPN}/.debug/dblink.so \ | ||
346 | ${libdir}/${BPN}/.debug/dict_int.so ${libdir}/${BPN}/.debug/dict_xsyn.so \ | ||
347 | ${libdir}/${BPN}/.debug/dummy_seclabel.so \ | ||
348 | ${libdir}/${BPN}/.debug/earthdistance.so \ | ||
349 | ${libdir}/${BPN}/.debug/file_fdw.so ${libdir}/${BPN}/.debug/fuzzystrmatch.so \ | ||
350 | ${libdir}/${BPN}/.debug/hstore.so ${libdir}/${BPN}/.debug/insert_username.so \ | ||
351 | ${libdir}/${BPN}/.debug/isn.so ${libdir}/${BPN}/.debug/lo.so \ | ||
352 | ${libdir}/${BPN}/.debug/ltree.so ${libdir}/${BPN}/.debug/moddatetime.so \ | ||
353 | ${libdir}/${BPN}/.debug/pageinspect.so \ | ||
354 | ${libdir}/${BPN}/.debug/pg_buffercache.so \ | ||
355 | ${libdir}/${BPN}/.debug/pg_freespacemap.so \ | ||
356 | ${libdir}/${BPN}/.debug/pg_trgm.so \ | ||
357 | ${libdir}/${BPN}/.debug/pgcrypto.so ${libdir}/${BPN}/.debug/pgrowlocks.so \ | ||
358 | ${libdir}/${BPN}/.debug/pgstattuple.so \ | ||
359 | ${libdir}/${BPN}/.debug/pg_stat_statements.so \ | ||
360 | ${libdir}/${BPN}/.debug/refint.so ${libdir}/${BPN}/.debug/seg.so \ | ||
361 | ${libdir}/${BPN}/.debug/sslinfo.so \ | ||
362 | ${libdir}/${BPN}/.debug/tablefunc.so \ | ||
363 | ${libdir}/${BPN}/.debug/test_parser.so ${libdir}/${BPN}/.debug/timetravel.so \ | ||
364 | ${libdir}/${BPN}/.debug/tsearch2.so ${libdir}/${BPN}/.debug/uuid-ossp.so \ | ||
365 | ${libdir}/${BPN}/.debug/pgxml.so ${libdir}/${BPN}/.debug/passwordcheck.so \ | ||
366 | ${libdir}/${BPN}/.debug/pg_upgrade_support.so \ | ||
367 | ${libdir}/${BPN}/.debug/unaccent.so \ | ||
368 | " | ||
369 | DESCRIPTION_${PN}-contrib = "The postgresql-contrib package contains \ | ||
370 | contributed packages that are included in the PostgreSQL distribution." | ||
371 | |||
372 | FILES_${PN}-pltcl = "${libdir}/${BPN}/pltcl.so ${bindir}/pltcl_delmod \ | ||
373 | ${binddir}/pltcl_listmod ${bindir}/pltcl_loadmod \ | ||
374 | ${datadir}/${BPN}/unknown.pltcl" | ||
375 | FILES_${PN}-pltcl-dbg = "${libdir}/${BPN}/.debug/pltcl.so" | ||
376 | SUMMARY_${PN}-pltcl = "The Tcl procedural language for PostgreSQL" | ||
377 | DESCRIPTION_${PN}-pltcl = "PostgreSQL is an advanced Object-Relational \ | ||
378 | database management system. The postgresql-pltcl package contains the PL/Tcl \ | ||
379 | procedural language for the backend." | ||
380 | |||
381 | FILES_${PN}-plperl = "${libdir}/${BPN}/plperl.so" | ||
382 | FILES_${PN}-plperl-dbg = "${libdir}/${BPN}/.debug/plperl.so" | ||
383 | SUMMARY_${PN}-plperl = "The Perl procedural language for PostgreSQL" | ||
384 | DESCRIPTION_${PN}-plperl = "PostgreSQL is an advanced Object-Relational \ | ||
385 | database management system. The postgresql-plperl package contains the \ | ||
386 | PL/Perl procedural language for the backend." | ||
387 | |||
388 | # In version 8, it will be plpython.so | ||
389 | # In version 9, it might be plpython{2,3}.so depending on python2 or 3 | ||
390 | FILES_${PN}-plpython = "${libdir}/${BPN}/plpython*.so" | ||
391 | FILES_${PN}-plpython-dbg = "${libdir}/${BPN}/.debug/plpython*.so" | ||
392 | SUMMARY_${PN}-plpython = "The Python procedural language for PostgreSQL" | ||
393 | DESCRIPTION_${PN}-plpython = "PostgreSQL is an advanced Object-Relational \ | ||
394 | database management system. The postgresql-plpython package contains \ | ||
395 | the PL/Python procedural language for the backend." | ||
diff --git a/meta-oe/recipes-support/postgresql/postgresql_9.2.4.bb b/meta-oe/recipes-support/postgresql/postgresql_9.2.4.bb new file mode 100644 index 000000000..49ca53fae --- /dev/null +++ b/meta-oe/recipes-support/postgresql/postgresql_9.2.4.bb | |||
@@ -0,0 +1,13 @@ | |||
1 | require postgresql.inc | ||
2 | |||
3 | LIC_FILES_CHKSUM = "file://COPYRIGHT;md5=ab55a5887d3f8ba77d0fd7db787e4bab" | ||
4 | |||
5 | PR = "${INC_PR}.0" | ||
6 | |||
7 | SRC_URI += "\ | ||
8 | file://remove.autoconf.version.check.patch \ | ||
9 | file://ecpg-parallel-make-fix.patch \ | ||
10 | " | ||
11 | |||
12 | SRC_URI[md5sum] = "6ee5bb53b97da7c6ad9cb0825d3300dd" | ||
13 | SRC_URI[sha256sum] = "d97dd918a88a4449225998f46aafa85216a3f89163a3411830d6890507ffae93" | ||
diff --git a/meta-oe/recipes-support/pps-tools/pps-tools_git.bb b/meta-oe/recipes-support/pps-tools/pps-tools_git.bb new file mode 100644 index 000000000..73c46eecd --- /dev/null +++ b/meta-oe/recipes-support/pps-tools/pps-tools_git.bb | |||
@@ -0,0 +1,16 @@ | |||
1 | SUMMARY = "User-space tools for LinuxPPS" | ||
2 | |||
3 | LICENSE = "GPLv2" | ||
4 | LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe" | ||
5 | |||
6 | PV = "0.0.0+git${SRCPV}" | ||
7 | SRCREV = "0deb9c7e135e9380a6d09e9d2e938a146bb698c8" | ||
8 | SRC_URI = "git://github.com/ago/pps-tools.git" | ||
9 | |||
10 | S = "${WORKDIR}/git" | ||
11 | |||
12 | do_install() { | ||
13 | install -d ${D}${bindir} ${D}${includedir} \ | ||
14 | ${D}${includedir}/sys | ||
15 | oe_runmake 'DESTDIR=${D}' install | ||
16 | } | ||
diff --git a/meta-oe/recipes-support/pv/pv_1.5.3.bb b/meta-oe/recipes-support/pv/pv_1.5.3.bb new file mode 100644 index 000000000..5e3dd67c5 --- /dev/null +++ b/meta-oe/recipes-support/pv/pv_1.5.3.bb | |||
@@ -0,0 +1,11 @@ | |||
1 | SUMMARY = "Terminal-based tool for monitoring the progress of data through a pipeline" | ||
2 | |||
3 | LICENSE = "Artistic-2.0" | ||
4 | LIC_FILES_CHKSUM = "file://doc/COPYING;md5=9c50db2589ee3ef10a9b7b2e50ce1d02" | ||
5 | |||
6 | SRC_URI = "http://www.ivarch.com/programs/sources/pv-${PV}.tar.bz2" | ||
7 | SRC_URI[md5sum] = "efe8e9e4cad5f3264a32258a63bf2c8e" | ||
8 | SRC_URI[sha256sum] = "76f3999b1c3b3027163dce6ef667cdf8dafb75218ee25e54a03bfe590478f90e" | ||
9 | |||
10 | inherit autotools | ||
11 | |||
diff --git a/meta-oe/recipes-support/pxaregs/pxaregs-1.14/Makefile b/meta-oe/recipes-support/pxaregs/pxaregs-1.14/Makefile new file mode 100644 index 000000000..00b7d5262 --- /dev/null +++ b/meta-oe/recipes-support/pxaregs/pxaregs-1.14/Makefile | |||
@@ -0,0 +1,3 @@ | |||
1 | |||
2 | |||
3 | all: pxaregs | ||
diff --git a/meta-oe/recipes-support/pxaregs/pxaregs-1.14/i2c.patch b/meta-oe/recipes-support/pxaregs/pxaregs-1.14/i2c.patch new file mode 100644 index 000000000..36983ec47 --- /dev/null +++ b/meta-oe/recipes-support/pxaregs/pxaregs-1.14/i2c.patch | |||
@@ -0,0 +1,15 @@ | |||
1 | Index: pxaregs-1.14/pxaregs.c | ||
2 | =================================================================== | ||
3 | --- pxaregs-1.14.orig/pxaregs.c | ||
4 | +++ pxaregs-1.14/pxaregs.c | ||
5 | @@ -21,10 +21,6 @@ | ||
6 | #include <fcntl.h> | ||
7 | #include <ctype.h> | ||
8 | |||
9 | -#include <linux/i2c.h> | ||
10 | -#include <linux/i2c-dev.h> | ||
11 | - | ||
12 | - | ||
13 | // fd for /dev/mem | ||
14 | static int fd = -1; | ||
15 | |||
diff --git a/meta-oe/recipes-support/pxaregs/pxaregs-1.14/munmap.patch b/meta-oe/recipes-support/pxaregs/pxaregs-1.14/munmap.patch new file mode 100644 index 000000000..a9c4b95cf --- /dev/null +++ b/meta-oe/recipes-support/pxaregs/pxaregs-1.14/munmap.patch | |||
@@ -0,0 +1,22 @@ | |||
1 | Index: pxaregs-1.14/pxaregs.c | ||
2 | =================================================================== | ||
3 | --- pxaregs-1.14.orig/pxaregs.c | ||
4 | +++ pxaregs-1.14/pxaregs.c | ||
5 | @@ -1794,7 +1794,7 @@ static int getmem(u32 addr) | ||
6 | regaddr = map + (addr & MAP_MASK); | ||
7 | |||
8 | val = *(u32*) regaddr; | ||
9 | - munmap(0,MAP_SIZE); | ||
10 | + munmap(map,MAP_SIZE); | ||
11 | |||
12 | return val; | ||
13 | } | ||
14 | @@ -1829,7 +1829,7 @@ static void putmem(u32 addr, u32 val) | ||
15 | regaddr = map + (addr & MAP_MASK); | ||
16 | |||
17 | *(u32*) regaddr = val; | ||
18 | - munmap(0,MAP_SIZE); | ||
19 | + munmap(map,MAP_SIZE); | ||
20 | } | ||
21 | |||
22 | static u32 lastaddr = 0; | ||
diff --git a/meta-oe/recipes-support/pxaregs/pxaregs-1.14/pxaregs.c b/meta-oe/recipes-support/pxaregs/pxaregs-1.14/pxaregs.c new file mode 100644 index 000000000..062e758d9 --- /dev/null +++ b/meta-oe/recipes-support/pxaregs/pxaregs-1.14/pxaregs.c | |||
@@ -0,0 +1,1975 @@ | |||
1 | /* | ||
2 | * pxaregs - tool to display and modify PXA250's registers at runtime | ||
3 | * | ||
4 | * (c) Copyright 2002 by M&N Logistik-Lösungen Online GmbH | ||
5 | * set under the GPLv2 | ||
6 | * | ||
7 | * $Id: pxaregs.c,v 1.14 2003/11/12 13:14:43 schurig Exp $ | ||
8 | * | ||
9 | * Please send patches to h.schurig, working at mn-logistik.de | ||
10 | * - added fix from Bernhard Nemec | ||
11 | * - i2c registers from Stefan Eletzhofer | ||
12 | */ | ||
13 | |||
14 | #include <stdio.h> | ||
15 | #include <unistd.h> | ||
16 | #include <stdlib.h> | ||
17 | #include <string.h> | ||
18 | #include <sys/mman.h> | ||
19 | #include <sys/types.h> | ||
20 | #include <sys/stat.h> | ||
21 | #include <fcntl.h> | ||
22 | #include <ctype.h> | ||
23 | |||
24 | #include <linux/i2c.h> | ||
25 | #include <linux/i2c-dev.h> | ||
26 | |||
27 | |||
28 | // fd for /dev/mem | ||
29 | static int fd = -1; | ||
30 | |||
31 | typedef unsigned int u32; | ||
32 | |||
33 | struct reg_info { | ||
34 | char *name; | ||
35 | u32 addr; | ||
36 | int shift; | ||
37 | u32 mask; | ||
38 | char type; | ||
39 | char *desc; | ||
40 | }; | ||
41 | |||
42 | |||
43 | static struct reg_info regs[] = { | ||
44 | { "IBMR", 0x40301680, 0, 0xffffffff, 'x', "I2C Bus Monitor Register" }, | ||
45 | { "IBMR_SDAS", 0x40301680, 0, 0x00000001, 'x', "SDA Status" }, | ||
46 | { "IBMR_SCLS", 0x40301680, 1, 0x00000001, 'x', "SDA Status" }, | ||
47 | |||
48 | { "IDBR", 0x40301688, 0, 0xffffffff, 'x', "I2C Data Buffer Register" }, | ||
49 | { "IDBR_IDB", 0x40301688, 0, 0x000000ff, 'x', "I2C Data Buffer" }, | ||
50 | |||
51 | { "ICR", 0x40301690, 0, 0xffffffff, 'x', "I2C Control Register" }, | ||
52 | { "ICR_START", 0x40301690, 0, 1, 'x', " start bit " }, | ||
53 | { "ICR_STOP", 0x40301690, 1, 1, 'x', " stop bit " }, | ||
54 | { "ICR_ACKNAK",0x40301690, 2, 1, 'x', " send ACK(0) or NAK(1)" }, | ||
55 | { "ICR_TB", 0x40301690, 3, 1, 'x', " transfer byte bit " }, | ||
56 | { "ICR_MA", 0x40301690, 4, 1, 'x', " master abort " }, | ||
57 | { "ICR_SCLE", 0x40301690, 5, 1, 'x', " master clock enable " }, | ||
58 | { "ICR_IUE", 0x40301690, 6, 1, 'x', " unit enable " }, | ||
59 | { "ICR_GCD", 0x40301690, 7, 1, 'x', " general call disable " }, | ||
60 | { "ICR_ITEIE", 0x40301690, 8, 1, 'x', " enable tx interrupts " }, | ||
61 | { "ICR_IRFIE", 0x40301690, 9, 1, 'x', " enable rx interrupts " }, | ||
62 | { "ICR_BEIE", 0x40301690, 10, 1, 'x', " enable bus error ints " }, | ||
63 | { "ICR_SSDIE", 0x40301690, 11, 1, 'x', " slave STOP detected int enable " }, | ||
64 | { "ICR_ALDIE", 0x40301690, 12, 1, 'x', " enable arbitration interrupt " }, | ||
65 | { "ICR_SADIE", 0x40301690, 13, 1, 'x', " slave address detected int enable " }, | ||
66 | { "ICR_UR", 0x40301690, 14, 1, 'x', " unit reset " }, | ||
67 | { "ICR_FM", 0x40301690, 15, 1, 'x', " fast mode " }, | ||
68 | |||
69 | { "ISR", 0x40301698, 0, 0xffffffff, 'x', "I2C Status Register" }, | ||
70 | { "ISR_RWM", 0x40301698, 0, 1, 'x', " read/write mode " }, | ||
71 | { "ISR_ACKNAK",0x40301698, 1, 1, 'x', " ack/nak status " }, | ||
72 | { "ISR_UB", 0x40301698, 2, 1, 'x', " unit busy " }, | ||
73 | { "ISR_IBB", 0x40301698, 3, 1, 'x', " bus busy " }, | ||
74 | { "ISR_SSD", 0x40301698, 4, 1, 'x', " slave stop detected " }, | ||
75 | { "ISR_ALD", 0x40301698, 5, 1, 'x', " arbitration loss detected " }, | ||
76 | { "ISR_ITE", 0x40301698, 6, 1, 'x', " tx buffer empty " }, | ||
77 | { "ISR_IRF", 0x40301698, 7, 1, 'x', " rx buffer full " }, | ||
78 | { "ISR_GCAD", 0x40301698, 8, 1, 'x', " general call address detected " }, | ||
79 | { "ISR_SAD", 0x40301698, 9, 1, 'x', " slave address detected " }, | ||
80 | { "ISR_BED", 0x40301698, 10, 1, 'x', " bus error no ACK/NAK " }, | ||
81 | |||
82 | { "ISAR", 0x403016A0, 0, 0xffffffff, 'x', "I2C Slave Address Register" }, | ||
83 | { "ISAR_SA", 0x403016A0, 0, 0x0000007f, 'x', "I2C Slave Address" }, | ||
84 | |||
85 | { "PMCR", 0x40F00000, 0, 0xffffffff, 'x', "Power Manager Control Register (3-23)" }, | ||
86 | { "PMCR_IDAE", 0x40F00000, 0, 0x00000001, 'd', "PM imprecise data abort abort signal" }, | ||
87 | |||
88 | { "PSSR", 0x40F00004, 0, 0xffffffff, 'x', "Power Manager Sleep Status Register (3-29)" }, | ||
89 | { "PSSR_SSS", 0x40F00004, 0, 0x00000001, 'd', "PM chip was in sleep by setting sleep mode bit" }, | ||
90 | { "PSSR_BFS", 0x40F00004, 1, 0x00000001, 'd', "PM nBATT_FAULT has been asserted" }, | ||
91 | { "PSSR_VFS", 0x40F00004, 2, 0x00000001, 'd', "PM nVDD_FAULT was asserted while in Run or Idle" }, | ||
92 | { "PSSR_PH", 0x40F00004, 4, 0x00000001, 'd', "PM GPIO pins are held in their sleep state" }, | ||
93 | { "PSSR_RDH", 0x40F00004, 5, 0x00000001, 'd', "PM receivers of all input GPIO are disabled" }, | ||
94 | |||
95 | { "PSPR", 0x40F00008, 0, 0xffffffff, 'x', "Power Manager Scratch Pad Register (3-30)" }, | ||
96 | |||
97 | { "PWER", 0x40F0000C, 0, 0xffffffff, 'x', "Power Manager Wake-Up Enable Register (3-25)" }, | ||
98 | { "PWER_WE0", 0x40F0000C, 0, 0x00000001, 'd', "PM wake up due to GPIO 0 edge detect enabled" }, | ||
99 | { "PWER_WE1", 0x40F0000C, 1, 0x00000001, 'd', "PM wake up due to GPIO 1 edge detect enabled" }, | ||
100 | { "PWER_WE2", 0x40F0000C, 2, 0x00000001, 'd', "PM wake up due to GPIO 2 edge detect enabled" }, | ||
101 | { "PWER_WE3", 0x40F0000C, 3, 0x00000001, 'd', "PM wake up due to GPIO 3 edge detect enabled" }, | ||
102 | { "PWER_WE4", 0x40F0000C, 4, 0x00000001, 'd', "PM wake up due to GPIO 4 edge detect enabled" }, | ||
103 | { "PWER_WE5", 0x40F0000C, 5, 0x00000001, 'd', "PM wake up due to GPIO 5 edge detect enabled" }, | ||
104 | { "PWER_WE6", 0x40F0000C, 6, 0x00000001, 'd', "PM wake up due to GPIO 6 edge detect enabled" }, | ||
105 | { "PWER_WE7", 0x40F0000C, 7, 0x00000001, 'd', "PM wake up due to GPIO 7 edge detect enabled" }, | ||
106 | { "PWER_WE8", 0x40F0000C, 8, 0x00000001, 'd', "PM wake up due to GPIO 8 edge detect enabled" }, | ||
107 | { "PWER_WE9", 0x40F0000C, 9, 0x00000001, 'd', "PM wake up due to GPIO 9 edge detect enabled" }, | ||
108 | { "PWER_WE10", 0x40F0000C, 10, 0x00000001, 'd', "PM wake up due to GPIO10 edge detect enabled" }, | ||
109 | { "PWER_WE11", 0x40F0000C, 11, 0x00000001, 'd', "PM wake up due to GPIO11 edge detect enabled" }, | ||
110 | { "PWER_WE12", 0x40F0000C, 12, 0x00000001, 'd', "PM wake up due to GPIO12 edge detect enabled" }, | ||
111 | { "PWER_WE13", 0x40F0000C, 13, 0x00000001, 'd', "PM wake up due to GPIO13 edge detect enabled" }, | ||
112 | { "PWER_WE14", 0x40F0000C, 14, 0x00000001, 'd', "PM wake up due to GPIO14 edge detect enabled" }, | ||
113 | { "PWER_WE15", 0x40F0000C, 15, 0x00000001, 'd', "PM wake up due to GPIO15 edge detect enabled" }, | ||
114 | { "PWER_WERTC",0x40F0000C, 31, 0x00000001, 'd', "PM wake up due to RTC alarm enabled" }, | ||
115 | |||
116 | { "PRER", 0x40F00010, 0, 0xffffffff, 'x', "Power Manager Rising Edge Detect Enable Register (3-26)" }, | ||
117 | { "PRER_RE0", 0x40F00010, 0, 0x00000001, 'd', "PM wake up due to GPIO 0 rising edge detect enabled" }, | ||
118 | { "PRER_RE1", 0x40F00010, 1, 0x00000001, 'd', "PM wake up due to GPIO 1 rising edge detect enabled" }, | ||
119 | { "PRER_RE2", 0x40F00010, 2, 0x00000001, 'd', "PM wake up due to GPIO 2 rising edge detect enabled" }, | ||
120 | { "PRER_RE3", 0x40F00010, 3, 0x00000001, 'd', "PM wake up due to GPIO 3 rising edge detect enabled" }, | ||
121 | { "PRER_RE4", 0x40F00010, 4, 0x00000001, 'd', "PM wake up due to GPIO 4 rising edge detect enabled" }, | ||
122 | { "PRER_RE5", 0x40F00010, 5, 0x00000001, 'd', "PM wake up due to GPIO 5 rising edge detect enabled" }, | ||
123 | { "PRER_RE6", 0x40F00010, 6, 0x00000001, 'd', "PM wake up due to GPIO 6 rising edge detect enabled" }, | ||
124 | { "PRER_RE7", 0x40F00010, 7, 0x00000001, 'd', "PM wake up due to GPIO 7 rising edge detect enabled" }, | ||
125 | { "PRER_RE8", 0x40F00010, 8, 0x00000001, 'd', "PM wake up due to GPIO 8 rising edge detect enabled" }, | ||
126 | { "PRER_RE9", 0x40F00010, 9, 0x00000001, 'd', "PM wake up due to GPIO 9 rising edge detect enabled" }, | ||
127 | { "PRER_RE10", 0x40F00010, 10, 0x00000001, 'd', "PM wake up due to GPIO10 rising edge detect enabled" }, | ||
128 | { "PRER_RE11", 0x40F00010, 11, 0x00000001, 'd', "PM wake up due to GPIO11 rising edge detect enabled" }, | ||
129 | { "PRER_RE12", 0x40F00010, 12, 0x00000001, 'd', "PM wake up due to GPIO12 rising edge detect enabled" }, | ||
130 | { "PRER_RE13", 0x40F00010, 13, 0x00000001, 'd', "PM wake up due to GPIO13 rising edge detect enabled" }, | ||
131 | { "PRER_RE14", 0x40F00010, 14, 0x00000001, 'd', "PM wake up due to GPIO14 rising edge detect enabled" }, | ||
132 | { "PRER_RE15", 0x40F00010, 15, 0x00000001, 'd', "PM wake up due to GPIO15 rising edge detect enabled" }, | ||
133 | |||
134 | { "PFER", 0x40F00014, 0, 0xffffffff, 'x', "Power Manager Falling Detect Enable Register (3-27)" }, | ||
135 | { "PFER_FE0", 0x40F00014, 0, 0x00000001, 'd', "PM wake up due to GPIO 0 falling edge detect enabled" }, | ||
136 | { "PFER_FE1", 0x40F00014, 1, 0x00000001, 'd', "PM wake up due to GPIO 1 falling edge detect enabled" }, | ||
137 | { "PFER_FE2", 0x40F00014, 2, 0x00000001, 'd', "PM wake up due to GPIO 2 falling edge detect enabled" }, | ||
138 | { "PFER_FE3", 0x40F00014, 3, 0x00000001, 'd', "PM wake up due to GPIO 3 falling edge detect enabled" }, | ||
139 | { "PFER_FE4", 0x40F00014, 4, 0x00000001, 'd', "PM wake up due to GPIO 4 falling edge detect enabled" }, | ||
140 | { "PFER_FE5", 0x40F00014, 5, 0x00000001, 'd', "PM wake up due to GPIO 5 falling edge detect enabled" }, | ||
141 | { "PFER_FE6", 0x40F00014, 6, 0x00000001, 'd', "PM wake up due to GPIO 6 falling edge detect enabled" }, | ||
142 | { "PFER_FE7", 0x40F00014, 7, 0x00000001, 'd', "PM wake up due to GPIO 7 falling edge detect enabled" }, | ||
143 | { "PFER_FE8", 0x40F00014, 8, 0x00000001, 'd', "PM wake up due to GPIO 8 falling edge detect enabled" }, | ||
144 | { "PFER_FE9", 0x40F00014, 9, 0x00000001, 'd', "PM wake up due to GPIO 9 falling edge detect enabled" }, | ||
145 | { "PFER_FE10", 0x40F00014, 10, 0x00000001, 'd', "PM wake up due to GPIO10 falling edge detect enabled" }, | ||
146 | { "PFER_FE11", 0x40F00014, 11, 0x00000001, 'd', "PM wake up due to GPIO11 falling edge detect enabled" }, | ||
147 | { "PFER_FE12", 0x40F00014, 12, 0x00000001, 'd', "PM wake up due to GPIO12 falling edge detect enabled" }, | ||
148 | { "PFER_FE13", 0x40F00014, 13, 0x00000001, 'd', "PM wake up due to GPIO13 falling edge detect enabled" }, | ||
149 | { "PFER_FE14", 0x40F00014, 14, 0x00000001, 'd', "PM wake up due to GPIO14 falling edge detect enabled" }, | ||
150 | { "PFER_FE15", 0x40F00014, 15, 0x00000001, 'd', "PM wake up due to GPIO15 falling edge detect enabled" }, | ||
151 | |||
152 | { "PEDR", 0x40F00018, 0, 0xffffffff, 'x', "Power Manager Edge Detect Status Register (3-28)" }, | ||
153 | { "PEDR_ED0", 0x40F00018, 0, 0x00000001, 'd', "PM wake up due to edge on GPIO 0 detected" }, | ||
154 | { "PEDR_ED1", 0x40F00018, 1, 0x00000001, 'd', "PM wake up due to edge on GPIO 1 detected" }, | ||
155 | { "PEDR_ED2", 0x40F00018, 2, 0x00000001, 'd', "PM wake up due to edge on GPIO 2 detected" }, | ||
156 | { "PEDR_ED3", 0x40F00018, 3, 0x00000001, 'd', "PM wake up due to edge on GPIO 3 detected" }, | ||
157 | { "PEDR_ED4", 0x40F00018, 4, 0x00000001, 'd', "PM wake up due to edge on GPIO 4 detected" }, | ||
158 | { "PEDR_ED5", 0x40F00018, 5, 0x00000001, 'd', "PM wake up due to edge on GPIO 5 detected" }, | ||
159 | { "PEDR_ED6", 0x40F00018, 6, 0x00000001, 'd', "PM wake up due to edge on GPIO 6 detected" }, | ||
160 | { "PEDR_ED7", 0x40F00018, 7, 0x00000001, 'd', "PM wake up due to edge on GPIO 7 detected" }, | ||
161 | { "PEDR_ED8", 0x40F00018, 8, 0x00000001, 'd', "PM wake up due to edge on GPIO 8 detected" }, | ||
162 | { "PEDR_ED9", 0x40F00018, 9, 0x00000001, 'd', "PM wake up due to edge on GPIO 9 detected" }, | ||
163 | { "PEDR_ED10", 0x40F00018, 10, 0x00000001, 'd', "PM wake up due to edge on GPIO10 detected" }, | ||
164 | { "PEDR_ED11", 0x40F00018, 11, 0x00000001, 'd', "PM wake up due to edge on GPIO11 detected" }, | ||
165 | { "PEDR_ED12", 0x40F00018, 12, 0x00000001, 'd', "PM wake up due to edge on GPIO12 detected" }, | ||
166 | { "PEDR_ED13", 0x40F00018, 13, 0x00000001, 'd', "PM wake up due to edge on GPIO13 detected" }, | ||
167 | { "PEDR_ED14", 0x40F00018, 14, 0x00000001, 'd', "PM wake up due to edge on GPIO14 detected" }, | ||
168 | { "PEDR_ED15", 0x40F00018, 15, 0x00000001, 'd', "PM wake up due to edge on GPIO15 detected" }, | ||
169 | |||
170 | { "PCFR", 0x40F0001C, 0, 0xffffffff, 'x', "Power Manager General Configuration Register (3-24)" }, | ||
171 | { "PCFR_OPDE", 0x40F0001C, 0, 0x00000001, 'd', "PM stop 3.6864 MHz oscillator during sleep" }, | ||
172 | { "PCFR_FP", 0x40F0001C, 1, 0x00000001, 'd', "PM PCMCIA signals float during sleep" }, | ||
173 | { "PCFR_FS", 0x40F0001C, 2, 0x00000001, 'd', "PM static chip select signals float during sleep" }, | ||
174 | |||
175 | { "PGSR0", 0x40F00020, 0, 0xffffffff, 'x', "Power Manager GPIO Sleep State Register 0 (3-32)" }, | ||
176 | { "PGSR_SS0", 0x40F00020, 0, 0x00000001, 'd', "PM GPIO pin 0 is driven to 1 during sleep" }, | ||
177 | { "PGSR_SS1", 0x40F00020, 1, 0x00000001, 'd', "PM GPIO pin 1 is driven to 1 during sleep" }, | ||
178 | { "PGSR_SS2", 0x40F00020, 2, 0x00000001, 'd', "PM GPIO pin 2 is driven to 1 during sleep" }, | ||
179 | { "PGSR_SS3", 0x40F00020, 3, 0x00000001, 'd', "PM GPIO pin 3 is driven to 1 during sleep" }, | ||
180 | { "PGSR_SS4", 0x40F00020, 4, 0x00000001, 'd', "PM GPIO pin 4 is driven to 1 during sleep" }, | ||
181 | { "PGSR_SS5", 0x40F00020, 5, 0x00000001, 'd', "PM GPIO pin 5 is driven to 1 during sleep" }, | ||
182 | { "PGSR_SS6", 0x40F00020, 6, 0x00000001, 'd', "PM GPIO pin 6 is driven to 1 during sleep" }, | ||
183 | { "PGSR_SS7", 0x40F00020, 7, 0x00000001, 'd', "PM GPIO pin 7 is driven to 1 during sleep" }, | ||
184 | { "PGSR_SS8", 0x40F00020, 8, 0x00000001, 'd', "PM GPIO pin 8 is driven to 1 during sleep" }, | ||
185 | { "PGSR_SS9", 0x40F00020, 9, 0x00000001, 'd', "PM GPIO pin 9 is driven to 1 during sleep" }, | ||
186 | { "PGSR_SS10", 0x40F00020, 10, 0x00000001, 'd', "PM GPIO pin 10 is driven to 1 during sleep" }, | ||
187 | { "PGSR_SS11", 0x40F00020, 11, 0x00000001, 'd', "PM GPIO pin 11 is driven to 1 during sleep" }, | ||
188 | { "PGSR_SS12", 0x40F00020, 12, 0x00000001, 'd', "PM GPIO pin 12 is driven to 1 during sleep" }, | ||
189 | { "PGSR_SS13", 0x40F00020, 13, 0x00000001, 'd', "PM GPIO pin 13 is driven to 1 during sleep" }, | ||
190 | { "PGSR_SS14", 0x40F00020, 14, 0x00000001, 'd', "PM GPIO pin 14 is driven to 1 during sleep" }, | ||
191 | { "PGSR_SS15", 0x40F00020, 15, 0x00000001, 'd', "PM GPIO pin 15 is driven to 1 during sleep" }, | ||
192 | { "PGSR_SS16", 0x40F00020, 16, 0x00000001, 'd', "PM GPIO pin 16 is driven to 1 during sleep" }, | ||
193 | { "PGSR_SS17", 0x40F00020, 17, 0x00000001, 'd', "PM GPIO pin 17 is driven to 1 during sleep" }, | ||
194 | { "PGSR_SS18", 0x40F00020, 18, 0x00000001, 'd', "PM GPIO pin 18 is driven to 1 during sleep" }, | ||
195 | { "PGSR_SS19", 0x40F00020, 19, 0x00000001, 'd', "PM GPIO pin 19 is driven to 1 during sleep" }, | ||
196 | { "PGSR_SS20", 0x40F00020, 20, 0x00000001, 'd', "PM GPIO pin 20 is driven to 1 during sleep" }, | ||
197 | { "PGSR_SS21", 0x40F00020, 21, 0x00000001, 'd', "PM GPIO pin 21 is driven to 1 during sleep" }, | ||
198 | { "PGSR_SS22", 0x40F00020, 22, 0x00000001, 'd', "PM GPIO pin 22 is driven to 1 during sleep" }, | ||
199 | { "PGSR_SS23", 0x40F00020, 23, 0x00000001, 'd', "PM GPIO pin 23 is driven to 1 during sleep" }, | ||
200 | { "PGSR_SS24", 0x40F00020, 24, 0x00000001, 'd', "PM GPIO pin 24 is driven to 1 during sleep" }, | ||
201 | { "PGSR_SS25", 0x40F00020, 25, 0x00000001, 'd', "PM GPIO pin 25 is driven to 1 during sleep" }, | ||
202 | { "PGSR_SS26", 0x40F00020, 26, 0x00000001, 'd', "PM GPIO pin 26 is driven to 1 during sleep" }, | ||
203 | { "PGSR_SS27", 0x40F00020, 27, 0x00000001, 'd', "PM GPIO pin 27 is driven to 1 during sleep" }, | ||
204 | { "PGSR_SS28", 0x40F00020, 28, 0x00000001, 'd', "PM GPIO pin 28 is driven to 1 during sleep" }, | ||
205 | { "PGSR_SS29", 0x40F00020, 29, 0x00000001, 'd', "PM GPIO pin 29 is driven to 1 during sleep" }, | ||
206 | { "PGSR_SS30", 0x40F00020, 30, 0x00000001, 'd', "PM GPIO pin 30 is driven to 1 during sleep" }, | ||
207 | { "PGSR_SS31", 0x40F00020, 31, 0x00000001, 'd', "PM GPIO pin 31 is driven to 1 during sleep" }, | ||
208 | |||
209 | { "PGSR1", 0x40F00024, 0, 0xffffffff, 'x', "Power Manager GPIO Sleep State Register 1 (3-32)" }, | ||
210 | { "PGSR_SS32", 0x40F00024, 0, 0x00000001, 'd', "PM GPIO pin 32 is driven to 1 during sleep" }, | ||
211 | { "PGSR_SS33", 0x40F00024, 1, 0x00000001, 'd', "PM GPIO pin 33 is driven to 1 during sleep" }, | ||
212 | { "PGSR_SS34", 0x40F00024, 2, 0x00000001, 'd', "PM GPIO pin 34 is driven to 1 during sleep" }, | ||
213 | { "PGSR_SS35", 0x40F00024, 3, 0x00000001, 'd', "PM GPIO pin 35 is driven to 1 during sleep" }, | ||
214 | { "PGSR_SS36", 0x40F00024, 4, 0x00000001, 'd', "PM GPIO pin 36 is driven to 1 during sleep" }, | ||
215 | { "PGSR_SS37", 0x40F00024, 5, 0x00000001, 'd', "PM GPIO pin 37 is driven to 1 during sleep" }, | ||
216 | { "PGSR_SS38", 0x40F00024, 6, 0x00000001, 'd', "PM GPIO pin 38 is driven to 1 during sleep" }, | ||
217 | { "PGSR_SS39", 0x40F00024, 7, 0x00000001, 'd', "PM GPIO pin 39 is driven to 1 during sleep" }, | ||
218 | { "PGSR_SS40", 0x40F00024, 8, 0x00000001, 'd', "PM GPIO pin 40 is driven to 1 during sleep" }, | ||
219 | { "PGSR_SS41", 0x40F00024, 9, 0x00000001, 'd', "PM GPIO pin 41 is driven to 1 during sleep" }, | ||
220 | { "PGSR_SS42", 0x40F00024, 10, 0x00000001, 'd', "PM GPIO pin 42 is driven to 1 during sleep" }, | ||
221 | { "PGSR_SS43", 0x40F00024, 11, 0x00000001, 'd', "PM GPIO pin 43 is driven to 1 during sleep" }, | ||
222 | { "PGSR_SS44", 0x40F00024, 12, 0x00000001, 'd', "PM GPIO pin 44 is driven to 1 during sleep" }, | ||
223 | { "PGSR_SS45", 0x40F00024, 13, 0x00000001, 'd', "PM GPIO pin 45 is driven to 1 during sleep" }, | ||
224 | { "PGSR_SS46", 0x40F00024, 14, 0x00000001, 'd', "PM GPIO pin 46 is driven to 1 during sleep" }, | ||
225 | { "PGSR_SS47", 0x40F00024, 15, 0x00000001, 'd', "PM GPIO pin 47 is driven to 1 during sleep" }, | ||
226 | { "PGSR_SS48", 0x40F00024, 16, 0x00000001, 'd', "PM GPIO pin 48 is driven to 1 during sleep" }, | ||
227 | { "PGSR_SS49", 0x40F00024, 17, 0x00000001, 'd', "PM GPIO pin 49 is driven to 1 during sleep" }, | ||
228 | { "PGSR_SS50", 0x40F00024, 18, 0x00000001, 'd', "PM GPIO pin 50 is driven to 1 during sleep" }, | ||
229 | { "PGSR_SS51", 0x40F00024, 19, 0x00000001, 'd', "PM GPIO pin 51 is driven to 1 during sleep" }, | ||
230 | { "PGSR_SS52", 0x40F00024, 20, 0x00000001, 'd', "PM GPIO pin 52 is driven to 1 during sleep" }, | ||
231 | { "PGSR_SS53", 0x40F00024, 21, 0x00000001, 'd', "PM GPIO pin 53 is driven to 1 during sleep" }, | ||
232 | { "PGSR_SS54", 0x40F00024, 22, 0x00000001, 'd', "PM GPIO pin 54 is driven to 1 during sleep" }, | ||
233 | { "PGSR_SS55", 0x40F00024, 23, 0x00000001, 'd', "PM GPIO pin 55 is driven to 1 during sleep" }, | ||
234 | { "PGSR_SS56", 0x40F00024, 24, 0x00000001, 'd', "PM GPIO pin 56 is driven to 1 during sleep" }, | ||
235 | { "PGSR_SS57", 0x40F00024, 25, 0x00000001, 'd', "PM GPIO pin 57 is driven to 1 during sleep" }, | ||
236 | { "PGSR_SS58", 0x40F00024, 26, 0x00000001, 'd', "PM GPIO pin 58 is driven to 1 during sleep" }, | ||
237 | { "PGSR_SS59", 0x40F00024, 27, 0x00000001, 'd', "PM GPIO pin 59 is driven to 1 during sleep" }, | ||
238 | { "PGSR_SS60", 0x40F00024, 28, 0x00000001, 'd', "PM GPIO pin 60 is driven to 1 during sleep" }, | ||
239 | { "PGSR_SS61", 0x40F00024, 29, 0x00000001, 'd', "PM GPIO pin 61 is driven to 1 during sleep" }, | ||
240 | { "PGSR_SS62", 0x40F00024, 30, 0x00000001, 'd', "PM GPIO pin 62 is driven to 1 during sleep" }, | ||
241 | { "PGSR_SS63", 0x40F00024, 31, 0x00000001, 'd', "PM GPIO pin 63 is driven to 1 during sleep" }, | ||
242 | |||
243 | { "PGSR2", 0x40F00028, 0, 0xffffffff, 'x', "Power Manager GPIO Sleep State Register 2 (3-33)" }, | ||
244 | { "PGSR_SS64", 0x40F00028, 0, 0x00000001, 'd', "PM GPIO pin 64 is driven to 1 during sleep" }, | ||
245 | { "PGSR_SS65", 0x40F00028, 1, 0x00000001, 'd', "PM GPIO pin 65 is driven to 1 during sleep" }, | ||
246 | { "PGSR_SS66", 0x40F00028, 2, 0x00000001, 'd', "PM GPIO pin 66 is driven to 1 during sleep" }, | ||
247 | { "PGSR_SS67", 0x40F00028, 3, 0x00000001, 'd', "PM GPIO pin 67 is driven to 1 during sleep" }, | ||
248 | { "PGSR_SS68", 0x40F00028, 4, 0x00000001, 'd', "PM GPIO pin 68 is driven to 1 during sleep" }, | ||
249 | { "PGSR_SS69", 0x40F00028, 5, 0x00000001, 'd', "PM GPIO pin 69 is driven to 1 during sleep" }, | ||
250 | { "PGSR_SS70", 0x40F00028, 6, 0x00000001, 'd', "PM GPIO pin 70 is driven to 1 during sleep" }, | ||
251 | { "PGSR_SS71", 0x40F00028, 7, 0x00000001, 'd', "PM GPIO pin 71 is driven to 1 during sleep" }, | ||
252 | { "PGSR_SS72", 0x40F00028, 8, 0x00000001, 'd', "PM GPIO pin 72 is driven to 1 during sleep" }, | ||
253 | { "PGSR_SS73", 0x40F00028, 9, 0x00000001, 'd', "PM GPIO pin 73 is driven to 1 during sleep" }, | ||
254 | { "PGSR_SS74", 0x40F00028, 10, 0x00000001, 'd', "PM GPIO pin 74 is driven to 1 during sleep" }, | ||
255 | { "PGSR_SS75", 0x40F00028, 11, 0x00000001, 'd', "PM GPIO pin 75 is driven to 1 during sleep" }, | ||
256 | { "PGSR_SS76", 0x40F00028, 12, 0x00000001, 'd', "PM GPIO pin 76 is driven to 1 during sleep" }, | ||
257 | { "PGSR_SS77", 0x40F00028, 13, 0x00000001, 'd', "PM GPIO pin 77 is driven to 1 during sleep" }, | ||
258 | { "PGSR_SS78", 0x40F00028, 14, 0x00000001, 'd', "PM GPIO pin 78 is driven to 1 during sleep" }, | ||
259 | { "PGSR_SS79", 0x40F00028, 15, 0x00000001, 'd', "PM GPIO pin 79 is driven to 1 during sleep" }, | ||
260 | { "PGSR_SS80", 0x40F00028, 16, 0x00000001, 'd', "PM GPIO pin 80 is driven to 1 during sleep" }, | ||
261 | |||
262 | { "RCSR", 0x40F00030, 0, 0xffffffff, 'x', "Power Manager Reset Controller Status Register (3-34)" }, | ||
263 | { "RCSR_HWR", 0x40F00030, 0, 0x00000001, 'd', "PM hardware reset occurred" }, | ||
264 | { "RCSR_WDR", 0x40F00030, 1, 0x00000001, 'd', "PM watchdog reset occurred" }, | ||
265 | { "RCSR_SMR", 0x40F00030, 2, 0x00000001, 'd', "PM sleep mode occurred" }, | ||
266 | { "RCSR_GFR", 0x40F00030, 3, 0x00000001, 'd', "PM GPIO reset occurred" }, | ||
267 | |||
268 | // PXA255 | ||
269 | { "PMFW", 0x40F00034, 0, 0xffffffff, 'x', "Power Manager Fast Sleep Wakeup Register (3-31)" }, | ||
270 | { "PMFW_FWAKE",0x40F00034, 1, 0x00000001, 'x', "Fast Wakeup Enable" }, | ||
271 | |||
272 | { "CCCR", 0x41300000, 0, 0xffffffff, 'x', "Core Clock Configuration Register (3-35)" }, | ||
273 | { "CCCR_L", 0x41300000, 0, 0x0000001f, 'x', "CM crystal freq to memory freq multiplier" }, | ||
274 | { "CCCR_M", 0x41300000, 5, 0x00000003, 'x', "CM memory freq to run mode freq multiplier" }, | ||
275 | { "CCCR_N", 0x41300000, 7, 0x00000007, 'x', "CM run mode freq to turbo freq multiplier" }, | ||
276 | |||
277 | { "CKEN", 0x41300004, 0, 0xffffffff, 'x', "Clock Enable Register (3-36)" }, | ||
278 | { "CKEN_0", 0x41300004, 0, 0x00000001, 'd', "CM PWM0 clock enabled" }, | ||
279 | { "CKEN_1", 0x41300004, 1, 0x00000001, 'd', "CM PWM1 clock enabled" }, | ||
280 | { "CKEN_2", 0x41300004, 2, 0x00000001, 'd', "CM AC97 clock enabled" }, | ||
281 | { "CKEN_3", 0x41300004, 3, 0x00000001, 'd', "CM SSP clock enabled" }, | ||
282 | { "CKEN_5", 0x41300004, 5, 0x00000001, 'd', "CM STUART clock enabled" }, | ||
283 | { "CKEN_6", 0x41300004, 6, 0x00000001, 'd', "CM FFUART clock enabled" }, | ||
284 | { "CKEN_7", 0x41300004, 7, 0x00000001, 'd', "CM BTUART clock enabled" }, | ||
285 | { "CKEN_8", 0x41300004, 8, 0x00000001, 'd', "CM I2S clock enabled" }, | ||
286 | { "CKEN_11", 0x41300004, 11, 0x00000001, 'd', "CM USB clock enabled" }, | ||
287 | { "CKEN_12", 0x41300004, 12, 0x00000001, 'd', "CM MMC clock enabled" }, | ||
288 | { "CKEN_13", 0x41300004, 13, 0x00000001, 'd', "CM FIPC clock enabled" }, | ||
289 | { "CKEN_14", 0x41300004, 14, 0x00000001, 'd', "CM I2C clock enabled" }, | ||
290 | { "CKEN_16", 0x41300004, 16, 0x00000001, 'd', "CM LCD clock enabled" }, | ||
291 | |||
292 | { "OSCC", 0x41300008, 0, 0xffffffff, 'x', "Oscillator Configuration Register (3-38)" }, | ||
293 | { "OSCC_OOK", 0x41300008, 0, 0x00000001, 'd', "CM 32.768 kHz oscillator enabled and stabilized" }, | ||
294 | { "OSCC_OON", 0x41300008, 1, 0x00000001, 'd', "CM 32.768 kHz oscillator enabled" }, | ||
295 | |||
296 | // TODO: CP14-Registers (3-37) | ||
297 | |||
298 | { "GPLR0", 0x40E00000, 0, 0xffffffff, 'x', "GPIO Pin Level Register 0 (4-7)" }, | ||
299 | #if defined(CONFIG_ARCH_RAMSES) | ||
300 | { "GPLR0_0", 0x40E00000, 0, 0x00000001, 'd', "GPIO 0 (nc) level" }, | ||
301 | { "GPLR0_1", 0x40E00000, 1, 0x00000001, 'd', "GPIO 1 (nPFI) level" }, | ||
302 | { "GPLR0_2", 0x40E00000, 2, 0x00000001, 'd', "GPIO 2 (BAT_DATA) level" }, | ||
303 | { "GPLR0_3", 0x40E00000, 3, 0x00000001, 'd', "GPIO 3 (IRQ_KEY) level" }, | ||
304 | { "GPLR0_4", 0x40E00000, 4, 0x00000001, 'd', "GPIO 4 (IRQ_ETH) level" }, | ||
305 | { "GPLR0_5", 0x40E00000, 5, 0x00000001, 'd', "GPIO 5 (nc) level" }, | ||
306 | { "GPLR0_6", 0x40E00000, 6, 0x00000001, 'd', "GPIO 6 (MMC_CLK) level" }, | ||
307 | { "GPLR0_7", 0x40E00000, 7, 0x00000001, 'd', "GPIO 7 (IRQ_GSM) level" }, | ||
308 | { "GPLR0_8", 0x40E00000, 8, 0x00000001, 'd', "GPIO 8 (nPCC_S1_CD) level" }, | ||
309 | { "GPLR0_9", 0x40E00000, 9, 0x00000001, 'd', "GPIO 9 (MMC_CD) level" }, | ||
310 | { "GPLR0_10", 0x40E00000, 10, 0x00000001, 'd', "GPIO 10 (IRQ_RTC) level" }, | ||
311 | { "GPLR0_11", 0x40E00000, 11, 0x00000001, 'd', "GPIO 11 (nc 3M6) level" }, | ||
312 | { "GPLR0_12", 0x40E00000, 12, 0x00000001, 'd', "GPIO 12 (nc) level" }, | ||
313 | { "GPLR0_13", 0x40E00000, 13, 0x00000001, 'd', "GPIO 13 (IRQ_DOCK) level" }, | ||
314 | { "GPLR0_14", 0x40E00000, 14, 0x00000001, 'd', "GPIO 14 (nc) level" }, | ||
315 | { "GPLR0_15", 0x40E00000, 15, 0x00000001, 'd', "GPIO 15 (nCS1) level" }, | ||
316 | { "GPLR0_16", 0x40E00000, 16, 0x00000001, 'd', "GPIO 16 (PWM0) level" }, | ||
317 | { "GPLR0_17", 0x40E00000, 17, 0x00000001, 'd', "GPIO 17 (PWM1) level" }, | ||
318 | { "GPLR0_18", 0x40E00000, 18, 0x00000001, 'd', "GPIO 18 (RDY) level" }, | ||
319 | { "GPLR0_19", 0x40E00000, 19, 0x00000001, 'd', "GPIO 19 (nc nPCC_S0_IRQ) level" }, | ||
320 | { "GPLR0_20", 0x40E00000, 20, 0x00000001, 'd', "GPIO 20 (nc) level" }, | ||
321 | { "GPLR0_21", 0x40E00000, 21, 0x00000001, 'd', "GPIO 21 (AC97_IRQ) level" }, | ||
322 | { "GPLR0_22", 0x40E00000, 22, 0x00000001, 'd', "GPIO 22 (nPCC_S1_IRQ) level" }, | ||
323 | { "GPLR0_23", 0x40E00000, 23, 0x00000001, 'd', "GPIO 23 (UART_INTA) level" }, | ||
324 | { "GPLR0_24", 0x40E00000, 24, 0x00000001, 'd', "GPIO 24 (UART_INTB) level" }, | ||
325 | { "GPLR0_25", 0x40E00000, 25, 0x00000001, 'd', "GPIO 25 (UART_INTC) level" }, | ||
326 | { "GPLR0_26", 0x40E00000, 26, 0x00000001, 'd', "GPIO 26 (UART_INTD) level" }, | ||
327 | { "GPLR0_27", 0x40E00000, 27, 0x00000001, 'd', "GPIO 27 (nc CPLD_FREE) level" }, | ||
328 | { "GPLR0_28", 0x40E00000, 28, 0x00000001, 'd', "GPIO 28 (AUD_BITCLK) level" }, | ||
329 | { "GPLR0_29", 0x40E00000, 29, 0x00000001, 'd', "GPIO 29 (AUD_SDIN0) level" }, | ||
330 | { "GPLR0_30", 0x40E00000, 30, 0x00000001, 'd', "GPIO 30 (AUD_SDOUT) level" }, | ||
331 | { "GPLR0_31", 0x40E00000, 31, 0x00000001, 'd', "GPIO 31 (AUD_SYNC) level" }, | ||
332 | #else | ||
333 | { "GPLR0_0", 0x40E00000, 0, 0x00000001, 'd', "GPIO 0 level" }, | ||
334 | { "GPLR0_1", 0x40E00000, 1, 0x00000001, 'd', "GPIO 1 level" }, | ||
335 | { "GPLR0_2", 0x40E00000, 2, 0x00000001, 'd', "GPIO 2 level" }, | ||
336 | { "GPLR0_3", 0x40E00000, 3, 0x00000001, 'd', "GPIO 3 level" }, | ||
337 | { "GPLR0_4", 0x40E00000, 4, 0x00000001, 'd', "GPIO 4 level" }, | ||
338 | { "GPLR0_5", 0x40E00000, 5, 0x00000001, 'd', "GPIO 5 level" }, | ||
339 | { "GPLR0_6", 0x40E00000, 6, 0x00000001, 'd', "GPIO 6 level" }, | ||
340 | { "GPLR0_7", 0x40E00000, 7, 0x00000001, 'd', "GPIO 7 level" }, | ||
341 | { "GPLR0_8", 0x40E00000, 8, 0x00000001, 'd', "GPIO 8 level" }, | ||
342 | { "GPLR0_9", 0x40E00000, 9, 0x00000001, 'd', "GPIO 9 level" }, | ||
343 | { "GPLR0_10", 0x40E00000, 10, 0x00000001, 'd', "GPIO 10 level" }, | ||
344 | { "GPLR0_11", 0x40E00000, 11, 0x00000001, 'd', "GPIO 11 level" }, | ||
345 | { "GPLR0_12", 0x40E00000, 12, 0x00000001, 'd', "GPIO 12 level" }, | ||
346 | { "GPLR0_13", 0x40E00000, 13, 0x00000001, 'd', "GPIO 13 level" }, | ||
347 | { "GPLR0_14", 0x40E00000, 14, 0x00000001, 'd', "GPIO 14 level" }, | ||
348 | { "GPLR0_15", 0x40E00000, 15, 0x00000001, 'd', "GPIO 15 level" }, | ||
349 | { "GPLR0_16", 0x40E00000, 16, 0x00000001, 'd', "GPIO 16 level" }, | ||
350 | { "GPLR0_17", 0x40E00000, 17, 0x00000001, 'd', "GPIO 17 level" }, | ||
351 | { "GPLR0_18", 0x40E00000, 18, 0x00000001, 'd', "GPIO 18 level" }, | ||
352 | { "GPLR0_19", 0x40E00000, 19, 0x00000001, 'd', "GPIO 19 level" }, | ||
353 | { "GPLR0_20", 0x40E00000, 20, 0x00000001, 'd', "GPIO 20 level" }, | ||
354 | { "GPLR0_21", 0x40E00000, 21, 0x00000001, 'd', "GPIO 21 level" }, | ||
355 | { "GPLR0_22", 0x40E00000, 22, 0x00000001, 'd', "GPIO 22 level" }, | ||
356 | { "GPLR0_23", 0x40E00000, 23, 0x00000001, 'd', "GPIO 23 level" }, | ||
357 | { "GPLR0_24", 0x40E00000, 24, 0x00000001, 'd', "GPIO 24 level" }, | ||
358 | { "GPLR0_25", 0x40E00000, 25, 0x00000001, 'd', "GPIO 25 level" }, | ||
359 | { "GPLR0_26", 0x40E00000, 26, 0x00000001, 'd', "GPIO 26 level" }, | ||
360 | { "GPLR0_27", 0x40E00000, 27, 0x00000001, 'd', "GPIO 27 level" }, | ||
361 | { "GPLR0_28", 0x40E00000, 28, 0x00000001, 'd', "GPIO 28 level" }, | ||
362 | { "GPLR0_29", 0x40E00000, 29, 0x00000001, 'd', "GPIO 29 level" }, | ||
363 | { "GPLR0_30", 0x40E00000, 30, 0x00000001, 'd', "GPIO 30 level" }, | ||
364 | { "GPLR0_31", 0x40E00000, 31, 0x00000001, 'd', "GPIO 31 level" }, | ||
365 | #endif | ||
366 | |||
367 | { "GPLR1", 0x40E00004, 0, 0xffffffff, 'x', "GPIO Level Register 1 (4-8)" }, | ||
368 | #if defined(CONFIG_ARCH_RAMSES) | ||
369 | { "GPLR1_32", 0x40E00004, 0, 0x00000001, 'd', "GPIO 32 (AUD_SDIN1) level" }, | ||
370 | { "GPLR1_33", 0x40E00004, 1, 0x00000001, 'd', "GPIO 33 (nCS5) level" }, | ||
371 | { "GPLR1_34", 0x40E00004, 2, 0x00000001, 'd', "GPIO 34 (FF_RXD) level" }, | ||
372 | { "GPLR1_35", 0x40E00004, 3, 0x00000001, 'd', "GPIO 35 (FF_CTS) level" }, | ||
373 | { "GPLR1_36", 0x40E00004, 4, 0x00000001, 'd', "GPIO 36 (FF_DCD) level" }, | ||
374 | { "GPLR1_37", 0x40E00004, 5, 0x00000001, 'd', "GPIO 37 (FF_DSR) level" }, | ||
375 | { "GPLR1_38", 0x40E00004, 6, 0x00000001, 'd', "GPIO 38 (FF_RI) level" }, | ||
376 | { "GPLR1_39", 0x40E00004, 7, 0x00000001, 'd', "GPIO 39 (FF_TXD) level" }, | ||
377 | { "GPLR1_40", 0x40E00004, 8, 0x00000001, 'd', "GPIO 40 (FF_DTR) level" }, | ||
378 | { "GPLR1_41", 0x40E00004, 9, 0x00000001, 'd', "GPIO 41 (FF_RTS) level" }, | ||
379 | { "GPLR1_42", 0x40E00004, 10, 0x00000001, 'd', "GPIO 42 (BT_RXD) level" }, | ||
380 | { "GPLR1_43", 0x40E00004, 11, 0x00000001, 'd', "GPIO 43 (BT_TXD) level" }, | ||
381 | { "GPLR1_44", 0x40E00004, 12, 0x00000001, 'd', "GPIO 44 (BT_CTS) level" }, | ||
382 | { "GPLR1_45", 0x40E00004, 13, 0x00000001, 'd', "GPIO 45 (BT_RTS) level" }, | ||
383 | { "GPLR1_46", 0x40E00004, 14, 0x00000001, 'd', "GPIO 46 (IR_RXD) level" }, | ||
384 | { "GPLR1_47", 0x40E00004, 15, 0x00000001, 'd', "GPIO 47 (IR_TXD) level" }, | ||
385 | { "GPLR1_48", 0x40E00004, 16, 0x00000001, 'd', "GPIO 48 (nPOE) level" }, | ||
386 | { "GPLR1_49", 0x40E00004, 17, 0x00000001, 'd', "GPIO 49 (nPWE) level" }, | ||
387 | { "GPLR1_50", 0x40E00004, 18, 0x00000001, 'd', "GPIO 50 (nPIOR) level" }, | ||
388 | { "GPLR1_51", 0x40E00004, 19, 0x00000001, 'd', "GPIO 51 (nPIOW) level" }, | ||
389 | { "GPLR1_52", 0x40E00004, 20, 0x00000001, 'd', "GPIO 52 (nPCE1) level" }, | ||
390 | { "GPLR1_53", 0x40E00004, 21, 0x00000001, 'd', "GPIO 53 (nPCE2) level" }, | ||
391 | { "GPLR1_54", 0x40E00004, 22, 0x00000001, 'd', "GPIO 54 (nPKTSEL) level" }, | ||
392 | { "GPLR1_55", 0x40E00004, 23, 0x00000001, 'd', "GPIO 55 (nPREG) level" }, | ||
393 | { "GPLR1_56", 0x40E00004, 24, 0x00000001, 'd', "GPIO 56 (nPWAIT) level" }, | ||
394 | { "GPLR1_57", 0x40E00004, 25, 0x00000001, 'd', "GPIO 57 (nIOIS16) level" }, | ||
395 | { "GPLR1_58", 0x40E00004, 26, 0x00000001, 'd', "GPIO 58 (LDD0) level" }, | ||
396 | { "GPLR1_59", 0x40E00004, 27, 0x00000001, 'd', "GPIO 59 (LDD1) level" }, | ||
397 | { "GPLR1_60", 0x40E00004, 28, 0x00000001, 'd', "GPIO 60 (LDD2) level" }, | ||
398 | { "GPLR1_61", 0x40E00004, 29, 0x00000001, 'd', "GPIO 61 (LDD3) level" }, | ||
399 | { "GPLR1_62", 0x40E00004, 30, 0x00000001, 'd', "GPIO 62 (LDD4) level" }, | ||
400 | { "GPLR1_63", 0x40E00004, 31, 0x00000001, 'd', "GPIO 63 (LDD5) level" }, | ||
401 | #else | ||
402 | { "GPLR1_32", 0x40E00004, 0, 0x00000001, 'd', "GPIO 32 level" }, | ||
403 | { "GPLR1_33", 0x40E00004, 1, 0x00000001, 'd', "GPIO 33 level" }, | ||
404 | { "GPLR1_34", 0x40E00004, 2, 0x00000001, 'd', "GPIO 34 level" }, | ||
405 | { "GPLR1_35", 0x40E00004, 3, 0x00000001, 'd', "GPIO 35 level" }, | ||
406 | { "GPLR1_36", 0x40E00004, 4, 0x00000001, 'd', "GPIO 36 level" }, | ||
407 | { "GPLR1_37", 0x40E00004, 5, 0x00000001, 'd', "GPIO 37 level" }, | ||
408 | { "GPLR1_38", 0x40E00004, 6, 0x00000001, 'd', "GPIO 38 level" }, | ||
409 | { "GPLR1_39", 0x40E00004, 7, 0x00000001, 'd', "GPIO 39 level" }, | ||
410 | { "GPLR1_40", 0x40E00004, 8, 0x00000001, 'd', "GPIO 40 level" }, | ||
411 | { "GPLR1_41", 0x40E00004, 9, 0x00000001, 'd', "GPIO 41 level" }, | ||
412 | { "GPLR1_42", 0x40E00004, 10, 0x00000001, 'd', "GPIO 42 level" }, | ||
413 | { "GPLR1_43", 0x40E00004, 11, 0x00000001, 'd', "GPIO 43 level" }, | ||
414 | { "GPLR1_44", 0x40E00004, 12, 0x00000001, 'd', "GPIO 44 level" }, | ||
415 | { "GPLR1_45", 0x40E00004, 13, 0x00000001, 'd', "GPIO 45 level" }, | ||
416 | { "GPLR1_46", 0x40E00004, 14, 0x00000001, 'd', "GPIO 46 level" }, | ||
417 | { "GPLR1_47", 0x40E00004, 15, 0x00000001, 'd', "GPIO 47 level" }, | ||
418 | { "GPLR1_48", 0x40E00004, 16, 0x00000001, 'd', "GPIO 48 level" }, | ||
419 | { "GPLR1_49", 0x40E00004, 17, 0x00000001, 'd', "GPIO 49 level" }, | ||
420 | { "GPLR1_50", 0x40E00004, 18, 0x00000001, 'd', "GPIO 50 level" }, | ||
421 | { "GPLR1_51", 0x40E00004, 19, 0x00000001, 'd', "GPIO 51 level" }, | ||
422 | { "GPLR1_52", 0x40E00004, 20, 0x00000001, 'd', "GPIO 52 level" }, | ||
423 | { "GPLR1_53", 0x40E00004, 21, 0x00000001, 'd', "GPIO 53 level" }, | ||
424 | { "GPLR1_54", 0x40E00004, 22, 0x00000001, 'd', "GPIO 54 level" }, | ||
425 | { "GPLR1_55", 0x40E00004, 23, 0x00000001, 'd', "GPIO 55 level" }, | ||
426 | { "GPLR1_56", 0x40E00004, 24, 0x00000001, 'd', "GPIO 56 level" }, | ||
427 | { "GPLR1_57", 0x40E00004, 25, 0x00000001, 'd', "GPIO 57 level" }, | ||
428 | { "GPLR1_58", 0x40E00004, 26, 0x00000001, 'd', "GPIO 58 level" }, | ||
429 | { "GPLR1_59", 0x40E00004, 27, 0x00000001, 'd', "GPIO 59 level" }, | ||
430 | { "GPLR1_60", 0x40E00004, 28, 0x00000001, 'd', "GPIO 60 level" }, | ||
431 | { "GPLR1_61", 0x40E00004, 29, 0x00000001, 'd', "GPIO 61 level" }, | ||
432 | { "GPLR1_62", 0x40E00004, 30, 0x00000001, 'd', "GPIO 62 level" }, | ||
433 | { "GPLR1_63", 0x40E00004, 31, 0x00000001, 'd', "GPIO 63 level" }, | ||
434 | #endif | ||
435 | |||
436 | { "GPLR2", 0x40E00008, 0, 0xffffffff, 'x', "GPIO Level Register 2 (4-8)" }, | ||
437 | #if defined(CONFIG_ARCH_RAMSES) | ||
438 | { "GPLR2_64", 0x40E00008, 0, 0x00000001, 'd', "GPIO 64 (LDD6) level" }, | ||
439 | { "GPLR2_65", 0x40E00008, 1, 0x00000001, 'd', "GPIO 65 (LDD7) level" }, | ||
440 | { "GPLR2_66", 0x40E00008, 2, 0x00000001, 'd', "GPIO 66 (nc) level" }, | ||
441 | { "GPLR2_67", 0x40E00008, 3, 0x00000001, 'd', "GPIO 67 (nc) level" }, | ||
442 | { "GPLR2_68", 0x40E00008, 4, 0x00000001, 'd', "GPIO 68 (nc) level" }, | ||
443 | { "GPLR2_69", 0x40E00008, 5, 0x00000001, 'd', "GPIO 69 (nc) level" }, | ||
444 | { "GPLR2_70", 0x40E00008, 6, 0x00000001, 'd', "GPIO 70 (nc) level" }, | ||
445 | { "GPLR2_71", 0x40E00008, 7, 0x00000001, 'd', "GPIO 71 (nc) level" }, | ||
446 | { "GPLR2_72", 0x40E00008, 8, 0x00000001, 'd', "GPIO 72 (nc) level" }, | ||
447 | { "GPLR2_73", 0x40E00008, 9, 0x00000001, 'd', "GPIO 73 (nc) level" }, | ||
448 | { "GPLR2_74", 0x40E00008, 10, 0x00000001, 'd', "GPIO 74 (FCLK) level" }, | ||
449 | { "GPLR2_75", 0x40E00008, 11, 0x00000001, 'd', "GPIO 75 (LCLK) level" }, | ||
450 | { "GPLR2_76", 0x40E00008, 12, 0x00000001, 'd', "GPIO 76 (PCLK) level" }, | ||
451 | { "GPLR2_77", 0x40E00008, 13, 0x00000001, 'd', "GPIO 77 (BIAS) level" }, | ||
452 | { "GPLR2_78", 0x40E00008, 14, 0x00000001, 'd', "GPIO 78 (nCS2) level" }, | ||
453 | { "GPLR2_79", 0x40E00008, 15, 0x00000001, 'd', "GPIO 79 (nCS3) level" }, | ||
454 | { "GPLR2_80", 0x40E00008, 16, 0x00000001, 'd', "GPIO 80 (nCS4) level" }, | ||
455 | { "GPLR2_81", 0x40E00008, 17, 0x00000001, 'd', "GPIO 81 (nc) level" }, | ||
456 | { "GPLR2_82", 0x40E00008, 18, 0x00000001, 'd', "GPIO 82 (nc) level" }, | ||
457 | { "GPLR2_83", 0x40E00008, 19, 0x00000001, 'd', "GPIO 83 (nc) level" }, | ||
458 | { "GPLR2_84", 0x40E00008, 20, 0x00000001, 'd', "GPIO 84 (nc) level" }, | ||
459 | #else | ||
460 | { "GPLR2_64", 0x40E00008, 0, 0x00000001, 'd', "GPIO 64 level" }, | ||
461 | { "GPLR2_65", 0x40E00008, 1, 0x00000001, 'd', "GPIO 65 level" }, | ||
462 | { "GPLR2_66", 0x40E00008, 2, 0x00000001, 'd', "GPIO 66 level" }, | ||
463 | { "GPLR2_67", 0x40E00008, 3, 0x00000001, 'd', "GPIO 67 level" }, | ||
464 | { "GPLR2_68", 0x40E00008, 4, 0x00000001, 'd', "GPIO 68 level" }, | ||
465 | { "GPLR2_69", 0x40E00008, 5, 0x00000001, 'd', "GPIO 69 level" }, | ||
466 | { "GPLR2_70", 0x40E00008, 6, 0x00000001, 'd', "GPIO 70 level" }, | ||
467 | { "GPLR2_71", 0x40E00008, 7, 0x00000001, 'd', "GPIO 71 level" }, | ||
468 | { "GPLR2_72", 0x40E00008, 8, 0x00000001, 'd', "GPIO 72 level" }, | ||
469 | { "GPLR2_73", 0x40E00008, 9, 0x00000001, 'd', "GPIO 73 level" }, | ||
470 | { "GPLR2_74", 0x40E00008, 10, 0x00000001, 'd', "GPIO 74 level" }, | ||
471 | { "GPLR2_75", 0x40E00008, 11, 0x00000001, 'd', "GPIO 75 level" }, | ||
472 | { "GPLR2_76", 0x40E00008, 12, 0x00000001, 'd', "GPIO 76 level" }, | ||
473 | { "GPLR2_77", 0x40E00008, 13, 0x00000001, 'd', "GPIO 77 level" }, | ||
474 | { "GPLR2_78", 0x40E00008, 14, 0x00000001, 'd', "GPIO 78 level" }, | ||
475 | { "GPLR2_79", 0x40E00008, 15, 0x00000001, 'd', "GPIO 79 level" }, | ||
476 | { "GPLR2_80", 0x40E00008, 16, 0x00000001, 'd', "GPIO 80 level" }, | ||
477 | { "GPLR2_81", 0x40E00008, 17, 0x00000001, 'd', "GPIO 81 level" }, | ||
478 | { "GPLR2_82", 0x40E00008, 18, 0x00000001, 'd', "GPIO 82 level" }, | ||
479 | { "GPLR2_83", 0x40E00008, 19, 0x00000001, 'd', "GPIO 83 level" }, | ||
480 | { "GPLR2_84", 0x40E00008, 20, 0x00000001, 'd', "GPIO 84 level" }, | ||
481 | #endif | ||
482 | |||
483 | { "GPDR0", 0x40E0000C, 0, 0xffffffff, 'x', "GPIO Direction Register 0 (4-9)" }, | ||
484 | { "GPDR0_0", 0x40E0000C, 0, 0x00000001, 'd', "GPIO 0 i/o direction (1=output)" }, | ||
485 | { "GPDR0_1", 0x40E0000C, 1, 0x00000001, 'd', "GPIO 1 i/o direction (1=output)" }, | ||
486 | { "GPDR0_2", 0x40E0000C, 2, 0x00000001, 'd', "GPIO 2 i/o direction (1=output)" }, | ||
487 | { "GPDR0_3", 0x40E0000C, 3, 0x00000001, 'd', "GPIO 3 i/o direction (1=output)" }, | ||
488 | { "GPDR0_4", 0x40E0000C, 4, 0x00000001, 'd', "GPIO 4 i/o direction (1=output)" }, | ||
489 | { "GPDR0_5", 0x40E0000C, 5, 0x00000001, 'd', "GPIO 5 i/o direction (1=output)" }, | ||
490 | { "GPDR0_6", 0x40E0000C, 6, 0x00000001, 'd', "GPIO 6 i/o direction (1=output)" }, | ||
491 | { "GPDR0_7", 0x40E0000C, 7, 0x00000001, 'd', "GPIO 7 i/o direction (1=output)" }, | ||
492 | { "GPDR0_8", 0x40E0000C, 8, 0x00000001, 'd', "GPIO 8 i/o direction (1=output)" }, | ||
493 | { "GPDR0_9", 0x40E0000C, 9, 0x00000001, 'd', "GPIO 9 i/o direction (1=output)" }, | ||
494 | { "GPDR0_10", 0x40E0000C, 10, 0x00000001, 'd', "GPIO 10 i/o direction (1=output)" }, | ||
495 | { "GPDR0_11", 0x40E0000C, 11, 0x00000001, 'd', "GPIO 11 i/o direction (1=output)" }, | ||
496 | { "GPDR0_12", 0x40E0000C, 12, 0x00000001, 'd', "GPIO 12 i/o direction (1=output)" }, | ||
497 | { "GPDR0_13", 0x40E0000C, 13, 0x00000001, 'd', "GPIO 13 i/o direction (1=output)" }, | ||
498 | { "GPDR0_14", 0x40E0000C, 14, 0x00000001, 'd', "GPIO 14 i/o direction (1=output)" }, | ||
499 | { "GPDR0_15", 0x40E0000C, 15, 0x00000001, 'd', "GPIO 15 i/o direction (1=output)" }, | ||
500 | { "GPDR0_16", 0x40E0000C, 16, 0x00000001, 'd', "GPIO 16 i/o direction (1=output)" }, | ||
501 | { "GPDR0_17", 0x40E0000C, 17, 0x00000001, 'd', "GPIO 17 i/o direction (1=output)" }, | ||
502 | { "GPDR0_18", 0x40E0000C, 18, 0x00000001, 'd', "GPIO 18 i/o direction (1=output)" }, | ||
503 | { "GPDR0_19", 0x40E0000C, 19, 0x00000001, 'd', "GPIO 19 i/o direction (1=output)" }, | ||
504 | { "GPDR0_20", 0x40E0000C, 20, 0x00000001, 'd', "GPIO 20 i/o direction (1=output)" }, | ||
505 | { "GPDR0_21", 0x40E0000C, 21, 0x00000001, 'd', "GPIO 21 i/o direction (1=output)" }, | ||
506 | { "GPDR0_22", 0x40E0000C, 22, 0x00000001, 'd', "GPIO 22 i/o direction (1=output)" }, | ||
507 | { "GPDR0_23", 0x40E0000C, 23, 0x00000001, 'd', "GPIO 23 i/o direction (1=output)" }, | ||
508 | { "GPDR0_24", 0x40E0000C, 24, 0x00000001, 'd', "GPIO 24 i/o direction (1=output)" }, | ||
509 | { "GPDR0_25", 0x40E0000C, 25, 0x00000001, 'd', "GPIO 25 i/o direction (1=output)" }, | ||
510 | { "GPDR0_26", 0x40E0000C, 26, 0x00000001, 'd', "GPIO 26 i/o direction (1=output)" }, | ||
511 | { "GPDR0_27", 0x40E0000C, 27, 0x00000001, 'd', "GPIO 27 i/o direction (1=output)" }, | ||
512 | { "GPDR0_28", 0x40E0000C, 28, 0x00000001, 'd', "GPIO 28 i/o direction (1=output)" }, | ||
513 | { "GPDR0_29", 0x40E0000C, 29, 0x00000001, 'd', "GPIO 29 i/o direction (1=output)" }, | ||
514 | { "GPDR0_30", 0x40E0000C, 30, 0x00000001, 'd', "GPIO 30 i/o direction (1=output)" }, | ||
515 | { "GPDR0_31", 0x40E0000C, 31, 0x00000001, 'd', "GPIO 31 i/o direction (1=output)" }, | ||
516 | |||
517 | { "GPDR1", 0x40E00010, 0, 0xffffffff, 'x', "GPIO Direction Register 1 (4-9)" }, | ||
518 | { "GPDR1_32", 0x40E00010, 0, 0x00000001, 'd', "GPIO 32 i/o direction (1=output)" }, | ||
519 | { "GPDR1_33", 0x40E00010, 1, 0x00000001, 'd', "GPIO 33 i/o direction (1=output)" }, | ||
520 | { "GPDR1_34", 0x40E00010, 2, 0x00000001, 'd', "GPIO 34 i/o direction (1=output)" }, | ||
521 | { "GPDR1_35", 0x40E00010, 3, 0x00000001, 'd', "GPIO 35 i/o direction (1=output)" }, | ||
522 | { "GPDR1_36", 0x40E00010, 4, 0x00000001, 'd', "GPIO 36 i/o direction (1=output)" }, | ||
523 | { "GPDR1_37", 0x40E00010, 5, 0x00000001, 'd', "GPIO 37 i/o direction (1=output)" }, | ||
524 | { "GPDR1_38", 0x40E00010, 6, 0x00000001, 'd', "GPIO 38 i/o direction (1=output)" }, | ||
525 | { "GPDR1_39", 0x40E00010, 7, 0x00000001, 'd', "GPIO 39 i/o direction (1=output)" }, | ||
526 | { "GPDR1_40", 0x40E00010, 8, 0x00000001, 'd', "GPIO 40 i/o direction (1=output)" }, | ||
527 | { "GPDR1_41", 0x40E00010, 9, 0x00000001, 'd', "GPIO 41 i/o direction (1=output)" }, | ||
528 | { "GPDR1_42", 0x40E00010, 10, 0x00000001, 'd', "GPIO 42 i/o direction (1=output)" }, | ||
529 | { "GPDR1_43", 0x40E00010, 11, 0x00000001, 'd', "GPIO 43 i/o direction (1=output)" }, | ||
530 | { "GPDR1_44", 0x40E00010, 12, 0x00000001, 'd', "GPIO 44 i/o direction (1=output)" }, | ||
531 | { "GPDR1_45", 0x40E00010, 13, 0x00000001, 'd', "GPIO 45 i/o direction (1=output)" }, | ||
532 | { "GPDR1_46", 0x40E00010, 14, 0x00000001, 'd', "GPIO 46 i/o direction (1=output)" }, | ||
533 | { "GPDR1_47", 0x40E00010, 15, 0x00000001, 'd', "GPIO 47 i/o direction (1=output)" }, | ||
534 | { "GPDR1_48", 0x40E00010, 16, 0x00000001, 'd', "GPIO 48 i/o direction (1=output)" }, | ||
535 | { "GPDR1_49", 0x40E00010, 17, 0x00000001, 'd', "GPIO 49 i/o direction (1=output)" }, | ||
536 | { "GPDR1_50", 0x40E00010, 18, 0x00000001, 'd', "GPIO 50 i/o direction (1=output)" }, | ||
537 | { "GPDR1_51", 0x40E00010, 19, 0x00000001, 'd', "GPIO 51 i/o direction (1=output)" }, | ||
538 | { "GPDR1_52", 0x40E00010, 20, 0x00000001, 'd', "GPIO 52 i/o direction (1=output)" }, | ||
539 | { "GPDR1_53", 0x40E00010, 21, 0x00000001, 'd', "GPIO 53 i/o direction (1=output)" }, | ||
540 | { "GPDR1_54", 0x40E00010, 22, 0x00000001, 'd', "GPIO 54 i/o direction (1=output)" }, | ||
541 | { "GPDR1_55", 0x40E00010, 23, 0x00000001, 'd', "GPIO 55 i/o direction (1=output)" }, | ||
542 | { "GPDR1_56", 0x40E00010, 24, 0x00000001, 'd', "GPIO 56 i/o direction (1=output)" }, | ||
543 | { "GPDR1_57", 0x40E00010, 25, 0x00000001, 'd', "GPIO 57 i/o direction (1=output)" }, | ||
544 | { "GPDR1_58", 0x40E00010, 26, 0x00000001, 'd', "GPIO 58 i/o direction (1=output)" }, | ||
545 | { "GPDR1_59", 0x40E00010, 27, 0x00000001, 'd', "GPIO 59 i/o direction (1=output)" }, | ||
546 | { "GPDR1_60", 0x40E00010, 28, 0x00000001, 'd', "GPIO 60 i/o direction (1=output)" }, | ||
547 | { "GPDR1_61", 0x40E00010, 29, 0x00000001, 'd', "GPIO 61 i/o direction (1=output)" }, | ||
548 | { "GPDR1_62", 0x40E00010, 30, 0x00000001, 'd', "GPIO 62 i/o direction (1=output)" }, | ||
549 | { "GPDR1_63", 0x40E00010, 31, 0x00000001, 'd', "GPIO 63 i/o direction (1=output)" }, | ||
550 | |||
551 | { "GPDR2", 0x40E00014, 0, 0xffffffff, 'x', "GPIO Direction Register 2 (4-9)" }, | ||
552 | { "GPDR2_64", 0x40E00014, 0, 0x00000001, 'd', "GPIO 64 i/o direction (1=output)" }, | ||
553 | { "GPDR2_65", 0x40E00014, 1, 0x00000001, 'd', "GPIO 65 i/o direction (1=output)" }, | ||
554 | { "GPDR2_66", 0x40E00014, 2, 0x00000001, 'd', "GPIO 66 i/o direction (1=output)" }, | ||
555 | { "GPDR2_67", 0x40E00014, 3, 0x00000001, 'd', "GPIO 67 i/o direction (1=output)" }, | ||
556 | { "GPDR2_68", 0x40E00014, 4, 0x00000001, 'd', "GPIO 68 i/o direction (1=output)" }, | ||
557 | { "GPDR2_69", 0x40E00014, 5, 0x00000001, 'd', "GPIO 69 i/o direction (1=output)" }, | ||
558 | { "GPDR2_70", 0x40E00014, 6, 0x00000001, 'd', "GPIO 70 i/o direction (1=output)" }, | ||
559 | { "GPDR2_71", 0x40E00014, 7, 0x00000001, 'd', "GPIO 71 i/o direction (1=output)" }, | ||
560 | { "GPDR2_72", 0x40E00014, 8, 0x00000001, 'd', "GPIO 72 i/o direction (1=output)" }, | ||
561 | { "GPDR2_73", 0x40E00014, 9, 0x00000001, 'd', "GPIO 73 i/o direction (1=output)" }, | ||
562 | { "GPDR2_74", 0x40E00014, 10, 0x00000001, 'd', "GPIO 74 i/o direction (1=output)" }, | ||
563 | { "GPDR2_75", 0x40E00014, 11, 0x00000001, 'd', "GPIO 75 i/o direction (1=output)" }, | ||
564 | { "GPDR2_76", 0x40E00014, 12, 0x00000001, 'd', "GPIO 76 i/o direction (1=output)" }, | ||
565 | { "GPDR2_77", 0x40E00014, 13, 0x00000001, 'd', "GPIO 77 i/o direction (1=output)" }, | ||
566 | { "GPDR2_78", 0x40E00014, 14, 0x00000001, 'd', "GPIO 78 i/o direction (1=output)" }, | ||
567 | { "GPDR2_79", 0x40E00014, 15, 0x00000001, 'd', "GPIO 79 i/o direction (1=output)" }, | ||
568 | { "GPDR2_80", 0x40E00014, 16, 0x00000001, 'd', "GPIO 80 i/o direction (1=output)" }, | ||
569 | { "GPDR2_81", 0x40E00014, 17, 0x00000001, 'd', "GPIO 81 i/o direction (1=output)" }, | ||
570 | { "GPDR2_82", 0x40E00014, 18, 0x00000001, 'd', "GPIO 82 i/o direction (1=output)" }, | ||
571 | { "GPDR2_83", 0x40E00014, 19, 0x00000001, 'd', "GPIO 83 i/o direction (1=output)" }, | ||
572 | { "GPDR2_84", 0x40E00014, 20, 0x00000001, 'd', "GPIO 84 i/o direction (1=output)" }, | ||
573 | |||
574 | { "GPSR0", 0x40E00018, 0, 0xffffffff, 'x', "GPIO Set Register 0 (4-10)" }, | ||
575 | { "GPSR0_0", 0x40E00018, 0, 0x00000001, 'd', "GPIO 0 set" }, | ||
576 | { "GPSR0_1", 0x40E00018, 1, 0x00000001, 'd', "GPIO 1 set" }, | ||
577 | { "GPSR0_2", 0x40E00018, 2, 0x00000001, 'd', "GPIO 2 set" }, | ||
578 | { "GPSR0_3", 0x40E00018, 3, 0x00000001, 'd', "GPIO 3 set" }, | ||
579 | { "GPSR0_4", 0x40E00018, 4, 0x00000001, 'd', "GPIO 4 set" }, | ||
580 | { "GPSR0_5", 0x40E00018, 5, 0x00000001, 'd', "GPIO 5 set" }, | ||
581 | { "GPSR0_6", 0x40E00018, 6, 0x00000001, 'd', "GPIO 6 set" }, | ||
582 | { "GPSR0_7", 0x40E00018, 7, 0x00000001, 'd', "GPIO 7 set" }, | ||
583 | { "GPSR0_8", 0x40E00018, 8, 0x00000001, 'd', "GPIO 8 set" }, | ||
584 | { "GPSR0_9", 0x40E00018, 9, 0x00000001, 'd', "GPIO 9 set" }, | ||
585 | { "GPSR0_10", 0x40E00018, 10, 0x00000001, 'd', "GPIO 10 set" }, | ||
586 | { "GPSR0_11", 0x40E00018, 11, 0x00000001, 'd', "GPIO 11 set" }, | ||
587 | { "GPSR0_12", 0x40E00018, 12, 0x00000001, 'd', "GPIO 12 set" }, | ||
588 | { "GPSR0_13", 0x40E00018, 13, 0x00000001, 'd', "GPIO 13 set" }, | ||
589 | { "GPSR0_14", 0x40E00018, 14, 0x00000001, 'd', "GPIO 14 set" }, | ||
590 | { "GPSR0_15", 0x40E00018, 15, 0x00000001, 'd', "GPIO 15 set" }, | ||
591 | { "GPSR0_16", 0x40E00018, 16, 0x00000001, 'd', "GPIO 16 set" }, | ||
592 | { "GPSR0_17", 0x40E00018, 17, 0x00000001, 'd', "GPIO 17 set" }, | ||
593 | { "GPSR0_18", 0x40E00018, 18, 0x00000001, 'd', "GPIO 18 set" }, | ||
594 | { "GPSR0_19", 0x40E00018, 19, 0x00000001, 'd', "GPIO 19 set" }, | ||
595 | { "GPSR0_20", 0x40E00018, 20, 0x00000001, 'd', "GPIO 20 set" }, | ||
596 | { "GPSR0_21", 0x40E00018, 21, 0x00000001, 'd', "GPIO 21 set" }, | ||
597 | { "GPSR0_22", 0x40E00018, 22, 0x00000001, 'd', "GPIO 22 set" }, | ||
598 | { "GPSR0_23", 0x40E00018, 23, 0x00000001, 'd', "GPIO 23 set" }, | ||
599 | { "GPSR0_24", 0x40E00018, 24, 0x00000001, 'd', "GPIO 24 set" }, | ||
600 | { "GPSR0_25", 0x40E00018, 25, 0x00000001, 'd', "GPIO 25 set" }, | ||
601 | { "GPSR0_26", 0x40E00018, 26, 0x00000001, 'd', "GPIO 26 set" }, | ||
602 | { "GPSR0_27", 0x40E00018, 27, 0x00000001, 'd', "GPIO 27 set" }, | ||
603 | { "GPSR0_28", 0x40E00018, 28, 0x00000001, 'd', "GPIO 28 set" }, | ||
604 | { "GPSR0_29", 0x40E00018, 29, 0x00000001, 'd', "GPIO 29 set" }, | ||
605 | { "GPSR0_30", 0x40E00018, 30, 0x00000001, 'd', "GPIO 30 set" }, | ||
606 | { "GPSR0_31", 0x40E00018, 31, 0x00000001, 'd', "GPIO 31 set" }, | ||
607 | |||
608 | { "GPSR1", 0x40E0001C, 0, 0xffffffff, 'x', "GPIO Set Register 1 (4-10)" }, | ||
609 | { "GPSR1_32", 0x40E0001C, 0, 0x00000001, 'd', "GPIO 32 set" }, | ||
610 | { "GPSR1_33", 0x40E0001C, 1, 0x00000001, 'd', "GPIO 33 set" }, | ||
611 | { "GPSR1_34", 0x40E0001C, 2, 0x00000001, 'd', "GPIO 34 set" }, | ||
612 | { "GPSR1_35", 0x40E0001C, 3, 0x00000001, 'd', "GPIO 35 set" }, | ||
613 | { "GPSR1_36", 0x40E0001C, 4, 0x00000001, 'd', "GPIO 36 set" }, | ||
614 | { "GPSR1_37", 0x40E0001C, 5, 0x00000001, 'd', "GPIO 37 set" }, | ||
615 | { "GPSR1_38", 0x40E0001C, 6, 0x00000001, 'd', "GPIO 38 set" }, | ||
616 | { "GPSR1_39", 0x40E0001C, 7, 0x00000001, 'd', "GPIO 39 set" }, | ||
617 | { "GPSR1_40", 0x40E0001C, 8, 0x00000001, 'd', "GPIO 40 set" }, | ||
618 | { "GPSR1_41", 0x40E0001C, 9, 0x00000001, 'd', "GPIO 41 set" }, | ||
619 | { "GPSR1_42", 0x40E0001C, 10, 0x00000001, 'd', "GPIO 42 set" }, | ||
620 | { "GPSR1_43", 0x40E0001C, 11, 0x00000001, 'd', "GPIO 43 set" }, | ||
621 | { "GPSR1_44", 0x40E0001C, 12, 0x00000001, 'd', "GPIO 44 set" }, | ||
622 | { "GPSR1_45", 0x40E0001C, 13, 0x00000001, 'd', "GPIO 45 set" }, | ||
623 | { "GPSR1_46", 0x40E0001C, 14, 0x00000001, 'd', "GPIO 46 set" }, | ||
624 | { "GPSR1_47", 0x40E0001C, 15, 0x00000001, 'd', "GPIO 47 set" }, | ||
625 | { "GPSR1_48", 0x40E0001C, 16, 0x00000001, 'd', "GPIO 48 set" }, | ||
626 | { "GPSR1_49", 0x40E0001C, 17, 0x00000001, 'd', "GPIO 49 set" }, | ||
627 | { "GPSR1_50", 0x40E0001C, 18, 0x00000001, 'd', "GPIO 50 set" }, | ||
628 | { "GPSR1_51", 0x40E0001C, 19, 0x00000001, 'd', "GPIO 51 set" }, | ||
629 | { "GPSR1_52", 0x40E0001C, 20, 0x00000001, 'd', "GPIO 52 set" }, | ||
630 | { "GPSR1_53", 0x40E0001C, 21, 0x00000001, 'd', "GPIO 53 set" }, | ||
631 | { "GPSR1_54", 0x40E0001C, 22, 0x00000001, 'd', "GPIO 54 set" }, | ||
632 | { "GPSR1_55", 0x40E0001C, 23, 0x00000001, 'd', "GPIO 55 set" }, | ||
633 | { "GPSR1_56", 0x40E0001C, 24, 0x00000001, 'd', "GPIO 56 set" }, | ||
634 | { "GPSR1_57", 0x40E0001C, 25, 0x00000001, 'd', "GPIO 57 set" }, | ||
635 | { "GPSR1_58", 0x40E0001C, 26, 0x00000001, 'd', "GPIO 58 set" }, | ||
636 | { "GPSR1_59", 0x40E0001C, 27, 0x00000001, 'd', "GPIO 59 set" }, | ||
637 | { "GPSR1_60", 0x40E0001C, 28, 0x00000001, 'd', "GPIO 60 set" }, | ||
638 | { "GPSR1_61", 0x40E0001C, 29, 0x00000001, 'd', "GPIO 61 set" }, | ||
639 | { "GPSR1_62", 0x40E0001C, 30, 0x00000001, 'd', "GPIO 62 set" }, | ||
640 | { "GPSR1_63", 0x40E0001C, 31, 0x00000001, 'd', "GPIO 63 set" }, | ||
641 | |||
642 | { "GPSR2", 0x40E00020, 0, 0xffffffff, 'x', "GPIO Set Register 2 (4-11)" }, | ||
643 | { "GPSR2_64", 0x40E00020, 0, 0x00000001, 'd', "GPIO 64 set" }, | ||
644 | { "GPSR2_65", 0x40E00020, 1, 0x00000001, 'd', "GPIO 65 set" }, | ||
645 | { "GPSR2_66", 0x40E00020, 2, 0x00000001, 'd', "GPIO 66 set" }, | ||
646 | { "GPSR2_67", 0x40E00020, 3, 0x00000001, 'd', "GPIO 67 set" }, | ||
647 | { "GPSR2_68", 0x40E00020, 4, 0x00000001, 'd', "GPIO 68 set" }, | ||
648 | { "GPSR2_69", 0x40E00020, 5, 0x00000001, 'd', "GPIO 69 set" }, | ||
649 | { "GPSR2_70", 0x40E00020, 6, 0x00000001, 'd', "GPIO 70 set" }, | ||
650 | { "GPSR2_71", 0x40E00020, 7, 0x00000001, 'd', "GPIO 71 set" }, | ||
651 | { "GPSR2_72", 0x40E00020, 8, 0x00000001, 'd', "GPIO 72 set" }, | ||
652 | { "GPSR2_73", 0x40E00020, 9, 0x00000001, 'd', "GPIO 73 set" }, | ||
653 | { "GPSR2_74", 0x40E00020, 10, 0x00000001, 'd', "GPIO 74 set" }, | ||
654 | { "GPSR2_75", 0x40E00020, 11, 0x00000001, 'd', "GPIO 75 set" }, | ||
655 | { "GPSR2_76", 0x40E00020, 12, 0x00000001, 'd', "GPIO 76 set" }, | ||
656 | { "GPSR2_77", 0x40E00020, 13, 0x00000001, 'd', "GPIO 77 set" }, | ||
657 | { "GPSR2_78", 0x40E00020, 14, 0x00000001, 'd', "GPIO 78 set" }, | ||
658 | { "GPSR2_79", 0x40E00020, 15, 0x00000001, 'd', "GPIO 79 set" }, | ||
659 | { "GPSR2_80", 0x40E00020, 16, 0x00000001, 'd', "GPIO 80 set" }, | ||
660 | { "GPSR2_81", 0x40E00020, 17, 0x00000001, 'd', "GPIO 81 set" }, | ||
661 | { "GPSR2_82", 0x40E00020, 18, 0x00000001, 'd', "GPIO 82 set" }, | ||
662 | { "GPSR2_83", 0x40E00020, 19, 0x00000001, 'd', "GPIO 83 set" }, | ||
663 | { "GPSR2_84", 0x40E00020, 20, 0x00000001, 'd', "GPIO 84 set" }, | ||
664 | |||
665 | { "GPCR0", 0x40E00024, 0, 0xffffffff, 'x', "GPIO Clear Register 0 (4-11)" }, | ||
666 | { "GPCR0_0", 0x40E00024, 0, 0x00000001, 'd', "GPIO 0 clear" }, | ||
667 | { "GPCR0_1", 0x40E00024, 1, 0x00000001, 'd', "GPIO 1 clear" }, | ||
668 | { "GPCR0_2", 0x40E00024, 2, 0x00000001, 'd', "GPIO 2 clear" }, | ||
669 | { "GPCR0_3", 0x40E00024, 3, 0x00000001, 'd', "GPIO 3 clear" }, | ||
670 | { "GPCR0_4", 0x40E00024, 4, 0x00000001, 'd', "GPIO 4 clear" }, | ||
671 | { "GPCR0_5", 0x40E00024, 5, 0x00000001, 'd', "GPIO 5 clear" }, | ||
672 | { "GPCR0_6", 0x40E00024, 6, 0x00000001, 'd', "GPIO 6 clear" }, | ||
673 | { "GPCR0_7", 0x40E00024, 7, 0x00000001, 'd', "GPIO 7 clear" }, | ||
674 | { "GPCR0_8", 0x40E00024, 8, 0x00000001, 'd', "GPIO 8 clear" }, | ||
675 | { "GPCR0_9", 0x40E00024, 9, 0x00000001, 'd', "GPIO 9 clear" }, | ||
676 | { "GPCR0_10", 0x40E00024, 10, 0x00000001, 'd', "GPIO 10 clear" }, | ||
677 | { "GPCR0_11", 0x40E00024, 11, 0x00000001, 'd', "GPIO 11 clear" }, | ||
678 | { "GPCR0_12", 0x40E00024, 12, 0x00000001, 'd', "GPIO 12 clear" }, | ||
679 | { "GPCR0_13", 0x40E00024, 13, 0x00000001, 'd', "GPIO 13 clear" }, | ||
680 | { "GPCR0_14", 0x40E00024, 14, 0x00000001, 'd', "GPIO 14 clear" }, | ||
681 | { "GPCR0_15", 0x40E00024, 15, 0x00000001, 'd', "GPIO 15 clear" }, | ||
682 | { "GPCR0_16", 0x40E00024, 16, 0x00000001, 'd', "GPIO 16 clear" }, | ||
683 | { "GPCR0_17", 0x40E00024, 17, 0x00000001, 'd', "GPIO 17 clear" }, | ||
684 | { "GPCR0_18", 0x40E00024, 18, 0x00000001, 'd', "GPIO 18 clear" }, | ||
685 | { "GPCR0_19", 0x40E00024, 19, 0x00000001, 'd', "GPIO 19 clear" }, | ||
686 | { "GPCR0_20", 0x40E00024, 20, 0x00000001, 'd', "GPIO 20 clear" }, | ||
687 | { "GPCR0_21", 0x40E00024, 21, 0x00000001, 'd', "GPIO 21 clear" }, | ||
688 | { "GPCR0_22", 0x40E00024, 22, 0x00000001, 'd', "GPIO 22 clear" }, | ||
689 | { "GPCR0_23", 0x40E00024, 23, 0x00000001, 'd', "GPIO 23 clear" }, | ||
690 | { "GPCR0_24", 0x40E00024, 24, 0x00000001, 'd', "GPIO 24 clear" }, | ||
691 | { "GPCR0_25", 0x40E00024, 25, 0x00000001, 'd', "GPIO 25 clear" }, | ||
692 | { "GPCR0_26", 0x40E00024, 26, 0x00000001, 'd', "GPIO 26 clear" }, | ||
693 | { "GPCR0_27", 0x40E00024, 27, 0x00000001, 'd', "GPIO 27 clear" }, | ||
694 | { "GPCR0_28", 0x40E00024, 28, 0x00000001, 'd', "GPIO 28 clear" }, | ||
695 | { "GPCR0_29", 0x40E00024, 29, 0x00000001, 'd', "GPIO 29 clear" }, | ||
696 | { "GPCR0_30", 0x40E00024, 30, 0x00000001, 'd', "GPIO 30 clear" }, | ||
697 | { "GPCR0_31", 0x40E00024, 31, 0x00000001, 'd', "GPIO 31 clear" }, | ||
698 | |||
699 | { "GPCR1", 0x40E00028, 0, 0xffffffff, 'x', "GPIO Clear Register 1 (4-11)" }, | ||
700 | { "GPCR1_32", 0x40E00028, 0, 0x00000001, 'd', "GPIO 32 clear" }, | ||
701 | { "GPCR1_33", 0x40E00028, 1, 0x00000001, 'd', "GPIO 33 clear" }, | ||
702 | { "GPCR1_34", 0x40E00028, 2, 0x00000001, 'd', "GPIO 34 clear" }, | ||
703 | { "GPCR1_35", 0x40E00028, 3, 0x00000001, 'd', "GPIO 35 clear" }, | ||
704 | { "GPCR1_36", 0x40E00028, 4, 0x00000001, 'd', "GPIO 36 clear" }, | ||
705 | { "GPCR1_37", 0x40E00028, 5, 0x00000001, 'd', "GPIO 37 clear" }, | ||
706 | { "GPCR1_38", 0x40E00028, 6, 0x00000001, 'd', "GPIO 38 clear" }, | ||
707 | { "GPCR1_39", 0x40E00028, 7, 0x00000001, 'd', "GPIO 39 clear" }, | ||
708 | { "GPCR1_40", 0x40E00028, 8, 0x00000001, 'd', "GPIO 40 clear" }, | ||
709 | { "GPCR1_41", 0x40E00028, 9, 0x00000001, 'd', "GPIO 41 clear" }, | ||
710 | { "GPCR1_42", 0x40E00028, 10, 0x00000001, 'd', "GPIO 42 clear" }, | ||
711 | { "GPCR1_43", 0x40E00028, 11, 0x00000001, 'd', "GPIO 43 clear" }, | ||
712 | { "GPCR1_44", 0x40E00028, 12, 0x00000001, 'd', "GPIO 44 clear" }, | ||
713 | { "GPCR1_45", 0x40E00028, 13, 0x00000001, 'd', "GPIO 45 clear" }, | ||
714 | { "GPCR1_46", 0x40E00028, 14, 0x00000001, 'd', "GPIO 46 clear" }, | ||
715 | { "GPCR1_47", 0x40E00028, 15, 0x00000001, 'd', "GPIO 47 clear" }, | ||
716 | { "GPCR1_48", 0x40E00028, 16, 0x00000001, 'd', "GPIO 48 clear" }, | ||
717 | { "GPCR1_49", 0x40E00028, 17, 0x00000001, 'd', "GPIO 49 clear" }, | ||
718 | { "GPCR1_50", 0x40E00028, 18, 0x00000001, 'd', "GPIO 50 clear" }, | ||
719 | { "GPCR1_51", 0x40E00028, 19, 0x00000001, 'd', "GPIO 51 clear" }, | ||
720 | { "GPCR1_52", 0x40E00028, 20, 0x00000001, 'd', "GPIO 52 clear" }, | ||
721 | { "GPCR1_53", 0x40E00028, 21, 0x00000001, 'd', "GPIO 53 clear" }, | ||
722 | { "GPCR1_54", 0x40E00028, 22, 0x00000001, 'd', "GPIO 54 clear" }, | ||
723 | { "GPCR1_55", 0x40E00028, 23, 0x00000001, 'd', "GPIO 55 clear" }, | ||
724 | { "GPCR1_56", 0x40E00028, 24, 0x00000001, 'd', "GPIO 56 clear" }, | ||
725 | { "GPCR1_57", 0x40E00028, 25, 0x00000001, 'd', "GPIO 57 clear" }, | ||
726 | { "GPCR1_58", 0x40E00028, 26, 0x00000001, 'd', "GPIO 58 clear" }, | ||
727 | { "GPCR1_59", 0x40E00028, 27, 0x00000001, 'd', "GPIO 59 clear" }, | ||
728 | { "GPCR1_60", 0x40E00028, 28, 0x00000001, 'd', "GPIO 60 clear" }, | ||
729 | { "GPCR1_61", 0x40E00028, 29, 0x00000001, 'd', "GPIO 61 clear" }, | ||
730 | { "GPCR1_62", 0x40E00028, 30, 0x00000001, 'd', "GPIO 62 clear" }, | ||
731 | { "GPCR1_63", 0x40E00028, 31, 0x00000001, 'd', "GPIO 63 clear" }, | ||
732 | |||
733 | { "GPCR2", 0x40E0002C, 0, 0xffffffff, 'x', "GPIO Clear Register 2 (4-12)" }, | ||
734 | { "GPCR2_64", 0x40E0002C, 0, 0x00000001, 'd', "GPIO 64 clear" }, | ||
735 | { "GPCR2_65", 0x40E0002C, 1, 0x00000001, 'd', "GPIO 65 clear" }, | ||
736 | { "GPCR2_66", 0x40E0002C, 2, 0x00000001, 'd', "GPIO 66 clear" }, | ||
737 | { "GPCR2_67", 0x40E0002C, 3, 0x00000001, 'd', "GPIO 67 clear" }, | ||
738 | { "GPCR2_68", 0x40E0002C, 4, 0x00000001, 'd', "GPIO 68 clear" }, | ||
739 | { "GPCR2_69", 0x40E0002C, 5, 0x00000001, 'd', "GPIO 69 clear" }, | ||
740 | { "GPCR2_70", 0x40E0002C, 6, 0x00000001, 'd', "GPIO 70 clear" }, | ||
741 | { "GPCR2_71", 0x40E0002C, 7, 0x00000001, 'd', "GPIO 71 clear" }, | ||
742 | { "GPCR2_72", 0x40E0002C, 8, 0x00000001, 'd', "GPIO 72 clear" }, | ||
743 | { "GPCR2_73", 0x40E0002C, 9, 0x00000001, 'd', "GPIO 73 clear" }, | ||
744 | { "GPCR2_74", 0x40E0002C, 10, 0x00000001, 'd', "GPIO 74 clear" }, | ||
745 | { "GPCR2_75", 0x40E0002C, 11, 0x00000001, 'd', "GPIO 75 clear" }, | ||
746 | { "GPCR2_76", 0x40E0002C, 12, 0x00000001, 'd', "GPIO 76 clear" }, | ||
747 | { "GPCR2_77", 0x40E0002C, 13, 0x00000001, 'd', "GPIO 77 clear" }, | ||
748 | { "GPCR2_78", 0x40E0002C, 14, 0x00000001, 'd', "GPIO 78 clear" }, | ||
749 | { "GPCR2_79", 0x40E0002C, 15, 0x00000001, 'd', "GPIO 79 clear" }, | ||
750 | { "GPCR2_80", 0x40E0002C, 16, 0x00000001, 'd', "GPIO 80 clear" }, | ||
751 | { "GPCR2_81", 0x40E0002C, 17, 0x00000001, 'd', "GPIO 81 clear" }, | ||
752 | { "GPCR2_82", 0x40E0002C, 18, 0x00000001, 'd', "GPIO 82 clear" }, | ||
753 | { "GPCR2_83", 0x40E0002C, 19, 0x00000001, 'd', "GPIO 83 clear" }, | ||
754 | { "GPCR2_84", 0x40E0002C, 20, 0x00000001, 'd', "GPIO 84 clear" }, | ||
755 | |||
756 | { "GRER0", 0x40E00030, 0, 0xffffffff, 'x', "GPIO Raising Edge Detect Enable Register 0 (4-13)" }, | ||
757 | { "GRER0_0", 0x40E00030, 0, 0x00000001, 'd', "GPIO 0 raising edge detect enabled" }, | ||
758 | { "GRER0_1", 0x40E00030, 1, 0x00000001, 'd', "GPIO 1 raising edge detect enabled" }, | ||
759 | { "GRER0_2", 0x40E00030, 2, 0x00000001, 'd', "GPIO 2 raising edge detect enabled" }, | ||
760 | { "GRER0_3", 0x40E00030, 3, 0x00000001, 'd', "GPIO 3 raising edge detect enabled" }, | ||
761 | { "GRER0_4", 0x40E00030, 4, 0x00000001, 'd', "GPIO 4 raising edge detect enabled" }, | ||
762 | { "GRER0_5", 0x40E00030, 5, 0x00000001, 'd', "GPIO 5 raising edge detect enabled" }, | ||
763 | { "GRER0_6", 0x40E00030, 6, 0x00000001, 'd', "GPIO 6 raising edge detect enabled" }, | ||
764 | { "GRER0_7", 0x40E00030, 7, 0x00000001, 'd', "GPIO 7 raising edge detect enabled" }, | ||
765 | { "GRER0_8", 0x40E00030, 8, 0x00000001, 'd', "GPIO 8 raising edge detect enabled" }, | ||
766 | { "GRER0_9", 0x40E00030, 9, 0x00000001, 'd', "GPIO 9 raising edge detect enabled" }, | ||
767 | { "GRER0_10", 0x40E00030, 10, 0x00000001, 'd', "GPIO 10 raising edge detect enabled" }, | ||
768 | { "GRER0_11", 0x40E00030, 11, 0x00000001, 'd', "GPIO 11 raising edge detect enabled" }, | ||
769 | { "GRER0_12", 0x40E00030, 12, 0x00000001, 'd', "GPIO 12 raising edge detect enabled" }, | ||
770 | { "GRER0_13", 0x40E00030, 13, 0x00000001, 'd', "GPIO 13 raising edge detect enabled" }, | ||
771 | { "GRER0_14", 0x40E00030, 14, 0x00000001, 'd', "GPIO 14 raising edge detect enabled" }, | ||
772 | { "GRER0_15", 0x40E00030, 15, 0x00000001, 'd', "GPIO 15 raising edge detect enabled" }, | ||
773 | { "GRER0_16", 0x40E00030, 16, 0x00000001, 'd', "GPIO 16 raising edge detect enabled" }, | ||
774 | { "GRER0_17", 0x40E00030, 17, 0x00000001, 'd', "GPIO 17 raising edge detect enabled" }, | ||
775 | { "GRER0_18", 0x40E00030, 18, 0x00000001, 'd', "GPIO 18 raising edge detect enabled" }, | ||
776 | { "GRER0_19", 0x40E00030, 19, 0x00000001, 'd', "GPIO 19 raising edge detect enabled" }, | ||
777 | { "GRER0_20", 0x40E00030, 20, 0x00000001, 'd', "GPIO 20 raising edge detect enabled" }, | ||
778 | { "GRER0_21", 0x40E00030, 21, 0x00000001, 'd', "GPIO 21 raising edge detect enabled" }, | ||
779 | { "GRER0_22", 0x40E00030, 22, 0x00000001, 'd', "GPIO 22 raising edge detect enabled" }, | ||
780 | { "GRER0_23", 0x40E00030, 23, 0x00000001, 'd', "GPIO 23 raising edge detect enabled" }, | ||
781 | { "GRER0_24", 0x40E00030, 24, 0x00000001, 'd', "GPIO 24 raising edge detect enabled" }, | ||
782 | { "GRER0_25", 0x40E00030, 25, 0x00000001, 'd', "GPIO 25 raising edge detect enabled" }, | ||
783 | { "GRER0_26", 0x40E00030, 26, 0x00000001, 'd', "GPIO 26 raising edge detect enabled" }, | ||
784 | { "GRER0_27", 0x40E00030, 27, 0x00000001, 'd', "GPIO 27 raising edge detect enabled" }, | ||
785 | { "GRER0_28", 0x40E00030, 28, 0x00000001, 'd', "GPIO 28 raising edge detect enabled" }, | ||
786 | { "GRER0_29", 0x40E00030, 29, 0x00000001, 'd', "GPIO 29 raising edge detect enabled" }, | ||
787 | { "GRER0_30", 0x40E00030, 30, 0x00000001, 'd', "GPIO 30 raising edge detect enabled" }, | ||
788 | { "GRER0_31", 0x40E00030, 31, 0x00000001, 'd', "GPIO 31 raising edge detect enabled" }, | ||
789 | |||
790 | { "GRER1", 0x40E00034, 0, 0xffffffff, 'x', "GPIO Raising Edge Detect Enable Register 1 (4-13)" }, | ||
791 | { "GRER1_32", 0x40E00034, 0, 0x00000001, 'd', "GPIO 32 raising edge detect enabled" }, | ||
792 | { "GRER1_33", 0x40E00034, 1, 0x00000001, 'd', "GPIO 33 raising edge detect enabled" }, | ||
793 | { "GRER1_34", 0x40E00034, 2, 0x00000001, 'd', "GPIO 34 raising edge detect enabled" }, | ||
794 | { "GRER1_35", 0x40E00034, 3, 0x00000001, 'd', "GPIO 35 raising edge detect enabled" }, | ||
795 | { "GRER1_36", 0x40E00034, 4, 0x00000001, 'd', "GPIO 36 raising edge detect enabled" }, | ||
796 | { "GRER1_37", 0x40E00034, 5, 0x00000001, 'd', "GPIO 37 raising edge detect enabled" }, | ||
797 | { "GRER1_38", 0x40E00034, 6, 0x00000001, 'd', "GPIO 38 raising edge detect enabled" }, | ||
798 | { "GRER1_39", 0x40E00034, 7, 0x00000001, 'd', "GPIO 39 raising edge detect enabled" }, | ||
799 | { "GRER1_40", 0x40E00034, 8, 0x00000001, 'd', "GPIO 40 raising edge detect enabled" }, | ||
800 | { "GRER1_41", 0x40E00034, 9, 0x00000001, 'd', "GPIO 41 raising edge detect enabled" }, | ||
801 | { "GRER1_42", 0x40E00034, 10, 0x00000001, 'd', "GPIO 42 raising edge detect enabled" }, | ||
802 | { "GRER1_43", 0x40E00034, 11, 0x00000001, 'd', "GPIO 43 raising edge detect enabled" }, | ||
803 | { "GRER1_44", 0x40E00034, 12, 0x00000001, 'd', "GPIO 44 raising edge detect enabled" }, | ||
804 | { "GRER1_45", 0x40E00034, 13, 0x00000001, 'd', "GPIO 45 raising edge detect enabled" }, | ||
805 | { "GRER1_46", 0x40E00034, 14, 0x00000001, 'd', "GPIO 46 raising edge detect enabled" }, | ||
806 | { "GRER1_47", 0x40E00034, 15, 0x00000001, 'd', "GPIO 47 raising edge detect enabled" }, | ||
807 | { "GRER1_48", 0x40E00034, 16, 0x00000001, 'd', "GPIO 48 raising edge detect enabled" }, | ||
808 | { "GRER1_49", 0x40E00034, 17, 0x00000001, 'd', "GPIO 49 raising edge detect enabled" }, | ||
809 | { "GRER1_50", 0x40E00034, 18, 0x00000001, 'd', "GPIO 50 raising edge detect enabled" }, | ||
810 | { "GRER1_51", 0x40E00034, 19, 0x00000001, 'd', "GPIO 51 raising edge detect enabled" }, | ||
811 | { "GRER1_52", 0x40E00034, 20, 0x00000001, 'd', "GPIO 52 raising edge detect enabled" }, | ||
812 | { "GRER1_53", 0x40E00034, 21, 0x00000001, 'd', "GPIO 53 raising edge detect enabled" }, | ||
813 | { "GRER1_54", 0x40E00034, 22, 0x00000001, 'd', "GPIO 54 raising edge detect enabled" }, | ||
814 | { "GRER1_55", 0x40E00034, 23, 0x00000001, 'd', "GPIO 55 raising edge detect enabled" }, | ||
815 | { "GRER1_56", 0x40E00034, 24, 0x00000001, 'd', "GPIO 56 raising edge detect enabled" }, | ||
816 | { "GRER1_57", 0x40E00034, 25, 0x00000001, 'd', "GPIO 57 raising edge detect enabled" }, | ||
817 | { "GRER1_58", 0x40E00034, 26, 0x00000001, 'd', "GPIO 58 raising edge detect enabled" }, | ||
818 | { "GRER1_59", 0x40E00034, 27, 0x00000001, 'd', "GPIO 59 raising edge detect enabled" }, | ||
819 | { "GRER1_60", 0x40E00034, 28, 0x00000001, 'd', "GPIO 60 raising edge detect enabled" }, | ||
820 | { "GRER1_61", 0x40E00034, 29, 0x00000001, 'd', "GPIO 61 raising edge detect enabled" }, | ||
821 | { "GRER1_62", 0x40E00034, 30, 0x00000001, 'd', "GPIO 62 raising edge detect enabled" }, | ||
822 | { "GRER1_63", 0x40E00034, 31, 0x00000001, 'd', "GPIO 63 raising edge detect enabled" }, | ||
823 | |||
824 | { "GRER2", 0x40E00038, 0, 0xffffffff, 'x', "GPIO Raising Edge Detect Enable Register 2 (4-13)" }, | ||
825 | { "GRER2_64", 0x40E00038, 0, 0x00000001, 'd', "GPIO 64 raising edge detect enabled" }, | ||
826 | { "GRER2_65", 0x40E00038, 1, 0x00000001, 'd', "GPIO 65 raising edge detect enabled" }, | ||
827 | { "GRER2_66", 0x40E00038, 2, 0x00000001, 'd', "GPIO 66 raising edge detect enabled" }, | ||
828 | { "GRER2_67", 0x40E00038, 3, 0x00000001, 'd', "GPIO 67 raising edge detect enabled" }, | ||
829 | { "GRER2_68", 0x40E00038, 4, 0x00000001, 'd', "GPIO 68 raising edge detect enabled" }, | ||
830 | { "GRER2_69", 0x40E00038, 5, 0x00000001, 'd', "GPIO 69 raising edge detect enabled" }, | ||
831 | { "GRER2_70", 0x40E00038, 6, 0x00000001, 'd', "GPIO 70 raising edge detect enabled" }, | ||
832 | { "GRER2_71", 0x40E00038, 7, 0x00000001, 'd', "GPIO 71 raising edge detect enabled" }, | ||
833 | { "GRER2_72", 0x40E00038, 8, 0x00000001, 'd', "GPIO 72 raising edge detect enabled" }, | ||
834 | { "GRER2_73", 0x40E00038, 9, 0x00000001, 'd', "GPIO 73 raising edge detect enabled" }, | ||
835 | { "GRER2_74", 0x40E00038, 10, 0x00000001, 'd', "GPIO 74 raising edge detect enabled" }, | ||
836 | { "GRER2_75", 0x40E00038, 11, 0x00000001, 'd', "GPIO 75 raising edge detect enabled" }, | ||
837 | { "GRER2_76", 0x40E00038, 12, 0x00000001, 'd', "GPIO 76 raising edge detect enabled" }, | ||
838 | { "GRER2_77", 0x40E00038, 13, 0x00000001, 'd', "GPIO 77 raising edge detect enabled" }, | ||
839 | { "GRER2_78", 0x40E00038, 14, 0x00000001, 'd', "GPIO 78 raising edge detect enabled" }, | ||
840 | { "GRER2_79", 0x40E00038, 15, 0x00000001, 'd', "GPIO 79 raising edge detect enabled" }, | ||
841 | { "GRER2_80", 0x40E00038, 16, 0x00000001, 'd', "GPIO 80 raising edge detect enabled" }, | ||
842 | { "GRER2_81", 0x40E00038, 17, 0x00000001, 'd', "GPIO 81 raising edge detect enabled" }, | ||
843 | { "GRER2_82", 0x40E00038, 18, 0x00000001, 'd', "GPIO 82 raising edge detect enabled" }, | ||
844 | { "GRER2_83", 0x40E00038, 19, 0x00000001, 'd', "GPIO 83 raising edge detect enabled" }, | ||
845 | { "GRER2_84", 0x40E00038, 20, 0x00000001, 'd', "GPIO 84 raising edge detect enabled" }, | ||
846 | |||
847 | { "GFER0", 0x40E0003C, 0, 0xffffffff, 'x', "GPIO Falling Edge Detect Enable Register 0 (4-14)" }, | ||
848 | { "GFER0_0", 0x40E0003C, 0, 0x00000001, 'd', "GPIO 0 falling edge detect enabled" }, | ||
849 | { "GFER0_1", 0x40E0003C, 1, 0x00000001, 'd', "GPIO 1 falling edge detect enabled" }, | ||
850 | { "GFER0_2", 0x40E0003C, 2, 0x00000001, 'd', "GPIO 2 falling edge detect enabled" }, | ||
851 | { "GFER0_3", 0x40E0003C, 3, 0x00000001, 'd', "GPIO 3 falling edge detect enabled" }, | ||
852 | { "GFER0_4", 0x40E0003C, 4, 0x00000001, 'd', "GPIO 4 falling edge detect enabled" }, | ||
853 | { "GFER0_5", 0x40E0003C, 5, 0x00000001, 'd', "GPIO 5 falling edge detect enabled" }, | ||
854 | { "GFER0_6", 0x40E0003C, 6, 0x00000001, 'd', "GPIO 6 falling edge detect enabled" }, | ||
855 | { "GFER0_7", 0x40E0003C, 7, 0x00000001, 'd', "GPIO 7 falling edge detect enabled" }, | ||
856 | { "GFER0_8", 0x40E0003C, 8, 0x00000001, 'd', "GPIO 8 falling edge detect enabled" }, | ||
857 | { "GFER0_9", 0x40E0003C, 9, 0x00000001, 'd', "GPIO 9 falling edge detect enabled" }, | ||
858 | { "GFER0_10", 0x40E0003C, 10, 0x00000001, 'd', "GPIO 10 falling edge detect enabled" }, | ||
859 | { "GFER0_11", 0x40E0003C, 11, 0x00000001, 'd', "GPIO 11 falling edge detect enabled" }, | ||
860 | { "GFER0_12", 0x40E0003C, 12, 0x00000001, 'd', "GPIO 12 falling edge detect enabled" }, | ||
861 | { "GFER0_13", 0x40E0003C, 13, 0x00000001, 'd', "GPIO 13 falling edge detect enabled" }, | ||
862 | { "GFER0_14", 0x40E0003C, 14, 0x00000001, 'd', "GPIO 14 falling edge detect enabled" }, | ||
863 | { "GFER0_15", 0x40E0003C, 15, 0x00000001, 'd', "GPIO 15 falling edge detect enabled" }, | ||
864 | { "GFER0_16", 0x40E0003C, 16, 0x00000001, 'd', "GPIO 16 falling edge detect enabled" }, | ||
865 | { "GFER0_17", 0x40E0003C, 17, 0x00000001, 'd', "GPIO 17 falling edge detect enabled" }, | ||
866 | { "GFER0_18", 0x40E0003C, 18, 0x00000001, 'd', "GPIO 18 falling edge detect enabled" }, | ||
867 | { "GFER0_19", 0x40E0003C, 19, 0x00000001, 'd', "GPIO 19 falling edge detect enabled" }, | ||
868 | { "GFER0_20", 0x40E0003C, 20, 0x00000001, 'd', "GPIO 20 falling edge detect enabled" }, | ||
869 | { "GFER0_21", 0x40E0003C, 21, 0x00000001, 'd', "GPIO 21 falling edge detect enabled" }, | ||
870 | { "GFER0_22", 0x40E0003C, 22, 0x00000001, 'd', "GPIO 22 falling edge detect enabled" }, | ||
871 | { "GFER0_23", 0x40E0003C, 23, 0x00000001, 'd', "GPIO 23 falling edge detect enabled" }, | ||
872 | { "GFER0_24", 0x40E0003C, 24, 0x00000001, 'd', "GPIO 24 falling edge detect enabled" }, | ||
873 | { "GFER0_25", 0x40E0003C, 25, 0x00000001, 'd', "GPIO 25 falling edge detect enabled" }, | ||
874 | { "GFER0_26", 0x40E0003C, 26, 0x00000001, 'd', "GPIO 26 falling edge detect enabled" }, | ||
875 | { "GFER0_27", 0x40E0003C, 27, 0x00000001, 'd', "GPIO 27 falling edge detect enabled" }, | ||
876 | { "GFER0_28", 0x40E0003C, 28, 0x00000001, 'd', "GPIO 28 falling edge detect enabled" }, | ||
877 | { "GFER0_29", 0x40E0003C, 29, 0x00000001, 'd', "GPIO 29 falling edge detect enabled" }, | ||
878 | { "GFER0_30", 0x40E0003C, 30, 0x00000001, 'd', "GPIO 30 falling edge detect enabled" }, | ||
879 | { "GFER0_31", 0x40E0003C, 31, 0x00000001, 'd', "GPIO 31 falling edge detect enabled" }, | ||
880 | |||
881 | { "GFER1", 0x40E00040, 0, 0xffffffff, 'x', "GPIO Falling Edge Detect Enable Register 1 (4-14)" }, | ||
882 | { "GFER1_32", 0x40E00040, 0, 0x00000001, 'd', "GPIO 32 falling edge detect enabled" }, | ||
883 | { "GFER1_33", 0x40E00040, 1, 0x00000001, 'd', "GPIO 33 falling edge detect enabled" }, | ||
884 | { "GFER1_34", 0x40E00040, 2, 0x00000001, 'd', "GPIO 34 falling edge detect enabled" }, | ||
885 | { "GFER1_35", 0x40E00040, 3, 0x00000001, 'd', "GPIO 35 falling edge detect enabled" }, | ||
886 | { "GFER1_36", 0x40E00040, 4, 0x00000001, 'd', "GPIO 36 falling edge detect enabled" }, | ||
887 | { "GFER1_37", 0x40E00040, 5, 0x00000001, 'd', "GPIO 37 falling edge detect enabled" }, | ||
888 | { "GFER1_38", 0x40E00040, 6, 0x00000001, 'd', "GPIO 38 falling edge detect enabled" }, | ||
889 | { "GFER1_39", 0x40E00040, 7, 0x00000001, 'd', "GPIO 39 falling edge detect enabled" }, | ||
890 | { "GFER1_40", 0x40E00040, 8, 0x00000001, 'd', "GPIO 40 falling edge detect enabled" }, | ||
891 | { "GFER1_41", 0x40E00040, 9, 0x00000001, 'd', "GPIO 41 falling edge detect enabled" }, | ||
892 | { "GFER1_42", 0x40E00040, 10, 0x00000001, 'd', "GPIO 42 falling edge detect enabled" }, | ||
893 | { "GFER1_43", 0x40E00040, 11, 0x00000001, 'd', "GPIO 43 falling edge detect enabled" }, | ||
894 | { "GFER1_44", 0x40E00040, 12, 0x00000001, 'd', "GPIO 44 falling edge detect enabled" }, | ||
895 | { "GFER1_45", 0x40E00040, 13, 0x00000001, 'd', "GPIO 45 falling edge detect enabled" }, | ||
896 | { "GFER1_46", 0x40E00040, 14, 0x00000001, 'd', "GPIO 46 falling edge detect enabled" }, | ||
897 | { "GFER1_47", 0x40E00040, 15, 0x00000001, 'd', "GPIO 47 falling edge detect enabled" }, | ||
898 | { "GFER1_48", 0x40E00040, 16, 0x00000001, 'd', "GPIO 48 falling edge detect enabled" }, | ||
899 | { "GFER1_49", 0x40E00040, 17, 0x00000001, 'd', "GPIO 49 falling edge detect enabled" }, | ||
900 | { "GFER1_50", 0x40E00040, 18, 0x00000001, 'd', "GPIO 50 falling edge detect enabled" }, | ||
901 | { "GFER1_51", 0x40E00040, 19, 0x00000001, 'd', "GPIO 51 falling edge detect enabled" }, | ||
902 | { "GFER1_52", 0x40E00040, 20, 0x00000001, 'd', "GPIO 52 falling edge detect enabled" }, | ||
903 | { "GFER1_53", 0x40E00040, 21, 0x00000001, 'd', "GPIO 53 falling edge detect enabled" }, | ||
904 | { "GFER1_54", 0x40E00040, 22, 0x00000001, 'd', "GPIO 54 falling edge detect enabled" }, | ||
905 | { "GFER1_55", 0x40E00040, 23, 0x00000001, 'd', "GPIO 55 falling edge detect enabled" }, | ||
906 | { "GFER1_56", 0x40E00040, 24, 0x00000001, 'd', "GPIO 56 falling edge detect enabled" }, | ||
907 | { "GFER1_57", 0x40E00040, 25, 0x00000001, 'd', "GPIO 57 falling edge detect enabled" }, | ||
908 | { "GFER1_58", 0x40E00040, 26, 0x00000001, 'd', "GPIO 58 falling edge detect enabled" }, | ||
909 | { "GFER1_59", 0x40E00040, 27, 0x00000001, 'd', "GPIO 59 falling edge detect enabled" }, | ||
910 | { "GFER1_60", 0x40E00040, 28, 0x00000001, 'd', "GPIO 60 falling edge detect enabled" }, | ||
911 | { "GFER1_61", 0x40E00040, 29, 0x00000001, 'd', "GPIO 61 falling edge detect enabled" }, | ||
912 | { "GFER1_62", 0x40E00040, 30, 0x00000001, 'd', "GPIO 62 falling edge detect enabled" }, | ||
913 | { "GFER1_63", 0x40E00040, 31, 0x00000001, 'd', "GPIO 63 falling edge detect enabled" }, | ||
914 | |||
915 | { "GFER2", 0x40E00044, 0, 0xffffffff, 'x', "GPIO Falling Edge Detect Enable Register 2 (4-14)" }, | ||
916 | { "GFER2_64", 0x40E00044, 0, 0x00000001, 'd', "GPIO 64 falling edge detect enabled" }, | ||
917 | { "GFER2_65", 0x40E00044, 1, 0x00000001, 'd', "GPIO 65 falling edge detect enabled" }, | ||
918 | { "GFER2_66", 0x40E00044, 2, 0x00000001, 'd', "GPIO 66 falling edge detect enabled" }, | ||
919 | { "GFER2_67", 0x40E00044, 3, 0x00000001, 'd', "GPIO 67 falling edge detect enabled" }, | ||
920 | { "GFER2_68", 0x40E00044, 4, 0x00000001, 'd', "GPIO 68 falling edge detect enabled" }, | ||
921 | { "GFER2_69", 0x40E00044, 5, 0x00000001, 'd', "GPIO 69 falling edge detect enabled" }, | ||
922 | { "GFER2_70", 0x40E00044, 6, 0x00000001, 'd', "GPIO 70 falling edge detect enabled" }, | ||
923 | { "GFER2_71", 0x40E00044, 7, 0x00000001, 'd', "GPIO 71 falling edge detect enabled" }, | ||
924 | { "GFER2_72", 0x40E00044, 8, 0x00000001, 'd', "GPIO 72 falling edge detect enabled" }, | ||
925 | { "GFER2_73", 0x40E00044, 9, 0x00000001, 'd', "GPIO 73 falling edge detect enabled" }, | ||
926 | { "GFER2_74", 0x40E00044, 10, 0x00000001, 'd', "GPIO 74 falling edge detect enabled" }, | ||
927 | { "GFER2_75", 0x40E00044, 11, 0x00000001, 'd', "GPIO 75 falling edge detect enabled" }, | ||
928 | { "GFER2_76", 0x40E00044, 12, 0x00000001, 'd', "GPIO 76 falling edge detect enabled" }, | ||
929 | { "GFER2_77", 0x40E00044, 13, 0x00000001, 'd', "GPIO 77 falling edge detect enabled" }, | ||
930 | { "GFER2_78", 0x40E00044, 14, 0x00000001, 'd', "GPIO 78 falling edge detect enabled" }, | ||
931 | { "GFER2_79", 0x40E00044, 15, 0x00000001, 'd', "GPIO 79 falling edge detect enabled" }, | ||
932 | { "GFER2_80", 0x40E00044, 16, 0x00000001, 'd', "GPIO 80 falling edge detect enabled" }, | ||
933 | { "GFER2_81", 0x40E00044, 17, 0x00000001, 'd', "GPIO 81 falling edge detect enabled" }, | ||
934 | { "GFER2_82", 0x40E00044, 18, 0x00000001, 'd', "GPIO 82 falling edge detect enabled" }, | ||
935 | { "GFER2_83", 0x40E00044, 19, 0x00000001, 'd', "GPIO 83 falling edge detect enabled" }, | ||
936 | { "GFER2_84", 0x40E00044, 20, 0x00000001, 'd', "GPIO 84 falling edge detect enabled" }, | ||
937 | |||
938 | { "GEDR0", 0x40E00048, 0, 0xffffffff, 'x', "GPIO Edge Detect Register 0 (4-15)" }, | ||
939 | { "GEDR0_0", 0x40E00048, 0, 0x00000001, 'd', "GPIO 0 edge detected" }, | ||
940 | { "GEDR0_1", 0x40E00048, 1, 0x00000001, 'd', "GPIO 1 edge detected" }, | ||
941 | { "GEDR0_2", 0x40E00048, 2, 0x00000001, 'd', "GPIO 2 edge detected" }, | ||
942 | { "GEDR0_3", 0x40E00048, 3, 0x00000001, 'd', "GPIO 3 edge detected" }, | ||
943 | { "GEDR0_4", 0x40E00048, 4, 0x00000001, 'd', "GPIO 4 edge detected" }, | ||
944 | { "GEDR0_5", 0x40E00048, 5, 0x00000001, 'd', "GPIO 5 edge detected" }, | ||
945 | { "GEDR0_6", 0x40E00048, 6, 0x00000001, 'd', "GPIO 6 edge detected" }, | ||
946 | { "GEDR0_7", 0x40E00048, 7, 0x00000001, 'd', "GPIO 7 edge detected" }, | ||
947 | { "GEDR0_8", 0x40E00048, 8, 0x00000001, 'd', "GPIO 8 edge detected" }, | ||
948 | { "GEDR0_9", 0x40E00048, 9, 0x00000001, 'd', "GPIO 9 edge detected" }, | ||
949 | { "GEDR0_10", 0x40E00048, 10, 0x00000001, 'd', "GPIO 10 edge detected" }, | ||
950 | { "GEDR0_11", 0x40E00048, 11, 0x00000001, 'd', "GPIO 11 edge detected" }, | ||
951 | { "GEDR0_12", 0x40E00048, 12, 0x00000001, 'd', "GPIO 12 edge detected" }, | ||
952 | { "GEDR0_13", 0x40E00048, 13, 0x00000001, 'd', "GPIO 13 edge detected" }, | ||
953 | { "GEDR0_14", 0x40E00048, 14, 0x00000001, 'd', "GPIO 14 edge detected" }, | ||
954 | { "GEDR0_15", 0x40E00048, 15, 0x00000001, 'd', "GPIO 15 edge detected" }, | ||
955 | { "GEDR0_16", 0x40E00048, 16, 0x00000001, 'd', "GPIO 16 edge detected" }, | ||
956 | { "GEDR0_17", 0x40E00048, 17, 0x00000001, 'd', "GPIO 17 edge detected" }, | ||
957 | { "GEDR0_18", 0x40E00048, 18, 0x00000001, 'd', "GPIO 18 edge detected" }, | ||
958 | { "GEDR0_19", 0x40E00048, 19, 0x00000001, 'd', "GPIO 19 edge detected" }, | ||
959 | { "GEDR0_20", 0x40E00048, 20, 0x00000001, 'd', "GPIO 20 edge detected" }, | ||
960 | { "GEDR0_21", 0x40E00048, 21, 0x00000001, 'd', "GPIO 21 edge detected" }, | ||
961 | { "GEDR0_22", 0x40E00048, 22, 0x00000001, 'd', "GPIO 22 edge detected" }, | ||
962 | { "GEDR0_23", 0x40E00048, 23, 0x00000001, 'd', "GPIO 23 edge detected" }, | ||
963 | { "GEDR0_24", 0x40E00048, 24, 0x00000001, 'd', "GPIO 24 edge detected" }, | ||
964 | { "GEDR0_25", 0x40E00048, 25, 0x00000001, 'd', "GPIO 25 edge detected" }, | ||
965 | { "GEDR0_26", 0x40E00048, 26, 0x00000001, 'd', "GPIO 26 edge detected" }, | ||
966 | { "GEDR0_27", 0x40E00048, 27, 0x00000001, 'd', "GPIO 27 edge detected" }, | ||
967 | { "GEDR0_28", 0x40E00048, 28, 0x00000001, 'd', "GPIO 28 edge detected" }, | ||
968 | { "GEDR0_29", 0x40E00048, 29, 0x00000001, 'd', "GPIO 29 edge detected" }, | ||
969 | { "GEDR0_30", 0x40E00048, 30, 0x00000001, 'd', "GPIO 30 edge detected" }, | ||
970 | { "GEDR0_31", 0x40E00048, 31, 0x00000001, 'd', "GPIO 31 edge detected" }, | ||
971 | |||
972 | { "GEDR1", 0x40E0004C, 0, 0xffffffff, 'x', "GPIO Edge Detect Register 1 (4-16)" }, | ||
973 | { "GEDR1_32", 0x40E0004C, 0, 0x00000001, 'd', "GPIO 32 edge detected" }, | ||
974 | { "GEDR1_33", 0x40E0004C, 1, 0x00000001, 'd', "GPIO 33 edge detected" }, | ||
975 | { "GEDR1_34", 0x40E0004C, 2, 0x00000001, 'd', "GPIO 34 edge detected" }, | ||
976 | { "GEDR1_35", 0x40E0004C, 3, 0x00000001, 'd', "GPIO 35 edge detected" }, | ||
977 | { "GEDR1_36", 0x40E0004C, 4, 0x00000001, 'd', "GPIO 36 edge detected" }, | ||
978 | { "GEDR1_37", 0x40E0004C, 5, 0x00000001, 'd', "GPIO 37 edge detected" }, | ||
979 | { "GEDR1_38", 0x40E0004C, 6, 0x00000001, 'd', "GPIO 38 edge detected" }, | ||
980 | { "GEDR1_39", 0x40E0004C, 7, 0x00000001, 'd', "GPIO 39 edge detected" }, | ||
981 | { "GEDR1_40", 0x40E0004C, 8, 0x00000001, 'd', "GPIO 40 edge detected" }, | ||
982 | { "GEDR1_41", 0x40E0004C, 9, 0x00000001, 'd', "GPIO 41 edge detected" }, | ||
983 | { "GEDR1_42", 0x40E0004C, 10, 0x00000001, 'd', "GPIO 42 edge detected" }, | ||
984 | { "GEDR1_43", 0x40E0004C, 11, 0x00000001, 'd', "GPIO 43 edge detected" }, | ||
985 | { "GEDR1_44", 0x40E0004C, 12, 0x00000001, 'd', "GPIO 44 edge detected" }, | ||
986 | { "GEDR1_45", 0x40E0004C, 13, 0x00000001, 'd', "GPIO 45 edge detected" }, | ||
987 | { "GEDR1_46", 0x40E0004C, 14, 0x00000001, 'd', "GPIO 46 edge detected" }, | ||
988 | { "GEDR1_47", 0x40E0004C, 15, 0x00000001, 'd', "GPIO 47 edge detected" }, | ||
989 | { "GEDR1_48", 0x40E0004C, 16, 0x00000001, 'd', "GPIO 48 edge detected" }, | ||
990 | { "GEDR1_49", 0x40E0004C, 17, 0x00000001, 'd', "GPIO 49 edge detected" }, | ||
991 | { "GEDR1_50", 0x40E0004C, 18, 0x00000001, 'd', "GPIO 50 edge detected" }, | ||
992 | { "GEDR1_51", 0x40E0004C, 19, 0x00000001, 'd', "GPIO 51 edge detected" }, | ||
993 | { "GEDR1_52", 0x40E0004C, 20, 0x00000001, 'd', "GPIO 52 edge detected" }, | ||
994 | { "GEDR1_53", 0x40E0004C, 21, 0x00000001, 'd', "GPIO 53 edge detected" }, | ||
995 | { "GEDR1_54", 0x40E0004C, 22, 0x00000001, 'd', "GPIO 54 edge detected" }, | ||
996 | { "GEDR1_55", 0x40E0004C, 23, 0x00000001, 'd', "GPIO 55 edge detected" }, | ||
997 | { "GEDR1_56", 0x40E0004C, 24, 0x00000001, 'd', "GPIO 56 edge detected" }, | ||
998 | { "GEDR1_57", 0x40E0004C, 25, 0x00000001, 'd', "GPIO 57 edge detected" }, | ||
999 | { "GEDR1_58", 0x40E0004C, 26, 0x00000001, 'd', "GPIO 58 edge detected" }, | ||
1000 | { "GEDR1_59", 0x40E0004C, 27, 0x00000001, 'd', "GPIO 59 edge detected" }, | ||
1001 | { "GEDR1_60", 0x40E0004C, 28, 0x00000001, 'd', "GPIO 60 edge detected" }, | ||
1002 | { "GEDR1_61", 0x40E0004C, 29, 0x00000001, 'd', "GPIO 61 edge detected" }, | ||
1003 | { "GEDR1_62", 0x40E0004C, 30, 0x00000001, 'd', "GPIO 62 edge detected" }, | ||
1004 | { "GEDR1_63", 0x40E0004C, 31, 0x00000001, 'd', "GPIO 63 edge detected" }, | ||
1005 | |||
1006 | { "GEDR2", 0x40E00050, 0, 0xffffffff, 'x', "GPIO Edge Detect Register 2 (4-16)" }, | ||
1007 | { "GEDR2_64", 0x40E00050, 0, 0x00000001, 'd', "GPIO 64 edge detected" }, | ||
1008 | { "GEDR2_65", 0x40E00050, 1, 0x00000001, 'd', "GPIO 65 edge detected" }, | ||
1009 | { "GEDR2_66", 0x40E00050, 2, 0x00000001, 'd', "GPIO 66 edge detected" }, | ||
1010 | { "GEDR2_67", 0x40E00050, 3, 0x00000001, 'd', "GPIO 67 edge detected" }, | ||
1011 | { "GEDR2_68", 0x40E00050, 4, 0x00000001, 'd', "GPIO 68 edge detected" }, | ||
1012 | { "GEDR2_69", 0x40E00050, 5, 0x00000001, 'd', "GPIO 69 edge detected" }, | ||
1013 | { "GEDR2_70", 0x40E00050, 6, 0x00000001, 'd', "GPIO 70 edge detected" }, | ||
1014 | { "GEDR2_71", 0x40E00050, 7, 0x00000001, 'd', "GPIO 71 edge detected" }, | ||
1015 | { "GEDR2_72", 0x40E00050, 8, 0x00000001, 'd', "GPIO 72 edge detected" }, | ||
1016 | { "GEDR2_73", 0x40E00050, 9, 0x00000001, 'd', "GPIO 73 edge detected" }, | ||
1017 | { "GEDR2_74", 0x40E00050, 10, 0x00000001, 'd', "GPIO 74 edge detected" }, | ||
1018 | { "GEDR2_75", 0x40E00050, 11, 0x00000001, 'd', "GPIO 75 edge detected" }, | ||
1019 | { "GEDR2_76", 0x40E00050, 12, 0x00000001, 'd', "GPIO 76 edge detected" }, | ||
1020 | { "GEDR2_77", 0x40E00050, 13, 0x00000001, 'd', "GPIO 77 edge detected" }, | ||
1021 | { "GEDR2_78", 0x40E00050, 14, 0x00000001, 'd', "GPIO 78 edge detected" }, | ||
1022 | { "GEDR2_79", 0x40E00050, 15, 0x00000001, 'd', "GPIO 79 edge detected" }, | ||
1023 | { "GEDR2_80", 0x40E00050, 16, 0x00000001, 'd', "GPIO 80 edge detected" }, | ||
1024 | { "GEDR2_81", 0x40E00050, 17, 0x00000001, 'd', "GPIO 81 edge detected" }, | ||
1025 | { "GEDR2_82", 0x40E00050, 18, 0x00000001, 'd', "GPIO 82 edge detected" }, | ||
1026 | { "GEDR2_83", 0x40E00050, 19, 0x00000001, 'd', "GPIO 83 edge detected" }, | ||
1027 | { "GEDR2_84", 0x40E00050, 20, 0x00000001, 'd', "GPIO 84 edge detected" }, | ||
1028 | |||
1029 | { "GAFR0L", 0x40E00054, 0, 0xffffffff, 'x', "GPIO Alternate Function Register 0 Lower (4-17)" }, | ||
1030 | { "GAFR0L_0", 0x40E00054, 0, 0x00000003, 'x', "GPIO 0 alternate function select" }, | ||
1031 | { "GAFR0L_1", 0x40E00054, 2, 0x00000003, 'x', "GPIO 1 alternate function select" }, | ||
1032 | { "GAFR0L_2", 0x40E00054, 4, 0x00000003, 'x', "GPIO 2 alternate function select" }, | ||
1033 | { "GAFR0L_3", 0x40E00054, 6, 0x00000003, 'x', "GPIO 3 alternate function select" }, | ||
1034 | { "GAFR0L_4", 0x40E00054, 8, 0x00000003, 'x', "GPIO 4 alternate function select" }, | ||
1035 | { "GAFR0L_5", 0x40E00054, 10, 0x00000003, 'x', "GPIO 5 alternate function select" }, | ||
1036 | { "GAFR0L_6", 0x40E00054, 12, 0x00000003, 'x', "GPIO 6 alternate function select" }, | ||
1037 | { "GAFR0L_7", 0x40E00054, 14, 0x00000003, 'x', "GPIO 7 alternate function select" }, | ||
1038 | { "GAFR0L_8", 0x40E00054, 16, 0x00000003, 'x', "GPIO 8 alternate function select" }, | ||
1039 | { "GAFR0L_9", 0x40E00054, 18, 0x00000003, 'x', "GPIO 9 alternate function select" }, | ||
1040 | { "GAFR0L_10", 0x40E00054, 20, 0x00000003, 'x', "GPIO 10 alternate function select" }, | ||
1041 | { "GAFR0L_11", 0x40E00054, 22, 0x00000003, 'x', "GPIO 11 alternate function select" }, | ||
1042 | { "GAFR0L_12", 0x40E00054, 24, 0x00000003, 'x', "GPIO 12 alternate function select" }, | ||
1043 | { "GAFR0L_13", 0x40E00054, 26, 0x00000003, 'x', "GPIO 13 alternate function select" }, | ||
1044 | { "GAFR0L_14", 0x40E00054, 28, 0x00000003, 'x', "GPIO 14 alternate function select" }, | ||
1045 | { "GAFR0L_15", 0x40E00054, 30, 0x00000003, 'x', "GPIO 15 alternate function select" }, | ||
1046 | |||
1047 | { "GAFR0U", 0x40E00058, 0, 0xffffffff, 'x', "GPIO Alternate Function Register 0 Upper (4-18)" }, | ||
1048 | { "GAFR0U_16", 0x40E00058, 0, 0x00000003, 'x', "GPIO 16 alternate function select" }, | ||
1049 | { "GAFR0U_17", 0x40E00058, 2, 0x00000003, 'x', "GPIO 17 alternate function select" }, | ||
1050 | { "GAFR0U_18", 0x40E00058, 4, 0x00000003, 'x', "GPIO 18 alternate function select" }, | ||
1051 | { "GAFR0U_19", 0x40E00058, 6, 0x00000003, 'x', "GPIO 19 alternate function select" }, | ||
1052 | { "GAFR0U_20", 0x40E00058, 8, 0x00000003, 'x', "GPIO 20 alternate function select" }, | ||
1053 | { "GAFR0U_21", 0x40E00058, 10, 0x00000003, 'x', "GPIO 21 alternate function select" }, | ||
1054 | { "GAFR0U_22", 0x40E00058, 12, 0x00000003, 'x', "GPIO 22 alternate function select" }, | ||
1055 | { "GAFR0U_23", 0x40E00058, 14, 0x00000003, 'x', "GPIO 23 alternate function select" }, | ||
1056 | { "GAFR0U_24", 0x40E00058, 16, 0x00000003, 'x', "GPIO 24 alternate function select" }, | ||
1057 | { "GAFR0U_25", 0x40E00058, 18, 0x00000003, 'x', "GPIO 25 alternate function select" }, | ||
1058 | { "GAFR0U_26", 0x40E00058, 20, 0x00000003, 'x', "GPIO 26 alternate function select" }, | ||
1059 | { "GAFR0U_27", 0x40E00058, 22, 0x00000003, 'x', "GPIO 27 alternate function select" }, | ||
1060 | { "GAFR0U_28", 0x40E00058, 24, 0x00000003, 'x', "GPIO 28 alternate function select" }, | ||
1061 | { "GAFR0U_29", 0x40E00058, 26, 0x00000003, 'x', "GPIO 29 alternate function select" }, | ||
1062 | { "GAFR0U_30", 0x40E00058, 28, 0x00000003, 'x', "GPIO 30 alternate function select" }, | ||
1063 | { "GAFR0U_31", 0x40E00058, 30, 0x00000003, 'x', "GPIO 31 alternate function select" }, | ||
1064 | |||
1065 | { "GAFR1L", 0x40E0005C, 0, 0xffffffff, 'x', "GPIO Alternate Function Register 1 Lower (4-18)" }, | ||
1066 | { "GAFR1L_32", 0x40E0005C, 0, 0x00000003, 'x', "GPIO 32 alternate function select" }, | ||
1067 | { "GAFR1L_33", 0x40E0005C, 2, 0x00000003, 'x', "GPIO 33 alternate function select" }, | ||
1068 | { "GAFR1L_34", 0x40E0005C, 4, 0x00000003, 'x', "GPIO 34 alternate function select" }, | ||
1069 | { "GAFR1L_35", 0x40E0005C, 6, 0x00000003, 'x', "GPIO 35 alternate function select" }, | ||
1070 | { "GAFR1L_36", 0x40E0005C, 8, 0x00000003, 'x', "GPIO 36 alternate function select" }, | ||
1071 | { "GAFR1L_37", 0x40E0005C, 10, 0x00000003, 'x', "GPIO 37 alternate function select" }, | ||
1072 | { "GAFR1L_38", 0x40E0005C, 12, 0x00000003, 'x', "GPIO 38 alternate function select" }, | ||
1073 | { "GAFR1L_39", 0x40E0005C, 14, 0x00000003, 'x', "GPIO 39 alternate function select" }, | ||
1074 | { "GAFR1L_40", 0x40E0005C, 16, 0x00000003, 'x', "GPIO 40 alternate function select" }, | ||
1075 | { "GAFR1L_41", 0x40E0005C, 18, 0x00000003, 'x', "GPIO 41 alternate function select" }, | ||
1076 | { "GAFR1L_42", 0x40E0005C, 20, 0x00000003, 'x', "GPIO 42 alternate function select" }, | ||
1077 | { "GAFR1L_43", 0x40E0005C, 22, 0x00000003, 'x', "GPIO 43 alternate function select" }, | ||
1078 | { "GAFR1L_44", 0x40E0005C, 24, 0x00000003, 'x', "GPIO 44 alternate function select" }, | ||
1079 | { "GAFR1L_45", 0x40E0005C, 26, 0x00000003, 'x', "GPIO 45 alternate function select" }, | ||
1080 | { "GAFR1L_46", 0x40E0005C, 28, 0x00000003, 'x', "GPIO 46 alternate function select" }, | ||
1081 | { "GAFR1L_47", 0x40E0005C, 30, 0x00000003, 'x', "GPIO 47 alternate function select" }, | ||
1082 | |||
1083 | { "GAFR1U", 0x40E00060, 0, 0xffffffff, 'x', "GPIO Alternate Function Register 1 Upper (4-19)" }, | ||
1084 | { "GAFR1U_48", 0x40E00060, 0, 0x00000003, 'x', "GPIO 48 alternate function select" }, | ||
1085 | { "GAFR1U_49", 0x40E00060, 2, 0x00000003, 'x', "GPIO 49 alternate function select" }, | ||
1086 | { "GAFR1U_50", 0x40E00060, 4, 0x00000003, 'x', "GPIO 50 alternate function select" }, | ||
1087 | { "GAFR1U_51", 0x40E00060, 6, 0x00000003, 'x', "GPIO 51 alternate function select" }, | ||
1088 | { "GAFR1U_52", 0x40E00060, 8, 0x00000003, 'x', "GPIO 52 alternate function select" }, | ||
1089 | { "GAFR1U_53", 0x40E00060, 10, 0x00000003, 'x', "GPIO 53 alternate function select" }, | ||
1090 | { "GAFR1U_54", 0x40E00060, 12, 0x00000003, 'x', "GPIO 54 alternate function select" }, | ||
1091 | { "GAFR1U_55", 0x40E00060, 14, 0x00000003, 'x', "GPIO 55 alternate function select" }, | ||
1092 | { "GAFR1U_56", 0x40E00060, 16, 0x00000003, 'x', "GPIO 56 alternate function select" }, | ||
1093 | { "GAFR1U_57", 0x40E00060, 18, 0x00000003, 'x', "GPIO 57 alternate function select" }, | ||
1094 | { "GAFR1U_58", 0x40E00060, 20, 0x00000003, 'x', "GPIO 58 alternate function select" }, | ||
1095 | { "GAFR1U_59", 0x40E00060, 22, 0x00000003, 'x', "GPIO 59 alternate function select" }, | ||
1096 | { "GAFR1U_60", 0x40E00060, 24, 0x00000003, 'x', "GPIO 60 alternate function select" }, | ||
1097 | { "GAFR1U_61", 0x40E00060, 26, 0x00000003, 'x', "GPIO 61 alternate function select" }, | ||
1098 | { "GAFR1U_62", 0x40E00060, 28, 0x00000003, 'x', "GPIO 62 alternate function select" }, | ||
1099 | { "GAFR1U_63", 0x40E00060, 30, 0x00000003, 'x', "GPIO 63 alternate function select" }, | ||
1100 | |||
1101 | { "GAFR2L", 0x40E00064, 0, 0xffffffff, 'x', "GPIO Alternate Function Register 2 Lower (4-19)" }, | ||
1102 | { "GAFR2L_64", 0x40E00064, 0, 0x00000003, 'x', "GPIO 64 alternate function select" }, | ||
1103 | { "GAFR2L_65", 0x40E00064, 2, 0x00000003, 'x', "GPIO 65 alternate function select" }, | ||
1104 | { "GAFR2L_66", 0x40E00064, 4, 0x00000003, 'x', "GPIO 66 alternate function select" }, | ||
1105 | { "GAFR2L_67", 0x40E00064, 6, 0x00000003, 'x', "GPIO 67 alternate function select" }, | ||
1106 | { "GAFR2L_68", 0x40E00064, 8, 0x00000003, 'x', "GPIO 68 alternate function select" }, | ||
1107 | { "GAFR2L_69", 0x40E00064, 10, 0x00000003, 'x', "GPIO 69 alternate function select" }, | ||
1108 | { "GAFR2L_70", 0x40E00064, 12, 0x00000003, 'x', "GPIO 70 alternate function select" }, | ||
1109 | { "GAFR2L_71", 0x40E00064, 14, 0x00000003, 'x', "GPIO 71 alternate function select" }, | ||
1110 | { "GAFR2L_72", 0x40E00064, 16, 0x00000003, 'x', "GPIO 72 alternate function select" }, | ||
1111 | { "GAFR2L_73", 0x40E00064, 18, 0x00000003, 'x', "GPIO 73 alternate function select" }, | ||
1112 | { "GAFR2L_74", 0x40E00064, 20, 0x00000003, 'x', "GPIO 74 alternate function select" }, | ||
1113 | { "GAFR2L_75", 0x40E00064, 22, 0x00000003, 'x', "GPIO 75 alternate function select" }, | ||
1114 | { "GAFR2L_76", 0x40E00064, 24, 0x00000003, 'x', "GPIO 76 alternate function select" }, | ||
1115 | { "GAFR2L_77", 0x40E00064, 26, 0x00000003, 'x', "GPIO 77 alternate function select" }, | ||
1116 | { "GAFR2L_78", 0x40E00064, 28, 0x00000003, 'x', "GPIO 78 alternate function select" }, | ||
1117 | { "GAFR2L_79", 0x40E00064, 30, 0x00000003, 'x', "GPIO 79 alternate function select" }, | ||
1118 | |||
1119 | { "GAFR2U", 0x40E00068, 0, 0xffffffff, 'x', "GPIO Alternate Function Register 2 Upper (4-19)" }, | ||
1120 | { "GAFR2U_80", 0x40E00068, 0, 0x00000003, 'x', "GPIO 80 alternate function select" }, | ||
1121 | { "GAFR2U_81", 0x40E00068, 2, 0x00000003, 'x', "GPIO 81 alternate function select" }, | ||
1122 | { "GAFR2U_82", 0x40E00068, 4, 0x00000003, 'x', "GPIO 82 alternate function select" }, | ||
1123 | { "GAFR2U_83", 0x40E00068, 6, 0x00000003, 'x', "GPIO 83 alternate function select" }, | ||
1124 | { "GAFR2U_84", 0x40E00068, 8, 0x00000003, 'x', "GPIO 84 alternate function select" }, | ||
1125 | |||
1126 | { "ICMR", 0x40D00004, 0, 0xffffffff, 'x', "Interrupt Controller Mask Register (4-22)" }, | ||
1127 | { "ICMR_IM7", 0x40D00004, 7, 0x00000001, 'x', "Pending IRQ 7 (HWUART) unmasked?" }, | ||
1128 | { "ICMR_IM8", 0x40D00004, 8, 0x00000001, 'x', "Pending IRQ 8 (GPIO0) unmasked" }, | ||
1129 | { "ICMR_IM9", 0x40D00004, 9, 0x00000001, 'x', "Pending IRQ 9 (GPIO1) unmasked" }, | ||
1130 | { "ICMR_IM10", 0x40D00004, 10, 0x00000001, 'x', "Pending IRQ 10 (GPIO2_80) unmasked" }, | ||
1131 | { "ICMR_IM11", 0x40D00004, 11, 0x00000001, 'x', "Pending IRQ 11 (USB) unmasked" }, | ||
1132 | { "ICMR_IM12", 0x40D00004, 12, 0x00000001, 'x', "Pending IRQ 12 (PMU) unmasked" }, | ||
1133 | { "ICMR_IM13", 0x40D00004, 13, 0x00000001, 'x', "Pending IRQ 13 (I2S) unmasked" }, | ||
1134 | { "ICMR_IM14", 0x40D00004, 14, 0x00000001, 'x', "Pending IRQ 14 (AC97) unmasked" }, | ||
1135 | { "ICMR_IM17", 0x40D00004, 17, 0x00000001, 'x', "Pending IRQ 17 (LCD) unmasked" }, | ||
1136 | { "ICMR_IM18", 0x40D00004, 18, 0x00000001, 'x', "Pending IRQ 18 (I2C) unmasked" }, | ||
1137 | { "ICMR_IM19", 0x40D00004, 19, 0x00000001, 'x', "Pending IRQ 19 (ICP) unmasked" }, | ||
1138 | { "ICMR_IM20", 0x40D00004, 20, 0x00000001, 'x', "Pending IRQ 20 (STUART) unmasked" }, | ||
1139 | { "ICMR_IM21", 0x40D00004, 21, 0x00000001, 'x', "Pending IRQ 21 (BTUART) unmasked" }, | ||
1140 | { "ICMR_IM22", 0x40D00004, 22, 0x00000001, 'x', "Pending IRQ 22 (FFUART) unmasked" }, | ||
1141 | { "ICMR_IM23", 0x40D00004, 23, 0x00000001, 'x', "Pending IRQ 23 (MMC) unmasked" }, | ||
1142 | { "ICMR_IM24", 0x40D00004, 24, 0x00000001, 'x', "Pending IRQ 24 (SSP) unmasked" }, | ||
1143 | { "ICMR_IM25", 0x40D00004, 25, 0x00000001, 'x', "Pending IRQ 25 (DMA) unmasked" }, | ||
1144 | { "ICMR_IM26", 0x40D00004, 26, 0x00000001, 'x', "Pending IRQ 26 (OSMR0) unmasked" }, | ||
1145 | { "ICMR_IM27", 0x40D00004, 27, 0x00000001, 'x', "Pending IRQ 27 (OSMR1) unmasked" }, | ||
1146 | { "ICMR_IM28", 0x40D00004, 28, 0x00000001, 'x', "Pending IRQ 28 (OSMR2) unmasked" }, | ||
1147 | { "ICMR_IM29", 0x40D00004, 29, 0x00000001, 'x', "Pending IRQ 29 (OSMR3) unmasked" }, | ||
1148 | { "ICMR_IM30", 0x40D00004, 30, 0x00000001, 'x', "Pending IRQ 30 (RTCCLK) unmasked" }, | ||
1149 | { "ICMR_IM31", 0x40D00004, 31, 0x00000001, 'x', "Pending IRQ 31 (RTCALM) unmasked" }, | ||
1150 | |||
1151 | { "ICLR", 0x40D00008, 0, 0xffffffff, 'x', "Interrupt Controller Level Register (4-23)" }, | ||
1152 | { "ICLR_IL7", 0x40D00008, 7, 0x00000001, 'x', "IRQ 8 (HWUART) generates FIQ?" }, | ||
1153 | { "ICLR_IL8", 0x40D00008, 8, 0x00000001, 'x', "IRQ 8 (GPIO0) generates FIQ" }, | ||
1154 | { "ICLR_IL9", 0x40D00008, 9, 0x00000001, 'x', "IRQ 9 (GPIO1) generates FIQ" }, | ||
1155 | { "ICLR_IL10", 0x40D00008, 10, 0x00000001, 'x', "IRQ 10 (GPIO2_80) generates FIQ" }, | ||
1156 | { "ICLR_IL11", 0x40D00008, 11, 0x00000001, 'x', "IRQ 11 (USB) generates FIQ" }, | ||
1157 | { "ICLR_IL12", 0x40D00008, 12, 0x00000001, 'x', "IRQ 12 (PMU) generates FIQ" }, | ||
1158 | { "ICLR_IL13", 0x40D00008, 13, 0x00000001, 'x', "IRQ 13 (I2S) generates FIQ" }, | ||
1159 | { "ICLR_IL14", 0x40D00008, 14, 0x00000001, 'x', "IRQ 14 (AC97) generates FIQ" }, | ||
1160 | { "ICLR_IL17", 0x40D00008, 17, 0x00000001, 'x', "IRQ 17 (LCD) generates FIQ" }, | ||
1161 | { "ICLR_IL18", 0x40D00008, 18, 0x00000001, 'x', "IRQ 18 (I2C) generates FIQ" }, | ||
1162 | { "ICLR_IL19", 0x40D00008, 19, 0x00000001, 'x', "IRQ 19 (ICP) generates FIQ" }, | ||
1163 | { "ICLR_IL20", 0x40D00008, 20, 0x00000001, 'x', "IRQ 10 (STUART) generates FIQ" }, | ||
1164 | { "ICLR_IL21", 0x40D00008, 21, 0x00000001, 'x', "IRQ 21 (BTUART) generates FIQ" }, | ||
1165 | { "ICLR_IL22", 0x40D00008, 22, 0x00000001, 'x', "IRQ 22 (FFUART) generates FIQ" }, | ||
1166 | { "ICLR_IL23", 0x40D00008, 23, 0x00000001, 'x', "IRQ 23 (MMC) generates FIQ" }, | ||
1167 | { "ICLR_IL24", 0x40D00008, 24, 0x00000001, 'x', "IRQ 24 (SSP) generates FIQ" }, | ||
1168 | { "ICLR_IL25", 0x40D00008, 25, 0x00000001, 'x', "IRQ 25 (DMA) generates FIQ" }, | ||
1169 | { "ICLR_IL26", 0x40D00008, 26, 0x00000001, 'x', "IRQ 26 (OSMR0) generates FIQ" }, | ||
1170 | { "ICLR_IL27", 0x40D00008, 27, 0x00000001, 'x', "IRQ 27 (OSMR1) generates FIQ" }, | ||
1171 | { "ICLR_IL28", 0x40D00008, 28, 0x00000001, 'x', "IRQ 28 (OSMR2) generates FIQ" }, | ||
1172 | { "ICLR_IL29", 0x40D00008, 29, 0x00000001, 'x', "IRQ 29 (OSMR3) generates FIQ" }, | ||
1173 | { "ICLR_IL30", 0x40D00008, 30, 0x00000001, 'x', "IRQ 30 (RTCCLK) generates FIQ" }, | ||
1174 | { "ICLR_IL31", 0x40D00008, 31, 0x00000001, 'x', "IRQ 31 (RTCALM) generates FIQ" }, | ||
1175 | |||
1176 | { "ICCR", 0x40D00014, 0, 0xffffffff, 'x', "Interrupt Controller Control Register (4-23)" }, | ||
1177 | { "ICCR_DIM", 0x40D00014, 8, 0x00000001, 'x', "ONLY enabled and unmasked IRQ bring CPU from idle to run" }, | ||
1178 | |||
1179 | { "ICIP", 0x40D00000, 0, 0xffffffff, 'x', "Interrupt Controller IRQ Pending Register (4-24)" }, | ||
1180 | |||
1181 | { "ICFP", 0x40D0000C, 0, 0xffffffff, 'x', "Interrupt Controller FIQ Pending Register (4-24)" }, | ||
1182 | |||
1183 | { "ICPR", 0x40D00010, 0, 0xffffffff, 'x', "Interrupt Controller Pending Register (4-25)" }, | ||
1184 | { "ICPR_IS7", 0x40D00010, 7, 0x00000001, 'x', "IRQ 7 (HWUART) pending" }, | ||
1185 | { "ICPR_IS8", 0x40D00010, 8, 0x00000001, 'x', "IRQ 8 (GPIO0) pending" }, | ||
1186 | { "ICPR_IS9", 0x40D00010, 9, 0x00000001, 'x', "IRQ 9 (GPIO1) pending" }, | ||
1187 | { "ICPR_IS10", 0x40D00010, 10, 0x00000001, 'x', "IRQ 10 (GPIO2_80) pending" }, | ||
1188 | { "ICPR_IS11", 0x40D00010, 11, 0x00000001, 'x', "IRQ 11 (USB) pending" }, | ||
1189 | { "ICPR_IS12", 0x40D00010, 12, 0x00000001, 'x', "IRQ 12 (PMU) pending" }, | ||
1190 | { "ICPR_IS13", 0x40D00010, 13, 0x00000001, 'x', "IRQ 13 (I2S) pending" }, | ||
1191 | { "ICPR_IS14", 0x40D00010, 14, 0x00000001, 'x', "IRQ 14 (AC97) pending" }, | ||
1192 | { "ICPR_IS17", 0x40D00010, 17, 0x00000001, 'x', "IRQ 17 (LCD) pending" }, | ||
1193 | { "ICPR_IS18", 0x40D00010, 18, 0x00000001, 'x', "IRQ 18 (I2C) pending" }, | ||
1194 | { "ICPR_IS19", 0x40D00010, 19, 0x00000001, 'x', "IRQ 19 (ICP) pending" }, | ||
1195 | { "ICPR_IS20", 0x40D00010, 20, 0x00000001, 'x', "IRQ 10 (STUART) pending" }, | ||
1196 | { "ICPR_IS21", 0x40D00010, 21, 0x00000001, 'x', "IRQ 21 (BTUART) pending" }, | ||
1197 | { "ICPR_IS22", 0x40D00010, 22, 0x00000001, 'x', "IRQ 22 (FFUART) pending" }, | ||
1198 | { "ICPR_IS23", 0x40D00010, 23, 0x00000001, 'x', "IRQ 23 (MMC) pending" }, | ||
1199 | { "ICPR_IS24", 0x40D00010, 24, 0x00000001, 'x', "IRQ 24 (SSP) pending" }, | ||
1200 | { "ICPR_IS25", 0x40D00010, 25, 0x00000001, 'x', "IRQ 25 (DMA) pending" }, | ||
1201 | { "ICPR_IS26", 0x40D00010, 26, 0x00000001, 'x', "IRQ 26 (OSMR0) pending" }, | ||
1202 | { "ICPR_IS27", 0x40D00010, 27, 0x00000001, 'x', "IRQ 27 (OSMR1) pending" }, | ||
1203 | { "ICPR_IS28", 0x40D00010, 28, 0x00000001, 'x', "IRQ 28 (OSMR2) pending" }, | ||
1204 | { "ICPR_IS29", 0x40D00010, 29, 0x00000001, 'x', "IRQ 29 (OSMR3) pending" }, | ||
1205 | { "ICPR_IS30", 0x40D00010, 30, 0x00000001, 'x', "IRQ 30 (RTCCLK) pending" }, | ||
1206 | { "ICPR_IS31", 0x40D00010, 31, 0x00000001, 'x', "IRQ 31 (RTCALM) pending" }, | ||
1207 | |||
1208 | { "RTTR", 0x4090000C, 0, 0xffffffff, 'x', "RTC Trim Register (4-30)" }, | ||
1209 | { "RTTR_CK_DIV", 0x4090000C, 0, 0x0000ffff, 'x', "RTC Clock Divider Count" }, | ||
1210 | { "RTTR_DEL", 0x4090000C, 16, 0x000003ff, 'x', "RTC Trim delete Count" }, | ||
1211 | { "RTTR_LCK", 0x4090000C, 31, 0x00000001, 'x', "RTC Locking for RTTR" }, | ||
1212 | |||
1213 | { "RTAR", 0x40900010, 0, 0xffffffff, 'x', "RTC Alarm Register (4-30)" }, | ||
1214 | { "RTAR_RTMV", 0x40900010, 0, 0xffffffff, 'x', "RTC Target Match Value" }, | ||
1215 | |||
1216 | { "RCNR", 0x40900000, 0, 0xffffffff, 'x', "RTC Counter Register (4-31)" }, | ||
1217 | { "RCNR_RCV", 0x40900000, 0, 0xffffffff, 'x', "RTC Count Value" }, | ||
1218 | |||
1219 | { "RTSR", 0x40900008, 0, 0xffffffff, 'x', "RTC Status Register (4-32)" }, | ||
1220 | { "RTSR_AL", 0x40900008, 0, 0x00000001, 'x', "RTC Alarm Interrupt detected" }, | ||
1221 | { "RTSR_HZ", 0x40900008, 1, 0x00000001, 'x', "RTC Hz Interrupt detected" }, | ||
1222 | { "RTSR_ALE", 0x40900008, 2, 0x00000001, 'x', "RTC Alarm Interrupt Enable" }, | ||
1223 | { "RTSR_HZE", 0x40900008, 3, 0x00000001, 'x', "RTC Hz Interrupt Enable" }, | ||
1224 | |||
1225 | { "OSMR0", 0x40A00000, 0, 0xffffffff, 'x', "OS Timer Match Register 0 (4-36)" }, | ||
1226 | { "OSMR1", 0x40A00004, 0, 0xffffffff, 'x', "OS Timer Match Register 1 (4-36)" }, | ||
1227 | { "OSMR2", 0x40A00008, 0, 0xffffffff, 'x', "OS Timer Match Register 2 (4-36)" }, | ||
1228 | { "OSMR3", 0x40A0000C, 0, 0xffffffff, 'x', "OS Timer Match Register 3 (4-36)" }, | ||
1229 | |||
1230 | { "OIER", 0x40A0001C, 0, 0xffffffff, 'x', "OS Timer Interrupt Enable Register (4-36)" }, | ||
1231 | { "OIER_E0", 0x40A0001C, 0, 0x00000001, 'x', "OS Interrupt for OSMR0 enabled" }, | ||
1232 | { "OIER_E1", 0x40A0001C, 1, 0x00000001, 'x', "OS Interrupt for OSMR1 enabled" }, | ||
1233 | { "OIER_E2", 0x40A0001C, 2, 0x00000001, 'x', "OS Interrupt for OSMR2 enabled" }, | ||
1234 | { "OIER_E3", 0x40A0001C, 3, 0x00000001, 'x', "OS Interrupt for OSMR3 enabled" }, | ||
1235 | |||
1236 | { "OWER", 0x40A00018, 0, 0xffffffff, 'x', "OS Timer Watchdog Match Enable Register (4-37)" }, | ||
1237 | { "OWER_WME", 0x40A00018, 0, 0x00000001, 'x', "OSMR3 match causes a reset" }, | ||
1238 | |||
1239 | { "OSCR", 0x40A00010, 0, 0xffffffff, 'x', "OS Timer Count Register (4-37)" }, | ||
1240 | { "OSCR_OSCV", 0x40A00010, 0, 0xffffffff, 'x', "OS Timer Count Value" }, | ||
1241 | |||
1242 | { "OSSR", 0x40A00014, 0, 0xffffffff, 'x', "OS Timer Status Register (4-38)" }, | ||
1243 | { "OSSR_M0", 0x40A00014, 0, 0x00000001, 'x', "OS OSMR0 matched OSCR0" }, | ||
1244 | { "OSSR_M1", 0x40A00014, 1, 0x00000001, 'x', "OS OSMR1 matched OSCR1" }, | ||
1245 | { "OSSR_M2", 0x40A00014, 2, 0x00000001, 'x', "OS OSMR2 matched OSCR2" }, | ||
1246 | { "OSSR_M3", 0x40A00014, 3, 0x00000001, 'x', "OS OSMR3 matched OSCR3" }, | ||
1247 | |||
1248 | { "PWMCTL0", 0x40B00000, 0, 0xffffffff, 'x', "PWM Control Register 0 (4-41)" }, | ||
1249 | { "PWMCTL0_PRESCALE", 0x40B00000, 0, 0x0000003f, 'd', "PWM0 Prescale Divisor" }, | ||
1250 | { "PWMCTL0_SD", 0x40B00000, 5, 0x00000001, 'x', "PWM0 abrupt shutdown" }, | ||
1251 | |||
1252 | { "PWMDUTY0", 0x40B00004, 0, 0xffffffff, 'x', "PWM Duty Cycle Register 0 (4-42)" }, | ||
1253 | { "PWMDUTY0_DCYCLE", 0x40B00004, 0, 0x000003ff, 'd', "PWM0 Duty Cycle" }, | ||
1254 | { "PWMDUTY0_FDCYCLE", 0x40B00004, 10, 0x00000001, 'x', "PWM_OUT0 is set high and does not toggle" }, | ||
1255 | |||
1256 | { "PWMPERVAL0", 0x40B00008, 0, 0xffffffff, 'x', "PWM Period Control Register 0 (4-43)" }, | ||
1257 | { "PWMPERVAL0_PV", 0x40B00008, 0, 0x000003ff, 'd', "PWM0 Period Cycle Length" }, | ||
1258 | |||
1259 | { "PWMCTL1", 0x40C00000, 0, 0xffffffff, 'x', "PWM Control Register 1 (4-41)" }, | ||
1260 | { "PWMCTL1_PRESCALE", 0x40C00000, 0, 0x0000003f, 'd', "PWM1 Prescale Divisor" }, | ||
1261 | { "PWMCTL1_SD", 0x40C00000, 5, 0x00000001, 'x', "PWM1 abrupt shutdown" }, | ||
1262 | |||
1263 | { "PWMDUTY1", 0x40C00004, 0, 0xffffffff, 'x', "PWM Duty Cycle Register 1 (4-42)" }, | ||
1264 | { "PWMDUTY1_DCYCLE", 0x40C00004, 0, 0x000003ff, 'd', "PWM1 Duty Cycle" }, | ||
1265 | { "PWMDUTY1_FDCYCLE", 0x40C00004, 10, 0x00000001, 'x', "PWM_OUT1 is set high and does not toggle" }, | ||
1266 | |||
1267 | { "PWMPERVAL1", 0x40C00008, 0, 0xffffffff, 'x', "PWM Period Control Register 1 (4-43)" }, | ||
1268 | { "PWMPERVAL1_PV", 0x40C00008, 0, 0x000003ff, 'd', "PWM1 Period Cycle Length" }, | ||
1269 | |||
1270 | |||
1271 | { "LCCR0", 0x44000000, 0, 0xffffffff, 'x', "LCD Controller Control Register 0 (7-23)" }, | ||
1272 | { "LCCR0_ENB", 0x44000000, 0, 0x00000001, 'd', "LCD controller enable" }, | ||
1273 | { "LCCR0_CMS", 0x44000000, 1, 0x00000001, 'd', "LCD monochrome operation enable" }, | ||
1274 | { "LCCR0_SDS", 0x44000000, 2, 0x00000001, 'd', "LCD dual panel display enable" }, | ||
1275 | { "LCCR0_LDM", 0x44000000, 3, 0x00000001, 'd', "LCD disable done IRQ disable" }, | ||
1276 | { "LCCR0_SFM", 0x44000000, 4, 0x00000001, 'd', "LCD start of frame IRQ disable" }, | ||
1277 | { "LCCR0_IUM", 0x44000000, 5, 0x00000001, 'd', "LCD fifo underrun error IRQ disable" }, | ||
1278 | { "LCCR0_EFM", 0x44000000, 6, 0x00000001, 'd', "LCD end of frame IRQ disable" }, | ||
1279 | { "LCCR0_PAS", 0x44000000, 7, 0x00000001, 'd', "LCD active display enable" }, | ||
1280 | { "LCCR0_DPD", 0x44000000, 9, 0x00000001, 'd', "LCD send 8 pixel on L_DD[7:0] at each clock" }, | ||
1281 | { "LCCR0_DIS", 0x44000000, 10, 0x00000001, 'd', "LCD controller disable" }, | ||
1282 | { "LCCR0_QDM", 0x44000000, 11, 0x00000001, 'd', "LCD quick disable IRQ disable" }, | ||
1283 | { "LCCR0_PDD", 0x44000000, 12, 0x000000FF, 'd', "LCD palette DMA request delay" }, | ||
1284 | { "LCCR0_BM", 0x44000000, 20, 0x00000001, 'd', "LCD branch start IRQ disable" }, | ||
1285 | { "LCCR0_OUM", 0x44000000, 21, 0x00000001, 'd', "LCD fifo underrun IRQ disable" }, | ||
1286 | |||
1287 | { "LCCR1", 0x44000004, 0, 0xffffffff, 'x', "LCD Controller Control Register 1 (7-26)" }, | ||
1288 | { "LCCR1_PPL", 0x44000004, 0, 0x000003ff, 'd', "LCD pixels per line (+1)" }, | ||
1289 | { "LCCR1_HSW", 0x44000004, 10, 0x0000003f, 'd', "LCD horizontal sync pulse width (+1)" }, | ||
1290 | { "LCCR1_ELW", 0x44000004, 16, 0x000000ff, 'd', "LCD end of line pixel clock wait count (+1)" }, | ||
1291 | { "LCCR1_BLW", 0x44000004, 24, 0x000000ff, 'd', "LCD beginning of line pixel clock wait count (+1)" }, | ||
1292 | |||
1293 | { "LCCR2", 0x44000008, 0, 0xffffffff, 'x', "LCD Controller Control Register 2 (7-28)" }, | ||
1294 | { "LCCR2_LPP", 0x44000008, 0, 0x000003ff, 'd', "LCD lines per panel (+1)" }, | ||
1295 | { "LCCR2_VSW", 0x44000008, 10, 0x0000003f, 'd', "LCD vertical sync pulse width (+1)" }, | ||
1296 | { "LCCR2_EFW", 0x44000008, 16, 0x000000ff, 'd', "LCD end of frame line clock wait count (+1)" }, | ||
1297 | { "LCCR2_BFW", 0x44000008, 24, 0x000000ff, 'd', "LCD beginning of frame line clock wait count (+1)" }, | ||
1298 | |||
1299 | { "LCCR3", 0x4400000C, 0, 0xffffffff, 'x', "LCD Controller Control Register 3 (7-31)" }, | ||
1300 | { "LCCR3_PCD", 0x4400000C, 0, 0x000000ff, 'd', "LCD pixel clock divisor (+1)" }, | ||
1301 | { "LCCR3_ACB", 0x4400000C, 8, 0x000000ff, 'd', "LCD AC bias pin frequency (+1)" }, | ||
1302 | { "LCCR3_API", 0x4400000C, 16, 0x0000000f, 'd', "LCD AC bias pin transitions per interrupt" }, | ||
1303 | { "LCCR3_VSP", 0x4400000C, 20, 0x00000001, 'd', "LCD L_FCLK vertical sync polarity active low" }, | ||
1304 | { "LCCR3_HSP", 0x4400000C, 21, 0x00000001, 'd', "LCD L_LCLK horizontal sync polarity active low" }, | ||
1305 | { "LCCR3_PCP", 0x4400000C, 22, 0x00000001, 'd', "LCD data sampled on falling edge of L_PCLK" }, | ||
1306 | { "LCCR3_OEP", 0x4400000C, 23, 0x00000001, 'd', "LCD L_BIAS output enable active low" }, | ||
1307 | { "LCCR3_BPP", 0x4400000C, 24, 0x00000007, '<', "LCD bits per pixel" }, | ||
1308 | { "LCCR3_DPC", 0x4400000C, 27, 0x00000007, 'd', "LCD double pixel clock rate at L_PCLK" }, | ||
1309 | |||
1310 | |||
1311 | { "FBR0", 0x44000020, 0, 0xffffffff, 'x', "FBR0" }, | ||
1312 | { "FBR1", 0x44000020, 0, 0xffffffff, 'x', "FBR1" }, | ||
1313 | { "LCSR", 0x44000038, 0, 0xffffffff, 'x', "LCD Controller Status Register (7-40)" }, | ||
1314 | { "LIIDR", 0x4400003C, 0, 0xffffffff, 'x', "LCD Controller Interrupt ID Register (7-41)" }, | ||
1315 | // TODO | ||
1316 | |||
1317 | { "TRGBBR", 0x44000040, 0, 0xffffffff, 'x', "TMED RBG Seed Register (7-42)" }, | ||
1318 | { "TRGBBR_TRS",0x44000040, 0, 0x000000ff, 'x', "Red Seed" }, | ||
1319 | { "TRGBBR_TGS",0x44000040, 8, 0x000000ff, 'x', "Green Seed" }, | ||
1320 | { "TRGBBR_TBS",0x44000040, 16, 0x000000ff, 'x', "Blue Seed" }, | ||
1321 | |||
1322 | { "TCR", 0x44000044, 0, 0xffffffff, 'x', "TMED Control Register (7-44)" }, | ||
1323 | { "TCR_COAM", 0x44000044, 0, 0x00000001, 'x', "Color Offset Adjuster Matrix" }, | ||
1324 | { "TCR_FNAM", 0x44000044, 1, 0x00000001, 'x', "Frame Number Adjuster Matrix" }, | ||
1325 | { "TCR_COAE", 0x44000044, 2, 0x00000001, 'x', "Color Offset Adjuster Enable" }, | ||
1326 | { "TCR_FNAME", 0x44000044, 3, 0x00000001, 'x', "Frame Number Adjuster Enable" }, | ||
1327 | { "TCR_TVBS", 0x44000044, 4, 0x0000000f, 'd', "Vertical Beat Suppression" }, | ||
1328 | { "TCR_THBS", 0x44000044, 8, 0x0000000f, 'd', "Horizontal Beat Suppression" }, | ||
1329 | { "TCR_TED", 0x44000044, 14, 0x00000001, 'x', "Energy Distribution Matrix Select" }, | ||
1330 | |||
1331 | { "FDADR0", 0x44000200, 0, 0xffffffff, 'x', "FDADR0" }, | ||
1332 | { "FSADR0", 0x44000204, 0, 0xffffffff, 'x', "FSADR0" }, | ||
1333 | { "FIDR0", 0x44000208, 0, 0xffffffff, 'x', "FODR0" }, | ||
1334 | { "LDCMD0", 0x4400020C, 0, 0xffffffff, 'x', "LDCMD0" }, | ||
1335 | { "FDADR1", 0x44000210, 0, 0xffffffff, 'x', "FDADR1" }, | ||
1336 | { "FSADR1", 0x44000214, 0, 0xffffffff, 'x', "FSADR1" }, | ||
1337 | { "FIDR1", 0x44000218, 0, 0xffffffff, 'x', "FIDR1" }, | ||
1338 | { "LDCMD1", 0x4400021C, 0, 0xffffffff, 'x', "LDCMD1" }, | ||
1339 | // TODO | ||
1340 | |||
1341 | |||
1342 | |||
1343 | |||
1344 | { "MDCNFG", 0x48000000, 0, 0xffffffff, 'x', "SDRAM Configuration Register (6-9)" }, | ||
1345 | { "MDCNFG_DE0", 0x48000000, 0, 0x00000001, 'd', "SDRAM enable for partition 0" }, | ||
1346 | { "MDCNFG_DE1", 0x48000000, 1, 0x00000001, 'd', "SDRAM enable for partition 1" }, | ||
1347 | { "MDCNFG_DWID0", 0x48000000, 2, 0x00000001, 'd', "SDRAM data width (0=32, 1=16)" }, | ||
1348 | { "MDCNFG_DCAC0", 0x48000000, 3, 0x00000003, 'd', "Column address bits for partition pair 0/1" }, | ||
1349 | { "MDCNFG_DRAC0", 0x48000000, 5, 0x00000003, 'd', "Row address bits for partition pair 0/1" }, | ||
1350 | { "MDCNFG_DNB0", 0x48000000, 7, 0x00000001, 'd', "Banks in partition pair 0/1 (0=2, 1=4)" }, | ||
1351 | { "MDCNFG_DTC0", 0x48000000, 8, 0x00000003, 'd', "Timing Category for partition pair 0/1" }, | ||
1352 | { "MDCNFG_DADDR0", 0x48000000,10, 0x00000001, 'd', "Use alternate addressing for partition pair 0/1" }, | ||
1353 | { "MDCNFG_DLATCH0", 0x48000000,11, 0x00000001, 'd', "Return data latching scheme for partition pair 0/1" }, | ||
1354 | { "MDCNFG_DSA11110",0x48000000,12, 0x00000001, 'd', "use SA1111 address muxing for partition pair 0/1" }, | ||
1355 | { "MDCNFG_DE2", 0x48000000,16, 0x00000001, 'd', "SDRAM enable for partition 2" }, | ||
1356 | { "MDCNFG_DE3", 0x48000000,17, 0x00000001, 'd', "SDRAM enable for partition 3" }, | ||
1357 | { "MDCNFG_DWID2", 0x48000000,18, 0x00000001, 'd', "SDRAM data width (0=32, 1=16)" }, | ||
1358 | { "MDCNFG_DCAC2", 0x48000000,19, 0x00000003, 'd', "Column address bits for partition pair 2/3" }, | ||
1359 | { "MDCNFG_DRAC2", 0x48000000,21, 0x00000003, 'd', "Row address bits for partition pair 2/3" }, | ||
1360 | { "MDCNFG_DNB2", 0x48000000,23, 0x00000001, 'd', "Banks in partition pair 2/3 (0=2, 1=4)" }, | ||
1361 | { "MDCNFG_DTC2", 0x48000000,24, 0x00000003, 'd', "Timing Category for partition pair 2/3" }, | ||
1362 | { "MDCNFG_DADDR2", 0x48000000,26, 0x00000001, 'd', "Use alternate addressing for partition pair 2/3" }, | ||
1363 | { "MDCNFG_DLATCH2", 0x48000000,27, 0x00000001, 'd', "Return data latching scheme for partition pair 2/3" }, | ||
1364 | { "MDCNFG_DSA11112",0x48000000,28, 0x00000001, 'd', "use SA1111 address muxing for partition pair 2/3" }, | ||
1365 | |||
1366 | { "MDREFR", 0x48000004, 0, 0xffffffff, 'x', "SDRAM Refresh Configuration Register (6-15)" }, | ||
1367 | { "MDREFR_DRI", 0x48000004, 0, 0x00000fff, 'x', "SDRAM Refresh intervall, all paritions" }, | ||
1368 | { "MDREFR_E0PIN", 0x48000004,12, 0x00000001, 'x', "SDRAM Clock Enable Pin 0 Level" }, | ||
1369 | { "MDREFR_K0RUN", 0x48000004,13, 0x00000001, 'x', "SDRAM Clock Run Pin 0" }, | ||
1370 | { "MDREFR_K0DB2", 0x48000004,14, 0x00000001, 'x', "SDRAM Clock Pin 0 Divide/2" }, | ||
1371 | { "MDREFR_E1PIN", 0x48000004,15, 0x00000001, 'x', "SDRAM Clock Enable Pin 1 Level" }, | ||
1372 | { "MDREFR_K1RUN", 0x48000004,16, 0x00000001, 'x', "SDRAM Clock Run Pin 1" }, | ||
1373 | { "MDREFR_K1DB2", 0x48000004,17, 0x00000001, 'x', "SDRAM Clock Pin 1 Divide/2" }, | ||
1374 | { "MDREFR_K2RUN", 0x48000004,18, 0x00000001, 'x', "SDRAM Clock Run Pin 2" }, | ||
1375 | { "MDREFR_K2DB2", 0x48000004,19, 0x00000001, 'x', "SDRAM Clock Pin 2 Divide/2" }, | ||
1376 | { "MDREFR_APD", 0x48000004,20, 0x00000001, 'x', "SDRAM Auto Power Down enable" }, | ||
1377 | { "MDREFR_SLFRSH", 0x48000004,22, 0x00000001, 'x', "SDRAM Self-Refresh" }, | ||
1378 | { "MDREFR_K0FREE", 0x48000004,23, 0x00000001, 'x', "SDRAM Free Running Control for SDCLK0" }, | ||
1379 | { "MDREFR_K1FREE", 0x48000004,24, 0x00000001, 'x', "SDRAM Free Running Control for SDCLK1" }, | ||
1380 | { "MDREFR_K2FREE", 0x48000004,25, 0x00000001, 'x', "SDRAM Free Running Control for SDCLK2" }, | ||
1381 | |||
1382 | { "MSC0", 0x48000008, 0, 0xffffffff, 'x', "Asynchronous Static Memory Control Register 0 (6-45)" }, | ||
1383 | { "MSC0_RT0", 0x48000008, 0, 0x00000007, 'd', "nCS[0] ROM Type" }, | ||
1384 | { "MSC0_RBW0", 0x48000008, 3, 0x00000001, 'd', "nCS[0] ROM Bus Width (1=16bit)" }, | ||
1385 | { "MSC0_RDF0", 0x48000008, 4, 0x0000000f, 'd', "nCS[0] ROM Delay First Access" }, | ||
1386 | { "MSC0_RDN0", 0x48000008, 8, 0x0000000f, 'd', "nCS[0] ROM Delay Next Access" }, | ||
1387 | { "MSC0_RRR0", 0x48000008,12, 0x00000007, 'd', "nCS[0] ROM/SRAM Recovery Time" }, | ||
1388 | { "MSC0_RBUFF0", 0x48000008,15, 0x00000001, 'd', "nCS[0] Return Buffer Behavior (1=streaming)" }, | ||
1389 | { "MSC0_RT1", 0x48000008,16, 0x00000007, 'd', "nCS[1] ROM Type" }, | ||
1390 | { "MSC0_RBW1", 0x48000008,19, 0x00000001, 'd', "nCS[1] ROM Bus Width (1=16bit)" }, | ||
1391 | { "MSC0_RDF1", 0x48000008,20, 0x0000000f, 'd', "nCS[1] ROM Delay First Access" }, | ||
1392 | { "MSC0_RDN1", 0x48000008,24, 0x0000000f, 'd', "nCS[1] ROM Delay Next Access" }, | ||
1393 | { "MSC0_RRR1", 0x48000008,28, 0x00000007, 'd', "nCS[1] ROM/SRAM Recovery Time" }, | ||
1394 | { "MSC0_RBUFF1", 0x48000008,31, 0x00000001, 'd', "nCS[1] Return Buffer Behavior (1=streaming)" }, | ||
1395 | |||
1396 | { "MSC1", 0x4800000C, 0, 0xffffffff, 'x', "Asynchronous Static Memory Control Register 1 (6-45)" }, | ||
1397 | { "MSC1_RT2", 0x4800000C, 0, 0x00000007, 'd', "nCS[2] ROM Type" }, | ||
1398 | { "MSC1_RBW2", 0x4800000C, 3, 0x00000001, 'd', "nCS[2] ROM Bus Width (1=16bit)" }, | ||
1399 | { "MSC1_RDF2", 0x4800000C, 4, 0x0000000f, 'd', "nCS[2] ROM Delay First Access" }, | ||
1400 | { "MSC1_RDN2", 0x4800000C, 8, 0x0000000f, 'd', "nCS[2] ROM Delay Next Access" }, | ||
1401 | { "MSC1_RRR2", 0x4800000C,12, 0x00000007, 'd', "nCS[2] ROM/SRAM Recovery Time" }, | ||
1402 | { "MSC1_RBUFF2", 0x4800000C,15, 0x00000001, 'd', "nCS[2] Return Buffer Behavior (1=streaming)" }, | ||
1403 | { "MSC1_RT3", 0x4800000C,16, 0x00000007, 'd', "nCS[3] ROM Type" }, | ||
1404 | { "MSC1_RBW3", 0x4800000C,19, 0x00000001, 'd', "nCS[3] ROM Bus Width (1=16bit)" }, | ||
1405 | { "MSC1_RDF3", 0x4800000C,20, 0x0000000f, 'd', "nCS[3] ROM Delay First Access" }, | ||
1406 | { "MSC1_RDN3", 0x4800000C,24, 0x0000000f, 'd', "nCS[3] ROM Delay Next Access" }, | ||
1407 | { "MSC1_RRR3", 0x4800000C,28, 0x00000007, 'd', "nCS[3] ROM/SRAM Recovery Time" }, | ||
1408 | { "MSC1_RBUFF3", 0x4800000C,31, 0x00000001, 'd', "nCS[3] Return Buffer Behavior (1=streaming)" }, | ||
1409 | |||
1410 | { "MSC2", 0x48000010, 0, 0xffffffff, 'x', "Asynchronous Static Memory Control Register 2 (6-45)" }, | ||
1411 | { "MSC2_RT4", 0x48000010, 0, 0x00000007, 'd', "nCS[4] ROM Type" }, | ||
1412 | { "MSC2_RBW4", 0x48000010, 3, 0x00000001, 'd', "nCS[4] ROM Bus Width (1=16bit)" }, | ||
1413 | { "MSC2_RDF4", 0x48000010, 4, 0x0000000f, 'd', "nCS[4] ROM Delay First Access" }, | ||
1414 | { "MSC2_RDN4", 0x48000010, 8, 0x0000000f, 'd', "nCS[4] ROM Delay Next Access" }, | ||
1415 | { "MSC2_RRR4", 0x48000010,12, 0x00000007, 'd', "nCS[4] ROM/SRAM Recovery Time" }, | ||
1416 | { "MSC2_RBUFF4", 0x48000010,15, 0x00000001, 'd', "nCS[4] Return Buffer Behavior (1=streaming)" }, | ||
1417 | { "MSC2_RT5", 0x48000010,16, 0x00000007, 'd', "nCS[5] ROM Type" }, | ||
1418 | { "MSC2_RBW5", 0x48000010,19, 0x00000001, 'd', "nCS[5] ROM Bus Width (1=16bit)" }, | ||
1419 | { "MSC2_RDF5", 0x48000010,20, 0x0000000f, 'd', "nCS[5] ROM Delay First Access" }, | ||
1420 | { "MSC2_RDN5", 0x48000010,24, 0x0000000f, 'd', "nCS[5] ROM Delay Next Access" }, | ||
1421 | { "MSC2_RRR5", 0x48000010,28, 0x00000007, 'd', "nCS[5] ROM/SRAM Recovery Time" }, | ||
1422 | { "MSC2_RBUFF5", 0x48000010,31, 0x00000001, 'd', "nCS[5] Return Buffer Behavior (1=streaming)" }, | ||
1423 | |||
1424 | { "MECR", 0x48000014, 0, 0xffffffff, 'x', "Expansion Memory Configuration Register (6-61)" }, | ||
1425 | { "MECR_NOS", 0x48000014, 0, 0x00000001, 'x', "Number of Sockets (1=2 Sockets)" }, | ||
1426 | { "MECR_CIT", 0x48000014, 1, 0x00000001, 'x', "Card inserted" }, | ||
1427 | |||
1428 | { "SXCNFG", 0x4800001C, 0, 0xffffffff, 'x', "Synchronous Static Memory Configuration Register (6-33)" }, | ||
1429 | { "SXCNFG_SXEN0", 0x4800001C, 0, 0x00000001, 'x', "Partition 0 enabled as SX memory" }, | ||
1430 | { "SXCNFG_SXEN1", 0x4800001C, 1, 0x00000001, 'x', "Partition 1 enabled as SX memory" }, | ||
1431 | { "SXCNFG_SXCL0", 0x4800001C, 2, 0x00000007, 'x', "Partition 0/1 CAS Latency" }, | ||
1432 | { "SXCNFG_SXRL0", 0x4800001C, 5, 0x00000007, 'x', "Partition 0/1 RAS Latency" }, | ||
1433 | { "SXCNFG_SXRA0", 0x4800001C, 8, 0x00000003, 'x', "Partition 0/1 row address bit count" }, | ||
1434 | { "SXCNFG_SXCA0", 0x4800001C,10, 0x00000003, 'x', "Partition 0/1 column address bit count" }, | ||
1435 | { "SXCNFG_SXTP0", 0x4800001C,12, 0x00000003, 'x', "Partition 0/1 memory type" }, | ||
1436 | { "SXCNFG_SXLATCH0",0x4800001C,14, 0x00000001, 'x', "Partition 0/1 return data with return clock" }, | ||
1437 | { "SXCNFG_SXEN2", 0x4800001C,16, 0x00000001, 'x', "Partition 2 enabled as SX memory" }, | ||
1438 | { "SXCNFG_SXEN3", 0x4800001C,17, 0x00000001, 'x', "Partition 3 enabled as SX memory" }, | ||
1439 | { "SXCNFG_SXCL2", 0x4800001C,18, 0x00000007, 'x', "Partition 2/3 CAS Latency" }, | ||
1440 | { "SXCNFG_SXRL2", 0x4800001C,21, 0x00000007, 'x', "Partition 2/3 RAS Latency" }, | ||
1441 | { "SXCNFG_SXRA2", 0x4800001C,24, 0x00000003, 'x', "Partition 2/3 row address bit count" }, | ||
1442 | { "SXCNFG_SXCA2", 0x4800001C,26, 0x00000003, 'x', "Partition 2/3 column address bit count" }, | ||
1443 | { "SXCNFG_SXTP2", 0x4800001C,28, 0x00000003, 'x', "Partition 2/3 memory type" }, | ||
1444 | { "SXCNFG_SXLATCH2",0x4800001C,30, 0x00000001, 'x', "Partition 2/3 return data with return clock" }, | ||
1445 | |||
1446 | { "SXMRS", 0x48000024, 0, 0xffffffff, 'x', "MRS value to be written to SX Memory (6-38)" }, | ||
1447 | |||
1448 | { "MCMEM0", 0x48000028, 0, 0xffffffff, 'x', "MEM Control for PCMCIA Socket 0 (6-58)" }, | ||
1449 | { "MCMEM0_SET", 0x48000028, 0, 0x0000007f, 'd', "Address set time" }, | ||
1450 | { "MCMEM0_ASST", 0x48000028, 7, 0x0000001f, 'd', "Command assertion time" }, | ||
1451 | { "MCMEM0_HOLD", 0x48000028,14, 0x0000003f, 'd', "Address hold time" }, | ||
1452 | |||
1453 | { "MCMEM1", 0x4800002C, 0, 0xffffffff, 'x', "MEM Control for PCMCIA Socket 1 (6-58)" }, | ||
1454 | { "MCMEM1_SET", 0x4800002C, 0, 0x0000007f, 'd', "Address set time" }, | ||
1455 | { "MCMEM1_ASST", 0x4800002C, 7, 0x0000001f, 'd', "Command assertion time" }, | ||
1456 | { "MCMEM1_HOLD", 0x4800002C,14, 0x0000003f, 'd', "Address hold time" }, | ||
1457 | |||
1458 | { "MCATT0", 0x48000030, 0, 0xffffffff, 'x', "ATT Control for PCMCIA Socket 0 (6-59)" }, | ||
1459 | { "MCATT0_SET", 0x48000030, 0, 0x0000007f, 'd', "Address set time" }, | ||
1460 | { "MCATT0_ASST", 0x48000030, 7, 0x0000001f, 'd', "Command assertion time" }, | ||
1461 | { "MCATT0_HOLD", 0x48000030,14, 0x0000003f, 'd', "Address hold time" }, | ||
1462 | |||
1463 | { "MCATT1", 0x48000034, 0, 0xffffffff, 'x', "ATT Control for PCMCIA Socket 1 (6-59)" }, | ||
1464 | { "MCATT1_SET", 0x48000034, 0, 0x0000007f, 'd', "Address set time" }, | ||
1465 | { "MCATT1_ASST", 0x48000034, 7, 0x0000001f, 'd', "Command assertion time" }, | ||
1466 | { "MCATT1_HOLD", 0x48000034,14, 0x0000003f, 'd', "Address hold time" }, | ||
1467 | |||
1468 | { "MCIO0", 0x48000038, 0, 0xffffffff, 'x', "I/O Control for PCMCIA Socket 0 (6-59)" }, | ||
1469 | { "MCIO0_SET", 0x48000038, 0, 0x0000007f, 'd', "Address set time" }, | ||
1470 | { "MCIO0_ASST", 0x48000038, 7, 0x0000001f, 'd', "Command assertion time" }, | ||
1471 | { "MCIO0_HOLD", 0x48000038,14, 0x0000003f, 'd', "Address hold time" }, | ||
1472 | |||
1473 | { "MCIO1", 0x4800003C, 0, 0xffffffff, 'x', "I/O Control for PCMCIA Socket 1 (6-59)" }, | ||
1474 | { "MCIO1_SET", 0x4800003C, 0, 0x0000007f, 'd', "Address set time" }, | ||
1475 | { "MCIO1_ASST", 0x4800003C, 7, 0x0000001f, 'd', "Command assertion time" }, | ||
1476 | { "MCIO1_HOLD", 0x4800003C,14, 0x0000003f, 'd', "Address hold time" }, | ||
1477 | |||
1478 | { "MDMRS", 0x48000040, 0, 0xffffffff, 'x', "SDRAM Mode Register Set Configuration Register (6-12)" }, | ||
1479 | { "MDMRS_MDBL0", 0x48000040, 0, 0x00000007, 'x', "SDRAM Partition 0/1 burst length" }, | ||
1480 | { "MDMRS_MDADD0", 0x48000040, 3, 0x00000001, 'x', "SDRAM Partition 0/1 burst type" }, | ||
1481 | { "MDMRS_MDCL0", 0x48000040, 4, 0x00000007, 'x', "SDRAM Partition 0/1 CAS latency" }, | ||
1482 | { "MDMRS_MDMRS0", 0x48000040, 7, 0x000000ff, 'x', "MRS value to be written to SDRAM Partition 0/1" }, | ||
1483 | { "MDMRS_MDBL2", 0x48000040,16, 0x00000007, 'x', "SDRAM Partition 2/3 burst length" }, | ||
1484 | { "MDMRS_MDADD2", 0x48000040,19, 0x00000001, 'x', "SDRAM Partition 2/3 burst type" }, | ||
1485 | { "MDMRS_MDCL2", 0x48000040,20, 0x00000007, 'x', "SDRAM Partition 2/3 CAS latency" }, | ||
1486 | { "MDMRS_MDMRS2", 0x48000040,23, 0x000000ff, 'x', "MRS value to be written to SDRAM Partition 2/3" }, | ||
1487 | |||
1488 | { "BOOTDEF", 0x48000044, 0, 0xffffffff, 'x', "Boot Time Defaults (6-73)" }, | ||
1489 | { "BOOTDEF_BOOTSEL",0x48000044, 0, 0x00000007, 'x', "Boot Configuration at BOOT_SEL pins" }, | ||
1490 | { "BOOTDEF_PKGTYPE",0x48000044, 3, 0x00000001, 'x', "Processor type, 1 for PXA250" }, | ||
1491 | |||
1492 | { "MDMRSLP", 0x48000058, 0, 0xffffffff, 'x', "Low-Power SDRAM Mode Register Set Configuration Register (6-14)" }, | ||
1493 | // TODO | ||
1494 | |||
1495 | |||
1496 | |||
1497 | { "MMC_STRPCL", 0x41100000, 0, 0xffffffff, 'x', "MMC Start/Stop Clock (15-23)" }, | ||
1498 | |||
1499 | { "MMC_STAT", 0x41100004, 0, 0xffffffff, 'x', "MMC Status Register (15-24)" }, | ||
1500 | { "MMC_STAT_READ_TIME_OUT", 0x41100004, 0, 0x00000001, 'x', "Read Time Out" }, | ||
1501 | { "MMC_STAT_TIME_OUT_RESP", 0x41100004, 1, 0x00000001, 'x', "Time Out Response" }, | ||
1502 | { "MMC_STAT_CRC_WRITE_ERROR", 0x41100004, 2, 0x00000001, 'x', "CRC Write Error" }, | ||
1503 | { "MMC_STAT_CRC_READ_ERR", 0x41100004, 3, 0x00000001, 'x', "CRC Read Error" }, | ||
1504 | { "MMC_STAT_SPI_READ_ERR_TKN", 0x41100004, 4, 0x00000001, 'x', "SPI Read Error Token" }, | ||
1505 | { "MMC_STAT_RES_CRC_ERR", 0x41100004, 5, 0x00000001, 'x', "Response CRC Error" }, | ||
1506 | { "MMC_STAT_XMIT_FIFO_EMPTY", 0x41100004, 6, 0x00000001, 'x', "Transmit FIFO Empty" }, | ||
1507 | { "MMC_STAT_RECV_FIFO_EMPTY", 0x41100004, 7, 0x00000001, 'x', "Receive FIFO Empty" }, | ||
1508 | { "MMC_STAT_CLK_EN", 0x41100004, 8, 0x00000001, 'x', "Clock Enabled" }, | ||
1509 | { "MMC_STAT_DATA_TRAN_DONE", 0x41100004,11, 0x00000001, 'x', "Data Transmission Done" }, | ||
1510 | { "MMC_STAT_PRG_DONE", 0x41100004,12, 0x00000001, 'x', "Program Done" }, | ||
1511 | { "MMC_STAT_END_CMD_RES", 0x41100004,13, 0x00000001, 'x', "End Command Response" }, | ||
1512 | |||
1513 | { "MMC_CLKRT", 0x41100008, 0, 0xffffffff, 'x', "MMC Clock Read Timeout Register (15-26)" }, | ||
1514 | { "MMC_CLK_RATE", 0x41100008, 0, 0x00000007, 'x', "Read Time Out bitmask" }, | ||
1515 | |||
1516 | { "MMC_SPI", 0x4110000c, 0, 0xffffffff, 'x', "MMC SPI mode (15-27)" }, | ||
1517 | { "MMC_SPI_EN", 0x4110000c, 0, 0x00000001, 'x', "SPI mode enabled" }, | ||
1518 | { "MMC_SPI_CRC_ON", 0x4110000c, 1, 0x00000001, 'x', "CRC generation enabled" }, | ||
1519 | { "MMC_SPI_CS_EN", 0x4110000c, 2, 0x00000001, 'x', "SPI chip select enabled" }, | ||
1520 | { "MMC_SPI_CS_ADDRESS", 0x4110000c, 3, 0x00000001, 'x', "CS0 enabled" }, | ||
1521 | |||
1522 | { "MMC_CMDAT", 0x41100010, 0, 0xffffffff, 'x', "MMC Command Data (15-28)" }, | ||
1523 | { "MMC_CMDAT_RF", 0x41100010, 0, 0x00000003, 'x', "response format" }, | ||
1524 | { "MMC_CMDAT_DATA_EN", 0x41100010, 2, 0x00000001, 'x', "current cmd includes data transfer" }, | ||
1525 | { "MMC_CMDAT_WRITE", 0x41100010, 3, 0x00000001, 'x', "data transfer is a write" }, | ||
1526 | { "MMC_CMDAT_STREAM", 0x41100010, 4, 0x00000001, 'x', "data transfer is in stream mode" }, | ||
1527 | { "MMC_CMDAT_BUSY", 0x41100010, 5, 0x00000001, 'x', "busy signal is expected after data transfer" }, | ||
1528 | { "MMC_CMDAT_INIT", 0x41100010, 6, 0x00000001, 'x', "precede cmd with 80 clocks" }, | ||
1529 | { "MMC_CMDAT_DMA_EN", 0x41100010, 7, 0x00000001, 'x', "enable DMA mode" }, | ||
1530 | |||
1531 | { "MMC_RESTO", 0x41100014, 0, 0xffffffff, 'x', "MMC Response Time Out (15-29)" }, | ||
1532 | { "MMC_RESTO_TO", 0x41100014, 0, 0x0000007f, 'd', "clocks before a response time out" }, | ||
1533 | |||
1534 | { "MMC_RDTO", 0x41100018, 0, 0xffffffff, 'x', "MMC Read Time Out (15-29)" }, | ||
1535 | { "MMC_RDTO_TO", 0x41100018, 0, 0x0000ffff, 'd', "time until read time out" }, | ||
1536 | |||
1537 | { "MMC_BLKLEN", 0x4110001C, 0, 0xffffffff, 'x', "MMC Block Len Register (15-30)" }, | ||
1538 | { "MMC_BLKLEN_LEN", 0x4110001C, 0, 0x000003ff, 'd', "Number of bytes in the block" }, | ||
1539 | |||
1540 | { "MMC_NOB", 0x41100020, 0, 0xffffffff, 'x', "MMC Block Number Register (15-30)" }, | ||
1541 | { "MMC_NOB_N", 0x41100020, 0, 0x0000ffff, 'd', "number of blocks" }, | ||
1542 | |||
1543 | { "MMC_PRTBUF", 0x41100024, 0, 0xffffffff, 'x', "MMC Partial Buffer Register (15-31)" }, | ||
1544 | { "MMC_PRTBUF_FULL", 0x41100024, 0, 0x00000001, 'x', "Buffer is partially full" }, | ||
1545 | |||
1546 | { "MMC_IMASK", 0x41100028, 0, 0xffffffff, 'x', "MMC Interrupt Mask Register (15-31)" }, | ||
1547 | { "MMC_IMASK_DATATRAN", 0x41100028, 0, 0x00000001, 'x', "Data Transfer Done masked" }, | ||
1548 | { "MMC_IMASK_PRGDONE", 0x41100028, 1, 0x00000001, 'x', "Programming Done masked" }, | ||
1549 | { "MMC_IMASK_ENDCMD", 0x41100028, 2, 0x00000001, 'x', "End Command Response masked" }, | ||
1550 | { "MMC_IMASK_STOPCMD", 0x41100028, 3, 0x00000001, 'x', "Ready for Stop Transaction Command masked" }, | ||
1551 | { "MMC_IMASK_CLOCKOFF", 0x41100028, 4, 0x00000001, 'x', "Clock Is Off masked" }, | ||
1552 | { "MMC_IMASK_RXFIFO", 0x41100028, 5, 0x00000001, 'x', "Receive FIFO Read Request masked" }, | ||
1553 | { "MMC_IMASK_TXFIFO", 0x41100028, 6, 0x00000001, 'x', "Transmit FIFO Write Request masked" }, | ||
1554 | |||
1555 | { "MMC_IREG", 0x4110002c, 0, 0xffffffff, 'x', "MMC Interrupt Register (15-33)" }, | ||
1556 | { "MMC_IREG_DATATRAN", 0x4110002c, 0, 0x00000001, 'x', "Data Transfer Done or Read TimeOut occured" }, | ||
1557 | { "MMC_IREG_PRGDONE", 0x4110002c, 1, 0x00000001, 'x', "Card has finished programming" }, | ||
1558 | { "MMC_IREG_ENDCMD", 0x4110002c, 2, 0x00000001, 'x', "MMC has received response or Response TimeOut" }, | ||
1559 | { "MMC_IREG_STOPCMD", 0x4110002c, 3, 0x00000001, 'x', "MMC is ready for the Stop Transaction Command" }, | ||
1560 | { "MMC_IREG_CLOCKOFF", 0x4110002c, 4, 0x00000001, 'x', "MMC clock has been turned off" }, | ||
1561 | { "MMC_IREG_RXFIFO", 0x4110002c, 5, 0x00000001, 'x', "Request for data read from receive FIFO" }, | ||
1562 | { "MMC_IREG_TXFIFO", 0x4110002c, 6, 0x00000001, 'x', "Request to data write to transmit FIFO" }, | ||
1563 | |||
1564 | { "MMC_CMD", 0x41100030, 0, 0xffffffff, 'x', "MMC Command Register (15-34)" }, | ||
1565 | { "MMC_CMD_INDEX", 0x41100030, 0, 0x0000003f, 'x', "command index" }, | ||
1566 | |||
1567 | { "MMC_ARGH", 0x41100034, 0, 0xffffffff, 'x', "MMC Higher Argument Register (15-36)" }, | ||
1568 | { "MMC_ARGH_ARG", 0x41100034, 0, 0x0000ffff, 'x', "upper 16 bits of command argument" }, | ||
1569 | |||
1570 | { "MMC_ARGL", 0x41100038, 0, 0xffffffff, 'x', "MMC Lower Argument Register (15-36)" }, | ||
1571 | { "MMC_ARGL_ARG", 0x41100038, 0, 0x0000ffff, 'x', "upper 16 bits of command argument" }, | ||
1572 | |||
1573 | |||
1574 | #if defined(CONFIG_ARCH_PXA_IDP) || defined(CONFIG_ARCH_RAMSES) | ||
1575 | // CS5+0x03C00000 CPLD 0x14000000 | ||
1576 | // CS1 Alt-Flash 0x04000000 | ||
1577 | // CS0 Flash 0x00000000 | ||
1578 | |||
1579 | { "CPLD_PWR", 0x17C00004, 0, 0x000000ff, 'x', "CPLD_PERIPH_PWR" }, | ||
1580 | { "CPLD_PWR_CORE", 0x17C00004, 0, 0x00000001, 'd', "Variable core enable - latch value in first" }, | ||
1581 | #ifdef CONFIG_ARCH_PXA_IDP | ||
1582 | { "CPLD_PWR_MQ", 0x17C00004, 2, 0x00000001, 'd', "MQ1132 power switch" }, | ||
1583 | #else | ||
1584 | { "CPLD_PWR_SL811HS", 0x17C00004, 2, 0x00000001, 'd', "SL811HS power switch" }, | ||
1585 | #endif | ||
1586 | { "CPLD_PWR_PER", 0x17C00004, 3, 0x00000001, 'd', "peripheral power enable" }, | ||
1587 | { "CPLD_PWR_RST", 0x17C00004, 4, 0x00000001, 'd', "peripheral reset" }, | ||
1588 | |||
1589 | { "CPLD_LED", 0x17C00008, 0, 0x000000ff, 'x', "CPLD_LED_CONTROL" }, | ||
1590 | { "CPLD_LED_CIR", 0x17C00008, 0, 0x00000001, 'd', "CIR" }, | ||
1591 | { "CPLD_LED_HB", 0x17C00008, 5, 0x00000001, 'd', "red LED (0=on)" }, | ||
1592 | { "CPLD_LED_BUSY", 0x17C00008, 6, 0x00000001, 'd', "green LED (0=on)" }, | ||
1593 | { "CPLD_LED_FLASH", 0x17C00008, 7, 0x00000001, 'd', "red LED flash enable" }, | ||
1594 | |||
1595 | { "CPLD_KBD_COL_HIGH", 0x17C0000C, 0, 0x000000ff, 'x', "CPLD" }, | ||
1596 | |||
1597 | { "CPLD_KBD_COL_LOW", 0x17C00010, 0, 0x000000ff, 'x', "CPLD" }, | ||
1598 | |||
1599 | { "CPLD_PCCARD_EN", 0x17C00014, 0, 0x000000ff, 'x', "CPLD PC-Card Enable" }, | ||
1600 | { "CPLD_PCC0_ENABLE", 0x17C00014, 0, 0x00000001, 'd', "PC-Card 0 enable" }, | ||
1601 | { "CPLD_PCC1_ENABLE", 0x17C00014, 1, 0x00000001, 'd', "PC-Card 1 enable" }, | ||
1602 | { "CPLD_PCC0_RESET", 0x17C00014, 6, 0x00000001, 'd', "PC-Card 0 reset" }, | ||
1603 | { "CPLD_PCC1_RESET", 0x17C00014, 7, 0x00000001, 'd', "PC-Card 1 reset" }, | ||
1604 | |||
1605 | /* | ||
1606 | { "CPLD_GPIOH_DIR", 0x17C00018, 0, 0xffffffff, 'x', "CPLD" }, | ||
1607 | { "CPLD_GPIOH_VALUE", 0x17C0001C, 0, 0xffffffff, 'x', "CPLD" }, | ||
1608 | { "CPLD_GPIOL_DIR", 0x17C00020, 0, 0xffffffff, 'x', "CPLD" }, | ||
1609 | { "CPLD_GPIOL_VALUE", 0x17C00024, 0, 0xffffffff, 'x', "CPLD" }, | ||
1610 | |||
1611 | WHEN "00110" => | ||
1612 | data(7) <= l3_data_out; -- L3 IIS control bus - direction of data bit | ||
1613 | data(6) <= '0'; | ||
1614 | data(5) <= '0'; | ||
1615 | data(4) <= '0'; | ||
1616 | data(3) <= '0'; | ||
1617 | data(2) <= '0'; | ||
1618 | data(1) <= gpslow_out(1); -- direction of pld_gpio_09 | ||
1619 | data(0) <= gpslow_out(0); -- direction of pld_gpio_08 | ||
1620 | |||
1621 | WHEN "00111" => -- gpio on async bus | ||
1622 | data(7) <= l3_data_io; -- L3 IIS control bus - always reads pin | ||
1623 | data(6) <= l3_clk; -- L3 IIS control bus - read back clock | ||
1624 | data(5) <= l3_mode; -- L3 IIS control bus - read back mode | ||
1625 | data(4) <= '0'; | ||
1626 | data(3) <= '0'; | ||
1627 | data(2) <= '0'; | ||
1628 | data(1) <= gpslow_io(1); -- gpio on async bus | ||
1629 | data(0) <= gpslow_io(0); -- gpio on async bus | ||
1630 | |||
1631 | WHEN "01000" => | ||
1632 | data <= gp_out; -- direction of pld_gpio_07 through 00 | ||
1633 | |||
1634 | WHEN "01001" => -- gpio on high speed bus | ||
1635 | data <= gp_io; | ||
1636 | */ | ||
1637 | |||
1638 | { "CPLD_PCCARD_PWR", 0x17C00028, 0, 0x000000ff, 'x', "CPLD PC-Card Power" }, | ||
1639 | { "CPLD_PCC0_PWR0", 0x17C00028, 0, 0x00000001, 'd', "PC-Card 0 Pwr 0" }, | ||
1640 | { "CPLD_PCC0_PWR1", 0x17C00028, 1, 0x00000001, 'd', "PC-Card 0 Pwr 1" }, | ||
1641 | { "CPLD_PCC0_PWR2", 0x17C00028, 2, 0x00000001, 'd', "PC-Card 0 Pwr 2" }, | ||
1642 | { "CPLD_PCC0_PWR3", 0x17C00028, 3, 0x00000001, 'd', "PC-Card 0 Pwr 3" }, | ||
1643 | { "CPLD_PCC1_PWR0", 0x17C00028, 4, 0x00000001, 'd', "PC-Card 1 Pwr 0" }, | ||
1644 | { "CPLD_PCC1_PWR1", 0x17C00028, 5, 0x00000001, 'd', "PC-Card 1 Pwr 1" }, | ||
1645 | { "CPLD_PCC1_PWR2", 0x17C00028, 6, 0x00000001, 'd', "PC-Card 1 Pwr 2" }, | ||
1646 | { "CPLD_PCC1_PWR3", 0x17C00028, 7, 0x00000001, 'd', "PC-Card 1 Pwr 3" }, | ||
1647 | |||
1648 | { "CPLD_MISC", 0x17C0002C, 0, 0x000000ff, 'x', "CPLD_MISC_CTRL" }, | ||
1649 | { "CPLD_MISC_SER1EN", 0x17C0002C, 0, 0x00000001, 'd', "RS-232 on FF UART enable" }, | ||
1650 | { "CPLD_MISC_SER2EN", 0x17C0002C, 1, 0x00000001, 'd', "RS-232 on BT UART enable" }, | ||
1651 | { "CPLD_MISC_SER3EN", 0x17C0002C, 2, 0x00000001, 'd', "RS-232 on ST UART enable" }, | ||
1652 | { "CPLD_MISC_IRDAFIR", 0x17C0002C, 3, 0x00000001, 'd', "IrDA FIR enable" }, | ||
1653 | { "CPLD_MISC_IRDAMD0", 0x17C0002C, 4, 0x00000001, 'd', "IrDA mode 0" }, | ||
1654 | { "CPLD_MISC_IRDAMD1", 0x17C0002C, 5, 0x00000001, 'd', "IrDA mode 1" }, | ||
1655 | #ifdef CONFIG_ARCH_PXA_IDP | ||
1656 | { "CPLD_MISC_I2SPWR", 0x17C0002C, 7, 0x00000001, 'd', "UDA1341 power switch" }, | ||
1657 | #endif | ||
1658 | |||
1659 | { "CPLD_LCD", 0x17C00030, 0, 0x000000ff, 'x', "CPLD LCD Control", }, | ||
1660 | #ifdef CONFIG_ARCH_PXA_IDP | ||
1661 | { "CPLD_LCD_PWR", 0x17C00030, 0, 0x00000001, 'd', "LCD Power" }, | ||
1662 | { "CPLD_LCD_BACKLIGHT", 0x17C00030, 1, 0x00000001, 'd', "LCD Backlight" }, | ||
1663 | { "CPLD_LCD_VLCD", 0x17C00030, 2, 0x00000001, 'd', "LCD VLCD" }, | ||
1664 | #else | ||
1665 | { "CPLD_LCD_VCC", 0x17C00030, 0, 0x00000001, 'd', "LCD VCC" }, | ||
1666 | { "CPLD_LCD_DISPOFF", 0x17C00030, 2, 0x00000001, 'd', "LCD nDISPOFF" }, | ||
1667 | #endif | ||
1668 | |||
1669 | { "CPLD_FLASH", 0x17C00034, 0, 0x000000ff, 'x', "CPLD Flash Control" }, | ||
1670 | { "CPLD_FLASH_WE", 0x17C00034, 0, 0x00000001, 'd', "CPLD StrataFlash Write Enable" }, | ||
1671 | #ifdef CONFIG_ARCH_PXA_IDP | ||
1672 | { "CPLD_FLASH_MWE", 0x17C00034, 1, 0x00000001, 'd', "CPLD MPlus Write Enable" }, | ||
1673 | { "CPLD_FLASH_MOE", 0x17C00034, 2, 0x00000001, 'd', "CPLD MPlus Output Enable" }, | ||
1674 | |||
1675 | { "CPLD_CS", 0x17C00038, 0, 0x000000ff, 'x', "CPLD Chip Select Register" }, | ||
1676 | { "CPLD_CS_CS0EN", 0x17C00038, 0, 0x00000001, 'd', "CPLD Chip Select 0 Enable" }, | ||
1677 | { "CPLD_CS_CS1EN", 0x17C00038, 1, 0x00000001, 'd', "CPLD Chip Select 1 Enable" }, | ||
1678 | { "CPLD_CS_CS2EN", 0x17C00038, 2, 0x00000001, 'd', "CPLD Chip Select 2 Enable" }, | ||
1679 | { "CPLD_CS_CS3EN", 0x17C00038, 3, 0x00000001, 'd', "CPLD Chip Select 3 Enable" }, | ||
1680 | { "CPLD_CS_CS4EN", 0x17C00038, 4, 0x00000001, 'd', "CPLD Chip Select 4 Enable" }, | ||
1681 | //{ "CPLD_CS_CS5EN", 0x17C00038, 4, 0x00000001, 'd', "CPLD Chip Select 5 Enable" }, | ||
1682 | #endif | ||
1683 | |||
1684 | { "CPLD_KB_ROW", 0x17C00050, 0, 0x000000ff, 'x', "CPLD" }, | ||
1685 | |||
1686 | { "CPLD_PCCARD0_STATUS", 0x17C00054, 0, 0x000000ff, 'x', "CPLD PC-Card 0 Status" }, | ||
1687 | { "CPLD_PCC0_VS1", 0x17C00054, 0, 0x00000001, 'd', "PC-Card 0 VS1" }, | ||
1688 | { "CPLD_PCC0_VS2", 0x17C00054, 1, 0x00000001, 'd', "PC-Card 0 VS2" }, | ||
1689 | { "CPLD_PCC0_BVD1", 0x17C00054, 2, 0x00000001, 'd', "PC-Card 0 BVD1" }, | ||
1690 | { "CPLD_PCC0_BVD2", 0x17C00054, 3, 0x00000001, 'd', "PC-Card 0 BVD2" }, | ||
1691 | { "CPLD_PCC0_INPACK", 0x17C00054, 4, 0x00000001, 'd', "PC-Card 0 INPACK" }, | ||
1692 | { "CPLD_PCC0_IRQ", 0x17C00054, 5, 0x00000001, 'd', "PC-Card 0 IRQ" }, | ||
1693 | { "CPLD_PCC0_STRESET", 0x17C00054, 6, 0x00000001, 'd', "PC-Card 0 RESET" }, | ||
1694 | { "CPLD_PCC0_WRPROT", 0x17C00054, 7, 0x00000001, 'd', "PC-Card 0 WRPROT" }, | ||
1695 | |||
1696 | { "CPLD_PCCARD1_STATUS", 0x17C00058, 0, 0x000000ff, 'x', "CPLD PC-Card 1 Status" }, | ||
1697 | { "CPLD_PCC1_VS1", 0x17C00058, 0, 0x00000001, 'd', "PC-Card 1 VS1" }, | ||
1698 | { "CPLD_PCC1_VS2", 0x17C00058, 1, 0x00000001, 'd', "PC-Card 1 VS2" }, | ||
1699 | { "CPLD_PCC1_BVD1", 0x17C00058, 2, 0x00000001, 'd', "PC-Card 1 BVD1" }, | ||
1700 | { "CPLD_PCC1_BVD2", 0x17C00058, 3, 0x00000001, 'd', "PC-Card 1 BVD2" }, | ||
1701 | { "CPLD_PCC1_INPACK", 0x17C00058, 4, 0x00000001, 'd', "PC-Card 1 INPACK" }, | ||
1702 | { "CPLD_PCC1_IRQ", 0x17C00058, 5, 0x00000001, 'd', "PC-Card 1 IRQ" }, | ||
1703 | { "CPLD_PCC1_STRESET", 0x17C00058, 6, 0x00000001, 'd', "PC-Card 1 RESET" }, | ||
1704 | { "CPLD_PCC1_WRPROT", 0x17C00058, 7, 0x00000001, 'd', "PC-Card 1 WRPROT" }, | ||
1705 | |||
1706 | { "CPLD_MISC_STATUS", 0x17C0005C, 0, 0x000000ff, 'x', "CPLD Misc Status" }, | ||
1707 | { "CPLD_MISC_USB_D_CON", 0x17C0005C, 0, 0x00000001, 'd', "Charge status" }, | ||
1708 | { "CPLD_MISC_WALL_IN", 0x17C0005C, 1, 0x00000001, 'd', "Charge status" }, | ||
1709 | { "CPLD_MISC_CHG_STS", 0x17C0005C, 2, 0x00000001, 'd', "Charge status" }, | ||
1710 | { "CPLD_MISC_MMC_WPROT", 0x17C0005C, 7, 0x00000001, 'd', "MMC write protect" }, | ||
1711 | |||
1712 | { "CPLD_VER_YEAR", 0x17C00060, 0, 0x000000ff, 'x', "CPLD Year" }, | ||
1713 | { "CPLD_VER_MONTH", 0x17C00064, 0, 0x000000ff, 'x', "CPLD Month" }, | ||
1714 | { "CPLD_VER_DAY", 0x17C00068, 0, 0x000000ff, 'x', "CPLD Day" }, | ||
1715 | { "CPLD_VER_REV", 0x17C0006C, 0, 0x000000ff, 'x', "CPLD Revision" }, | ||
1716 | |||
1717 | { "CPLD_VSTAT", 0x17C0007C, 0, 0x000000ff, 'x', "CPLD Voltage Status" }, | ||
1718 | #ifdef CONFIG_ARCH_PXA_IDP | ||
1719 | { "CPLD_BSTAT_V3GOOD", 0x17C0007C, 0, 0x00000001, 'x', "v3good" }, | ||
1720 | #endif | ||
1721 | { "CPLD_BSTAT_BWE", 0x17C0007C, 1, 0x00000001, 'x', "bwe" }, | ||
1722 | |||
1723 | #endif | ||
1724 | |||
1725 | #if defined(CONFIG_ARCH_RAMSES) | ||
1726 | { "UARTA_RHR", 0x0C002E00, 0, 0xffffffff, 'x', "UART A RHR/THR" }, | ||
1727 | { "UARTA_IER", 0x0C002E04, 0, 0xffffffff, 'x', "UART A IER" }, | ||
1728 | { "UARTA_FCR", 0x0C002E08, 0, 0xffffffff, 'x', "UART A FCR/IIR" }, | ||
1729 | { "UARTA_LCR", 0x0C002E0C, 0, 0xffffffff, 'x', "UART A LCR" }, | ||
1730 | { "UARTA_MCR", 0x0C002E10, 0, 0xffffffff, 'x', "UART A MCR" }, | ||
1731 | { "UARTA_LSR", 0x0C002E14, 0, 0xffffffff, 'x', "UART A LSR" }, | ||
1732 | { "UARTA_MSR", 0x0C002E18, 0, 0xffffffff, 'x', "UART A MSR" }, | ||
1733 | { "UARTA_SPR", 0x0C002E1C, 0, 0xffffffff, 'x', "UART A SPR" }, | ||
1734 | |||
1735 | { "UARTB_RHR", 0x0C002D00, 0, 0xffffffff, 'x', "UART B RHR/THR" }, | ||
1736 | { "UARTB_IER", 0x0C002D04, 0, 0xffffffff, 'x', "UART B IER" }, | ||
1737 | { "UARTB_FCR", 0x0C002D08, 0, 0xffffffff, 'x', "UART B FCR/IIR" }, | ||
1738 | { "UARTB_LCR", 0x0C002D0C, 0, 0xffffffff, 'x', "UART B LCR" }, | ||
1739 | { "UARTB_MCR", 0x0C002D10, 0, 0xffffffff, 'x', "UART B MCR" }, | ||
1740 | { "UARTB_LSR", 0x0C002D14, 0, 0xffffffff, 'x', "UART B LSR" }, | ||
1741 | { "UARTB_MSR", 0x0C002D18, 0, 0xffffffff, 'x', "UART B MSR" }, | ||
1742 | { "UARTB_SPR", 0x0C002D1C, 0, 0xffffffff, 'x', "UART B SPR" }, | ||
1743 | |||
1744 | { "UARTD_RHR", 0x0C002B00, 0, 0xffffffff, 'x', "UART C RHR/THR" }, | ||
1745 | { "UARTD_IER", 0x0C002B04, 0, 0xffffffff, 'x', "UART C IER" }, | ||
1746 | { "UARTD_FCR", 0x0C002B08, 0, 0xffffffff, 'x', "UART C FCR/IIR" }, | ||
1747 | { "UARTD_LCR", 0x0C002B0C, 0, 0xffffffff, 'x', "UART C LCR" }, | ||
1748 | { "UARTD_MCR", 0x0C002B10, 0, 0xffffffff, 'x', "UART C MCR" }, | ||
1749 | { "UARTD_LSR", 0x0C002B14, 0, 0xffffffff, 'x', "UART C LSR" }, | ||
1750 | { "UARTD_MSR", 0x0C002B18, 0, 0xffffffff, 'x', "UART C MSR" }, | ||
1751 | { "UARTD_SPR", 0x0C002B1C, 0, 0xffffffff, 'x', "UART C SPR" }, | ||
1752 | |||
1753 | { "UARTD_RHR", 0x0C002700, 0, 0xffffffff, 'x', "UART D RHR/THR" }, | ||
1754 | { "UARTD_IER", 0x0C002704, 0, 0xffffffff, 'x', "UART D IER" }, | ||
1755 | { "UARTD_FCR", 0x0C002708, 0, 0xffffffff, 'x', "UART D FCR/IIR" }, | ||
1756 | { "UARTD_LCR", 0x0C00270C, 0, 0xffffffff, 'x', "UART D LCR" }, | ||
1757 | { "UARTD_MCR", 0x0C002710, 0, 0xffffffff, 'x', "UART D MCR" }, | ||
1758 | { "UARTD_LSR", 0x0C002714, 0, 0xffffffff, 'x', "UART D LSR" }, | ||
1759 | { "UARTD_MSR", 0x0C002718, 0, 0xffffffff, 'x', "UART D MSR" }, | ||
1760 | { "UARTD_SPR", 0x0C00271C, 0, 0xffffffff, 'x', "UART D SPR" }, | ||
1761 | |||
1762 | #endif | ||
1763 | |||
1764 | }; | ||
1765 | |||
1766 | |||
1767 | |||
1768 | #define MAP_SIZE 4096 | ||
1769 | #define MAP_MASK ( MAP_SIZE - 1 ) | ||
1770 | |||
1771 | static int getmem(u32 addr) | ||
1772 | { | ||
1773 | void *map, *regaddr; | ||
1774 | u32 val; | ||
1775 | |||
1776 | //printf("getmem(0x%08x)\n", addr); | ||
1777 | |||
1778 | if (fd == -1) { | ||
1779 | fd = open("/dev/mem", O_RDWR | O_SYNC); | ||
1780 | if (fd<0) { | ||
1781 | perror("open(\"/dev/mem\")"); | ||
1782 | exit(1); | ||
1783 | } | ||
1784 | } | ||
1785 | |||
1786 | map = mmap(0, | ||
1787 | MAP_SIZE, | ||
1788 | PROT_READ | PROT_WRITE, | ||
1789 | MAP_SHARED, | ||
1790 | fd, | ||
1791 | addr & ~MAP_MASK | ||
1792 | ); | ||
1793 | if (map == (void*)-1 ) { | ||
1794 | perror("mmap()"); | ||
1795 | exit(1); | ||
1796 | } | ||
1797 | |||
1798 | regaddr = map + (addr & MAP_MASK); | ||
1799 | |||
1800 | val = *(u32*) regaddr; | ||
1801 | munmap(0,MAP_SIZE); | ||
1802 | |||
1803 | return val; | ||
1804 | } | ||
1805 | |||
1806 | static void putmem(u32 addr, u32 val) | ||
1807 | { | ||
1808 | void *map, *regaddr; | ||
1809 | static int fd = -1; | ||
1810 | |||
1811 | //printf("putmem(0x%08x, 0x%08x)\n", addr, val); | ||
1812 | |||
1813 | if (fd == -1) { | ||
1814 | fd = open("/dev/mem", O_RDWR | O_SYNC); | ||
1815 | if (fd<0) { | ||
1816 | perror("open(\"/dev/mem\")"); | ||
1817 | exit(1); | ||
1818 | } | ||
1819 | } | ||
1820 | |||
1821 | map = mmap(0, | ||
1822 | MAP_SIZE, | ||
1823 | PROT_READ | PROT_WRITE, | ||
1824 | MAP_SHARED, | ||
1825 | fd, | ||
1826 | addr & ~MAP_MASK | ||
1827 | ); | ||
1828 | if (map == (void*)-1 ) { | ||
1829 | perror("mmap()"); | ||
1830 | exit(1); | ||
1831 | } | ||
1832 | |||
1833 | regaddr = map + (addr & MAP_MASK); | ||
1834 | |||
1835 | *(u32*) regaddr = val; | ||
1836 | munmap(0,MAP_SIZE); | ||
1837 | } | ||
1838 | |||
1839 | static u32 lastaddr = 0; | ||
1840 | static u32 newaddr = 1; | ||
1841 | static u32 data = 0; | ||
1842 | static u32 shiftdata; | ||
1843 | |||
1844 | |||
1845 | static void dumpentry(int i) | ||
1846 | { | ||
1847 | int j; | ||
1848 | |||
1849 | if (regs[i].addr != lastaddr) newaddr = 1; | ||
1850 | if (newaddr) { | ||
1851 | newaddr = 0; | ||
1852 | lastaddr = regs[i].addr; | ||
1853 | data = getmem(lastaddr); | ||
1854 | printf("\n%s\n", regs[i].desc); | ||
1855 | printf("%-24s 0x%08x ", regs[i].name, data); | ||
1856 | shiftdata = data; | ||
1857 | for (j=32; j>0; j--) { | ||
1858 | printf("%c", shiftdata & 0x80000000 ? '1' : '0'); | ||
1859 | shiftdata = shiftdata << 1; | ||
1860 | if (j==9 || j==17 || j==25) printf(" "); | ||
1861 | } | ||
1862 | |||
1863 | printf("\n"); | ||
1864 | } | ||
1865 | |||
1866 | if (regs[i].shift != 0 || regs[i].mask != 0xffffffff) { | ||
1867 | shiftdata = (data >> regs[i].shift) & regs[i].mask; | ||
1868 | printf("%-25s ", regs[i].name); | ||
1869 | switch (regs[i].type) { | ||
1870 | case 'x': printf("%8x", shiftdata); | ||
1871 | break; | ||
1872 | case '<': printf("%8u", 1 << shiftdata); | ||
1873 | break; | ||
1874 | default: | ||
1875 | printf("%8u", shiftdata); | ||
1876 | } | ||
1877 | printf(" %s\n", regs[i].desc); | ||
1878 | } | ||
1879 | } | ||
1880 | |||
1881 | |||
1882 | static void dumpall(void) | ||
1883 | { | ||
1884 | int i; | ||
1885 | int n=sizeof(regs)/sizeof(struct reg_info); | ||
1886 | |||
1887 | for (i=0; i<n; i++) { | ||
1888 | dumpentry(i); | ||
1889 | } | ||
1890 | } | ||
1891 | |||
1892 | |||
1893 | static void dumpmatching(char *name) | ||
1894 | { | ||
1895 | int i; | ||
1896 | int n=sizeof(regs)/sizeof(struct reg_info); | ||
1897 | |||
1898 | |||
1899 | for (i=0; i<n; i++) { | ||
1900 | if (strstr(regs[i].name, name)) | ||
1901 | dumpentry(i); | ||
1902 | } | ||
1903 | } | ||
1904 | |||
1905 | |||
1906 | static void setreg(char *name, u32 val) | ||
1907 | { | ||
1908 | int i; | ||
1909 | u32 mem; | ||
1910 | int found=0; | ||
1911 | int count=0; | ||
1912 | int n=sizeof(regs)/sizeof(struct reg_info); | ||
1913 | |||
1914 | |||
1915 | for (i=0; i<n; i++) { | ||
1916 | if (strcmp(regs[i].name, name)==0) { | ||
1917 | found = i; | ||
1918 | //printf("Matched %s with %s, count=%d\n", regs[i].name, name, count); | ||
1919 | count++; | ||
1920 | } | ||
1921 | } | ||
1922 | if (count!=1) { | ||
1923 | printf("No or more than one matching register found\n"); | ||
1924 | exit(1); | ||
1925 | } | ||
1926 | |||
1927 | mem = getmem(regs[found].addr); | ||
1928 | //printf("Old contents: 0x%08x\n", mem); | ||
1929 | mem &= ~(regs[found].mask << regs[found].shift); | ||
1930 | //printf("Unmasked contents: 0x%08x\n", mem); | ||
1931 | val &= regs[found].mask; | ||
1932 | //printf("mask: 0x%08x\n", regs[found].mask); | ||
1933 | //printf("masked val: 0x%08x\n", val); | ||
1934 | mem |= val << regs[found].shift; | ||
1935 | //printf("Embedded value: 0x%08x\n", mem); | ||
1936 | putmem(regs[found].addr, mem); | ||
1937 | } | ||
1938 | |||
1939 | |||
1940 | int main(int argc, char *argv[]) | ||
1941 | { | ||
1942 | char *p; | ||
1943 | u32 val; | ||
1944 | |||
1945 | if (argc == 1) { | ||
1946 | dumpall(); | ||
1947 | return 0; | ||
1948 | } | ||
1949 | |||
1950 | // Uppercase first argument | ||
1951 | if (argc >= 2) { | ||
1952 | p = argv[1]; | ||
1953 | while (*p) { | ||
1954 | *p = toupper(*p); | ||
1955 | p++; | ||
1956 | } | ||
1957 | } | ||
1958 | |||
1959 | if (argc == 2) { | ||
1960 | dumpmatching(argv[1]); | ||
1961 | return 0; | ||
1962 | } | ||
1963 | |||
1964 | if (argc == 3) { | ||
1965 | sscanf(argv[2],"%i",&val); | ||
1966 | setreg(argv[1], val); | ||
1967 | return 0; | ||
1968 | } | ||
1969 | |||
1970 | printf("Usage: %s - to dump all known registers\n" | ||
1971 | " %s <name> - to dump named register\n" | ||
1972 | " %s <name> <value> - to set named register\n", | ||
1973 | argv[0], argv[0], argv[0]); | ||
1974 | return 1; | ||
1975 | } | ||
diff --git a/meta-oe/recipes-support/pxaregs/pxaregs-1.14/serial.patch b/meta-oe/recipes-support/pxaregs/pxaregs-1.14/serial.patch new file mode 100644 index 000000000..06853851d --- /dev/null +++ b/meta-oe/recipes-support/pxaregs/pxaregs-1.14/serial.patch | |||
@@ -0,0 +1,14 @@ | |||
1 | Index: pxaregs-1.14/pxaregs.c | ||
2 | =================================================================== | ||
3 | --- pxaregs-1.14.orig/pxaregs.c | ||
4 | +++ pxaregs-1.14/pxaregs.c | ||
5 | @@ -78,6 +78,9 @@ static struct reg_info regs[] = { | ||
6 | { "ISAR", 0x403016A0, 0, 0xffffffff, 'x', "I2C Slave Address Register" }, | ||
7 | { "ISAR_SA", 0x403016A0, 0, 0x0000007f, 'x', "I2C Slave Address" }, | ||
8 | |||
9 | +{ "HW_MCR", 0x41600010, 0, 0xffffffff, 'x', "HWUART Modem Control Register" }, | ||
10 | +{ "HW_MSR", 0x41600018, 0, 0xffffffff, 'x', "HWUART Modem Status Register" }, | ||
11 | + | ||
12 | { "PMCR", 0x40F00000, 0, 0xffffffff, 'x', "Power Manager Control Register (3-23)" }, | ||
13 | { "PMCR_IDAE", 0x40F00000, 0, 0x00000001, 'd', "PM imprecise data abort abort signal" }, | ||
14 | |||
diff --git a/meta-oe/recipes-support/pxaregs/pxaregs-1.14/usb.patch b/meta-oe/recipes-support/pxaregs/pxaregs-1.14/usb.patch new file mode 100644 index 000000000..59f21fe3c --- /dev/null +++ b/meta-oe/recipes-support/pxaregs/pxaregs-1.14/usb.patch | |||
@@ -0,0 +1,17 @@ | |||
1 | Index: pxaregs-1.14/pxaregs.c | ||
2 | =================================================================== | ||
3 | --- pxaregs-1.14.orig/pxaregs.c | ||
4 | +++ pxaregs-1.14/pxaregs.c | ||
5 | @@ -78,6 +78,12 @@ static struct reg_info regs[] = { | ||
6 | { "ISAR", 0x403016A0, 0, 0xffffffff, 'x', "I2C Slave Address Register" }, | ||
7 | { "ISAR_SA", 0x403016A0, 0, 0x0000007f, 'x', "I2C Slave Address" }, | ||
8 | |||
9 | +{ "UP2OCR", 0x40600020, 0, 0xffffffff, 'x', "USB Port 2 Output Control Register" }, | ||
10 | +{ "UP2OCR_SEOS", 0x40600020, 24, 7, 'x', "USB Port 2 Single-Ended Output Select" }, | ||
11 | +{ "UP2OCR_HXOE", 0x40600020, 17, 1, 'x', "USB Port 2 Tranceiver OE" }, | ||
12 | +{ "UP2OCR_HXS", 0x40600020, 16, 1, 'x', "USB Port 2 Tranceiver Output Select" }, | ||
13 | +{ "UP2OCR_IDON", 0x40600020, 10, 1, 'x', "OTG ID Read Enable" }, | ||
14 | + | ||
15 | { "HW_MCR", 0x41600010, 0, 0xffffffff, 'x', "HWUART Modem Control Register" }, | ||
16 | { "HW_MSR", 0x41600018, 0, 0xffffffff, 'x', "HWUART Modem Status Register" }, | ||
17 | |||
diff --git a/meta-oe/recipes-support/pxaregs/pxaregs_1.14.bb b/meta-oe/recipes-support/pxaregs/pxaregs_1.14.bb new file mode 100644 index 000000000..30c41fffb --- /dev/null +++ b/meta-oe/recipes-support/pxaregs/pxaregs_1.14.bb | |||
@@ -0,0 +1,25 @@ | |||
1 | SUMMARY = "Tool to display and modify PXA registers at runtime" | ||
2 | LICENSE = "GPLv2" | ||
3 | LIC_FILES_CHKSUM = "file://pxaregs.c;endline=12;md5=668d061b7637acc68cb8071c9be372e6" | ||
4 | AUTHOR = "Holger Schurig <hs4233@mail.mn-solutions.de>" | ||
5 | HOMEPAGE = "http://www.mn-logistik.de/unsupported/pxa250/" | ||
6 | |||
7 | SRC_URI = "file://pxaregs.c \ | ||
8 | file://i2c.patch \ | ||
9 | file://munmap.patch \ | ||
10 | file://serial.patch \ | ||
11 | file://usb.patch " | ||
12 | |||
13 | S = "${WORKDIR}" | ||
14 | |||
15 | do_compile() { | ||
16 | ${CC} pxaregs.c -o pxaregs ${CFLAGS} ${LDFLAGS} | ||
17 | } | ||
18 | |||
19 | do_install() { | ||
20 | install -d ${D}${sbindir}/ | ||
21 | install -m 0755 pxaregs ${D}${sbindir}/ | ||
22 | } | ||
23 | |||
24 | SRC_URI[md5sum] = "a43baa88842cd5926dbffb6fb87624f6" | ||
25 | SRC_URI[sha256sum] = "f339b91cd8ab348052c36b36d20033e4bffc3666bc836ff72d5704f025e1c057" | ||
diff --git a/meta-oe/recipes-support/re2c/re2c/configure.patch b/meta-oe/recipes-support/re2c/re2c/configure.patch new file mode 100644 index 000000000..8ca0969ad --- /dev/null +++ b/meta-oe/recipes-support/re2c/re2c/configure.patch | |||
@@ -0,0 +1,18 @@ | |||
1 | Modernise configure to work with modern automake. | ||
2 | |||
3 | RP 2014/7/14 | ||
4 | |||
5 | Upstream-Status: Pending | ||
6 | |||
7 | Index: re2c-0.13.5/configure.in | ||
8 | =================================================================== | ||
9 | --- re2c-0.13.5.orig/configure.in 2008-05-25 14:42:34.000000000 +0000 | ||
10 | +++ re2c-0.13.5/configure.in 2014-07-17 14:10:40.595821292 +0000 | ||
11 | @@ -1,6 +1,6 @@ | ||
12 | AC_PREREQ([2.57]) | ||
13 | AC_INIT(re2c, 0.13.5, re2c-general@lists.sourceforge.net) | ||
14 | -AM_INIT_AUTOMAKE(re2c, $PACKAGE_VERSION) | ||
15 | +AM_INIT_AUTOMAKE([foreign]) | ||
16 | AC_CONFIG_SRCDIR(actions.cc) | ||
17 | AM_CONFIG_HEADER(config.h) | ||
18 | |||
diff --git a/meta-oe/recipes-support/re2c/re2c_0.13.5.bb b/meta-oe/recipes-support/re2c/re2c_0.13.5.bb new file mode 100644 index 000000000..dcac940f8 --- /dev/null +++ b/meta-oe/recipes-support/re2c/re2c_0.13.5.bb | |||
@@ -0,0 +1,15 @@ | |||
1 | SUMMARY = "Tool for writing very fast and very flexible scanners" | ||
2 | HOMEPAGE = "http://re2c.sourceforge.net/" | ||
3 | AUTHOR = "Marcus Börger <helly@users.sourceforge.net>" | ||
4 | SECTION = "devel" | ||
5 | LICENSE = "PD" | ||
6 | LIC_FILES_CHKSUM = "file://README;beginline=180;md5=822830a2204aef353f2c489f62e02089" | ||
7 | |||
8 | SRC_URI = "${SOURCEFORGE_MIRROR}/${BPN}/${BPN}-${PV}.tar.gz \ | ||
9 | file://configure.patch" | ||
10 | SRC_URI[md5sum] = "4a97d8f77ed6d2c76c8bd840a43f5633" | ||
11 | SRC_URI[sha256sum] = "f3a995139af475e80a30207d02728b1e0065b0caade7375e974cb1b14861668c" | ||
12 | |||
13 | BBCLASSEXTEND = "native" | ||
14 | |||
15 | inherit autotools | ||
diff --git a/meta-oe/recipes-support/read-edid/read-edid/0001-configure-remove-check-for-x86.h-we-don-t-build-get-.patch b/meta-oe/recipes-support/read-edid/read-edid/0001-configure-remove-check-for-x86.h-we-don-t-build-get-.patch new file mode 100644 index 000000000..440800235 --- /dev/null +++ b/meta-oe/recipes-support/read-edid/read-edid/0001-configure-remove-check-for-x86.h-we-don-t-build-get-.patch | |||
@@ -0,0 +1,28 @@ | |||
1 | From eb7590cc2cdd5c35403af4567d8524e017010f1c Mon Sep 17 00:00:00 2001 | ||
2 | From: Koen Kooi <koen@dominion.thruhere.net> | ||
3 | Date: Sat, 11 May 2013 07:58:17 +0200 | ||
4 | Subject: [PATCH] configure: remove check for x86.h, we don't build get-edid | ||
5 | |||
6 | Signed-off-by: Koen Kooi <koen@dominion.thruhere.net> | ||
7 | |||
8 | Upstream-status: Inappropriate [OE specific] | ||
9 | --- | ||
10 | configure.in | 2 -- | ||
11 | 1 file changed, 2 deletions(-) | ||
12 | |||
13 | diff --git a/configure.in b/configure.in | ||
14 | index ac85a21..f53e904 100644 | ||
15 | --- a/configure.in | ||
16 | +++ b/configure.in | ||
17 | @@ -8,8 +8,6 @@ dnl Checks for programs | ||
18 | |||
19 | AC_PROG_CC | ||
20 | |||
21 | -AC_CHECK_HEADER([libx86.h], [], [AC_MSG_ERROR([libx86.h not found])]) | ||
22 | - | ||
23 | dnl Simple, huh? | ||
24 | |||
25 | AC_OUTPUT([Makefile]) | ||
26 | -- | ||
27 | 1.8.1.4 | ||
28 | |||
diff --git a/meta-oe/recipes-support/read-edid/read-edid_2.0.0.bb b/meta-oe/recipes-support/read-edid/read-edid_2.0.0.bb new file mode 100644 index 000000000..b002906fa --- /dev/null +++ b/meta-oe/recipes-support/read-edid/read-edid_2.0.0.bb | |||
@@ -0,0 +1,23 @@ | |||
1 | DESCRIPTION = "read-edid elucidates various very useful informations from a conforming PnP monitor" | ||
2 | LICENSE = "GPLv2" | ||
3 | LIC_FILES_CHKSUM = "file://COPYING;md5=d0bf70fa1ef81fe4741ec0e6231dadfd" | ||
4 | |||
5 | SRC_URI = "http://polypux.org/projects/read-edid/read-edid-${PV}.tar.gz \ | ||
6 | file://0001-configure-remove-check-for-x86.h-we-don-t-build-get-.patch" | ||
7 | |||
8 | SRC_URI[md5sum] = "586e7fa1167773b27f4e505edc93274b" | ||
9 | SRC_URI[sha256sum] = "246ec14ec509e09ac26fe6862b120481b2cc881e2f142ba40886d6eec15e77e8" | ||
10 | |||
11 | inherit autotools | ||
12 | |||
13 | do_compile() { | ||
14 | oe_runmake parse-edid | ||
15 | } | ||
16 | |||
17 | do_install() { | ||
18 | install -d ${D}${bindir} | ||
19 | install -m 0755 parse-edid ${D}${bindir} | ||
20 | } | ||
21 | |||
22 | PACKAGES =+ "parse-edid" | ||
23 | FILES_parse-edid = "${bindir}/parse-edid" | ||
diff --git a/meta-oe/recipes-support/rng-tools/files/default b/meta-oe/recipes-support/rng-tools/files/default new file mode 100644 index 000000000..ab7cd9327 --- /dev/null +++ b/meta-oe/recipes-support/rng-tools/files/default | |||
@@ -0,0 +1,2 @@ | |||
1 | # Specify rng device | ||
2 | RNG_DEVICE=/dev/hwrng | ||
diff --git a/meta-oe/recipes-support/rng-tools/files/init b/meta-oe/recipes-support/rng-tools/files/init new file mode 100644 index 000000000..7cf78393a --- /dev/null +++ b/meta-oe/recipes-support/rng-tools/files/init | |||
@@ -0,0 +1,49 @@ | |||
1 | #! /bin/sh | ||
2 | # | ||
3 | # This is an init script for openembedded | ||
4 | # Copy it to /etc/init.d/rng-tools and type | ||
5 | # > update-rc.d rng-tools defaults 60 | ||
6 | # | ||
7 | |||
8 | rngd=/usr/sbin/rngd | ||
9 | test -x "$rngd" || exit 1 | ||
10 | |||
11 | if [ -e /etc/default/rng-tools ]; then | ||
12 | . /etc/default/rng-tools | ||
13 | fi | ||
14 | |||
15 | if [ -n "$RNG_DEVICE" ]; then | ||
16 | EXTRA_ARGS="-- -r $RNG_DEVICE" | ||
17 | fi | ||
18 | |||
19 | |||
20 | case "$1" in | ||
21 | start) | ||
22 | echo -n "Starting random number generator daemon" | ||
23 | start-stop-daemon -S -q -x $rngd $EXTRA_ARGS | ||
24 | echo "." | ||
25 | ;; | ||
26 | stop) | ||
27 | echo -n "Stopping random number generator daemon" | ||
28 | start-stop-daemon -K -q -n rngd | ||
29 | echo "." | ||
30 | ;; | ||
31 | reload|force-reload) | ||
32 | echo -n "Signalling rng daemon restart" | ||
33 | start-stop-daemon -K -q -s 1 -x $rngd | ||
34 | start-stop-daemon -K -q -s 1 -x $rngd | ||
35 | ;; | ||
36 | restart) | ||
37 | echo -n "Stopping random number generator daemon" | ||
38 | start-stop-daemon -K -q -n rngd | ||
39 | echo "." | ||
40 | echo -n "Starting random number generator daemon" | ||
41 | start-stop-daemon -S -q -x $rngd $EXTRA_ARGS | ||
42 | echo "." | ||
43 | ;; | ||
44 | *) | ||
45 | echo "Usage: /etc/init.d/rng-tools {start|stop|reload|restart|force-reload}" | ||
46 | exit 1 | ||
47 | esac | ||
48 | |||
49 | exit 0 | ||
diff --git a/meta-oe/recipes-support/rng-tools/rng-tools_4.bb b/meta-oe/recipes-support/rng-tools/rng-tools_4.bb new file mode 100644 index 000000000..f10fad1df --- /dev/null +++ b/meta-oe/recipes-support/rng-tools/rng-tools_4.bb | |||
@@ -0,0 +1,26 @@ | |||
1 | SUMMARY = "Random number generator daemon" | ||
2 | LICENSE = "GPLv2" | ||
3 | LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f" | ||
4 | DEPENDS_append_libc-uclibc = " argp-standalone" | ||
5 | |||
6 | SRC_URI = "http://heanet.dl.sourceforge.net/sourceforge/gkernel/${BP}.tar.gz \ | ||
7 | file://init \ | ||
8 | file://default" | ||
9 | |||
10 | SRC_URI[md5sum] = "ae89dbfcf08bdfbea19066cfbf599127" | ||
11 | SRC_URI[sha256sum] = "b71bdfd4222c05e8316001556be90e1606f2a1bac3efde60153bd84e873cc195" | ||
12 | |||
13 | inherit autotools update-rc.d | ||
14 | |||
15 | do_install_append() { | ||
16 | install -d "${D}${sysconfdir}/init.d" | ||
17 | install -m 0755 ${WORKDIR}/init ${D}${sysconfdir}/init.d/rng-tools | ||
18 | sed -i -e 's,/etc/,${sysconfdir}/,' -e 's,/usr/sbin/,${sbindir},' \ | ||
19 | ${D}${sysconfdir}/init.d/rng-tools | ||
20 | |||
21 | install -d "${D}${sysconfdir}/default" | ||
22 | install -m 0644 ${WORKDIR}/default ${D}${sysconfdir}/default | ||
23 | } | ||
24 | |||
25 | INITSCRIPT_NAME = "rng-tools" | ||
26 | INITSCRIPT_PARAMS = "defaults" | ||
diff --git a/meta-oe/recipes-support/rsnapshot/rsnapshot/configure-fix-cmd_rsync.patch b/meta-oe/recipes-support/rsnapshot/rsnapshot/configure-fix-cmd_rsync.patch new file mode 100644 index 000000000..7b2361b4a --- /dev/null +++ b/meta-oe/recipes-support/rsnapshot/rsnapshot/configure-fix-cmd_rsync.patch | |||
@@ -0,0 +1,44 @@ | |||
1 | From 26ad431e19788898fb4ed19ff91392e8b20f1bab Mon Sep 17 00:00:00 2001 | ||
2 | From: Wenzong Fan <wenzong.fan@windriver.com> | ||
3 | Date: Thu, 16 Oct 2014 04:06:55 -0400 | ||
4 | Subject: [PATCH] fix cmd_rsync | ||
5 | |||
6 | Don't break configure if rsync is not installed on host. | ||
7 | |||
8 | rsync is a runtime dependency and this change is only used for | ||
9 | generating rsnapshot.conf.default. It allows cmd_rsync to use | ||
10 | default path if options --without-rsync is specfied. | ||
11 | |||
12 | Upstream-Status: Pending | ||
13 | |||
14 | Signed-off-by: Wenzong Fan <wenzong.fan@windriver.com> | ||
15 | --- | ||
16 | configure.ac | 5 +++-- | ||
17 | 1 file changed, 3 insertions(+), 2 deletions(-) | ||
18 | |||
19 | diff --git a/configure.ac b/configure.ac | ||
20 | index bc9df9e..2a33d29 100644 | ||
21 | --- a/configure.ac | ||
22 | +++ b/configure.ac | ||
23 | @@ -55,7 +55,7 @@ AC_ARG_WITH(rsync, | ||
24 | AC_MSG_ERROR(rsync not found) | ||
25 | fi | ||
26 | else | ||
27 | - AC_MSG_ERROR(rsync is required) | ||
28 | + RSYNC=no | ||
29 | fi | ||
30 | ] | ||
31 | ) | ||
32 | @@ -67,7 +67,8 @@ if test "$RSYNC" = ""; then | ||
33 | fi | ||
34 | dnl bail out if we can't find it | ||
35 | if test "$RSYNC" = "no"; then | ||
36 | - AC_MSG_ERROR(rsync is required) | ||
37 | + RSYNC=/usr/bin/rsync | ||
38 | + AC_SUBST(CMD_RSYNC, "cmd_rsync $RSYNC") | ||
39 | fi | ||
40 | |||
41 | |||
42 | -- | ||
43 | 1.7.9.5 | ||
44 | |||
diff --git a/meta-oe/recipes-support/rsnapshot/rsnapshot_git.bb b/meta-oe/recipes-support/rsnapshot/rsnapshot_git.bb new file mode 100644 index 000000000..3f919b568 --- /dev/null +++ b/meta-oe/recipes-support/rsnapshot/rsnapshot_git.bb | |||
@@ -0,0 +1,42 @@ | |||
1 | SUMMARY = "A filesystem snapshot utility based on rsync" | ||
2 | HOMEPAGE = "http://www.rsnapshot.org" | ||
3 | BUGTRACKER = "https://sourceforge.net/projects/rsnapshot/" | ||
4 | SECTION = "console/network" | ||
5 | |||
6 | LICENSE = "GPLv2" | ||
7 | LIC_FILES_CHKSUM = "file://COPYING;md5=892f569a555ba9c07a568a7c0c4fa63a" | ||
8 | |||
9 | RDEPENDS_${PN} = "rsync \ | ||
10 | perl \ | ||
11 | perl-module-dirhandle \ | ||
12 | perl-module-cwd \ | ||
13 | perl-module-getopt-std \ | ||
14 | perl-module-file-path \ | ||
15 | perl-module-file-stat \ | ||
16 | perl-module-posix \ | ||
17 | perl-module-fcntl \ | ||
18 | perl-module-io-file \ | ||
19 | perl-module-constant \ | ||
20 | perl-module-overloading \ | ||
21 | " | ||
22 | |||
23 | SRCREV = "1047cbb57937c29233388e2fcd847fecd3babe74" | ||
24 | PV = "1.3.1+git${SRCPV}" | ||
25 | |||
26 | SRC_URI = "git://github.com/DrHyde/${BPN};branch=master;protocol=git \ | ||
27 | file://configure-fix-cmd_rsync.patch \ | ||
28 | " | ||
29 | |||
30 | S = "${WORKDIR}/git" | ||
31 | |||
32 | inherit autotools | ||
33 | |||
34 | # Fix rsnapshot.conf.default: | ||
35 | # don't inject the host path into target configs. | ||
36 | EXTRA_OECONF += "--without-cp \ | ||
37 | --without-rm \ | ||
38 | --without-du \ | ||
39 | --without-ssh \ | ||
40 | --without-logger \ | ||
41 | --without-rsync \ | ||
42 | " | ||
diff --git a/meta-oe/recipes-support/samsung-soc-utils/s3c24xx-gpio_svn.bb b/meta-oe/recipes-support/samsung-soc-utils/s3c24xx-gpio_svn.bb new file mode 100644 index 000000000..269c1b75e --- /dev/null +++ b/meta-oe/recipes-support/samsung-soc-utils/s3c24xx-gpio_svn.bb | |||
@@ -0,0 +1,20 @@ | |||
1 | SUMMARY = "A user-space tool to show and modify the state of GPIOs on the S3c24xx platform" | ||
2 | SECTION = "console/utils" | ||
3 | AUTHOR = "Werner Almesberger <werner@openmoko.org>" | ||
4 | LICENSE = "GPLv2+" | ||
5 | LIC_FILES_CHKSUM = "file://gpio.c;endline=12;md5=cfb91c686857b2e60852b4925d90a3e1" | ||
6 | SRCREV = "4949" | ||
7 | PV = "1.0+svnr${SRCPV}" | ||
8 | PR = "r2" | ||
9 | |||
10 | SRC_URI = "svn://svn.openmoko.org/trunk/src/target;module=gpio;protocol=http" | ||
11 | S = "${WORKDIR}/gpio" | ||
12 | |||
13 | do_compile() { | ||
14 | ${CC} ${CFLAGS} ${LDFLAGS} -static -o ${PN} gpio.c | ||
15 | } | ||
16 | |||
17 | do_install() { | ||
18 | install -d ${D}${sbindir} | ||
19 | install -m 0755 ${PN} ${D}${sbindir} | ||
20 | } | ||
diff --git a/meta-oe/recipes-support/samsung-soc-utils/s3c64xx-gpio_svn.bb b/meta-oe/recipes-support/samsung-soc-utils/s3c64xx-gpio_svn.bb new file mode 100644 index 000000000..256da092d --- /dev/null +++ b/meta-oe/recipes-support/samsung-soc-utils/s3c64xx-gpio_svn.bb | |||
@@ -0,0 +1,19 @@ | |||
1 | SUMMARY = "A user-space tool to show and modify the state of GPIOs on the S3c64xx platform" | ||
2 | SECTION = "console/utils" | ||
3 | AUTHOR = "Werner Almesberger <werner@openmoko.org>" | ||
4 | LICENSE = "GPLv2+" | ||
5 | LIC_FILES_CHKSUM = "file://gpio-s3c6410.c;endline=12;md5=060cda1be945ad9194593f11d56d55c7" | ||
6 | SRCREV = "4949" | ||
7 | PV = "1.0+svnr${SRCPV}" | ||
8 | |||
9 | SRC_URI = "svn://svn.openmoko.org/trunk/src/target;module=gpio;protocol=http" | ||
10 | S = "${WORKDIR}/gpio" | ||
11 | |||
12 | do_compile() { | ||
13 | ${CC} ${CFLAGS} ${LDFLAGS} -static -o ${PN} gpio-s3c6410.c | ||
14 | } | ||
15 | |||
16 | do_install() { | ||
17 | install -d ${D}${sbindir} | ||
18 | install -m 0755 ${PN} ${D}${sbindir} | ||
19 | } | ||
diff --git a/meta-oe/recipes-support/samsung-soc-utils/sjf2410-linux-native_svn.bb b/meta-oe/recipes-support/samsung-soc-utils/sjf2410-linux-native_svn.bb new file mode 100644 index 000000000..2d5935dd3 --- /dev/null +++ b/meta-oe/recipes-support/samsung-soc-utils/sjf2410-linux-native_svn.bb | |||
@@ -0,0 +1,32 @@ | |||
1 | SUMMARY = "JTAG utility to interface w/ a S3C2410 device" | ||
2 | SECTION = "devel" | ||
3 | AUTHOR = "Harald Welte <laforge@openmoko.org>" | ||
4 | LICENSE = "GPLv2+" | ||
5 | LIC_FILES_CHKSUM = "file://parport.c;endline=19;md5=b5681091b0fd8c5f7068835c441bf0c8" | ||
6 | SRCREV = "4268" | ||
7 | PV = "0.1+svnr${SRCPV}" | ||
8 | PR = "r1" | ||
9 | |||
10 | SRC_URI = "svn://svn.openmoko.org/trunk/src/host/;module=sjf2410-linux;protocol=http" | ||
11 | S = "${WORKDIR}/sjf2410-linux" | ||
12 | |||
13 | inherit native deploy | ||
14 | do_deploy[sstate-outputdirs] = "${DEPLOY_DIR_TOOLS}" | ||
15 | |||
16 | CFLAGS += "-DLINUX_PPDEV" | ||
17 | |||
18 | do_compile() { | ||
19 | oe_runmake | ||
20 | } | ||
21 | |||
22 | do_install() { | ||
23 | install -d ${D}/${bindir} | ||
24 | install -m 0755 sjf2410 ${D}/${bindir} | ||
25 | } | ||
26 | |||
27 | do_deploy() { | ||
28 | install -d ${DEPLOY_DIR_TOOLS} | ||
29 | install -m 0755 sjf2410 ${DEPLOY_DIR_TOOLS}/sjf2410-${PV} | ||
30 | } | ||
31 | |||
32 | addtask deploy before do_build after do_install | ||
diff --git a/meta-oe/recipes-support/sdparm/files/make-sysroot-work.patch b/meta-oe/recipes-support/sdparm/files/make-sysroot-work.patch new file mode 100644 index 000000000..5405ed802 --- /dev/null +++ b/meta-oe/recipes-support/sdparm/files/make-sysroot-work.patch | |||
@@ -0,0 +1,27 @@ | |||
1 | [PATCH] make sysroot work | ||
2 | |||
3 | Upstream-Status: Pending | ||
4 | |||
5 | Add = before the included dir to make sysroot work | ||
6 | |||
7 | Signed-off-by: Roy.Li <rongqing.li@windriver.com> | ||
8 | --- | ||
9 | src/Makefile.am | 2 +- | ||
10 | 1 file changed, 1 insertion(+), 1 deletion(-) | ||
11 | |||
12 | diff --git a/src/Makefile.am b/src/Makefile.am | ||
13 | index c83788c..9f62115 100644 | ||
14 | --- a/src/Makefile.am | ||
15 | +++ b/src/Makefile.am | ||
16 | @@ -32,7 +32,7 @@ sglib_SOURCES = ../lib/sg_lib.c \ | ||
17 | ../lib/sg_pt_common.c | ||
18 | |||
19 | if HAVE_SGUTILS | ||
20 | -INCLUDES = -I/usr/include/scsi | ||
21 | +INCLUDES = -I=@includedir@/scsi | ||
22 | sdparm_LDADD = @GETOPT_O_FILES@ @os_libs@ @SGUTILS_LIBS@ | ||
23 | sdparm_DEPENDENCIES = @GETOPT_O_FILES@ | ||
24 | else | ||
25 | -- | ||
26 | 1.9.1 | ||
27 | |||
diff --git a/meta-oe/recipes-support/sdparm/sdparm_1.08.bb b/meta-oe/recipes-support/sdparm/sdparm_1.08.bb new file mode 100644 index 000000000..b603a5682 --- /dev/null +++ b/meta-oe/recipes-support/sdparm/sdparm_1.08.bb | |||
@@ -0,0 +1,23 @@ | |||
1 | SUMMARY = "fetch and change SCSI mode pages" | ||
2 | DESCRIPTION = "The sdparm utility accesses and optionally modifies \ | ||
3 | SCSI devices' mode page and inquiry data." | ||
4 | HOMEPAGE = "http://sg.danny.cz/sg/sdparm.html" | ||
5 | SECTION = "console/utils" | ||
6 | LICENSE = "BSD" | ||
7 | LIC_FILES_CHKSUM = "file://COPYING;md5=ecab6c36b7ba82c675581dd0afde36f7 \ | ||
8 | file://lib/BSD_LICENSE;md5=1d52f4a66f1e0ed96776bf354ab7a2ed" | ||
9 | DEPENDS="sg3-utils" | ||
10 | SRC_URI = "http://sg.danny.cz/sg/p/${BPN}-${PV}.tgz \ | ||
11 | file://make-sysroot-work.patch \ | ||
12 | " | ||
13 | |||
14 | PACKAGES =+ "${PN}-scripts" | ||
15 | RDEPENDS_${PN}-scripts += "bash ${PN}" | ||
16 | |||
17 | SRC_URI[md5sum] = "be5786f37499018ef44f409597c92d42" | ||
18 | SRC_URI[sha256sum] = "376b78a414b1a9c47f3f13dbeb963e7a3ec7be126f83927d6856b5f7ac425e57" | ||
19 | |||
20 | inherit autotools | ||
21 | |||
22 | # Put the bash scripts to ${PN}-scripts | ||
23 | FILES_${PN}-scripts = "${bindir}/sas_disk_blink ${bindir}/scsi_ch_swp" | ||
diff --git a/meta-oe/recipes-support/serial-utils/pty-forward-native.bb b/meta-oe/recipes-support/serial-utils/pty-forward-native.bb new file mode 100644 index 000000000..b2b878d34 --- /dev/null +++ b/meta-oe/recipes-support/serial-utils/pty-forward-native.bb | |||
@@ -0,0 +1,20 @@ | |||
1 | SUMMARY = "Receive a forwarded serial from serial-forward and provide a PTY" | ||
2 | AUTHOR = "Holger 'Zecke' Freyther" | ||
3 | LICENSE = "GPLv2" | ||
4 | LIC_FILES_CHKSUM = "file://COPYING;md5=ebb5c50ab7cab4baeffba14977030c07" | ||
5 | SECTION = "console/network" | ||
6 | SRCREV = "00dbec2636ae0385ad028587e20e446272ff97ec" | ||
7 | PV = "1.1+gitr${SRCPV}" | ||
8 | |||
9 | SRC_URI = "${FREESMARTPHONE_GIT}/cornucopia" | ||
10 | S = "${WORKDIR}/git/tools/serial_forward" | ||
11 | |||
12 | inherit autotools native | ||
13 | |||
14 | do_deploy[sstate-outputdirs] = "${DEPLOY_DIR_IMAGE}" | ||
15 | do_deploy() { | ||
16 | install -d ${DEPLOY_DIR_IMAGE} | ||
17 | install -m 0755 ${S}/src/pty_forward ${DEPLOY_DIR_IMAGE}/pty-forward | ||
18 | } | ||
19 | |||
20 | addtask deploy before do_package after do_install | ||
diff --git a/meta-oe/recipes-support/serial-utils/serial-forward_git.bb b/meta-oe/recipes-support/serial-utils/serial-forward_git.bb new file mode 100644 index 000000000..129a3be8a --- /dev/null +++ b/meta-oe/recipes-support/serial-utils/serial-forward_git.bb | |||
@@ -0,0 +1,12 @@ | |||
1 | SUMMARY = "Forward a serial using TCP/IP" | ||
2 | AUTHOR = "Holger 'Zecke' Freyther'" | ||
3 | LICENSE = "GPLv2" | ||
4 | LIC_FILES_CHKSUM = "file://COPYING;md5=ebb5c50ab7cab4baeffba14977030c07" | ||
5 | SECTION = "console/devel" | ||
6 | SRCREV = "00dbec2636ae0385ad028587e20e446272ff97ec" | ||
7 | PV = "1.1+gitr${SRCPV}" | ||
8 | |||
9 | SRC_URI = "${FREESMARTPHONE_GIT}/cornucopia" | ||
10 | S = "${WORKDIR}/git/tools/serial_forward" | ||
11 | |||
12 | inherit autotools | ||
diff --git a/meta-oe/recipes-support/sg3-utils/sg3-utils_1.38.bb b/meta-oe/recipes-support/sg3-utils/sg3-utils_1.38.bb new file mode 100644 index 000000000..5ce11b62d --- /dev/null +++ b/meta-oe/recipes-support/sg3-utils/sg3-utils_1.38.bb | |||
@@ -0,0 +1,19 @@ | |||
1 | SUMMARY = "Utilities for working with generic SCSI devices" | ||
2 | |||
3 | DESCRIPTION = "This package contains low level utilities for devices that use the SCSI command set" | ||
4 | |||
5 | HOMEPAGE = "http://sg.danny.cz/sg/sg3_utils.html" | ||
6 | SECTION = "console/admin" | ||
7 | |||
8 | LICENSE = "GPLv2+ & BSD" | ||
9 | LIC_FILES_CHKSUM = "file://COPYING;md5=f90da7fc52172599dbf082d7620f18ca" | ||
10 | |||
11 | SRC_URI = "http://sg.danny.cz/sg/p/sg3_utils-${PV}.tgz" | ||
12 | SRC_URI[md5sum] = "e532a3d6648c422347f6d84cac469263" | ||
13 | SRC_URI[sha256sum] = "d7d3a8b4b698e2c17c8f16bb876946720260d4d659d471c5d7c12ce652ba38f1" | ||
14 | |||
15 | inherit autotools-brokensep | ||
16 | |||
17 | S = "${WORKDIR}/sg3_utils-${PV}" | ||
18 | |||
19 | RDEPENDS_${PN} += "bash" | ||
diff --git a/meta-oe/recipes-support/sharutils/sharutils-4.14/fix-for-cross-compiling.patch b/meta-oe/recipes-support/sharutils/sharutils-4.14/fix-for-cross-compiling.patch new file mode 100644 index 000000000..86a7da63c --- /dev/null +++ b/meta-oe/recipes-support/sharutils/sharutils-4.14/fix-for-cross-compiling.patch | |||
@@ -0,0 +1,29 @@ | |||
1 | From 990234af84a5399017d1c4fe03c5c756a8e51e23 Mon Sep 17 00:00:00 2001 | ||
2 | From: Hongjun Yang <Hongjun.Yang@windriver.com> | ||
3 | Date: Tue, 20 Aug 2013 09:41:43 +0800 | ||
4 | Subject: [PATCH] fix cross compiling issue | ||
5 | |||
6 | Upstream-Status: Pending | ||
7 | |||
8 | Signed-off-by: Hongjun.Yang <hongjun.yang@windriver.com> | ||
9 | |||
10 | --- | ||
11 | configure | 2 +- | ||
12 | 1 file changed, 1 insertion(+), 1 deletion(-) | ||
13 | |||
14 | diff --git a/configure b/configure | ||
15 | index 6ee98e0..8067f54 100755 | ||
16 | --- a/configure | ||
17 | +++ b/configure | ||
18 | @@ -26965,7 +26965,7 @@ fi | ||
19 | if test "$cross_compiling" = yes; then : | ||
20 | { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5 | ||
21 | $as_echo "$as_me: error: in \`$ac_pwd':" >&2;} | ||
22 | -as_fn_error $? "cannot run test program while cross compiling | ||
23 | +$as_echo "cannot run test program while cross compiling | ||
24 | See \`config.log' for more details" "$LINENO" 5; } | ||
25 | else | ||
26 | cat confdefs.h - <<_ACEOF >conftest.$ac_ext | ||
27 | -- | ||
28 | 1.8.1.4 | ||
29 | |||
diff --git a/meta-oe/recipes-support/sharutils/sharutils_4.14.bb b/meta-oe/recipes-support/sharutils/sharutils_4.14.bb new file mode 100644 index 000000000..49981e7f7 --- /dev/null +++ b/meta-oe/recipes-support/sharutils/sharutils_4.14.bb | |||
@@ -0,0 +1,18 @@ | |||
1 | SUMMARY = "This is the set of GNU shar utilities." | ||
2 | HOMEPAGE = "http://www.gnu.org/software/sharutils/" | ||
3 | SECTION = "console/utils" | ||
4 | LICENSE="GPLv3+" | ||
5 | LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504" | ||
6 | |||
7 | inherit gettext autotools-brokensep | ||
8 | |||
9 | SRC_URI = "ftp://ftp.gnu.org/gnu/sharutils/sharutils-4.14.tar.gz \ | ||
10 | file://fix-for-cross-compiling.patch \ | ||
11 | " | ||
12 | |||
13 | SRC_URI[md5sum] = "5686c11131b4c4c0841f8f3ef34d136a" | ||
14 | SRC_URI[sha256sum] = "90f5107c167cfd1b299bb211828d2586471087863dbed698f53109cd5f717208" | ||
15 | |||
16 | do_configure () { | ||
17 | oe_runconf | ||
18 | } | ||
diff --git a/meta-oe/recipes-support/sqlite/sqlite-2.8.17/mainmk_build_dynamic.patch b/meta-oe/recipes-support/sqlite/sqlite-2.8.17/mainmk_build_dynamic.patch new file mode 100644 index 000000000..914422f1d --- /dev/null +++ b/meta-oe/recipes-support/sqlite/sqlite-2.8.17/mainmk_build_dynamic.patch | |||
@@ -0,0 +1,32 @@ | |||
1 | diff -urN sqlite-2.8.17.orig/main.mk sqlite-2.8.17/main.mk | ||
2 | --- sqlite-2.8.17.orig/main.mk 2005-04-23 22:43:23.000000000 +0000 | ||
3 | +++ sqlite-2.8.17/main.mk 2009-04-02 20:10:36.000000000 +0000 | ||
4 | @@ -139,7 +139,7 @@ | ||
5 | # This is the default Makefile target. The objects listed here | ||
6 | # are what get build when you type just "make" with no arguments. | ||
7 | # | ||
8 | -all: sqlite.h config.h libsqlite.a sqlite$(EXE) | ||
9 | +all: sqlite.h config.h libsqlite.so sqlite$(EXE) | ||
10 | |||
11 | # Generate the file "last_change" which contains the date of change | ||
12 | # of the most recently modified source code file | ||
13 | @@ -148,13 +148,12 @@ | ||
14 | cat $(SRC) | grep '$$Id: ' | sort +4 | tail -1 \ | ||
15 | | awk '{print $$5,$$6}' >last_change | ||
16 | |||
17 | -libsqlite.a: $(LIBOBJ) | ||
18 | - $(AR) libsqlite.a $(LIBOBJ) | ||
19 | - $(RANLIB) libsqlite.a | ||
20 | - | ||
21 | -sqlite$(EXE): $(TOP)/src/shell.c libsqlite.a sqlite.h | ||
22 | - $(TCCX) $(READLINE_FLAGS) -o sqlite$(EXE) $(TOP)/src/shell.c \ | ||
23 | - libsqlite.a $(LIBREADLINE) $(THREADLIB) | ||
24 | +libsqlite.so: $(LIBOBJ) | ||
25 | + $(CC) $(LDFLAGS) -shared -o libsqlite.so -Wl,-soname,libsqlite.so.0 $(LIBOBJ) | ||
26 | + | ||
27 | +sqlite$(EXE): $(TOP)/src/shell.c libsqlite.so sqlite.h | ||
28 | + $(TCCX) $(LDFLAGS) $(READLINE_FLAGS) -o sqlite$(EXE) $(TOP)/src/shell.c \ | ||
29 | + -lsqlite $(LIBREADLINE) $(THREADLIB) | ||
30 | |||
31 | sqlite_analyzer$(EXE): $(TOP)/src/tclsqlite.c libsqlite.a $(TESTSRC) \ | ||
32 | $(TOP)/tool/spaceanal.tcl | ||
diff --git a/meta-oe/recipes-support/sqlite/sqlite-2.8.17/mainmk_no_tcl.patch b/meta-oe/recipes-support/sqlite/sqlite-2.8.17/mainmk_no_tcl.patch new file mode 100644 index 000000000..b84b6486e --- /dev/null +++ b/meta-oe/recipes-support/sqlite/sqlite-2.8.17/mainmk_no_tcl.patch | |||
@@ -0,0 +1,20 @@ | |||
1 | diff -bur sqlite-2.8.17~orig/main.mk sqlite-2.8.17/main.mk | ||
2 | --- sqlite-2.8.17~orig/main.mk 2006-02-13 04:09:33.000000000 -0600 | ||
3 | +++ sqlite-2.8.17/main.mk 2006-02-13 04:15:42.000000000 -0600 | ||
4 | @@ -58,7 +58,7 @@ | ||
5 | expr.o func.o hash.o insert.o \ | ||
6 | main.o opcodes.o os.o pager.o parse.o pragma.o printf.o random.o \ | ||
7 | select.o table.o tokenize.o trigger.o update.o util.o \ | ||
8 | - vacuum.o vdbe.o vdbeaux.o where.o tclsqlite.o | ||
9 | + vacuum.o vdbe.o vdbeaux.o where.o | ||
10 | |||
11 | # All of the source code files. | ||
12 | # | ||
13 | @@ -91,7 +91,6 @@ | ||
14 | $(TOP)/src/sqlite.h.in \ | ||
15 | $(TOP)/src/sqliteInt.h \ | ||
16 | $(TOP)/src/table.c \ | ||
17 | - $(TOP)/src/tclsqlite.c \ | ||
18 | $(TOP)/src/tokenize.c \ | ||
19 | $(TOP)/src/trigger.c \ | ||
20 | $(TOP)/src/update.c \ | ||
diff --git a/meta-oe/recipes-support/sqlite/sqlite-2.8.17/sqlite.pc b/meta-oe/recipes-support/sqlite/sqlite-2.8.17/sqlite.pc new file mode 100644 index 000000000..6bc742eec --- /dev/null +++ b/meta-oe/recipes-support/sqlite/sqlite-2.8.17/sqlite.pc | |||
@@ -0,0 +1,12 @@ | |||
1 | # Package Information for pkg-config | ||
2 | |||
3 | prefix=/usr | ||
4 | exec_prefix=${prefix} | ||
5 | libdir=${exec_prefix}/lib | ||
6 | includedir=${prefix}/include | ||
7 | |||
8 | Name: SQLite | ||
9 | Description: SQL database engine | ||
10 | Version: 2.8.17 | ||
11 | Libs: -L${libdir} -lsqlite | ||
12 | Cflags: -I${includedir} | ||
diff --git a/meta-oe/recipes-support/sqlite/sqlite_2.8.17.bb b/meta-oe/recipes-support/sqlite/sqlite_2.8.17.bb new file mode 100644 index 000000000..e6e14c2ad --- /dev/null +++ b/meta-oe/recipes-support/sqlite/sqlite_2.8.17.bb | |||
@@ -0,0 +1,59 @@ | |||
1 | SUMMARY = "An Embeddable SQL Database Engine" | ||
2 | HOMEPAGE = "http://www.sqlite.org/" | ||
3 | SECTION = "libs" | ||
4 | DEPENDS = "readline ncurses" | ||
5 | LICENSE = "PD" | ||
6 | LIC_FILES_CHKSUM = "file://src/main.c;beginline=1;endline=10;md5=e98469a8efa024a38ad5b2e4b92f4a96" | ||
7 | |||
8 | PR = "r7" | ||
9 | |||
10 | SRC_URI = "http://www.hwaci.com/sw/sqlite/sqlite-${PV}.tar.gz \ | ||
11 | file://mainmk_build_dynamic.patch \ | ||
12 | file://mainmk_no_tcl.patch \ | ||
13 | file://sqlite.pc" | ||
14 | |||
15 | SOURCES = "attach.o auth.o btree.o btree_rb.o build.o copy.o date.o delete.o \ | ||
16 | expr.o func.o hash.o insert.o main.o opcodes.o os.o pager.o \ | ||
17 | parse.o pragma.o printf.o random.o select.o table.o tokenize.o \ | ||
18 | trigger.o update.o util.o vacuum.o vdbe.o vdbeaux.o where.o" | ||
19 | |||
20 | inherit autotools pkgconfig | ||
21 | |||
22 | do_configure() { | ||
23 | echo "main.mk is patched, no need to configure" | ||
24 | # make pkgconfig.bbclass pick this up | ||
25 | cp ${WORKDIR}/sqlite.pc ${S} | ||
26 | } | ||
27 | |||
28 | do_compile() { | ||
29 | oe_runmake -f ${S}/Makefile.linux-gcc \ | ||
30 | TOP="${S}" \ | ||
31 | BCC="${BUILD_CC}" \ | ||
32 | TCC="${CC}" \ | ||
33 | OPTS="-fPIC -D'INTPTR_TYPE=int'" \ | ||
34 | TCL_FLAGS= LIBTCL= \ | ||
35 | READLINE_FLAGS="-DHAVE_READLINE=1 -I${STAGING_INCDIR}" \ | ||
36 | LIBREADLINE="-L. -L${STAGING_LIBDIR} -lreadline -lncurses" | ||
37 | } | ||
38 | |||
39 | do_install() { | ||
40 | install -d ${D}${libdir} ${D}${bindir} | ||
41 | install sqlite ${D}${bindir} | ||
42 | install -m 0755 libsqlite.so ${D}${libdir}/libsqlite.so.0.8.6 | ||
43 | ln -sf libsqlite.so.0.8.6 ${D}${libdir}/libsqlite.so | ||
44 | ln -sf libsqlite.so.0.8.6 ${D}${libdir}/libsqlite.so.0 | ||
45 | ln -sf libsqlite.so.0.8.6 ${D}${libdir}/libsqlite.so.0.8 | ||
46 | install -d ${D}${includedir} | ||
47 | install -m 0644 sqlite.h ${D}${includedir}/sqlite.h | ||
48 | install -d ${D}${libdir}/pkgconfig | ||
49 | install -m 0644 ${S}/sqlite.pc ${D}${libdir}/pkgconfig/sqlite.pc | ||
50 | } | ||
51 | |||
52 | PACKAGES += "${PN}-bin" | ||
53 | FILES_${PN}-bin = "${bindir}/*" | ||
54 | FILES_${PN} = "${libdir}/*.so.*" | ||
55 | |||
56 | SRC_URI[md5sum] = "838dbac20b56d2c4292e98848505a05b" | ||
57 | SRC_URI[sha256sum] = "3f35ebfb67867fb5b583a03e480f900206af637efe7179b32294a6a0cf806f37" | ||
58 | |||
59 | BBCLASSEXTEND = "native" | ||
diff --git a/meta-oe/recipes-support/start-stop-daemon/start-stop-daemon_1.16.0.2.bb b/meta-oe/recipes-support/start-stop-daemon/start-stop-daemon_1.16.0.2.bb new file mode 100644 index 000000000..c232474a0 --- /dev/null +++ b/meta-oe/recipes-support/start-stop-daemon/start-stop-daemon_1.16.0.2.bb | |||
@@ -0,0 +1,30 @@ | |||
1 | SUMMARY = "Debian's start-stop-daemon utility extracted from the dpkg \ | ||
2 | package" | ||
3 | LICENSE = "PD" | ||
4 | LIC_FILES_CHKSUM = "file://utils/start-stop-daemon.c;md5=a963623e4588f70122865aaa7a370ce4" | ||
5 | # start-stop-daemon is usually shipped by dpkg | ||
6 | DEPENDS = "ncurses" | ||
7 | RCONFLICS_${PN} = "dpkg" | ||
8 | |||
9 | SRC_URI = "http://sources.openembedded.org/dpkg_${PV}.tar.bz2" | ||
10 | SRC_URI[md5sum] = "d211a84f38987771a49ad1c0f144334a" | ||
11 | SRC_URI[sha256sum] = "2a3d4ba83c743b3f004533fdd52372cb7b22f5c1da2042d0a31bbcc2b54c0ea5" | ||
12 | |||
13 | inherit autotools gettext pkgconfig | ||
14 | |||
15 | S = "${WORKDIR}/dpkg-${PV}" | ||
16 | |||
17 | EXTRA_OECONF = " \ | ||
18 | --with-start-stop-daemon \ | ||
19 | --without-bz2 \ | ||
20 | --without-install-info \ | ||
21 | --without-selinux \ | ||
22 | --without-update-alternatives \ | ||
23 | " | ||
24 | |||
25 | do_install_append () { | ||
26 | # remove everything that is not related to start-stop-daemon, since there | ||
27 | # is no explicit rule for only installing ssd | ||
28 | find ${D} -type f -not -name "*start-stop-daemon*" -exec rm {} \; | ||
29 | find ${D} -depth -type d -empty -exec rmdir {} \; | ||
30 | } | ||
diff --git a/meta-oe/recipes-support/synergy/synergy_1.3.8.bb b/meta-oe/recipes-support/synergy/synergy_1.3.8.bb new file mode 100644 index 000000000..642845f96 --- /dev/null +++ b/meta-oe/recipes-support/synergy/synergy_1.3.8.bb | |||
@@ -0,0 +1,22 @@ | |||
1 | SUMMARY = "Synergy - control multiple computers with one keyboard and mouse" | ||
2 | HOMEPAGE = "http://synergy.googlecode.com" | ||
3 | LIC_FILES_CHKSUM = "file://COPYING;md5=9772a11e3569985855e2ce450e56f991" | ||
4 | LICENSE = "GPL-2.0" | ||
5 | SECTION = "x11/utils" | ||
6 | |||
7 | DEPENDS = "libx11 libxtst libxinerama" | ||
8 | |||
9 | SRC_URI = "http://synergy.googlecode.com/files/synergy-${PV}-Source.tar.gz" | ||
10 | |||
11 | SRC_URI[md5sum] = "3534c65ecfa6e47d7899c57975442f03" | ||
12 | SRC_URI[sha256sum] = "0afc83e4ed0b46ed497d4229b2b2854e8d3c581a112f4da05110943edbfacc03" | ||
13 | |||
14 | S = "${WORKDIR}/${PN}-${PV}-Source" | ||
15 | |||
16 | inherit cmake | ||
17 | |||
18 | do_install() { | ||
19 | install -d ${D}/usr/bin | ||
20 | install -m 0755 ${S}/bin/synergy* ${D}/usr/bin/ | ||
21 | } | ||
22 | |||
diff --git a/meta-oe/recipes-support/syslog-ng/files/Fix-the-memory-leak-problem-for-mutex.patch b/meta-oe/recipes-support/syslog-ng/files/Fix-the-memory-leak-problem-for-mutex.patch new file mode 100644 index 000000000..89022aaf0 --- /dev/null +++ b/meta-oe/recipes-support/syslog-ng/files/Fix-the-memory-leak-problem-for-mutex.patch | |||
@@ -0,0 +1,58 @@ | |||
1 | Fix the memory leak problem for mutex | ||
2 | |||
3 | Upstream-Status: Pending | ||
4 | |||
5 | Signed-off-by: Xufeng Zhang <xufeng.zhang@windriver.com> | ||
6 | --- | ||
7 | lib/logqueue.c | 1 + | ||
8 | modules/affile/affile-dest.c | 2 ++ | ||
9 | modules/dbparser/dbparser.c | 1 + | ||
10 | 3 files changed, 4 insertions(+), 0 deletions(-) | ||
11 | |||
12 | diff --git a/lib/logqueue.c b/lib/logqueue.c | ||
13 | index 337a3c1..10edcf0 100644 | ||
14 | --- a/lib/logqueue.c | ||
15 | +++ b/lib/logqueue.c | ||
16 | @@ -188,6 +188,7 @@ log_queue_init_instance(LogQueue *self, const gchar *persist_name) | ||
17 | void | ||
18 | log_queue_free_method(LogQueue *self) | ||
19 | { | ||
20 | + g_static_mutex_free(&self->lock); | ||
21 | g_free(self->persist_name); | ||
22 | g_free(self); | ||
23 | } | ||
24 | diff --git a/modules/affile/affile-dest.c b/modules/affile/affile-dest.c | ||
25 | index a2bcdad..ce79f6f 100644 | ||
26 | --- a/modules/affile/affile-dest.c | ||
27 | +++ b/modules/affile/affile-dest.c | ||
28 | @@ -305,6 +305,7 @@ affile_dw_free(LogPipe *s) | ||
29 | { | ||
30 | AFFileDestWriter *self = (AFFileDestWriter *) s; | ||
31 | |||
32 | + g_static_mutex_free(&self->lock); | ||
33 | log_pipe_unref((LogPipe *) self->writer); | ||
34 | self->writer = NULL; | ||
35 | g_free(self->filename); | ||
36 | @@ -687,6 +688,7 @@ affile_dd_free(LogPipe *s) | ||
37 | /* NOTE: this must be NULL as deinit has freed it, otherwise we'd have circular references */ | ||
38 | g_assert(self->single_writer == NULL && self->writer_hash == NULL); | ||
39 | |||
40 | + g_static_mutex_free(&self->lock); | ||
41 | log_template_unref(self->filename_template); | ||
42 | log_writer_options_destroy(&self->writer_options); | ||
43 | log_dest_driver_free(s); | ||
44 | diff --git a/modules/dbparser/dbparser.c b/modules/dbparser/dbparser.c | ||
45 | index f1248b5..9775701 100644 | ||
46 | --- a/modules/dbparser/dbparser.c | ||
47 | +++ b/modules/dbparser/dbparser.c | ||
48 | @@ -284,6 +284,7 @@ log_db_parser_free(LogPipe *s) | ||
49 | { | ||
50 | LogDBParser *self = (LogDBParser *) s; | ||
51 | |||
52 | + g_static_mutex_free(&self->lock); | ||
53 | if (self->db) | ||
54 | pattern_db_free(self->db); | ||
55 | |||
56 | -- | ||
57 | 1.7.1 | ||
58 | |||
diff --git a/meta-oe/recipes-support/syslog-ng/files/Fix-the-memory-leak-problem-when-HAVE_ENVIRON-defined.patch b/meta-oe/recipes-support/syslog-ng/files/Fix-the-memory-leak-problem-when-HAVE_ENVIRON-defined.patch new file mode 100644 index 000000000..2ac9c0be0 --- /dev/null +++ b/meta-oe/recipes-support/syslog-ng/files/Fix-the-memory-leak-problem-when-HAVE_ENVIRON-defined.patch | |||
@@ -0,0 +1,27 @@ | |||
1 | Fix the memory leak problem when HAVE_ENVIRON is defined | ||
2 | |||
3 | Upstream-Status: Pending | ||
4 | |||
5 | Signed-off-by: Xufeng Zhang <xufeng.zhang@windriver.com> | ||
6 | --- | ||
7 | --- a/lib/gprocess.c | ||
8 | +++ b/lib/gprocess.c | ||
9 | @@ -1421,6 +1421,18 @@ | ||
10 | void | ||
11 | g_process_finish(void) | ||
12 | { | ||
13 | +#ifdef HAVE_ENVIRON | ||
14 | + int i = 0; | ||
15 | + | ||
16 | + while (environ[i]) { | ||
17 | + g_free(environ[i]); | ||
18 | + ++i; | ||
19 | + } | ||
20 | + if (environ) | ||
21 | + g_free(environ); | ||
22 | + if (process_opts.argv_orig) | ||
23 | + free(process_opts.argv_orig); | ||
24 | +#endif | ||
25 | g_process_remove_pidfile(); | ||
26 | } | ||
27 | |||
diff --git a/meta-oe/recipes-support/syslog-ng/files/afsql-afsql_dd_insert_db-refactor.patch b/meta-oe/recipes-support/syslog-ng/files/afsql-afsql_dd_insert_db-refactor.patch new file mode 100644 index 000000000..42e181bb1 --- /dev/null +++ b/meta-oe/recipes-support/syslog-ng/files/afsql-afsql_dd_insert_db-refactor.patch | |||
@@ -0,0 +1,494 @@ | |||
1 | From 23e80b75508187baaa823a68ea019b72e0b2305c Mon Sep 17 00:00:00 2001 | ||
2 | From: Budai Laszlo <lbudai@balabit.hu> | ||
3 | Date: Tue, 12 Nov 2013 13:19:04 +0100 | ||
4 | Subject: [PATCH] afsql: afsql_dd_insert_db() refactor | ||
5 | |||
6 | Upstream-Status: Backport | ||
7 | |||
8 | A lot of the code that was previously in afsql_dd_insert_db() have been | ||
9 | extracted to smaller functions, and afsql_dd_insert_db() was rebuilt on | ||
10 | top of these. At the same time, memory leaks were plugged, and in case | ||
11 | of a transaction error, backlog rewinding has been fixed too, to not | ||
12 | loose messages since the last BEGIN command. | ||
13 | |||
14 | Signed-off-by: Juhasz Viktor <jviktor@balabit.hu> | ||
15 | Signed-off-by: Laszlo Budai <lbudai@balabit.hu> | ||
16 | --- | ||
17 | modules/afsql/afsql.c | 301 ++++++++++++++++++++++++++++++++------------------ | ||
18 | 1 file changed, 192 insertions(+), 109 deletions(-) | ||
19 | |||
20 | diff --git a/modules/afsql/afsql.c b/modules/afsql/afsql.c | ||
21 | index 12f6aab..a6a8190 100644 | ||
22 | --- a/modules/afsql/afsql.c | ||
23 | +++ b/modules/afsql/afsql.c | ||
24 | @@ -456,24 +456,21 @@ afsql_dd_create_index(AFSqlDestDriver *s | ||
25 | * | ||
26 | * NOTE: This function can only be called from the database thread. | ||
27 | **/ | ||
28 | -static GString * | ||
29 | -afsql_dd_validate_table(AFSqlDestDriver *self, LogMessage *msg) | ||
30 | +static gboolean | ||
31 | +afsql_dd_validate_table(AFSqlDestDriver *self, GString *table) | ||
32 | { | ||
33 | - GString *query_string, *table; | ||
34 | + GString *query_string; | ||
35 | dbi_result db_res; | ||
36 | gboolean success = FALSE; | ||
37 | gint i; | ||
38 | |||
39 | - table = g_string_sized_new(32); | ||
40 | - log_template_format(self->table, msg, &self->template_options, LTZ_LOCAL, 0, NULL, table); | ||
41 | - | ||
42 | if (self->flags & AFSQL_DDF_DONT_CREATE_TABLES) | ||
43 | - return table; | ||
44 | + return TRUE; | ||
45 | |||
46 | afsql_dd_check_sql_identifier(table->str, TRUE); | ||
47 | |||
48 | if (g_hash_table_lookup(self->validated_tables, table->str)) | ||
49 | - return table; | ||
50 | + return TRUE; | ||
51 | |||
52 | query_string = g_string_sized_new(32); | ||
53 | g_string_printf(query_string, "SELECT * FROM %s WHERE 0=1", table->str); | ||
54 | @@ -544,14 +541,9 @@ afsql_dd_validate_table(AFSqlDestDriver | ||
55 | /* we have successfully created/altered the destination table, record this information */ | ||
56 | g_hash_table_insert(self->validated_tables, g_strdup(table->str), GUINT_TO_POINTER(TRUE)); | ||
57 | } | ||
58 | - else | ||
59 | - { | ||
60 | - g_string_free(table, TRUE); | ||
61 | - table = NULL; | ||
62 | - } | ||
63 | g_string_free(query_string, TRUE); | ||
64 | |||
65 | - return table; | ||
66 | + return success; | ||
67 | } | ||
68 | |||
69 | /** | ||
70 | @@ -581,6 +573,20 @@ afsql_dd_begin_txn(AFSqlDestDriver *self | ||
71 | } | ||
72 | |||
73 | /** | ||
74 | + * afsql_dd_handle_transaction_error: | ||
75 | + * | ||
76 | + * Handle errors inside during a SQL transaction (e.g. INSERT or COMMIT failures). | ||
77 | + * | ||
78 | + * NOTE: This function can only be called from the database thread. | ||
79 | + **/ | ||
80 | +static void | ||
81 | +afsql_dd_handle_transaction_error(AFSqlDestDriver *self) | ||
82 | +{ | ||
83 | + log_queue_rewind_backlog(self->queue); | ||
84 | + self->flush_lines_queued = 0; | ||
85 | +} | ||
86 | + | ||
87 | +/** | ||
88 | * afsql_dd_begin_txn: | ||
89 | * | ||
90 | * Commit SQL transaction. | ||
91 | @@ -596,14 +602,14 @@ afsql_dd_commit_txn(AFSqlDestDriver *sel | ||
92 | if (success) | ||
93 | { | ||
94 | log_queue_ack_backlog(self->queue, self->flush_lines_queued); | ||
95 | + self->flush_lines_queued = 0; | ||
96 | } | ||
97 | else | ||
98 | { | ||
99 | - msg_notice("SQL transaction commit failed, rewinding backlog and starting again", | ||
100 | - NULL); | ||
101 | - log_queue_rewind_backlog(self->queue); | ||
102 | + msg_error("SQL transaction commit failed, rewinding backlog and starting again", | ||
103 | + NULL); | ||
104 | + afsql_dd_handle_transaction_error(self); | ||
105 | } | ||
106 | - self->flush_lines_queued = 0; | ||
107 | return success; | ||
108 | } | ||
109 | |||
110 | @@ -644,12 +650,13 @@ afsql_dd_set_dbd_opt_numeric(gpointer ke | ||
111 | } | ||
112 | |||
113 | static gboolean | ||
114 | -afsql_dd_connect(AFSqlDestDriver *self) | ||
115 | +afsql_dd_ensure_initialized_connection(AFSqlDestDriver *self) | ||
116 | { | ||
117 | if (self->dbi_ctx) | ||
118 | return TRUE; | ||
119 | |||
120 | self->dbi_ctx = dbi_conn_new(self->type); | ||
121 | + | ||
122 | if (!self->dbi_ctx) | ||
123 | { | ||
124 | msg_error("No such DBI driver", | ||
125 | @@ -659,10 +666,12 @@ afsql_dd_connect(AFSqlDestDriver *self) | ||
126 | } | ||
127 | |||
128 | dbi_conn_set_option(self->dbi_ctx, "host", self->host); | ||
129 | + | ||
130 | if (strcmp(self->type, "mysql")) | ||
131 | dbi_conn_set_option(self->dbi_ctx, "port", self->port); | ||
132 | else | ||
133 | dbi_conn_set_option_numeric(self->dbi_ctx, "port", atoi(self->port)); | ||
134 | + | ||
135 | dbi_conn_set_option(self->dbi_ctx, "username", self->user); | ||
136 | dbi_conn_set_option(self->dbi_ctx, "password", self->password); | ||
137 | dbi_conn_set_option(self->dbi_ctx, "dbname", self->database); | ||
138 | @@ -691,6 +700,7 @@ afsql_dd_connect(AFSqlDestDriver *self) | ||
139 | evt_tag_str("database", self->database), | ||
140 | evt_tag_str("error", dbi_error), | ||
141 | NULL); | ||
142 | + | ||
143 | return FALSE; | ||
144 | } | ||
145 | |||
146 | @@ -713,104 +723,145 @@ afsql_dd_connect(AFSqlDestDriver *self) | ||
147 | return TRUE; | ||
148 | } | ||
149 | |||
150 | -static gboolean | ||
151 | -afsql_dd_insert_fail_handler(AFSqlDestDriver *self, LogMessage *msg, | ||
152 | - LogPathOptions *path_options) | ||
153 | +static GString * | ||
154 | +afsql_dd_ensure_accessible_database_table(AFSqlDestDriver *self, LogMessage *msg) | ||
155 | { | ||
156 | - if (self->failed_message_counter < self->num_retries - 1) | ||
157 | - { | ||
158 | - log_queue_push_head(self->queue, msg, path_options); | ||
159 | - | ||
160 | - /* database connection status sanity check after failed query */ | ||
161 | - if (dbi_conn_ping(self->dbi_ctx) != 1) | ||
162 | - { | ||
163 | - const gchar *dbi_error; | ||
164 | - | ||
165 | - dbi_conn_error(self->dbi_ctx, &dbi_error); | ||
166 | - msg_error("Error, no SQL connection after failed query attempt", | ||
167 | - evt_tag_str("type", self->type), | ||
168 | - evt_tag_str("host", self->host), | ||
169 | - evt_tag_str("port", self->port), | ||
170 | - evt_tag_str("username", self->user), | ||
171 | - evt_tag_str("database", self->database), | ||
172 | - evt_tag_str("error", dbi_error), | ||
173 | - NULL); | ||
174 | - return FALSE; | ||
175 | - } | ||
176 | + GString *table = g_string_sized_new(32); | ||
177 | + log_template_format(self->table, msg, &self->template_options, LTZ_LOCAL, 0, NULL, table); | ||
178 | |||
179 | - self->failed_message_counter++; | ||
180 | - return FALSE; | ||
181 | + if (!afsql_dd_validate_table(self, table)) | ||
182 | + { | ||
183 | + /* If validate table is FALSE then close the connection and wait time_reopen time (next call) */ | ||
184 | + msg_error("Error checking table, disconnecting from database, trying again shortly", | ||
185 | + evt_tag_int("time_reopen", self->time_reopen), | ||
186 | + NULL); | ||
187 | + g_string_free(table, TRUE); | ||
188 | + return NULL; | ||
189 | } | ||
190 | |||
191 | - msg_error("Multiple failures while inserting this record into the database, message dropped", | ||
192 | - evt_tag_int("attempts", self->num_retries), | ||
193 | - NULL); | ||
194 | - stats_counter_inc(self->dropped_messages); | ||
195 | - log_msg_drop(msg, path_options); | ||
196 | - self->failed_message_counter = 0; | ||
197 | - return TRUE; | ||
198 | + return table; | ||
199 | } | ||
200 | |||
201 | static GString * | ||
202 | -afsql_dd_construct_query(AFSqlDestDriver *self, GString *table, | ||
203 | - LogMessage *msg) | ||
204 | +afsql_dd_build_insert_command(AFSqlDestDriver *self, LogMessage *msg, GString *table) | ||
205 | { | ||
206 | - GString *value; | ||
207 | - GString *query_string; | ||
208 | - gint i; | ||
209 | + GString *insert_command = g_string_sized_new(256); | ||
210 | + GString *value = g_string_sized_new(512); | ||
211 | + gint i, j; | ||
212 | |||
213 | - value = g_string_sized_new(256); | ||
214 | - query_string = g_string_sized_new(512); | ||
215 | + g_string_printf(insert_command, "INSERT INTO %s (", table->str); | ||
216 | |||
217 | - g_string_printf(query_string, "INSERT INTO %s (", table->str); | ||
218 | for (i = 0; i < self->fields_len; i++) | ||
219 | { | ||
220 | - g_string_append(query_string, self->fields[i].name); | ||
221 | - if (i != self->fields_len - 1) | ||
222 | - g_string_append(query_string, ", "); | ||
223 | + if ((self->fields[i].flags & AFSQL_FF_DEFAULT) == 0 && self->fields[i].value != NULL) | ||
224 | + { | ||
225 | + g_string_append(insert_command, self->fields[i].name); | ||
226 | + | ||
227 | + j = i + 1; | ||
228 | + while (j < self->fields_len && (self->fields[j].flags & AFSQL_FF_DEFAULT) == AFSQL_FF_DEFAULT) | ||
229 | + j++; | ||
230 | + | ||
231 | + if (j < self->fields_len) | ||
232 | + g_string_append(insert_command, ", "); | ||
233 | + } | ||
234 | } | ||
235 | - g_string_append(query_string, ") VALUES ("); | ||
236 | + | ||
237 | + g_string_append(insert_command, ") VALUES ("); | ||
238 | |||
239 | for (i = 0; i < self->fields_len; i++) | ||
240 | { | ||
241 | gchar *quoted; | ||
242 | |||
243 | - if (self->fields[i].value == NULL) | ||
244 | - { | ||
245 | - /* the config used the 'default' value for this column -> the fields[i].value is NULL, use SQL default */ | ||
246 | - g_string_append(query_string, "DEFAULT"); | ||
247 | - } | ||
248 | - else | ||
249 | + if ((self->fields[i].flags & AFSQL_FF_DEFAULT) == 0 && self->fields[i].value != NULL) | ||
250 | { | ||
251 | log_template_format(self->fields[i].value, msg, &self->template_options, LTZ_SEND, self->seq_num, NULL, value); | ||
252 | - | ||
253 | if (self->null_value && strcmp(self->null_value, value->str) == 0) | ||
254 | { | ||
255 | - g_string_append(query_string, "NULL"); | ||
256 | + g_string_append(insert_command, "NULL"); | ||
257 | } | ||
258 | else | ||
259 | { | ||
260 | dbi_conn_quote_string_copy(self->dbi_ctx, value->str, "ed); | ||
261 | if (quoted) | ||
262 | { | ||
263 | - g_string_append(query_string, quoted); | ||
264 | + g_string_append(insert_command, quoted); | ||
265 | free(quoted); | ||
266 | } | ||
267 | else | ||
268 | { | ||
269 | - g_string_append(query_string, "''"); | ||
270 | + g_string_append(insert_command, "''"); | ||
271 | } | ||
272 | } | ||
273 | - } | ||
274 | |||
275 | - if (i != self->fields_len - 1) | ||
276 | - g_string_append(query_string, ", "); | ||
277 | + j = i + 1; | ||
278 | + while (j < self->fields_len && (self->fields[j].flags & AFSQL_FF_DEFAULT) == AFSQL_FF_DEFAULT) | ||
279 | + j++; | ||
280 | + if (j < self->fields_len) | ||
281 | + g_string_append(insert_command, ", "); | ||
282 | + } | ||
283 | } | ||
284 | - g_string_append(query_string, ")"); | ||
285 | + | ||
286 | + g_string_append(insert_command, ")"); | ||
287 | |||
288 | g_string_free(value, TRUE); | ||
289 | |||
290 | - return query_string; | ||
291 | + return insert_command; | ||
292 | +} | ||
293 | + | ||
294 | +static inline gboolean | ||
295 | +afsql_dd_is_transaction_handling_enabled(const AFSqlDestDriver *self) | ||
296 | +{ | ||
297 | + return self->flush_lines_queued != -1; | ||
298 | +} | ||
299 | + | ||
300 | +static inline gboolean | ||
301 | +afsql_dd_should_start_new_transaction(const AFSqlDestDriver *self) | ||
302 | +{ | ||
303 | + return self->flush_lines_queued == 0; | ||
304 | +} | ||
305 | + | ||
306 | +static inline gboolean | ||
307 | +afsql_dd_should_commit_transaction(const AFSqlDestDriver *self) | ||
308 | +{ | ||
309 | + return afsql_dd_is_transaction_handling_enabled(self) && self->flush_lines_queued == self->flush_lines; | ||
310 | +} | ||
311 | + | ||
312 | +static inline gboolean | ||
313 | +afsql_dd_handle_insert_row_error_depending_on_connection_availability(AFSqlDestDriver *self, | ||
314 | + LogMessage *msg, | ||
315 | + LogPathOptions *path_options) | ||
316 | +{ | ||
317 | + const gchar *dbi_error, *error_message; | ||
318 | + | ||
319 | + if (dbi_conn_ping(self->dbi_ctx) == 1) | ||
320 | + { | ||
321 | + log_queue_push_head(self->queue, msg, path_options); | ||
322 | + return TRUE; | ||
323 | + } | ||
324 | + | ||
325 | + if (afsql_dd_is_transaction_handling_enabled(self)) | ||
326 | + { | ||
327 | + error_message = "SQL connection lost in the middle of a transaction," | ||
328 | + " rewinding backlog and starting again"; | ||
329 | + afsql_dd_handle_transaction_error(self); | ||
330 | + } | ||
331 | + else | ||
332 | + { | ||
333 | + error_message = "Error, no SQL connection after failed query attempt"; | ||
334 | + log_queue_push_head(self->queue, msg, path_options); | ||
335 | + } | ||
336 | + | ||
337 | + dbi_conn_error(self->dbi_ctx, &dbi_error); | ||
338 | + msg_error(error_message, | ||
339 | + evt_tag_str("type", self->type), | ||
340 | + evt_tag_str("host", self->host), | ||
341 | + evt_tag_str("port", self->port), | ||
342 | + evt_tag_str("username", self->user), | ||
343 | + evt_tag_str("database", self->database), | ||
344 | + evt_tag_str("error", dbi_error), | ||
345 | + NULL); | ||
346 | + | ||
347 | + return FALSE; | ||
348 | } | ||
349 | |||
350 | /** | ||
351 | @@ -824,61 +875,93 @@ afsql_dd_construct_query(AFSqlDestDriver | ||
352 | static gboolean | ||
353 | afsql_dd_insert_db(AFSqlDestDriver *self) | ||
354 | { | ||
355 | - GString *table, *query_string; | ||
356 | + GString *table = NULL; | ||
357 | + GString *insert_command = NULL; | ||
358 | LogMessage *msg; | ||
359 | gboolean success; | ||
360 | LogPathOptions path_options = LOG_PATH_OPTIONS_INIT; | ||
361 | |||
362 | - afsql_dd_connect(self); | ||
363 | + if (!afsql_dd_ensure_initialized_connection(self)) | ||
364 | + return FALSE; | ||
365 | |||
366 | - success = log_queue_pop_head(self->queue, &msg, &path_options, (self->flags & AFSQL_DDF_EXPLICIT_COMMITS), FALSE); | ||
367 | + /* connection established, try to insert a message */ | ||
368 | + success = log_queue_pop_head(self->queue, &msg, &path_options, FALSE, self->flags & AFSQL_DDF_EXPLICIT_COMMITS); | ||
369 | if (!success) | ||
370 | return TRUE; | ||
371 | |||
372 | msg_set_context(msg); | ||
373 | |||
374 | - table = afsql_dd_validate_table(self, msg); | ||
375 | + table = afsql_dd_ensure_accessible_database_table(self, msg); | ||
376 | + | ||
377 | if (!table) | ||
378 | { | ||
379 | - /* If validate table is FALSE then close the connection and wait time_reopen time (next call) */ | ||
380 | - msg_error("Error checking table, disconnecting from database, trying again shortly", | ||
381 | - evt_tag_int("time_reopen", self->time_reopen), | ||
382 | - NULL); | ||
383 | - msg_set_context(NULL); | ||
384 | - g_string_free(table, TRUE); | ||
385 | - return afsql_dd_insert_fail_handler(self, msg, &path_options); | ||
386 | + success = FALSE; | ||
387 | + goto out; | ||
388 | } | ||
389 | |||
390 | - query_string = afsql_dd_construct_query(self, table, msg); | ||
391 | + if (afsql_dd_should_start_new_transaction(self) && !afsql_dd_begin_txn(self)) | ||
392 | + { | ||
393 | + success = FALSE; | ||
394 | + goto out; | ||
395 | + } | ||
396 | |||
397 | - if (self->flush_lines_queued == 0 && !afsql_dd_begin_txn(self)) | ||
398 | - return FALSE; | ||
399 | + insert_command = afsql_dd_build_insert_command(self, msg, table); | ||
400 | + success = afsql_dd_run_query(self, insert_command->str, FALSE, NULL); | ||
401 | |||
402 | - success = afsql_dd_run_query(self, query_string->str, FALSE, NULL); | ||
403 | if (success && self->flush_lines_queued != -1) | ||
404 | { | ||
405 | self->flush_lines_queued++; | ||
406 | |||
407 | - if (self->flush_lines && self->flush_lines_queued == self->flush_lines && !afsql_dd_commit_txn(self)) | ||
408 | - return FALSE; | ||
409 | + if (afsql_dd_should_commit_transaction(self) && !afsql_dd_commit_txn(self)) | ||
410 | + { | ||
411 | + /* Assuming that in case of error, the queue is rewound by afsql_dd_commit_txn() */ | ||
412 | + | ||
413 | + g_string_free(insert_command, TRUE); | ||
414 | + msg_set_context(NULL); | ||
415 | + | ||
416 | + return FALSE; | ||
417 | + } | ||
418 | } | ||
419 | |||
420 | - g_string_free(table, TRUE); | ||
421 | - g_string_free(query_string, TRUE); | ||
422 | + out: | ||
423 | + | ||
424 | + if (table != NULL) | ||
425 | + g_string_free(table, TRUE); | ||
426 | + | ||
427 | + if (insert_command != NULL) | ||
428 | + g_string_free(insert_command, TRUE); | ||
429 | |||
430 | msg_set_context(NULL); | ||
431 | |||
432 | - if (!success) | ||
433 | - return afsql_dd_insert_fail_handler(self, msg, &path_options); | ||
434 | + if (success) | ||
435 | + { | ||
436 | + log_msg_ack(msg, &path_options); | ||
437 | + log_msg_unref(msg); | ||
438 | + step_sequence_number(&self->seq_num); | ||
439 | + self->failed_message_counter = 0; | ||
440 | + } | ||
441 | + else | ||
442 | + { | ||
443 | + if (self->failed_message_counter < self->num_retries - 1) | ||
444 | + { | ||
445 | + if (!afsql_dd_handle_insert_row_error_depending_on_connection_availability(self, msg, &path_options)) | ||
446 | + return FALSE; | ||
447 | |||
448 | - /* we only ACK if each INSERT is a separate transaction */ | ||
449 | - if ((self->flags & AFSQL_DDF_EXPLICIT_COMMITS) == 0) | ||
450 | - log_msg_ack(msg, &path_options); | ||
451 | - log_msg_unref(msg); | ||
452 | - step_sequence_number(&self->seq_num); | ||
453 | - self->failed_message_counter = 0; | ||
454 | + self->failed_message_counter++; | ||
455 | + } | ||
456 | + else | ||
457 | + { | ||
458 | + msg_error("Multiple failures while inserting this record into the database, message dropped", | ||
459 | + evt_tag_int("attempts", self->num_retries), | ||
460 | + NULL); | ||
461 | + stats_counter_inc(self->dropped_messages); | ||
462 | + log_msg_drop(msg, &path_options); | ||
463 | + self->failed_message_counter = 0; | ||
464 | + success = TRUE; | ||
465 | + } | ||
466 | + } | ||
467 | |||
468 | - return TRUE; | ||
469 | + return success; | ||
470 | } | ||
471 | |||
472 | static void | ||
473 | @@ -895,7 +978,7 @@ afsql_dd_message_became_available_in_the | ||
474 | static void | ||
475 | afsql_dd_wait_for_suspension_wakeup(AFSqlDestDriver *self) | ||
476 | { | ||
477 | - /* we got suspended, probably because of a connection error, | ||
478 | + /* we got suspended, probably because of a connection error, | ||
479 | * during this time we only get wakeups if we need to be | ||
480 | * terminated. */ | ||
481 | if (!self->db_thread_terminate) | ||
482 | @@ -974,8 +1057,7 @@ afsql_dd_database_thread(gpointer arg) | ||
483 | |||
484 | afsql_dd_commit_txn(self); | ||
485 | } | ||
486 | - | ||
487 | - exit: | ||
488 | +exit: | ||
489 | afsql_dd_disconnect(self); | ||
490 | |||
491 | msg_verbose("Database thread finished", | ||
492 | -- | ||
493 | 1.8.4.1 | ||
494 | |||
diff --git a/meta-oe/recipes-support/syslog-ng/files/configure.ac-add-option-enable-thread-tls-to-manage-.patch b/meta-oe/recipes-support/syslog-ng/files/configure.ac-add-option-enable-thread-tls-to-manage-.patch new file mode 100644 index 000000000..cc8d11044 --- /dev/null +++ b/meta-oe/recipes-support/syslog-ng/files/configure.ac-add-option-enable-thread-tls-to-manage-.patch | |||
@@ -0,0 +1,50 @@ | |||
1 | configure.ac: add option --enable-thread-tls to manage thread ssl support | ||
2 | |||
3 | Add option --enable-thread-tls to manage the including of thread | ||
4 | local storage, so we could explicitly disable it. | ||
5 | |||
6 | Upstream-Status: Pending | ||
7 | |||
8 | Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com> | ||
9 | --- | ||
10 | configure.ac | 17 +++++++++++------ | ||
11 | 1 file changed, 11 insertions(+), 6 deletions(-) | ||
12 | |||
13 | diff --git a/configure.ac b/configure.ac | ||
14 | index 474e094..cedca54 100644 | ||
15 | --- a/configure.ac | ||
16 | +++ b/configure.ac | ||
17 | @@ -120,6 +120,9 @@ AC_ARG_ENABLE(memtrace, | ||
18 | AC_ARG_ENABLE(ssl, | ||
19 | [ --enable-ssl Enable SSL support.],,enable_ssl="auto") | ||
20 | |||
21 | +AC_ARG_ENABLE(thread-tls, | ||
22 | + [ --enable-thread-tls Enable Thread Transport Layer Security support.],,enable_thread_tls="no") | ||
23 | + | ||
24 | AC_ARG_ENABLE(dynamic-linking, | ||
25 | [ --enable-dynamic-linking Link everything dynamically.],,enable_dynamic_linking="auto") | ||
26 | |||
27 | @@ -381,12 +384,14 @@ dnl *************************************************************************** | ||
28 | dnl Is the __thread keyword available? | ||
29 | dnl *************************************************************************** | ||
30 | |||
31 | -AC_LINK_IFELSE([AC_LANG_PROGRAM( | ||
32 | -[[#include <pthread.h> | ||
33 | -__thread int a; | ||
34 | -]], | ||
35 | -[a=0;])], | ||
36 | -[ac_cv_have_tls=yes; AC_DEFINE_UNQUOTED(HAVE_THREAD_KEYWORD, 1, "Whether Transport Layer Security is supported by the system")]) | ||
37 | +if test "x$enable_thread_tls" != "xno"; then | ||
38 | + AC_LINK_IFELSE([AC_LANG_PROGRAM( | ||
39 | + [[#include <pthread.h> | ||
40 | + __thread int a; | ||
41 | + ]], | ||
42 | + [a=0;])], | ||
43 | + [ac_cv_have_tls=yes; AC_DEFINE_UNQUOTED(HAVE_THREAD_KEYWORD, 1, "Whether Transport Layer Security is supported by the system")]) | ||
44 | +fi | ||
45 | |||
46 | dnl *************************************************************************** | ||
47 | dnl How to do static linking? | ||
48 | -- | ||
49 | 1.9.1 | ||
50 | |||
diff --git a/meta-oe/recipes-support/syslog-ng/files/configure.patch b/meta-oe/recipes-support/syslog-ng/files/configure.patch new file mode 100644 index 000000000..109f58cf7 --- /dev/null +++ b/meta-oe/recipes-support/syslog-ng/files/configure.patch | |||
@@ -0,0 +1,23 @@ | |||
1 | Index: syslog-ng-3.5.4.1/configure.ac | ||
2 | =================================================================== | ||
3 | --- syslog-ng-3.5.4.1.orig/configure.ac 2014-07-18 13:49:36.794141441 +0000 | ||
4 | +++ syslog-ng-3.5.4.1/configure.ac 2014-07-18 14:23:57.738197606 +0000 | ||
5 | @@ -8,7 +8,8 @@ dnl SNAPSHOT_VERSION - snapshot version to add to version number | ||
6 | dnl BINARY_BRANCH - the value is added to all source/binary packages | ||
7 | dnl SOURCE_REVISION - Revision of the source-tree, will added to the version string | ||
8 | dnl | ||
9 | -AC_INIT(syslog-ng/main.c) | ||
10 | +AC_INIT(syslog-ng, 3.5.4.1) | ||
11 | +AC_CONFIG_SRCDIR(syslog-ng/main.c) | ||
12 | AC_CONFIG_MACRO_DIR([m4]) | ||
13 | m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])]) | ||
14 | |||
15 | @@ -53,7 +54,7 @@ else | ||
16 | CURRDATE=`date +"%a, %d %b %Y %H:%M:%S %Z"` | ||
17 | fi | ||
18 | |||
19 | -AM_INIT_AUTOMAKE($PACKAGE, $VERSION, [foreign no-define subdir-objects]) | ||
20 | +AM_INIT_AUTOMAKE([foreign no-define subdir-objects]) | ||
21 | _AM_PROG_TAR([ustar]) | ||
22 | if test -n "$SNAPSHOT_VERSION"; then | ||
23 | VERSION=$VERSION+$SNAPSHOT_VERSION | ||
diff --git a/meta-oe/recipes-support/syslog-ng/files/dbifix.patch b/meta-oe/recipes-support/syslog-ng/files/dbifix.patch new file mode 100644 index 000000000..15dfb6885 --- /dev/null +++ b/meta-oe/recipes-support/syslog-ng/files/dbifix.patch | |||
@@ -0,0 +1,20 @@ | |||
1 | Index: syslog-ng-3.5.4.1/configure.ac | ||
2 | =================================================================== | ||
3 | --- syslog-ng-3.5.4.1.orig/configure.ac 2014-07-18 14:35:03.134215740 +0000 | ||
4 | +++ syslog-ng-3.5.4.1/configure.ac 2014-07-18 15:31:52.510308653 +0000 | ||
5 | @@ -576,13 +576,14 @@ | ||
6 | dnl *************************************************************************** | ||
7 | |||
8 | AC_CHECK_LIB(dl, dlsym, DL_LIBS="-ldl") | ||
9 | +if test "x$enable_sql" != "xno"; then | ||
10 | PKG_CHECK_MODULES(LIBDBI, dbi >= $LIBDBI_MIN_VERSION, libdbi_pkgconfig_not_found="0", libdbi_pkgconfig_not_found="1") | ||
11 | |||
12 | if test "$libdbi_pkgconfig_not_found" -eq 1; then | ||
13 | dnl if libdbi has no .pc file, try it without one | ||
14 | AC_CHECK_LIB(dbi, dbi_initialize, LIBDBI_LIBS="-ldbi"; LIBDBI_CFLAGS="-I/usr/include") | ||
15 | fi | ||
16 | - | ||
17 | +fi | ||
18 | if test "x$enable_sql" = "xauto"; then | ||
19 | AC_MSG_CHECKING(whether to enable SQL support) | ||
20 | if test "x$LIBDBI_LIBS" != "x"; then | ||
diff --git a/meta-oe/recipes-support/syslog-ng/files/deinit-the-new-config-when-reverting-to-the.patch b/meta-oe/recipes-support/syslog-ng/files/deinit-the-new-config-when-reverting-to-the.patch new file mode 100644 index 000000000..484af7e2e --- /dev/null +++ b/meta-oe/recipes-support/syslog-ng/files/deinit-the-new-config-when-reverting-to-the.patch | |||
@@ -0,0 +1,36 @@ | |||
1 | From 86842df8bff5c97e44fc55d2fb7fc6c10f56ab84 Mon Sep 17 00:00:00 2001 | ||
2 | From: Gergely Nagy <algernon@balabit.hu> | ||
3 | Date: Fri, 13 Dec 2013 13:46:15 +0100 | ||
4 | Subject: [PATCH] mainloop: Deinit the new config when reverting to the old one | ||
5 | |||
6 | Upstream-Status: Backport | ||
7 | |||
8 | When reloading, and the new config fails, deinit it before initializing | ||
9 | the old config. This is so that conflicting things do not remain held by | ||
10 | the half-initialized new config, while the old tries to take it | ||
11 | over. (It also removed a couple of memory leaks, most likely.) | ||
12 | |||
13 | The reason we can do this, is because cfg_tree_stop() (called by | ||
14 | cfg_deinit()) goes over all the known nodes, and log_pipe_deinit() is | ||
15 | also smart enough to not deinit a node that has not been inited before. | ||
16 | |||
17 | Signed-off-by: Gergely Nagy <algernon@balabit.hu> | ||
18 | --- | ||
19 | lib/mainloop.c | 1 + | ||
20 | 1 file changed, 1 insertion(+) | ||
21 | |||
22 | diff --git a/lib/mainloop.c b/lib/mainloop.c | ||
23 | index 34655fa..e6fbb59 100644 | ||
24 | --- a/lib/mainloop.c | ||
25 | +++ b/lib/mainloop.c | ||
26 | @@ -510,6 +510,7 @@ main_loop_reload_config_apply(void) | ||
27 | { | ||
28 | msg_error("Error initializing new configuration, reverting to old config", NULL); | ||
29 | cfg_persist_config_move(main_loop_new_config, main_loop_old_config); | ||
30 | + cfg_deinit(main_loop_new_config); | ||
31 | if (!cfg_init(main_loop_old_config)) | ||
32 | { | ||
33 | /* hmm. hmmm, error reinitializing old configuration, we're hosed. | ||
34 | -- | ||
35 | 1.8.4.1 | ||
36 | |||
diff --git a/meta-oe/recipes-support/syslog-ng/files/fix-a-memory-leak-in-log_driver_free.patch b/meta-oe/recipes-support/syslog-ng/files/fix-a-memory-leak-in-log_driver_free.patch new file mode 100644 index 000000000..260347413 --- /dev/null +++ b/meta-oe/recipes-support/syslog-ng/files/fix-a-memory-leak-in-log_driver_free.patch | |||
@@ -0,0 +1,33 @@ | |||
1 | From a269669ba3cb6d1c06a3322b4a6a035cb787d085 Mon Sep 17 00:00:00 2001 | ||
2 | From: Gergely Nagy <algernon@balabit.hu> | ||
3 | Date: Tue, 14 Jan 2014 13:58:05 +0100 | ||
4 | Subject: [PATCH] driver: Fix a memory leak in log_driver_free() | ||
5 | |||
6 | Upstream-Status: Backport | ||
7 | |||
8 | After freeing up the members of self->plugins, free self->plugins itself | ||
9 | too. | ||
10 | |||
11 | Signed-off-by: Gergely Nagy <algernon@balabit.hu> | ||
12 | --- | ||
13 | lib/driver.c | 4 ++++ | ||
14 | 1 file changed, 4 insertions(+) | ||
15 | |||
16 | diff --git a/lib/driver.c b/lib/driver.c | ||
17 | index d77fe57..a6867b9 100644 | ||
18 | --- a/lib/driver.c | ||
19 | +++ b/lib/driver.c | ||
20 | @@ -91,6 +91,10 @@ log_driver_free(LogPipe *s) | ||
21 | { | ||
22 | log_driver_plugin_free((LogDriverPlugin *) l->data); | ||
23 | } | ||
24 | + if (self->plugins) | ||
25 | + { | ||
26 | + g_list_free(self->plugins); | ||
27 | + } | ||
28 | if (self->group) | ||
29 | g_free(self->group); | ||
30 | if (self->id) | ||
31 | -- | ||
32 | 1.8.4.1 | ||
33 | |||
diff --git a/meta-oe/recipes-support/syslog-ng/files/fix-config-libnet.patch b/meta-oe/recipes-support/syslog-ng/files/fix-config-libnet.patch new file mode 100644 index 000000000..755803c21 --- /dev/null +++ b/meta-oe/recipes-support/syslog-ng/files/fix-config-libnet.patch | |||
@@ -0,0 +1,66 @@ | |||
1 | Subject: [PATCH] add libnet enable option | ||
2 | |||
3 | Upstream-Status: Pending | ||
4 | |||
5 | This would avoid a implicit auto-detecting result. | ||
6 | |||
7 | Signed-off-by: Ming Liu <ming.liu@windriver.com> | ||
8 | Signed-off-by: Jackie Huang <jackie.huang@windriver.com> | ||
9 | --- | ||
10 | configure.ac | 27 +++++++++++++++++---------- | ||
11 | 1 files changed, 17 insertions(+), 10 deletions(-) | ||
12 | |||
13 | diff --git a/configure.ac b/configure.ac | ||
14 | index b1e18b4..8e13025 100644 | ||
15 | --- a/configure.ac | ||
16 | +++ b/configure.ac | ||
17 | @@ -73,6 +73,9 @@ AC_CONFIG_HEADERS(config.h) | ||
18 | dnl *************************************************************************** | ||
19 | dnl Arguments | ||
20 | |||
21 | +AC_ARG_ENABLE(libnet, | ||
22 | + [ --enable-libnet Enable libnet support.],, enable_libnet="no") | ||
23 | + | ||
24 | AC_ARG_WITH(libnet, | ||
25 | [ --with-libnet=path use path to libnet-config script], | ||
26 | , | ||
27 | @@ -768,22 +771,26 @@ dnl *************************************************************************** | ||
28 | dnl libnet headers/libraries | ||
29 | dnl *************************************************************************** | ||
30 | AC_MSG_CHECKING(for LIBNET) | ||
31 | -if test "x$with_libnet" = "x"; then | ||
32 | - LIBNET_CONFIG="`which libnet-config`" | ||
33 | -else | ||
34 | - LIBNET_CONFIG="$with_libnet/libnet-config" | ||
35 | -fi | ||
36 | +if test "x$enable_libnet" = xyes; then | ||
37 | + if test "x$with_libnet" = "x"; then | ||
38 | + LIBNET_CONFIG="`which libnet-config`" | ||
39 | + else | ||
40 | + LIBNET_CONFIG="$with_libnet/libnet-config" | ||
41 | + fi | ||
42 | + | ||
43 | + if test -n "$LIBNET_CONFIG" -a -x "$LIBNET_CONFIG"; then | ||
44 | + LIBNET_CFLAGS="`$LIBNET_CONFIG --defines`" | ||
45 | + LIBNET_LIBS="`$LIBNET_CONFIG --libs`" | ||
46 | + AC_MSG_RESULT(yes) | ||
47 | + else | ||
48 | + AC_MSG_ERROR([Could not find libnet, and libnet support was explicitly enabled.]) | ||
49 | + fi | ||
50 | |||
51 | -if test -n "$LIBNET_CONFIG" -a -x "$LIBNET_CONFIG"; then | ||
52 | - LIBNET_CFLAGS="`$LIBNET_CONFIG --defines`" | ||
53 | - LIBNET_LIBS="`$LIBNET_CONFIG --libs`" | ||
54 | - AC_MSG_RESULT(yes) | ||
55 | else | ||
56 | LIBNET_LIBS= | ||
57 | AC_MSG_RESULT(no) | ||
58 | fi | ||
59 | |||
60 | - | ||
61 | if test "x$enable_spoof_source" = "xauto"; then | ||
62 | AC_MSG_CHECKING(whether to enable spoof source support) | ||
63 | if test "x$LIBNET_LIBS" != "x"; then | ||
64 | -- | ||
65 | 1.7.1 | ||
66 | |||
diff --git a/meta-oe/recipes-support/syslog-ng/files/fix-invalid-ownership.patch b/meta-oe/recipes-support/syslog-ng/files/fix-invalid-ownership.patch new file mode 100644 index 000000000..faf967247 --- /dev/null +++ b/meta-oe/recipes-support/syslog-ng/files/fix-invalid-ownership.patch | |||
@@ -0,0 +1,28 @@ | |||
1 | syslog-ng: fix wrong ownership issue | ||
2 | |||
3 | Upstream-Status: Pending | ||
4 | |||
5 | The ownership of build user is preserved for some target files, fixed it by | ||
6 | adding --no-same-owner option to tar when extracting files. | ||
7 | |||
8 | Signed-off-by: Ming Liu <ming.liu@windriver.com> | ||
9 | --- | ||
10 | scl/Makefile.am | 2 +- | ||
11 | 1 files changed, 1 insertions(+), 1 deletions(-) | ||
12 | |||
13 | diff --git a/scl/Makefile.am b/scl/Makefile.am | ||
14 | index 57fad5d..2a29ca5 100644 | ||
15 | --- a/scl/Makefile.am | ||
16 | +++ b/scl/Makefile.am | ||
17 | @@ -14,7 +14,7 @@ scl-install-data-local: | ||
18 | fi; \ | ||
19 | done | ||
20 | $(mkinstalldirs) $(DESTDIR)/$(scldir) | ||
21 | - (cd $(srcdir)/scl; tar cf - $(SCL_SUBDIRS)) | (cd $(DESTDIR)/$(scldir) && tar xf -) | ||
22 | + (cd $(srcdir)/scl; tar cf - $(SCL_SUBDIRS)) | (cd $(DESTDIR)/$(scldir) && tar xf - --no-same-owner) | ||
23 | chmod -R u+rwX $(DESTDIR)/$(scldir) | ||
24 | |||
25 | scl-uninstall-local: | ||
26 | -- | ||
27 | 1.7.1 | ||
28 | |||
diff --git a/meta-oe/recipes-support/syslog-ng/files/free-global-LogTemplateOptions.patch b/meta-oe/recipes-support/syslog-ng/files/free-global-LogTemplateOptions.patch new file mode 100644 index 000000000..d439a2607 --- /dev/null +++ b/meta-oe/recipes-support/syslog-ng/files/free-global-LogTemplateOptions.patch | |||
@@ -0,0 +1,30 @@ | |||
1 | From 3ef6ca8044260c77118edca6dead807a2edcb5ef Mon Sep 17 00:00:00 2001 | ||
2 | From: Balazs Scheidler <bazsi@balabit.hu> | ||
3 | Date: Thu, 31 Oct 2013 13:20:12 +0100 | ||
4 | Subject: [PATCH] cfg: free global LogTemplateOptions | ||
5 | |||
6 | Upstream-Status: Backport | ||
7 | |||
8 | This fixes a potential memory leak when global template specific | ||
9 | options were specified, such as local-time-zone(), send-time-zone() etc. | ||
10 | |||
11 | Signed-off-by: Balazs Scheidler <bazsi@balabit.hu> | ||
12 | --- | ||
13 | lib/cfg.c | 1 + | ||
14 | 1 file changed, 1 insertion(+) | ||
15 | |||
16 | diff --git a/lib/cfg.c b/lib/cfg.c | ||
17 | index 7f040b8..adeaaf8 100644 | ||
18 | --- a/lib/cfg.c | ||
19 | +++ b/lib/cfg.c | ||
20 | @@ -411,6 +411,7 @@ cfg_free(GlobalConfig *self) | ||
21 | g_free(self->proto_template_name); | ||
22 | log_template_unref(self->file_template); | ||
23 | log_template_unref(self->proto_template); | ||
24 | + log_template_options_destroy(&self->template_options); | ||
25 | |||
26 | if (self->bad_hostname_compiled) | ||
27 | regfree(&self->bad_hostname); | ||
28 | -- | ||
29 | 1.8.4.1 | ||
30 | |||
diff --git a/meta-oe/recipes-support/syslog-ng/files/initscript b/meta-oe/recipes-support/syslog-ng/files/initscript new file mode 100644 index 000000000..910030f41 --- /dev/null +++ b/meta-oe/recipes-support/syslog-ng/files/initscript | |||
@@ -0,0 +1,62 @@ | |||
1 | #! /bin/sh | ||
2 | # | ||
3 | # This is an init script for openembedded | ||
4 | # Copy it to /etc/init.d/syslog-ng and type | ||
5 | # > update-rc.d syslog-ng defaults 5 | ||
6 | # | ||
7 | |||
8 | # Source function library | ||
9 | . /etc/init.d/functions | ||
10 | |||
11 | syslog_ng=/usr/sbin/syslog-ng | ||
12 | test -x "$syslog_ng" || exit 0 | ||
13 | |||
14 | PIDFILE=/var/run/syslog-ng/syslog-ng.pid | ||
15 | |||
16 | create_xconsole() { | ||
17 | test -e /dev/xconsole || mknod -m 640 /dev/xconsole p | ||
18 | test -x /sbin/restorecon && /sbin/restorecon /dev/xconsole | ||
19 | } | ||
20 | |||
21 | RETVAL=0 | ||
22 | |||
23 | case "$1" in | ||
24 | start) | ||
25 | [ "${VERBOSE}" != "no" ] && echo -n "Starting syslog-ng:" | ||
26 | create_xconsole | ||
27 | start-stop-daemon --start --quiet --pidfile $PIDFILE --exec $syslog_ng | ||
28 | [ "${VERBOSE}" != "no" ] && echo "." | ||
29 | ;; | ||
30 | stop) | ||
31 | [ "${VERBOSE}" != "no" ] && echo -n "Stopping syslog-ng:" | ||
32 | start-stop-daemon --stop --quiet --pidfile $PIDFILE | ||
33 | [ "${VERBOSE}" != "no" ] && echo "." | ||
34 | ;; | ||
35 | reload|force-reload) | ||
36 | start-stop-daemon --stop --quiet --signal 1 --exec $syslog_ng | ||
37 | ;; | ||
38 | restart) | ||
39 | echo "Stopping syslog-ng:" | ||
40 | start-stop-daemon --stop --quiet --pidfile $PIDFILE | ||
41 | echo -n "Waiting for syslog-ng to die off" | ||
42 | for i in 1 2 3 ; | ||
43 | do | ||
44 | sleep 1 | ||
45 | echo -n "." | ||
46 | done | ||
47 | echo "" | ||
48 | echo -n "Starting syslog-ng:" | ||
49 | create_xconsole | ||
50 | start-stop-daemon --start --quiet --pidfile $PIDFILE --exec $syslog_ng | ||
51 | echo "." | ||
52 | ;; | ||
53 | status) | ||
54 | status $syslog_ng | ||
55 | RETVAL=$? | ||
56 | ;; | ||
57 | *) | ||
58 | echo "Usage: $0 {start|stop|reload|restart|force-reload|status}" | ||
59 | exit 1 | ||
60 | esac | ||
61 | |||
62 | exit $RETVAL | ||
diff --git a/meta-oe/recipes-support/syslog-ng/files/logwriter-dont-allocate-a-new-buffer.patch b/meta-oe/recipes-support/syslog-ng/files/logwriter-dont-allocate-a-new-buffer.patch new file mode 100644 index 000000000..9e3d64bbf --- /dev/null +++ b/meta-oe/recipes-support/syslog-ng/files/logwriter-dont-allocate-a-new-buffer.patch | |||
@@ -0,0 +1,26 @@ | |||
1 | logwriter: Don't allocate a new buffer if fails to consume current item | ||
2 | |||
3 | Upstream-Status: Pending | ||
4 | |||
5 | Signed-off-by: Xufeng Zhang <xufeng.zhang@windriver.com> | ||
6 | --- | ||
7 | --- a/lib/logwriter.c | ||
8 | +++ b/lib/logwriter.c | ||
9 | @@ -1010,7 +1010,7 @@ | ||
10 | { | ||
11 | status = log_proto_client_post(proto, (guchar *) self->line_buffer->str, self->line_buffer->len, &consumed); | ||
12 | |||
13 | - if (consumed) | ||
14 | + if (consumed && status != LPS_ERROR) | ||
15 | log_writer_realloc_line_buffer(self); | ||
16 | |||
17 | if (status == LPS_ERROR) | ||
18 | @@ -1028,7 +1028,7 @@ | ||
19 | NULL); | ||
20 | consumed = TRUE; | ||
21 | } | ||
22 | - if (consumed) | ||
23 | + if (consumed && status != LPS_ERROR) | ||
24 | { | ||
25 | if (lm->flags & LF_LOCAL) | ||
26 | step_sequence_number(&self->seq_num); | ||
diff --git a/meta-oe/recipes-support/syslog-ng/files/rewrite-expr-grammar.ym-Free-up-token.patch b/meta-oe/recipes-support/syslog-ng/files/rewrite-expr-grammar.ym-Free-up-token.patch new file mode 100644 index 000000000..1951af9fc --- /dev/null +++ b/meta-oe/recipes-support/syslog-ng/files/rewrite-expr-grammar.ym-Free-up-token.patch | |||
@@ -0,0 +1,17 @@ | |||
1 | rewrite-expr-grammar.ym: Free up token. | ||
2 | |||
3 | Upsteam-Status: Backport | ||
4 | |||
5 | Reported-by: Xufeng Zhang <xufeng.zhang@windriver.com> | ||
6 | Signed-off-by: Viktor Tusa <tusavik@gmail.com> | ||
7 | --- | ||
8 | --- a/lib/rewrite/rewrite-expr-grammar.ym | ||
9 | +++ b/lib/rewrite/rewrite-expr-grammar.ym | ||
10 | @@ -78,6 +78,7 @@ | ||
11 | |||
12 | $$ = log_template_new(configuration, $1); | ||
13 | CHECK_ERROR(log_template_compile($$, $1, &error), @1, "Error compiling template (%s)", error->message); | ||
14 | + free($1); | ||
15 | } | ||
16 | ; | ||
17 | |||
diff --git a/meta-oe/recipes-support/syslog-ng/files/still-free-the-unconsumed-item.patch b/meta-oe/recipes-support/syslog-ng/files/still-free-the-unconsumed-item.patch new file mode 100644 index 000000000..ea1868230 --- /dev/null +++ b/meta-oe/recipes-support/syslog-ng/files/still-free-the-unconsumed-item.patch | |||
@@ -0,0 +1,90 @@ | |||
1 | From 365020c5c0823c91a8011e34597f970a7cfb4fb3 Mon Sep 17 00:00:00 2001 | ||
2 | From: Tusa Viktor <tusavik@gmail.com> | ||
3 | Date: Wed, 23 Apr 2014 17:10:58 +0000 | ||
4 | Subject: [PATCH] logwriter: still free the unconsumed item during reloading | ||
5 | configuration | ||
6 | |||
7 | Upstream-Status: Backport | ||
8 | |||
9 | Otherwise we have no chance to free this stuff. | ||
10 | |||
11 | Reported-by: Xufeng Zhang <xufeng.zhang@windriver.com> | ||
12 | Signed-off-by: Tusa Viktor <tusavik@gmail.com> | ||
13 | Signed-off-by: Gergely Nagy <algernon@madhouse-project.org> | ||
14 | --- | ||
15 | lib/logproto/logproto-client.h | 2 +- | ||
16 | lib/logproto/logproto-text-client.c | 11 +++++++++++ | ||
17 | lib/logwriter.c | 9 +++++++-- | ||
18 | 3 files changed, 19 insertions(+), 3 deletions(-) | ||
19 | |||
20 | diff --git a/lib/logproto/logproto-client.h b/lib/logproto/logproto-client.h | ||
21 | index 254ecf9..5adc917 100644 | ||
22 | --- a/lib/logproto/logproto-client.h | ||
23 | +++ b/lib/logproto/logproto-client.h | ||
24 | @@ -47,7 +47,6 @@ void log_proto_client_options_defaults(LogProtoClientOptions *options); | ||
25 | void log_proto_client_options_init(LogProtoClientOptions *options, GlobalConfig *cfg); | ||
26 | void log_proto_client_options_destroy(LogProtoClientOptions *options); | ||
27 | |||
28 | - | ||
29 | struct _LogProtoClient | ||
30 | { | ||
31 | LogProtoStatus status; | ||
32 | @@ -107,6 +106,7 @@ log_proto_client_reset_error(LogProtoClient *s) | ||
33 | gboolean log_proto_client_validate_options(LogProtoClient *self); | ||
34 | void log_proto_client_init(LogProtoClient *s, LogTransport *transport, const LogProtoClientOptions *options); | ||
35 | void log_proto_client_free(LogProtoClient *s); | ||
36 | +void log_proto_client_free_method(LogProtoClient *s); | ||
37 | |||
38 | #define DEFINE_LOG_PROTO_CLIENT(prefix) \ | ||
39 | static gpointer \ | ||
40 | diff --git a/lib/logproto/logproto-text-client.c b/lib/logproto/logproto-text-client.c | ||
41 | index 3248759..a5100f3 100644 | ||
42 | --- a/lib/logproto/logproto-text-client.c | ||
43 | +++ b/lib/logproto/logproto-text-client.c | ||
44 | @@ -146,12 +146,23 @@ log_proto_text_client_post(LogProtoClient *s, guchar *msg, gsize msg_len, gboole | ||
45 | } | ||
46 | |||
47 | void | ||
48 | +log_proto_text_client_free(LogProtoClient *s) | ||
49 | +{ | ||
50 | + LogProtoTextClient *self = (LogProtoTextClient *)s; | ||
51 | + if (self->partial_free) | ||
52 | + self->partial_free(self->partial); | ||
53 | + self->partial = NULL; | ||
54 | + log_proto_client_free_method(s); | ||
55 | +}; | ||
56 | + | ||
57 | +void | ||
58 | log_proto_text_client_init(LogProtoTextClient *self, LogTransport *transport, const LogProtoClientOptions *options) | ||
59 | { | ||
60 | log_proto_client_init(&self->super, transport, options); | ||
61 | self->super.prepare = log_proto_text_client_prepare; | ||
62 | self->super.flush = log_proto_text_client_flush; | ||
63 | self->super.post = log_proto_text_client_post; | ||
64 | + self->super.free_fn = log_proto_text_client_free; | ||
65 | self->super.transport = transport; | ||
66 | self->next_state = -1; | ||
67 | } | ||
68 | diff --git a/lib/logwriter.c b/lib/logwriter.c | ||
69 | index 3292e31..470bcdb 100644 | ||
70 | --- a/lib/logwriter.c | ||
71 | +++ b/lib/logwriter.c | ||
72 | @@ -1063,8 +1063,13 @@ log_writer_flush(LogWriter *self, LogWriterFlushMode flush_mode) | ||
73 | } | ||
74 | else | ||
75 | { | ||
76 | - /* push back to the queue */ | ||
77 | - log_queue_push_head(self->queue, lm, &path_options); | ||
78 | + if (flush_mode == LW_FLUSH_QUEUE) | ||
79 | + log_msg_unref(lm); | ||
80 | + else | ||
81 | + { | ||
82 | + /* push back to the queue */ | ||
83 | + log_queue_push_head(self->queue, lm, &path_options); | ||
84 | + } | ||
85 | msg_set_context(NULL); | ||
86 | log_msg_refcache_stop(); | ||
87 | break; | ||
88 | -- | ||
89 | 1.7.10.4 | ||
90 | |||
diff --git a/meta-oe/recipes-support/syslog-ng/files/syslog-ng-verify-the-list-before-del.patch b/meta-oe/recipes-support/syslog-ng/files/syslog-ng-verify-the-list-before-del.patch new file mode 100644 index 000000000..e8119b84b --- /dev/null +++ b/meta-oe/recipes-support/syslog-ng/files/syslog-ng-verify-the-list-before-del.patch | |||
@@ -0,0 +1,38 @@ | |||
1 | Verify the validity of the pointer before delete it | ||
2 | |||
3 | Otherwise, we got a crash at logqueue-fifo.c:344 | ||
4 | 344 iv_list_del(&node->list); | ||
5 | |||
6 | Upstream-Status: Pending | ||
7 | |||
8 | Signed-off-by: Xufeng Zhang <xufeng.zhang@windriver.com> | ||
9 | --- | ||
10 | --- a/lib/logqueue-fifo.c | ||
11 | +++ b/lib/logqueue-fifo.c | ||
12 | @@ -339,15 +339,18 @@ | ||
13 | *msg = node->msg; | ||
14 | path_options->ack_needed = node->ack_needed; | ||
15 | self->qoverflow_output_len--; | ||
16 | - if (!push_to_backlog) | ||
17 | + if ((&node->list) && (&node->list)->next && (&node->list)->prev) | ||
18 | { | ||
19 | - iv_list_del(&node->list); | ||
20 | - log_msg_free_queue_node(node); | ||
21 | - } | ||
22 | - else | ||
23 | - { | ||
24 | - iv_list_del_init(&node->list); | ||
25 | - } | ||
26 | + if (!push_to_backlog) | ||
27 | + { | ||
28 | + iv_list_del(&node->list); | ||
29 | + log_msg_free_queue_node(node); | ||
30 | + } | ||
31 | + else | ||
32 | + { | ||
33 | + iv_list_del_init(&node->list); | ||
34 | + } | ||
35 | + } | ||
36 | } | ||
37 | else | ||
38 | { | ||
diff --git a/meta-oe/recipes-support/syslog-ng/files/syslog-ng.conf b/meta-oe/recipes-support/syslog-ng/files/syslog-ng.conf new file mode 100644 index 000000000..f0da2b703 --- /dev/null +++ b/meta-oe/recipes-support/syslog-ng/files/syslog-ng.conf | |||
@@ -0,0 +1,155 @@ | |||
1 | @version: 3.5 | ||
2 | # | ||
3 | # Syslog-ng configuration file, compatible with default Debian syslogd | ||
4 | # installation. Originally written by anonymous (I can't find his name) | ||
5 | # Revised, and rewrited by me (SZALAY Attila <sasa@debian.org>) | ||
6 | |||
7 | # First, set some global options. | ||
8 | options { chain_hostnames(off); flush_lines(0); use_dns(no); use_fqdn(no); | ||
9 | owner("root"); group("adm"); perm(0640); stats_freq(0); | ||
10 | bad_hostname("^gconfd$"); | ||
11 | }; | ||
12 | |||
13 | ######################## | ||
14 | # Sources | ||
15 | ######################## | ||
16 | # This is the default behavior of sysklogd package | ||
17 | # Logs may come from unix stream, but not from another machine. | ||
18 | # | ||
19 | source s_src { unix-dgram("/dev/log"); internal(); | ||
20 | file("/proc/kmsg" program_override("kernel")); | ||
21 | }; | ||
22 | |||
23 | # If you wish to get logs from remote machine you should uncomment | ||
24 | # this and comment the above source line. | ||
25 | # | ||
26 | #source s_net { tcp(ip(127.0.0.1) port(1000) authentication(required) encrypt(allow)); }; | ||
27 | |||
28 | ######################## | ||
29 | # Destinations | ||
30 | ######################## | ||
31 | # First some standard logfile | ||
32 | # | ||
33 | destination d_auth { file("/var/log/auth.log"); }; | ||
34 | destination d_cron { file("/var/log/cron.log"); }; | ||
35 | destination d_daemon { file("/var/log/daemon.log"); }; | ||
36 | destination d_kern { file("/var/log/kern.log"); }; | ||
37 | destination d_lpr { file("/var/log/lpr.log"); }; | ||
38 | destination d_mail { file("/var/log/mail.log"); }; | ||
39 | destination d_syslog { file("/var/log/syslog"); }; | ||
40 | destination d_user { file("/var/log/user.log"); }; | ||
41 | destination d_uucp { file("/var/log/uucp.log"); }; | ||
42 | |||
43 | # This files are the log come from the mail subsystem. | ||
44 | # | ||
45 | destination d_mailinfo { file("/var/log/mail/mail.info"); }; | ||
46 | destination d_mailwarn { file("/var/log/mail/mail.warn"); }; | ||
47 | destination d_mailerr { file("/var/log/mail/mail.err"); }; | ||
48 | |||
49 | # Logging for INN news system | ||
50 | # | ||
51 | destination d_newscrit { file("/var/log/news/news.crit"); }; | ||
52 | destination d_newserr { file("/var/log/news/news.err"); }; | ||
53 | destination d_newsnotice { file("/var/log/news/news.notice"); }; | ||
54 | |||
55 | # Some `catch-all' logfiles. | ||
56 | # | ||
57 | destination d_debug { file("/var/log/debug"); }; | ||
58 | destination d_error { file("/var/log/error"); }; | ||
59 | destination d_messages { file("/var/log/messages"); }; | ||
60 | |||
61 | # The root's console. | ||
62 | # | ||
63 | destination d_console { usertty("root"); }; | ||
64 | |||
65 | # Virtual console. | ||
66 | # | ||
67 | destination d_console_all { file("/dev/tty10"); }; | ||
68 | |||
69 | # The named pipe /dev/xconsole is for the nsole' utility. To use it, | ||
70 | # you must invoke nsole' with the -file' option: | ||
71 | # | ||
72 | # $ xconsole -file /dev/xconsole [...] | ||
73 | # | ||
74 | destination d_xconsole { pipe("/dev/xconsole"); }; | ||
75 | |||
76 | # Send the messages to an other host | ||
77 | # | ||
78 | #destination d_net { tcp("127.0.0.1" port(1000) authentication(on) encrypt(on) log_fifo_size(1000)); }; | ||
79 | |||
80 | # Debian only | ||
81 | destination d_ppp { file("/var/log/ppp.log"); }; | ||
82 | |||
83 | ######################## | ||
84 | # Filters | ||
85 | ######################## | ||
86 | # Here's come the filter options. With this rules, we can set which | ||
87 | # message go where. | ||
88 | |||
89 | filter f_dbg { level(debug); }; | ||
90 | filter f_info { level(info); }; | ||
91 | filter f_notice { level(notice); }; | ||
92 | filter f_warn { level(warn); }; | ||
93 | filter f_err { level(err); }; | ||
94 | filter f_crit { level(crit .. emerg); }; | ||
95 | |||
96 | filter f_debug { level(debug) and not facility(auth, authpriv, news, mail); }; | ||
97 | filter f_error { level(err .. emerg) ; }; | ||
98 | filter f_messages { level(info,notice,warn) and | ||
99 | not facility(auth,authpriv,cron,daemon,mail,news); }; | ||
100 | |||
101 | filter f_auth { facility(auth, authpriv) and not filter(f_debug); }; | ||
102 | filter f_cron { facility(cron) and not filter(f_debug); }; | ||
103 | filter f_daemon { facility(daemon) and not filter(f_debug); }; | ||
104 | filter f_kern { facility(kern) and not filter(f_debug); }; | ||
105 | filter f_lpr { facility(lpr) and not filter(f_debug); }; | ||
106 | filter f_local { facility(local0, local1, local3, local4, local5, | ||
107 | local6, local7) and not filter(f_debug); }; | ||
108 | filter f_mail { facility(mail) and not filter(f_debug); }; | ||
109 | filter f_news { facility(news) and not filter(f_debug); }; | ||
110 | filter f_syslog3 { not facility(auth, authpriv, mail) and not filter(f_debug); }; | ||
111 | filter f_user { facility(user) and not filter(f_debug); }; | ||
112 | filter f_uucp { facility(uucp) and not filter(f_debug); }; | ||
113 | |||
114 | filter f_cnews { level(notice, err, crit) and facility(news); }; | ||
115 | filter f_cother { level(debug, info, notice, warn) or facility(daemon, mail); }; | ||
116 | |||
117 | filter f_ppp { facility(local2) and not filter(f_debug); }; | ||
118 | filter f_console { level(warn .. emerg); }; | ||
119 | |||
120 | ######################## | ||
121 | # Log paths | ||
122 | ######################## | ||
123 | log { source(s_src); filter(f_auth); destination(d_auth); }; | ||
124 | log { source(s_src); filter(f_cron); destination(d_cron); }; | ||
125 | log { source(s_src); filter(f_daemon); destination(d_daemon); }; | ||
126 | log { source(s_src); filter(f_kern); destination(d_kern); }; | ||
127 | log { source(s_src); filter(f_lpr); destination(d_lpr); }; | ||
128 | log { source(s_src); filter(f_syslog3); destination(d_syslog); }; | ||
129 | log { source(s_src); filter(f_user); destination(d_user); }; | ||
130 | log { source(s_src); filter(f_uucp); destination(d_uucp); }; | ||
131 | |||
132 | log { source(s_src); filter(f_mail); destination(d_mail); }; | ||
133 | #log { source(s_src); filter(f_mail); filter(f_info); destination(d_mailinfo); }; | ||
134 | #log { source(s_src); filter(f_mail); filter(f_warn); destination(d_mailwarn); }; | ||
135 | #log { source(s_src); filter(f_mail); filter(f_err); destination(d_mailerr); }; | ||
136 | |||
137 | log { source(s_src); filter(f_news); filter(f_crit); destination(d_newscrit); }; | ||
138 | log { source(s_src); filter(f_news); filter(f_err); destination(d_newserr); }; | ||
139 | log { source(s_src); filter(f_news); filter(f_notice); destination(d_newsnotice); }; | ||
140 | #log { source(s_src); filter(f_cnews); destination(d_console_all); }; | ||
141 | #log { source(s_src); filter(f_cother); destination(d_console_all); }; | ||
142 | |||
143 | #log { source(s_src); filter(f_ppp); destination(d_ppp); }; | ||
144 | |||
145 | log { source(s_src); filter(f_debug); destination(d_debug); }; | ||
146 | log { source(s_src); filter(f_error); destination(d_error); }; | ||
147 | log { source(s_src); filter(f_messages); destination(d_messages); }; | ||
148 | |||
149 | log { source(s_src); filter(f_console); destination(d_console_all); | ||
150 | destination(d_xconsole); }; | ||
151 | log { source(s_src); filter(f_crit); destination(d_console); }; | ||
152 | |||
153 | # All messages send to a remote site | ||
154 | # | ||
155 | #log { source(s_src); destination(d_net); }; | ||
diff --git a/meta-oe/recipes-support/syslog-ng/files/volatiles.03_syslog-ng b/meta-oe/recipes-support/syslog-ng/files/volatiles.03_syslog-ng new file mode 100644 index 000000000..3c4a50d54 --- /dev/null +++ b/meta-oe/recipes-support/syslog-ng/files/volatiles.03_syslog-ng | |||
@@ -0,0 +1 @@ | |||
d root root 0755 /var/run/syslog-ng none | |||
diff --git a/meta-oe/recipes-support/syslog-ng/syslog-ng.inc b/meta-oe/recipes-support/syslog-ng/syslog-ng.inc new file mode 100644 index 000000000..984af439a --- /dev/null +++ b/meta-oe/recipes-support/syslog-ng/syslog-ng.inc | |||
@@ -0,0 +1,106 @@ | |||
1 | SUMMARY = "Alternative system logger daemon" | ||
2 | DESCRIPTION = "syslog-ng, as the name shows, is a syslogd replacement, \ | ||
3 | but with new functionality for the new generation. The original syslogd \ | ||
4 | allows messages only to be sorted based on priority/facility pairs; \ | ||
5 | syslog-ng adds the possibility to filter based on message contents using \ | ||
6 | regular expressions. The new configuration scheme is intuitive and powerful. \ | ||
7 | Forwarding logs over TCP and remembering all forwarding hops makes it \ | ||
8 | ideal for firewalled environments. \ | ||
9 | " | ||
10 | HOMEPAGE = "http://www.balabit.com/network-security/syslog-ng/opensource-logging-system" | ||
11 | |||
12 | LICENSE = "GPLv2 & LGPLv2.1" | ||
13 | LIC_FILES_CHKSUM = "file://COPYING;md5=e0e8658d9be248f01b7933df24dc1408" | ||
14 | |||
15 | DEPENDS = "flex eventlog glib-2.0" | ||
16 | |||
17 | SRC_URI = "http://www.balabit.com/downloads/files/syslog-ng/sources/${PV}/source/${BPN}_${PV}.tar.gz \ | ||
18 | file://syslog-ng.conf \ | ||
19 | file://initscript \ | ||
20 | file://volatiles.03_syslog-ng \ | ||
21 | file://configure.ac-add-option-enable-thread-tls-to-manage-.patch \ | ||
22 | " | ||
23 | |||
24 | inherit autotools systemd pkgconfig update-rc.d update-alternatives | ||
25 | |||
26 | EXTRA_OECONF = " \ | ||
27 | --enable-dynamic-linking \ | ||
28 | --disable-sub-streams \ | ||
29 | --disable-pacct \ | ||
30 | --localstatedir=${localstatedir}/run/${BPN} \ | ||
31 | --sysconfdir=${sysconfdir}/${BPN} \ | ||
32 | --with-module-dir=${libdir}/${BPN} \ | ||
33 | --with-sysroot=${STAGING_DIR_HOST} \ | ||
34 | --with-libmongo-client=no --disable-mongodb \ | ||
35 | --with-librabbitmq-client=no \ | ||
36 | ${CONFIG_TLS} \ | ||
37 | " | ||
38 | |||
39 | CONFIG_TLS = "--enable-thread-tls" | ||
40 | CONFIG_TLS_arm = "${@base_conditional( "DEBUG_BUILD", "1", " --disable-thread-tls", " --enable-thread-tls", d )}" | ||
41 | |||
42 | PACKAGECONFIG ??= "openssl \ | ||
43 | ${@base_contains('DISTRO_FEATURES', 'ipv6', 'ipv6', '', d)} \ | ||
44 | ${@base_contains('DISTRO_FEATURES', 'systemd', 'systemd', '', d)} \ | ||
45 | " | ||
46 | PACKAGECONFIG[openssl] = "--enable-ssl,--disable-ssl,openssl," | ||
47 | PACKAGECONFIG[ipv6] = "--enable-ipv6,--disable-ipv6,," | ||
48 | PACKAGECONFIG[systemd] = "--enable-systemd --with-systemdsystemunitdir=${systemd_unitdir}/system/,--disable-systemd --without-systemdsystemunitdir,systemd," | ||
49 | PACKAGECONFIG[linux-caps] = "--enable-linux-caps,--disable-linux-caps,libcap," | ||
50 | PACKAGECONFIG[pcre] = "--enable-pcre,--disable-pcre,libpcre," | ||
51 | PACKAGECONFIG[dbi] = "--enable-sql,--disable-sql,libdbi," | ||
52 | PACKAGECONFIG[libnet] = "--enable-libnet --with-libnet=${STAGING_BINDIR_CROSS},--disable-libnet,libnet," | ||
53 | PACKAGECONFIG[smtp] = "--enable-smtp --with-libesmtp=${STAGING_LIBDIR},--disable-smtp,libesmtp," | ||
54 | PACKAGECONFIG[json] = "--enable-json,--disable-json,json-c," | ||
55 | PACKAGECONFIG[tcp-wrapper] = "--enable-tcp-wrapper,--disable-tcp-wrapper,tcp-wrappers," | ||
56 | |||
57 | do_configure_prepend() { | ||
58 | eval "${@base_contains('DISTRO_FEATURES', 'largefile', '', 'sed -i -e "s/-D_LARGEFILE_SOURCE//" -e "s/-D_FILE_OFFSET_BITS=64//" ${S}/configure.in', d)}" | ||
59 | } | ||
60 | |||
61 | do_install_append() { | ||
62 | install -d ${D}/${sysconfdir}/${BPN} | ||
63 | install ${WORKDIR}/syslog-ng.conf ${D}${sysconfdir}/${BPN}/${BPN}.conf | ||
64 | install -d ${D}/${sysconfdir}/init.d | ||
65 | install -m 755 ${WORKDIR}/initscript ${D}/${sysconfdir}/init.d/syslog.${BPN} | ||
66 | install -d ${D}/${sysconfdir}/default/volatiles/ | ||
67 | install -m 755 ${WORKDIR}/volatiles.03_syslog-ng ${D}/${sysconfdir}/default/volatiles/03_syslog-ng | ||
68 | |||
69 | # Remove /var/run as it is created on startup | ||
70 | rm -rf ${D}${localstatedir}/run | ||
71 | } | ||
72 | |||
73 | FILES_${PN} += "${datadir}/include/scl/ ${datadir}/xsd ${datadir}/tools" | ||
74 | RDEPENDS_${PN} += "gawk" | ||
75 | |||
76 | # This overcomes the syslog-ng rdepends on syslog-ng-dev QA Error | ||
77 | PACKAGES =+ "${PN}-libs ${PN}-libs-dev ${PN}-libs-dbg" | ||
78 | FILES_${PN}-libs = "${libdir}/${BPN}/*.so ${libdir}/libsyslog-ng-*.so*" | ||
79 | FILES_${PN}-libs-dev = "${libdir}/${BPN}/lib*.la" | ||
80 | FILES_${PN}-libs-dbg = "${libdir}/${BPN}/.debug" | ||
81 | INSANE_SKIP_${PN}-libs = "dev-so" | ||
82 | RDEPENDS_${PN} += "${PN}-libs" | ||
83 | |||
84 | CONFFILES_${PN} = "${sysconfdir}/${BPN}.conf ${sysconfdir}/scl.conf" | ||
85 | |||
86 | # syslog initscript is handled explicitly because order of | ||
87 | # update-rc.d and update-alternatives is important | ||
88 | RDEPENDS_${PN} += " ${@base_conditional("ONLINE_PACKAGE_MANAGEMENT", "none", "", "update-rc.d", d)}" | ||
89 | |||
90 | RPROVIDES_${PN} += "${PN}-systemd" | ||
91 | RREPLACES_${PN} += "${PN}-systemd" | ||
92 | RCONFLICTS_${PN} += "${PN}-systemd" | ||
93 | SYSTEMD_SERVICE_${PN} = "${BPN}.service" | ||
94 | |||
95 | # no syslog-init for systemd | ||
96 | python () { | ||
97 | if 'sysvinit' in d.getVar("DISTRO_FEATURES", True).split(): | ||
98 | pn = d.getVar('PN', True) | ||
99 | sysconfdir = d.getVar('sysconfdir', True) | ||
100 | d.appendVar('ALTERNATIVE_%s' % (pn), ' syslog-init') | ||
101 | d.setVarFlag('ALTERNATIVE_PRIORITY', 'syslog-init', '200') | ||
102 | d.setVarFlag('ALTERNATIVE_LINK_NAME', 'syslog-init', '%s/init.d/syslog' % (sysconfdir)) | ||
103 | } | ||
104 | |||
105 | INITSCRIPT_NAME = "syslog" | ||
106 | INITSCRIPT_PARAMS = "start 20 2 3 4 5 . stop 90 0 1 6 ." | ||
diff --git a/meta-oe/recipes-support/syslog-ng/syslog-ng_3.5.4.1.bb b/meta-oe/recipes-support/syslog-ng/syslog-ng_3.5.4.1.bb new file mode 100644 index 000000000..b54842030 --- /dev/null +++ b/meta-oe/recipes-support/syslog-ng/syslog-ng_3.5.4.1.bb | |||
@@ -0,0 +1,21 @@ | |||
1 | require syslog-ng.inc | ||
2 | |||
3 | SRC_URI += " \ | ||
4 | file://afsql-afsql_dd_insert_db-refactor.patch \ | ||
5 | file://deinit-the-new-config-when-reverting-to-the.patch \ | ||
6 | file://fix-a-memory-leak-in-log_driver_free.patch \ | ||
7 | file://fix-config-libnet.patch \ | ||
8 | file://fix-invalid-ownership.patch \ | ||
9 | file://Fix-the-memory-leak-problem-for-mutex.patch \ | ||
10 | file://Fix-the-memory-leak-problem-when-HAVE_ENVIRON-defined.patch \ | ||
11 | file://free-global-LogTemplateOptions.patch \ | ||
12 | file://still-free-the-unconsumed-item.patch \ | ||
13 | file://syslog-ng-verify-the-list-before-del.patch \ | ||
14 | file://configure.patch \ | ||
15 | file://dbifix.patch \ | ||
16 | file://rewrite-expr-grammar.ym-Free-up-token.patch \ | ||
17 | file://logwriter-dont-allocate-a-new-buffer.patch \ | ||
18 | " | ||
19 | |||
20 | SRC_URI[md5sum] = "ff3bf223ebafbaa92b69a2d5b729f368" | ||
21 | SRC_URI[sha256sum] = "92c6969e4172b4fd32390f80043b4de7b116f29989d8c2e5a8a687ee6dcd6f66" | ||
diff --git a/meta-oe/recipes-support/talloc/talloc/install-swig-interface-in-SWINGLIBDIR.patch b/meta-oe/recipes-support/talloc/talloc/install-swig-interface-in-SWINGLIBDIR.patch new file mode 100644 index 000000000..635c60e46 --- /dev/null +++ b/meta-oe/recipes-support/talloc/talloc/install-swig-interface-in-SWINGLIBDIR.patch | |||
@@ -0,0 +1,23 @@ | |||
1 | Using the way swig interface is installed leads to a bad path in ${D}. | ||
2 | The interface ended up in ${D}/${STAGING_DIR_NATIVE} which is wrong. The | ||
3 | fix is to define a variable in recipe which is used in install rule by | ||
4 | talloc. | ||
5 | |||
6 | Upstream-Status: Inappropriate [build system specific] | ||
7 | Signed-off-by: Andrei Gherzan <andrei@gherzan.ro> | ||
8 | |||
9 | Index: talloc-2.0.1/talloc.mk | ||
10 | =================================================================== | ||
11 | --- talloc-2.0.1.orig/talloc.mk 2009-10-11 16:42:24.000000000 +0300 | ||
12 | +++ talloc-2.0.1/talloc.mk 2012-09-13 23:15:05.283539702 +0300 | ||
13 | @@ -23,8 +23,8 @@ | ||
14 | ${INSTALLCMD} -m 644 talloc.pc $(DESTDIR)$(libdir)/pkgconfig | ||
15 | if [ -f talloc.3 ];then ${INSTALLCMD} -d $(DESTDIR)$(mandir)/man3; fi | ||
16 | if [ -f talloc.3 ];then ${INSTALLCMD} -m 644 talloc.3 $(DESTDIR)$(mandir)/man3; fi | ||
17 | - which swig >/dev/null 2>&1 && ${INSTALLCMD} -d $(DESTDIR)`swig -swiglib` || true | ||
18 | - which swig >/dev/null 2>&1 && ${INSTALLCMD} -m 644 talloc.i $(DESTDIR)`swig -swiglib` || true | ||
19 | + which swig >/dev/null 2>&1 && ${INSTALLCMD} -d $(DESTDIR)/$(SWIGLIBDIR) || true | ||
20 | + which swig >/dev/null 2>&1 && ${INSTALLCMD} -m 644 $(srcdir)/$(tallocdir)/talloc.i $(DESTDIR)/$(SWIGLIBDIR) || true | ||
21 | |||
22 | doc:: talloc.3 talloc.3.html | ||
23 | |||
diff --git a/meta-oe/recipes-support/talloc/talloc/sepbuild.patch b/meta-oe/recipes-support/talloc/talloc/sepbuild.patch new file mode 100644 index 000000000..05506c342 --- /dev/null +++ b/meta-oe/recipes-support/talloc/talloc/sepbuild.patch | |||
@@ -0,0 +1,27 @@ | |||
1 | Index: talloc-2.0.1/Makefile.in | ||
2 | =================================================================== | ||
3 | --- talloc-2.0.1.orig/Makefile.in | ||
4 | +++ talloc-2.0.1/Makefile.in | ||
5 | @@ -33,8 +33,8 @@ EXPORTSFILE = @EXPORTSFILE@ | ||
6 | |||
7 | all:: showflags $(EXTRA_TARGETS) | ||
8 | |||
9 | -include $(tallocdir)/rules.mk | ||
10 | -include $(tallocdir)/talloc.mk | ||
11 | +include $(srcdir)/$(tallocdir)/rules.mk | ||
12 | +include $(srcdir)/$(tallocdir)/talloc.mk | ||
13 | |||
14 | @TALLOC_COMPAT1_MK@ | ||
15 | |||
16 | Index: talloc-2.0.1/libtalloc.m4 | ||
17 | =================================================================== | ||
18 | --- talloc-2.0.1.orig/libtalloc.m4 | ||
19 | +++ talloc-2.0.1/libtalloc.m4 | ||
20 | @@ -33,6 +33,6 @@ if test $ac_cv_sizeof_size_t -lt $ac_cv_ | ||
21 | fi | ||
22 | |||
23 | if test x"$VERSIONSCRIPT" != "x"; then | ||
24 | - EXPORTSFILE=talloc.exports | ||
25 | + EXPORTSFILE=$srcdir/$tallocdir/talloc.exports | ||
26 | AC_SUBST(EXPORTSFILE) | ||
27 | fi | ||
diff --git a/meta-oe/recipes-support/talloc/talloc_2.0.1.bb b/meta-oe/recipes-support/talloc/talloc_2.0.1.bb new file mode 100644 index 000000000..7bbfbc291 --- /dev/null +++ b/meta-oe/recipes-support/talloc/talloc_2.0.1.bb | |||
@@ -0,0 +1,45 @@ | |||
1 | SUMMARY = "Hierarchical, reference counted memory pool system with destructors" | ||
2 | HOMEPAGE = "http://talloc.samba.org" | ||
3 | LICENSE = "LGPL-3.0" | ||
4 | LIC_FILES_CHKSUM = "file://NEWS;md5=5fe776b23a711c9153ee94bc87e47334" | ||
5 | |||
6 | inherit autotools pkgconfig | ||
7 | |||
8 | SRC_URI = "http://samba.org/ftp/${BPN}/${BPN}-${PV}.tar.gz \ | ||
9 | file://install-swig-interface-in-SWINGLIBDIR.patch \ | ||
10 | file://sepbuild.patch \ | ||
11 | " | ||
12 | SRC_URI[md5sum] = "c6e736540145ca58cb3dcb42f91cf57b" | ||
13 | SRC_URI[sha256sum] = "5b810527405f29d54f50efd78bf2c89e318f2cd8bed001f22f2a1412fd27c9b4" | ||
14 | |||
15 | TARGET_CC_ARCH += "${LDFLAGS}" | ||
16 | |||
17 | PR = "r2" | ||
18 | |||
19 | EXTRA_AUTORECONF = "--exclude=autopoint --exclude=aclocal" | ||
20 | |||
21 | DEPENDS += "swig-native" | ||
22 | |||
23 | do_install_prepend() { | ||
24 | # Hack the way swig interface for talloc is installed | ||
25 | # This hack is accompanied by install-swig-interface-in-SWINGLIBDIR.patch | ||
26 | if which swig > /dev/null; then | ||
27 | SWIGLIBDIR="$(echo $(readlink -f $(swig -swiglib)) | \ | ||
28 | sed -e 's#^${STAGING_DIR_NATIVE}##')" | ||
29 | fi | ||
30 | if [ -n "$SWIGLIBDIR" ]; then | ||
31 | export SWIGLIBDIR | ||
32 | else | ||
33 | echo "No swig found" | ||
34 | fi | ||
35 | } | ||
36 | |||
37 | do_install_append() { | ||
38 | install -d ${D}${libdir} | ||
39 | ln -s libtalloc.so.2.0.1 ${D}${libdir}/libtalloc.so.2.0 | ||
40 | ln -s libtalloc.so.2.0 ${D}${libdir}/libtalloc.so.2 | ||
41 | ln -s libtalloc.so.2 ${D}${libdir}/libtalloc.so | ||
42 | } | ||
43 | |||
44 | PACKAGES += "${PN}-swig" | ||
45 | FILES_${PN}-swig += "${datadir}" | ||
diff --git a/meta-oe/recipes-support/tbb/tbb/allow-to-build-for-older-arm-cores.patch b/meta-oe/recipes-support/tbb/tbb/allow-to-build-for-older-arm-cores.patch new file mode 100644 index 000000000..cd2ec9499 --- /dev/null +++ b/meta-oe/recipes-support/tbb/tbb/allow-to-build-for-older-arm-cores.patch | |||
@@ -0,0 +1,30 @@ | |||
1 | From: Marcin Juszkiewicz <marcin.juszkiewicz@linaro.org> | ||
2 | Description: Allow to build TBB for ARM cores older than ARMv7a | ||
3 | |||
4 | | ../../include/tbb/machine/gcc_armv7.h:39:2: error: #error Threading | ||
5 | Building Blocks ARM port requires an ARMv7-a architecture. | ||
6 | | make[1]: *** [concurrent_hash_map.o] Error 1 | ||
7 | |||
8 | https://bugs.launchpad.net/linaro-oe/+bug/1167144 | ||
9 | |||
10 | Upstream-status: pending | ||
11 | |||
12 | --- | ||
13 | include/tbb/tbb_machine.h | 2 +- | ||
14 | 1 file changed, 1 insertion(+), 1 deletion(-) | ||
15 | |||
16 | --- tbb41_20130314oss.orig/include/tbb/tbb_machine.h | ||
17 | +++ tbb41_20130314oss/include/tbb/tbb_machine.h | ||
18 | @@ -237,11 +237,11 @@ template<> struct atomic_selector<8> { | ||
19 | #include "machine/linux_intel64.h" | ||
20 | #elif __ia64__ | ||
21 | #include "machine/linux_ia64.h" | ||
22 | #elif __powerpc__ | ||
23 | #include "machine/mac_ppc.h" | ||
24 | - #elif __arm__ | ||
25 | + #elif __ARM_ARCH_7A__ | ||
26 | #include "machine/gcc_armv7.h" | ||
27 | #elif __TBB_GCC_BUILTIN_ATOMICS_PRESENT | ||
28 | #include "machine/gcc_generic.h" | ||
29 | #endif | ||
30 | #include "machine/linux_common.h" | ||
diff --git a/meta-oe/recipes-support/tbb/tbb/cross-compile.patch b/meta-oe/recipes-support/tbb/tbb/cross-compile.patch new file mode 100644 index 000000000..b970a374e --- /dev/null +++ b/meta-oe/recipes-support/tbb/tbb/cross-compile.patch | |||
@@ -0,0 +1,25 @@ | |||
1 | Author: Marcin Juszkiewicz <marcin.juszkiewicz@linaro.org> | ||
2 | |||
3 | Upstream-Status: unsuitable | ||
4 | --- | ||
5 | build/linux.gcc.inc | 5 +++-- | ||
6 | 1 file changed, 3 insertions(+), 2 deletions(-) | ||
7 | |||
8 | --- tbb41_20121003oss.orig/build/linux.gcc.inc | ||
9 | +++ tbb41_20121003oss/build/linux.gcc.inc | ||
10 | @@ -40,12 +40,13 @@ DYLIB_KEY = -shared | ||
11 | EXPORT_KEY = -Wl,--version-script, | ||
12 | LIBDL = -ldl | ||
13 | |||
14 | TBB_NOSTRICT = 1 | ||
15 | |||
16 | -CPLUS = g++ | ||
17 | -CONLY = gcc | ||
18 | +CPLUS = $(CXX) | ||
19 | +CONLY = $(CC) | ||
20 | +CPLUS_FLAGS = $(CXXFLAGS) | ||
21 | LIB_LINK_FLAGS = $(DYLIB_KEY) -Wl,-soname=$(BUILDING_LIBRARY) | ||
22 | LIBS += -lpthread -lrt | ||
23 | LINK_FLAGS = -Wl,-rpath-link=. | ||
24 | C_FLAGS = $(CPLUS_FLAGS) | ||
25 | # gcc 4.4 and higher support -std=c++0x | ||
diff --git a/meta-oe/recipes-support/tbb/tbb/tbb.pc b/meta-oe/recipes-support/tbb/tbb/tbb.pc new file mode 100644 index 000000000..644b64fbf --- /dev/null +++ b/meta-oe/recipes-support/tbb/tbb/tbb.pc | |||
@@ -0,0 +1,11 @@ | |||
1 | prefix=/usr | ||
2 | exec_prefix=${prefix} | ||
3 | libdir=${exec_prefix}/lib | ||
4 | includedir=${prefix}/include | ||
5 | |||
6 | Name: Threading Building Blocks | ||
7 | Description: Intel's parallelism library for C++ | ||
8 | URL: http://www.threadingbuildingblocks.org/ | ||
9 | Version: 3.0+r018 | ||
10 | Libs: -L${libdir} -ltbb | ||
11 | Cflags: -I${includedir} | ||
diff --git a/meta-oe/recipes-support/tbb/tbb_4.1.bb b/meta-oe/recipes-support/tbb/tbb_4.1.bb new file mode 100644 index 000000000..55212dc6c --- /dev/null +++ b/meta-oe/recipes-support/tbb/tbb_4.1.bb | |||
@@ -0,0 +1,40 @@ | |||
1 | DESCRIPTION = "Parallelism library for C++ - runtime files \ | ||
2 | TBB is a library that helps you leverage multi-core processor \ | ||
3 | performance without having to be a threading expert. It represents a \ | ||
4 | higher-level, task-based parallelism that abstracts platform details \ | ||
5 | and threading mechanism for performance and scalability." | ||
6 | HOMEPAGE = "http://threadingbuildingblocks.org/" | ||
7 | LICENSE = "GPLv2" | ||
8 | LIC_FILES_CHKSUM = "file://COPYING;md5=2c7f2caf277a3933e3acdf7f89d54cc1" | ||
9 | PRDATE = "20130314" | ||
10 | PR = "r${PRDATE}" | ||
11 | |||
12 | SRC_URI = "http://threadingbuildingblocks.org/sites/default/files/software_releases/source/tbb41_${PRDATE}oss_src.tgz \ | ||
13 | file://cross-compile.patch \ | ||
14 | file://allow-to-build-for-older-arm-cores.patch \ | ||
15 | file://tbb.pc" | ||
16 | |||
17 | S = "${WORKDIR}/tbb41_${PRDATE}oss/" | ||
18 | |||
19 | SRC_URI[md5sum] = "ed4af7ccfa122f16cf9920b241633a3a" | ||
20 | SRC_URI[sha256sum] = "32fd5979971b772caa96d40646cee585ed0070516ba2dbbcb1f9b6033d08a92d" | ||
21 | |||
22 | do_compile() { | ||
23 | oe_runmake compiler=gcc arch=${HOST_ARCH} runtime=cc4 | ||
24 | } | ||
25 | |||
26 | do_install() { | ||
27 | install -d ${D}${includedir} ${D}${libdir}/pkgconfig | ||
28 | rm ${S}/include/tbb/index.html -f | ||
29 | cp -a ${S}/include/tbb ${D}${includedir} | ||
30 | install -m 0755 ${B}/build/linux_*_release/lib*.so* ${D}${libdir} | ||
31 | install -m 0644 ${WORKDIR}/tbb.pc ${D}${libdir}/pkgconfig | ||
32 | } | ||
33 | |||
34 | # fails with thumb enabled: | ||
35 | # | arm-oe-linux-gnueabi-g++ -march=armv7-a -mthumb -mthumb-interwork -mfloat-abi=softfp -mfpu=neon -mtune=cortex-a9 -mcpu=cortex-a9 -D__ARM__ -D__LINUX_ARM_ARCH__=7 -funwind-tables -mvectorize-with-neon-quad -rdynamic --sysroot=/OE/sysroots/m14tv -c -MMD -DTBB_USE_DEBUG -g -O0 -DUSE_PTHREAD -fPIC -D__TBB_BUILD=1 -Wall -Wno-parentheses -Wno-non-virtual-dtor -O2 -pipe -g -feliminate-unused-debug-types -fpermissive -fvisibility-inlines-hidden -I../../src -I../../src/rml/include -I../../include ../../src/tbb/concurrent_queue.cpp | ||
36 | # | {standard input}: Assembler messages: | ||
37 | # | {standard input}:250: Error: thumb conditional instruction should be in IT block -- `strexeq r2,r3,[r4]' | ||
38 | # ... | ||
39 | # | make[1]: *** [concurrent_queue.o] Error 1 | ||
40 | ARM_INSTRUCTION_SET = "arm" | ||
diff --git a/meta-oe/recipes-support/toscoterm/toscoterm_git.bb b/meta-oe/recipes-support/toscoterm/toscoterm_git.bb new file mode 100644 index 000000000..24f813b62 --- /dev/null +++ b/meta-oe/recipes-support/toscoterm/toscoterm_git.bb | |||
@@ -0,0 +1,27 @@ | |||
1 | SUMMARY = "A very small and simple terminal emulator" | ||
2 | SECTION = "x11/applications" | ||
3 | DEPENDS = "vte" | ||
4 | |||
5 | LICENSE = "GPLv3" | ||
6 | LIC_FILES_CHKSUM = "file://main.c;start_line=5;end_line=16;md5=9ae4bf20caf291afa94530026bd15229" | ||
7 | |||
8 | # 0.2 version | ||
9 | SRCREV = "8586d617aed19fc75f5ae1e07270752c1b2f9a30" | ||
10 | SRC_URI = "git://github.com/OSSystems/toscoterm.git" | ||
11 | |||
12 | S = "${WORKDIR}/git" | ||
13 | |||
14 | inherit gitpkgv pkgconfig | ||
15 | |||
16 | do_compile() { | ||
17 | oe_runmake \ | ||
18 | CC="${CC}" \ | ||
19 | CFLAGS="`pkg-config --cflags vte`${CFLAGS}" \ | ||
20 | LDFLAGS="`pkg-config --libs vte` ${LDFLAGS}" | ||
21 | } | ||
22 | |||
23 | do_install() { | ||
24 | oe_runmake PREFIX="${prefix}" DESTDIR="${D}" install | ||
25 | } | ||
26 | |||
27 | RDEPENDS_${PN}_append_libc-glibc += "glibc-gconv-ibm437" | ||
diff --git a/meta-oe/recipes-support/udisks/udisks/add-systemd-support.patch b/meta-oe/recipes-support/udisks/udisks/add-systemd-support.patch new file mode 100644 index 000000000..29df8a4da --- /dev/null +++ b/meta-oe/recipes-support/udisks/udisks/add-systemd-support.patch | |||
@@ -0,0 +1,112 @@ | |||
1 | From 7a485d491697906b445020dfcb37fe91806d7134 Mon Sep 17 00:00:00 2001 | ||
2 | From: Lennart Poettering <lennart@poettering.net> | ||
3 | Date: Thu, 22 Jul 2010 02:20:22 +0200 | ||
4 | Subject: [PATCH] systemd: install systemd unit files | ||
5 | Upstream-Status: ? | ||
6 | Based on: https://www.libreoffice.org/bugzilla/show_bug.cgi?id=29205 | ||
7 | --- | ||
8 | Makefile.am | 5 ++++- | ||
9 | configure.ac | 9 +++++++++ | ||
10 | data/.gitignore | 1 + | ||
11 | data/Makefile.am | 11 ++++++++++- | ||
12 | data/org.freedesktop.UDisks.service.in | 2 +- | ||
13 | data/udisks-daemon.service.in | 12 ++++++++++++ | ||
14 | 6 files changed, 37 insertions(+), 3 deletions(-) | ||
15 | create mode 100644 data/udisks-daemon.service.in | ||
16 | |||
17 | diff --git a/Makefile.am b/Makefile.am | ||
18 | index 588f05d..c3aaeea 100644 | ||
19 | --- a/Makefile.am | ||
20 | +++ b/Makefile.am | ||
21 | @@ -24,7 +24,10 @@ EXTRA_DIST = \ | ||
22 | ChangeLog | ||
23 | |||
24 | # xsltproc barfs on 'make distcheck'; disable for now | ||
25 | -DISTCHECK_CONFIGURE_FLAGS=--disable-man-pages --disable-gtk-doc | ||
26 | +DISTCHECK_CONFIGURE_FLAGS = \ | ||
27 | + --disable-man-pages \ | ||
28 | + --disable-gtk-doc \ | ||
29 | + --with-systemdsystemunitdir=$$dc_install_base/$(systemdsystemunitdir) | ||
30 | |||
31 | clean-local : | ||
32 | rm -f *~ | ||
33 | diff --git a/configure.ac b/configure.ac | ||
34 | index a9141bf..39bbd7a 100644 | ||
35 | --- a/configure.ac | ||
36 | +++ b/configure.ac | ||
37 | @@ -232,6 +232,15 @@ AC_SUBST([GETTEXT_PACKAGE]) | ||
38 | AM_GLIB_GNU_GETTEXT | ||
39 | AC_DEFINE_UNQUOTED([GETTEXT_PACKAGE],["$GETTEXT_PACKAGE"],[gettext domain]) | ||
40 | |||
41 | +# systemd | ||
42 | + | ||
43 | +AC_ARG_WITH([systemdsystemunitdir], | ||
44 | + AS_HELP_STRING([--with-systemdsystemunitdir=DIR], [Directory for systemd service files]), | ||
45 | + [], | ||
46 | + [with_systemdsystemunitdir=$($PKG_CONFIG --variable=systemdsystemunitdir systemd)]) | ||
47 | +AC_SUBST([systemdsystemunitdir], [$with_systemdsystemunitdir]) | ||
48 | +AM_CONDITIONAL(HAVE_SYSTEMD, [test -n "$with_systemdsystemunitdir"]) | ||
49 | + | ||
50 | AC_OUTPUT([ | ||
51 | Makefile | ||
52 | data/Makefile | ||
53 | diff --git a/data/Makefile.am b/data/Makefile.am | ||
54 | index ca6d8ac..bf5c1a7 100644 | ||
55 | --- a/data/Makefile.am | ||
56 | +++ b/data/Makefile.am | ||
57 | @@ -35,6 +35,14 @@ avahiservicedir = $(sysconfdir)/avahi/services | ||
58 | avahiservice_DATA = udisks.service | ||
59 | endif # REMOTE_ACCESS_ENABLED | ||
60 | |||
61 | +if HAVE_SYSTEMD | ||
62 | +systemdsystemunit_DATA = \ | ||
63 | + udisks-daemon.service | ||
64 | + | ||
65 | +udisks-daemon.service: udisks-daemon.service.in | ||
66 | + @sed -e "s|\@libexecdir\@|$(libexecdir)|" $< > $@ | ||
67 | +endif | ||
68 | + | ||
69 | EXTRA_DIST = \ | ||
70 | 80-udisks.rules \ | ||
71 | $(dbusif_DATA) \ | ||
72 | @@ -42,7 +50,8 @@ EXTRA_DIST = \ | ||
73 | $(dbusconf_in_files) \ | ||
74 | udisks.pc.in \ | ||
75 | udisks.service \ | ||
76 | + udisks-daemon.service.in \ | ||
77 | $(NULL) | ||
78 | |||
79 | clean-local : | ||
80 | - rm -f *~ $(service_DATA) $(dbusconf_DATA) | ||
81 | + rm -f *~ $(service_DATA) $(dbusconf_DATA) udisks-daemon.service | ||
82 | diff --git a/data/org.freedesktop.UDisks.service.in b/data/org.freedesktop.UDisks.service.in | ||
83 | index b3606a6..6ba2cd0 100644 | ||
84 | --- a/data/org.freedesktop.UDisks.service.in | ||
85 | +++ b/data/org.freedesktop.UDisks.service.in | ||
86 | @@ -2,4 +2,4 @@ | ||
87 | Name=org.freedesktop.UDisks | ||
88 | Exec=@libexecdir@/udisks-daemon | ||
89 | User=root | ||
90 | - | ||
91 | +SystemdService=udisks-daemon.service | ||
92 | diff --git a/data/udisks-daemon.service.in b/data/udisks-daemon.service.in | ||
93 | new file mode 100644 | ||
94 | index 0000000..78379b2 | ||
95 | --- /dev/null | ||
96 | +++ b/data/udisks-daemon.service.in | ||
97 | @@ -0,0 +1,12 @@ | ||
98 | +[Unit] | ||
99 | +Description=Disk Manager | ||
100 | +After=syslog.target | ||
101 | + | ||
102 | +[Service] | ||
103 | +Type=dbus | ||
104 | +BusName=org.freedesktop.UDisks | ||
105 | +ExecStart=@libexecdir@/udisks-daemon | ||
106 | +StandardOutput=syslog | ||
107 | + | ||
108 | +[Install] | ||
109 | +WantedBy=graphical.target | ||
110 | -- | ||
111 | 1.7.0.1 | ||
112 | |||
diff --git a/meta-oe/recipes-support/udisks/udisks/optional-depends.patch b/meta-oe/recipes-support/udisks/udisks/optional-depends.patch new file mode 100644 index 000000000..613170192 --- /dev/null +++ b/meta-oe/recipes-support/udisks/udisks/optional-depends.patch | |||
@@ -0,0 +1,484 @@ | |||
1 | From 1b70b7a798eeeec554ab5aa9fcfff96a22e91774 Mon Sep 17 00:00:00 2001 | ||
2 | From: Gustavo Sverzut Barbieri <barbieri@profusion.mobi> | ||
3 | Date: Thu, 26 May 2011 17:30:04 -0300 | ||
4 | Subject: [PATCH] Allow disabling atasmart, lvm2 and devicemapper support. | ||
5 | |||
6 | https://bugs.freedesktop.org/show_bug.cgi?id=37647 | ||
7 | |||
8 | diff --git a/configure.ac b/configure.ac | ||
9 | index 62cc35d..b664135 100644 | ||
10 | --- a/configure.ac | ||
11 | +++ b/configure.ac | ||
12 | @@ -155,13 +155,33 @@ PKG_CHECK_MODULES(POLKIT_GOBJECT_1, [polkit-gobject-1 >= 0.97]) | ||
13 | AC_SUBST(POLKIT_GOBJECT_1_CFLAGS) | ||
14 | AC_SUBST(POLKIT_GOBJECT_1_LIBS) | ||
15 | |||
16 | -PKG_CHECK_MODULES(LIBPARTED, [libparted >= 1.8.8]) | ||
17 | -AC_SUBST(LIBPARTED_CFLAGS) | ||
18 | -AC_SUBST(LIBPARTED_LIBS) | ||
19 | - | ||
20 | -PKG_CHECK_MODULES(DEVMAPPER, [devmapper >= 1.02]) | ||
21 | -AC_SUBST(DEVMAPPER_CFLAGS) | ||
22 | -AC_SUBST(DEVMAPPER_LIBS) | ||
23 | +have_parted=no | ||
24 | +AC_ARG_ENABLE(parted, AS_HELP_STRING([--disable-parted], [disable disk partitioning])) | ||
25 | +if test "x$enable_parted" != "xno"; then | ||
26 | + PKG_CHECK_MODULES(LIBPARTED, [libparted >= 1.8.8], | ||
27 | + [AC_DEFINE(USE_PARTED, 1, [Define if parted should be used]) have_parted=yes], | ||
28 | + have_parted=no) | ||
29 | + AC_SUBST(LIBPARTED_CFLAGS) | ||
30 | + AC_SUBST(LIBPARTED_LIBS) | ||
31 | + if test "x$have_parted" = xno -a "x$enable_parted" = xyes; then | ||
32 | + AC_MSG_ERROR([parted support requested but libraries not found]) | ||
33 | + fi | ||
34 | +fi | ||
35 | +AM_CONDITIONAL(HAVE_PARTED, [test "$have_parted" = "yes"]) | ||
36 | + | ||
37 | +have_devmapper=no | ||
38 | +AC_ARG_ENABLE(devmapper, AS_HELP_STRING([--disable-devmapper], [disable device mapper support])) | ||
39 | +if test "x$enable_devmapper" != "xno"; then | ||
40 | + PKG_CHECK_MODULES(DEVMAPPER, [devmapper >= 1.02], | ||
41 | + [AC_DEFINE(HAVE_DEVMAPPER, 1, [Define if device mapper is available]) have_devmapper=yes], | ||
42 | + have_devmapper=no) | ||
43 | + AC_SUBST(DEVMAPPER_CFLAGS) | ||
44 | + AC_SUBST(DEVMAPPER_LIBS) | ||
45 | + if test "x$have_devmapper" = xno -a "x$enable_devmapper" = xyes; then | ||
46 | + AC_MSG_ERROR([devmapper support requested but libraries not found]) | ||
47 | + fi | ||
48 | +fi | ||
49 | +AM_CONDITIONAL(HAVE_DEVMAPPER, [test "$have_devmapper" = "yes"]) | ||
50 | |||
51 | have_lvm2=no | ||
52 | AC_ARG_ENABLE(lvm2, AS_HELP_STRING([--disable-lvm2], [disable LVM2 support])) | ||
53 | @@ -185,9 +205,19 @@ if test "x$enable_dmmp" != "xno"; then | ||
54 | fi | ||
55 | AM_CONDITIONAL(HAVE_DMMP, [test "$have_dmmp" = "yes"]) | ||
56 | |||
57 | -PKG_CHECK_MODULES(LIBATASMART, [libatasmart >= 0.14]) | ||
58 | -AC_SUBST(LIBATASMART_CFLAGS) | ||
59 | -AC_SUBST(LIBATASMART_LIBS) | ||
60 | +have_libatasmart=no | ||
61 | +AC_ARG_ENABLE(libatasmart, AS_HELP_STRING([--disable-libatasmart], [disable libatasmart support])) | ||
62 | +if test "x$enable_libatasmart" != "xno"; then | ||
63 | + PKG_CHECK_MODULES(LIBATASMART, [libatasmart >= 0.14], | ||
64 | + [AC_DEFINE(HAVE_LIBATASMART, 1, [Define if libatasmart is available]) have_libatasmart=yes], | ||
65 | + have_libatasmart=no) | ||
66 | + AC_SUBST(LIBATASMART_CFLAGS) | ||
67 | + AC_SUBST(LIBATASMART_LIBS) | ||
68 | + if test "x$have_libatasmart" = xno -a "x$enable_libatasmart" = xyes; then | ||
69 | + AC_MSG_ERROR([libatasmart support requested but libraries not found]) | ||
70 | + fi | ||
71 | +fi | ||
72 | +AM_CONDITIONAL(HAVE_LIBATASMART, [test "$have_libatasmart" = "yes"]) | ||
73 | |||
74 | PKG_CHECK_MODULES(LIBUDEV, [libudev >= 143]) | ||
75 | AC_SUBST(LIBUDEV_CFLAGS) | ||
76 | @@ -267,9 +297,12 @@ echo " | ||
77 | cppflags: ${CPPFLAGS} | ||
78 | xsltproc: ${XSLTPROC} | ||
79 | |||
80 | + Parted support: ${have_parted} | ||
81 | + Device Mapper support: ${have_devmapper} | ||
82 | LVM2 support: ${have_lvm2} | ||
83 | dm-multipath: ${have_dmmp} | ||
84 | Remote Access: ${remote_access} | ||
85 | + libatasmart support: ${have_libatasmart} | ||
86 | |||
87 | Maintainer mode: ${USE_MAINTAINER_MODE} | ||
88 | Profiling: ${enable_profiling} | ||
89 | diff --git a/src/adapter-private.h b/src/adapter-private.h | ||
90 | index 3409e21..ef584e3 100644 | ||
91 | --- a/src/adapter-private.h | ||
92 | +++ b/src/adapter-private.h | ||
93 | @@ -23,7 +23,6 @@ | ||
94 | |||
95 | #include <dbus/dbus-glib.h> | ||
96 | #include <gudev/gudev.h> | ||
97 | -#include <atasmart.h> | ||
98 | |||
99 | #include "types.h" | ||
100 | |||
101 | diff --git a/src/adapter.c b/src/adapter.c | ||
102 | index b85a0ef..802420b 100644 | ||
103 | --- a/src/adapter.c | ||
104 | +++ b/src/adapter.c | ||
105 | @@ -30,7 +30,6 @@ | ||
106 | #include <dbus/dbus-glib.h> | ||
107 | #include <dbus/dbus-glib-lowlevel.h> | ||
108 | #include <gudev/gudev.h> | ||
109 | -#include <atasmart.h> | ||
110 | |||
111 | #include "daemon.h" | ||
112 | #include "adapter.h" | ||
113 | diff --git a/src/daemon.c b/src/daemon.c | ||
114 | index 6072502..d043cb0 100644 | ||
115 | --- a/src/daemon.c | ||
116 | +++ b/src/daemon.c | ||
117 | @@ -1745,6 +1745,7 @@ mdstat_changed_event (GIOChannel *channel, | ||
118 | return TRUE; | ||
119 | } | ||
120 | |||
121 | +#ifdef HAVE_LIBATASMART | ||
122 | static gboolean | ||
123 | refresh_ata_smart_data (Daemon *daemon) | ||
124 | { | ||
125 | @@ -1773,6 +1774,7 @@ refresh_ata_smart_data (Daemon *daemon) | ||
126 | |||
127 | return FALSE; | ||
128 | } | ||
129 | +#endif | ||
130 | |||
131 | static gboolean | ||
132 | register_disks_daemon (Daemon *daemon) | ||
133 | @@ -1984,12 +1986,14 @@ daemon_new (void) | ||
134 | mount_file_clean_stale (l); | ||
135 | g_list_free (l); | ||
136 | |||
137 | +#ifdef HAVE_LIBATASMART | ||
138 | /* set up timer for refreshing ATA SMART data - we don't want to refresh immediately because | ||
139 | * when adding a device we also do this... | ||
140 | */ | ||
141 | daemon->priv->ata_smart_refresh_timer_id = g_timeout_add_seconds (ATA_SMART_REFRESH_INTERVAL_SECONDS, | ||
142 | (GSourceFunc) refresh_ata_smart_data, | ||
143 | daemon); | ||
144 | +#endif | ||
145 | |||
146 | PROFILE ("daemon_new(): end"); | ||
147 | return daemon; | ||
148 | diff --git a/src/device-private.c b/src/device-private.c | ||
149 | index 22a0d35..fb96525 100644 | ||
150 | --- a/src/device-private.c | ||
151 | +++ b/src/device-private.c | ||
152 | @@ -1378,7 +1378,7 @@ device_set_drive_ata_smart_time_collected (Device *device, | ||
153 | |||
154 | void | ||
155 | device_set_drive_ata_smart_status (Device *device, | ||
156 | - SkSmartOverall value) | ||
157 | + guint value) | ||
158 | { | ||
159 | if (G_UNLIKELY (device->priv->drive_ata_smart_status != value)) | ||
160 | { | ||
161 | diff --git a/src/device-private.h b/src/device-private.h | ||
162 | index a6db7f2..71473a6 100644 | ||
163 | --- a/src/device-private.h | ||
164 | +++ b/src/device-private.h | ||
165 | @@ -23,7 +23,6 @@ | ||
166 | |||
167 | #include <dbus/dbus-glib.h> | ||
168 | #include <gudev/gudev.h> | ||
169 | -#include <atasmart.h> | ||
170 | |||
171 | #include "types.h" | ||
172 | |||
173 | @@ -224,7 +223,7 @@ struct DevicePrivate | ||
174 | |||
175 | gboolean drive_ata_smart_is_available; | ||
176 | guint64 drive_ata_smart_time_collected; | ||
177 | - SkSmartOverall drive_ata_smart_status; | ||
178 | + guint drive_ata_smart_status; | ||
179 | void *drive_ata_smart_blob; | ||
180 | gsize drive_ata_smart_blob_size; | ||
181 | |||
182 | @@ -391,7 +390,7 @@ void device_set_holders_objpath (Device *device, GStrv value); | ||
183 | |||
184 | void device_set_drive_ata_smart_is_available (Device *device, gboolean value); | ||
185 | void device_set_drive_ata_smart_time_collected (Device *device, guint64 value); | ||
186 | -void device_set_drive_ata_smart_status (Device *device, SkSmartOverall value); | ||
187 | +void device_set_drive_ata_smart_status (Device *device, guint value); | ||
188 | void device_set_drive_ata_smart_blob_steal (Device *device, gchar *blob, gsize blob_size); | ||
189 | |||
190 | G_END_DECLS | ||
191 | diff --git a/src/device.c b/src/device.c | ||
192 | index 6a34940..7a5a4a9 100644 | ||
193 | --- a/src/device.c | ||
194 | +++ b/src/device.c | ||
195 | @@ -50,7 +50,9 @@ | ||
196 | #include <dbus/dbus-glib.h> | ||
197 | #include <dbus/dbus-glib-lowlevel.h> | ||
198 | #include <gudev/gudev.h> | ||
199 | +#ifdef HAVE_LIBATASMART | ||
200 | #include <atasmart.h> | ||
201 | +#endif | ||
202 | |||
203 | #include "daemon.h" | ||
204 | #include "device.h" | ||
205 | @@ -659,10 +661,14 @@ get_property (GObject *object, | ||
206 | case PROP_DRIVE_ATA_SMART_STATUS: | ||
207 | { | ||
208 | const gchar *status; | ||
209 | - if (device->priv->drive_ata_smart_status == (SkSmartOverall) - 1) | ||
210 | +#ifdef HAVE_LIBATASMART | ||
211 | + if (device->priv->drive_ata_smart_status == (guint) - 1) | ||
212 | status = ""; | ||
213 | else | ||
214 | status = sk_smart_overall_to_string (device->priv->drive_ata_smart_status); | ||
215 | +#else | ||
216 | + status = ""; | ||
217 | +#endif | ||
218 | g_value_set_string (value, status); | ||
219 | } | ||
220 | break; | ||
221 | @@ -5114,6 +5120,7 @@ device_new (Daemon *daemon, | ||
222 | goto out; | ||
223 | } | ||
224 | |||
225 | +#ifdef HAVE_LIBATASMART | ||
226 | /* if just added, update the smart data if applicable */ | ||
227 | if (device->priv->drive_ata_smart_is_available) | ||
228 | { | ||
229 | @@ -5121,6 +5128,7 @@ device_new (Daemon *daemon, | ||
230 | gchar *ata_smart_refresh_data_options[] = { NULL }; | ||
231 | device_drive_ata_smart_refresh_data (device, ata_smart_refresh_data_options, NULL); | ||
232 | } | ||
233 | +#endif | ||
234 | |||
235 | PROFILE ("device_new(native_path=%s): end", native_path); | ||
236 | out: | ||
237 | @@ -9794,16 +9802,18 @@ drive_ata_smart_refresh_data_completed_cb (DBusGMethodInvocation *context, | ||
238 | const char *stdout, | ||
239 | gpointer user_data) | ||
240 | { | ||
241 | +#ifdef HAVE_LIBATASMART | ||
242 | gint rc; | ||
243 | - SkDisk *d; | ||
244 | + SkDisk *d = NULL; | ||
245 | + SkSmartOverall overall; | ||
246 | gchar *blob; | ||
247 | gsize blob_size; | ||
248 | time_t time_collected; | ||
249 | - SkSmartOverall overall; | ||
250 | +#endif | ||
251 | |||
252 | PROFILE ("drive_ata_smart_refresh_data_completed_cb(device=%s) start", device->priv->native_path); | ||
253 | |||
254 | - d = NULL; | ||
255 | +#ifdef HAVE_LIBATASMART | ||
256 | blob = NULL; | ||
257 | |||
258 | if (job_was_cancelled || stdout == NULL) | ||
259 | @@ -9907,6 +9917,11 @@ drive_ata_smart_refresh_data_completed_cb (DBusGMethodInvocation *context, | ||
260 | g_free (blob); | ||
261 | if (d != NULL) | ||
262 | sk_disk_free (d); | ||
263 | + | ||
264 | +#else | ||
265 | + throw_error (context, ERROR_FAILED, "libatasmart support disabled"); | ||
266 | +#endif | ||
267 | + | ||
268 | PROFILE ("drive_ata_smart_refresh_data_completed_cb(device=%s) end", device->priv->native_path); | ||
269 | } | ||
270 | |||
271 | diff --git a/src/expander-private.h b/src/expander-private.h | ||
272 | index ef4f440..98a8300 100644 | ||
273 | --- a/src/expander-private.h | ||
274 | +++ b/src/expander-private.h | ||
275 | @@ -23,7 +23,6 @@ | ||
276 | |||
277 | #include <dbus/dbus-glib.h> | ||
278 | #include <gudev/gudev.h> | ||
279 | -#include <atasmart.h> | ||
280 | |||
281 | #include "types.h" | ||
282 | |||
283 | diff --git a/src/expander.c b/src/expander.c | ||
284 | index 734ec0a..e799f13 100644 | ||
285 | --- a/src/expander.c | ||
286 | +++ b/src/expander.c | ||
287 | @@ -34,7 +34,6 @@ | ||
288 | #include <dbus/dbus-glib.h> | ||
289 | #include <dbus/dbus-glib-lowlevel.h> | ||
290 | #include <gudev/gudev.h> | ||
291 | -#include <atasmart.h> | ||
292 | #include <stdlib.h> | ||
293 | |||
294 | #include "daemon.h" | ||
295 | diff --git a/src/helpers/Makefile.am b/src/helpers/Makefile.am | ||
296 | index 4b863c0..d3ec4e9 100644 | ||
297 | --- a/src/helpers/Makefile.am | ||
298 | +++ b/src/helpers/Makefile.am | ||
299 | @@ -19,15 +19,9 @@ INCLUDES = \ | ||
300 | |||
301 | libexec_PROGRAMS = \ | ||
302 | udisks-helper-mkfs \ | ||
303 | - udisks-helper-delete-partition \ | ||
304 | - udisks-helper-create-partition \ | ||
305 | - udisks-helper-modify-partition \ | ||
306 | - udisks-helper-create-partition-table \ | ||
307 | udisks-helper-change-filesystem-label \ | ||
308 | udisks-helper-linux-md-remove-component \ | ||
309 | udisks-helper-fstab-mounter \ | ||
310 | - udisks-helper-ata-smart-collect \ | ||
311 | - udisks-helper-ata-smart-selftest \ | ||
312 | udisks-helper-drive-detach \ | ||
313 | udisks-helper-drive-poll \ | ||
314 | udisks-helper-linux-md-check \ | ||
315 | @@ -48,6 +42,13 @@ udisks_helper_mkfs_SOURCES = job-shared.h job-mkfs.c | ||
316 | udisks_helper_mkfs_CPPFLAGS = $(AM_CPPFLAGS) | ||
317 | udisks_helper_mkfs_LDADD = $(GLIB_LIBS) | ||
318 | |||
319 | +if HAVE_PARTED | ||
320 | +libexec_PROGRAMS += \ | ||
321 | + udisks-helper-delete-partition \ | ||
322 | + udisks-helper-create-partition \ | ||
323 | + udisks-helper-modify-partition \ | ||
324 | + udisks-helper-create-partition-table | ||
325 | + | ||
326 | udisks_helper_delete_partition_SOURCES = job-shared.h job-delete-partition.c | ||
327 | udisks_helper_delete_partition_CPPFLAGS = $(AM_CPPFLAGS) | ||
328 | udisks_helper_delete_partition_LDADD = $(GLIB_LIBS) libpartutil.la | ||
329 | @@ -63,11 +64,17 @@ udisks_helper_modify_partition_LDADD = $(GLIB_LIBS) libpartutil.la | ||
330 | udisks_helper_create_partition_table_SOURCES = job-shared.h job-create-partition-table.c | ||
331 | udisks_helper_create_partition_table_CPPFLAGS = $(AM_CPPFLAGS) | ||
332 | udisks_helper_create_partition_table_LDADD = $(GLIB_LIBS) libpartutil.la | ||
333 | +endif | ||
334 | |||
335 | udisks_helper_change_filesystem_label_SOURCES = job-shared.h job-change-filesystem-label.c | ||
336 | udisks_helper_change_filesystem_label_CPPFLAGS = $(AM_CPPFLAGS) | ||
337 | udisks_helper_change_filesystem_label_LDADD = $(GLIB_LIBS) | ||
338 | |||
339 | +if HAVE_LIBATASMART | ||
340 | +libexec_PROGRAMS += \ | ||
341 | + udisks-helper-ata-smart-collect \ | ||
342 | + udisks-helper-ata-smart-selftest | ||
343 | + | ||
344 | udisks_helper_ata_smart_selftest_SOURCES = job-shared.h job-ata-smart-selftest.c | ||
345 | udisks_helper_ata_smart_selftest_CPPFLAGS = $(AM_CPPFLAGS) $(LIBATASMART_CFLAGS) $(GLIB_CFLAGS) | ||
346 | udisks_helper_ata_smart_selftest_LDADD = $(LIBATASMART_LIBS) $(GLIB_LIBS) | ||
347 | @@ -75,6 +82,7 @@ udisks_helper_ata_smart_selftest_LDADD = $(LIBATASMART_LIBS) $(GLIB_LIBS) | ||
348 | udisks_helper_ata_smart_collect_SOURCES = job-ata-smart-collect.c | ||
349 | udisks_helper_ata_smart_collect_CPPFLAGS = $(AM_CPPFLAGS) $(LIBATASMART_CFLAGS) $(GLIB_CFLAGS) | ||
350 | udisks_helper_ata_smart_collect_LDADD = $(LIBATASMART_LIBS) $(GLIB_LIBS) | ||
351 | +endif | ||
352 | |||
353 | udisks_helper_linux_md_remove_component_SOURCES = job-shared.h job-linux-md-remove-component.c | ||
354 | udisks_helper_linux_md_remove_component_CPPFLAGS = $(AM_CPPFLAGS) | ||
355 | diff --git a/src/helpers/partutil.c b/src/helpers/partutil.c | ||
356 | index 72a8fe3..8893a39 100644 | ||
357 | --- a/src/helpers/partutil.c | ||
358 | +++ b/src/helpers/partutil.c | ||
359 | @@ -62,7 +62,6 @@ DEBUG (const gchar *format, | ||
360 | # include <config.h> | ||
361 | #endif | ||
362 | |||
363 | -#define USE_PARTED | ||
364 | #ifdef USE_PARTED | ||
365 | #include <parted/parted.h> | ||
366 | #endif | ||
367 | @@ -928,6 +927,7 @@ part_table_parse_apple (int fd, | ||
368 | return p; | ||
369 | } | ||
370 | |||
371 | +#ifdef USE_PARTED | ||
372 | static PartitionTable * | ||
373 | part_table_load_from_disk_from_file (char *device_file) | ||
374 | { | ||
375 | @@ -948,6 +948,7 @@ part_table_load_from_disk_from_file (char *device_file) | ||
376 | out: | ||
377 | return ret; | ||
378 | } | ||
379 | +#endif | ||
380 | |||
381 | PartitionTable * | ||
382 | part_table_load_from_disk (int fd) | ||
383 | diff --git a/src/port-private.h b/src/port-private.h | ||
384 | index cc48376..a91532f 100644 | ||
385 | --- a/src/port-private.h | ||
386 | +++ b/src/port-private.h | ||
387 | @@ -23,7 +23,6 @@ | ||
388 | |||
389 | #include <dbus/dbus-glib.h> | ||
390 | #include <gudev/gudev.h> | ||
391 | -#include <atasmart.h> | ||
392 | |||
393 | #include "types.h" | ||
394 | |||
395 | diff --git a/src/probers/Makefile.am b/src/probers/Makefile.am | ||
396 | index 06bb566..01c693b 100644 | ||
397 | --- a/src/probers/Makefile.am | ||
398 | +++ b/src/probers/Makefile.am | ||
399 | @@ -22,8 +22,6 @@ INCLUDES = \ | ||
400 | |||
401 | udevhelperdir = $(slashlibdir)/udev | ||
402 | udevhelper_PROGRAMS = udisks-part-id \ | ||
403 | - udisks-dm-export \ | ||
404 | - udisks-probe-ata-smart \ | ||
405 | udisks-probe-sas-expander \ | ||
406 | $(NULL) | ||
407 | |||
408 | @@ -35,17 +33,23 @@ udisks_part_id_SOURCES = part-id.c | ||
409 | udisks_part_id_CPPFLAGS = $(AM_CPPFLAGS) $(LIBUDEV_CFLAGS) | ||
410 | udisks_part_id_LDADD = $(GLIB_LIBS) $(LIBUDEV_LIBS) $(top_builddir)/src/helpers/libpartutil.la | ||
411 | |||
412 | +if HAVE_DEVMAPPER | ||
413 | +udevhelper_PROGRAMS += udisks-dm-export | ||
414 | udisks_dm_export_SOURCES = udisks-dm-export.c | ||
415 | udisks_dm_export_CPPFLAGS = $(AM_CPPFLAGS) $(DEVMAPPER_CFLAGS) $(GLIB_CFLAGS) | ||
416 | udisks_dm_export_LDADD = $(DEVMAPPER_LIBS) $(GLIB_LIBS) | ||
417 | +endif | ||
418 | |||
419 | udisks_lvm_pv_export_SOURCES = udisks-lvm-pv-export.c | ||
420 | udisks_lvm_pv_export_CPPFLAGS = $(AM_CPPFLAGS) $(DEVMAPPER_CFLAGS) $(LVM2_CFLAGS) $(GLIB_CFLAGS) | ||
421 | udisks_lvm_pv_export_LDADD = $(DEVMAPPER_LIBS) $(LVM2_LIBS) $(GLIB_LIBS) | ||
422 | |||
423 | +if HAVE_LIBATASMART | ||
424 | +udevhelper_PROGRAMS += udisks-probe-ata-smart | ||
425 | udisks_probe_ata_smart_SOURCES = udisks-probe-ata-smart.c | ||
426 | udisks_probe_ata_smart_CPPFLAGS = $(AM_CPPFLAGS) $(LIBATASMART_CFLAGS) | ||
427 | udisks_probe_ata_smart_LDADD = $(LIBATASMART_LIBS) | ||
428 | +endif | ||
429 | |||
430 | udisks_probe_sas_expander_SOURCES = udisks-probe-sas-expander.c | ||
431 | udisks_probe_sas_expander_CPPFLAGS = $(AM_CPPFLAGS) $(GLIB_CFLAGS) | ||
432 | diff --git a/tools/udisks.c b/tools/udisks.c | ||
433 | index 6fbd6a6..e0c4fbb 100644 | ||
434 | --- a/tools/udisks.c | ||
435 | +++ b/tools/udisks.c | ||
436 | @@ -43,7 +43,9 @@ | ||
437 | #include <dbus/dbus-glib.h> | ||
438 | #include <dbus/dbus-glib-lowlevel.h> | ||
439 | |||
440 | +#ifdef HAVE_LIBATASMART | ||
441 | #include <atasmart.h> | ||
442 | +#endif | ||
443 | |||
444 | #include "udisks-daemon-glue.h" | ||
445 | #include "udisks-device-glue.h" | ||
446 | @@ -979,6 +981,7 @@ end_highlight (void) | ||
447 | g_print ("\x1B[0m"); | ||
448 | } | ||
449 | |||
450 | +#ifdef HAVE_LIBATASMART | ||
451 | static const gchar * | ||
452 | ata_smart_status_to_desc (const gchar *status, | ||
453 | gboolean *out_highlight) | ||
454 | @@ -1159,6 +1162,7 @@ print_ata_smart_attr (SkDisk *d, | ||
455 | g_free (threshold_str); | ||
456 | g_free (pretty); | ||
457 | } | ||
458 | +#endif | ||
459 | |||
460 | static void | ||
461 | do_show_info (const char *object_path) | ||
462 | @@ -1440,7 +1444,7 @@ do_show_info (const char *object_path) | ||
463 | g_print (" if speed: %" G_GINT64_FORMAT " bits/s\n", props->drive_connection_speed); | ||
464 | |||
465 | /* ------------------------------------------------------------------------------------------------- */ | ||
466 | - | ||
467 | +#ifdef HAVE_LIBATASMART | ||
468 | if (!props->drive_ata_smart_is_available) | ||
469 | { | ||
470 | g_print (" ATA SMART: not available\n"); | ||
471 | @@ -1493,7 +1497,9 @@ do_show_info (const char *object_path) | ||
472 | } | ||
473 | |||
474 | } | ||
475 | - | ||
476 | +#else | ||
477 | + g_print (" ATA SMART: not supported\n"); | ||
478 | +#endif | ||
479 | /* ------------------------------------------------------------------------------------------------- */ | ||
480 | |||
481 | } | ||
482 | -- | ||
483 | 1.7.5.rc3 | ||
484 | |||
diff --git a/meta-oe/recipes-support/udisks/udisks_1.0.4.bb b/meta-oe/recipes-support/udisks/udisks_1.0.4.bb new file mode 100644 index 000000000..e306e8999 --- /dev/null +++ b/meta-oe/recipes-support/udisks/udisks_1.0.4.bb | |||
@@ -0,0 +1,39 @@ | |||
1 | DESCRIPTION = "A storage daemon that implements well-defined D-Bus interfaces that can be used to query and manipulate storage devices." | ||
2 | LICENSE = "GPLv2+" | ||
3 | LIC_FILES_CHKSUM = "file://COPYING;md5=73d83aebe7e4b62346afde80e0e94273" | ||
4 | |||
5 | DEPENDS = "libatasmart sg3-utils polkit udev dbus-glib glib-2.0 intltool-native" | ||
6 | # optional dependencies: device-mapper parted | ||
7 | |||
8 | DEPENDS += "${@base_contains('DISTRO_FEATURES', 'systemd', 'systemd', '', d)}" | ||
9 | |||
10 | SRC_URI = "http://hal.freedesktop.org/releases/${BPN}-${PV}.tar.gz;name=${BPN} \ | ||
11 | file://optional-depends.patch" | ||
12 | |||
13 | SRC_URI += "${@base_contains('DISTRO_FEATURES', 'systemd', 'file://add-systemd-support.patch', '', d)}" | ||
14 | |||
15 | SRC_URI[udisks.md5sum] = "86c63b2b5484f2060499a052b5b6256b" | ||
16 | SRC_URI[udisks.sha256sum] = "854b89368733b9c3a577101b761ad5397ae75a05110c8698ac5b29de9a8bf8f5" | ||
17 | |||
18 | PR = "r9" | ||
19 | |||
20 | inherit autotools systemd gtk-doc | ||
21 | |||
22 | PACKAGECONFIG ??= "" | ||
23 | PACKAGECONFIG[parted] = "--enable-parted,--disable-parted,parted" | ||
24 | |||
25 | EXTRA_OECONF = "--disable-man-pages" | ||
26 | |||
27 | FILES_${PN} += "${libdir}/polkit-1/extensions/*.so \ | ||
28 | ${datadir}/dbus-1/ \ | ||
29 | ${datadir}/polkit-1 \ | ||
30 | ${base_libdir}/udev/* \ | ||
31 | " | ||
32 | |||
33 | FILES_${PN}-dbg += "${base_libdir}/udev/.debug" | ||
34 | |||
35 | RPROVIDES_${PN} += "${PN}-systemd" | ||
36 | RREPLACES_${PN} += "${PN}-systemd" | ||
37 | RCONFLICTS_${PN} += "${PN}-systemd" | ||
38 | SYSTEMD_SERVICE_${PN} = "udisks-daemon.service" | ||
39 | SYSTEMD_AUTO_ENABLE = "disable" | ||
diff --git a/meta-oe/recipes-support/upower/upower_0.9.14.bb b/meta-oe/recipes-support/upower/upower_0.9.14.bb new file mode 100644 index 000000000..0aa9ec9f2 --- /dev/null +++ b/meta-oe/recipes-support/upower/upower_0.9.14.bb | |||
@@ -0,0 +1,35 @@ | |||
1 | DESCRIPTION = "UPower is an abstraction for enumerating power devices, listening to device events and querying history and statistics. " | ||
2 | LICENSE = "GPLv2+" | ||
3 | LIC_FILES_CHKSUM = "file://COPYING;md5=0de8fbf1d97a140d1d93b9f14dcfbf08" | ||
4 | |||
5 | PR = "r2" | ||
6 | |||
7 | DEPENDS = "libusb1 udev glib-2.0 dbus-glib polkit gobject-introspection-stub" | ||
8 | |||
9 | SRC_URI = "http://upower.freedesktop.org/releases/${BPN}-${PV}.tar.xz" | ||
10 | SRC_URI[md5sum] = "18803f82102d56aac90949d1e4251645" | ||
11 | SRC_URI[sha256sum] = "81eb44c0453b264a737d32f763a31d5b1776f050a47d5be85fc5e9caf874a4c5" | ||
12 | |||
13 | inherit autotools pkgconfig gettext | ||
14 | |||
15 | PACKAGECONFIG ??= "" | ||
16 | PACKAGECONFIG[idevice] = "--with-idevice,--without-idevice,libimobiledevice libplist" | ||
17 | |||
18 | EXTRA_OECONF = " --with-backend=linux" | ||
19 | |||
20 | do_configure_prepend() { | ||
21 | sed -i -e s:-nonet:\:g ${S}/doc/man/Makefile.am | ||
22 | sed -i -e 's: doc : :g' ${S}/Makefile.am | ||
23 | } | ||
24 | |||
25 | |||
26 | RRECOMMENDS_${PN} += "pm-utils" | ||
27 | FILES_${PN} += "${datadir}/dbus-1/ \ | ||
28 | ${datadir}/polkit-1/ \ | ||
29 | ${base_libdir}/udev/* \ | ||
30 | " | ||
31 | |||
32 | FILES_${PN}-dbg += "${base_libdir}/udev/.debug" | ||
33 | |||
34 | |||
35 | |||
diff --git a/meta-oe/recipes-support/usb-modeswitch/usb-modeswitch-data_20140529.bb b/meta-oe/recipes-support/usb-modeswitch/usb-modeswitch-data_20140529.bb new file mode 100644 index 000000000..a265411c1 --- /dev/null +++ b/meta-oe/recipes-support/usb-modeswitch/usb-modeswitch-data_20140529.bb | |||
@@ -0,0 +1,17 @@ | |||
1 | SUMMARY = "Data files for usbmodeswitch" | ||
2 | LICENSE = "GPLv2" | ||
3 | LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f" | ||
4 | |||
5 | inherit allarch | ||
6 | |||
7 | SRC_URI = "http://www.draisberghof.de/usb_modeswitch/${BP}.tar.bz2" | ||
8 | SRC_URI[md5sum] = "dff94177781298aaf0b3c2a3c3dea6b2" | ||
9 | SRC_URI[sha256sum] = "53889157937109e04dafe897c098ec94f3f44f9c0c83fc6ec8417aa9a587e536" | ||
10 | |||
11 | do_install() { | ||
12 | oe_runmake install DESTDIR=${D} | ||
13 | } | ||
14 | |||
15 | RDEPENDS_${PN} = "usb-modeswitch (>= 2.2.0)" | ||
16 | FILES_${PN} += "${base_libdir}/udev/rules.d/ \ | ||
17 | ${datadir}/usb_modeswitch" | ||
diff --git a/meta-oe/recipes-support/usb-modeswitch/usb-modeswitch_2.2.0.bb b/meta-oe/recipes-support/usb-modeswitch/usb-modeswitch_2.2.0.bb new file mode 100644 index 000000000..5e95bb944 --- /dev/null +++ b/meta-oe/recipes-support/usb-modeswitch/usb-modeswitch_2.2.0.bb | |||
@@ -0,0 +1,19 @@ | |||
1 | SUMMARY = "A mode switching tool for controlling 'flip flop' (multiple device) USB gear" | ||
2 | LICENSE = "GPLv2" | ||
3 | LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f" | ||
4 | |||
5 | DEPENDS = "libusb1" | ||
6 | |||
7 | SRC_URI = "http://www.draisberghof.de/usb_modeswitch/${BP}.tar.bz2" | ||
8 | SRC_URI[md5sum] = "f323fe700edd6ea404c40934ddf32b22" | ||
9 | SRC_URI[sha256sum] = "2752103de171ed5f6c8d6a6e3e73e16c9ee3e8e394dd39c5991f7680eb908a3a" | ||
10 | |||
11 | EXTRA_OEMAKE = "TCL=${bindir}/tclsh" | ||
12 | |||
13 | FILES_${PN} = "${bindir} ${sysconfdir} ${base_libdir}/udev/usb_modeswitch ${sbindir} ${localstatedir}/lib/usb_modeswitch" | ||
14 | RDEPENDS_${PN} = "tcl" | ||
15 | RRECOMMENDS_${PN} = "usb-modeswitch-data" | ||
16 | |||
17 | do_install() { | ||
18 | oe_runmake DESTDIR=${D} install | ||
19 | } | ||
diff --git a/meta-oe/recipes-support/usbpath/usbpath/configure.patch b/meta-oe/recipes-support/usbpath/usbpath/configure.patch new file mode 100644 index 000000000..271e6a53a --- /dev/null +++ b/meta-oe/recipes-support/usbpath/usbpath/configure.patch | |||
@@ -0,0 +1,11 @@ | |||
1 | Index: usbpath/configure.ac | ||
2 | =================================================================== | ||
3 | --- usbpath.orig/configure.ac 2014-07-17 20:40:26.000000000 +0000 | ||
4 | +++ usbpath/configure.ac 2014-07-18 07:01:40.933474420 +0000 | ||
5 | @@ -1,5 +1,5 @@ | ||
6 | AC_INIT([usbpath],[0.1]) | ||
7 | -AM_INIT_AUTOMAKE(AC_PACKAGE_NAME, AC_PACKAGE_VERSION) | ||
8 | +AM_INIT_AUTOMAKE([foreign]) | ||
9 | |||
10 | AC_PROG_CC | ||
11 | AC_PROG_RANLIB | ||
diff --git a/meta-oe/recipes-support/usbpath/usbpath_svn.bb b/meta-oe/recipes-support/usbpath/usbpath_svn.bb new file mode 100644 index 000000000..134192bd6 --- /dev/null +++ b/meta-oe/recipes-support/usbpath/usbpath_svn.bb | |||
@@ -0,0 +1,19 @@ | |||
1 | SUMMARY = "Convert the physical locations of a USB device to/from its number" | ||
2 | AUTHOR = "Werner Almesberger <werner@openmoko.org>" | ||
3 | SECTION = "console/utils" | ||
4 | LICENSE = "GPLv2+" | ||
5 | LIC_FILES_CHKSUM = "file://usbpath.c;endline=20;md5=0aa8c7d2af9110c78a99fbf9a504dc3f" | ||
6 | DEPENDS = "virtual/libusb0" | ||
7 | DEPENDS_virtclass-native = "virtual/libusb0-native" | ||
8 | |||
9 | BBCLASSEXTEND = "native" | ||
10 | |||
11 | SRCREV = "3172" | ||
12 | PV = "0.0+svnr${SRCPV}" | ||
13 | |||
14 | SRC_URI = "svn://svn.openmoko.org/trunk/src/host;module=usbpath;protocol=http \ | ||
15 | file://configure.patch" | ||
16 | |||
17 | S = "${WORKDIR}/usbpath" | ||
18 | |||
19 | inherit autotools pkgconfig | ||
diff --git a/meta-oe/recipes-support/utouch/utouch-evemu_git.bb b/meta-oe/recipes-support/utouch/utouch-evemu_git.bb new file mode 100644 index 000000000..1dd5a86d5 --- /dev/null +++ b/meta-oe/recipes-support/utouch/utouch-evemu_git.bb | |||
@@ -0,0 +1,17 @@ | |||
1 | SUMMARY = "Kernel evdev device emulation" | ||
2 | DESCRIPTION = "The evemu library and tools are used to describe devices, record data, create devices and replay data from kernel evdev devices. " | ||
3 | HOMEPAGE = "http://bitmath.org/code/evemu/" | ||
4 | |||
5 | LICENSE = "GPLv3" | ||
6 | LIC_FILES_CHKSUM = "file://COPYING;md5=f27defe1e96c2e1ecd4e0c9be8967949" | ||
7 | |||
8 | inherit autotools | ||
9 | |||
10 | SRC_URI = "git://bitmath.org/git/evemu.git;protocol=http" | ||
11 | SRCREV = "9752b50e922572e4cd214ac45ed95e4ee410fe24" | ||
12 | |||
13 | PV = "1.0.5+git${SRCPV}" | ||
14 | |||
15 | S = "${WORKDIR}/git/" | ||
16 | |||
17 | PARALLEL_MAKE = "" | ||
diff --git a/meta-oe/recipes-support/utouch/utouch-frame_git.bb b/meta-oe/recipes-support/utouch/utouch-frame_git.bb new file mode 100644 index 000000000..d9b38ae20 --- /dev/null +++ b/meta-oe/recipes-support/utouch/utouch-frame_git.bb | |||
@@ -0,0 +1,17 @@ | |||
1 | SUMMARY = "Touch Frame Library" | ||
2 | DESCRIPTION = "The frame library and tools are used to handle touch frames, i.e., collections of tracked contacts. Bindings for mtdev and XI2.1." | ||
3 | HOMEPAGE = "http://bitmath.org/code/frame/" | ||
4 | |||
5 | LICENSE = "GPLv3" | ||
6 | LIC_FILES_CHKSUM = "file://COPYING;md5=2f31b266d3440dd7ee50f92cf67d8e6c" | ||
7 | |||
8 | DEPENDS += "mtdev utouch-evemu" | ||
9 | |||
10 | inherit autotools pkgconfig | ||
11 | |||
12 | SRC_URI = "git://bitmath.org/git/frame.git;protocol=http" | ||
13 | SRCREV = "95363d5a1f7394d71144bf3b408ef4e6db4350fc" | ||
14 | |||
15 | PV = "1.1.2+git${SRCPV}" | ||
16 | |||
17 | S = "${WORKDIR}/git/" | ||
diff --git a/meta-oe/recipes-support/utouch/utouch-mtview_git.bb b/meta-oe/recipes-support/utouch/utouch-mtview_git.bb new file mode 100644 index 000000000..bcf7e2384 --- /dev/null +++ b/meta-oe/recipes-support/utouch/utouch-mtview_git.bb | |||
@@ -0,0 +1,17 @@ | |||
1 | SUMMARY = "Multitouch viewer" | ||
2 | DESCRIPTION = "mtview is a small X application that shows a graphical view of your MT-enabled hardware. It uses mtdev." | ||
3 | HOMEPAGE = "http://bitmath.org/code/mtview/" | ||
4 | |||
5 | LICENSE = "GPLv3" | ||
6 | LIC_FILES_CHKSUM = "file://COPYING;md5=4c61b8950dc1aab4d2aa7c2ae6b1cfb3" | ||
7 | |||
8 | inherit autotools pkgconfig | ||
9 | |||
10 | SRC_URI = "git://bitmath.org/git/mtview.git;protocol=http" | ||
11 | SRCREV = "ad437c38dc111cf3990a03abf14efe1b5d89604b" | ||
12 | |||
13 | DEPENDS += "mtdev utouch-frame utouch-evemu libx11" | ||
14 | |||
15 | PV = "1.1.7+git${SRCPV}" | ||
16 | |||
17 | S = "${WORKDIR}/git/" | ||
diff --git a/meta-oe/recipes-support/vala-terminal/vala-terminal_git.bb b/meta-oe/recipes-support/vala-terminal/vala-terminal_git.bb new file mode 100644 index 000000000..07ff31820 --- /dev/null +++ b/meta-oe/recipes-support/vala-terminal/vala-terminal_git.bb | |||
@@ -0,0 +1,20 @@ | |||
1 | SUMMARY = "A lightweight Terminal Emulator based on libvte, written in Vala" | ||
2 | SECTION = "x11/applications" | ||
3 | DEPENDS = "vte intltool-native" | ||
4 | SRCREV = "0fefa38087581f85fa0631b40500b9428369c146" | ||
5 | LICENSE = "GPLv2" | ||
6 | LIC_FILES_CHKSUM = "file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552" | ||
7 | PV = "1.3+gitr${SRCPV}" | ||
8 | PE = "1" | ||
9 | PR = "r1" | ||
10 | |||
11 | PNBLACKLIST[vala-terminal] ?= "BROKEN: Doesn't work with B!=S, touch: cannot touch `src/.stamp': No such file or directory" | ||
12 | |||
13 | inherit autotools perlnative vala | ||
14 | |||
15 | SRC_URI = "${FREESMARTPHONE_GIT}/vala-terminal.git;branch=master" | ||
16 | S = "${WORKDIR}/git" | ||
17 | |||
18 | RDEPENDS_${PN} = "ttf-liberation-mono" | ||
19 | RREPLACES_${PN} = "openmoko-terminal2" | ||
20 | RPROVIDES_${PN} = "openmoko-terminal2" | ||
diff --git a/meta-oe/recipes-support/vim/files/disable_acl_header_check.patch b/meta-oe/recipes-support/vim/files/disable_acl_header_check.patch new file mode 100644 index 000000000..8f824e78b --- /dev/null +++ b/meta-oe/recipes-support/vim/files/disable_acl_header_check.patch | |||
@@ -0,0 +1,27 @@ | |||
1 | Upstream-Status: pending | ||
2 | |||
3 | Don't check 'sys/acl.h' if acl support disabled for vim/vim-tiny. | ||
4 | |||
5 | Signed-off-by: Wenzong Fan <wenzong.fan@windriver.com> | ||
6 | ================================================ | ||
7 | diff --git a/src/configure.in b/src/configure.in | ||
8 | index fb965e5..d734064 100644 | ||
9 | --- a/src/configure.in | ||
10 | +++ b/src/configure.in | ||
11 | @@ -2511,7 +2511,7 @@ AC_CHECK_HEADERS(stdarg.h stdint.h stdlib.h string.h \ | ||
12 | sys/systeminfo.h locale.h sys/stream.h termios.h \ | ||
13 | libc.h sys/statfs.h poll.h sys/poll.h pwd.h \ | ||
14 | utime.h sys/param.h libintl.h libgen.h \ | ||
15 | - util/debug.h util/msg18n.h frame.h sys/acl.h \ | ||
16 | + util/debug.h util/msg18n.h frame.h \ | ||
17 | sys/access.h sys/sysinfo.h wchar.h wctype.h) | ||
18 | |||
19 | dnl sys/ptem.h depends on sys/stream.h on Solaris | ||
20 | @@ -3112,6 +3112,7 @@ AC_ARG_ENABLE(acl, | ||
21 | , [enable_acl="yes"]) | ||
22 | if test "$enable_acl" = "yes"; then | ||
23 | AC_MSG_RESULT(no) | ||
24 | +AC_CHECK_HEADERS(sys/acl.h) | ||
25 | AC_CHECK_LIB(posix1e, acl_get_file, [LIBS="$LIBS -lposix1e"], | ||
26 | AC_CHECK_LIB(acl, acl_get_file, [LIBS="$LIBS -lacl" | ||
27 | AC_CHECK_LIB(attr, fgetxattr, LIBS="$LIBS -lattr",,)],,),) | ||
diff --git a/meta-oe/recipes-support/vim/files/vim-add-knob-whether-elf.h-are-checked.patch b/meta-oe/recipes-support/vim/files/vim-add-knob-whether-elf.h-are-checked.patch new file mode 100644 index 000000000..693d130e4 --- /dev/null +++ b/meta-oe/recipes-support/vim/files/vim-add-knob-whether-elf.h-are-checked.patch | |||
@@ -0,0 +1,38 @@ | |||
1 | vim: add knob whether elf.h are checked | ||
2 | |||
3 | Previously, it still was checked when there was no elf library in sysroots directory. | ||
4 | Add knob to decide whether elf.h are checked or not. | ||
5 | |||
6 | Upstream-status: Pending | ||
7 | |||
8 | Signed-off-by: Chong Lu <Chong.Lu@windriver.com> | ||
9 | --- | ||
10 | src/configure.in | 7 +++++++ | ||
11 | 1 file changed, 7 insertions(+) | ||
12 | |||
13 | diff --git a/src/configure.in b/src/configure.in | ||
14 | index d734064..f504fa6 100644 | ||
15 | --- a/src/configure.in | ||
16 | +++ b/src/configure.in | ||
17 | @@ -2483,11 +2483,18 @@ AC_TRY_COMPILE([#include <stdio.h>], [int x __attribute__((unused));], | ||
18 | AC_MSG_RESULT(no)) | ||
19 | |||
20 | dnl Checks for header files. | ||
21 | +AC_MSG_CHECKING(whether or not to look for elf.h) | ||
22 | +AC_ARG_ENABLE(elf-check, | ||
23 | + [ --enable-elf-check If elfutils, check for elf.h [default=no]], | ||
24 | + , enable_elf_check="no") | ||
25 | +AC_MSG_RESULT($enable_elf_check) | ||
26 | +if test "x$enable_elf_check" != "xno"; then | ||
27 | AC_CHECK_HEADER(elf.h, HAS_ELF=1) | ||
28 | dnl AC_CHECK_HEADER(dwarf.h, SVR4=1) | ||
29 | if test "$HAS_ELF" = 1; then | ||
30 | AC_CHECK_LIB(elf, main) | ||
31 | fi | ||
32 | +fi | ||
33 | |||
34 | AC_HEADER_DIRENT | ||
35 | |||
36 | -- | ||
37 | 1.7.9.5 | ||
38 | |||
diff --git a/meta-oe/recipes-support/vim/vim_7.4.481.bb b/meta-oe/recipes-support/vim/vim_7.4.481.bb new file mode 100644 index 000000000..b85ff63d5 --- /dev/null +++ b/meta-oe/recipes-support/vim/vim_7.4.481.bb | |||
@@ -0,0 +1,103 @@ | |||
1 | SUMMARY = "Vi IMproved - enhanced vi editor" | ||
2 | SECTION = "console/utils" | ||
3 | DEPENDS = "ncurses gettext-native" | ||
4 | # vimdiff doesn't like busybox diff | ||
5 | RSUGGESTS_${PN} = "diffutils" | ||
6 | LICENSE = "vim" | ||
7 | LIC_FILES_CHKSUM = "file://../runtime/doc/uganda.txt;md5=b779e18be6ed77facc770691c967b8f8" | ||
8 | |||
9 | SRC_URI = "hg://vim.googlecode.com/hg/;protocol=https;module=vim \ | ||
10 | file://disable_acl_header_check.patch;patchdir=.. \ | ||
11 | file://vim-add-knob-whether-elf.h-are-checked.patch;patchdir=.. \ | ||
12 | " | ||
13 | SRCREV = "v7-4-481" | ||
14 | |||
15 | S = "${WORKDIR}/${BPN}/src" | ||
16 | |||
17 | VIMDIR = "${BPN}${@d.getVar('PV',1).split('.')[0]}${@d.getVar('PV',1).split('.')[1]}" | ||
18 | |||
19 | inherit autotools update-alternatives | ||
20 | inherit autotools-brokensep | ||
21 | |||
22 | # vim configure.in contains functions which got 'dropped' by autotools.bbclass | ||
23 | do_configure () { | ||
24 | rm -f auto/* | ||
25 | touch auto/config.mk | ||
26 | aclocal | ||
27 | autoconf | ||
28 | oe_runconf | ||
29 | touch auto/configure | ||
30 | touch auto/config.mk auto/config.h | ||
31 | } | ||
32 | |||
33 | #Available PACKAGECONFIG options are gtkgui, acl, x11, tiny | ||
34 | PACKAGECONFIG ??= "" | ||
35 | PACKAGECONFIG += "${@base_contains('DISTRO_FEATURES', 'acl', 'acl', '', d)}" | ||
36 | PACKAGECONFIG += "${@base_contains('DISTRO_FEATURES', 'selinux', 'selinux', '', d)}" | ||
37 | |||
38 | PACKAGECONFIG[gtkgui] = "--enable-gtk2-test --enable-gui=gtk2,--enable-gui=no,gtk+," | ||
39 | PACKAGECONFIG[acl] = "--enable-acl,--disable-acl,acl," | ||
40 | PACKAGECONFIG[x11] = "--with-x,--without-x,xt," | ||
41 | PACKAGECONFIG[tiny] = "--with-features=tiny,--with-features=big,," | ||
42 | PACKAGECONFIG[selinux] = "--enable-selinux,--disable-selinux,libselinux," | ||
43 | PACKAGECONFIG[elfutils] = "--enable-elf-check,,elfutils," | ||
44 | |||
45 | EXTRA_OECONF = " \ | ||
46 | --disable-gpm \ | ||
47 | --disable-gtktest \ | ||
48 | --disable-xim \ | ||
49 | --disable-netbeans \ | ||
50 | --with-tlib=ncurses \ | ||
51 | ac_cv_small_wchar_t=no \ | ||
52 | vim_cv_getcwd_broken=no \ | ||
53 | vim_cv_memmove_handles_overlap=yes \ | ||
54 | vim_cv_stat_ignores_slash=no \ | ||
55 | vim_cv_terminfo=yes \ | ||
56 | vim_cv_tgent=non-zero \ | ||
57 | vim_cv_toupper_broken=no \ | ||
58 | vim_cv_tty_group=world \ | ||
59 | STRIP=/bin/true \ | ||
60 | " | ||
61 | |||
62 | do_install_append() { | ||
63 | # Work around rpm picking up csh or awk or perl as a dep | ||
64 | chmod -x ${D}${datadir}/${BPN}/${VIMDIR}/tools/vim132 | ||
65 | chmod -x ${D}${datadir}/${BPN}/${VIMDIR}/tools/mve.awk | ||
66 | chmod -x ${D}${datadir}/${BPN}/${VIMDIR}/tools/*.pl | ||
67 | |||
68 | # Install example vimrc from runtime files | ||
69 | install -m 0644 ../runtime/vimrc_example.vim ${D}/${datadir}/${BPN}/vimrc | ||
70 | } | ||
71 | |||
72 | PARALLEL_MAKEINST = "" | ||
73 | |||
74 | PACKAGES =+ "${PN}-common ${PN}-syntax ${PN}-help ${PN}-tutor ${PN}-vimrc" | ||
75 | FILES_${PN}-syntax = "${datadir}/${BPN}/${VIMDIR}/syntax" | ||
76 | FILES_${PN}-help = "${datadir}/${BPN}/${VIMDIR}/doc" | ||
77 | FILES_${PN}-tutor = "${datadir}/${BPN}/${VIMDIR}/tutor ${bindir}/${BPN}tutor" | ||
78 | FILES_${PN}-vimrc = "${datadir}/${BPN}/vimrc" | ||
79 | FILES_${PN}-data = "${datadir}/${BPN}" | ||
80 | FILES_${PN}-common = " \ | ||
81 | ${datadir}/${BPN}/${VIMDIR}/*.vim \ | ||
82 | ${datadir}/${BPN}/${VIMDIR}/autoload \ | ||
83 | ${datadir}/${BPN}/${VIMDIR}/colors \ | ||
84 | ${datadir}/${BPN}/${VIMDIR}/compiler \ | ||
85 | ${datadir}/${BPN}/${VIMDIR}/ftplugin \ | ||
86 | ${datadir}/${BPN}/${VIMDIR}/indent \ | ||
87 | ${datadir}/${BPN}/${VIMDIR}/keymap \ | ||
88 | ${datadir}/${BPN}/${VIMDIR}/lang \ | ||
89 | ${datadir}/${BPN}/${VIMDIR}/macros \ | ||
90 | ${datadir}/${BPN}/${VIMDIR}/plugin \ | ||
91 | ${datadir}/${BPN}/${VIMDIR}/print \ | ||
92 | ${datadir}/${BPN}/${VIMDIR}/spell \ | ||
93 | ${datadir}/${BPN}/${VIMDIR}/tools \ | ||
94 | " | ||
95 | |||
96 | RDEPENDS_${PN} = "ncurses-terminfo-base" | ||
97 | # Recommend that runtime data is installed along with vim | ||
98 | RRECOMMENDS_${PN} = "${PN}-syntax ${PN}-help ${PN}-tutor ${PN}-vimrc ${PN}-common" | ||
99 | |||
100 | ALTERNATIVE_${PN} = "vi" | ||
101 | ALTERNATIVE_TARGET[vi] = "${bindir}/${BPN}" | ||
102 | ALTERNATIVE_LINK_NAME[vi] = "${base_bindir}/vi" | ||
103 | ALTERNATIVE_PRIORITY[vi] = "100" | ||
diff --git a/meta-oe/recipes-support/wmiconfig/wmiconfig_svn.bb b/meta-oe/recipes-support/wmiconfig/wmiconfig_svn.bb new file mode 100644 index 000000000..a114d2f0d --- /dev/null +++ b/meta-oe/recipes-support/wmiconfig/wmiconfig_svn.bb | |||
@@ -0,0 +1,18 @@ | |||
1 | SUMMARY = "Atheros 6K Wifi configuration utility" | ||
2 | LICENSE = "GPLv2" | ||
3 | LIC_FILES_CHKSUM = "file://wmiconfig.c;endline=19;md5=4394a56bca1c5b2446c9f8e406c82911" | ||
4 | SECTION = "console/network" | ||
5 | SRCREV = "5394" | ||
6 | PV = "0.0.0+svnr${SRCPV}" | ||
7 | PR = "r2" | ||
8 | |||
9 | SRC_URI = "svn://svn.openmoko.org/trunk/src/target;module=AR6kSDK.build_sw.18;protocol=http" | ||
10 | S = "${WORKDIR}/AR6kSDK.build_sw.18/host/tools/wmiconfig" | ||
11 | |||
12 | TARGET_CC_ARCH += "${LDFLAGS}" | ||
13 | |||
14 | do_install() { | ||
15 | install -d ${D}${bindir} | ||
16 | install -m 0755 wmiconfig ${D}${bindir} | ||
17 | } | ||
18 | |||
diff --git a/meta-oe/recipes-support/xchat/xchat-2.8.8/automake-foreign.patch b/meta-oe/recipes-support/xchat/xchat-2.8.8/automake-foreign.patch new file mode 100644 index 000000000..cfa2f6c7f --- /dev/null +++ b/meta-oe/recipes-support/xchat/xchat-2.8.8/automake-foreign.patch | |||
@@ -0,0 +1,11 @@ | |||
1 | --- a/configure.in 2014-08-18 01:25:43.911597023 -0700 | ||
2 | +++ b/configure.in 2014-08-18 01:26:27.763786629 -0700 | ||
3 | @@ -8,7 +8,7 @@ | ||
4 | AC_CONFIG_HEADERS([config.h]) | ||
5 | AC_CONFIG_SRCDIR([configure.in]) | ||
6 | |||
7 | -AM_INIT_AUTOMAKE([1.9 dist-bzip2 subdir-objects no-define]) | ||
8 | +AM_INIT_AUTOMAKE([1.9 foreign dist-bzip2 subdir-objects no-define]) | ||
9 | |||
10 | AM_MAINTAINER_MODE | ||
11 | AC_PROG_CC | ||
diff --git a/meta-oe/recipes-support/xchat/xchat-2.8.8/fix-includes-for-separate-build.patch b/meta-oe/recipes-support/xchat/xchat-2.8.8/fix-includes-for-separate-build.patch new file mode 100644 index 000000000..4394e5257 --- /dev/null +++ b/meta-oe/recipes-support/xchat/xchat-2.8.8/fix-includes-for-separate-build.patch | |||
@@ -0,0 +1,78 @@ | |||
1 | diff -ur xchat-2.8.8-orig/plugins/perl/perl.c xchat-2.8.8/plugins/perl/perl.c | ||
2 | --- xchat-2.8.8-orig/plugins/perl/perl.c 2014-08-30 14:09:05.125116286 -0700 | ||
3 | +++ xchat-2.8.8/plugins/perl/perl.c 2014-08-30 14:09:45.281106532 -0700 | ||
4 | @@ -31,7 +31,7 @@ | ||
5 | #endif | ||
6 | |||
7 | #undef PACKAGE | ||
8 | -#include "../../config.h" /* for #define OLD_PERL */ | ||
9 | +#include <config.h> /* for #define OLD_PERL */ | ||
10 | #include "xchat-plugin.h" | ||
11 | |||
12 | static xchat_plugin *ph; /* plugin handle */ | ||
13 | diff -ur xchat-2.8.8-orig/src/common/network.c xchat-2.8.8/src/common/network.c | ||
14 | --- xchat-2.8.8-orig/src/common/network.c 2014-08-30 14:09:05.137116222 -0700 | ||
15 | +++ xchat-2.8.8/src/common/network.c 2014-08-30 14:13:52.729116323 -0700 | ||
16 | @@ -24,7 +24,7 @@ | ||
17 | #include <unistd.h> | ||
18 | #include <glib.h> | ||
19 | |||
20 | -#include "../../config.h" /* grab USE_IPV6 and LOOKUPD defines */ | ||
21 | +#include <config.h> /* grab USE_IPV6 and LOOKUPD defines */ | ||
22 | |||
23 | #define WANTSOCKET | ||
24 | #define WANTARPA | ||
25 | diff -ur xchat-2.8.8-orig/src/common/ssl.c xchat-2.8.8/src/common/ssl.c | ||
26 | --- xchat-2.8.8-orig/src/common/ssl.c 2014-08-30 14:09:05.137116222 -0700 | ||
27 | +++ xchat-2.8.8/src/common/ssl.c 2014-08-30 14:14:08.449133899 -0700 | ||
28 | @@ -23,7 +23,7 @@ | ||
29 | #include <string.h> /* strncpy() */ | ||
30 | #include "ssl.h" /* struct cert_info */ | ||
31 | #include "inet.h" | ||
32 | -#include "../../config.h" /* HAVE_SNPRINTF */ | ||
33 | +#include <config.h> /* HAVE_SNPRINTF */ | ||
34 | |||
35 | #ifndef HAVE_SNPRINTF | ||
36 | #define snprintf g_snprintf | ||
37 | diff -ur xchat-2.8.8-orig/src/common/util.c xchat-2.8.8/src/common/util.c | ||
38 | --- xchat-2.8.8-orig/src/common/util.c 2014-08-30 14:09:05.133116243 -0700 | ||
39 | +++ xchat-2.8.8/src/common/util.c 2014-08-30 14:10:23.633116070 -0700 | ||
40 | @@ -41,7 +41,7 @@ | ||
41 | #include "xchatc.h" | ||
42 | #include <ctype.h> | ||
43 | #include "util.h" | ||
44 | -#include "../../config.h" | ||
45 | +#include <config.h> | ||
46 | |||
47 | #define WANTSOCKET | ||
48 | #include "inet.h" | ||
49 | diff -ur xchat-2.8.8-orig/src/common/xchat.h xchat-2.8.8/src/common/xchat.h | ||
50 | --- xchat-2.8.8-orig/src/common/xchat.h 2014-08-30 14:09:05.133116243 -0700 | ||
51 | +++ xchat-2.8.8/src/common/xchat.h 2014-08-30 14:13:42.797116472 -0700 | ||
52 | @@ -1,4 +1,4 @@ | ||
53 | -#include "../../config.h" | ||
54 | +#include <config.h> | ||
55 | |||
56 | #include <glib.h> | ||
57 | #include <time.h> /* need time_t */ | ||
58 | diff -ur xchat-2.8.8-orig/src/fe-gtk/fe-gtk.h xchat-2.8.8/src/fe-gtk/fe-gtk.h | ||
59 | --- xchat-2.8.8-orig/src/fe-gtk/fe-gtk.h 2014-08-30 14:09:05.129116272 -0700 | ||
60 | +++ xchat-2.8.8/src/fe-gtk/fe-gtk.h 2014-08-30 14:10:13.309115951 -0700 | ||
61 | @@ -1,4 +1,4 @@ | ||
62 | -#include "../../config.h" | ||
63 | +#include <config.h> | ||
64 | |||
65 | #ifdef WIN32 | ||
66 | /* If you're compiling this for Windows, your release is un-official | ||
67 | diff -ur xchat-2.8.8-orig/src/fe-gtk/xtext.c xchat-2.8.8/src/fe-gtk/xtext.c | ||
68 | --- xchat-2.8.8-orig/src/fe-gtk/xtext.c 2014-08-30 14:09:05.129116272 -0700 | ||
69 | +++ xchat-2.8.8/src/fe-gtk/xtext.c 2014-08-30 14:10:00.313138254 -0700 | ||
70 | @@ -51,7 +51,7 @@ | ||
71 | #include <gtk/gtkwindow.h> | ||
72 | |||
73 | #ifdef XCHAT | ||
74 | -#include "../../config.h" /* can define USE_XLIB here */ | ||
75 | +#include <config.h> /* can define USE_XLIB here */ | ||
76 | #else | ||
77 | #define USE_XLIB | ||
78 | #endif | ||
diff --git a/meta-oe/recipes-support/xchat/xchat-2.8.8/glib-2.32.patch b/meta-oe/recipes-support/xchat/xchat-2.8.8/glib-2.32.patch new file mode 100644 index 000000000..c9bce6a9c --- /dev/null +++ b/meta-oe/recipes-support/xchat/xchat-2.8.8/glib-2.32.patch | |||
@@ -0,0 +1,44 @@ | |||
1 | --- xchat-2.8.8.orig/src/common/xchat.h 2009-08-16 11:40:16.000000000 +0200 | ||
2 | +++ xchat-2.8.8/src/common/xchat.h 2012-05-06 08:30:16.125755497 +0200 | ||
3 | @@ -1,10 +1,6 @@ | ||
4 | #include "../../config.h" | ||
5 | |||
6 | -#include <glib/gslist.h> | ||
7 | -#include <glib/glist.h> | ||
8 | -#include <glib/gutils.h> | ||
9 | -#include <glib/giochannel.h> | ||
10 | -#include <glib/gstrfuncs.h> | ||
11 | +#include <glib.h> | ||
12 | #include <time.h> /* need time_t */ | ||
13 | |||
14 | #ifndef XCHAT_H | ||
15 | --- xchat-2.8.8.orig/src/common/servlist.c 2010-05-16 09:24:26.000000000 +0200 | ||
16 | +++ xchat-2.8.8/src/common/servlist.c 2012-05-06 08:30:45.681758019 +0200 | ||
17 | @@ -24,7 +24,6 @@ | ||
18 | #include <unistd.h> | ||
19 | |||
20 | #include "xchat.h" | ||
21 | -#include <glib/ghash.h> | ||
22 | |||
23 | #include "cfgfiles.h" | ||
24 | #include "fe.h" | ||
25 | --- xchat-2.8.8.orig/src/common/util.c 2009-08-16 11:40:16.000000000 +0200 | ||
26 | +++ xchat-2.8.8/src/common/util.c 2012-05-06 08:31:10.389760122 +0200 | ||
27 | @@ -39,7 +39,6 @@ | ||
28 | #include <errno.h> | ||
29 | #include "xchat.h" | ||
30 | #include "xchatc.h" | ||
31 | -#include <glib/gmarkup.h> | ||
32 | #include <ctype.h> | ||
33 | #include "util.h" | ||
34 | #include "../../config.h" | ||
35 | --- xchat-2.8.8.orig/src/common/text.c 2010-05-30 04:14:41.000000000 +0200 | ||
36 | +++ xchat-2.8.8/src/common/text.c 2012-05-06 08:31:22.300761137 +0200 | ||
37 | @@ -28,7 +28,6 @@ | ||
38 | #include <sys/mman.h> | ||
39 | |||
40 | #include "xchat.h" | ||
41 | -#include <glib/ghash.h> | ||
42 | #include "cfgfiles.h" | ||
43 | #include "chanopt.h" | ||
44 | #include "plugin.h" | ||
diff --git a/meta-oe/recipes-support/xchat/xchat_2.8.8.bb b/meta-oe/recipes-support/xchat/xchat_2.8.8.bb new file mode 100644 index 000000000..6da11cd94 --- /dev/null +++ b/meta-oe/recipes-support/xchat/xchat_2.8.8.bb | |||
@@ -0,0 +1,37 @@ | |||
1 | SUMMARY = "Full-featured IRC chat client with scripting support" | ||
2 | LICENSE = "GPLv2+" | ||
3 | HOMEPAGE = "http://www.xchat.org" | ||
4 | SECTION = "x11/network" | ||
5 | |||
6 | DEPENDS = "libgcrypt zlib gtk+ libsexy" | ||
7 | DEPENDS += "gdk-pixbuf-native" | ||
8 | |||
9 | LIC_FILES_CHKSUM = "file://COPYING;md5=c93c0550bd3173f4504b2cbd8991e50b" | ||
10 | |||
11 | PR = "r2" | ||
12 | |||
13 | SRC_URI = "http://xchat.org/files/source/2.8/xchat-${PV}.tar.bz2 \ | ||
14 | file://glib-2.32.patch \ | ||
15 | file://automake-foreign.patch \ | ||
16 | file://fix-includes-for-separate-build.patch \ | ||
17 | " | ||
18 | |||
19 | inherit autotools gettext pkgconfig | ||
20 | |||
21 | PACKAGECONFIG ??= "dbus" | ||
22 | PACKAGECONFIG[dbus] = "--enable-dbus,--disable-dbus,dbus-glib" | ||
23 | PACKAGECONFIG[openssl] = "--enable-openssl,--disable-openssl,openssl" | ||
24 | PACKAGECONFIG[python] = "--enable-python,--disable-python,python" | ||
25 | |||
26 | EXTRA_OECONF = "\ | ||
27 | --enable-maintainer-mode \ | ||
28 | --disable-perl \ | ||
29 | --disable-tcl \ | ||
30 | " | ||
31 | |||
32 | RDEPENDS_${PN} += "dbus" | ||
33 | FILES_${PN} += "${datadir}/dbus-1" | ||
34 | FILES_${PN}-dbg += "${libdir}/xchat/plugins/.debug" | ||
35 | |||
36 | SRC_URI[md5sum] = "6775c44f38e84d06c06c336b32c4a452" | ||
37 | SRC_URI[sha256sum] = "0d6d69437b5e1e45f3e66270fe369344943de8a1190e498fafa5296315a27db0" | ||
diff --git a/meta-oe/recipes-support/xdelta/files/compilation-fix.patch b/meta-oe/recipes-support/xdelta/files/compilation-fix.patch new file mode 100644 index 000000000..377a0436d --- /dev/null +++ b/meta-oe/recipes-support/xdelta/files/compilation-fix.patch | |||
@@ -0,0 +1,29 @@ | |||
1 | Upstream-Status: Pending | ||
2 | http://code.google.com/p/xdelta/issues/detail?id=174 | ||
3 | |||
4 | Compilation fix: | ||
5 | <code> | ||
6 | | testing/regtest.cc:763:3: error: no matching function for call to 'max(xoff_t, size_t&)' | ||
7 | </code> | ||
8 | |||
9 | Signed-off-by: Matthieu Crapet <Matthieu.Crapet@ingenico.com> | ||
10 | --- | ||
11 | testing/regtest.cc | 2 +- | ||
12 | 1 file changed, 1 insertion(+), 1 deletion(-) | ||
13 | |||
14 | diff --git a/testing/regtest.cc b/testing/regtest.cc | ||
15 | index 12b712e..b63a1f9 100644 | ||
16 | --- a/testing/regtest.cc | ||
17 | +++ b/testing/regtest.cc | ||
18 | @@ -12,7 +12,7 @@ public: | ||
19 | Options() : encode_srcwin_maxsz(1<<20), | ||
20 | block_size(Constants::BLOCK_SIZE), | ||
21 | size_known(false) { } | ||
22 | - size_t encode_srcwin_maxsz; | ||
23 | + xoff_t encode_srcwin_maxsz; | ||
24 | size_t block_size; | ||
25 | bool size_known; | ||
26 | }; | ||
27 | -- | ||
28 | 1.8.5.4 | ||
29 | |||
diff --git a/meta-oe/recipes-support/xdelta/files/with-liblzma-configure-option.patch b/meta-oe/recipes-support/xdelta/files/with-liblzma-configure-option.patch new file mode 100644 index 000000000..4b99290d2 --- /dev/null +++ b/meta-oe/recipes-support/xdelta/files/with-liblzma-configure-option.patch | |||
@@ -0,0 +1,55 @@ | |||
1 | Upstream-Status: Pending, Submitted | ||
2 | http://code.google.com/p/xdelta/issues/detail?id=178 | ||
3 | |||
4 | xdelta3: add --with-liblzma configure option | ||
5 | |||
6 | As xdelta3 can be compiled with or without liblzma external library, make it configurable. | ||
7 | Default is autodetect (unchanged behavior). | ||
8 | |||
9 | Signed-off-by: Matthieu Crapet <mcrapet@gmail.com> | ||
10 | --- | ||
11 | configure.ac | 21 +++++++++++++++++++-- | ||
12 | 1 file changed, 19 insertions(+), 2 deletions(-) | ||
13 | |||
14 | diff --git a/configure.ac b/configure.ac | ||
15 | index 3b430d7..8c53ba8 100644 | ||
16 | --- a/configure.ac | ||
17 | +++ b/configure.ac | ||
18 | @@ -8,8 +8,6 @@ AM_INIT_AUTOMAKE([1.9 no-define foreign tar-ustar]) | ||
19 | AX_CHECK_ALIGNED_ACCESS_REQUIRED | ||
20 | AC_PROG_CC | ||
21 | AC_PROG_CXX | ||
22 | -AC_CHECK_HEADERS([lzma.h]) | ||
23 | -AC_CHECK_LIB(lzma, lzma_easy_buffer_encode) | ||
24 | AC_CHECK_SIZEOF(size_t) | ||
25 | #AM_PATH_PYTHON(,, [:]) | ||
26 | #AM_CONDITIONAL([HAVE_PYTHON], [test "$PYTHON" != :]) | ||
27 | @@ -22,6 +20,25 @@ AC_ARG_ENABLE(debug-symbols, | ||
28 | AS_HELP_STRING(--enable-debug-symbols,[Build with debug symbols (default is NO)]),,enableval=no) | ||
29 | AM_CONDITIONAL([DEBUG_SYMBOLS], [test ${enableval} = "yes"]) | ||
30 | |||
31 | +AC_ARG_WITH( | ||
32 | + [liblzma], | ||
33 | + [AC_HELP_STRING( | ||
34 | + [--with-liblzma], | ||
35 | + [build with liblzma support @<:@default=autodetect@:>@])], | ||
36 | + [USE_LIBLZMA=$withval], | ||
37 | + [USE_LIBLZMA=auto]) | ||
38 | + | ||
39 | +if test "x$USE_LIBLZMA" != xno ; then | ||
40 | + AC_CHECK_HEADERS([lzma.h],,[ | ||
41 | + if test "x$with_liblzma" = xyes ; then | ||
42 | + AC_MSG_FAILURE([liblzma includes was not found]) | ||
43 | + fi]) | ||
44 | + AC_CHECK_LIB([lzma], [lzma_easy_buffer_encode],,[ | ||
45 | + if test "x$with_liblzma" = xyes ; then | ||
46 | + AC_MSG_FAILURE([liblzma library was not found]) | ||
47 | + fi]) | ||
48 | +fi | ||
49 | + | ||
50 | AC_CONFIG_HEADERS([config.h]) | ||
51 | AC_CONFIG_FILES([Makefile]) | ||
52 | AC_OUTPUT | ||
53 | -- | ||
54 | 1.8.5.4 | ||
55 | |||
diff --git a/meta-oe/recipes-support/xdelta/xdelta3_3.0.8.bb b/meta-oe/recipes-support/xdelta/xdelta3_3.0.8.bb new file mode 100644 index 000000000..baa92e4bb --- /dev/null +++ b/meta-oe/recipes-support/xdelta/xdelta3_3.0.8.bb | |||
@@ -0,0 +1,21 @@ | |||
1 | SUMMARY = "Xdelta is a tool for differential compression" | ||
2 | DESCRIPTION = "Open-source binary diff, differential compression tools, \ | ||
3 | VCDIFF (RFC 3284) delta compression." | ||
4 | HOMEPAGE = "http://xdelta.org/" | ||
5 | SECTION = "console/utils" | ||
6 | |||
7 | LICENSE = "GPLv2" | ||
8 | LIC_FILES_CHKSUM = "file://COPYING;md5=393a5ca445f6965873eca0259a17f833" | ||
9 | |||
10 | SRC_URI = "http://xdelta.googlecode.com/files/${BPN}-${PV}.tar.xz \ | ||
11 | file://compilation-fix.patch \ | ||
12 | file://with-liblzma-configure-option.patch \ | ||
13 | " | ||
14 | SRC_URI[md5sum] = "c3ae3286ce4193de8e03d5bcaccf3bc3" | ||
15 | SRC_URI[sha256sum] = "3a86f29c95664fb44b8a40ff22d9bcc3e87aa8c01f0ff75931a7fa78ed3d2e55" | ||
16 | |||
17 | inherit autotools | ||
18 | |||
19 | # Optional secondary compression | ||
20 | PACKAGECONFIG ??= "" | ||
21 | PACKAGECONFIG[lzma] = "--with-liblzma,--without-liblzma,xz" | ||
diff --git a/meta-oe/recipes-support/xmlstarlet/files/0001-usage2c.awk-fix-wrong-basename-regexp.patch b/meta-oe/recipes-support/xmlstarlet/files/0001-usage2c.awk-fix-wrong-basename-regexp.patch new file mode 100644 index 000000000..24b187f2a --- /dev/null +++ b/meta-oe/recipes-support/xmlstarlet/files/0001-usage2c.awk-fix-wrong-basename-regexp.patch | |||
@@ -0,0 +1,37 @@ | |||
1 | Upstream-Status: Submitted [sourceforge] | ||
2 | |||
3 | From 75d789d0ea9716c9a9ae72f42a2fcfa907cf4a12 Mon Sep 17 00:00:00 2001 | ||
4 | From: Matthieu Crapet <mcrapet@gmail.com> | ||
5 | Date: Mon, 30 Jun 2014 13:52:25 +0200 | ||
6 | Subject: [PATCH] usage2c.awk: fix wrong basename regexp | ||
7 | |||
8 | Previously not matching with filename argument with absolute path. | ||
9 | |||
10 | Signed-off-by: Matthieu Crapet <mcrapet@gmail.com> | ||
11 | --- | ||
12 | usage2c.awk | 4 ++-- | ||
13 | 1 file changed, 2 insertions(+), 2 deletions(-) | ||
14 | |||
15 | diff --git a/usage2c.awk b/usage2c.awk | ||
16 | index 94b897a..9aea212 100755 | ||
17 | --- a/usage2c.awk | ||
18 | +++ b/usage2c.awk | ||
19 | @@ -6,13 +6,13 @@ BEGIN { | ||
20 | } | ||
21 | |||
22 | # text in src/foo-bar.txt results in | ||
23 | -# static const char foo_text[] = { | ||
24 | +# static const char foo_bar[] = { | ||
25 | # 't', 'h', 'e', ' ', 't', 'e', 'x', 't', ... | ||
26 | # } | ||
27 | length(command_name) == 0 { | ||
28 | command_name = FILENAME; | ||
29 | sub(/\.txt$/, "", command_name); | ||
30 | - sub(/^([^\/]+\/)*/, "", command_name); | ||
31 | + sub(/^.*\//, "", command_name); | ||
32 | gsub(/-/, "_", command_name); | ||
33 | printf("static const char %s[] = {\n", command_name); | ||
34 | progs = 0; | ||
35 | -- | ||
36 | 2.0.0 | ||
37 | |||
diff --git a/meta-oe/recipes-support/xmlstarlet/files/configure.ac.patch b/meta-oe/recipes-support/xmlstarlet/files/configure.ac.patch new file mode 100644 index 000000000..e55f4f3b1 --- /dev/null +++ b/meta-oe/recipes-support/xmlstarlet/files/configure.ac.patch | |||
@@ -0,0 +1,28 @@ | |||
1 | configure.ac: don't use xml-config if --with-libxml-prefix is specified to configure | ||
2 | |||
3 | Same behavior for xslt-config. | ||
4 | |||
5 | diff --git a/configure.ac b/configure.ac | ||
6 | index ed04e0c..39d5d4c 100644 | ||
7 | --- a/configure.ac | ||
8 | +++ b/configure.ac | ||
9 | @@ -40,7 +40,8 @@ AC_ARG_PROGRAM dnl Transforming Program Names When Installing | ||
10 | AC_PROG_SED | ||
11 | AC_PROG_AWK | ||
12 | |||
13 | -XSTAR_LIB_CHECK([LIBXML], [xml2-config]) | ||
14 | +AS_IF([test "x$LIBXML_PREFIX" = x], | ||
15 | + [XSTAR_LIB_CHECK([LIBXML], [xml2-config])]) | ||
16 | |||
17 | AS_IF([test "x$LIBXML_SRCDIR" != x], | ||
18 | [LIBXML_INCDIR="$LIBXML_SRCDIR/include"]) | ||
19 | @@ -56,7 +57,8 @@ AS_IF([test "x$STATIC_LIBS" != xno], | ||
20 | [LIBXML_LDFLAGS="-L$LIBXML_LIBDIR"] | ||
21 | |||
22 | |||
23 | -XSTAR_LIB_CHECK([LIBXSLT], [xslt-config]) | ||
24 | +AS_IF([test "x$LIBXSLT_PREFIX" = x], | ||
25 | + [XSTAR_LIB_CHECK([LIBXSLT], [xslt-config])]) | ||
26 | |||
27 | AS_IF([test "x$LIBXSLT_SRCDIR" != x], | ||
28 | [XSLTPROC_PATH="$LIBXSLT_SRCDIR/xsltproc:$PATH" | ||
diff --git a/meta-oe/recipes-support/xmlstarlet/xmlstarlet_1.5.0.bb b/meta-oe/recipes-support/xmlstarlet/xmlstarlet_1.5.0.bb new file mode 100644 index 000000000..d9a03c6d4 --- /dev/null +++ b/meta-oe/recipes-support/xmlstarlet/xmlstarlet_1.5.0.bb | |||
@@ -0,0 +1,26 @@ | |||
1 | SUMMARY = "Command line XML toolkit" | ||
2 | DESCRIPTION = "XMLStarlet is a command line XML toolkit which can be used to \ | ||
3 | transform, query, validate, and edit XML documents and files \ | ||
4 | using simple set of shell commands in similar way it is done \ | ||
5 | for plain text files using grep/sed/awk/tr/diff/patch." | ||
6 | HOMEPAGE = "http://xmlstar.sourceforge.net/" | ||
7 | BUGTRACKER = "http://xmlstar.sourceforge.net/bugs/" | ||
8 | |||
9 | SECTION = "console/utils" | ||
10 | LICENSE = "MIT" | ||
11 | LIC_FILES_CHKSUM = "file://COPYING;md5=c04760d09e8b0fe73283d0cc9e8bea53" | ||
12 | |||
13 | DEPENDS = "libxml2 libxslt" | ||
14 | |||
15 | SRC_URI = "${SOURCEFORGE_MIRROR}/xmlstar/${BP}.tar.gz \ | ||
16 | file://configure.ac.patch \ | ||
17 | file://0001-usage2c.awk-fix-wrong-basename-regexp.patch" | ||
18 | SRC_URI[md5sum] = "0c6db295d0cf9ff0d439edb755b7e8f6" | ||
19 | SRC_URI[sha256sum] = "47b4ed042ea2909257f2a386001af49fceb303f84da7214779ccf99fffc6bbba" | ||
20 | |||
21 | inherit autotools | ||
22 | |||
23 | # doc build: requires (native) xstlproc, fop, pdf2ps | ||
24 | EXTRA_OECONF="--disable-build-docs \ | ||
25 | --with-libxml-prefix=${STAGING_LIBDIR}/.. \ | ||
26 | --with-libxslt-prefix=${STAGING_LIBDIR}/.." | ||
diff --git a/meta-oe/recipes-support/zile/files/remove-help2man.patch b/meta-oe/recipes-support/zile/files/remove-help2man.patch new file mode 100644 index 000000000..c1a63f479 --- /dev/null +++ b/meta-oe/recipes-support/zile/files/remove-help2man.patch | |||
@@ -0,0 +1,28 @@ | |||
1 | Upstream-Status: Inappropriate [configuration] | ||
2 | |||
3 | diff --git a/Makefile.am b/Makefile.am | ||
4 | index 54bc59f..46c2650 100644 | ||
5 | --- a/Makefile.am | ||
6 | +++ b/Makefile.am | ||
7 | @@ -36,7 +36,6 @@ PERL_BUILDTIME = \ | ||
8 | |||
9 | EXTRA_DIST = \ | ||
10 | FAQ \ | ||
11 | - build-aux/zile-help2man-wrapper \ | ||
12 | $(PERL_BUILDTIME) | ||
13 | |||
14 | doc_DATA = AUTHORS FAQ NEWS | ||
15 | diff --git a/doc/Makefile.am b/doc/Makefile.am | ||
16 | index 639f59c..8c5123e 100644 | ||
17 | --- a/doc/Makefile.am | ||
18 | +++ b/doc/Makefile.am | ||
19 | @@ -33,9 +33,3 @@ doc/zile.1: $(srcdir)/doc/zile.1.in doc/Makefile.am config.status | ||
20 | $(edit) $(abs_srcdir)/doc/zile.1.in >$@.tmp | ||
21 | mv $@.tmp $@ | ||
22 | |||
23 | -$(srcdir)/doc/zile.1.in: doc/man-extras build-aux/zile-help2man-wrapper configure.ac $(builddir)/src/zile$(EXEEXT) | ||
24 | - @test -d doc || mkdir doc | ||
25 | -## Exit gracefully if zile.1.in is not writeable, such as during distcheck! | ||
26 | - $(AM_V_GEN)if ( touch $@.w && rm -f $@.w; ) >/dev/null 2>&1; then \ | ||
27 | - $(srcdir)/build-aux/missing --run $(HELP2MAN) --output=$@ --no-info --name="Zile Is Lossy Emacs" --include $(srcdir)/doc/man-extras $(srcdir)/build-aux/zile-help2man-wrapper; \ | ||
28 | - fi | ||
diff --git a/meta-oe/recipes-support/zile/zile_2.4.9.bb b/meta-oe/recipes-support/zile/zile_2.4.9.bb new file mode 100644 index 000000000..2551a80e9 --- /dev/null +++ b/meta-oe/recipes-support/zile/zile_2.4.9.bb | |||
@@ -0,0 +1,15 @@ | |||
1 | SUMMARY = "Zile is lossy Emacs" | ||
2 | HOMEPAGE = "http://zile.sourceforge.net/" | ||
3 | DEPENDS = "ncurses bdwgc" | ||
4 | |||
5 | LICENSE = "GPLv3" | ||
6 | LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504" | ||
7 | |||
8 | SRC_URI = "http://ftp.gnu.org/gnu/zile/${BP}.tar.gz \ | ||
9 | file://remove-help2man.patch \ | ||
10 | " | ||
11 | |||
12 | SRC_URI[md5sum] = "84a0af58fb4fbe3af16bde2ef2b8f5ae" | ||
13 | SRC_URI[sha256sum] = "c71959c7aca02ac66be526ecccbc7954fb0ea7591ed3c13311a95e8f040b0049" | ||
14 | |||
15 | inherit autotools | ||