summaryrefslogtreecommitdiffstats
path: root/meta-oe/recipes-support
diff options
context:
space:
mode:
authorTudor Florea <tudor.florea@enea.com>2015-10-08 22:51:41 +0200
committerTudor Florea <tudor.florea@enea.com>2015-10-08 22:51:41 +0200
commit1219bf8a90a7bf8cd3a5363551ef635d51e8fc8e (patch)
treea21a5fc103bb3bd65ecd85ed22be5228fc54e447 /meta-oe/recipes-support
downloadmeta-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')
-rw-r--r--meta-oe/recipes-support/apcupsd/apcupsd_3.14.10.bb42
-rw-r--r--meta-oe/recipes-support/asio/asio.inc15
-rw-r--r--meta-oe/recipes-support/asio/asio_1.10.1.bb6
-rw-r--r--meta-oe/recipes-support/bash-completion/bash-completion_2.1.bb39
-rw-r--r--meta-oe/recipes-support/ccid/ccid/no-dep-on-libfl.patch18
-rw-r--r--meta-oe/recipes-support/ccid/ccid_1.4.8.bb18
-rw-r--r--meta-oe/recipes-support/ckermit/ckermit_302.bb58
-rw-r--r--meta-oe/recipes-support/cpufrequtils/cpufrequtils/0001-dont-unset-cflags.patch30
-rw-r--r--meta-oe/recipes-support/cpufrequtils/cpufrequtils_008.bb34
-rw-r--r--meta-oe/recipes-support/cryptsetup/cryptsetup_1.6.2.bb33
-rw-r--r--meta-oe/recipes-support/daemonize/daemonize_git.bb14
-rw-r--r--meta-oe/recipes-support/debianutils/debianutils_4.4.bb35
-rw-r--r--meta-oe/recipes-support/devicekit/devicekit-power_014.bb30
-rw-r--r--meta-oe/recipes-support/devmem2/devmem2.bb22
-rw-r--r--meta-oe/recipes-support/devmem2/devmem2/devmem2-fixups-2.patch91
-rw-r--r--meta-oe/recipes-support/dfu-util/dfu-util-native_0.7.bb19
-rw-r--r--meta-oe/recipes-support/dfu-util/dfu-util/0001-configure.ac-Don-t-check-for-usbpath.patch38
-rw-r--r--meta-oe/recipes-support/dfu-util/dfu-util/0002-Revert-Makefile.am-Drop-static-dfu-util.patch67
-rw-r--r--meta-oe/recipes-support/dfu-util/dfu-util_0.7.bb19
-rw-r--r--meta-oe/recipes-support/digitemp/digitemp/makefile-fix.patch20
-rw-r--r--meta-oe/recipes-support/digitemp/digitemp_3.6.0.bb27
-rw-r--r--meta-oe/recipes-support/eject/eject/eject-2.1.1-verbose.patch19
-rw-r--r--meta-oe/recipes-support/eject/eject/eject-2.1.5-error-return.patch12
-rw-r--r--meta-oe/recipes-support/eject/eject/eject-2.1.5-spaces.patch66
-rw-r--r--meta-oe/recipes-support/eject/eject/eject-timeout.patch17
-rw-r--r--meta-oe/recipes-support/eject/eject_2.1.5.bb35
-rw-r--r--meta-oe/recipes-support/emacs/emacs-23.4/nostdlib-unwind.patch16
-rw-r--r--meta-oe/recipes-support/emacs/emacs-23.4/use-qemu.patch104
-rw-r--r--meta-oe/recipes-support/emacs/emacs.inc149
-rw-r--r--meta-oe/recipes-support/emacs/emacs_23.4.bb12
-rw-r--r--meta-oe/recipes-support/enca/enca/configure-hack.patch12
-rw-r--r--meta-oe/recipes-support/enca/enca/configure-remove-dumbness.patch26
-rw-r--r--meta-oe/recipes-support/enca/enca/dont-run-tests.patch13
-rw-r--r--meta-oe/recipes-support/enca/enca/libenca-003-iconv.patch28
-rw-r--r--meta-oe/recipes-support/enca/enca/makefile-remove-tools.patch13
-rw-r--r--meta-oe/recipes-support/enca/enca_1.9.bb37
-rw-r--r--meta-oe/recipes-support/espeak/espeak-data_1.37.bb27
-rw-r--r--meta-oe/recipes-support/espeak/espeak.inc10
-rw-r--r--meta-oe/recipes-support/espeak/espeak_1.37.bb43
-rw-r--r--meta-oe/recipes-support/eventlog/eventlog_0.2.13.bb20
-rw-r--r--meta-oe/recipes-support/evtest/evtest_git.bb17
-rw-r--r--meta-oe/recipes-support/farsight/farsight2_0.0.22.bb31
-rw-r--r--meta-oe/recipes-support/farsight/libnice_0.0.13.bb41
-rw-r--r--meta-oe/recipes-support/fbset/fbset-2.1/fbset-2.1-fix-makefile-dep.patch31
-rw-r--r--meta-oe/recipes-support/fbset/fbset-2.1/makefile.patch11
-rw-r--r--meta-oe/recipes-support/fbset/fbset-modes.bb21
-rw-r--r--meta-oe/recipes-support/fbset/fbset-modes/fb.modes3
-rw-r--r--meta-oe/recipes-support/fbset/fbset-modes/om-gta01/fb.modes29
-rw-r--r--meta-oe/recipes-support/fbset/fbset-modes/omap3-pandora/fb.modes6
-rw-r--r--meta-oe/recipes-support/fbset/fbset-modes/qemuarm/fb.modes17
-rw-r--r--meta-oe/recipes-support/fbset/fbset-modes/qemumips/fb.modes17
-rw-r--r--meta-oe/recipes-support/fbset/fbset_2.1.bb36
-rw-r--r--meta-oe/recipes-support/fbtest/fb-test_git.bb19
-rw-r--r--meta-oe/recipes-support/fftw/fftw.inc25
-rw-r--r--meta-oe/recipes-support/fftw/fftw_3.3.4.bb6
-rw-r--r--meta-oe/recipes-support/fftw/fftwf_3.3.4.bb11
-rw-r--r--meta-oe/recipes-support/fftw/fftwl_3.3.4.bb9
-rw-r--r--meta-oe/recipes-support/flite/flite-alsa-1.3/flite-1.3-alsa_support-1.2.diff6615
-rw-r--r--meta-oe/recipes-support/flite/flite-alsa-1.3/flite-alsa-1.3-configure-with-audio.patch12
-rw-r--r--meta-oe/recipes-support/flite/flite-alsa_1.3.bb12
-rw-r--r--meta-oe/recipes-support/flite/flite.inc33
-rw-r--r--meta-oe/recipes-support/fltk/fltk-1.1.10/disable_test.patch13
-rw-r--r--meta-oe/recipes-support/fltk/fltk-1.1.10/dso-fix.patch13
-rw-r--r--meta-oe/recipes-support/fltk/fltk-1.1.10/libpng15.patch61
-rw-r--r--meta-oe/recipes-support/fltk/fltk_1.1.10.bb40
-rw-r--r--meta-oe/recipes-support/gd/gd-2.1.0/fix-the-subdir-objects-error.patch39
-rw-r--r--meta-oe/recipes-support/gd/gd_2.1.0.bb41
-rw-r--r--meta-oe/recipes-support/glog/glog.inc11
-rw-r--r--meta-oe/recipes-support/glog/glog_0.3.3.bb6
-rw-r--r--meta-oe/recipes-support/gperftools/gperftools_2.1.bb12
-rw-r--r--meta-oe/recipes-support/gpm/gpm-1.99.7/eglibc-2.17.patch12
-rw-r--r--meta-oe/recipes-support/gpm/gpm-1.99.7/init32
-rw-r--r--meta-oe/recipes-support/gpm/gpm-1.99.7/no-docs.patch18
-rw-r--r--meta-oe/recipes-support/gpm/gpm-1.99.7/processcreds.patch12
-rw-r--r--meta-oe/recipes-support/gpm/gpm_1.99.7.bb52
-rw-r--r--meta-oe/recipes-support/gsl/gsl.inc9
-rw-r--r--meta-oe/recipes-support/gsl/gsl_1.15.bb7
-rw-r--r--meta-oe/recipes-support/gsoap/gsoap_2.8.12.bb42
-rw-r--r--meta-oe/recipes-support/hddtemp/hddtemp/hddtemp-0.3-beta15-autodetect-717479.patch90
-rw-r--r--meta-oe/recipes-support/hddtemp/hddtemp/hddtemp-no-nls-support.patch66
-rw-r--r--meta-oe/recipes-support/hddtemp/hddtemp/hddtemp.db531
-rw-r--r--meta-oe/recipes-support/hddtemp/hddtemp/hddtemp_0.3-beta15-52.diff2256
-rw-r--r--meta-oe/recipes-support/hddtemp/hddtemp/init100
-rw-r--r--meta-oe/recipes-support/hddtemp/hddtemp_0.3-beta15.bb32
-rw-r--r--meta-oe/recipes-support/htop/htop/remove-proc-test.patch13
-rw-r--r--meta-oe/recipes-support/htop/htop_1.0.3.bb22
-rw-r--r--meta-oe/recipes-support/iksemel/iksemel-1.4/r25.diff32
-rw-r--r--meta-oe/recipes-support/iksemel/iksemel_1.4.bb16
-rw-r--r--meta-oe/recipes-support/imagemagick/imagemagick_6.8.9.bb41
-rw-r--r--meta-oe/recipes-support/inih/libinih_git.bb19
-rw-r--r--meta-oe/recipes-support/iso-codes/iso-codes_1.4.bb17
-rw-r--r--meta-oe/recipes-support/joe/joe_3.1.bb15
-rw-r--r--meta-oe/recipes-support/lcms/lcms_2.6.bb15
-rw-r--r--meta-oe/recipes-support/libatasmart/libatasmart_0.19.bb19
-rw-r--r--meta-oe/recipes-support/libcanberra/files/0001-build-gtk-and-gtk3-version-for-canberra_gtk_play.patch92
-rw-r--r--meta-oe/recipes-support/libcanberra/libcanberra_0.29.bb62
-rw-r--r--meta-oe/recipes-support/libdbi/libdbi-drivers.inc51
-rw-r--r--meta-oe/recipes-support/libdbi/libdbi-drivers_0.8.3-1.bb5
-rw-r--r--meta-oe/recipes-support/libdbi/libdbi.inc17
-rw-r--r--meta-oe/recipes-support/libdbi/libdbi_0.8.4.bb6
-rw-r--r--meta-oe/recipes-support/libee/libee.inc39
-rwxr-xr-xmeta-oe/recipes-support/libee/libee/ezapi1.sh14
-rw-r--r--meta-oe/recipes-support/libee/libee/libee-parallel-make.patch20
-rwxr-xr-xmeta-oe/recipes-support/libee/libee/run-ptest3
-rw-r--r--meta-oe/recipes-support/libee/libee_0.4.1.bb4
-rw-r--r--meta-oe/recipes-support/libeigen/libeigen/eigen-disable-tests.patch75
-rw-r--r--meta-oe/recipes-support/libeigen/libeigen_3.2.0.bb22
-rw-r--r--meta-oe/recipes-support/libestr/libestr_0.1.6.bb11
-rw-r--r--meta-oe/recipes-support/libetpan/libetpan-0.57/libetpan-autoreconf.patch12
-rw-r--r--meta-oe/recipes-support/libetpan/libetpan-0.57/libetpan-ldflags.patch11
-rw-r--r--meta-oe/recipes-support/libetpan/libetpan-0.57/sepbuild.patch16
-rw-r--r--meta-oe/recipes-support/libetpan/libetpan_0.57.bb27
-rw-r--r--meta-oe/recipes-support/libftdi/libftdi-0.19/libtool-m4.patch7377
-rw-r--r--meta-oe/recipes-support/libftdi/libftdi_0.19.bb31
-rw-r--r--meta-oe/recipes-support/liblinebreak/liblinebreak_1.2.bb11
-rw-r--r--meta-oe/recipes-support/libmcrypt/libmcrypt_2.5.8.bb12
-rw-r--r--meta-oe/recipes-support/libmicrohttpd/libmicrohttpd_0.9.34.bb27
-rw-r--r--meta-oe/recipes-support/liboauth/liboauth_1.0.3.bb16
-rw-r--r--meta-oe/recipes-support/libol/libol/configure.patch14
-rw-r--r--meta-oe/recipes-support/libol/libol_0.3.18.bb19
-rw-r--r--meta-oe/recipes-support/libraw1394/libraw1394_2.1.0.bb11
-rw-r--r--meta-oe/recipes-support/libsdl-ttf/libsdl-ttf-2.0.10/configure.patch52
-rw-r--r--meta-oe/recipes-support/libsdl-ttf/libsdl-ttf-2.0.10/use.pkg-config.for.freetype2.patch57
-rw-r--r--meta-oe/recipes-support/libsdl-ttf/libsdl-ttf_2.0.10.bb33
-rw-r--r--meta-oe/recipes-support/libsmi/libsmi_0.4.8.bb16
-rw-r--r--meta-oe/recipes-support/libsoc/libsoc_0.6.bb17
-rw-r--r--meta-oe/recipes-support/libssh/libssh_0.6.3.bb29
-rw-r--r--meta-oe/recipes-support/libssh2/libssh2_1.4.3.bb18
-rw-r--r--meta-oe/recipes-support/libtinyxml/libtinyxml/enforce-use-stl.patch20
-rw-r--r--meta-oe/recipes-support/libtinyxml/libtinyxml/entity-encoding.patch62
-rw-r--r--meta-oe/recipes-support/libtinyxml/libtinyxml_2.6.2.bb45
-rw-r--r--meta-oe/recipes-support/libtinyxml2/libtinyxml2_git.bb38
-rw-r--r--meta-oe/recipes-support/libusbg/libusbg/0001-Fix-out-of-tree-builds.patch39
-rw-r--r--meta-oe/recipes-support/libusbg/libusbg_git.bb16
-rw-r--r--meta-oe/recipes-support/libyaml/files/libyaml-CVE-2014-2525.patch42
-rw-r--r--meta-oe/recipes-support/libyaml/libyaml_0.1.5.bb21
-rw-r--r--meta-oe/recipes-support/links/files/ac-prog-cxx.patch11
-rw-r--r--meta-oe/recipes-support/links/files/links2.desktop14
-rw-r--r--meta-oe/recipes-support/links/links-x11_2.7.bb27
-rw-r--r--meta-oe/recipes-support/links/links.inc17
-rw-r--r--meta-oe/recipes-support/links/links_2.7.bb13
-rw-r--r--meta-oe/recipes-support/lio-utils/lio-utils_4.1.bb59
-rw-r--r--meta-oe/recipes-support/lm_sensors/lmsensors-config/fancontrol2
-rw-r--r--meta-oe/recipes-support/lm_sensors/lmsensors-config/sensord.cgi10
-rw-r--r--meta-oe/recipes-support/lm_sensors/lmsensors-config/sensord.conf16
-rw-r--r--meta-oe/recipes-support/lm_sensors/lmsensors-config/sensors.conf2
-rw-r--r--meta-oe/recipes-support/lm_sensors/lmsensors-config_1.0.bb58
-rw-r--r--meta-oe/recipes-support/lm_sensors/lmsensors/fancontrol.init47
-rw-r--r--meta-oe/recipes-support/lm_sensors/lmsensors/sensord.init49
-rw-r--r--meta-oe/recipes-support/lm_sensors/lmsensors_3.3.5.bb123
-rw-r--r--meta-oe/recipes-support/lockdev/lockdev_git.bb20
-rw-r--r--meta-oe/recipes-support/log4c/log4c/fix_configure_with-expat.patch21
-rw-r--r--meta-oe/recipes-support/log4c/log4c_1.2.4.bb15
-rw-r--r--meta-oe/recipes-support/lvm2/lvm2.inc52
-rw-r--r--meta-oe/recipes-support/lvm2/lvm2/0001-Replace-CPPFunction-with-rl_completion_func_t.patch33
-rw-r--r--meta-oe/recipes-support/lvm2/lvm2/lvm.conf292
-rw-r--r--meta-oe/recipes-support/lvm2/lvm2/mlock-ignore-vectors-gate_vma.patch31
-rw-r--r--meta-oe/recipes-support/lvm2/lvm2_2.02.97.bb6
-rw-r--r--meta-oe/recipes-support/lzip/lzip_1.15.bb43
-rw-r--r--meta-oe/recipes-support/maliit/maliit-framework/0001-Fix-MALIIT_INSTALL_PRF-to-allow-the-build-with-opene.patch34
-rw-r--r--meta-oe/recipes-support/maliit/maliit-framework/0001-Fix-QT_IM_PLUGIN_PATH-to-allow-openembedded-to-build.patch34
-rw-r--r--meta-oe/recipes-support/maliit/maliit-framework/0001-Link-to-libmaliit-1-0-in-inputcontext-plugin.patch23
-rw-r--r--meta-oe/recipes-support/maliit/maliit-framework/0002-ut_maliit_glib_settings-fix-build-for-glib-2.36.patch33
-rw-r--r--meta-oe/recipes-support/maliit/maliit-framework/maliit-server.desktop6
-rw-r--r--meta-oe/recipes-support/maliit/maliit-framework_git.bb101
-rw-r--r--meta-oe/recipes-support/maliit/maliit-plugins_git.bb35
-rw-r--r--meta-oe/recipes-support/mbuffer/mbuffer_20140310.bb23
-rw-r--r--meta-oe/recipes-support/mg/files/remove_ncurses_check.patch36
-rw-r--r--meta-oe/recipes-support/mg/mg_20110905.bb21
-rw-r--r--meta-oe/recipes-support/mime-support/mime-support_3.48.bb58
-rw-r--r--meta-oe/recipes-support/mini-iconv/mini-iconv.bb20
-rw-r--r--meta-oe/recipes-support/mongodb/mongodb/0001-Make-it-possible-to-disable-the-use-of-v8.patch50
-rw-r--r--meta-oe/recipes-support/mongodb/mongodb/0002-Fix-linking-when-scripting-is-disabled.patch25
-rw-r--r--meta-oe/recipes-support/mongodb/mongodb/0003-Do-not-build-mongo-binary-when-scripting-is-disabled.patch64
-rw-r--r--meta-oe/recipes-support/mongodb/mongodb/0004-replace-os.uname-with-os.getenv-OE_TARGET_ARCH.patch50
-rw-r--r--meta-oe/recipes-support/mongodb/mongodb/0005-GCC-4.7-supports-atomic-ops-for-armv5-and-up-but-onl.patch127
-rw-r--r--meta-oe/recipes-support/mongodb/mongodb_git.bb39
-rw-r--r--meta-oe/recipes-support/multipath-tools/files/always-use-libdevmapper-kpartx.patch29
-rw-r--r--meta-oe/recipes-support/multipath-tools/files/always-use-libdevmapper.patch44
-rw-r--r--meta-oe/recipes-support/multipath-tools/files/makefile_inc.patch36
-rwxr-xr-xmeta-oe/recipes-support/multipath-tools/files/multipathd.oe146
-rw-r--r--meta-oe/recipes-support/multipath-tools/multipath-tools_git.bb70
-rw-r--r--meta-oe/recipes-support/mysql/mariadb-native_5.5.39.bb19
-rw-r--r--meta-oe/recipes-support/mysql/mariadb/fix-cmake-module-path.patch29
-rw-r--r--meta-oe/recipes-support/mysql/mariadb/fix-mysqlclient-r-version.patch161
-rw-r--r--meta-oe/recipes-support/mysql/mariadb/my.cnf22
-rw-r--r--meta-oe/recipes-support/mysql/mariadb/mysqld.service15
-rw-r--r--meta-oe/recipes-support/mysql/mariadb/remove-bad-path.patch18
-rw-r--r--meta-oe/recipes-support/mysql/mariadb_5.5.39.bb28
-rw-r--r--meta-oe/recipes-support/mysql/mariadb_5.5.39.inc252
-rw-r--r--meta-oe/recipes-support/mysql/mysql-python/remove-distribute.patch17
-rw-r--r--meta-oe/recipes-support/mysql/mysql-python_1.2.4.bb19
-rw-r--r--meta-oe/recipes-support/nano/nano-2.2.5/ncursesw.includedir.patch12
-rw-r--r--meta-oe/recipes-support/nano/nano.inc19
-rw-r--r--meta-oe/recipes-support/nano/nano_2.2.5.bb8
-rw-r--r--meta-oe/recipes-support/nmon/nmon_13g.bb29
-rw-r--r--meta-oe/recipes-support/nonworking/fftw/benchfft_3.1.bb19
-rw-r--r--meta-oe/recipes-support/nonworking/freerdp/freerdp.inc51
-rw-r--r--meta-oe/recipes-support/nonworking/freerdp/freerdp_git.bb16
-rw-r--r--meta-oe/recipes-support/numactl/numactl/Fix-the-test-output-format.patch59
-rw-r--r--meta-oe/recipes-support/numactl/numactl/Makefile7
-rw-r--r--meta-oe/recipes-support/numactl/numactl/fix-null-pointer.patch28
-rwxr-xr-xmeta-oe/recipes-support/numactl/numactl/run-ptest9
-rw-r--r--meta-oe/recipes-support/numactl/numactl_2.0.9.bb44
-rw-r--r--meta-oe/recipes-support/ode/ode/configure.patch13
-rw-r--r--meta-oe/recipes-support/ode/ode/install.patch23
-rw-r--r--meta-oe/recipes-support/ode/ode_0.13.bb28
-rw-r--r--meta-oe/recipes-support/onig/files/configure.patch13
-rw-r--r--meta-oe/recipes-support/onig/files/do-not-use-system-headers.patch44
-rw-r--r--meta-oe/recipes-support/onig/onig_5.9.3.bb17
-rw-r--r--meta-oe/recipes-support/open-vcdiff/open-vcdiff_0.8.4.bb18
-rw-r--r--meta-oe/recipes-support/opencv/opencv-samples_2.4.bb39
-rw-r--r--meta-oe/recipes-support/opencv/opencv/opencv-fix-pkgconfig-generation.patch44
-rw-r--r--meta-oe/recipes-support/opencv/opencv_2.4.bb100
-rw-r--r--meta-oe/recipes-support/openldap/openldap-2.4.39/ITS-7723-fix-reference-counting.patch38
-rw-r--r--meta-oe/recipes-support/openldap/openldap-2.4.39/gnutls-Avoid-use-of-deprecated-function.patch44
-rw-r--r--meta-oe/recipes-support/openldap/openldap-2.4.39/initscript35
-rw-r--r--meta-oe/recipes-support/openldap/openldap-2.4.39/install-strip.patch14
-rw-r--r--meta-oe/recipes-support/openldap/openldap-2.4.39/kill-icu.patch30
-rw-r--r--meta-oe/recipes-support/openldap/openldap-2.4.39/openldap-2.4.28-gnutls-gcrypt.patch17
-rw-r--r--meta-oe/recipes-support/openldap/openldap-2.4.39/openldap-m4-pthread.patch20
-rw-r--r--meta-oe/recipes-support/openldap/openldap-2.4.39/use-urandom.patch38
-rw-r--r--meta-oe/recipes-support/openldap/openldap_2.4.39.bb216
-rw-r--r--meta-oe/recipes-support/openmotif/openmotif/configure.patch15
-rw-r--r--meta-oe/recipes-support/openmotif/openmotif_2.3.3.bb48
-rw-r--r--meta-oe/recipes-support/opensync/libsyncml_0.5.4.bb18
-rw-r--r--meta-oe/recipes-support/opensync/wbxml2_0.10.8.bb21
-rw-r--r--meta-oe/recipes-support/p11-kit/p11-kit_0.19.1.bb18
-rw-r--r--meta-oe/recipes-support/p910nd/p910nd/fix-var-lock.patch30
-rw-r--r--meta-oe/recipes-support/p910nd/p910nd_0.95.bb22
-rw-r--r--meta-oe/recipes-support/pcsc-lite/pcsc-lite_1.8.6.bb32
-rw-r--r--meta-oe/recipes-support/picocom/picocom_1.6.bb17
-rw-r--r--meta-oe/recipes-support/pidgin/libotr/fix_qa-issue_include.patch18
-rw-r--r--meta-oe/recipes-support/pidgin/libotr/sepbuild.patch16
-rw-r--r--meta-oe/recipes-support/pidgin/libotr_4.0.0.bb15
-rw-r--r--meta-oe/recipes-support/pidgin/pidgin-otr/ignore_extra-portability_warnings.patch19
-rw-r--r--meta-oe/recipes-support/pidgin/pidgin-otr_4.0.0.bb19
-rw-r--r--meta-oe/recipes-support/pidgin/pidgin/pidgin-cross-python-265.patch16
-rw-r--r--meta-oe/recipes-support/pidgin/pidgin/pidgin.desktop-set-icon.patch11
-rw-r--r--meta-oe/recipes-support/pidgin/pidgin/purple-OE-branding-25.patch16
-rw-r--r--meta-oe/recipes-support/pidgin/pidgin/sanitize-configure.ac.patch33
-rw-r--r--meta-oe/recipes-support/pidgin/pidgin_2.10.9.bb106
-rw-r--r--meta-oe/recipes-support/pngcheck/pngcheck_2.3.0.bb22
-rw-r--r--meta-oe/recipes-support/poppler/poppler-data_0.4.6.bb21
-rw-r--r--meta-oe/recipes-support/poppler/poppler_0.26.5.bb39
-rw-r--r--meta-oe/recipes-support/portaudio/portaudio-v19_svn.bb32
-rw-r--r--meta-oe/recipes-support/postgresql/files/0001-Use-pkg-config-for-libxml2-detection.patch43
-rw-r--r--meta-oe/recipes-support/postgresql/files/0002-Predict-integer-overflow-to-avoid-buffer-overruns.patch605
-rw-r--r--meta-oe/recipes-support/postgresql/files/0003-Shore-up-ADMIN-OPTION-restrictions.patch273
-rw-r--r--meta-oe/recipes-support/postgresql/files/0004-Prevent-privilege-escalation-in-explicit-calls-to-PL.patch267
-rw-r--r--meta-oe/recipes-support/postgresql/files/0005-Avoid-repeated-name-lookups-during-table-and-index-D.patch1082
-rw-r--r--meta-oe/recipes-support/postgresql/files/0006-Fix-handling-of-wide-datetime-input-output.patch465
-rw-r--r--meta-oe/recipes-support/postgresql/files/0007-Make-pqsignal-available-to-pg_regress-of-ECPG-and-is.patch75
-rw-r--r--meta-oe/recipes-support/postgresql/files/0008-Prevent-potential-overruns-of-fixed-size-buffers.patch393
-rw-r--r--meta-oe/recipes-support/postgresql/files/no-ecpg-test.patch12
-rw-r--r--meta-oe/recipes-support/postgresql/files/postgresql-bashprofile4
-rw-r--r--meta-oe/recipes-support/postgresql/files/postgresql-setup73
-rw-r--r--meta-oe/recipes-support/postgresql/files/postgresql.init193
-rw-r--r--meta-oe/recipes-support/postgresql/files/postgresql.pam4
-rw-r--r--meta-oe/recipes-support/postgresql/files/postgresql.service27
-rw-r--r--meta-oe/recipes-support/postgresql/postgresql-9.2.4/ecpg-parallel-make-fix.patch31
-rw-r--r--meta-oe/recipes-support/postgresql/postgresql-9.2.4/remove.autoconf.version.check.patch15
-rw-r--r--meta-oe/recipes-support/postgresql/postgresql.inc395
-rw-r--r--meta-oe/recipes-support/postgresql/postgresql_9.2.4.bb13
-rw-r--r--meta-oe/recipes-support/pps-tools/pps-tools_git.bb16
-rw-r--r--meta-oe/recipes-support/pv/pv_1.5.3.bb11
-rw-r--r--meta-oe/recipes-support/pxaregs/pxaregs-1.14/Makefile3
-rw-r--r--meta-oe/recipes-support/pxaregs/pxaregs-1.14/i2c.patch15
-rw-r--r--meta-oe/recipes-support/pxaregs/pxaregs-1.14/munmap.patch22
-rw-r--r--meta-oe/recipes-support/pxaregs/pxaregs-1.14/pxaregs.c1975
-rw-r--r--meta-oe/recipes-support/pxaregs/pxaregs-1.14/serial.patch14
-rw-r--r--meta-oe/recipes-support/pxaregs/pxaregs-1.14/usb.patch17
-rw-r--r--meta-oe/recipes-support/pxaregs/pxaregs_1.14.bb25
-rw-r--r--meta-oe/recipes-support/re2c/re2c/configure.patch18
-rw-r--r--meta-oe/recipes-support/re2c/re2c_0.13.5.bb15
-rw-r--r--meta-oe/recipes-support/read-edid/read-edid/0001-configure-remove-check-for-x86.h-we-don-t-build-get-.patch28
-rw-r--r--meta-oe/recipes-support/read-edid/read-edid_2.0.0.bb23
-rw-r--r--meta-oe/recipes-support/rng-tools/files/default2
-rw-r--r--meta-oe/recipes-support/rng-tools/files/init49
-rw-r--r--meta-oe/recipes-support/rng-tools/rng-tools_4.bb26
-rw-r--r--meta-oe/recipes-support/rsnapshot/rsnapshot/configure-fix-cmd_rsync.patch44
-rw-r--r--meta-oe/recipes-support/rsnapshot/rsnapshot_git.bb42
-rw-r--r--meta-oe/recipes-support/samsung-soc-utils/s3c24xx-gpio_svn.bb20
-rw-r--r--meta-oe/recipes-support/samsung-soc-utils/s3c64xx-gpio_svn.bb19
-rw-r--r--meta-oe/recipes-support/samsung-soc-utils/sjf2410-linux-native_svn.bb32
-rw-r--r--meta-oe/recipes-support/sdparm/files/make-sysroot-work.patch27
-rw-r--r--meta-oe/recipes-support/sdparm/sdparm_1.08.bb23
-rw-r--r--meta-oe/recipes-support/serial-utils/pty-forward-native.bb20
-rw-r--r--meta-oe/recipes-support/serial-utils/serial-forward_git.bb12
-rw-r--r--meta-oe/recipes-support/sg3-utils/sg3-utils_1.38.bb19
-rw-r--r--meta-oe/recipes-support/sharutils/sharutils-4.14/fix-for-cross-compiling.patch29
-rw-r--r--meta-oe/recipes-support/sharutils/sharutils_4.14.bb18
-rw-r--r--meta-oe/recipes-support/sqlite/sqlite-2.8.17/mainmk_build_dynamic.patch32
-rw-r--r--meta-oe/recipes-support/sqlite/sqlite-2.8.17/mainmk_no_tcl.patch20
-rw-r--r--meta-oe/recipes-support/sqlite/sqlite-2.8.17/sqlite.pc12
-rw-r--r--meta-oe/recipes-support/sqlite/sqlite_2.8.17.bb59
-rw-r--r--meta-oe/recipes-support/start-stop-daemon/start-stop-daemon_1.16.0.2.bb30
-rw-r--r--meta-oe/recipes-support/synergy/synergy_1.3.8.bb22
-rw-r--r--meta-oe/recipes-support/syslog-ng/files/Fix-the-memory-leak-problem-for-mutex.patch58
-rw-r--r--meta-oe/recipes-support/syslog-ng/files/Fix-the-memory-leak-problem-when-HAVE_ENVIRON-defined.patch27
-rw-r--r--meta-oe/recipes-support/syslog-ng/files/afsql-afsql_dd_insert_db-refactor.patch494
-rw-r--r--meta-oe/recipes-support/syslog-ng/files/configure.ac-add-option-enable-thread-tls-to-manage-.patch50
-rw-r--r--meta-oe/recipes-support/syslog-ng/files/configure.patch23
-rw-r--r--meta-oe/recipes-support/syslog-ng/files/dbifix.patch20
-rw-r--r--meta-oe/recipes-support/syslog-ng/files/deinit-the-new-config-when-reverting-to-the.patch36
-rw-r--r--meta-oe/recipes-support/syslog-ng/files/fix-a-memory-leak-in-log_driver_free.patch33
-rw-r--r--meta-oe/recipes-support/syslog-ng/files/fix-config-libnet.patch66
-rw-r--r--meta-oe/recipes-support/syslog-ng/files/fix-invalid-ownership.patch28
-rw-r--r--meta-oe/recipes-support/syslog-ng/files/free-global-LogTemplateOptions.patch30
-rw-r--r--meta-oe/recipes-support/syslog-ng/files/initscript62
-rw-r--r--meta-oe/recipes-support/syslog-ng/files/logwriter-dont-allocate-a-new-buffer.patch26
-rw-r--r--meta-oe/recipes-support/syslog-ng/files/rewrite-expr-grammar.ym-Free-up-token.patch17
-rw-r--r--meta-oe/recipes-support/syslog-ng/files/still-free-the-unconsumed-item.patch90
-rw-r--r--meta-oe/recipes-support/syslog-ng/files/syslog-ng-verify-the-list-before-del.patch38
-rw-r--r--meta-oe/recipes-support/syslog-ng/files/syslog-ng.conf155
-rw-r--r--meta-oe/recipes-support/syslog-ng/files/volatiles.03_syslog-ng1
-rw-r--r--meta-oe/recipes-support/syslog-ng/syslog-ng.inc106
-rw-r--r--meta-oe/recipes-support/syslog-ng/syslog-ng_3.5.4.1.bb21
-rw-r--r--meta-oe/recipes-support/talloc/talloc/install-swig-interface-in-SWINGLIBDIR.patch23
-rw-r--r--meta-oe/recipes-support/talloc/talloc/sepbuild.patch27
-rw-r--r--meta-oe/recipes-support/talloc/talloc_2.0.1.bb45
-rw-r--r--meta-oe/recipes-support/tbb/tbb/allow-to-build-for-older-arm-cores.patch30
-rw-r--r--meta-oe/recipes-support/tbb/tbb/cross-compile.patch25
-rw-r--r--meta-oe/recipes-support/tbb/tbb/tbb.pc11
-rw-r--r--meta-oe/recipes-support/tbb/tbb_4.1.bb40
-rw-r--r--meta-oe/recipes-support/toscoterm/toscoterm_git.bb27
-rw-r--r--meta-oe/recipes-support/udisks/udisks/add-systemd-support.patch112
-rw-r--r--meta-oe/recipes-support/udisks/udisks/optional-depends.patch484
-rw-r--r--meta-oe/recipes-support/udisks/udisks_1.0.4.bb39
-rw-r--r--meta-oe/recipes-support/upower/upower_0.9.14.bb35
-rw-r--r--meta-oe/recipes-support/usb-modeswitch/usb-modeswitch-data_20140529.bb17
-rw-r--r--meta-oe/recipes-support/usb-modeswitch/usb-modeswitch_2.2.0.bb19
-rw-r--r--meta-oe/recipes-support/usbpath/usbpath/configure.patch11
-rw-r--r--meta-oe/recipes-support/usbpath/usbpath_svn.bb19
-rw-r--r--meta-oe/recipes-support/utouch/utouch-evemu_git.bb17
-rw-r--r--meta-oe/recipes-support/utouch/utouch-frame_git.bb17
-rw-r--r--meta-oe/recipes-support/utouch/utouch-mtview_git.bb17
-rw-r--r--meta-oe/recipes-support/vala-terminal/vala-terminal_git.bb20
-rw-r--r--meta-oe/recipes-support/vim/files/disable_acl_header_check.patch27
-rw-r--r--meta-oe/recipes-support/vim/files/vim-add-knob-whether-elf.h-are-checked.patch38
-rw-r--r--meta-oe/recipes-support/vim/vim_7.4.481.bb103
-rw-r--r--meta-oe/recipes-support/wmiconfig/wmiconfig_svn.bb18
-rw-r--r--meta-oe/recipes-support/xchat/xchat-2.8.8/automake-foreign.patch11
-rw-r--r--meta-oe/recipes-support/xchat/xchat-2.8.8/fix-includes-for-separate-build.patch78
-rw-r--r--meta-oe/recipes-support/xchat/xchat-2.8.8/glib-2.32.patch44
-rw-r--r--meta-oe/recipes-support/xchat/xchat_2.8.8.bb37
-rw-r--r--meta-oe/recipes-support/xdelta/files/compilation-fix.patch29
-rw-r--r--meta-oe/recipes-support/xdelta/files/with-liblzma-configure-option.patch55
-rw-r--r--meta-oe/recipes-support/xdelta/xdelta3_3.0.8.bb21
-rw-r--r--meta-oe/recipes-support/xmlstarlet/files/0001-usage2c.awk-fix-wrong-basename-regexp.patch37
-rw-r--r--meta-oe/recipes-support/xmlstarlet/files/configure.ac.patch28
-rw-r--r--meta-oe/recipes-support/xmlstarlet/xmlstarlet_1.5.0.bb26
-rw-r--r--meta-oe/recipes-support/zile/files/remove-help2man.patch28
-rw-r--r--meta-oe/recipes-support/zile/zile_2.4.9.bb15
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 @@
1SUMMARY = "Apcupsd a daemon for controlling APC UPSes"
2
3LICENSE = "GPLv2"
4LIC_FILES_CHKSUM = "file://COPYING;md5=c12853cc7fdf20d17b4fddefd26b7802"
5
6SRC_URI = "http://garr.dl.sourceforge.net/project/apcupsd/apcupsd%20-%20Stable/3.14.10/apcupsd-${PV}.tar.gz"
7SRC_URI[md5sum] = "5928822d855c5cf7ac29655e3e0b8c23"
8SRC_URI[sha256sum] = "0707b5ec9916fbde9e44eb8d18037c8d8f75dfd6aeef51aba5487e189eef2032"
9
10PNBLACKLIST[apcupsd] ?= "BROKEN: doesn't build with B!=S"
11
12inherit autotools
13
14LD = "${CXX}"
15
16EXTRA_OECONF = "--without-x \
17 --enable-usb \
18 --with-distname=${DISTRO}"
19
20do_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
38do_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 @@
1DESCRIPTION = "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."
4AUTHOR = "Christopher M. Kohlhoff (chris at kohlhoff dot com)"
5HOMEPAGE = "http://think-async.com/Asio"
6SECTION = "libs"
7LICENSE = "BSL-1.0"
8
9DEPENDS = "boost"
10
11SRC_URI = "${SOURCEFORGE_MIRROR}/asio/${BP}.tar.bz2"
12
13inherit autotools
14
15ALLOW_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 @@
1require asio.inc
2
3LIC_FILES_CHKSUM = "file://COPYING;md5=113f800aa522d9e38c3309c98ec53ade"
4
5SRC_URI[md5sum] = "4d508c9947404fee40945375b8a5fd32"
6SRC_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 @@
1SUMMARY = "Programmable Completion for Bash 4"
2HOMEPAGE = "http://bash-completion.alioth.debian.org/"
3BUGTRACKER = "https://alioth.debian.org/projects/bash-completion/"
4
5LICENSE = "GPLv2"
6LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe"
7
8SECTION = "console/utils"
9
10SRC_URI="http://bash-completion.alioth.debian.org/files/${BPN}-${PV}.tar.bz2"
11
12SRC_URI[md5sum] = "4e2a9f11a4042a38ee79ddcd048e8b9e"
13SRC_URI[sha256sum] = "2b606804a7d5f823380a882e0f7b6c8a37b0e768e72c3d4107c51fbe8a46ae4f"
14
15PARALLEL_MAKE = ""
16
17inherit autotools
18
19do_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
34RDEPENDS_${PN} = "bash"
35
36# Some recipes are providing ${PN}-bash-completion packages
37PACKAGES =+ "${PN}-extra"
38FILES_${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 @@
1No need to link with libfl.
2
3Upstream-Status: Pending
4Signed-off-by: Jacob Kroon <jacob.kroon@mikrodidakt.se>
5
6Index: 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 @@
1SUMMARY = "Generic USB CCID smart card reader driver"
2HOMEPAGE = "http://pcsclite.alioth.debian.org/ccid.html"
3LICENSE = "LGPLv2.1+"
4LIC_FILES_CHKSUM = "file://COPYING;md5=2d5025d4aa3495befef8f17206a5b0a1"
5
6DEPENDS = "virtual/libusb0 pcsc-lite"
7RDEPENDS_${PN} = "pcsc-lite"
8
9SRC_URI = "https://alioth.debian.org/frs/download.php/file/3768/ccid-${PV}.tar.bz2 \
10 file://no-dep-on-libfl.patch"
11
12SRC_URI[md5sum] = "b6c37110f50b059a8ba94f118cfd679a"
13SRC_URI[sha256sum] = "7aca09fa4b9099e423402fd5df424adbafa502888710d1fda6015b6c1ff637ef"
14
15inherit autotools pkgconfig
16
17FILES_${PN} += "${libdir}/pcsc/"
18FILES_${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 @@
1DESCRIPTION = "C-Kermit is a combined serial and network communication \
2software package offering a consistent, medium-independent, \
3cross-platform approach to connection establishment, terminal \
4sessions, file transfer, character-set translation, and automation \
5of communication tasks."
6HOMEPAGE = "http://www.columbia.edu/kermit/"
7SECTION = "console/network"
8LICENSE = "BSD-3-Clause"
9LIC_FILES_CHKSUM = "file://COPYING.TXT;md5=932ca542d6c6cb8a59a0bcd76ab67cc3"
10
11SRC_URI = "ftp://ftp.kermitproject.org/kermit/archives/cku${PV}.tar.gz;subdir=${BPN}-${PV}"
12SRC_URI[md5sum] = "eac4dbf18b45775e4cdee5a7c74762b0"
13SRC_URI[sha256sum] = "0d5f2cd12bdab9401b4c836854ebbf241675051875557783c332a6a40dac0711"
14
15
16export CC2 = "${CC}"
17export BINDIR = "${bindir}"
18export MANDIR = "${mandir}/man1"
19export INFODIR = "${infodir}"
20
21# Additional flags. For uclibc we add -DNOARROWKEYS which stops ckermit
22# trying to look inside the stdio headers.
23CKERMIT_ADDITIONAL = ""
24CKERMIT_ADDITIONAL_libc-uclibc = "-DNOARROWKEYS"
25
26TARGET_CC_ARCH += "${LDFLAGS}"
27
28do_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
52do_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 @@
1DESCRIPTION = "To make access to the Linux kernel cpufreq subsystem easier for users and cpufreq userspace tools, a cpufrequtils package was created"
2
3inherit gettext
4
5DEPENDS = "libtool-cross"
6
7LICENSE = "GPLv2"
8LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f"
9
10SRCREV = "a2f0c39d5f21596bb9f5223e895c0ff210b265d0"
11# SRC_URI = "git://git.kernel.org/pub/scm/utils/kernel/cpufreq/cpufrequtils.git
12
13SRC_URI = "git://github.com/emagii/cpufrequtils.git \
14 file://0001-dont-unset-cflags.patch \
15"
16
17CFLAGS_append_libc-uclibc = " ${@['-DNLS', '-UNLS']['${USE_NLS}' == 'no']} "
18
19PR = "r5"
20
21S = "${WORKDIR}/git"
22
23TARGET_CC_ARCH += "${LDFLAGS}"
24
25EXTRA_OEMAKE = "V=1 CROSS=${TARGET_PREFIX} LIBTOOL='${HOST_SYS}-libtool --tag cc' STRIPCMD=echo"
26
27do_compile() {
28 oe_runmake
29}
30
31do_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 @@
1SUMMARY = "Manage plain dm-crypt and LUKS encrypted volumes"
2DESCRIPTION = "Cryptsetup is used to conveniently setup dm-crypt managed \
3device-mapper mappings. These include plain dm-crypt volumes and \
4LUKS volumes. The difference is that LUKS uses a metadata header \
5and can hence offer more features than plain dm-crypt. On the other \
6hand, the header is visible and vulnerable to damage."
7HOMEPAGE = "http://code.google.com/p/cryptsetup/"
8SECTION = "console"
9LICENSE = "GPL-2.0-with-OpenSSL-exception"
10LIC_FILES_CHKSUM = "file://COPYING;md5=32107dd283b1dfeb66c9b3e6be312326"
11
12DEPENDS = "util-linux lvm2 popt libgcrypt"
13
14SRC_URI = "http://cryptsetup.googlecode.com/files/cryptsetup-${PV}.tar.bz2"
15SRC_URI[md5sum] = "cd834da49fbe92dd66df02cc5c61280f"
16SRC_URI[sha256sum] = "15723f0198303d4bcb99d480b7a773918e2d319f0348457988c063bdd03e109a"
17
18inherit autotools gettext pkgconfig
19
20# Use openssl because libgcrypt drops root privileges
21# if libgcrypt is linked with libcap support
22PACKAGECONFIG ??= "openssl"
23PACKAGECONFIG[openssl] = "--with-crypto_backend=openssl,,openssl"
24PACKAGECONFIG[gcrypt] = "--with-crypto_backend=gcrypt,,libgcrypt"
25
26RRECOMMENDS_${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
33EXTRA_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 @@
1SUMMARY = "A tool to run a command as a daemon"
2HOMEPAGE = "http://software.clapper.org/daemonize/"
3LICENSE = "BSD"
4LIC_FILES_CHKSUM = "file://LICENSE.md;md5=3cf9084faa88bc8554a9139d8d7dd35f"
5PV = "1.7.3+git${SRCPV}"
6
7inherit autotools
8
9SRCREV = "a4ac64a243af91dc434b7a3915f43482d528a2b1"
10SRC_URI = "git://github.com/bmc/daemonize.git"
11
12S = "${WORKDIR}/git"
13
14EXTRA_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 @@
1SUMMARY = "Miscellaneous utilities specific to Debian"
2SECTION = "base"
3LICENSE = "GPLv2 & SMAIL_GPL"
4LIC_FILES_CHKSUM = "file://debian/copyright;md5=f01a5203d50512fc4830b4332b696a9f"
5
6SRC_URI = "${DEBIAN_MIRROR}/main/d/${BPN}/${BPN}_${PV}.tar.gz"
7SRC_URI[md5sum] = "c0cb076754d7f4eb1e3397d00916647f"
8SRC_URI[sha256sum] = "190850cdd6b5302e0a1ba1aaed1bc7074d67d3bd8d04c613f242f7145afa53a6"
9
10inherit autotools update-alternatives
11
12do_configure_prepend() {
13 sed -i -e 's:tempfile.1 which.1:which.1:g' ${S}/Makefile.am
14}
15
16do_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
26ALTERNATIVE_PRIORITY="100"
27ALTERNATIVE_${PN} = "add-shell installkernel remove-shell run-parts savelog tempfile which"
28
29ALTERNATIVE_LINK_NAME[add-shell]="${sbindir}/add-shell"
30ALTERNATIVE_LINK_NAME[installkernel]="${sbindir}/installkernel"
31ALTERNATIVE_LINK_NAME[remove-shell]="${sbindir}/remove-shell"
32ALTERNATIVE_LINK_NAME[run-parts]="${base_bindir}/run-parts"
33ALTERNATIVE_LINK_NAME[savelog]="${bindir}/savelog"
34ALTERNATIVE_LINK_NAME[tempfile]="${base_bindir}/tempfile"
35ALTERNATIVE_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 @@
1SUMMARY = "Devicekit power"
2LICENSE = "GPLv2"
3LIC_FILES_CHKSUM = "file://COPYING;md5=756cf97871f77233638937da21b025d3"
4
5DEPENDS = "libusb-compat libusb1 udev glib-2.0 dbus-glib polkit intltool-native"
6
7SRC_URI = "http://upower.freedesktop.org/releases/DeviceKit-power-${PV}.tar.gz;name=archive"
8SRC_URI[archive.md5sum] = "935d37f1e14b3c8a1d6dabcd9a38d3ca"
9SRC_URI[archive.sha256sum] = "ad3e9a8bd9525d66fadc7fa53ef99e0632aa8cca8fd5bc27483956261153b373"
10
11S = "${WORKDIR}/DeviceKit-power-${PV}"
12
13inherit autotools pkgconfig
14
15EXTRA_OECONF = " --with-backend=linux"
16
17do_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
22FILES_${PN} += "${datadir}/dbus-1/ \
23 ${datadir}/polkit-1/ \
24 ${base_libdir}/udev/* \
25"
26
27FILES_${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 @@
1SUMMARY = "Simple program to read/write from/to any location in memory"
2LICENSE = "GPLv2+"
3LIC_FILES_CHKSUM = "file://devmem2.c;endline=28;md5=dd68f2b0a5184b3db3dc25c99e0bd0cd"
4PR = "r7"
5
6SRC_URI = "http://www.lartmaker.nl/lartware/port/devmem2.c \
7 file://devmem2-fixups-2.patch;apply=yes;striplevel=0"
8S = "${WORKDIR}"
9
10CFLAGS += "-DFORCE_STRICT_ALIGNMENT"
11
12do_compile() {
13 ${CC} -o devmem2 devmem2.c ${CFLAGS} ${LDFLAGS}
14}
15
16do_install() {
17 install -d ${D}${bindir}
18 install devmem2 ${D}${bindir}
19}
20
21SRC_URI[md5sum] = "be12c0132a1ae118cbf5e79d98427c1d"
22SRC_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 @@
1require dfu-util_${PV}.bb
2
3inherit native deploy
4do_deploy[sstate-outputdirs] = "${DEPLOY_DIR_TOOLS}"
5
6DEPENDS = "libusb1-native"
7
8FILESPATH =. "${FILE_DIRNAME}/${BPN}-${PV}:"
9SRC_URI += "file://0002-Revert-Makefile.am-Drop-static-dfu-util.patch"
10
11do_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
19addtask 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 @@
1From 63f6f6882f3813ab22c62806feeab942579a2acf Mon Sep 17 00:00:00 2001
2From: Martin Jansa <Martin.Jansa@gmail.com>
3Date: Sun, 3 Aug 2014 17:50:06 +0200
4Subject: [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
11Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
12---
13 configure.ac | 3 +--
14 1 file changed, 1 insertion(+), 2 deletions(-)
15
16diff --git a/configure.ac b/configure.ac
17index 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--
372.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 @@
1From 440a026379ff111aaa8314db1c29ffae8f482824 Mon Sep 17 00:00:00 2001
2From: Martin JaMa Jansa <Martin.Jansa@gmail.com>
3Date: Thu, 11 Aug 2011 11:19:52 +0200
4Subject: [PATCH 2/2] Revert "Makefile.am: Drop static dfu-util"
5
6This reverts commit fe0426ddc04f503d148c5e5f931f16b8f674f071.
7
8Signed-off-by: Martin JaMa Jansa <Martin.Jansa@gmail.com>
9Signed-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
15diff --git a/configure.ac b/configure.ac
16index 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.
28diff --git a/src/Makefile.am b/src/Makefile.am
29index 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--
662.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 @@
1DESCRIPTION = "USB Device Firmware Upgrade utility"
2SECTION = "devel"
3AUTHOR = "Harald Welte <laforge@openmoko.org>"
4LICENSE = "GPLv2"
5LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f"
6
7S = "${WORKDIR}/git"
8
9SRC_URI = "git://gitorious.org/dfu-util/dfu-util.git \
10 file://0001-configure.ac-Don-t-check-for-usbpath.patch \
11"
12SRCREV="a0a3668e0571a9b007f7d62b01e7dcfd7754ce50"
13
14inherit autotools pkgconfig
15
16DEPENDS = "libusb1"
17
18SRC_URI[md5sum] = "1de724551604bce1962960b7a301cc08"
19SRC_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 @@
1digitemp: allow override of CC and CFLAGS vars
2
3Upstream-Status: Inappropriate [embedded specific]
4
5Signed-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 @@
1SUMMARY = "read temperature sensors in a 1-Wire net"
2SECTION = "util"
3DEPENDS = "libusb1"
4LICENSE = "GPLv2"
5LIC_FILES_CHKSUM = "file://COPYING;md5=44fee82a1d2ed0676cf35478283e0aa0"
6
7PR = "r2"
8
9SRC_URI = "http://www.digitemp.com/software/linux/digitemp-${PV}.tar.gz \
10 file://makefile-fix.patch"
11SRC_URI[md5sum] = "9be2e48db37920f21925ae6e88f83b84"
12SRC_URI[sha256sum] = "14cfc584cd3714fe8c9a2cdc8388be49e08b5e395d95e6bcd11d4410e2505ca2"
13
14EXTRA_OEMAKE = "ds9097 ds9097u \
15 SYSTYPE='Linux' \
16"
17# Fix GNU_HASH QA errors
18TARGET_CC_ARCH += "${CFLAGS} ${LDFLAGS}"
19
20do_configure() {
21 rm -f digitemp_*
22}
23
24do_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 @@
1Kept to help with debugging
2
3Upstream-Status: Pending
4
5Signed-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 @@
1Upstream-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 @@
1Kept to help with spaces in the mount path
2
3Upstream-Status: Backport
4
5Linux mangles spaces in mount points by changing them to an octal string
6of '\040'. So lets scan the mount point and fix it up by replacing all
7occurrences off '\0##' with the ASCII value of 0##. Requires a writable
8string as input as we mangle in place. Some of this was taken from the
9util-linux package.
10
11Signed-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 @@
1allow a longer timeout
2
3Upstream-Status: Backport
4
5Signed-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 @@
1DESCRIPTION = "Eject allows removable media (typically a CD-ROM, floppy disk, tape, or JAZ or ZIP disk) to be ejected under software control."
2HOMEPAGE = "http://eject.sourceforge.net/"
3LICENSE = "GPLv2"
4LIC_FILES_CHKSUM = "file://COPYING;md5=8ca43cbc842c2336e835926c2166c28b"
5
6inherit autotools gettext update-alternatives
7
8SRC_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
15SRC_URI[md5sum] = "b96a6d4263122f1711db12701d79f738"
16SRC_URI[sha256sum] = "ef9f7906484cfde4ba223b2682a37058f9a3c7d3bb1adda7a34a67402e2ffe55"
17
18S = "${WORKDIR}/${BPN}"
19
20PR = "r1"
21
22do_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
30ALTERNATIVE_${PN} = "volname eject"
31ALTERNATIVE_LINK_NAME[volname] = "${bindir}/volname"
32ALTERNATIVE_LINK_NAME[eject] = "${bindir}/eject"
33ALTERNATIVE_PRIORITY[volname] = "100"
34ALTERNATIVE_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 @@
1Fix linking problem:
2undefined reference to `__aeabi_unwind_cpp_pr0'
3undefined reference to `__aeabi_unwind_cpp_pr1'
4Index: 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 @@
1Upstream-Status: Inappropriate [embedded specific]
2
3diff -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}' \
15diff -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.
27diff -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. */
48diff -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
61diff -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 @@
1DESCRIPTION = "Emacs"
2HOMEPAGE = "http://www.gnu.org/software/emacs/"
3LICENSE = "GPLv3"
4LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504"
5SECTION = "editor"
6# and it needs to run some generated binaries..
7DEPENDS += "qemu-native"
8
9DEPENDS +=" liblockfile"
10
11X11DEPENDS = " \
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
19EXTRA_OECONF = "--without-sound --with-crt-dir=${STAGING_LIBDIR} "
20
21PACKAGECONFIG ??= "${@base_contains('DISTRO_FEATURES', 'x11', 'x11', '', d)}"
22PACKAGECONFIG[x11] = "--with-x-toolkit=gtk,--without-x --without-dbus,${X11DEPENDS}"
23
24
25inherit autotools
26
27PACKAGES =+ "${PN}-el"
28
29FILES_${PN}-el = "${datadir}/emacs/*/*/*.el.gz \
30 ${datadir}/emacs/*/*/*/*.el.gz"
31
32FILES_${PN} += "${datadir}/emacs ${datadir}/icons"
33
34FILES_${PN}-dbg += "${libexecdir}/emacs/*/*/.debug ${datadir}/emacs/*/*/.debug"
35
36TREEDIR = "${WORKDIR}/qemu-treedir"
37
38QEMUARCH= "${TARGET_ARCH}"
39QEMUARCH_i486 = "i386"
40QEMUARCH_i586 = "i386"
41QEMUARCH_i686 = "i386"
42
43# Large stack is required at least on x86_64 host, otherwise random segfaults appear:
44QEMU = "qemu-${QEMUARCH} ${QEMU_OPTIONS} -s 1048576 -L ${TREEDIR} "
45
46export LOGNAME = "$(whoami)"
47
48do_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
139do_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
149EXTRA_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 @@
1require emacs.inc
2
3PR = "r4"
4
5PNBLACKLIST[emacs] ?= "qemu: uncaught target signal 11 (Segmentation fault) - core dumped"
6
7SRC_URI = "${GNU_MIRROR}/emacs/emacs-${PV}.tar.gz;name=tarball \
8 file://use-qemu.patch \
9 file://nostdlib-unwind.patch \
10"
11SRC_URI[tarball.md5sum] = "34405165fcd978fbc8b304cbd99ccf4f"
12SRC_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 @@
1Index: 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 @@
1From 7e144495093187143a3d1589f74c2eac37e4d790 Mon Sep 17 00:00:00 2001
2From: Maxime Hadjinlian <maxime.hadjinlian@gmail.com>
3Date: Sun, 4 May 2014 15:49:28 +0200
4Subject: [PATCH] libiconv.m4: Fix AM_ICONV macro usage
5
6This patch come straight from the Buildroot source tree.
7
8Signed-off-by: Bernd Kuhls <berndkuhls@hotmail.com>
9Signed-off-by: Maxime Hadjinlian <maxime.hadjinlian@gmail.com>
10---
11 m4/libiconv.m4 | 2 +-
12 1 file changed, 1 insertion(+), 1 deletion(-)
13
14diff --git a/m4/libiconv.m4 b/m4/libiconv.m4
15index 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--
281.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 @@
1SUMMARY = "Enca is an Extremely Naive Charset Analyser"
2SECTION = "libs"
3HOMEPAGE = "http://trific.ath.cx/software/enca/"
4
5DEPENDS += "gettext-native"
6
7LICENSE = "GPLv2"
8LIC_FILES_CHKSUM = "file://COPYING;md5=24b9569831c46d4818450b55282476b4"
9
10SRC_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
17SRC_URI[md5sum] = "b3581e28d68d452286fb0bfe58bed3b3"
18SRC_URI[sha256sum] = "02acfef2b24a9c842612da49338138311f909f1cd33933520c07b8b26c410f4d"
19
20inherit autotools
21
22do_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
27do_configure_append() {
28 sed -i s:-I/usr/include::g ${B}/Makefile
29 sed -i s:-I/usr/include::g ${B}/*/Makefile
30}
31
32do_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 @@
1require espeak.inc
2
3inherit native
4
5PACKAGES = "${PN}"
6FILES_${PN} = "${layout_datadir}"
7
8PACKAGE_ARCH = "${MACHINE_ARCH}"
9TARGET_ARCH = "${MACHINE_ARCH}"
10
11do_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
21do_install() {
22 install -d ${D}${layout_datadir}/espeak-data
23 install -m 0644 ${S}/espeak-data/phon* ${D}${layout_datadir}/espeak-data
24}
25
26SRC_URI[md5sum] = "5c7b292d0537232868b4ac1317d76c02"
27SRC_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 @@
1DESCRIPTION = "eSpeak is a compact open source software speech synthesizer"
2SECTION = "base"
3LICENSE = "GPLv3"
4LIC_FILES_CHKSUM = "file://License.txt;md5=cb7a20edb4c9f5f478de6523dcd7362c"
5
6SRC_URI = "${SOURCEFORGE_MIRROR}/espeak/espeak-${PV}-source.zip"
7
8S = "${WORKDIR}/espeak-${PV}-source"
9
10DEPENDS = "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 @@
1require espeak.inc
2inherit siteinfo
3
4EXTRA_PHONEMES = '${@base_contains("SITEINFO_ENDIANNESS", "be", "espeak-data (= ${PV})", "", d)}'
5RDEPENDS_${PN} = "portaudio-v19 ${EXTRA_PHONEMES}"
6
7SRC_URI[md5sum] = "5c7b292d0537232868b4ac1317d76c02"
8SRC_URI[sha256sum] = "77f406c345362185ec4f362bf49f61d202e01ac9b9cd5c14f803195a544ce6d3"
9
10CXXFLAGS += "-DUSE_PORTAUDIO"
11TARGET_CC_ARCH += "${LDFLAGS}"
12
13FILES_${PN} += "${datadir}/espeak-data"
14
15do_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
20do_compile() {
21 cd src
22 oe_runmake
23}
24
25do_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 @@
1SUMMARY = "Replacement syslog API"
2DESCRIPTION = "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
12LICENSE = "BSD"
13LIC_FILES_CHKSUM = "file://COPYING;md5=b8ba8e77bcda9a53fac0fe39fe957767"
14
15SRC_URI = "http://www.balabit.com/downloads/files/syslog-ng/open-source-edition/3.4.2/source/${BPN}_${PV}.tar.gz"
16
17inherit autotools pkgconfig
18
19SRC_URI[md5sum] = "68ec8d1ea3b98fa35002bb756227c315"
20SRC_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 @@
1SUMMARY = "Simple tool for input event debugging"
2HOMEPAGE = "http://people.freedesktop.org/~whot/evtest/"
3AUTHOR = "Vojtech Pavlik <vojtech@suse.cz>"
4SECTION = "console/utils"
5LICENSE = "GPLv2"
6LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe"
7
8DEPENDS = "libxml2"
9
10SRCREV = "0e14da978ea906c7fdaf90f54f798a542e79ce8f"
11SRC_URI = "git://anongit.freedesktop.org/evtest;protocol=git"
12
13PV = "1.31+${SRCPV}"
14
15S = "${WORKDIR}/git"
16
17inherit 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 @@
1DESCRIPTION = "FarSight is an audio/video conferencing framework specifically designed for Instant Messengers."
2HOMEPAGE = "http://farsight.sf.net"
3SRC_URI = "http://farsight.freedesktop.org/releases/farsight2/${BP}.tar.gz"
4
5LICENSE = "LGPLv2.1"
6LIC_FILES_CHKSUM = "file://COPYING;md5=fbc093901857fcd118f065f900982c24"
7
8PR = "r3"
9
10DEPENDS = "libnice glib-2.0 libxml2 zlib dbus gstreamer gst-plugins-base"
11
12inherit autotools
13
14PACKAGECONFIG ??= ""
15PACKAGECONFIG[gupnp] = "--enable-gupnp,--disable-gupnp,gupnp-igd"
16
17EXTRA_OECONF = " \
18 --disable-debug \
19 --disable-gtk-doc \
20 --disable-python \
21"
22
23FILES_${PN} += "${libdir}/*/*.so"
24FILES_${PN}-dev += "${libdir}/*/*.la"
25FILES_${PN}-staticdev += "${libdir}/*/*.a"
26FILES_${PN}-dbg += "${libdir}/*/.debug"
27
28
29SRC_URI[md5sum] = "e1f540cf3ebab06c3d7db1f46b44ac88"
30SRC_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 @@
1SUMMARY = "Interactive Connectivity Establishment library"
2DESCRIPTION = "Libnice is an implementation of the IETF's draft Interactive Connectivity Establishment standard (ICE)."
3HOMEPAGE = "http://nice.freedesktop.org/wiki/"
4SRC_URI = "http://nice.freedesktop.org/releases/libnice-${PV}.tar.gz"
5
6LICENSE = "LGPLv2.1 & MPLv1.1"
7LIC_FILES_CHKSUM = "file://COPYING;md5=9c42325015702feda4f4d2f19a55b767 \
8 file://COPYING.LGPL;md5=2d5025d4aa3495befef8f17206a5b0a1 \
9 file://COPYING.MPL;md5=3c617710e51cdbe0fc00716f056dfb1a \
10"
11
12PR = "r4"
13
14DEPENDS = "glib-2.0 gstreamer"
15
16PACKAGECONFIG ??= ""
17PACKAGECONFIG[gupnp] = "--enable-gupnp,--disable-gupnp,gupnp-igd"
18
19inherit autotools pkgconfig gtk-doc
20
21FILES_${PN} += "${libdir}/gstreamer-0.10/*.so"
22FILES_${PN}-dev += "${libdir}/gstreamer-0.10/*.la"
23FILES_${PN}-staticdev += "${libdir}/gstreamer-0.10/*.a"
24FILES_${PN}-dbg += "${libdir}/gstreamer-0.10/.debug"
25
26do_configure_prepend() {
27 mkdir ${S}/m4 || true
28}
29
30do_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
39SRC_URI[md5sum] = "e5b9f799a57cb939ea2658ec35253ab9"
40SRC_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 @@
1From 3db6782de1de7ca4f1bb9ee7652c4f2808e57539 Mon Sep 17 00:00:00 2001
2From: Jackie Huang <jackie.huang@windriver.com>
3Date: Thu, 10 Jan 2013 12:24:33 +0800
4Subject: [PATCH] fbset 2.1 fix makefile dep modes.tab.c
5
6Upstream-Status: Inappropriate [no upstream]
7
8fix the error in parallel build:
9make: *** No rule to make target `modes.tab.h', needed by `lex.yy.o'. Stop.
10
11Signed-off-by: Jackie Huang <jackie.huang@windriver.com>
12---
13 Makefile | 2 +-
14 1 files changed, 1 insertions(+), 1 deletions(-)
15
16diff --git a/Makefile b/Makefile
17index 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--
301.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 @@
1SUMMARY = "Default display timings and resolutions for fbset"
2LICENSE = "MIT"
3LIC_FILES_CHKSUM = "file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420"
4
5PV = "0.1.0"
6PR = "r6"
7
8SRC_URI = "file://fb.modes"
9
10do_install() {
11 install -d ${D}${sysconfdir}
12 install -m 0644 ${WORKDIR}/fb.modes ${D}${sysconfdir}
13}
14
15inherit 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)
19PACKAGE_ARCH = "${MACHINE_ARCH}"
20
21CONFFILES_${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
3mode "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
8endmode
9
10mode "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
15endmode
16
17mode "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
22endmode
23
24mode "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
29endmode
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 @@
1mode "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
6endmode
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
3mode "vga" "640x480"
4 geometry 640 480 640 480 16
5endmode
6
7mode "vga-portrait" "480x640"
8 geometry 480 640 480 640 16
9endmode
10
11mode "qvga" "320x240"
12 geometry 320 240 320 240 16
13endmode
14
15mode "qvga-portrait" "240x320"
16 geometry 240 320 240 320 16
17endmode
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
3mode "vga" "640x480"
4 geometry 640 480 640 480 16
5endmode
6
7mode "vga-portrait" "480x640"
8 geometry 480 640 480 640 16
9endmode
10
11mode "qvga" "320x240"
12 geometry 320 240 320 240 16
13endmode
14
15mode "qvga-portrait" "240x320"
16 geometry 240 320 240 320 16
17endmode
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
8SUMMARY = "The fbset console tool"
9LICENSE = "GPLv2"
10LIC_FILES_CHKSUM = "file://fbset.c;endline=19;md5=bf326f82cdfcac391af208f019c5603f"
11RRECOMMENDS_${PN} = "fbset-modes"
12DEPENDS = "bison-native flex-native"
13
14PR = "r4"
15
16SRC_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
21inherit update-alternatives
22
23do_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
30ALTERNATIVE_fbset = "fbset"
31ALTERNATIVE_LINK_NAME[fbset] = "${sbindir}/fbset"
32ALTERNATIVE_TARGET[fbset] = "${sbindir}/fbset.real"
33ALTERNATIVE_PRIORITY[fbset] = "55"
34
35SRC_URI[md5sum] = "40ed9608f46d787bfb65fd1269f7f459"
36SRC_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 @@
1SUMMARY = "Test suite for Linux framebuffer"
2
3PV = "1.1.0"
4
5LICENSE = "GPLv2"
6LIC_FILES_CHKSUM = "file://COPYING;md5=eb723b61539feef013de476e68b5c50a"
7
8SRCREV = "063ec650960c2d79ac51f5c5f026cb05343a33e2"
9SRC_URI = "git://github.com/prpplague/fb-test-app.git"
10
11S = "${WORKDIR}/git"
12
13do_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 @@
1DESCRIPTION = "FFTW"
2SECTION = "libs"
3LICENSE = "GPLv2"
4LIC_FILES_CHKSUM = "file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552"
5
6PROVIDES = "virtual/fftw"
7
8RPROVIDES_${PN} += "libfftw3"
9
10SRC_URI = "http://www.fftw.org/fftw-${PV}.tar.gz"
11
12S = "${WORKDIR}/fftw-${PV}"
13
14inherit autotools pkgconfig
15
16EXTRA_OECONF = "--disable-fortran --enable-shared --enable-threads"
17
18do_configure_prepend() {
19 echo 'AM_PROG_AS' >> ${S}/configure.ac
20}
21
22PACKAGES =+ "lib${PN}"
23FILES_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 @@
1require fftw.inc
2
3SRC_URI[md5sum] = "2edab8c06b24feeb3b82bbb3ebf3e7b3"
4SRC_URI[sha256sum] = "8f0cde90929bc05587c3368d2f15cd0530a60b8a9912a8e2979a72dbe5af0982"
5
6BBCLASSEXTEND = "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 @@
1require fftw.inc
2
3# conflicts with fftw and fftwl
4EXCLUDE_FROM_WORLD = "1"
5
6EXTRA_OECONF += "--enable-single \
7 ${@base_contains('TUNE_FEATURES', 'neon', '--enable-neon', '', d)} \
8"
9
10SRC_URI[md5sum] = "2edab8c06b24feeb3b82bbb3ebf3e7b3"
11SRC_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 @@
1require fftw.inc
2
3# conflicts with fftw and fftwf
4EXCLUDE_FROM_WORLD = "1"
5
6EXTRA_OECONF += "--enable-long-double"
7
8SRC_URI[md5sum] = "2edab8c06b24feeb3b82bbb3ebf3e7b3"
9SRC_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 @@
1Index: 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
26Index: 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
44Index: 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
62Index: 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
80Index: 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=
106Index: 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-
5989Index: 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
6008Index: 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
6028Index: 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
6046Index: 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+}
6362Index: 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)
6382Index: 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
6401Index: 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
6421Index: 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
6441Index: 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
6461Index: 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
6480Index: 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
6499Index: 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:
6541Index: 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 @@
1require flite.inc
2
3PR = "r1"
4
5EXTRA_OECONF = "--with-audio=alsa --enable-shared"
6
7SRC_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
11SRC_URI[md5sum] = "ae0aca1cb7b4801f4372f3a75a9e52b5"
12SRC_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 @@
1DESCRIPTION = "flite - the festival light speech synthesizer"
2HOMEPAGE = "http://www.speech.cs.cmu.edu/flite/"
3SECTION = "console/utils"
4LICENSE = "flite"
5LIC_FILES_CHKSUM = "file://COPYING;md5=68a16b1ee49c96c36f232ccdcd287650"
6DEPENDS = "alsa-oss"
7
8PARALLEL_MAKE = ""
9
10S = "${WORKDIR}/flite-${PV}-release"
11
12CFLAGS += " -lasound "
13
14inherit autotools-brokensep
15
16PACKAGES += "lib${PN} lib${PN}-vox8 lib${PN}-vox16"
17
18FILES_${PN} = "${bindir}"
19
20FILES_lib${PN} ="${libdir}/libflite.so.* \
21 ${libdir}/libflite_cmu_time_awb.so.* \
22 ${libdir}/libflite_cmulex.so.* \
23 ${libdir}/libflite_usenglish.so.*"
24
25FILES_lib${PN}-vox8 = "${libdir}/libflite_cmu_us_kal.so.*"
26
27FILES_lib${PN}-vox16 = "${libdir}/libflite_cmu_us_kal16.so.*"
28
29LEAD_SONAME = "libflite.so"
30
31do_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 @@
1Index: 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 @@
1src/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 @@
1Imported from gentoo
2http://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 @@
1SUMMARY = "FLTK is a cross-platform C++ GUI toolkit"
2HOMEPAGE = "http://www.fltk.org"
3SECTION = "libs"
4LICENSE = "LGPLv2 & FLTK"
5LIC_FILES_CHKSUM = "file://COPYING;md5=1c0b73db66884b6a925e727400315130"
6
7DEPENDS = "alsa-lib zlib jpeg libpng libxext libxft"
8
9PR = "r1"
10
11SRC_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
17S = "${WORKDIR}/fltk-${PV}"
18
19inherit lib_package autotools-brokensep binconfig
20
21TARGET_CC_ARCH += "${LDFLAGS} -DXFT_MAJOR=2"
22
23EXTRA_OECONF = "--enable-shared \
24 --enable-threads \
25 --enable-xdbe --enable-xft --enable-gl \
26 --x-includes=${STAGING_INCDIR} --x-libraries=${STAGING_LIBDIR}"
27
28do_configure() {
29 oe_runconf
30}
31
32python populate_packages_prepend () {
33 if (d.getVar('DEBIAN_NAMES', 1)):
34 d.setVar('PKG_${PN}', 'libfltk${PV}')
35}
36
37LEAD_SONAME = "libfltk.so"
38
39SRC_URI[md5sum] = "a1765594bc427ff892e36089fe1fa672"
40SRC_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 @@
1From b1ae702a48888e2c3b0ebe0772a88b45a37b84f5 Mon Sep 17 00:00:00 2001
2From: Robert Yang <liezhi.yang@windriver.com>
3Date: Fri, 17 Jan 2014 01:58:05 -0500
4Subject: [PATCH] configure.ac: fix the subdir-objects error
5
6Fix this error:
7iautomake: warning: possible forward-incompatibility.
8automake: At least a source file is in a subdirectory, but the 'subdir-objects'
9automake: automake option hasn't been enabled. For now, the corresponding output
10automake: object file(s) will be placed in the top-level directory. However,
11automake: this behaviour will change in future Automake versions: they will
12automake: unconditionally cause object files to be placed in the same subdirectory
13automake: of the corresponding sources.
14automake: You are advised to start using 'subdir-objects' option throughout your
15automake: project, to avoid future incompatibilities.
16
17Upstream-Status: Pending
18
19Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
20---
21 configure.ac | 2 +-
22 1 file changed, 1 insertion(+), 1 deletion(-)
23
24diff --git a/configure.ac b/configure.ac
25index 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--
381.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 @@
1SUMMARY = "gd is a library used to create PNG, JPEG, or WBMP images"
2DESCRIPTION = "The gd graphics library allows your code to quickly draw images \
3complete with lines, arcs, text, multiple colors, cut and paste from other \
4images, and flood fills, and to write out the result as a PNG or JPEG file. \
5This is particularly useful in Web applications, where PNG and JPEG are two \
6of the formats accepted for inline images by most browsers. Note that gd is not \
7a paint program."
8HOMEPAGE = "http://libgd.bitbucket.org/"
9
10SECTION = "libs"
11LICENSE = "GD"
12LIC_FILES_CHKSUM = "file://COPYING;md5=c97638cafd3581eb87abd37332137669"
13DEPENDS = "freetype libpng jpeg zlib tiff libvpx"
14
15SRC_URI = "https://bitbucket.org/libgd/gd-libgd/downloads/libgd-${PV}.tar.bz2 \
16 file://fix-the-subdir-objects-error.patch \
17"
18SRC_URI[md5sum] = "5a1d5bab3a4a41d9f111bcceee4ad25b"
19SRC_URI[sha256sum] = "f3e1bc472bd81ee976a739436659fe752a14727a964c64530fde68531ddeee91"
20
21S = "${WORKDIR}/libgd-${PV}"
22
23inherit autotools binconfig gettext pkgconfig
24
25EXTRA_OECONF += " --disable-rpath \
26 --with-jpeg=${STAGING_LIBDIR}/.. \
27 --with-freetype=yes \
28 --without-fontconfig \
29 --without-xpm \
30 --without-x"
31
32EXTRA_OEMAKE = 'LDFLAGS="${LDFLAGS}"'
33
34PACKAGES += "${PN}-tools"
35
36FILES_${PN} = "${libdir}/lib*${SOLIBS}"
37FILES_${PN}-tools = "${bindir}/*"
38
39PROVIDES += "${PN}-tools"
40RPROVIDES_${PN}-tools = "${PN}-tools"
41RDEPENDS_${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 @@
1DESCRIPTION = "The glog library implements application-level logging. This \
2library provides logging APIs based on C++-style streams and various helper \
3macros."
4HOMEPAGE = "https://code.google.com/p/google-glog/"
5
6LICENSE = "BSD"
7LIC_FILES_CHKSUM = "file://COPYING;md5=dc9db360e0bbd4e46672f3fd91dd6c4b"
8
9DEPENDS = "libunwind"
10
11inherit 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 @@
1require glog.inc
2
3SRC_URI = "http://google-glog.googlecode.com/files/glog-${PV}.tar.gz"
4
5SRC_URI[md5sum] = "a6fd2c22f8996846e34c763422717c18"
6SRC_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 @@
1SUMMARY = "Fast, multi-threaded malloc() and nifty performance analysis tools"
2HOMEPAGE = "http://code.google.com/p/gperftools/"
3LICENSE = "BSD"
4LIC_FILES_CHKSUM = "file://COPYING;md5=762732742c73dc6c7fbe8632f06c059a"
5DEPENDS = "libunwind"
6
7SRC_URI = "${DEBIAN_MIRROR}/main/g/google-perftools/google-perftools_${PV}.orig.tar.gz"
8
9SRC_URI[md5sum] = "5e5a981caf9baa9b4afe90a82dcf9882"
10SRC_URI[sha256sum] = "f3ade29924f89409d8279ab39e00af7420593baa4941c318db42e70ead7e494f"
11
12inherit 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 @@
1Upstream-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
9test -x /usr/sbin/gpm || exit 0
10
11case "$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
30esac
31
32exit 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
6Index: 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 @@
1Index: 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 @@
1DESCRIPTION = "GPM (General Purpose Mouse) is a mouse server \
2for the console and xterm, with sample clients included \
3(emacs, etc)."
4SECTION = "console/utils"
5LICENSE = "GPLv2+"
6LIC_FILES_CHKSUM = "file://gpm2/core/main.c;endline=19;md5=66d3c205c4e7ee5704b2ee351dfed72f"
7
8PR = "r2"
9
10DEPENDS = "ncurses"
11
12SRC_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
18inherit autotools-brokensep update-rc.d
19
20INITSCRIPT_NAME = "gpm"
21INITSCRIPT_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
35CFLAGS += "-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]
40CFLAGS += "-Wno-error=int-to-pointer-cast -Wno-error"
41
42do_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}
49SRC_URI[md5sum] = "9fdddf5f53cb11d40bb2bb671d3ac544"
50SRC_URI[sha256sum] = "6071378b24494e36ca3ef6377606e7e565040413c86704753a162d2180af32ee"
51
52FILES_${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 @@
1DESCRIPTION = "GNU Scientific Library"
2HOMEPAGE = "http://www.gnu.org/software/gsl/"
3SECTION = "libs"
4LICENSE = "GPLv3"
5LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504"
6
7inherit autotools pkgconfig binconfig
8
9LEAD_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 @@
1include gsl.inc
2
3SRC_URI = "${GNU_MIRROR}/gsl/gsl-${PV}.tar.gz"
4
5SRC_URI[md5sum] = "494ffefd90eef4ada678c306bab4030b"
6SRC_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 @@
1DESCRIPTION = "The gSOAP toolkit provides a unique SOAP-to-C/C++ language binding \
2for the development of SOAP Web Services and clients."
3SECTION = "devel"
4LICENSE = "GPLv2"
5LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=b338b08b1b61e028e0f399a4de25e58f"
6
7SRC_URI = "${SOURCEFORGE_MIRROR}/${BPN}2/${BPN}_${PV}.zip"
8SRC_URI[md5sum] = "5700d26fc6fe3073d038349e19c3640d"
9SRC_URI[sha256sum] = "51eef118544fa846f4d2dea2eedf91c84c46a1abeafc5eee3dcff783f4015a00"
10
11inherit autotools
12
13BBCLASSEXTEND = "native"
14
15PR = "r1"
16
17S = "${WORKDIR}/${BPN}-2.8"
18
19PARALLEL_MAKE = ""
20
21EXTRA_OEMAKE_class-target = "SOAP=${STAGING_BINDIR_NATIVE}/soapcpp2"
22
23DEPENDS_class-target = "gsoap-native openssl zlib"
24DEPENDS_class-native = "flex-native"
25
26do_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
34do_install_class-native() {
35 oe_runmake DESTDIR=${D} BINDIR=${D}${bindir} install
36}
37
38FILES_${PN} = "${bindir}/wsdl2h ${bindir}/soapcpp2"
39FILES_${PN} += "${datadir}"
40FILES_${PN}-staticdev = "${libdir}"
41FILES_${PN}-dev = "${includedir}"
42RRECOMMENDS_${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 @@
1Auto-detect disks if none specified
2
3Refer to:
4https://bugzilla.redhat.com/show_bug.cgi?id=717479
5
6diff -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"
28diff -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 @@
1diff -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.
21diff -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;
37diff -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 @@
1Megapatch from debian
2
3Original URL: http://ftp.debian.org/debian/pool/main/h/hddtemp/hddtemp_0.3-beta15-52.diff.gz
4
5Filtered with:
6 filterdiff -p1 -x README -x 'debian/*'
7
8
9Upstream-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
23PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
24NAME=hddtemp
25DAEMON=/usr/sbin/$NAME
26DESC="disk temperature monitoring daemon"
27
28DISKS="/dev/hd[a-z] /dev/hd[a-z][a-z]"
29DISKS="$DISKS /dev/sd[a-z] /dev/sd[a-z][a-z]"
30DISKS="$DISKS /dev/sr[a-z] /dev/sr[a-z][a-z]"
31INTERFACE="0.0.0.0"
32PORT="7634"
33SEPARATOR="|"
34RUN_SYSLOG="0"
35
36# Reads config file (will override defaults above)
37[ -r /etc/default/hddtemp ] && . /etc/default/hddtemp
38
39if [ -n "$RUN_SYSLOG" ] && [ "$RUN_SYSLOG" != "0" ] ; then
40 SYSLOG_ARG="-S $RUN_SYSLOG"
41fi
42
43if [ "$RUN_DAEMON" = "true" ] || [ "$RUN_DAEMON" = "yes" ] ; then
44 DAEMON_ARG="-d -l $INTERFACE -p $PORT -s $SEPARATOR"
45fi
46
47[ -x "$DAEMON" ] || exit 0
48
49. /lib/lsb/init-functions
50
51case "$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 ;;
98esac
99
100exit 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 @@
1SUMMARY = "Hard disk temperature monitor daemon"
2SECTION = "console/network"
3LICENSE = "GPLv2+"
4
5PR = "r1"
6
7SRC_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
15SRC_URI[md5sum] = "8b829339e1ae9df701684ec239021bb8"
16SRC_URI[sha256sum] = "618541584054093d53be8a2d9e81c97174f30f00af91cb8700a97e442d79ef5b"
17
18LIC_FILES_CHKSUM = "file://GPL-2;md5=eb723b61539feef013de476e68b5c50a"
19
20inherit autotools gettext update-rc.d
21
22FILES_${PN} += "/usr/share/misc/hddtemp.db"
23
24do_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
31INITSCRIPT_NAME = "hddtemp"
32INITSCRIPT_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 @@
1SUMMARY = "htop process monitor"
2HOMEPAGE = "http://htop.sf.net"
3SECTION = "console/utils"
4LICENSE = "GPLv2"
5
6LIC_FILES_CHKSUM = "file://COPYING;md5=c312653532e8e669f30e5ec8bdc23be3"
7
8DEPENDS = "ncurses"
9RDEPENDS_${PN} = "ncurses-terminfo"
10
11SRC_URI = "http://hisham.hm/htop/releases/${PV}/htop-${PV}.tar.gz"
12
13SRC_URI[md5sum] = "e768b9b55c033d9c1dffda72db3a6ac7"
14SRC_URI[sha256sum] = "055c57927f75847fdc222b5258b079a9542811a9dcf5421c615c7e17f55d1829"
15
16LDFLAGS_append_libc-uclibc = " -lubacktrace"
17
18do_configure_prepend () {
19 rm -rf ${S}/config.h
20}
21
22inherit 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 @@
1Taken from upstream subversion repository:
2
3http://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 @@
1SUMMARY = "Fast and portable XML parser and Jabber protocol library"
2AUTHOR = "Gurer Ozen <meduketto at gmail.com>"
3HOMEPAGE = "http://iksemel.googlecode.com"
4SECTION = "libs"
5LICENSE = "LGPLv2.1"
6LIC_FILES_CHKSUM = "file://COPYING;md5=d8045f3b8f929c1cb29a1e3fd737b499"
7DEPENDS = "gnutls"
8
9PR = "r1"
10
11SRC_URI = "http://iksemel.googlecode.com/files/${BP}.tar.gz;name=archive \
12 file://r25.diff"
13SRC_URI[archive.md5sum] = "532e77181694f87ad5eb59435d11c1ca"
14SRC_URI[archive.sha256sum] = "458c1b8fb3349076a6cecf26c29db1d561315d84e16bfcfba419f327f502e244"
15
16inherit 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 @@
1SUMMARY = "ImageMagick is an image convertion tools"
2SECTION = "console/utils"
3LICENSE = "ImageMagick"
4LIC_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.
6DEPENDS = "lcms bzip2 jpeg libpng librsvg tiff zlib virtual/fftw freetype"
7
8PATCHSET = "8"
9SRC_URI = "http://www.imagemagick.org/download/releases/ImageMagick-${PV}-${PATCHSET}.tar.bz2 \
10"
11SRC_URI[md5sum] = "7e96f55156d72ce59c76ec93362ec72a"
12SRC_URI[sha256sum] = "51e0eb0b56e2f16be11c29086a97d474ffd07fe4eb5a9858d8a9c8e9c054c99a"
13
14S = "${WORKDIR}/ImageMagick-${PV}-${PATCHSET}"
15
16inherit 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
20EXTRA_OECONF = "--program-prefix= --program-suffix=.im6 --without-x --without-perl --disable-openmp --without-xml --disable-opencl"
21
22CACHED_CONFIGUREVARS = "ac_cv_sys_file_offset_bits=yes"
23PACKAGECONFIG ??= ""
24PACKAGECONFIG[jp2] = "--with-jp2,,jasper"
25PACKAGECONFIG[lzma] = "--with-lzma,--without-lzma,xz"
26PACKAGECONFIG[pango] = "--with-pango,--without-pango,pango cairo"
27PACKAGECONFIG[webp] = "--with-webp,--without-webp,libwebp"
28PACKAGECONFIG[wmf] = "--with-wmf,--without-wmf,libwmf"
29
30FILES_${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
37FILES_${PN}-dev += "${libdir}/ImageMagick-${PV}/modules-Q16/*/*.a"
38
39FILES_${PN}-dbg += "${libdir}/ImageMagick-${PV}/modules-Q16/*/.debug/*"
40
41BBCLASSEXTEND = "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 @@
1SUMMARY = "C and C++ INI Library"
2HOMEPAGE = "http://code.google.com/p/inih/"
3PV = "0.0+gitr${SRCPV}"
4PKGV = "${GITPKGVTAG}"
5LICENSE = "BSD"
6LIC_FILES_CHKSUM = "file://LICENSE;md5=dae28cbf28207425e0d0b3eb835f4bde"
7
8PR = "r3"
9
10# The github repository provides a cmake and pkg-config integration
11SRCREV = "25078f7156eb8647b3b35dd25f9ae6f8c4ee0589"
12SRC_URI = "git://github.com/OSSystems/inih.git"
13
14S = "${WORKDIR}/git"
15
16inherit gitpkgv cmake
17
18# We don't have libinih since we only have static libraries
19ALLOW_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 @@
1SUMMARY = "ISO language, territory, currency, script codes and their translations"
2LICENSE = "LGPLv2.1"
3LIC_FILES_CHKSUM = "file://LGPL-2.1;md5=fbc093901857fcd118f065f900982c24"
4
5PR = "r2"
6
7SRC_URI = "ftp://pkg-isocodes.alioth.debian.org/pub/pkg-isocodes/iso-codes-${PV}.tar.bz2"
8SRC_URI[md5sum] = "4073466e57df23d39721513219e4f7ae"
9SRC_URI[sha256sum] = "0a7cf177c25b3f0d77c60a5f1149aab9e03ba70f69bac70138a867efe19a1d97"
10
11# inherit gettext cannot be used, because it adds gettext-native to BASEDEPENDS which
12# are inhibited by allarch
13DEPENDS = "gettext-native"
14
15inherit autotools allarch
16
17FILES_${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 @@
1SECTION = "console/utils"
2SUMMARY = "Console text editor with good functionality, good choice for vi-haters"
3HOMEPAGE = "http://joe-editor.sourceforge.net/"
4LICENSE = "GPLv1"
5LIC_FILES_CHKSUM = "file://COPYING;md5=da10ed7cf8038981c580e11c1d3e8fb6"
6
7SRC_URI = "${SOURCEFORGE_MIRROR}/joe-editor/joe-${PV}.tar.gz"
8
9PACKAGECONFIG ??= "curses"
10PACKAGECONFIG[curses] = "--enable-curses,--disable-curses,ncurses,ncurses-terminfo"
11
12inherit autotools
13
14SRC_URI[md5sum] = "2a6ef018870fca9b7df85401994fb0e0"
15SRC_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 @@
1SUMMARY = "Little cms is a small-footprint, speed optimized color management engine"
2SECTION = "libs"
3LICENSE = "MIT"
4LIC_FILES_CHKSUM = "file://COPYING;md5=6c786c3b7a4afbd3c990f1b81261d516"
5SRC_URI = "${SOURCEFORGE_MIRROR}/lcms/lcms2-${PV}.tar.gz"
6SRC_URI[md5sum] = "f4c08d38ceade4a664ebff7228910a33"
7SRC_URI[sha256sum] = "5172528839647c54c3da211837225e221be93e4733f5b5e9f57668f7107e14b1"
8
9DEPENDS = "tiff"
10
11BBCLASSEXTEND = "native"
12
13S = "${WORKDIR}/lcms2-${PV}"
14
15inherit 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 @@
1SUMMARY = "ATA S.M.A.R.T. Reading and Parsing Library"
2LICENSE = "LGPLv2.1"
3LIC_FILES_CHKSUM = "file://LGPL;md5=2d5025d4aa3495befef8f17206a5b0a1"
4
5DEPENDS = "udev"
6
7SRCREV = "de6258940960443038b4c1651dfda3620075e870"
8SRC_URI = "git://git.0pointer.de/libatasmart.git"
9
10S = "${WORKDIR}/git"
11
12inherit autotools lib_package pkgconfig
13
14do_install_append() {
15 sed -i -e s://:/:g -e 's:=${libdir}/libudev.la:-ludev:g' ${D}${libdir}/libatasmart.la
16}
17
18PACKAGES =+ "${PN}-dev-vala"
19FILES_${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 @@
1From 4a89ddffbb14d747adbe3365ace4db87de52ba39 Mon Sep 17 00:00:00 2001
2From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@googlemail.com>
3Date: Mon, 16 Sep 2013 16:08:28 +0200
4Subject: [PATCH] build gtk- and gtk3-version for canberra_gtk_play
5MIME-Version: 1.0
6Content-Type: text/plain; charset=UTF-8
7Content-Transfer-Encoding: 8bit
8
9Signed-off-by: Andreas Müller <schnitzeltony@googlemail.com>
10---
11 src/Makefile.am | 25 +++++++++++++++----------
12 1 files changed, 15 insertions(+), 10 deletions(-)
13
14diff --git a/src/Makefile.am b/src/Makefile.am
15index 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--
911.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 @@
1SUMMARY = "Implementation of XDG Sound Theme and Name Specifications"
2DESCRIPTION = "Libcanberra is an implementation of the XDG Sound Theme and Name Specifications, for generating event sounds on free desktops."
3LICENSE = "LGPLv2.1+"
4LIC_FILES_CHKSUM = "file://LGPL;md5=2d5025d4aa3495befef8f17206a5b0a1 \
5 file://src/canberra.h;beginline=7;endline=24;md5=c616c687cf8da540a14f917e0d23ab03"
6
7DEPENDS = "gstreamer gtk+ gtk+3 libtool libvorbis"
8
9inherit autotools gtk-doc
10
11SRC_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"
15SRC_URI[md5sum] = "2594093a5d61047bd9cc87e955f86df8"
16SRC_URI[sha256sum] = "127a5ef07805856d63758e5180ebfb241d1f80094fd301c287591a15b8cfcd72"
17
18EXTRA_OECONF = "\
19 --enable-null \
20 --enable-gstreamer \
21 --disable-oss \
22 --enable-gtk \
23 --enable-gtk3 \
24 --disable-tdb \
25 --disable-lynx \
26"
27
28PACKAGECONFIG ??= "${@base_contains('DISTRO_FEATURES','alsa','alsa','',d)} \
29 ${@base_contains('DISTRO_FEATURES','pulseaudio','pulseaudio','',d)} \
30"
31PACKAGECONFIG[alsa] = "--enable-alsa, --disable-alsa, alsa-lib"
32PACKAGECONFIG[pulseaudio] = "--enable-pulse, --disable-pulse, pulseaudio"
33
34python 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
40PACKAGES =+ "${PN}-gnome ${PN}-gtk2 ${PN}-gtk3 ${PN}-systemd"
41PACKAGES_DYNAMIC += "^libcanberra-.*"
42
43FILES_${PN} = "${bindir}/ ${libdir}/${BPN}.so.*"
44
45FILES_${PN}-dev += "${datadir}/vala/vapi ${libdir}/*/modules/*.la ${libdir}/*/*.la"
46
47FILES_${PN}-dbg += "${libdir}/${BPN}-${PV}/.debug ${libdir}/gtk-*/modules/.debug"
48
49FILES_${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
54INSANE_SKIP_${PN}-gtk3 = "dev-so"
55FILES_${PN}-gtk3 = "${libdir}/${BPN}-gtk3.so.* \
56 ${libdir}/gtk-3.0/modules/*.so \
57 ${bindir}/canberra-gtk3-play"
58
59FILES_${PN}-gnome = "${libdir}/gnome-settings-daemon-3.0/ \
60 ${datadir}/gdm/ ${datadir}/gnome/"
61
62FILES_${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
5DESCRIPTION = "Database Drivers for libdbi"
6HOMEPAGE = "http://libdbi-drivers.sourceforge.net/"
7LICENSE = "LGPLv2.1"
8LIC_FILES_CHKSUM = "file://COPYING;md5=d8045f3b8f929c1cb29a1e3fd737b499"
9SECTION = "libs"
10
11PROVIDES = "libdbd-sqlite"
12DEPENDS = "libdbi sqlite sqlite3 mysql5 postgresql"
13
14SRC_URI = "${SOURCEFORGE_MIRROR}/libdbi-drivers/libdbi-drivers-${PV}.tar.gz"
15
16inherit autotools
17
18PACKAGES += "libdbd-sqlite3 libdbd-sqlite libdbd-pgsql libdbd-mysql"
19
20EXTRA_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
36FILES_${PN}-dbg += " ${libdir}/dbd/.debug/*.so"
37FILES_${PN}-dev += " ${libdir}/dbd/*.la"
38FILES_${PN}-staticdev += " ${libdir}/dbd/*.a"
39
40DESCRIPTION_libdbd-sqlite = "SQLite database driver for libdbi"
41FILES_libdbd-sqlite = "${libdir}/dbd/libdbdsqlite.so"
42
43DESCRIPTION_libdbd-sqlite3 = "SQLite3 database driver for libdbi"
44FILES_libdbd-sqlite3 = "${libdir}/dbd/libdbdsqlite3.so"
45
46DESCRIPTION_libdbd-mysql = "MySQL4 database driver for libdbi"
47FILES_libdbd-mysql = "${libdir}/dbd/libdbdmysql.so"
48
49DESCRIPTION_libdbd-psql = "Postgres SQL database driver for libdbi"
50FILES_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 @@
1require ${PN}.inc
2
3
4SRC_URI[md5sum] = "4de79b323162a5a7652b65b608eca6cd"
5SRC_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
5DESCRIPTION = "Database Independent Abstraction Layer for C"
6HOMEPAGE = "http://libdbi.sourceforge.net/"
7LICENSE = "LGPLv2.1"
8LIC_FILES_CHKSUM = "file://COPYING;md5=d8045f3b8f929c1cb29a1e3fd737b499"
9SECTION = "libs"
10
11INC_PR = "r0"
12
13SRC_URI = "${SOURCEFORGE_MIRROR}/libdbi/libdbi-${PV}.tar.gz"
14
15inherit autotools
16
17EXTRA_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 @@
1require ${PN}.inc
2
3PR = "${INC_PR}.0"
4
5SRC_URI[md5sum] = "c5f15407ef7b07ba854cd8c9b15b88ff"
6SRC_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 @@
1SUMMARY = "An Event Expression Library inspired by CEE"
2DESCRIPTION = "The core idea of libee is to provide a small \
3but hopefully convenient API layer above the CEE standard."
4
5HOMEPAGE = "http://www.libee.org"
6SECTION = "base"
7
8LICENSE = "LGPL-2.1+"
9LIC_FILES_CHKSUM = "file://COPYING;md5=1c2687de35e36ba3b999136236a66cd6"
10
11SRC_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
17inherit autotools ptest pkgconfig
18
19DEPENDS += "libestr"
20
21PACKAGECONFIG ??= "${@base_contains('DISTRO_FEATURES', 'ptest', 'testbench', '', d)}"
22
23PACKAGECONFIG[debug] = "--enable-debug,--disable-debug,,"
24PACKAGECONFIG[testbench] = "--enable-testbench,--disable-testbench,,"
25
26TESTDIR = "tests"
27
28# We presume the tests we are going to install so just build them directly.
29#
30do_compile_ptest() {
31 oe_runmake -C ${TESTDIR} genfile ezapi1
32}
33
34do_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#
3echo ---------------------------------------------------------------------------
4echo A very basic test for the event class
5echo ---------------------------------------------------------------------------
6rm -f infile
7./genfile 100 > infile
8./ezapi1 -iinfile
9if [ $? -ne 0 ] ; then
10 echo "FAIL: $0"
11 exit 1
12fi
13echo "PASS: $0"
14rm -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 @@
1fix parallel compiling problem
2
3without specifying libee_convert_DEPENDENCIES = libee.la, libee_convert
4can't find libee.la when linking as libee is not generated yet.
5
6Upstream-Status: pending
7
8Signed-off-by: Yao Zhao <yao.zhao@windriver.com>
9---
10diff --git a/src/Makefile.am b/src/Makefile.am
11index 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 @@
1require ${BPN}.inc
2
3SRC_URI[md5sum] = "7bbf4160876c12db6193c06e2badedb2"
4SRC_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 @@
1libeigen: don't try building tests
2
3While configuring, if the tests are enabled, it checks some machine-specific
4settings which we don't want to do while cross-compiling.
5
6Upstream-Status: Inappropriate [configuration]
7
8Signed-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 @@
1DESCRIPTION = "Eigen is a C++ template library for linear algebra: matrices, vectors, numerical solvers, and related algorithms."
2AUTHOR = "Benoît Jacob and Gaël Guennebaud and others"
3HOMEPAGE = "http://eigen.tuxfamily.org/"
4LICENSE = "MPL-2.0"
5LIC_FILES_CHKSUM = "file://COPYING.MPL2;md5=815ca599c9df247a0c7f619bab123dad"
6
7SRC_URI = "http://bitbucket.org/eigen/eigen/get/${PV}.tar.bz2 \
8 file://eigen-disable-tests.patch"
9SRC_URI[md5sum] = "894381be5be65bb7099c6fd91d61b357"
10SRC_URI[sha256sum] = "011f78960d939227f9276173d0c4cc0053bb9e0a7356539a9a6c7c89d984fab6"
11
12S = "${WORKDIR}/eigen-eigen-ffa86ffb5570"
13
14inherit cmake
15
16EXTRA_OECMAKE += "-Dpkg_config_libdir=${libdir}"
17
18FILES_${PN} = "${includedir} ${libdir}"
19
20# ${PN} is empty so we need to tweak -dev and -dbg package dependencies
21RDEPENDS_${PN}-dev = ""
22RRECOMMENDS_${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 @@
1SUMMARY = "some essentials for string handling (and a bit more)"
2HOMEPAGE = "http://libestr.adiscon.com/"
3LICENSE = "LGPLv2.1"
4LIC_FILES_CHKSUM = "file://COPYING;md5=9d6c993486c18262afba4ca5bcb894d0"
5
6SRC_URI = "http://libestr.adiscon.com/files/download/${BP}.tar.gz"
7
8SRC_URI[md5sum] = "f48a7098080eebfe7842673c23dcd064"
9SRC_URI[sha256sum] = "b9c819d30397845fdf85bb1f37c52e81de23aa3b061ec6cc4386f1b942960153"
10
11inherit 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 @@
1Index: 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 @@
1Index: 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 @@
1DESCRIPTION = "libetpan is a library for communicating with mail and news servers. \
2It supports the protocols SMTP, POP3, IMAP and NNTP."
3HOMEPAGE = "http://www.etpan.org"
4SECTION = "libs"
5DEPENDS = "gnutls liblockfile curl"
6LICENSE = "BSD"
7LIC_FILES_CHKSUM = "file://COPYRIGHT;md5=f18ebe7e452708c26f83954f81062ba7"
8
9PR = "r1"
10
11SRC_URI = "${SOURCEFORGE_MIRROR}/libetpan/libetpan-${PV}.tar.gz \
12 file://libetpan-autoreconf.patch \
13 file://libetpan-ldflags.patch \
14 file://sepbuild.patch"
15
16inherit autotools pkgconfig gettext binconfig
17
18EXTRA_OECONF = "--without-openssl --without-sasl --with-gnutls --disable-db"
19
20PARALLEL_MAKE = ""
21
22FILES_${PN} = "${libdir}/lib*.so.*"
23FILES_${PN}-dev = "${bindir} ${includedir} ${libdir}/lib*.so ${libdir}/*.la ${libdir}/*.a ${libdir}/pkgconfig"
24
25
26SRC_URI[md5sum] = "8ce8c6c071e81884a475b12b7f9a9cc0"
27SRC_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 @@
1Index: 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 \
15Index: 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 @@
1DESCRIPTION = "libftdi is a library to talk to FTDI chips.\
2FT232BM/245BM, FT2232C/D and FT232/245R using libusb,\
3including the popular bitbang mode."
4HOMEPAGE = "http://www.intra2net.com/en/developer/libftdi/"
5SECTION = "libs"
6
7PR = "r1"
8
9LICENSE = "LGPLv2.1 GPLv2"
10LIC_FILES_CHKSUM= "file://COPYING.GPL;md5=751419260aa954499f7abaabaa882bbe \
11 file://COPYING.LIB;md5=db979804f025cf55aabec7129cb671ed \
12"
13
14PNBLACKLIST[libftdi] = "BROKEN: needs to be updated to detect libusb with pkg-config instead of libusb-config"
15
16DEPENDS = "virtual/libusb0"
17DEPENDS_virtclass-native = "virtual/libusb0-native"
18
19SRC_URI = "http://www.intra2net.com/en/developer/libftdi/download/libftdi-${PV}.tar.gz \
20 file://libtool-m4.patch \
21"
22SRC_URI[md5sum] = "e6e25f33b4327b1b7aa1156947da45f3"
23SRC_URI[sha256sum] = "567c9d2c42d92fc401c5aba2deed45ffb2433990984e816bcdf31e441aef06be"
24
25PACKAGECONFIG ??= ""
26PACKAGECONFIG[cpp-wrapper] = "--enable-libftdipp,--disable-libftdipp,boost"
27
28inherit autotools binconfig pkgconfig
29
30BBCLASSEXTEND = "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 @@
1DESCRIPTION = "Liblinebreak is an implementation of the line breaking algorithm as described in Unicode 5.1.0 Standard Annex 14, Revision 22"
2HOMEPAGE = "http://vimgadgets.sourceforge.net/liblinebreak/"
3SECTION = "libs"
4LICENSE = "zlib"
5LIC_FILES_CHKSUM = "file://LICENCE;md5=3715191da62bafb5cfc4ff36195b2ec3"
6
7SRC_URI = "${SOURCEFORGE_MIRROR}/project/vimgadgets/liblinebreak/${PV}/liblinebreak-${PV}.tar.gz"
8SRC_URI[md5sum] = "d18039259001ccb24b5dd4648c49c5ad"
9SRC_URI[sha256sum] = "9efcb0cb1afc75ad1e92d2b2dbf4d9c77b072d6656c5f1a150af8b718d0c7b76"
10
11inherit 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 @@
1SUMMARY = "Replacement for the old crypt() package and crypt(1) command, with extensions"
2HOMEPAGE = "http://mcrypt.sourceforge.net/"
3LICENSE = "LGPLv2.1"
4LIC_FILES_CHKSUM = "file://COPYING.LIB;md5=bbb461211a33b134d42ed5ee802b37ff"
5DEPENDS = "libtool"
6
7SRC_URI = "${SOURCEFORGE_MIRROR}/project/mcrypt/Libmcrypt/${PV}/libmcrypt-${PV}.tar.gz"
8
9SRC_URI[md5sum] = "0821830d930a86a5c69110837c55b7da"
10SRC_URI[sha256sum] = "e4eb6c074bbab168ac47b947c195ff8cef9d51a211cdd18ca9c9ef34d27a373e"
11
12inherit 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 @@
1DESCRIPTION = "A small C library that is supposed to make it easy to run an HTTP server as part of another application"
2HOMEPAGE = "http://www.gnu.org/software/libmicrohttpd/"
3LICENSE = "LGPL-2.1+"
4LIC_FILES_CHKSUM = "file://COPYING;md5=9331186f4f80db7da0e724bdd6554ee5"
5SECTION = "net"
6DEPENDS = "libgcrypt gnutls file"
7
8SRC_URI = "http://ftp.gnu.org/gnu/libmicrohttpd/${BPN}-${PV}.tar.gz"
9SRC_URI[md5sum] = "2947eee13c2c8affb95023a0cb6fda0c"
10SRC_URI[sha256sum] = "29a2bfd4fd2ddf60c756b8c283291a134898e3cc143843be421a040be1b25a88"
11
12inherit autotools lib_package
13
14# disable spdy, because it depends on openssl
15EXTRA_OECONF += "--disable-static --with-gnutls=${STAGING_LIBDIR}/../ --disable-spdy"
16
17PACKAGECONFIG ?= "curl"
18PACKAGECONFIG_append_class-target = "\
19 ${@base_contains('DISTRO_FEATURES', 'largefile', 'largefile', '', d)} \
20"
21PACKAGECONFIG[largefile] = "--enable-largefile,--disable-largefile,,"
22PACKAGECONFIG[curl] = "--enable-curl,--disable-curl,curl,"
23
24do_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
4DESCRIPTION = "C library implementing OAuth Core RFC 5849"
5HOMEPAGE = "http://liboauth.sourceforge.net"
6LICENSE = "MIT|GPL-2.0"
7LIC_FILES_CHKSUM = "file://COPYING.MIT;md5=6266718a5241c045c8099d9be48817df \
8 file://COPYING.GPL;md5=0636e73ff0215e8d672dc4c32c317bb3"
9SECTION = "libs"
10DEPENDS = "curl openssl"
11
12SRC_URI = "${SOURCEFORGE_MIRROR}/project/${BPN}/${BP}.tar.gz"
13SRC_URI[md5sum] = "689b46c2b3ab1a39735ac33f714c4f7f"
14SRC_URI[sha256sum] = "0df60157b052f0e774ade8a8bac59d6e8d4b464058cc55f9208d72e41156811f"
15
16inherit 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 @@
1Index: 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 @@
1SUMMARY = "A tiny C support library"
2SECTION = "libs"
3LICENSE = "GPLv2"
4LIC_FILES_CHKSUM = "file://COPYING;md5=c93c0550bd3173f4504b2cbd8991e50b"
5
6SRC_URI = "http://www.balabit.com/downloads/files/libol/0.3/${BP}.tar.gz \
7 file://configure.patch"
8SRC_URI[md5sum] = "cbadf4b7ea276dfa85acc38a1cc5ff17"
9SRC_URI[sha256sum] = "9de3bf13297ff882e02a1e6e5f6bf760a544aff92a9d8a1cf4328a32005cefe7"
10
11inherit autotools binconfig
12
13do_compile_prepend() {
14 install ${S}/utils/make_class.in ${B}/utils
15}
16
17do_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 @@
1SUMMARY = "base library for low-level IEEE 1394 accesses"
2HOMEPAGE = "https://ieee1394.wiki.kernel.org/index.php/Libraries#libraw1394"
3SECTION = "libs"
4LICENSE = "LGPL-2.1"
5LIC_FILES_CHKSUM = "file://COPYING.LIB;md5=d8045f3b8f929c1cb29a1e3fd737b499"
6
7SRC_URI = "https://www.kernel.org/pub/linux/libs/ieee1394/${BPN}-${PV}.tar.gz"
8SRC_URI[md5sum] = "d06cccb776b240b6ab5efdee33b87af2"
9SRC_URI[sha256sum] = "a83cff16fb8885831bc29d7d17f3c570dc39251d89e20795c08e87720de0ba70"
10
11inherit 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 @@
1Index: 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 @@
1freetype-config was removed from oe-core in
2
3commit 5870bd272b0b077d0826fb900b251884c1c05061
4Author: Richard Purdie <richard.purdie@linuxfoundation.org>
5Date: Thu May 22 10:59:33 2014 +0100
6
7 binconfig-disabled: Add class and use
8
9diff --git a/configure.in b/configure.in
10index 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 @@
1SUMMARY = "Simple DirectMedia Layer truetype font library"
2SECTION = "libs"
3DEPENDS = "virtual/libsdl freetype"
4LICENSE = "LGPLv2.1"
5LIC_FILES_CHKSUM = "file://COPYING;md5=27818cd7fd83877a8e3ef82b82798ef4"
6
7PR = "r2"
8
9SRC_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
14S = "${WORKDIR}/SDL_ttf-${PV}"
15EXTRA_OECONF += "SDL_CONFIG=${STAGING_BINDIR_CROSS}/sdl-config "
16
17inherit autotools
18
19TARGET_CC_ARCH += "${LDFLAGS}"
20
21do_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
32SRC_URI[md5sum] = "814e6e17e8879254208d23b3b7e0354b"
33SRC_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 @@
1SUMMARY = "A Library to Access SMI MIB Information"
2
3LICENSE = "BSD"
4LIC_FILES_CHKSUM = "file://COPYING;md5=3ad3076f9332343a21636cfd351f05b7"
5
6SRC_URI = "ftp://ftp.ibr.cs.tu-bs.de/pub/local/libsmi/${BP}.tar.gz"
7
8SRC_URI[md5sum] = "760b6b1070738158708649ed2c63425e"
9SRC_URI[sha256sum] = "f048a5270f41bc88b0c3b0a8fe70ca4d716a46b531a0ecaaa87c462f49d74849"
10
11inherit autotools
12
13PACKAGES += "${PN}-mibs ${PN}-pibs"
14
15FILES_${PN}-mibs += "${datadir}/mibs"
16FILES_${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 @@
1SUMMARY = "Library for interfacing with common SoC peripherals"
2DESCRIPTION = "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
5HOMEPAGE = "https://github.com/jackmitch/libsoc"
6
7LICENSE = "LGPLv2.1"
8LIC_FILES_CHKSUM = "file://COPYING;md5=e0bfebea12a718922225ba987b2126a5"
9
10inherit autotools
11
12SRCREV = "3643cf161a4b37bfbdfd05437166c4a29ac3ed8d"
13SRC_URI = "git://github.com/jackmitch/libsoc.git"
14
15S = "${WORKDIR}/git"
16
17RDEPENDS_${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 @@
1SUMMARY = "Multiplatform C library implementing the SSHv2 and SSHv1 protocol"
2HOMEPAGE = "http://www.libssh.org"
3SECTION = "libs"
4
5DEPENDS = "zlib openssl libgcrypt"
6
7LICENSE = "LGPLv2.1"
8LIC_FILES_CHKSUM = "file://COPYING;md5=388a4fb1dea8ceae0be78ba9b01fc139"
9
10SRC_URI = "git://git.libssh.org/projects/libssh.git;branch=v0-6"
11SRCREV = "87145387aa12b720b52d6bc75b4dd6cd058c868a"
12S = "${WORKDIR}/git"
13
14EXTRA_OECMAKE = " \
15 -DWITH_GCRYPT=1 \
16 -DWITH_PCAP=1 \
17 -DWITH_SFTP=1 \
18 -DWITH_ZLIB=1 \
19 "
20
21inherit cmake
22
23do_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
29FILES_${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 @@
1SUMMARY = "A client-side C library implementing the SSH2 protocol"
2HOMEPAGE = "http://www.libssh2.org/"
3SECTION = "libs"
4
5DEPENDS = "zlib openssl"
6
7LICENSE = "BSD"
8LIC_FILES_CHKSUM = "file://COPYING;md5=d00afe44f336a79a2ca7e1681ce14509"
9
10SRC_URI = "http://www.libssh2.org/download/${BP}.tar.gz"
11SRC_URI[md5sum] = "071004c60c5d6f90354ad1b701013a0b"
12SRC_URI[sha256sum] = "eac6f85f9df9db2e6386906a6227eb2cd7b3245739561cad7d6dc1d5d021b96d"
13
14inherit autotools pkgconfig
15
16EXTRA_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 @@
1Description: TinyXml is built with TIXML_USE_STL, so we have to
2 enforce it when the library is used.
3Author: Felix Geyer <debfx-pkg@fobos.de>
4
5Upstream-Status: Pending
6
7diff -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 @@
1Description: TinyXML incorrectly encodes text element containing
2 an ampersand followed by either x or #.
3
4Origin: http://sourceforge.net/tracker/index.php?func=detail&aid=3031828&group_id=13559&atid=313559
5
6Upstream-Status: Pending
7
8diff -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- // &#xA9; -- 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;
43diff -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&amp;#xa+bar</foo>");
54+ std::string str;
55+ str << xml;
56+ XmlTest( "Entity escaping", "<foo>foo&amp;#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
3SUMMARY = "a simple, small, minimal, C++ XML parser"
4HOMEPAGE = "http://www.sourceforge.net/projects/tinyxml"
5LICENSE = "Zlib"
6LIC_FILES_CHKSUM = "file://readme.txt;md5=f8f366f3370dda889f60faa7db162cf4"
7SECTION = "libs"
8
9PR = "r5"
10
11SRC_URI = "${SOURCEFORGE_MIRROR}/tinyxml/tinyxml_${@'${PV}'.replace('.', '_')}.tar.gz \
12 file://enforce-use-stl.patch \
13 file://entity-encoding.patch"
14SRC_URI[md5sum] = "c1b864c96804a10526540c664ade67f0"
15SRC_URI[sha256sum] = "15bdfdcec58a7da30adc87ac2b078e4417dbe5392f3afb719f9ba6d062645593"
16
17S = "${WORKDIR}/tinyxml"
18
19EXTRA_CXXFLAGS = "-I. -fPIC"
20
21do_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
36do_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
45BBCLASSEXTEND += "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 @@
1SUMMARY = "TinyXML-2 is a simple, small, efficient, C++ XML parser that can be easily integrating into other programs."
2HOMEPAGE = "http://www.grinninglizard.com/tinyxml2/"
3LICENSE = "Zlib"
4LIC_FILES_CHKSUM = "file://readme.md;md5=0033b2f8a25283414b21354670bb1334"
5SECTION = "libs"
6
7SRCREV = "d211bb13512cf4edb408e2c4badbcf4100ce0fd0"
8
9PV = "2.2.0+git${SRCPV}"
10
11SRC_URI = "git://github.com/leethomason/tinyxml2.git"
12
13S = "${WORKDIR}/git"
14
15EXTRA_CXXFLAGS = "-I. -fPIC"
16
17do_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
28do_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
37BBCLASSEXTEND += "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 @@
1From 6118c6ec1291a5c731aa8d4f0c1eb8cce43d47ad Mon Sep 17 00:00:00 2001
2From: Koen Kooi <koen@dominion.thruhere.net>
3Date: Mon, 4 Aug 2014 09:04:08 +0200
4Subject: [PATCH] Fix out-of-tree builds
5
6The include flag should point to the source directory, not the build
7directory.
8
9Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
10Upstream-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
16diff --git a/examples/Makefile.am b/examples/Makefile.am
17index 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
27diff --git a/src/Makefile.am b/src/Makefile.am
28index 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--
381.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 @@
1SUMMARY = "USB Gadget Configfs Library"
2
3LICENSE = "GPLv2 & LGPLv2.1"
4LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
5 file://COPYING.LGPL;md5=4fbd65380cdd255951079008b364516c"
6
7inherit autotools
8
9PV = "0.1.0"
10SRCREV = "a826d136e0e8fa53815f1ba05893e6dd74208c15"
11SRC_URI = "git://github.com/libusbg/libusbg.git \
12 file://0001-Fix-out-of-tree-builds.patch \
13 "
14
15S = "${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 @@
1Heap-based buffer overflow in the yaml_parser_scan_uri_escapes function
2in LibYAML before 0.1.6 allows context-dependent attackers to execute
3arbitrary code via a long sequence of percent-encoded characters in a
4URI in a YAML file.
5
6Upstream-Status: Backport
7
8Signed-off-by: Kai Kang <kai.kang@windriver.com>
9---
10diff --git a/src/scanner.c.old b/src/scanner.c
11index 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 }
24diff --git a/src/yaml_private.h.old b/src/yaml_private.h
25index 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 @@
1SUMMARY = "LibYAML is a YAML 1.1 parser and emitter written in C."
2DESCRIPTION = "LibYAML is a C library for parsing and emitting data in YAML 1.1, \
3a human-readable data serialization format. "
4HOMEPAGE = "http://pyyaml.org/wiki/LibYAML"
5SECTION = "libs/devel"
6
7LICENSE = "MIT"
8LIC_FILES_CHKSUM = "file://LICENSE;md5=6015f088759b10e0bc2bf64898d4ae17"
9
10SRC_URI = "http://pyyaml.org/download/libyaml/yaml-${PV}.tar.gz \
11 file://libyaml-CVE-2014-2525.patch \
12 "
13
14SRC_URI[md5sum] = "24f6093c1e840ca5df2eb09291a1dbf1"
15SRC_URI[sha256sum] = "fa87ee8fb7b936ec04457bc044cd561155e1000a4d25029867752e543c2d3bef"
16
17S = "${WORKDIR}/yaml-${PV}"
18
19inherit autotools
20
21BBCLASSEXTEND = "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]
2Encoding=UTF-8
3Name=Links
4Comment=Links is a browser very similar to lynx
5Comment[es]=El links es un browser para modo texto, similar a lynx
6Comment[pl]=Links jest przeglÄ…darkÄ… podobnÄ… do lynksa
7Comment[pt]=O links é um browser para modo texto, similar ao lynx
8Comment[pt_BR]=O links é um browser para modo texto, similar ao lynx
9Exec=links -g
10Terminal=true
11Icon=links2
12Type=Application
13Categories=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 @@
1require links.inc
2
3DEPENDS += "virtual/libx11"
4RCONFLICTS_${PN} = "links"
5
6SRC_URI += " file://links2.desktop \
7 http://www.xora.org.uk/oe/links2.png;name=icon"
8
9S = "${WORKDIR}/links-${PV}"
10
11EXTRA_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
17do_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
24SRC_URI[md5sum] = "d06aa6e14b2172d73188871a5357185a"
25SRC_URI[sha256sum] = "0c182b1cbcdfd5cdcd2f75a6032d1a4b660d07c1225c1e07757cec81d3302130"
26SRC_URI[icon.md5sum] = "477e8787927c634614bac01b44355a33"
27SRC_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 @@
1DESCRIPTION = "Links is graphics and text mode WWW \
2browser, similar to Lynx."
3HOMEPAGE = "http://links.twibright.com/"
4SECTION = "console/network"
5LICENSE = "GPLv2"
6LIC_FILES_CHKSUM = "file://COPYING;md5=65e735be2e05d5943803344148f57603"
7DEPENDS = "jpeg libpng flex openssl zlib"
8
9SRC_URI = "http://links.twibright.com/download/links-${PV}.tar.bz2 \
10 file://ac-prog-cxx.patch \
11"
12
13PACKAGECONFIG ??= ""
14PACKAGECONFIG[bzip2] = "--with-bzip2,--without-bzip2,bzip2"
15PACKAGECONFIG[lzma] = "--with-lzma,--without-lzma,xz"
16
17inherit 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 @@
1require links.inc
2
3DEPENDS += "gpm"
4RCONFLICTS_${PN} = "links-x11"
5
6EXTRA_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
12SRC_URI[md5sum] = "d06aa6e14b2172d73188871a5357185a"
13SRC_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 @@
1SUMMARY = "lio-utils"
2DESCRIPTION = "a simple low-level configuration tool set for the Target+iSCSI (LIO)"
3HOMEPAGE = "http://linux-iscsi.org/index.php/Lio-utils"
4LICENSE = "GPLv2"
5LIC_FILES_CHKSUM = "file://debian/copyright;md5=c3ea231a32635cbb5debedf3e88aa3df"
6
7PV = "4.1+git${SRCPV}"
8
9SRC_URI = "git://risingtidesystems.com/lio-utils.git"
10SRCREV = "28bd928655bdc7bd3cf380f0196630690c51e05f"
11S = "${WORKDIR}/git"
12
13inherit distutils
14
15EXTRA_OEMAKE += "DESTDIR=${D}"
16
17do_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
29do_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
56RDEPENDS_${PN} += "python-stringold python-subprocess python-shell \
57 python-datetime python-textutils python-crypt python-netclient python-email"
58
59FILES_${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>
8Generate 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
16SENSORD_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 @@
1SUMMARY = "lm_sensors configuration files"
2DESCRIPTION = "Hardware health monitoring configuration files"
3HOMEPAGE = "http://www.lm-sensors.org/"
4LICENSE = "MIT-X"
5LIC_FILES_CHKSUM = "file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420"
6
7PACKAGE_ARCH = "${MACHINE_ARCH}"
8
9SRC_URI = "file://fancontrol \
10 file://sensord.cgi \
11 file://sensord.conf \
12 file://sensors.conf \
13"
14
15RDEPENDS_${PN}-dev = ""
16
17do_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
37PACKAGES =+ "${PN}-libsensors"
38
39# sensord logging daemon configuration
40PACKAGES =+ "${PN}-sensord"
41
42# fancontrol script configuration
43PACKAGES =+ "${PN}-fancontrol"
44
45# sensord web cgi support
46PACKAGES =+ "${PN}-cgi"
47RRECOMMENDS_${PN}-cgi = "lighttpd lighttpd-module-cgi"
48RDEPENDS_${PN}-cgi = "${PN}-sensord"
49FILES_${PN}-cgi = "/www/*"
50
51# libsensors configuration file
52FILES_${PN}-libsensors = "${sysconfdir}/sensors.d/sensors.conf"
53
54# sensord logging daemon configuration files
55FILES_${PN}-sensord = "${sysconfdir}/sensord.conf"
56
57# fancontrol script configuration file
58FILES_${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
14PATH=/sbin:/usr/sbin:/bin:/usr/bin
15
16DESC="fan control daemon"
17NAME="fancontrol"
18FANCONTROL=`which $NAME`
19PIDFILE="/var/run/fancontrol.pid"
20
21# Exit if the package is not installed
22[ -x "$FANCONTROL" ] || exit 0
23
24case "$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 ;;
45esac
46
47exit 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
14PATH=/sbin:/usr/sbin:/bin:/usr/bin
15
16DESC="sensors logging daemon"
17NAME="sensord"
18SENSORD=`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
26case "$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 ;;
47esac
48
49exit 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 @@
1SUMMARY = "lm_sensors"
2DESCRIPTION = "Hardware health monitoring applications"
3HOMEPAGE = "http://www.lm-sensors.org/"
4LICENSE = "GPLv2+ & LGPLv2.1+"
5LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe \
6 file://COPYING.LGPL;md5=4fbd65380cdd255951079008b364516c"
7
8DEPENDS = "sysfsutils virtual/libiconv bison-native flex-native rrdtool"
9
10SRC_URI = "http://dl.lm-sensors.org/lm-sensors/releases/lm_sensors-${PV}.tar.bz2 \
11 file://fancontrol.init \
12 file://sensord.init \
13"
14SRC_URI[md5sum] = "da506dedceb41822e64865f6ba34828a"
15SRC_URI[sha256sum] = "5dae6a665e1150159a93743c4ff1943a7efe02cd9d3bb12c4805e7d7adcf4fcf"
16
17inherit update-rc.d
18
19RDEPENDS_${PN}-dev = ""
20
21INITSCRIPT_PACKAGES = "${PN}-fancontrol ${PN}-sensord"
22INITSCRIPT_NAME_${PN}-fancontrol = "fancontrol"
23INITSCRIPT_NAME_${PN}-sensord = "sensord"
24INITSCRIPT_PARAMS_${PN}-fancontrol = "defaults 66"
25INITSCRIPT_PARAMS_${PN}-sensord = "defaults 67"
26
27S = "${WORKDIR}/lm_sensors-${PV}"
28
29EXTRA_OEMAKE = 'LINUX=${STAGING_KERNEL_DIR} EXLDFLAGS="${LDFLAGS}" \
30 MACHINE=${TARGET_ARCH} PREFIX=${prefix} MANDIR=${mandir} \
31 LIBDIR=${libdir} \
32 CC="${CC}" AR="${AR}"'
33
34do_compile() {
35 oe_runmake user PROG_EXTRA="sensors sensord"
36}
37
38do_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
55PACKAGES =+ "${PN}-libsensors ${PN}-libsensors-dbg ${PN}-libsensors-dev ${PN}-libsensors-staticdev ${PN}-libsensors-doc"
56
57# sensors command packages
58PACKAGES =+ "${PN}-sensors ${PN}-sensors-dbg ${PN}-sensors-doc"
59
60# sensord logging daemon
61PACKAGES =+ "${PN}-sensord ${PN}-sensord-dbg ${PN}-sensord-doc"
62
63# fancontrol script
64PACKAGES =+ "${PN}-fancontrol ${PN}-fancontrol-doc"
65
66# sensors-detect script
67PACKAGES =+ "${PN}-sensorsdetect ${PN}-sensorsdetect-doc"
68
69# sensors-conf-convert script
70PACKAGES =+ "${PN}-sensorsconfconvert ${PN}-sensorsconfconvert-doc"
71
72# pwmconfig script
73PACKAGES =+ "${PN}-pwmconfig ${PN}-pwmconfig-doc"
74
75# isadump and isaset helper program
76PACKAGES =+ "${PN}-isatools ${PN}-isatools-dbg ${PN}-isatools-doc"
77
78# libsensors files
79FILES_${PN}-libsensors = "${libdir}/libsensors.so.* ${sysconfdir}/sensors3.conf ${sysconfdir}/sensors.d"
80FILES_${PN}-libsensors-dbg = "${libdir}/.debug ${prefix}/src/debug"
81FILES_${PN}-libsensors-dev = "${libdir}/libsensors.so ${includedir}"
82FILES_${PN}-libsensors-staticdev = "${libdir}/libsensors.a"
83FILES_${PN}-libsensors-doc = "${mandir}/man3"
84RRECOMMENDS_${PN}-libsensors = "lmsensors-config-libsensors"
85
86# sensors command files
87FILES_${PN}-sensors = "${bindir}/sensors"
88FILES_${PN}-sensors-dbg = "${bindir}/.debug/sensors"
89FILES_${PN}-sensors-doc = "${mandir}/man1 ${mandir}/man5"
90RDEPENDS_${PN}-sensors = "${PN}-libsensors"
91
92# sensord logging daemon
93FILES_${PN}-sensord = "${bindir}/sensord ${sysconfdir}/init.d/sensord"
94FILES_${PN}-sensord-dbg = "${bindir}/.debug/sensord"
95FILES_${PN}-sensord-doc = "${mandir}/man8/sensord.8"
96RDEPENDS_${PN}-sensord = "${PN}-sensors rrdtool"
97RRECOMMENDS_${PN}-sensord = "lmsensors-config-sensord"
98
99# fancontrol script files
100FILES_${PN}-fancontrol = "${sbindir}/fancontrol ${sysconfdir}/init.d/fancontrol"
101FILES_${PN}-fancontrol-doc = "${mandir}/man8/fancontrol.8"
102RDEPENDS_${PN}-fancontrol = "bash"
103RRECOMMENDS_${PN}-fancontrol = "lmsensors-config-fancontrol"
104
105# sensors-detect script files
106FILES_${PN}-sensorsdetect = "${sbindir}/sensors-detect"
107FILES_${PN}-sensorsdetect-doc = "${mandir}/man8/sensors-detect.8"
108RDEPENDS_${PN}-sensorsdetect = "${PN}-sensors perl perl-modules"
109
110# sensors-conf-convert script files
111FILES_${PN}-sensorsconfconvert = "${bindir}/sensors-conf-convert"
112FILES_${PN}-sensorsconfconvert-doc = "${mandir}/man8/sensors-conf-convert.8"
113RDEPENDS_${PN}-sensorsconfconvert = "${PN}-sensors perl perl-modules"
114
115# pwmconfig script files
116FILES_${PN}-pwmconfig = "${sbindir}/pwmconfig"
117FILES_${PN}-pwmconfig-doc = "${mandir}/man8/pwmconfig.8"
118RDEPENDS_${PN}-pwmconfig = "${PN}-fancontrol"
119
120# isadump and isaset helper program files
121FILES_${PN}-isatools = "${sbindir}/isa*"
122FILES_${PN}-isatools-dbg = "${sbindir}/.debug/isa*"
123FILES_${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 @@
1SUMMARY = "Locking devices library"
2SECTION = "libs"
3LICENSE = "LGPLv2.1"
4LIC_FILES_CHKSUM="file://COPYING;md5=4fbd65380cdd255951079008b364516c"
5
6PV = "1.0.3+git${SRCPV}"
7
8SRCREV = "16b899645d32012cc94cc9232f64d4ddaaf0b795"
9SRC_URI = "git://anonscm.debian.org/lockdev/lockdev.git"
10
11S = "${WORKDIR}/git"
12
13inherit lib_package autotools-brokensep
14
15do_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 @@
1The original use of AC_ARG_WITH is buggy and causes expat support
2to be *disabled* if "--with-expat" is passed to configure.
3
4Upstream status: pending
5
6Index: 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 @@
1SUMMARY = "Log4c is a C library for flexible logging to files, syslog and other destinations"
2HOMEPAGE = "http://log4c.sourceforge.net"
3LICENSE = "LGPLv2"
4LIC_FILES_CHKSUM = "file://COPYING;md5=4fbd65380cdd255951079008b364516c"
5
6SRC_URI = "${SOURCEFORGE_MIRROR}/${BPN}/${BP}.tar.gz \
7 file://fix_configure_with-expat.patch"
8
9SRC_URI[md5sum] = "0d94919136e1d16b68427562e74cb3dd"
10SRC_URI[sha256sum] = "5991020192f52cc40fa852fbf6bbf5bd5db5d5d00aa9905c67f6f0eadeed48ea"
11
12PACKAGECONFIG ??= "expat"
13PACKAGECONFIG[expat] = "--with-expat,--without-expat,expat"
14
15inherit 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 @@
1SECTION = "utils"
2DESCRIPTION = "LVM2 is a set of utilities to manage logical volumes in Linux."
3DEPENDS = "udev"
4LICENSE = "GPLv2 & LGPLv2"
5LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f \
6 file://COPYING.LIB;md5=fbc093901857fcd118f065f900982c24"
7INC_PR = "r4"
8
9
10S = "${WORKDIR}/LVM2.${PV}"
11SRC_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
16PACKAGECONFIG ??= "readline"
17PACKAGECONFIG[readline] = "--enable-readline,--disable-readline,readline"
18
19# Unset user/group to unbreak install.
20EXTRA_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
34PACKAGECONFIG += "${@base_contains('DISTRO_FEATURES', 'selinux', 'selinux', '', d)}"
35
36PACKAGECONFIG[selinux] = "--enable-selinux,--disable-selinux,libselinux,"
37
38inherit autotools pkgconfig
39
40do_install_append() {
41 # Install machine specific configuration file
42 install -m 0644 ${WORKDIR}/lvm.conf ${D}${sysconfdir}/lvm/lvm.conf
43}
44
45TARGET_CC_ARCH += "${LDFLAGS}"
46
47FILES_${PN} += "${libdir}/device-mapper/*.so ${base_libdir}/udev"
48FILES_${PN}-dbg += "${libdir}/device-mapper/.debug"
49
50RDEPENDS_${PN} = "bash"
51
52CONFFILES_${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 @@
1From e2484e179c389b98366c8b66b451d9d2ba8f35e8 Mon Sep 17 00:00:00 2001
2From: Zhenhua Luo <zhenhua.luo@freescale.com>
3Date: Tue, 25 Mar 2014 17:39:43 +0800
4Subject: [PATCH] Replace CPPFunction with rl_completion_func_t
5
6lvm2 depends on readline, CPPFunction has been replaced by rl_completion_func_t
7in recent readline,
8
9Upstream-Status: Inappropriate [configuration]
10The change depends on the build environment, it is required by OpenEmbedded env
11due to readline upgrade.
12
13Signed-off-by: Zhenhua Luo <zhenhua.luo@freescale.com>
14---
15 tools/lvm.c | 2 +-
16 1 file changed, 1 insertion(+), 1 deletion(-)
17
18diff --git a/tools/lvm.c b/tools/lvm.c
19index 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--
321.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.
13devices {
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.
86log {
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.
135backup {
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.
163shell {
164
165 # Number of lines of history to store in ~/.lvm_history
166 history_size = 100
167}
168
169
170# Miscellaneous global LVM2 settings
171global {
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
228activation {
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 @@
1Subject: [PATCH] fix: mlock ignore [vectors] gate_vma
2
3Upstream-Status: Pending
4
5linux kernel has a new commit f9d4861f for [vectors] vma on ARM
6"ARM: 7294/1: vectors: use gate_vma for vectors user mapping".
7
8mlock()/munlock() on a gate_vma would cause NOMEM error, so add
9[vectors] to _ignore_maps[], as other gate_vmas [vdso]/[vsyscall]
10did.
11
12Signed-off-by: Xin Ouyang <Xin.Ouyang@windriver.com>
13---
14 lib/mm/memlock.c | 1 +
15 1 file changed, 1 insertion(+)
16
17diff --git a/lib/mm/memlock.c b/lib/mm/memlock.c
18index 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--
301.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 @@
1require lvm2.inc
2
3PR = "${INC_PR}.0"
4
5SRC_URI[md5sum] = "d18bd01334309db1c422b9bf6b181057"
6SRC_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 @@
1SUMMARY = "Lzip is a lossless data compressor based on the LZMA algorithm"
2HOMEPAGE = "http://lzip.nongnu.org/lzip.html"
3SECTION = "console/utils"
4LICENSE = "GPLv3"
5LIC_FILES_CHKSUM = "file://COPYING;md5=f27defe1e96c2e1ecd4e0c9be8967949"
6
7SRC_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
12SRC_URI[md5sum] = "e83a364c8544fc66cccb552369d93220"
13SRC_URI[sha256sum] = "7cd3fcda68fc9900efcf7784313e3bdd1303fef1a0546db9723f5e5564dd05b6"
14
15CONFIGUREOPTS = "\
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"
28EXTRA_OEMAKE = ""
29
30B = "${S}/obj"
31do_configure () {
32 ${S}/configure ${CONFIGUREOPTS}
33}
34
35do_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
43BBCLASSEXTEND += "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 @@
1From 33554f9b3fd493c7e28617fd01466ffa87251f27 Mon Sep 17 00:00:00 2001
2From: Samuel Stirtzel <s.stirtzel@googlemail.com>
3Date: Wed, 1 Aug 2012 13:21:51 +0200
4Subject: [PATCH] Fix MALIIT_INSTALL_PRF to allow the build with openembedded
5
6Upstream-Status: Inappropriate [configuration]
7
8Signed-off-by: Samuel Stirtzel <s.stirtzel@googlemail.com>
9---
10 config.pri | 8 +++++---
11 1 file changed, 5 insertions(+), 3 deletions(-)
12
13diff --git a/config.pri b/config.pri
14index 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--
331.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 @@
1From fb6acbd2af9ed288c1c4f4200fc73d8d9955486a Mon Sep 17 00:00:00 2001
2From: Samuel Stirtzel <s.stirtzel@googlemail.com>
3Date: Wed, 1 Aug 2012 13:33:10 +0200
4Subject: [PATCH] Fix QT_IM_PLUGIN_PATH to allow openembedded to build Maliit
5
6Upstream-Status: Inappropriate [configuration]
7
8Signed-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
13diff --git a/input-context/input-context.pri b/input-context/input-context.pri
14index 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--
331.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 @@
1From cc33efdedbec9e9a55e9a0c6756516fd84d42e53 Mon Sep 17 00:00:00 2001
2From: Samuel Stirtzel <s.stirtzel@googlemail.com>
3Date: Fri, 1 Mar 2013 11:31:41 +0100
4Subject: [PATCH] Link to libmaliit-1,0 in inputcontext plugin
5
6Signed-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
11diff --git a/input-context/input-context-plugin/input-context-plugin.pro b/input-context/input-context-plugin/input-context-plugin.pro
12index 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--
221.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 @@
1From 839e0933f09309a0374aa58cc58439c3a1f157b2 Mon Sep 17 00:00:00 2001
2From: =?UTF-8?q?Andreas=20M=C3=BCller?= <schnitzeltony@googlemail.com>
3Date: Tue, 14 May 2013 10:24:48 +0200
4Subject: [PATCH] ut_maliit_glib_settings: fix build for glib 2.36
5MIME-Version: 1.0
6Content-Type: text/plain; charset=UTF-8
7Content-Transfer-Encoding: 8bit
8
9Upstream-Status: Inappropriate [code removed upstream]
10
11Signed-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
16diff --git a/tests/ut_maliit_glib_settings/ut_maliit_glib_settings.c b/tests/ut_maliit_glib_settings/ut_maliit_glib_settings.c
17index 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--
321.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]
2Name=Maliit server
3Exec=/usr/bin/maliit-server
4Icon=
5Type=Application
6Categories=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 @@
1SUMMARY = "A virtual keyboard for touch-screen based user interfaces"
2HOMEPAGE = "https://wiki.maliit.org/Main_Page"
3
4LICENSE = "LGPLv2.1"
5LIC_FILES_CHKSUM = "file://LICENSE.LGPL;md5=5c917f6ce94ceb8d8d5e16e2fca5b9ad"
6
7inherit autotools qt4x11 gtk-immodules-cache
8
9PNBLACKLIST[maliit-framework] ?= "BROKEN: Wasn't updated to work with B!=S, maybe incorrectly inherits autotools"
10
11DEPENDS = "libxcomposite dbus gtk+3 gtk+"
12
13SRC_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
21SRCREV = "750842dec74a9b17dca91ef779c4fc5a43c4d9dc"
22PV = "0.92.3+git${SRCPV}"
23PR = "r1"
24
25
26PACKAGES =+ "${PN}-gtk"
27GTKIMMODULES_PACKAGES = "${PN}-gtk"
28
29RDEPENDS_${PN} = "qt4-plugin-inputmethod-imsw-multi libqtsvg4"
30
31RRECOMMENDS_${PN} = "maliit-plugins"
32
33
34FILES_${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
40FILES_${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
48FILES_${PN}-dev += "${datadir}/qt4"
49
50FILES_${PN}-gtk +="\
51 ${bindir}/maliit-exampleapp-gtk* \
52 \
53 ${libdir}/gtk-*/*/immodules/libim-maliit.so\
54"
55
56EXTRA_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
68EXTRA_OEMAKE += "INSTALL_ROOT=${D}"
69
70do_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
79pkg_postinst_${PN} () {
80#!/bin/sh
81# should run online
82if [ "x$D" != "x" ]; then
83 exit 1
84fi
85echo "export QT_IM_MODULE=Maliit" >> /etc/xprofile
86ln -s /usr/share/applications/maliit-server.desktop /etc/xdg/autostart/maliit-server.desktop
87}
88
89pkg_postrm_${PN} () {
90#!/bin/sh
91# should run online
92if [ "x$D" = "x" ]; then
93 exit 1
94fi
95if [ -e "/etc/xprofile" ]; then
96 sed -i -e "g|export QT_IM_MODULE=Maliit|d" /etc/xprofile
97fi
98rm -f /etc/xdg/autostart/maliit-server.desktop
99}
100
101S = "${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 @@
1SUMMARY = "Plugins for a virtual keyboard for touch-screen based user interfaces"
2HOMEPAGE = "https://wiki.maliit.org/Main_Page"
3
4LICENSE = "BSD"
5LIC_FILES_CHKSUM = "file://LICENSE;md5=f29b21caa8e460097bfad9c026a33621"
6
7inherit autotools qt4x11
8
9PNBLACKLIST[maliit-plugins] ?= "BROKEN: depends on broken maliit-framework"
10
11DEPENDS = "maliit-framework"
12
13RDEPENDS_${PN} += "qt4-plugin-iconengine-svgicon qt4-plugin-imageformat-svg"
14
15SRC_URI = "git://github.com/maliit/plugins.git;branch=master"
16
17SRCREV = "0760e585df494b394df1b887e5138ffef19c481f"
18PV = "0.92.3+git${SRCPV}"
19
20EXTRA_QMAKEVARS_PRE = "\
21 PREFIX=${prefix} \
22 LIBDIR=${libdir} \
23 CONFIG+=nodoc \
24"
25
26FILES_${PN} += "\
27 ${libdir}/maliit \
28 ${datadir} \
29"
30
31FILES_${PN}-dbg += "${libdir}/maliit/plugins-*/.debug"
32
33S= "${WORKDIR}/git"
34
35EXTRA_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 @@
1DESCRIPTION = "mbuffer is a tool for buffering data streams with a large set of unique features."
2HOMEPAGE = "http://www.maier-komor.de/mbuffer.html"
3LICENSE = "GPLv3"
4LIC_FILES_CHKSUM = "file://LICENSE;md5=d32239bcb673463ab874e80d47fae504"
5SECTION = "console/network"
6
7SRC_URI = " \
8 http://www.maier-komor.de/software/mbuffer/mbuffer-20140310.tgz \
9"
10
11SRC_URI[md5sum] = "9937d7f666c19a2e6b2499b04dbecc44"
12SRC_URI[sha256sum] = "ab90b6fdce16db2bf08bcda0bc5d2bfb053a9a163d2a24f95fbf246460549b99"
13
14inherit autotools
15
16PACKAGECONFIG ??= ""
17PACKAGECONFIG[md5] = "--enable-md5,--disable-md5,openssl"
18
19do_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 @@
1diff -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 @@
1SUMMARY = "A portable version of the mg maintained by the OpenBSD team"
2HOMEPAGE = "http://homepage.boetes.org/software/mg/"
3LICENSE = "PD"
4LIC_FILES_CHKSUM = "file://version.c;md5=811e1b67a5cd60c12b218a2b7c1adbf2"
5DEPENDS = "ncurses"
6SECTION = "console/editors"
7
8SRC_URI = "http://homepage.boetes.org/software/mg/mg-${PV}.tar.gz \
9 file://remove_ncurses_check.patch"
10
11SRC_URI[md5sum] = "2de35316fa8ebafe6003efaae70b723e"
12SRC_URI[sha256sum] = "1cd37d7e6a3eecc890a5718c38b8f38495057ba93856762a756ccee2f9618229"
13
14do_configure () {
15 sed -i Makefile.in -e 's,^prefix=.*,prefix=${prefix},'
16 ./configure
17}
18
19do_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 @@
1SECTION = "base"
2SUMMARY = "MIME files 'mime.types' & 'mailcap', and support programs"
3LICENSE = "PD"
4LIC_FILES_CHKSUM = "file://debian/README;md5=36bbe2ace0a05c3fb684b73208fbf30b"
5
6DEPENDS = "file"
7RDEPENDS_${PN} = "perl"
8RRECOMMENDS_${PN} = "file"
9
10SRC_URI = "${DEBIAN_MIRROR}/main/m/mime-support/mime-support_${PV}-1.tar.gz"
11S = "${WORKDIR}/${PN}"
12
13FILES_${PN} += " ${libdir}/mime"
14
15docdir_append = "/${PN}"
16
17do_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
57SRC_URI[md5sum] = "d6e5d715e331147352c50c158dbdec6d"
58SRC_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
4SUMMARY = "A minimal iconv implementation w/ support for UTF-8, ASCII, ISO-8859-1"
5HOMEPAGE = "http://tinderbox.dev.gentoo.org/portage/local/misc/mini-iconv/"
6LICENSE = "MPL-1.1"
7SECTION = "libs"
8DEPENDS = ""
9PROVIDES = "virtual/libiconv"
10LIC_FILES_CHKSUM = "file://iconv.c;beginline=1;endline=6;md5=35af9d9924327fe8a0a1fe3a2cb454c8"
11SRC_URI = "http://mirror.meleeweb.net/pub/linux/gentoo/distfiles/mini-iconv.tar.bz2"
12SRC_URI[md5sum] = "84412221e26505a2b3855d4a1cdcd0e0"
13SRC_URI[sha256sum] = "3552262bf1bcf8e859a2a3a7adfb0367af8593383e730c492e981477aac0a0d4"
14
15
16S = "${WORKDIR}/${PN}"
17
18do_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 @@
1From f1bd00e7f54aad6479bc809c27d5cd3c2fb993eb Mon Sep 17 00:00:00 2001
2From: Michael Hudson-Doyle <michael.hudson@linaro.org>
3Date: Fri, 20 Dec 2013 11:10:43 +1300
4Subject: [PATCH 1/5] Make it possible to disable the use of v8.
5
6Currently v8 is always built in, no matter what you pass to scons.
7
8This 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
14diff --git a/SConstruct b/SConstruct
15index 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--
491.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 @@
1From 5b22f64a2e2237082d2733698b07147d27b09ad2 Mon Sep 17 00:00:00 2001
2From: Michael Hudson-Doyle <michael.hudson@linaro.org>
3Date: Fri, 20 Dec 2013 12:28:27 +1300
4Subject: [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
10diff --git a/src/mongo/scripting/engine_none.cpp b/src/mongo/scripting/engine_none.cpp
11index 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--
241.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 @@
1From eab4316597a8e9e7bbf845a054564c6daa4a95b7 Mon Sep 17 00:00:00 2001
2From: Michael Hudson-Doyle <michael.hudson@linaro.org>
3Date: Wed, 22 Jan 2014 13:53:10 +1300
4Subject: [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
12diff --git a/SConstruct b/SConstruct
13index 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")
40diff --git a/src/mongo/SConscript b/src/mongo/SConscript
41index 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--
631.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 @@
1From d02f33d860f2d11f71e9056782a2e75603d6ec25 Mon Sep 17 00:00:00 2001
2From: Koen Kooi <koen.kooi@linaro.org>
3Date: Tue, 4 Feb 2014 10:56:35 +0100
4Subject: [PATCH 4/5] replace os.uname with os.getenv(OE_TARGET_ARCH)
5
6This fixes crosscompilation
7
8Signed-off-by: Koen Kooi <koen.kooi@linaro.org>
9Upstream-Status: Inappropiate [OE specific]
10---
11 SConstruct | 8 ++++----
12 1 file changed, 4 insertions(+), 4 deletions(-)
13
14diff --git a/SConstruct b/SConstruct
15index 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--
491.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 @@
1From e31f85e6915d4bf6ed76c5da71c235525fa4ecc3 Mon Sep 17 00:00:00 2001
2From: Koen Kooi <koen.kooi@linaro.org>
3Date: Mon, 14 Apr 2014 10:29:42 +0200
4Subject: [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
8Forward ported from http://pkgs.fedoraproject.org/cgit/mongodb.git/tree/mongodb-2.4.5-atomics.patch
9
10Upstream-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
16diff --git a/src/mongo/bson/util/atomic_int.h b/src/mongo/bson/util/atomic_int.h
17index 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; }
60diff --git a/src/mongo/platform/atomic_intrinsics_gcc_generic.h b/src/mongo/platform/atomic_intrinsics_gcc_generic.h
61index 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--
1261.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 @@
1SUMMARY = "mongodb"
2LICENSE = "AGPL-3.0 & Apache-2.0"
3LIC_FILES_CHKSUM = "file://GNU-AGPL-3.0.txt;md5=73f1eb20517c55bf9493b7dd6e480788 \
4 file://APACHE-2.0.txt;md5=3b83ef96387f14655fc854ddc3c6bd57"
5
6DEPENDS = "openssl libpcre boost libpcap"
7# Mongo uses tcmalloc on x86_64, which is provided by gperftools
8DEPENDS_append_x86-64 = " gperftools"
9
10inherit scons
11
12PV = "2.6.0+git${SRCPV}"
13SRCREV = "be1905c24c7e5ea258e537fbf0d2c502c4fc6de2"
14SRC_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
22S = "${WORKDIR}/git"
23
24export OE_TARGET_ARCH="${TARGET_ARCH}"
25
26EXTRA_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 @@
1Always use devmapper for kpartx
2
3Do not try to compute the LIBDM_API_COOKIE make variable
4from host information when cross-compiling.
5
6Upstream-Status: Inappropriate [embedded specific]
7
8Signed-off-by: Aws Ismail <aws.ismail@windriver.com>
9Signed-off-by: Joe Slater <joe.slater@windriver.com>
10
11diff --git a/kpartx/Makefile b/kpartx/Makefile
12index 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 @@
1Always use devmapper
2
3Do not try to compute several _API_ make variables
4from host information when cross-compiling.
5
6Upstream-Status: Inappropriate [embedded specific]
7
8Signed-off-by: Aws Ismail <aws.ismail@windriver.com>
9Signed-off-by: Joe Slater <joe.slater@windriver.com>
10
11diff --git a/libmultipath/Makefile b/libmultipath/Makefile
12index 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 @@
1multipath-tools: modify Makefile.inc for cross-compilation
2
3Do not look for systemd info on the host, and allow us to pass in CFLAGS
4using the OPTFLAGS variable.
5
6Upstream-Status: Inappropriate [embedded specific]
7
8Signed-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
19DAEMON=/sbin/multipathd
20prog=`basename $DAEMON`
21initdir=/etc/init.d
22lockdir=/var/lock/subsys
23sysconfig=/etc/sysconfig
24syspath=/sys/block
25
26RETVAL=0
27
28teardown_slaves()
29{
30pushd $1 > /dev/null
31if [ -d "slaves" ]; then
32for slave in slaves/*;
33do
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
47else
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
54fi
55popd > /dev/null
56}
57
58#
59# See how we were called.
60#
61
62start() {
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
71force_stop() {
72 echo -n $"Stopping $prog daemon: "
73 killall $DAEMON
74 RETVAL=$?
75 [ $RETVAL -eq 0 ] && rm -f $lockdir/$prog
76 echo
77}
78
79stop() {
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
90restart() {
91 stop
92 start
93}
94
95force_restart() {
96 force_stop
97 start
98}
99
100reload() {
101 echo -n "Reloading $prog: "
102 trap "" SIGHUP
103 killall $DAEMON -s SIGHUP -v
104 RETVAL=$?
105 echo
106}
107
108case "$1" in
109start)
110 start
111 ;;
112stop)
113 stop
114 ;;
115force-stop)
116 force_stop
117 ;;
118force-reload|reload)
119 reload
120 ;;
121restart)
122 restart
123 ;;
124force-restart)
125 force_restart
126 ;;
127condrestart|try-restart)
128 if [ -f $lockdir/$prog ]; then
129 restart
130 fi
131 ;;
132status)
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
144esac
145
146exit $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 @@
1SUMMARY = "The upstream project used to drive the Device Mapper multipathing driver"
2
3DEPENDS = "lvm2 libaio readline udev"
4
5LICENSE = "LGPLv2"
6
7SRC_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#
27SRCREV = "aec68ab217fd2956443b27ceeb97dd6475267789"
28LIC_FILES_CHKSUM = "file://COPYING;md5=b06690e7a95c166eefe0199b39118eb1"
29
30inherit systemd
31
32
33S = "${WORKDIR}/git"
34
35PV = "0.5.0+git${@'${SRCPV}'.split('+')[-1]}"
36
37# The exact version of SYSTEMD does not matter but should be greater than 209.
38#
39EXTRA_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
46do_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
59FILES_${PN}-dbg += "${base_libdir}/multipath/.debug"
60
61# systemd and udev stuff always goes under /lib!
62#
63FILES_${PN} += "${base_libdir}/multipath \
64 /lib/systemd"
65
66PACKAGES =+ "kpartx"
67FILES_kpartx = "${base_sbindir}/kpartx \
68 /lib/udev/kpartx_id"
69
70RDEPENDS_${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 @@
1require mariadb_${PV}.inc
2inherit native
3
4PROVIDES += "mysql5-native"
5DEPENDS = "ncurses-native zlib-native"
6
7RDEPENDS_${PN} = ""
8PACKAGES = ""
9EXTRA_OEMAKE = ""
10
11do_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 @@
1Avoid CMAKE_MODULE_PATH being overwritten
2
3OE-Core's setting of CMAKE_MODULE_PATH stomps on MariaDB's value unless
4we set it after setting the project name.
5
6Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
7
8Upstream-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 @@
1From 6db2a606196fb38a6d106dc409eee1cb9a40a440 Mon Sep 17 00:00:00 2001
2From: Tor Didriksen <tor.didriksen@oracle.com>
3Date: Mon, 24 Jun 2013 17:15:35 +0200
4Subject: [PATCH] Bug#16809055 MYSQL 5.6 AND 5.7 STILL USE LIBMYSQLCLIENT.SO.18
5
6With this patch, the libmysql/ directory contains:
7libmysqlclient.a
8libmysqlclient_r.a -> libmysqlclient.a
9libmysqlclient_r.so -> libmysqlclient.so*
10libmysqlclient_r.so.18 -> libmysqlclient.so.18*
11libmysqlclient_r.so.18.1.0 -> libmysqlclient.so.18.1.0*
12libmysqlclient.so -> libmysqlclient.so.18*
13libmysqlclient.so.18 -> libmysqlclient.so.18.1.0*
14libmysqlclient.so.18.1.0*
15
16This fixes libmysqlclient_r symlinks pointing to the unversioned
17libmysqlclient.so symlink (leading to package QA errors since the
18libmysqlclient-r package ends up depending on libmysqlclient-dev).
19
20Borrowed from MySQL 5.6 tree at https://github.com/percona/mysql/
21
22Upstream-Status: Pending
23
24Signed-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
32diff --git a/cmake/install_macros.cmake b/cmake/install_macros.cmake
33index 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}"
85diff --git a/libmysql/CMakeLists.txt b/libmysql/CMakeLists.txt
86index 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--
1602.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
3port = 3306
4socket = /tmp/mysql.sock
5
6[mysqld_safe]
7err-log = /var/log/mysql.err
8
9[mysqld]
10user = mysql
11port = 3306
12socket = /tmp/mysql.sock
13pid-file = /var/lib/mysql/mysqld.pid
14log-error = /var/log/mysqld.err
15basedir = /usr
16datadir = /var/mysql
17skip-external-locking
18skip-networking
19ignore-builtin-innodb
20default-storage-engine = myisam
21bind-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]
2Description=MariaDB database server
3After=syslog.target
4After=network.target
5
6[Service]
7Type=simple
8User=mysql
9Group=mysql
10ExecStart=@BINDIR@/mysqld_safe --basedir=@PREFIX@
11TimeoutSec=300
12PrivateTmp=true
13
14[Install]
15WantedBy=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 @@
1Remove host path from include directories
2
3Naturally this breaks cross-compilation if present.
4
5Upstream-Status: Pending
6
7Signed-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 @@
1require ${PN}_${PV}.inc
2
3EXTRA_OECMAKE += "-DSTACK_DIRECTION=-1"
4
5DEPENDS += "mariadb-native ncurses zlib readline libaio"
6
7PROVIDES += "mysql5"
8
9RPROVIDES_${PN} += "mysql5"
10RREPLACES_${PN} += "mysql5"
11RCONFLICTS_${PN} += "mysql5"
12
13RPROVIDES_${PN}-dbg += "mysql5-dbg"
14RREPLACES_${PN}-dbg += "mysql5-dbg"
15RCONFLICTS_${PN}-dbg += "mysql5-dbg"
16
17RPROVIDES_${PN}-leftovers += "mysql5-leftovers"
18RREPLACES_${PN}-leftovers += "mysql5-leftovers"
19RCONFLICTS_${PN}-leftovers += "mysql5-leftovers"
20
21RPROVIDES_${PN}-client += "mysql5-client"
22RREPLACES_${PN}-client += "mysql5-client"
23RCONFLICTS_${PN}-client += "mysql5-client"
24
25RPROVIDES_${PN}-server += "mysql5-server"
26RREPLACES_${PN}-server += "mysql5-server"
27RCONFLICTS_${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 @@
1SUMMARY = "A robust, scalable, and reliable SQL server"
2HOMEPAGE = "http://mariadb.org"
3SECTION = "libs"
4LICENSE = "GPLv2"
5LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe"
6
7SRC_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
15SRC_URI[md5sum] = "917a807d8cf2c8ef9deedd2a89b6decd"
16SRC_URI[sha256sum] = "cb850865ab55ce5f01c99a612cc75b76ead5d75adfa75a606f453d32f9089d14"
17
18S = "${WORKDIR}/mariadb-${PV}"
19
20BINCONFIG_GLOB = "mysql_config"
21
22inherit cmake gettext binconfig update-rc.d useradd systemd
23
24INITSCRIPT_PACKAGES = "${PN}-server"
25INITSCRIPT_NAME = "mysqld"
26INITSCRIPT_PARAMS = "start 45 5 . stop 45 0 6 1 ."
27
28USERADD_PACKAGES = "${PN}-server"
29USERADD_PARAM_${PN}-server = "--system --home-dir /var/mysql -g mysql --shell /bin/false mysql"
30GROUPADD_PARAM_${PN}-server = "--system mysql"
31
32SYSTEMD_PACKAGES = "${PN}-server"
33SYSTEMD_SERVICE_${PN}-server = "mysqld.service"
34SYSTEMD_AUTO_ENABLE_mariadb-server = "disable"
35
36EXTRA_OEMAKE = "'GEN_LEX_HASH=${STAGING_BINDIR_NATIVE}/gen_lex_hash'"
37
38PACKAGECONFIG ??= "${@bb.utils.contains('DISTRO_FEATURES', 'pam', 'pam', '', d)}"
39PACKAGECONFIG_class-native = ""
40PACKAGECONFIG[pam] = ",-DWITHOUT_AUTH_PAM=TRUE,libpam"
41
42# MariaDB doesn't link properly with gold
43# https://mariadb.atlassian.net/browse/MDEV-5982
44TARGET_CFLAGS += "-fuse-ld=bfd"
45
46EXTRA_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
63do_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
71do_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
78do_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
85SYSROOT_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#
92mariadb_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
97do_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
115pkg_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
130PACKAGES = "${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"
134CONFFILES_${PN}-server += "${sysconfdir}/my.cnf"
135
136FILES_${PN} = " "
137RDEPENDS_${PN} = "${PN}-client ${PN}-server"
138ALLOW_EMPTY_${PN} = "1"
139
140RDEPENDS_${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"
143RDEPENDS_${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"
146RDEPENDS_${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
153FILES_libmysqlclient = "\
154 ${libdir}/libmysqlclient.so.*"
155FILES_libmysqlclient-dev = " \
156 ${includedir}/mysql/ \
157 ${libdir}/libmysqlclient.so \
158 ${sysconfdir}/aclocal \
159 ${bindir}/mysql_config"
160FILES_libmysqlclient-staticdev = "\
161 ${libdir}/*.a"
162FILES_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)
168INSANE_SKIP_libmysqlclient_append_i586 = " textrel"
169
170FILES_libmysqlclient-r = "${libdir}/libmysqlclient_r.so.*"
171FILES_libmysqlclient-r-dev = "\
172 ${libdir}/libmysqlclient_r.so"
173FILES_libmysqlclient-r-staticdev = "${libdir}/libmysqlclient_r.a"
174FILES_libmysqlclient-r-dbg = "${libdir}/plugin/.debuglibmysqlclient_r.so.*"
175
176FILES_libmysqld = "\
177 ${libdir}/libmysqld.so.*"
178FILES_libmysqld-dev = "\
179 ${libdir}/libmysqld.so"
180
181FILES_${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
201FILES_${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
251DESCRIPTION_${PN}-leftovers = "unpackaged and probably unneeded files for ${PN}"
252FILES_${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 @@
1Upstream-Status: Innapropriate
2
3Index: 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 @@
1SUMMARY = "Python interface to MySQL"
2HOMEPAGE = "https://github.com/farcepest/MySQLdb1"
3SECTION = "devel/python"
4LICENSE = "GPLv2"
5LIC_FILES_CHKSUM = "file://GPL-2.0;md5=b234ee4d69f5fce4486a80fdaf4a4263"
6
7DEPENDS = "mysql5"
8
9SRCNAME = "MySQL-python"
10
11SRC_URI = "https://pypi.python.org/packages/source/M/${SRCNAME}/${SRCNAME}-${PV}.zip \
12 file://remove-distribute.patch"
13
14SRC_URI[md5sum] = "ddf2386daf10a97af115ffad2ed4a9a0"
15SRC_URI[sha256sum] = "e405f9d6be33923d428acaa4db4f4470427f1d15ea0d2d82a933449ace26bbd9"
16
17S = "${WORKDIR}/${SRCNAME}-${PV}"
18
19inherit 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 @@
1diff -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 @@
1DESCRIPTION = "GNU nano (Nano's ANOther editor, or \
2Not ANOther editor) is an enhanced clone of the \
3Pico text editor."
4HOMEPAGE = "http://www.nano-editor.org/"
5LICENSE = "GPLv2"
6LIC_FILES_CHKSUM = "file://COPYING;md5=f27defe1e96c2e1ecd4e0c9be8967949"
7SECTION = "console/utils"
8DEPENDS = "ncurses"
9RDEPENDS_${PN} = "ncurses-terminfo"
10
11INC_PR = "r3"
12
13PV_MAJOR = "${@d.getVar('PV',1).split('.')[0]}.${@d.getVar('PV',1).split('.')[1]}"
14
15SRC_URI = "http://www.nano-editor.org/dist/v${PV_MAJOR}/nano-${PV}.tar.gz"
16
17inherit autotools gettext
18
19PACKAGECONFIG[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 @@
1include nano.inc
2
3PR = "${INC_PR}.0"
4
5SRC_URI += "file://ncursesw.includedir.patch"
6
7SRC_URI[md5sum] = "77a10a49589f975ce98350a4527a2ebf"
8SRC_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 @@
1SUMMARY = "nmon performance monitor"
2HOMEPAGE = "http://nmon.sf.net"
3SECTION = "console/utils"
4LICENSE = "GPLv3"
5LIC_FILES_CHKSUM = "file://${WORKDIR}/Documentation.txt;md5=dbb13658cf55d687c4f2ff771a696d4a"
6DEPENDS = "ncurses"
7PR = "r2"
8
9SRC_URI = "${SOURCEFORGE_MIRROR}/nmon/lmon13g.c;name=lmon \
10 ${SOURCEFORGE_MIRROR}/nmon/Documentation.txt;name=doc \
11"
12
13SRC_URI[lmon.md5sum] = "b1b8e6c0123ad232394991f2d4f40494"
14SRC_URI[lmon.sha256sum] = "456ab2a342b31d1a352d0d940af5962fa65a12ae8757ff73e6e73210832ae8b5"
15SRC_URI[doc.md5sum] = "dbb13658cf55d687c4f2ff771a696d4a"
16SRC_URI[doc.sha256sum] = "1f7f83afe62a7210be5e83cd24157adb854c14599efe0b377a7ecca933869278"
17
18CFLAGS += "-D JFS -D GETUSER -Wall -D LARGEMEM"
19LDFLAGS += "-ltinfo -lncursesw"
20ASNEEDED_pn-nmon = ""
21
22do_compile() {
23 ${CC} ${CFLAGS} ${LDFLAGS} ${WORKDIR}/lmon13g.c -o nmon
24}
25
26do_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 @@
1SUMMARY = "FFTW benchmarks"
2SECTION = "libs"
3LICENSE = "GPLv2"
4
5# single precision fftw is called fftwf
6DEPENDS = "virtual/fftw"
7
8SRC_URI = "http://www.fftw.org/benchfft/benchfft-${PV}.tar.gz"
9
10EXTRA_OECONF = "--disable-fortran --enable-single --enable-shared"
11
12inherit autotools pkgconfig
13
14do_compile_prepend() {
15 sed -i -e 's:all-recursive:$(RECURSIVE_TARGETS):g' ${S}/Makefile
16}
17
18SRC_URI[md5sum] = "9356e5e9dcb3f1481977009720a2ccf8"
19SRC_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
4DESCRIPTION = "FreeRDP RDP client"
5HOMEPAGE = "http://www.freerdp.com"
6DEPENDS = "virtual/libx11 openssl libxcursor libxv cups alsa-lib pulseaudio pcsc-lite libxkbfile libxinerama"
7SECTION = "x11/network"
8LICENSE = "Apache-2.0"
9LIC_FILES_CHKSUM = "file://LICENSE;md5=3b83ef96387f14655fc854ddc3c6bd57"
10
11inherit pkgconfig cmake
12
13EXTRA_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
22PACKAGES =+ "libfreerdp"
23
24LEAD_SONAME = "libfreerdp.so"
25FILES_libfreerdp = "${libdir}/lib*${SOLIBS}"
26
27PACKAGES_DYNAMIC += "^libfreerdp-plugin-.*"
28
29python 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
4include freerdp.inc
5
6inherit gitpkgv
7
8PV = "1.0.2+gitr${SRCPV}"
9PKGV = "${GITPKGVTAG}"
10
11EXTRA_OECMAKE += "-DWITH_MANPAGES=OFF"
12
13SRCREV = "f311acaffb9190567e2b478a98d7cbfaf2709f6b"
14SRC_URI = "git://github.com/FreeRDP/FreeRDP.git;branch=stable-1.0"
15
16S = "${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
3Upstream-Status: Pending
4
5Signed-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
11diff --git a/test/regress b/test/regress
12index 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
36diff --git a/test/regress2 b/test/regress2
37index 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--
581.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
3regress1:
4 cd test ; ./regress
5
6regress2:
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
3Upstream-Status: Pending
4
5read_distance_table() maybe return 0, but distance_table is not set,
6if distance_table is used, and will lead to SEGFAULT
7
8Signed-off-by: Roy Li <rongqing.li@windriver.com>
9---
10 distance.c | 2 ++
11 1 file changed, 2 insertions(+)
12
13diff --git a/distance.c b/distance.c
14index 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--
271.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
2make regress1
3make regress2
4if numademo -t -e 10M; then
5 echo "PASS: numademo"
6else
7 echo "FAIL: numademo"
8fi
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 @@
1SUMMARY = "Development package for building Applications that use numa"
2DESCRIPTION = "Simple NUMA policy support. It consists of a numactl program \
3to run other programs with a specific NUMA policy and a libnuma to do \
4allocations with NUMA policy in applications."
5LICENSE = "GPL-2.0 & LGPL-2.1"
6SECTION = "apps"
7RDEPENDS_${PN} = "perl"
8
9inherit autotools-brokensep ptest
10
11LIC_FILES_CHKSUM = "file://README;beginline=19;endline=32;md5=5644cc3851cb2499f6c48e52fe198bd9"
12SRC_URI[md5sum] = "136685c8eaf9d6569c351fe1d453b30c"
13SRC_URI[sha256sum] = "9ca033e6c14c0f26c20379b0cf9299429fd5a354a79c3c7880fd41ef69f7751c"
14
15SRC_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
23COMPATIBLE_HOST = "^((?!arm).*)$"
24
25do_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
31do_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 @@
1Index: 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 @@
1SUMMARY = "ODE is an Open Source Physics Engine"
2SECTION = "libs"
3HOMEPAGE = "http://www.ode.org"
4LICENSE = "LGPLv2.1 & BSD"
5LIC_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
14SRC_URI = "${SOURCEFORGE_MIRROR}/opende/ode-${PV}.tar.bz2 \
15 file://configure.patch"
16SRC_URI[md5sum] = "04b32c9645c147e18caff7a597a19f84"
17SRC_URI[sha256sum] = "34ce3e236e313bf109a0cb5546d2fca462aed99f29a42e62bc1463b803c31ef9"
18
19inherit autotools binconfig
20
21EXTRA_OECONF = "--disable-demos --enable-soname"
22
23FILES_${PN} = "${libdir}/lib*${SOLIBS}"
24
25PACKAGECONFIG ?= ""
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
28PACKAGECONFIG[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 @@
1Index: 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 @@
1Author: Marcin Juszkiewicz <marcin.juszkiewicz@linaro.org>
2
3When 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
7Signed-off-by: Marcin Juszkiewicz <marcin.juszkiewicz@linaro.org>
8
9Upstream-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 @@
1DESCRIPTION = "Regular expressions library. The characteristics of this \
2library is that different character encoding for every regular expression \
3object can be specified."
4HOMEPAGE = "http://www.geocities.jp/kosako3/oniguruma/"
5LICENSE = "BSD"
6LIC_FILES_CHKSUM = "file://COPYING;md5=0d4861b5bc0c392a5aa90d9d76ebd86f"
7
8SRC_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
12SRC_URI[md5sum] = "0d4eda2066d3c92970842a6790ce897a"
13SRC_URI[sha256sum] = "c3bba66b2a84760e6582c40881db97c839d94f327870009724bb8b4d0c051f2a"
14
15DEPENDS = "libevent"
16
17inherit 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 @@
1SUMMARY = "An encoder/decoder for the VCDIFF (RFC3284) format"
2DESCRIPTION = "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."
8HOMEPAGE = "http://code.google.com/p/open-vcdiff/"
9SECTION = "console/utils"
10
11LICENSE = "Apache-2.0"
12LIC_FILES_CHKSUM = "file://COPYING;md5=ff820d4ddc1ba05b6fd37b41a21506f9"
13
14SRC_URI = "https://drive.google.com/uc?id=0B5WpIi2fQU1aNGJwVE9hUjU5clU&export=download;downloadfilename=${BP}.tar.gz"
15SRC_URI[md5sum] = "5c0d378d907bebc38b51c3d7e4117011"
16SRC_URI[sha256sum] = "2b142b1027fb0a62c41347600e01a53fa274dad15445a7da48083c830c3138b3"
17
18inherit 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 @@
1SUMMARY = "Opencv : The Open Computer Vision Library"
2HOMEPAGE = "http://opencv.willowgarage.com/wiki/"
3SECTION = "libs"
4LICENSE = "BSD"
5
6DEPENDS = "opencv"
7
8LIC_FILES_CHKSUM = "file://include/opencv2/opencv.hpp;endline=41;md5=6d690d8488a6fca7a2c192932466bb14 \
9"
10SRCREV = "6fae07ba8867b8fd2c53344a774aab669afa7c5e"
11SRC_URI = "git://github.com/Itseez/opencv.git;branch=2.4 \
12 "
13PV = "2.4.3+git${SRCPV}"
14
15S = "${WORKDIR}/git"
16
17do_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
38FILES_${PN}-dev += "${datadir}/opencv/samples/*.c* ${datadir}/opencv/samples/*.vcp* ${datadir}/opencv/samples/build*"
39FILES_${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 @@
1Fix pkg-config generation
2
3Replace absolute library path with library name spec and library search
4path option.
5
6The fix has been provided by Ray Rashif (code.opencv.org/issues/1925)
7
8Upstream-Status: Pending
9
10diff -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 @@
1SUMMARY = "Opencv : The Open Computer Vision Library"
2HOMEPAGE = "http://opencv.willowgarage.com/wiki/"
3SECTION = "libs"
4
5LICENSE = "BSD"
6LIC_FILES_CHKSUM = "file://include/opencv2/opencv.hpp;endline=41;md5=6d690d8488a6fca7a2c192932466bb14"
7
8ARM_INSTRUCTION_SET = "arm"
9
10DEPENDS = "python-numpy libtool swig swig-native python bzip2 zlib glib-2.0"
11
12SRCREV = "df8e28283f09825cca0c2902160b7abebcfe1b64"
13SRC_URI = "git://github.com/Itseez/opencv.git;branch=2.4 \
14 file://opencv-fix-pkgconfig-generation.patch \
15"
16
17PV = "2.4.9+git${SRCPV}"
18
19S = "${WORKDIR}/git"
20
21# Do an out-of-tree build
22OECMAKE_SOURCEPATH = "${S}"
23OECMAKE_BUILDPATH = "${WORKDIR}/build-${TARGET_ARCH}"
24
25EXTRA_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
34PACKAGECONFIG ??= "eigen jpeg libav png tiff v4l \
35 ${@bb.utils.contains("DISTRO_FEATURES", "x11", "gtk", "", d)}"
36PACKAGECONFIG[eigen] = "-DWITH_EIGEN=ON,-DWITH_EIGEN=OFF,libeigen,"
37PACKAGECONFIG[gtk] = "-DWITH_GTK=ON,-DWITH_GTK=OFF,gtk+,"
38PACKAGECONFIG[jpeg] = "-DWITH_JPEG=ON,-DWITH_JPEG=OFF,jpeg,"
39PACKAGECONFIG[libav] = "-DWITH_FFMPEG=ON,-DWITH_FFMPEG=OFF,libav,"
40PACKAGECONFIG[png] = "-DWITH_PNG=ON,-DWITH_PNG=OFF,libpng,"
41PACKAGECONFIG[tiff] = "-DWITH_TIFF=ON,-DWITH_TIFF=OFF,tiff,"
42PACKAGECONFIG[v4l] = "-DWITH_V4L=ON,-DWITH_V4L=OFF,v4l-utils,"
43PACKAGECONFIG[jasper] = "-DBUILD_JASPER=ON,-DBUILD_JASPER=OFF,jasper"
44
45inherit distutils-base pkgconfig cmake
46
47export BUILD_SYS
48export HOST_SYS
49export PYTHON_CSPEC="-I${STAGING_INCDIR}/${PYTHON_DIR}"
50export PYTHON="${STAGING_BINDIR_NATIVE}/python"
51
52TARGET_CC_ARCH += "-I${S}/include "
53
54PACKAGES += "${PN}-apps python-opencv"
55
56python 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
76PACKAGES_DYNAMIC += "^libopencv-.*"
77
78FILES_${PN} = ""
79FILES_${PN}-apps = "${bindir}/* ${datadir}/OpenCV"
80FILES_${PN}-dbg += "${libdir}/.debug"
81FILES_${PN}-dev = "${includedir} ${libdir}/pkgconfig"
82FILES_${PN}-doc = "${datadir}/OpenCV/doc"
83
84ALLOW_EMPTY_${PN} = "1"
85
86INSANE_SKIP_python-opencv = "True"
87SUMMARY_python-opencv = "Python bindings to opencv"
88FILES_python-opencv = "${PYTHON_SITEPACKAGES_DIR}/*"
89RDEPENDS_python-opencv = "python-core python-numpy"
90
91do_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 @@
1From 59688044386dfeee0c837a15133f4e878f1bb661 Mon Sep 17 00:00:00 2001
2From: Jan Synacek <jsynacek@redhat.com>
3Date: Wed, 13 Nov 2013 09:06:54 +0100
4Subject: [PATCH] ITS#7723 fix reference counting
5
6Upstream-Status: Backport
7
8Commit 59688044386dfeee0c837a15133f4e878f1bb661 upstream
9
10Signed-off-by: Yue Tao <Yue.Tao@windriver.com>
11Signed-off-by: Jackie Huang <jackie.huang@windriver.com>
12---
13 libraries/librewrite/session.c | 2 ++
14 1 files changed, 2 insertions(+), 0 deletions(-)
15
16diff --git a/libraries/librewrite/session.c b/libraries/librewrite/session.c
17index 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--
371.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 @@
1From 0205e83f4670d10ad3c6ae4b8fc5ec1d0c7020c0 Mon Sep 17 00:00:00 2001
2From: Howard Chu <hyc@openldap.org>
3Date: Sat, 7 Sep 2013 09:39:24 -0700
4Subject: [PATCH] ITS#7430 GnuTLS: Avoid use of deprecated function
5
6Upstream-status: Backport
7
8---
9 libraries/libldap/tls_g.c | 12 ++++++++++++
10 1 files changed, 12 insertions(+), 0 deletions(-)
11
12diff --git a/libraries/libldap/tls_g.c b/libraries/libldap/tls_g.c
13index 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--
431.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
11slapd=/usr/sbin/slapd
12test -x "$slapd" || exit 0
13
14
15case "$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
33esac
34
35exit 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 @@
1From: Marcin Juszkiewicz <marcin.juszkiewicz@linaro.org>
2
3slapd depends on ICU if it was built first.
4
5Upstream-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 @@
1From http://sources.gentoo.org/cgi-bin/viewvc.cgi/gentoo-x86/net-nds/openldap/files/
2
3Upstream-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 @@
1openldap: assume /dev/urandom exists
2
3When we are cross-compiling, we want to assume
4that /dev/urandom exists. We could change the source
5code to look for it, but this is the easy way out.
6
7Upstream-Status: pending
8
9Signed-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#
3SUMMARY = "OpenLDAP Directory Service"
4DESCRIPTION = "OpenLDAP Software is an open source implementation of the Lightweight Directory Access Protocol."
5HOMEPAGE = "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).
11LICENSE = "OpenLDAP"
12LIC_FILES_CHKSUM = "file://COPYRIGHT;md5=f2bdbaa4f50199a00b6de2ca7ec1db05 \
13 file://LICENSE;md5=153d07ef052c4a37a8fac23bc6031972 \
14"
15SECTION = "libs"
16
17LDAP_VER = "${@'.'.join(d.getVar('PV',1).split('.')[0:2])}"
18
19SRC_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"
28SRC_URI[md5sum] = "b0d5ee4b252c841dec6b332d679cf943"
29SRC_URI[sha256sum] = "8267c87347103fef56b783b24877c0feda1063d3cb85d070e503d076584bf8a7"
30
31DEPENDS = "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
36SRC_URI += "file://install-strip.patch"
37
38inherit 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?)
43EXTRA_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...
49EXTRA_OECONF += "--with-yielding-select=yes"
50# Shared libraries are nice...
51EXTRA_OECONF += "--enable-dynamic"
52
53PACKAGECONFIG ??= "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]
57PACKAGECONFIG[gnutls] = "--with-tls=gnutls,,gnutls libgcrypt"
58PACKAGECONFIG[openssl] = "--with-tls=openssl,,openssl"
59
60PACKAGECONFIG[sasl] = "--with-cyrus-sasl,--without-cyrus-sasl,cyrus-sasl"
61PACKAGECONFIG[modules] = "lt_cv_dlopen_self=yes --enable-modules,--disable-modules,libtool"
62
63# SLAPD options
64#
65# UNIX crypt(3) passwd support:
66EXTRA_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.
79md = "${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.
84PACKAGECONFIG[bdb] = "--enable-bdb=yes,--enable-bdb=no,db"
85
86#--enable-dnssrv enable dnssrv backend no|yes|mod no
87PACKAGECONFIG[dnssrv] = "--enable-dnssrv=mod,--enable-dnssrv=no"
88
89#--enable-hdb enable Hierarchical DB backend no|yes|mod no
90PACKAGECONFIG[hdb] = "--enable-hdb=yes,--enable-hdb=no,db"
91
92#--enable-ldap enable ldap backend no|yes|mod no
93PACKAGECONFIG[ldap] = "--enable-ldap=mod,--enable-ldap=no,"
94
95#--enable-mdb enable mdb database backend no|yes|mod [yes]
96PACKAGECONFIG[mdb] = "--enable-mdb=mod,--enable-mdb=no,"
97
98#--enable-meta enable metadirectory backend no|yes|mod no
99PACKAGECONFIG[meta] = "--enable-meta=mod,--enable-meta=no,"
100
101#--enable-monitor enable monitor backend no|yes|mod yes
102PACKAGECONFIG[monitor] = "--enable-monitor=mod,--enable-monitor=no,"
103
104#--enable-ndb enable MySQL NDB Cluster backend no|yes|mod [no]
105PACKAGECONFIG[ndb] = "--enable-ndb=mod,--enable-ndb=no,"
106
107#--enable-null enable null backend no|yes|mod no
108PACKAGECONFIG[null] = "--enable-null=mod,--enable-null=no,"
109
110#--enable-passwd enable passwd backend no|yes|mod no
111PACKAGECONFIG[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?)
117PACKAGECONFIG[perl] = "--enable-perl=mod,--enable-perl=no,perl"
118
119#--enable-relay enable relay backend no|yes|mod [yes]
120PACKAGECONFIG[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
124PACKAGECONFIG[shell] = "--enable-shell=mod --without-threads,--enable-shell=no,"
125
126#--enable-sock enable sock backend no|yes|mod [no]
127PACKAGECONFIG[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.)
132PACKAGECONFIG[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
137PACKAGECONFIG[dyngroup] = "--enable-dyngroup=mod,--enable-dyngroup=no,"
138
139#--enable-proxycache Proxy Cache overlay no|yes|mod no
140PACKAGECONFIG[proxycache] = "--enable-proxycache=mod,--enable-proxycache=no,"
141FILES_${PN}-overlay-proxycache = "${md}/pcache-*.so.*"
142PACKAGES += "${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.
147CPPFLAGS_append = " -D_GNU_SOURCE -DURANDOM_DEVICE=\'/dev/urandom\'"
148
149do_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
159LEAD_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.
164PACKAGES += "${PN}-slapd ${PN}-slurpd ${PN}-bin"
165
166# Package contents - shift most standard contents to -bin
167FILES_${PN} = "${libdir}/lib*.so.* ${sysconfdir}/openldap/ldap.* ${localstatedir}/openldap-data"
168FILES_${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"
171FILES_${PN}-slurpd = "${libexecdir}/slurpd ${localstatedir}/openldap-slurp ${localstatedir}/run ${localstatedir}/volatile/run"
172FILES_${PN}-bin = "${bindir}"
173FILES_${PN}-dev = "${includedir} ${libdir}/lib*.so ${libdir}/*.la ${libdir}/*.a ${libexecdir}/openldap/*.a ${libexecdir}/openldap/*.la ${libexecdir}/openldap/*.so"
174FILES_${PN}-dbg += "${libexecdir}/openldap/.debug"
175
176do_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
194INITSCRIPT_PACKAGES = "${PN}-slapd"
195INITSCRIPT_NAME_${PN}-slapd = "openldap"
196INITSCRIPT_PARAMS_${PN}-slapd = "defaults"
197
198PACKAGES_DYNAMIC += "^${PN}-backends.* ^${PN}-backend-.*"
199
200python 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 @@
1SECTION = "libs"
2SUMMARY = "OSM/Motif implementation"
3LICENSE = "OGPL"
4DEPENDS = "xbitmaps virtual/libx11 libxt libxft xproto"
5
6LIC_FILES_CHKSUM = "file://LICENSE;md5=14f692c82491db3d52419929d2f3b343"
7
8PR = "r3"
9
10PNBLACKLIST[openmotif] ?= "BROKEN: doesn't build with B!=S"
11
12SRC_URI = "http://motif.ics.com/sites/default/files/openmotif-2.3.3.tar.gz \
13 file://configure.patch;patch=1"
14
15SRC_URI[md5sum] = "fd27cd3369d6c7d5ef79eccba524f7be"
16SRC_URI[sha256sum] = "c85f5545e218fa0c59a3789192132d472fc5a33e914a221a568eee4fc10cd103"
17
18inherit autotools
19
20PACKAGECONFIG ??= ""
21PACKAGECONFIG[jpeg] = "--enable-jpeg,--disable-jpeg,jpeg"
22PACKAGECONFIG[png] = "--enable-png,--disable-png,libpng"
23
24EXTRA_OECONF = "X_CFLAGS=-I${STAGING_INCDIR} --disable-printing"
25
26PACKAGES += "${PN}-bin"
27
28FILES_${PN}-bin = "${bindir}"
29
30do_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
43do_install() {
44 oe_runmake DESTDIR=${D} -C lib install
45 oe_runmake DESTDIR=${D} -C include install
46}
47
48LEAD_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 @@
1SUMMARY = "Libsyncml is an implementation of the SyncML protocol"
2HOMEPAGE = "https://libsyncml.opensync.org/"
3SECTION = "libs"
4LICENSE = "LGPLv2.1"
5LIC_FILES_CHKSUM = "file://COPYING;md5=fad9b3332be894bab9bc501572864b29"
6
7DEPENDS = "libxml2 glib-2.0 libsoup-2.4 openobex wbxml2"
8
9SRC_URI = "${SOURCEFORGE_MIRROR}/libsyncml/libsyncml-${PV}.tar.gz"
10SRC_URI[md5sum] = "84879ed7cb94618530fbcb801a1a4f95"
11SRC_URI[sha256sum] = "05d6513637adb1300a3a58b6e29d53ab6373c8f370807d0d925bae72b2920e53"
12
13inherit cmake pkgconfig
14
15PACKAGES += "${PN}-tools"
16
17FILES_${PN}-tools = "${bindir}"
18FILES_${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 @@
1SUMMARY = "WBXML parsing and encoding library"
2HOMEPAGE = "http://libwbxml.opensync.org/"
3SECTION = "libs"
4LICENSE = "LGPLv2.1+"
5LIC_FILES_CHKSUM = "file://COPYING;md5=c1128ee5341ccd5927d8bafe4b6266e1"
6
7DEPENDS = "expat"
8
9SRC_URI = "${SOURCEFORGE_MIRROR}/libwbxml/libwbxml-${PV}.tar.gz"
10
11SRC_URI[md5sum] = "f5031e9f730ffd9dc6a2d1ded585e1d1"
12SRC_URI[sha256sum] = "a057daa098f12838eb4e635bb28413027f1b73819872c3fbf64e3207790a3f7d"
13
14S = "${WORKDIR}/libwbxml-${PV}"
15
16inherit cmake pkgconfig
17
18PACKAGES += "${PN}-tools"
19
20FILES_${PN}-tools = "${bindir}"
21FILES_${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 @@
1SUMMARY = "Provides a way to load and enumerate PKCS#11 modules"
2LICENSE = "BSD"
3LIC_FILES_CHKSUM = "file://COPYING;md5=02933887f609807fbb57aa4237d14a50"
4
5inherit autotools gettext pkgconfig
6
7DEPENDS = "libtasn1 libffi"
8
9SRC_URI = "http://p11-glue.freedesktop.org/releases/${BP}.tar.gz"
10SRC_URI[md5sum] = "d96046ab6ac00d005342caf416ed76ab"
11SRC_URI[sha256sum] = "94fbed372c11d0a404762aad966e54eb4f44c1d5b871a1b79a1a3b4cf36ed256"
12
13FILES_${PN}-dev += " \
14 ${libdir}/p11-kit-proxy.so \
15 ${libdir}/pkcs11/p11-kit-trust.so \
16"
17FILES_${PN}-dev += "${libdir}/pkcs11/*.la"
18FILES_${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 @@
1Use /var/lock instead of /var/lock/subsys
2
3Upstream-Status: Inappropriate [configuration]
4
5Index: 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
18Index: 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 @@
1DESCRIPTION = "A small network printer daemon for embedded situations that passes the job directly to the printer"
2HOMEPAGE = "http://p910nd.sourceforge.net/"
3SECTION = "console/utils"
4LICENSE = "GPLv2"
5LIC_FILES_CHKSUM = "file://COPYING;md5=8ca43cbc842c2336e835926c2166c28b"
6
7PR = "r2"
8
9SRC_URI = "${SOURCEFORGE_MIRROR}/p910nd/p910nd-${PV}.tar.bz2 \
10 file://fix-var-lock.patch"
11
12SRC_URI[md5sum] = "c7ac6afdf7730ac8387a8e87198d4491"
13SRC_URI[sha256sum] = "7d78642c86dc247fbdef1ff85c56629dcdc6b2a457c786420299e284fffcb029"
14
15do_compile () {
16 ${CC} ${LDFLAGS} -o p910nd p910nd.c
17}
18
19do_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 @@
1SUMMARY = "PC/SC Lite smart card framework and applications"
2HOMEPAGE = "http://pcsclite.alioth.debian.org/"
3LICENSE = "BSD"
4LIC_FILES_CHKSUM = "file://COPYING;md5=a39d325b7d9cf2f07826a5154b16500c"
5DEPENDS = "udev"
6
7SRC_URI = "https://alioth.debian.org/frs/download.php/file/3757/pcsc-lite-${PV}.tar.bz2"
8SRC_URI[md5sum] = "3e4b777231d35ce35c15c0704f936eaa"
9SRC_URI[sha256sum] = "1e44049168d1ce55fd56c175f61206955254df0f385455f2a20ec7e8a0e6a77a"
10
11PR = "r3"
12
13inherit autotools systemd pkgconfig
14
15EXTRA_OECONF = " \
16 --disable-libusb \
17 --enable-libudev \
18 --enable-usbdropdir=${libdir}/pcsc/drivers \
19"
20
21S = "${WORKDIR}/pcsc-lite-${PV}"
22
23PACKAGES =+ "${PN}-lib"
24
25RRECOMMENDS_${PN} = "ccid"
26
27FILES_${PN}-lib = "${libdir}/lib*${SOLIBS}"
28
29RPROVIDES_${PN} += "${PN}-systemd"
30RREPLACES_${PN} += "${PN}-systemd"
31RCONFLICTS_${PN} += "${PN}-systemd"
32SYSTEMD_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 @@
1SUMMARY = "Lightweight and minimal (~20K) dumb-terminal emulation program"
2SECTION = "console/utils"
3LICENSE = "GPLv2+"
4HOMEPAGE = "http://code.google.com/p/picocom/"
5LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=393a5ca445f6965873eca0259a17f833"
6
7SRC_URI = "http://picocom.googlecode.com/files/picocom-1.6.tar.gz"
8
9CPPFLAGS_append = '-DVERSION_STR=\\"${PV}\\" -DUUCP_LOCK_DIR=\\"/var/lock\\" -DHIGH_BAUD'
10
11do_install () {
12 install -d ${D}${bindir}
13 install -m 0755 ${PN} pcasc pcxm pcym pczm ${D}${bindir}/
14}
15
16SRC_URI[md5sum] = "426c3d30b82cbc80b0dafdccd6020c6c"
17SRC_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 @@
1libotr: Fix QA-issue where also files from buildhost would be included
2
3Warning was:
4cc1: warning: include location "/usr/include" is unsafe for
5cross-compilation [-Wpoison-system-directories]
6
7Upstream-Status: Pending
8
9Signed-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 @@
1Fix builds with ${B} != ${S}
2
3Upstream-Status: Pending
4
5RP 2014/7/17
6
7Index: 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 @@
1SUMMARY = "(OTR) Messaging allows you to have private conversations over instant messaging"
2HOMEPAGE = "http://www.cypherpunks.ca/otr/"
3LICENSE = "GPLv2"
4LIC_FILES_CHKSUM = "file://COPYING;md5=92fe174bad6da3763f6e9e9eaff6df24"
5DEPENDS = "libgcrypt libgpg-error"
6
7SRC_URI = "http://www.cypherpunks.ca/otr/${BP}.tar.gz \
8 file://fix_qa-issue_include.patch \
9 file://sepbuild.patch \
10"
11
12SRC_URI[md5sum] = "00979dca82d70383fcd1b01f3974363c"
13SRC_URI[sha256sum] = "3f911994409898e74527730745ef35ed75c352c695a1822a677a34b2cf0293b4"
14
15inherit 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 @@
1pidgin-otr: Silence no-extra-portability warnings
2
3Make it build with OE, was not building with warning turned on
4
5Upstream-Status: Pending
6
7Signed-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 @@
1SUMMARY = "(OTR) Messaging allows you to have private conversations over instant messaging"
2HOMEPAGE = "http://www.cypherpunks.ca/otr/"
3LICENSE = "GPLv2"
4LIC_FILES_CHKSUM = "file://COPYING;md5=92fe174bad6da3763f6e9e9eaff6df24"
5DEPENDS = "libgcrypt libotr pidgin intltool-native"
6
7SRC_URI = "http://www.cypherpunks.ca/otr/${BP}.tar.gz \
8 file://ignore_extra-portability_warnings.patch \
9"
10
11SRC_URI[md5sum] = "eadb953376acc474e56041d4c12aa2c8"
12SRC_URI[sha256sum] = "d56b3f092dbe9ee6597641c7d2dd294884dc04ba47aaf4ec571cd54977df4691"
13
14
15FILES_${PN} = "${libdir}/pidgin/*"
16FILES_${PN}-dbg = "${libdir}/pidgin/.debug"
17FILES_${PN}-dbg += "${libdir}/pidgin/.debug/pidgin-otr.so"
18FILES_${PN}-dbg += "/usr/src/debug/pidgin-otr/${PV}-${PR}/${P}/*"
19inherit 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 @@
1Index: 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 @@
1Index: 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 @@
1DESCRIPTION = "multi-protocol instant messaging client"
2SECTION = "x11/network"
3LICENSE = "GPLv2"
4LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe"
5DEPENDS = "python startup-notification avahi gtk+ ncurses gnutls virtual/libintl gstreamer dbus intltool-native farsight2 libidn"
6
7inherit autotools gettext pkgconfig gconf perlnative
8
9SRC_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
17SRC_URI[md5sum] = "10a4a69d077893f6dd3438cd8af94e81"
18SRC_URI[sha256sum] = "dc362ed8577f623eea4554a79e917073aa726825074fea402f2e515f0f51f319"
19
20EXTRA_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
39do_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
44OE_LT_RPATH_ALLOW=":${libdir}/purple-2:"
45OE_LT_RPATH_ALLOW[export]="1"
46
47PACKAGES =+ "libpurple-dbg libpurple-dev libpurple libgnt-dbg libgnt libgnt-dev finch-dbg finch finch-dev ${PN}-data"
48
49LEAD_SONAME = "libpurple.so.0"
50FILES_libpurple = "${libdir}/libpurple*.so.* ${libdir}/purple-2 ${bindir}/purple-* ${sysconfdir}/gconf/schemas/purple* ${datadir}/purple/ca-certs"
51FILES_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"
58FILES_libpurple-dbg += "${libdir}/.debug/libpurple* \
59 ${libdir}/purple-2/.debug"
60FILES_libgnt = "${libdir}/libgnt.so.* ${libdir}/gnt/*.so"
61FILES_libgnt-dev = "${libdir}/gnt/*.la"
62FILES_libgnt-dbg = "${libdir}/gnt/.debug"
63FILES_finch = "${bindir}/finch"
64FILES_finch-dev = "${libdir}/finch/*.la"
65FILES_finch-dbg = "${bindir}/.debug/finch \
66 ${libdir}/finch/.debug"
67
68FILES_${PN} = "${bindir} ${datadir}/${PN} ${libdir}/${PN}/*.so \
69 ${datadir}/applications"
70RRECOMMENDS_${PN} = "${PN}-data libpurple-plugin-ssl-gnutls libpurple-protocol-irc libpurple-protocol-xmpp"
71
72FILES_${PN}-data = "${datadir}/pixmaps ${datadir}/sounds ${datadir}/icons"
73FILES_${PN}-dev += "${libdir}/${PN}/*.la"
74
75PACKAGES_DYNAMIC += "^libpurple-protocol-.* ^libpurple-plugin-.* ^pidgin-plugin-.* ^finch-plugin-.*"
76
77python 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 @@
1SUMMARY = "pngcheck verifies the integrity of PNG, JNG and MNG files"
2HOMEPAGE = "http://www.libpng.org/pub/png/apps/pngcheck.html"
3LICENSE = "GPLv2"
4LIC_FILES_CHKSUM = "file://gpl/COPYING;md5=94d55d512a9ba36caa9b7df079bae19f"
5DEPENDS = "zlib libpng"
6
7SRC_URI = "${SOURCEFORGE_MIRROR}/project/png-mng/${BPN}/${PV}/${BPN}-${PV}.tar.gz"
8
9SRC_URI[md5sum] = "980bd6d9a3830fdce746d7fe3c9166ee"
10SRC_URI[sha256sum] = "77f0a039ac64df55fbd06af6f872fdbad4f639d009bbb5cd5cbe4db25690f35f"
11
12do_compile() {
13 oe_runmake -f Makefile.unx INCS=-I${STAGING_DIR_HOST}${incdir} LIBS=${STAGING_DIR_HOST}${libdir}/libz.a
14}
15
16do_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 @@
1SUMMARY = "Poppler is a PDF rendering library based on the xpdf-3.0 code base"
2LICENSE = "Adobe"
3LIC_FILES_CHKSUM = "file://COPYING;md5=4870b98343f0bbb25fa43b9d2ba59448 \
4 file://COPYING.adobe;md5=63c6a8a9df204c00461fa5f163d8a663 \
5 file://COPYING.gpl2;md5=751419260aa954499f7abaabaa882bbe \
6"
7
8inherit allarch
9
10SRC_URI = "http://poppler.freedesktop.org/${BP}.tar.gz"
11SRC_URI[md5sum] = "a8a7ca808827dd674faba6e4fc73b471"
12SRC_URI[sha256sum] = "f306901dfa5bda90cd6663d4eedb1c773c3c709de78018c79f1282b2c8f90afa"
13
14do_compile() {
15}
16
17do_install() {
18 oe_runmake install DESTDIR=${D}
19}
20
21FILES_${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 @@
1SUMMARY = "Poppler is a PDF rendering library based on the xpdf-3.0 code base"
2LICENSE = "GPLv2"
3LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe"
4
5SRC_URI = " \
6 http://poppler.freedesktop.org/${BP}.tar.xz \
7"
8SRC_URI[md5sum] = "786c943eee550e3a977c181e7778b1c8"
9SRC_URI[sha256sum] = "de7de5fa337431e5d1f372e8577b3707322f1dbc1dc28a70f2927476f134d1ee"
10
11DEPENDS = "fontconfig zlib cairo lcms"
12
13inherit autotools pkgconfig gtk-doc
14
15PACKAGECONFIG ??= "jpeg png tiff"
16PACKAGECONFIG[jpeg] = "--enable-libjpeg,--disable-libjpeg,jpeg"
17PACKAGECONFIG[png] = "--enable-libpng,--disable-libpng,libpng"
18PACKAGECONFIG[tiff] = "--enable-libtiff,--disable-libtiff,tiff"
19
20EXTRA_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
28def get_poppler_fpu_setting(bb, d):
29 if d.getVar('TARGET_FPU', 1) in [ 'soft' ]:
30 return "--enable-fixedpoint"
31 return ""
32
33EXTRA_OECONF += "${@get_poppler_fpu_setting(bb, d)}"
34
35PACKAGES =+ "libpoppler libpoppler-glib"
36FILES_libpoppler = "${libdir}/libpoppler.so.*"
37FILES_libpoppler-glib = "${libdir}/libpoppler-glib.so.*"
38
39RDEPENDS_${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 @@
1SUMMARY = "A portable audio library"
2SECTION = "libs/multimedia"
3LICENSE = "PortAudio"
4LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=26107732c2ab637c5710446fcfaf02df"
5
6PV = "v19+svnr${SRCPV}"
7
8SRCREV = "1387"
9SRC_URI = "svn://subversion.assembla.com/svn/portaudio/portaudio;module=trunk;protocol=http"
10S = "${WORKDIR}/trunk"
11
12inherit autotools pkgconfig
13
14PACKAGECONFIG ??= "alsa jack"
15PACKAGECONFIG[alsa] = "--with-alsa, --without-alsa, alsa-lib,"
16PACKAGECONFIG[jack] = "--with-jack, --without-jack, jack,"
17
18EXTRA_OECONF = "--without-oss"
19
20TESTS = " pa_devs patest1 patest_hang patest_many patest_prime patest_sine patest_stop patest_write_sine \
21pa_fuzz patest_buffer patest_in_overflow patest_maxsines patest_read_record patest_sine8 patest_sync \
22pa_minlat patest_callbackstop patest_latency patest_multi_sine patest_record patest_sine_formats patest_toomanysines \
23paqa_devs patest_clip patest_leftright patest_out_underflow patest_ringmix patest_sine_time patest_underflow \
24paqa_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
31PACKAGES += "portaudio-examples"
32FILES_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 @@
1From d52e330be895bb8c5f0fb3e2884766acbd942a85 Mon Sep 17 00:00:00 2001
2From: Philip Balister <philip@balister.org>
3Date: Tue, 1 Jul 2014 09:40:44 -0400
4Subject: [PATCH] Use pkg-config for libxml2 detection.
5
6Upstream-Status: Inappropriate [configuration]
7
8xml2-config does not work. Use pkgconfig to set CPPFLAGS and LIBS.
9
10Signed-off-by: Philip Balister <philip@balister.org>
11---
12 configure.in | 15 ++-------------
13 1 file changed, 2 insertions(+), 13 deletions(-)
14
15diff --git a/configure.in b/configure.in
16index 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--
421.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 @@
1From 12bbce15d93d7692ddff1405aa04b67f8a327f57 Mon Sep 17 00:00:00 2001
2From: Noah Misch <noah@leadboat.com>
3Date: Mon, 17 Feb 2014 09:33:31 -0500
4Subject: [PATCH] Predict integer overflow to avoid buffer overruns.
5
6commit 12bbce15d93d7692ddff1405aa04b67f8a327f57 REL9_2_STABLE
7
8Several functions, mostly type input functions, calculated an allocation
9size such that the calculation wrapped to a small positive value when
10arguments implied a sufficiently-large requirement. Writes past the end
11of the inadvertent small allocation followed shortly thereafter.
12Coverity identified the path_in() vulnerability; code inspection led to
13the rest. In passing, add check_stack_depth() to prevent stack overflow
14in related functions.
15
16Back-patch to 8.4 (all supported versions). The non-comment hstore
17changes touch code that did not exist in 8.4, so that part stops at 9.0.
18
19Noah Misch and Heikki Linnakangas, reviewed by Tom Lane.
20
21Security: CVE-2014-0064
22
23Upstream-Status: Backport
24
25Signed-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
44diff --git a/contrib/hstore/hstore.h b/contrib/hstore/hstore.h
45index 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
77diff --git a/contrib/hstore/hstore_io.c b/contrib/hstore/hstore_io.c
78index 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)
137diff --git a/contrib/hstore/hstore_op.c b/contrib/hstore/hstore_op.c
138index 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
177diff --git a/contrib/intarray/_int.h b/contrib/intarray/_int.h
178index 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 */
197diff --git a/contrib/intarray/_int_bool.c b/contrib/intarray/_int_bool.c
198index 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;
225diff --git a/contrib/ltree/ltree.h b/contrib/ltree/ltree.h
226index 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
246diff --git a/contrib/ltree/ltree_io.c b/contrib/ltree/ltree_io.c
247index 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)
282diff --git a/contrib/ltree/ltxtquery_io.c b/contrib/ltree/ltxtquery_io.c
283index 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;
328diff --git a/src/backend/utils/adt/geo_ops.c b/src/backend/utils/adt/geo_ops.c
329index 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
404diff --git a/src/backend/utils/adt/tsquery.c b/src/backend/utils/adt/tsquery.c
405index 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);
423diff --git a/src/backend/utils/adt/tsquery_util.c b/src/backend/utils/adt/tsquery_util.c
424index 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);
439diff --git a/src/backend/utils/adt/txid.c b/src/backend/utils/adt/txid.c
440index 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);
483diff --git a/src/backend/utils/adt/varbit.c b/src/backend/utils/adt/varbit.c
484index 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);
557diff --git a/src/include/tsearch/ts_type.h b/src/include/tsearch/ts_type.h
558index 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 ))
578diff --git a/src/include/utils/varbit.h b/src/include/utils/varbit.h
579index 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--
6041.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 @@
1From 15a8f97b9d16aaf659f58c981242b9da591cf24c Mon Sep 17 00:00:00 2001
2From: Noah Misch <noah@leadboat.com>
3Date: Mon, 17 Feb 2014 09:33:31 -0500
4Subject: [PATCH] Shore up ADMIN OPTION restrictions.
5
6commit 15a8f97b9d16aaf659f58c981242b9da591cf24c REL9_2_STABLE
7
8Granting a role without ADMIN OPTION is supposed to prevent the grantee
9from adding or removing members from the granted role. Issuing SET ROLE
10before the GRANT bypassed that, because the role itself had an implicit
11right to add or remove members. Plug that hole by recognizing that
12implicit right only when the session user matches the current role.
13Additionally, do not recognize it during a security-restricted operation
14or during execution of a SECURITY DEFINER function. The restriction on
15SECURITY DEFINER is not security-critical. However, it seems best for a
16user testing his own SECURITY DEFINER function to see the same behavior
17others will see. Back-patch to 8.4 (all supported versions).
18
19The SQL standards do not conflate roles and users as PostgreSQL does;
20only SQL roles have members, and only SQL users initiate sessions. An
21application using PostgreSQL users and roles as SQL users and roles will
22never attempt to grant membership in the role that is the session user,
23so the implicit right to add or remove members will never arise.
24
25The security impact was mostly that a role member could revoke access
26from others, contrary to the wishes of his own grantor. Unapproved role
27member additions are less notable, because the member can still largely
28achieve that by creating a view or a SECURITY DEFINER function.
29
30Reviewed by Andres Freund and Tom Lane. Reported, independently, by
31Jonas Sundman and Noah Misch.
32
33Security: CVE-2014-0060
34
35
36Upstream-Status: Backport
37
38Signed-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
47diff --git a/doc/src/sgml/ref/grant.sgml b/doc/src/sgml/ref/grant.sgml
48index 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>
70diff --git a/src/backend/commands/user.c b/src/backend/commands/user.c
71index 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),
92diff --git a/src/backend/utils/adt/acl.c b/src/backend/utils/adt/acl.c
93index 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
170diff --git a/src/test/regress/expected/privileges.out b/src/test/regress/expected/privileges.out
171index 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;
224diff --git a/src/test/regress/sql/privileges.sql b/src/test/regress/sql/privileges.sql
225index 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--
2721.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 @@
1From 1d701d28a796ea2d1a4d2be9e9ee06209eaea040 Mon Sep 17 00:00:00 2001
2From: Noah Misch <noah@leadboat.com>
3Date: Mon, 17 Feb 2014 09:33:31 -0500
4Subject: [PATCH] Prevent privilege escalation in explicit calls to PL
5 validators.
6
7commit 1d701d28a796ea2d1a4d2be9e9ee06209eaea040 REL9_2_STABLE
8
9The primary role of PL validators is to be called implicitly during
10CREATE FUNCTION, but they are also normal functions that a user can call
11explicitly. Add a permissions check to each validator to ensure that a
12user cannot use explicit validator calls to achieve things he could not
13otherwise achieve. Back-patch to 8.4 (all supported versions).
14Non-core procedural language extensions ought to make the same two-line
15change to their own validators.
16
17Andres Freund, reviewed by Tom Lane and Noah Misch.
18
19Security: CVE-2014-0061
20
21Upstream-Status: Backport
22Signed-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
34diff --git a/doc/src/sgml/plhandler.sgml b/doc/src/sgml/plhandler.sgml
35index 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,
50diff --git a/src/backend/catalog/pg_proc.c b/src/backend/catalog/pg_proc.c
51index 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);
84diff --git a/src/backend/commands/functioncmds.c b/src/backend/commands/functioncmds.c
85index 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 *
96diff --git a/src/backend/utils/fmgr/fmgr.c b/src/backend/utils/fmgr/fmgr.c
97index 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+}
195diff --git a/src/include/fmgr.h b/src/include/fmgr.h
196index 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
207diff --git a/src/pl/plperl/plperl.c b/src/pl/plperl/plperl.c
208index 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
229diff --git a/src/pl/plpgsql/src/pl_handler.c b/src/pl/plpgsql/src/pl_handler.c
230index 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))
243diff --git a/src/pl/plpython/plpy_main.c b/src/pl/plpython/plpy_main.c
244index 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--
2661.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 @@
1From 820ab11fbfd508fc75a39c43ad2c1b3e79c4982b Mon Sep 17 00:00:00 2001
2From: Robert Haas <rhaas@postgresql.org>
3Date: Mon, 17 Feb 2014 09:33:31 -0500
4Subject: [PATCH] Avoid repeated name lookups during table and index DDL.
5
6commit 820ab11fbfd508fc75a39c43ad2c1b3e79c4982b REL9_2_STABLE
7
8If the name lookups come to different conclusions due to concurrent
9activity, we might perform some parts of the DDL on a different table
10than other parts. At least in the case of CREATE INDEX, this can be
11used to cause the permissions checks to be performed against a
12different table than the index creation, allowing for a privilege
13escalation attack.
14
15This changes the calling convention for DefineIndex, CreateTrigger,
16transformIndexStmt, transformAlterTableStmt, CheckIndexCompatible
17(in 9.2 and newer), and AlterTable (in 9.1 and older). In addition,
18CheckRelationOwnership is removed in 9.2 and newer and the calling
19convention is changed in older branches. A field has also been added
20to the Constraint node (FkConstraint in 8.4). Third-party code calling
21these functions or using the Constraint node will require updating.
22
23Report by Andres Freund. Patch by Robert Haas and Andres Freund,
24reviewed by Tom Lane.
25
26Security: CVE-2014-0062
27
28Upstream-Status: Backport
29
30Signed-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
52diff --git a/src/backend/bootstrap/bootparse.y b/src/backend/bootstrap/bootparse.y
53index 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,
108diff --git a/src/backend/catalog/index.c b/src/backend/catalog/index.c
109index 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 /*
142diff --git a/src/backend/catalog/pg_constraint.c b/src/backend/catalog/pg_constraint.c
143index 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.
172diff --git a/src/backend/commands/indexcmds.c b/src/backend/commands/indexcmds.c
173index 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);
251diff --git a/src/backend/commands/tablecmds.c b/src/backend/commands/tablecmds.c
252index 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 */
611diff --git a/src/backend/commands/trigger.c b/src/backend/commands/trigger.c
612index 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 }
692diff --git a/src/backend/nodes/copyfuncs.c b/src/backend/nodes/copyfuncs.c
693index 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
704diff --git a/src/backend/nodes/equalfuncs.c b/src/backend/nodes/equalfuncs.c
705index 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
716diff --git a/src/backend/nodes/outfuncs.c b/src/backend/nodes/outfuncs.c
717index 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;
728diff --git a/src/backend/parser/parse_utilcmd.c b/src/backend/parser/parse_utilcmd.c
729index 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 /*
867diff --git a/src/backend/tcop/utility.c b/src/backend/tcop/utility.c
868index 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:
981diff --git a/src/include/catalog/pg_constraint.h b/src/include/catalog/pg_constraint.h
982index 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
993diff --git a/src/include/commands/defrem.h b/src/include/commands/defrem.h
994index 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);
1015diff --git a/src/include/commands/tablecmds.h b/src/include/commands/tablecmds.h
1016index 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 */
1026diff --git a/src/include/commands/trigger.h b/src/include/commands/trigger.h
1027index 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);
1039diff --git a/src/include/nodes/parsenodes.h b/src/include/nodes/parsenodes.h
1040index 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 /* ----------------------
1052diff --git a/src/include/parser/parse_utilcmd.h b/src/include/parser/parse_utilcmd.h
1053index 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);
1069diff --git a/src/include/tcop/utility.h b/src/include/tcop/utility.h
1070index 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--
10811.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 @@
1From f416622be81d1320417bbc7892fd562cae0dba72 Mon Sep 17 00:00:00 2001
2From: Noah Misch <noah@leadboat.com>
3Date: Mon, 17 Feb 2014 09:33:31 -0500
4Subject: [PATCH] Fix handling of wide datetime input/output.
5MIME-Version: 1.0
6Content-Type: text/plain; charset=UTF-8
7Content-Transfer-Encoding: 8bit
8
9commit f416622be81d1320417bbc7892fd562cae0dba72 REL9_2_STABLE
10
11Many server functions use the MAXDATELEN constant to size a buffer for
12parsing or displaying a datetime value. It was much too small for the
13longest possible interval output and slightly too small for certain
14valid timestamp input, particularly input with a long timezone name.
15The long input was rejected needlessly; the long output caused
16interval_out() to overrun its buffer. ECPG's pgtypes library has a copy
17of the vulnerable functions, which bore the same vulnerabilities along
18with some of its own. In contrast to the server, certain long inputs
19caused stack overflow rather than failing cleanly. Back-patch to 8.4
20(all supported versions).
21
22Reported by Daniel Schüssler, reviewed by Tom Lane.
23
24Security: CVE-2014-0063
25
26
27Upstream-Status: Backport
28
29Signed-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
44diff --git a/src/include/utils/datetime.h b/src/include/utils/datetime.h
45index 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
72diff --git a/src/interfaces/ecpg/pgtypeslib/datetime.c b/src/interfaces/ecpg/pgtypeslib/datetime.c
73index 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;
93diff --git a/src/interfaces/ecpg/pgtypeslib/dt.h b/src/interfaces/ecpg/pgtypeslib/dt.h
94index 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
121diff --git a/src/interfaces/ecpg/pgtypeslib/dt_common.c b/src/interfaces/ecpg/pgtypeslib/dt_common.c
122index 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;
212diff --git a/src/interfaces/ecpg/pgtypeslib/interval.c b/src/interfaces/ecpg/pgtypeslib/interval.c
213index 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;
225diff --git a/src/interfaces/ecpg/pgtypeslib/timestamp.c b/src/interfaces/ecpg/pgtypeslib/timestamp.c
226index 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);
238diff --git a/src/interfaces/ecpg/test/expected/pgtypeslib-dt_test2.c b/src/interfaces/ecpg/test/expected/pgtypeslib-dt_test2.c
239index 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;
295diff --git a/src/interfaces/ecpg/test/expected/pgtypeslib-dt_test2.stdout b/src/interfaces/ecpg/test/expected/pgtypeslib-dt_test2.stdout
296index 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
404diff --git a/src/interfaces/ecpg/test/pgtypeslib/dt_test2.pgc b/src/interfaces/ecpg/test/pgtypeslib/dt_test2.pgc
405index 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",
432diff --git a/src/test/regress/expected/interval.out b/src/test/regress/expected/interval.out
433index 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
450diff --git a/src/test/regress/sql/interval.sql b/src/test/regress/sql/interval.sql
451index 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--
4641.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 @@
1From 0ae841a98c21c53901d5bc9a9323a8cc800364f6 Mon Sep 17 00:00:00 2001
2From: Noah Misch <noah@leadboat.com>
3Date: Sat, 14 Jun 2014 10:52:25 -0400
4Subject: [PATCH] Make pqsignal() available to pg_regress of ECPG and
5 isolation suites.
6
7commit 0ae841a98c21c53901d5bc9a9323a8cc800364f6 REL9_2_STABLE
8
9Commit 453a5d91d49e4d35054f92785d830df4067e10c1 made it available to the
10src/test/regress build of pg_regress, but all pg_regress builds need the
11same treatment. Patch 9.2 through 8.4; in 9.3 and later, pg_regress
12gets pqsignal() via libpgport.
13
14
15Upstream-Status: Backport
16
17Signed-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
23diff --git a/src/interfaces/ecpg/test/Makefile b/src/interfaces/ecpg/test/Makefile
24index 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
40diff --git a/src/test/isolation/Makefile b/src/test/isolation/Makefile
41index 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--
741.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 @@
1From 655b665f745e2e07cf6936c6063b0250f5caa98f Mon Sep 17 00:00:00 2001
2From: Tom Lane <tgl@sss.pgh.pa.us>
3Date: Mon, 17 Feb 2014 11:20:27 -0500
4Subject: [PATCH] Prevent potential overruns of fixed-size buffers.
5
6commit 655b665f745e2e07cf6936c6063b0250f5caa98f REL9_2_STABLE
7
8Coverity identified a number of places in which it couldn't prove that a
9string being copied into a fixed-size buffer would fit. We believe that
10most, perhaps all of these are in fact safe, or are copying data that is
11coming from a trusted source so that any overrun is not really a security
12issue. Nonetheless it seems prudent to forestall any risk by using
13strlcpy() and similar functions.
14
15Fixes by Peter Eisentraut and Jozef Mlich based on Coverity reports.
16
17In addition, fix a potential null-pointer-dereference crash in
18contrib/chkpass. The crypt(3) function is defined to return NULL on
19failure, but chkpass.c didn't check for that before using the result.
20The main practical case in which this could be an issue is if libc is
21configured to refuse to execute unapproved hashing algorithms (e.g.,
22"FIPS mode"). This ideally should've been a separate commit, but
23since it touches code adjacent to one of the buffer overrun changes,
24I included it in this commit to avoid last-minute merge issues.
25This issue was reported by Honza Horak.
26
27Security: CVE-2014-0065 for buffer overruns, CVE-2014-0066 for crypt()
28
29Upsteam-Status: Backport
30
31Signed-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
48diff --git a/contrib/chkpass/chkpass.c b/contrib/chkpass/chkpass.c
49index 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 }
111diff --git a/contrib/pg_standby/pg_standby.c b/contrib/pg_standby/pg_standby.c
112index 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
124diff --git a/src/backend/access/transam/xlog.c b/src/backend/access/transam/xlog.c
125index 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;
173diff --git a/src/backend/tsearch/spell.c b/src/backend/tsearch/spell.c
174index 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
186diff --git a/src/backend/utils/adt/datetime.c b/src/backend/utils/adt/datetime.c
187index 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);
230diff --git a/src/bin/initdb/findtimezone.c b/src/bin/initdb/findtimezone.c
231index 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,
252diff --git a/src/bin/pg_basebackup/pg_basebackup.c b/src/bin/pg_basebackup/pg_basebackup.c
253index 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);
286diff --git a/src/interfaces/ecpg/preproc/pgc.l b/src/interfaces/ecpg/preproc/pgc.l
287index 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 {
299diff --git a/src/interfaces/libpq/fe-protocol2.c b/src/interfaces/libpq/fe-protocol2.c
300index 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;
312diff --git a/src/interfaces/libpq/fe-protocol3.c b/src/interfaces/libpq/fe-protocol3.c
313index 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;
325diff --git a/src/port/exec.c b/src/port/exec.c
326index 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 {
347diff --git a/src/test/regress/pg_regress.c b/src/test/regress/pg_regress.c
348index 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
378diff --git a/src/timezone/pgtz.c b/src/timezone/pgtz.c
379index 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--
3921.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 @@
1diff --git a/src/interfaces/ecpg/Makefile b/src/interfaces/ecpg/Makefile
2index 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
3PGDATA=/var/lib/postgresql/data
4export 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'
6if [ -x /sbin/runuser ]
7then
8 SU=runuser
9else
10 SU=su
11fi
12
13PGENGINE=/usr/bin
14PGDATA=/var/lib/postgresql/data
15PGLOG=/var/lib/postgresql/pgstartup.log
16script_result=0
17
18initdb(){
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
64case "$1" in
65 initdb)
66 initdb
67 ;;
68 *)
69 echo "Usage: $0 initdb"
70 exit 2
71esac
72
73exit $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
16PGVERSION=9.2.4
17# PGMAJORVERSION is major version, e.g., 8.4 (this should match PG_VERSION)
18PGMAJORVERSION=`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
24NAME=`basename $0`
25if [ ${NAME:0:1} = "S" -o ${NAME:0:1} = "K" ]
26then
27 NAME=${NAME:3}
28fi
29
30# For SELinux we need to use 'runuser' not 'su'
31if [ -x /sbin/runuser ]
32then
33 SU=runuser
34else
35 SU=su
36fi
37
38
39# Set defaults for configuration variables
40PGENGINE=/usr/bin
41PGPORT=5432
42PGDATA=/var/lib/postgresql/data
43PGLOG=/var/lib/postgresql/pgstartup.log
44# Value to set as postmaster process's oom_adj
45PG_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
50export PGDATA
51export PGPORT
52
53lockfile="/var/lock/subsys/${NAME}"
54pidfile="/var/run/postmaster.${PGPORT}.pid"
55
56script_result=0
57
58start(){
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
128stop(){
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
150restart(){
151 stop
152 start
153}
154
155condrestart(){
156 [ -e "$lockfile" ] && restart || :
157}
158
159reload(){
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.
165case "$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
191esac
192
193exit $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
2auth include common-auth
3account include common-account
4password 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]
2Description=PostgreSQL database server
3After=network.target
4
5[Service]
6Type=forking
7User=postgres
8Group=postgres
9
10# Port number for server to listen on
11Environment=PGPORT=5432
12
13# Location of database directory
14Environment=PGDATA=/var/lib/postgresql/data
15
16# Disable OOM kill on the postmaster
17OOMScoreAdjust=-17
18
19ExecStart=@BINDIR@/pg_ctl start -D ${PGDATA} -s -o "-p ${PGPORT}" -w -t 300
20ExecStop=@BINDIR@/pg_ctl stop -D ${PGDATA} -s -m fast
21ExecReload=@BINDIR@/pg_ctl reload -D ${PGDATA} -s
22
23# Give a reasonable amount of time for the server to start up/shut down
24TimeoutSec=300
25
26[Install]
27WantedBy=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 @@
1Upstream-status: backport
2
3From 602070f9cce790debd8d1469254e7726ab499ae7 Mon Sep 17 00:00:00 2001
4From: Peter Eisentraut <peter_e@gmx.net>
5Date: Fri, 29 Mar 2013 21:39:55 -0400
6Subject: [PATCH] ecpg: Parallel make fix
7
8In some parallel make situations, the install-headers target could be
9called before the installation directories are created by installdirs,
10causing the installation to fail. Fix that by making install-headers
11depend on installdirs.
12---
13 src/interfaces/ecpg/include/Makefile | 2 +-
14 1 file changed, 1 insertion(+), 1 deletion(-)
15
16diff --git a/src/interfaces/ecpg/include/Makefile b/src/interfaces/ecpg/include/Makefile
17index 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--
301.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 @@
1Index: 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 @@
1SUMMARY = "PostgreSQL is a powerful, open source relational database system."
2DESCRIPTION = "\
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 "
20HOMEPAGE = "http://www.postgresql.com"
21LICENSE = "BSD"
22DEPENDS = "zlib readline tzcode-native"
23INC_PR = "r0"
24
25ARM_INSTRUCTION_SET = "arm"
26
27SRC_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
43LEAD_SONAME = "libpq.so"
44
45# LDFLAGS for shared libraries
46export LDFLAGS_SL = "${LDFLAGS}"
47
48inherit autotools pkgconfig perlnative pythonnative useradd update-rc.d systemd
49
50SYSTEMD_SERVICE_${PN} = "postgresql.service"
51SYSTEMD_AUTO_ENABLE_${PN} = "disable"
52
53DEPENDS_append = " ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'systemd-systemctl-native', '', d)}"
54pkg_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
63enable_pam = "${@base_contains('DISTRO_FEATURES', 'pam', 'pam', '', d)}"
64PACKAGECONFIG ??= "${enable_pam} openssl python uuid libxml tcl nls libxml perl"
65PACKAGECONFIG[pam] = "--with-pam,--without-pam,libpam,"
66PACKAGECONFIG[openssl] = "--with-openssl,--without-openssl,openssl,"
67PACKAGECONFIG[python] = "--with-python,--without-python,python,python"
68PACKAGECONFIG[uuid] = "--with-ossp-uuid,--without-ossp-uuid,ossp-uuid,"
69# when tcl native package is fixed change WORKDIR to STAGING_BINDIR_CROSS
70PACKAGECONFIG[tcl] = \
71 "--with-tcl --with-tclconfig=${STAGING_BINDIR_CROSS},--without-tcl,tcl,"
72PACKAGECONFIG[nls] = "--enable-nls,--disable-nls,,"
73PACKAGECONFIG[libxml] = "--with-libxml,--without-libxml,libxml2,libxml2"
74PACKAGECONFIG[perl] = "--with-perl,--without-perl,perl,perl"
75
76EXTRA_OECONF += "--enable-thread-safety --disable-rpath \
77 --datadir=${datadir}/${BPN} \
78 --sysconfdir=${sysconfdir}/${BPN} \
79 --without-krb5 \
80"
81EXTRA_OECONF_sh4 += "--disable-spinlocks"
82EXTRA_OECONF_aarch64 += "--disable-spinlocks"
83
84PACKAGES_DYNAMIC += "^${PN}-plperl ^${PN}-plperl-dbg \
85 ^${PN}-pltcl ^${PN}-pltcl-dbg \
86 ^${PN}-plpython ^${PN}-plpython-dbg \
87"
88
89python 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
120do_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
163do_compile_append() {
164 oe_runmake -C contrib all
165}
166
167# server needs to configure user and group
168usernum = "28"
169groupnum = "28"
170USERADD_PACKAGES = "${PN}"
171USERADD_PARAM_${PN} = "-M -g postgres -o -r -d ${localstatedir}/lib/${BPN} \
172 -s /bin/bash -c 'PostgreSQL Server' -u ${usernum} postgres"
173GROUPADD_PARAM_${PN} = "-g ${groupnum} -o -r postgres"
174
175INITSCRIPT_PACKAGES = "${PN}"
176INITSCRIPT_NAME = "${BPN}-server"
177INITSCRIPT_PARAMS = "start 64 . stop 36 0 1 2 3 4 5 6 ."
178
179do_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
216SSTATE_SCAN_FILES += "Makefile.global"
217
218PACKAGES =+ "${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
226FILES_${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
238FILES_${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
245FILES_${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
261FILES_${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
271FILES_${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
277FILES_${PN}-timezone = "${datadir}/${BPN}/timezone \
278 ${datadir}/${BPN}/timezonesets \
279"
280RDEPENDS_${PN} += "${PN}-timezone"
281FILES_${PN}-server-dev = "${includedir}/${BPN}/server"
282
283FILES_libecpg = "${libdir}/libecpg*${SOLIBS}"
284FILES_libecpg-dbg = "${libdir}/.debug/libecpg*"
285FILES_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"
290FILES_libecpg-doc = "${mandir}/man1/ecpg.*"
291FILES_libecpg-staticdev = "${libdir}/libecpg*.a"
292SECTION_libecpg-staticdev = "devel"
293RDEPENDS_libecpg-staticdev = "libecpg-dev (= ${EXTENDPKGV})"
294
295FILES_libpq = "${libdir}/libpq*${SOLIBS}"
296FILES_libpq-dbg = "${libdir}/.debug/libpq* ${libdir}/${BPN}/pgxs/src/test/regress/.debug/*"
297FILES_libpq-dev = "${libdir}/libpq*${SOLIBSDEV} \
298 ${includedir}"
299FILES_libpq-staticdev = "${libdir}/libpq*.a ${libdir}/libpgport.a"
300SECTION_libpq-staticdev = "devel"
301RDEPENDS_libpq-staticdev = "libpq-dev (= ${EXTENDPKGV})"
302
303FILES_libecpg-compat = "${libdir}/libecpg_compat*${SOLIBS}"
304FILES_libecpg-compat-dbg = "${libdir}/.debug/libecpg_compat*"
305FILES_libecpg-compat-dev = "${libdir}/libecpg_compat*${SOLIBS}"
306FILES_libpgtypes = "${libdir}/libpgtypes*${SOLIBS}"
307FILES_libpgtypes-dbg = "${libdir}/.debug/libpgtypes*"
308FILES_libpgtypes-staticdev = "${libdir}/libpgtypes*.a"
309FILES_libpgtypes-dev = "${libdir}/libpgtypes*${SOLIBS} ${includedir}/pgtypes*.h"
310
311FILES_${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"
339FILES_${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"
369DESCRIPTION_${PN}-contrib = "The postgresql-contrib package contains \
370 contributed packages that are included in the PostgreSQL distribution."
371
372FILES_${PN}-pltcl = "${libdir}/${BPN}/pltcl.so ${bindir}/pltcl_delmod \
373 ${binddir}/pltcl_listmod ${bindir}/pltcl_loadmod \
374 ${datadir}/${BPN}/unknown.pltcl"
375FILES_${PN}-pltcl-dbg = "${libdir}/${BPN}/.debug/pltcl.so"
376SUMMARY_${PN}-pltcl = "The Tcl procedural language for PostgreSQL"
377DESCRIPTION_${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
381FILES_${PN}-plperl = "${libdir}/${BPN}/plperl.so"
382FILES_${PN}-plperl-dbg = "${libdir}/${BPN}/.debug/plperl.so"
383SUMMARY_${PN}-plperl = "The Perl procedural language for PostgreSQL"
384DESCRIPTION_${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
390FILES_${PN}-plpython = "${libdir}/${BPN}/plpython*.so"
391FILES_${PN}-plpython-dbg = "${libdir}/${BPN}/.debug/plpython*.so"
392SUMMARY_${PN}-plpython = "The Python procedural language for PostgreSQL"
393DESCRIPTION_${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 @@
1require postgresql.inc
2
3LIC_FILES_CHKSUM = "file://COPYRIGHT;md5=ab55a5887d3f8ba77d0fd7db787e4bab"
4
5PR = "${INC_PR}.0"
6
7SRC_URI += "\
8 file://remove.autoconf.version.check.patch \
9 file://ecpg-parallel-make-fix.patch \
10"
11
12SRC_URI[md5sum] = "6ee5bb53b97da7c6ad9cb0825d3300dd"
13SRC_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 @@
1SUMMARY = "User-space tools for LinuxPPS"
2
3LICENSE = "GPLv2"
4LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe"
5
6PV = "0.0.0+git${SRCPV}"
7SRCREV = "0deb9c7e135e9380a6d09e9d2e938a146bb698c8"
8SRC_URI = "git://github.com/ago/pps-tools.git"
9
10S = "${WORKDIR}/git"
11
12do_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 @@
1SUMMARY = "Terminal-based tool for monitoring the progress of data through a pipeline"
2
3LICENSE = "Artistic-2.0"
4LIC_FILES_CHKSUM = "file://doc/COPYING;md5=9c50db2589ee3ef10a9b7b2e50ce1d02"
5
6SRC_URI = "http://www.ivarch.com/programs/sources/pv-${PV}.tar.bz2"
7SRC_URI[md5sum] = "efe8e9e4cad5f3264a32258a63bf2c8e"
8SRC_URI[sha256sum] = "76f3999b1c3b3027163dce6ef667cdf8dafb75218ee25e54a03bfe590478f90e"
9
10inherit 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
3all: 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 @@
1Index: 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 @@
1Index: 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
29static int fd = -1;
30
31typedef unsigned int u32;
32
33struct reg_info {
34 char *name;
35 u32 addr;
36 int shift;
37 u32 mask;
38 char type;
39 char *desc;
40};
41
42
43static 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
1771static 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
1806static 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
1839static u32 lastaddr = 0;
1840static u32 newaddr = 1;
1841static u32 data = 0;
1842static u32 shiftdata;
1843
1844
1845static 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
1882static 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
1893static 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
1906static 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
1940int 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 @@
1Index: 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 @@
1Index: 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 @@
1SUMMARY = "Tool to display and modify PXA registers at runtime"
2LICENSE = "GPLv2"
3LIC_FILES_CHKSUM = "file://pxaregs.c;endline=12;md5=668d061b7637acc68cb8071c9be372e6"
4AUTHOR = "Holger Schurig <hs4233@mail.mn-solutions.de>"
5HOMEPAGE = "http://www.mn-logistik.de/unsupported/pxa250/"
6
7SRC_URI = "file://pxaregs.c \
8 file://i2c.patch \
9 file://munmap.patch \
10 file://serial.patch \
11 file://usb.patch "
12
13S = "${WORKDIR}"
14
15do_compile() {
16 ${CC} pxaregs.c -o pxaregs ${CFLAGS} ${LDFLAGS}
17}
18
19do_install() {
20 install -d ${D}${sbindir}/
21 install -m 0755 pxaregs ${D}${sbindir}/
22}
23
24SRC_URI[md5sum] = "a43baa88842cd5926dbffb6fb87624f6"
25SRC_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 @@
1Modernise configure to work with modern automake.
2
3RP 2014/7/14
4
5Upstream-Status: Pending
6
7Index: 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 @@
1SUMMARY = "Tool for writing very fast and very flexible scanners"
2HOMEPAGE = "http://re2c.sourceforge.net/"
3AUTHOR = "Marcus Börger <helly@users.sourceforge.net>"
4SECTION = "devel"
5LICENSE = "PD"
6LIC_FILES_CHKSUM = "file://README;beginline=180;md5=822830a2204aef353f2c489f62e02089"
7
8SRC_URI = "${SOURCEFORGE_MIRROR}/${BPN}/${BPN}-${PV}.tar.gz \
9 file://configure.patch"
10SRC_URI[md5sum] = "4a97d8f77ed6d2c76c8bd840a43f5633"
11SRC_URI[sha256sum] = "f3a995139af475e80a30207d02728b1e0065b0caade7375e974cb1b14861668c"
12
13BBCLASSEXTEND = "native"
14
15inherit 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 @@
1From eb7590cc2cdd5c35403af4567d8524e017010f1c Mon Sep 17 00:00:00 2001
2From: Koen Kooi <koen@dominion.thruhere.net>
3Date: Sat, 11 May 2013 07:58:17 +0200
4Subject: [PATCH] configure: remove check for x86.h, we don't build get-edid
5
6Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
7
8Upstream-status: Inappropriate [OE specific]
9---
10 configure.in | 2 --
11 1 file changed, 2 deletions(-)
12
13diff --git a/configure.in b/configure.in
14index 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--
271.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 @@
1DESCRIPTION = "read-edid elucidates various very useful informations from a conforming PnP monitor"
2LICENSE = "GPLv2"
3LIC_FILES_CHKSUM = "file://COPYING;md5=d0bf70fa1ef81fe4741ec0e6231dadfd"
4
5SRC_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
8SRC_URI[md5sum] = "586e7fa1167773b27f4e505edc93274b"
9SRC_URI[sha256sum] = "246ec14ec509e09ac26fe6862b120481b2cc881e2f142ba40886d6eec15e77e8"
10
11inherit autotools
12
13do_compile() {
14 oe_runmake parse-edid
15}
16
17do_install() {
18 install -d ${D}${bindir}
19 install -m 0755 parse-edid ${D}${bindir}
20}
21
22PACKAGES =+ "parse-edid"
23FILES_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
2RNG_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
8rngd=/usr/sbin/rngd
9test -x "$rngd" || exit 1
10
11if [ -e /etc/default/rng-tools ]; then
12 . /etc/default/rng-tools
13fi
14
15if [ -n "$RNG_DEVICE" ]; then
16 EXTRA_ARGS="-- -r $RNG_DEVICE"
17fi
18
19
20case "$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
47esac
48
49exit 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 @@
1SUMMARY = "Random number generator daemon"
2LICENSE = "GPLv2"
3LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f"
4DEPENDS_append_libc-uclibc = " argp-standalone"
5
6SRC_URI = "http://heanet.dl.sourceforge.net/sourceforge/gkernel/${BP}.tar.gz \
7 file://init \
8 file://default"
9
10SRC_URI[md5sum] = "ae89dbfcf08bdfbea19066cfbf599127"
11SRC_URI[sha256sum] = "b71bdfd4222c05e8316001556be90e1606f2a1bac3efde60153bd84e873cc195"
12
13inherit autotools update-rc.d
14
15do_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
25INITSCRIPT_NAME = "rng-tools"
26INITSCRIPT_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 @@
1From 26ad431e19788898fb4ed19ff91392e8b20f1bab Mon Sep 17 00:00:00 2001
2From: Wenzong Fan <wenzong.fan@windriver.com>
3Date: Thu, 16 Oct 2014 04:06:55 -0400
4Subject: [PATCH] fix cmd_rsync
5
6Don't break configure if rsync is not installed on host.
7
8rsync is a runtime dependency and this change is only used for
9generating rsnapshot.conf.default. It allows cmd_rsync to use
10default path if options --without-rsync is specfied.
11
12Upstream-Status: Pending
13
14Signed-off-by: Wenzong Fan <wenzong.fan@windriver.com>
15---
16 configure.ac | 5 +++--
17 1 file changed, 3 insertions(+), 2 deletions(-)
18
19diff --git a/configure.ac b/configure.ac
20index 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--
431.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 @@
1SUMMARY = "A filesystem snapshot utility based on rsync"
2HOMEPAGE = "http://www.rsnapshot.org"
3BUGTRACKER = "https://sourceforge.net/projects/rsnapshot/"
4SECTION = "console/network"
5
6LICENSE = "GPLv2"
7LIC_FILES_CHKSUM = "file://COPYING;md5=892f569a555ba9c07a568a7c0c4fa63a"
8
9RDEPENDS_${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
23SRCREV = "1047cbb57937c29233388e2fcd847fecd3babe74"
24PV = "1.3.1+git${SRCPV}"
25
26SRC_URI = "git://github.com/DrHyde/${BPN};branch=master;protocol=git \
27 file://configure-fix-cmd_rsync.patch \
28 "
29
30S = "${WORKDIR}/git"
31
32inherit autotools
33
34# Fix rsnapshot.conf.default:
35# don't inject the host path into target configs.
36EXTRA_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 @@
1SUMMARY = "A user-space tool to show and modify the state of GPIOs on the S3c24xx platform"
2SECTION = "console/utils"
3AUTHOR = "Werner Almesberger <werner@openmoko.org>"
4LICENSE = "GPLv2+"
5LIC_FILES_CHKSUM = "file://gpio.c;endline=12;md5=cfb91c686857b2e60852b4925d90a3e1"
6SRCREV = "4949"
7PV = "1.0+svnr${SRCPV}"
8PR = "r2"
9
10SRC_URI = "svn://svn.openmoko.org/trunk/src/target;module=gpio;protocol=http"
11S = "${WORKDIR}/gpio"
12
13do_compile() {
14 ${CC} ${CFLAGS} ${LDFLAGS} -static -o ${PN} gpio.c
15}
16
17do_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 @@
1SUMMARY = "A user-space tool to show and modify the state of GPIOs on the S3c64xx platform"
2SECTION = "console/utils"
3AUTHOR = "Werner Almesberger <werner@openmoko.org>"
4LICENSE = "GPLv2+"
5LIC_FILES_CHKSUM = "file://gpio-s3c6410.c;endline=12;md5=060cda1be945ad9194593f11d56d55c7"
6SRCREV = "4949"
7PV = "1.0+svnr${SRCPV}"
8
9SRC_URI = "svn://svn.openmoko.org/trunk/src/target;module=gpio;protocol=http"
10S = "${WORKDIR}/gpio"
11
12do_compile() {
13 ${CC} ${CFLAGS} ${LDFLAGS} -static -o ${PN} gpio-s3c6410.c
14}
15
16do_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 @@
1SUMMARY = "JTAG utility to interface w/ a S3C2410 device"
2SECTION = "devel"
3AUTHOR = "Harald Welte <laforge@openmoko.org>"
4LICENSE = "GPLv2+"
5LIC_FILES_CHKSUM = "file://parport.c;endline=19;md5=b5681091b0fd8c5f7068835c441bf0c8"
6SRCREV = "4268"
7PV = "0.1+svnr${SRCPV}"
8PR = "r1"
9
10SRC_URI = "svn://svn.openmoko.org/trunk/src/host/;module=sjf2410-linux;protocol=http"
11S = "${WORKDIR}/sjf2410-linux"
12
13inherit native deploy
14do_deploy[sstate-outputdirs] = "${DEPLOY_DIR_TOOLS}"
15
16CFLAGS += "-DLINUX_PPDEV"
17
18do_compile() {
19 oe_runmake
20}
21
22do_install() {
23 install -d ${D}/${bindir}
24 install -m 0755 sjf2410 ${D}/${bindir}
25}
26
27do_deploy() {
28 install -d ${DEPLOY_DIR_TOOLS}
29 install -m 0755 sjf2410 ${DEPLOY_DIR_TOOLS}/sjf2410-${PV}
30}
31
32addtask 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
3Upstream-Status: Pending
4
5Add = before the included dir to make sysroot work
6
7Signed-off-by: Roy.Li <rongqing.li@windriver.com>
8---
9 src/Makefile.am | 2 +-
10 1 file changed, 1 insertion(+), 1 deletion(-)
11
12diff --git a/src/Makefile.am b/src/Makefile.am
13index 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--
261.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 @@
1SUMMARY = "fetch and change SCSI mode pages"
2DESCRIPTION = "The sdparm utility accesses and optionally modifies \
3SCSI devices' mode page and inquiry data."
4HOMEPAGE = "http://sg.danny.cz/sg/sdparm.html"
5SECTION = "console/utils"
6LICENSE = "BSD"
7LIC_FILES_CHKSUM = "file://COPYING;md5=ecab6c36b7ba82c675581dd0afde36f7 \
8 file://lib/BSD_LICENSE;md5=1d52f4a66f1e0ed96776bf354ab7a2ed"
9DEPENDS="sg3-utils"
10SRC_URI = "http://sg.danny.cz/sg/p/${BPN}-${PV}.tgz \
11 file://make-sysroot-work.patch \
12 "
13
14PACKAGES =+ "${PN}-scripts"
15RDEPENDS_${PN}-scripts += "bash ${PN}"
16
17SRC_URI[md5sum] = "be5786f37499018ef44f409597c92d42"
18SRC_URI[sha256sum] = "376b78a414b1a9c47f3f13dbeb963e7a3ec7be126f83927d6856b5f7ac425e57"
19
20inherit autotools
21
22# Put the bash scripts to ${PN}-scripts
23FILES_${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 @@
1SUMMARY = "Receive a forwarded serial from serial-forward and provide a PTY"
2AUTHOR = "Holger 'Zecke' Freyther"
3LICENSE = "GPLv2"
4LIC_FILES_CHKSUM = "file://COPYING;md5=ebb5c50ab7cab4baeffba14977030c07"
5SECTION = "console/network"
6SRCREV = "00dbec2636ae0385ad028587e20e446272ff97ec"
7PV = "1.1+gitr${SRCPV}"
8
9SRC_URI = "${FREESMARTPHONE_GIT}/cornucopia"
10S = "${WORKDIR}/git/tools/serial_forward"
11
12inherit autotools native
13
14do_deploy[sstate-outputdirs] = "${DEPLOY_DIR_IMAGE}"
15do_deploy() {
16 install -d ${DEPLOY_DIR_IMAGE}
17 install -m 0755 ${S}/src/pty_forward ${DEPLOY_DIR_IMAGE}/pty-forward
18}
19
20addtask 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 @@
1SUMMARY = "Forward a serial using TCP/IP"
2AUTHOR = "Holger 'Zecke' Freyther'"
3LICENSE = "GPLv2"
4LIC_FILES_CHKSUM = "file://COPYING;md5=ebb5c50ab7cab4baeffba14977030c07"
5SECTION = "console/devel"
6SRCREV = "00dbec2636ae0385ad028587e20e446272ff97ec"
7PV = "1.1+gitr${SRCPV}"
8
9SRC_URI = "${FREESMARTPHONE_GIT}/cornucopia"
10S = "${WORKDIR}/git/tools/serial_forward"
11
12inherit 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 @@
1SUMMARY = "Utilities for working with generic SCSI devices"
2
3DESCRIPTION = "This package contains low level utilities for devices that use the SCSI command set"
4
5HOMEPAGE = "http://sg.danny.cz/sg/sg3_utils.html"
6SECTION = "console/admin"
7
8LICENSE = "GPLv2+ & BSD"
9LIC_FILES_CHKSUM = "file://COPYING;md5=f90da7fc52172599dbf082d7620f18ca"
10
11SRC_URI = "http://sg.danny.cz/sg/p/sg3_utils-${PV}.tgz"
12SRC_URI[md5sum] = "e532a3d6648c422347f6d84cac469263"
13SRC_URI[sha256sum] = "d7d3a8b4b698e2c17c8f16bb876946720260d4d659d471c5d7c12ce652ba38f1"
14
15inherit autotools-brokensep
16
17S = "${WORKDIR}/sg3_utils-${PV}"
18
19RDEPENDS_${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 @@
1From 990234af84a5399017d1c4fe03c5c756a8e51e23 Mon Sep 17 00:00:00 2001
2From: Hongjun Yang <Hongjun.Yang@windriver.com>
3Date: Tue, 20 Aug 2013 09:41:43 +0800
4Subject: [PATCH] fix cross compiling issue
5
6Upstream-Status: Pending
7
8Signed-off-by: Hongjun.Yang <hongjun.yang@windriver.com>
9
10---
11 configure | 2 +-
12 1 file changed, 1 insertion(+), 1 deletion(-)
13
14diff --git a/configure b/configure
15index 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--
281.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 @@
1SUMMARY = "This is the set of GNU shar utilities."
2HOMEPAGE = "http://www.gnu.org/software/sharutils/"
3SECTION = "console/utils"
4LICENSE="GPLv3+"
5LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504"
6
7inherit gettext autotools-brokensep
8
9SRC_URI = "ftp://ftp.gnu.org/gnu/sharutils/sharutils-4.14.tar.gz \
10 file://fix-for-cross-compiling.patch \
11 "
12
13SRC_URI[md5sum] = "5686c11131b4c4c0841f8f3ef34d136a"
14SRC_URI[sha256sum] = "90f5107c167cfd1b299bb211828d2586471087863dbed698f53109cd5f717208"
15
16do_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 @@
1diff -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 @@
1diff -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
3prefix=/usr
4exec_prefix=${prefix}
5libdir=${exec_prefix}/lib
6includedir=${prefix}/include
7
8Name: SQLite
9Description: SQL database engine
10Version: 2.8.17
11Libs: -L${libdir} -lsqlite
12Cflags: -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 @@
1SUMMARY = "An Embeddable SQL Database Engine"
2HOMEPAGE = "http://www.sqlite.org/"
3SECTION = "libs"
4DEPENDS = "readline ncurses"
5LICENSE = "PD"
6LIC_FILES_CHKSUM = "file://src/main.c;beginline=1;endline=10;md5=e98469a8efa024a38ad5b2e4b92f4a96"
7
8PR = "r7"
9
10SRC_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
15SOURCES = "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
20inherit autotools pkgconfig
21
22do_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
28do_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
39do_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
52PACKAGES += "${PN}-bin"
53FILES_${PN}-bin = "${bindir}/*"
54FILES_${PN} = "${libdir}/*.so.*"
55
56SRC_URI[md5sum] = "838dbac20b56d2c4292e98848505a05b"
57SRC_URI[sha256sum] = "3f35ebfb67867fb5b583a03e480f900206af637efe7179b32294a6a0cf806f37"
58
59BBCLASSEXTEND = "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 @@
1SUMMARY = "Debian's start-stop-daemon utility extracted from the dpkg \
2package"
3LICENSE = "PD"
4LIC_FILES_CHKSUM = "file://utils/start-stop-daemon.c;md5=a963623e4588f70122865aaa7a370ce4"
5# start-stop-daemon is usually shipped by dpkg
6DEPENDS = "ncurses"
7RCONFLICS_${PN} = "dpkg"
8
9SRC_URI = "http://sources.openembedded.org/dpkg_${PV}.tar.bz2"
10SRC_URI[md5sum] = "d211a84f38987771a49ad1c0f144334a"
11SRC_URI[sha256sum] = "2a3d4ba83c743b3f004533fdd52372cb7b22f5c1da2042d0a31bbcc2b54c0ea5"
12
13inherit autotools gettext pkgconfig
14
15S = "${WORKDIR}/dpkg-${PV}"
16
17EXTRA_OECONF = " \
18 --with-start-stop-daemon \
19 --without-bz2 \
20 --without-install-info \
21 --without-selinux \
22 --without-update-alternatives \
23"
24
25do_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 @@
1SUMMARY = "Synergy - control multiple computers with one keyboard and mouse"
2HOMEPAGE = "http://synergy.googlecode.com"
3LIC_FILES_CHKSUM = "file://COPYING;md5=9772a11e3569985855e2ce450e56f991"
4LICENSE = "GPL-2.0"
5SECTION = "x11/utils"
6
7DEPENDS = "libx11 libxtst libxinerama"
8
9SRC_URI = "http://synergy.googlecode.com/files/synergy-${PV}-Source.tar.gz"
10
11SRC_URI[md5sum] = "3534c65ecfa6e47d7899c57975442f03"
12SRC_URI[sha256sum] = "0afc83e4ed0b46ed497d4229b2b2854e8d3c581a112f4da05110943edbfacc03"
13
14S = "${WORKDIR}/${PN}-${PV}-Source"
15
16inherit cmake
17
18do_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 @@
1Fix the memory leak problem for mutex
2
3Upstream-Status: Pending
4
5Signed-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
12diff --git a/lib/logqueue.c b/lib/logqueue.c
13index 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 }
24diff --git a/modules/affile/affile-dest.c b/modules/affile/affile-dest.c
25index 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);
44diff --git a/modules/dbparser/dbparser.c b/modules/dbparser/dbparser.c
45index 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--
571.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 @@
1Fix the memory leak problem when HAVE_ENVIRON is defined
2
3Upstream-Status: Pending
4
5Signed-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 @@
1From 23e80b75508187baaa823a68ea019b72e0b2305c Mon Sep 17 00:00:00 2001
2From: Budai Laszlo <lbudai@balabit.hu>
3Date: Tue, 12 Nov 2013 13:19:04 +0100
4Subject: [PATCH] afsql: afsql_dd_insert_db() refactor
5
6Upstream-Status: Backport
7
8A lot of the code that was previously in afsql_dd_insert_db() have been
9extracted to smaller functions, and afsql_dd_insert_db() was rebuilt on
10top of these. At the same time, memory leaks were plugged, and in case
11of a transaction error, backlog rewinding has been fixed too, to not
12loose messages since the last BEGIN command.
13
14Signed-off-by: Juhasz Viktor <jviktor@balabit.hu>
15Signed-off-by: Laszlo Budai <lbudai@balabit.hu>
16---
17 modules/afsql/afsql.c | 301 ++++++++++++++++++++++++++++++++------------------
18 1 file changed, 192 insertions(+), 109 deletions(-)
19
20diff --git a/modules/afsql/afsql.c b/modules/afsql/afsql.c
21index 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, &quoted);
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--
4931.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 @@
1configure.ac: add option --enable-thread-tls to manage thread ssl support
2
3Add option --enable-thread-tls to manage the including of thread
4local storage, so we could explicitly disable it.
5
6Upstream-Status: Pending
7
8Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
9---
10 configure.ac | 17 +++++++++++------
11 1 file changed, 11 insertions(+), 6 deletions(-)
12
13diff --git a/configure.ac b/configure.ac
14index 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--
491.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 @@
1Index: 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 @@
1Index: 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 @@
1From 86842df8bff5c97e44fc55d2fb7fc6c10f56ab84 Mon Sep 17 00:00:00 2001
2From: Gergely Nagy <algernon@balabit.hu>
3Date: Fri, 13 Dec 2013 13:46:15 +0100
4Subject: [PATCH] mainloop: Deinit the new config when reverting to the old one
5
6Upstream-Status: Backport
7
8When reloading, and the new config fails, deinit it before initializing
9the old config. This is so that conflicting things do not remain held by
10the half-initialized new config, while the old tries to take it
11over. (It also removed a couple of memory leaks, most likely.)
12
13The reason we can do this, is because cfg_tree_stop() (called by
14cfg_deinit()) goes over all the known nodes, and log_pipe_deinit() is
15also smart enough to not deinit a node that has not been inited before.
16
17Signed-off-by: Gergely Nagy <algernon@balabit.hu>
18---
19 lib/mainloop.c | 1 +
20 1 file changed, 1 insertion(+)
21
22diff --git a/lib/mainloop.c b/lib/mainloop.c
23index 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--
351.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 @@
1From a269669ba3cb6d1c06a3322b4a6a035cb787d085 Mon Sep 17 00:00:00 2001
2From: Gergely Nagy <algernon@balabit.hu>
3Date: Tue, 14 Jan 2014 13:58:05 +0100
4Subject: [PATCH] driver: Fix a memory leak in log_driver_free()
5
6Upstream-Status: Backport
7
8After freeing up the members of self->plugins, free self->plugins itself
9too.
10
11Signed-off-by: Gergely Nagy <algernon@balabit.hu>
12---
13 lib/driver.c | 4 ++++
14 1 file changed, 4 insertions(+)
15
16diff --git a/lib/driver.c b/lib/driver.c
17index 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--
321.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 @@
1Subject: [PATCH] add libnet enable option
2
3Upstream-Status: Pending
4
5This would avoid a implicit auto-detecting result.
6
7Signed-off-by: Ming Liu <ming.liu@windriver.com>
8Signed-off-by: Jackie Huang <jackie.huang@windriver.com>
9---
10 configure.ac | 27 +++++++++++++++++----------
11 1 files changed, 17 insertions(+), 10 deletions(-)
12
13diff --git a/configure.ac b/configure.ac
14index 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--
651.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 @@
1syslog-ng: fix wrong ownership issue
2
3Upstream-Status: Pending
4
5The ownership of build user is preserved for some target files, fixed it by
6adding --no-same-owner option to tar when extracting files.
7
8Signed-off-by: Ming Liu <ming.liu@windriver.com>
9---
10 scl/Makefile.am | 2 +-
11 1 files changed, 1 insertions(+), 1 deletions(-)
12
13diff --git a/scl/Makefile.am b/scl/Makefile.am
14index 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--
271.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 @@
1From 3ef6ca8044260c77118edca6dead807a2edcb5ef Mon Sep 17 00:00:00 2001
2From: Balazs Scheidler <bazsi@balabit.hu>
3Date: Thu, 31 Oct 2013 13:20:12 +0100
4Subject: [PATCH] cfg: free global LogTemplateOptions
5
6Upstream-Status: Backport
7
8This fixes a potential memory leak when global template specific
9options were specified, such as local-time-zone(), send-time-zone() etc.
10
11Signed-off-by: Balazs Scheidler <bazsi@balabit.hu>
12---
13 lib/cfg.c | 1 +
14 1 file changed, 1 insertion(+)
15
16diff --git a/lib/cfg.c b/lib/cfg.c
17index 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--
291.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
11syslog_ng=/usr/sbin/syslog-ng
12test -x "$syslog_ng" || exit 0
13
14PIDFILE=/var/run/syslog-ng/syslog-ng.pid
15
16create_xconsole() {
17 test -e /dev/xconsole || mknod -m 640 /dev/xconsole p
18 test -x /sbin/restorecon && /sbin/restorecon /dev/xconsole
19}
20
21RETVAL=0
22
23case "$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
60esac
61
62exit $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 @@
1logwriter: Don't allocate a new buffer if fails to consume current item
2
3Upstream-Status: Pending
4
5Signed-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 @@
1rewrite-expr-grammar.ym: Free up token.
2
3Upsteam-Status: Backport
4
5Reported-by: Xufeng Zhang <xufeng.zhang@windriver.com>
6Signed-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 @@
1From 365020c5c0823c91a8011e34597f970a7cfb4fb3 Mon Sep 17 00:00:00 2001
2From: Tusa Viktor <tusavik@gmail.com>
3Date: Wed, 23 Apr 2014 17:10:58 +0000
4Subject: [PATCH] logwriter: still free the unconsumed item during reloading
5 configuration
6
7Upstream-Status: Backport
8
9Otherwise we have no chance to free this stuff.
10
11Reported-by: Xufeng Zhang <xufeng.zhang@windriver.com>
12Signed-off-by: Tusa Viktor <tusavik@gmail.com>
13Signed-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
20diff --git a/lib/logproto/logproto-client.h b/lib/logproto/logproto-client.h
21index 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 \
40diff --git a/lib/logproto/logproto-text-client.c b/lib/logproto/logproto-text-client.c
41index 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 }
68diff --git a/lib/logwriter.c b/lib/logwriter.c
69index 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--
891.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 @@
1Verify the validity of the pointer before delete it
2
3Otherwise, we got a crash at logqueue-fifo.c:344
4 344 iv_list_del(&node->list);
5
6Upstream-Status: Pending
7
8Signed-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.
8options { 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#
19source 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#
33destination d_auth { file("/var/log/auth.log"); };
34destination d_cron { file("/var/log/cron.log"); };
35destination d_daemon { file("/var/log/daemon.log"); };
36destination d_kern { file("/var/log/kern.log"); };
37destination d_lpr { file("/var/log/lpr.log"); };
38destination d_mail { file("/var/log/mail.log"); };
39destination d_syslog { file("/var/log/syslog"); };
40destination d_user { file("/var/log/user.log"); };
41destination d_uucp { file("/var/log/uucp.log"); };
42
43# This files are the log come from the mail subsystem.
44#
45destination d_mailinfo { file("/var/log/mail/mail.info"); };
46destination d_mailwarn { file("/var/log/mail/mail.warn"); };
47destination d_mailerr { file("/var/log/mail/mail.err"); };
48
49# Logging for INN news system
50#
51destination d_newscrit { file("/var/log/news/news.crit"); };
52destination d_newserr { file("/var/log/news/news.err"); };
53destination d_newsnotice { file("/var/log/news/news.notice"); };
54
55# Some `catch-all' logfiles.
56#
57destination d_debug { file("/var/log/debug"); };
58destination d_error { file("/var/log/error"); };
59destination d_messages { file("/var/log/messages"); };
60
61# The root's console.
62#
63destination d_console { usertty("root"); };
64
65# Virtual console.
66#
67destination 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#
74destination 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
81destination 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
89filter f_dbg { level(debug); };
90filter f_info { level(info); };
91filter f_notice { level(notice); };
92filter f_warn { level(warn); };
93filter f_err { level(err); };
94filter f_crit { level(crit .. emerg); };
95
96filter f_debug { level(debug) and not facility(auth, authpriv, news, mail); };
97filter f_error { level(err .. emerg) ; };
98filter f_messages { level(info,notice,warn) and
99 not facility(auth,authpriv,cron,daemon,mail,news); };
100
101filter f_auth { facility(auth, authpriv) and not filter(f_debug); };
102filter f_cron { facility(cron) and not filter(f_debug); };
103filter f_daemon { facility(daemon) and not filter(f_debug); };
104filter f_kern { facility(kern) and not filter(f_debug); };
105filter f_lpr { facility(lpr) and not filter(f_debug); };
106filter f_local { facility(local0, local1, local3, local4, local5,
107 local6, local7) and not filter(f_debug); };
108filter f_mail { facility(mail) and not filter(f_debug); };
109filter f_news { facility(news) and not filter(f_debug); };
110filter f_syslog3 { not facility(auth, authpriv, mail) and not filter(f_debug); };
111filter f_user { facility(user) and not filter(f_debug); };
112filter f_uucp { facility(uucp) and not filter(f_debug); };
113
114filter f_cnews { level(notice, err, crit) and facility(news); };
115filter f_cother { level(debug, info, notice, warn) or facility(daemon, mail); };
116
117filter f_ppp { facility(local2) and not filter(f_debug); };
118filter f_console { level(warn .. emerg); };
119
120########################
121# Log paths
122########################
123log { source(s_src); filter(f_auth); destination(d_auth); };
124log { source(s_src); filter(f_cron); destination(d_cron); };
125log { source(s_src); filter(f_daemon); destination(d_daemon); };
126log { source(s_src); filter(f_kern); destination(d_kern); };
127log { source(s_src); filter(f_lpr); destination(d_lpr); };
128log { source(s_src); filter(f_syslog3); destination(d_syslog); };
129log { source(s_src); filter(f_user); destination(d_user); };
130log { source(s_src); filter(f_uucp); destination(d_uucp); };
131
132log { 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
137log { source(s_src); filter(f_news); filter(f_crit); destination(d_newscrit); };
138log { source(s_src); filter(f_news); filter(f_err); destination(d_newserr); };
139log { 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
145log { source(s_src); filter(f_debug); destination(d_debug); };
146log { source(s_src); filter(f_error); destination(d_error); };
147log { source(s_src); filter(f_messages); destination(d_messages); };
148
149log { source(s_src); filter(f_console); destination(d_console_all);
150 destination(d_xconsole); };
151log { 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 @@
1SUMMARY = "Alternative system logger daemon"
2DESCRIPTION = "syslog-ng, as the name shows, is a syslogd replacement, \
3but with new functionality for the new generation. The original syslogd \
4allows messages only to be sorted based on priority/facility pairs; \
5syslog-ng adds the possibility to filter based on message contents using \
6regular expressions. The new configuration scheme is intuitive and powerful. \
7Forwarding logs over TCP and remembering all forwarding hops makes it \
8ideal for firewalled environments. \
9"
10HOMEPAGE = "http://www.balabit.com/network-security/syslog-ng/opensource-logging-system"
11
12LICENSE = "GPLv2 & LGPLv2.1"
13LIC_FILES_CHKSUM = "file://COPYING;md5=e0e8658d9be248f01b7933df24dc1408"
14
15DEPENDS = "flex eventlog glib-2.0"
16
17SRC_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
24inherit autotools systemd pkgconfig update-rc.d update-alternatives
25
26EXTRA_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
39CONFIG_TLS = "--enable-thread-tls"
40CONFIG_TLS_arm = "${@base_conditional( "DEBUG_BUILD", "1", " --disable-thread-tls", " --enable-thread-tls", d )}"
41
42PACKAGECONFIG ??= "openssl \
43 ${@base_contains('DISTRO_FEATURES', 'ipv6', 'ipv6', '', d)} \
44 ${@base_contains('DISTRO_FEATURES', 'systemd', 'systemd', '', d)} \
45"
46PACKAGECONFIG[openssl] = "--enable-ssl,--disable-ssl,openssl,"
47PACKAGECONFIG[ipv6] = "--enable-ipv6,--disable-ipv6,,"
48PACKAGECONFIG[systemd] = "--enable-systemd --with-systemdsystemunitdir=${systemd_unitdir}/system/,--disable-systemd --without-systemdsystemunitdir,systemd,"
49PACKAGECONFIG[linux-caps] = "--enable-linux-caps,--disable-linux-caps,libcap,"
50PACKAGECONFIG[pcre] = "--enable-pcre,--disable-pcre,libpcre,"
51PACKAGECONFIG[dbi] = "--enable-sql,--disable-sql,libdbi,"
52PACKAGECONFIG[libnet] = "--enable-libnet --with-libnet=${STAGING_BINDIR_CROSS},--disable-libnet,libnet,"
53PACKAGECONFIG[smtp] = "--enable-smtp --with-libesmtp=${STAGING_LIBDIR},--disable-smtp,libesmtp,"
54PACKAGECONFIG[json] = "--enable-json,--disable-json,json-c,"
55PACKAGECONFIG[tcp-wrapper] = "--enable-tcp-wrapper,--disable-tcp-wrapper,tcp-wrappers,"
56
57do_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
61do_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
73FILES_${PN} += "${datadir}/include/scl/ ${datadir}/xsd ${datadir}/tools"
74RDEPENDS_${PN} += "gawk"
75
76# This overcomes the syslog-ng rdepends on syslog-ng-dev QA Error
77PACKAGES =+ "${PN}-libs ${PN}-libs-dev ${PN}-libs-dbg"
78FILES_${PN}-libs = "${libdir}/${BPN}/*.so ${libdir}/libsyslog-ng-*.so*"
79FILES_${PN}-libs-dev = "${libdir}/${BPN}/lib*.la"
80FILES_${PN}-libs-dbg = "${libdir}/${BPN}/.debug"
81INSANE_SKIP_${PN}-libs = "dev-so"
82RDEPENDS_${PN} += "${PN}-libs"
83
84CONFFILES_${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
88RDEPENDS_${PN} += " ${@base_conditional("ONLINE_PACKAGE_MANAGEMENT", "none", "", "update-rc.d", d)}"
89
90RPROVIDES_${PN} += "${PN}-systemd"
91RREPLACES_${PN} += "${PN}-systemd"
92RCONFLICTS_${PN} += "${PN}-systemd"
93SYSTEMD_SERVICE_${PN} = "${BPN}.service"
94
95# no syslog-init for systemd
96python () {
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
105INITSCRIPT_NAME = "syslog"
106INITSCRIPT_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 @@
1require syslog-ng.inc
2
3SRC_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
20SRC_URI[md5sum] = "ff3bf223ebafbaa92b69a2d5b729f368"
21SRC_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 @@
1Using the way swig interface is installed leads to a bad path in ${D}.
2The interface ended up in ${D}/${STAGING_DIR_NATIVE} which is wrong. The
3fix is to define a variable in recipe which is used in install rule by
4talloc.
5
6Upstream-Status: Inappropriate [build system specific]
7Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
8
9Index: 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 @@
1Index: 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
16Index: 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 @@
1SUMMARY = "Hierarchical, reference counted memory pool system with destructors"
2HOMEPAGE = "http://talloc.samba.org"
3LICENSE = "LGPL-3.0"
4LIC_FILES_CHKSUM = "file://NEWS;md5=5fe776b23a711c9153ee94bc87e47334"
5
6inherit autotools pkgconfig
7
8SRC_URI = "http://samba.org/ftp/${BPN}/${BPN}-${PV}.tar.gz \
9 file://install-swig-interface-in-SWINGLIBDIR.patch \
10 file://sepbuild.patch \
11"
12SRC_URI[md5sum] = "c6e736540145ca58cb3dcb42f91cf57b"
13SRC_URI[sha256sum] = "5b810527405f29d54f50efd78bf2c89e318f2cd8bed001f22f2a1412fd27c9b4"
14
15TARGET_CC_ARCH += "${LDFLAGS}"
16
17PR = "r2"
18
19EXTRA_AUTORECONF = "--exclude=autopoint --exclude=aclocal"
20
21DEPENDS += "swig-native"
22
23do_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
37do_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
44PACKAGES += "${PN}-swig"
45FILES_${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 @@
1From: Marcin Juszkiewicz <marcin.juszkiewicz@linaro.org>
2Description: Allow to build TBB for ARM cores older than ARMv7a
3
4| ../../include/tbb/machine/gcc_armv7.h:39:2: error: #error Threading
5Building Blocks ARM port requires an ARMv7-a architecture.
6| make[1]: *** [concurrent_hash_map.o] Error 1
7
8https://bugs.launchpad.net/linaro-oe/+bug/1167144
9
10Upstream-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 @@
1Author: Marcin Juszkiewicz <marcin.juszkiewicz@linaro.org>
2
3Upstream-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 @@
1prefix=/usr
2exec_prefix=${prefix}
3libdir=${exec_prefix}/lib
4includedir=${prefix}/include
5
6Name: Threading Building Blocks
7Description: Intel's parallelism library for C++
8URL: http://www.threadingbuildingblocks.org/
9Version: 3.0+r018
10Libs: -L${libdir} -ltbb
11Cflags: -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 @@
1DESCRIPTION = "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."
6HOMEPAGE = "http://threadingbuildingblocks.org/"
7LICENSE = "GPLv2"
8LIC_FILES_CHKSUM = "file://COPYING;md5=2c7f2caf277a3933e3acdf7f89d54cc1"
9PRDATE = "20130314"
10PR = "r${PRDATE}"
11
12SRC_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
17S = "${WORKDIR}/tbb41_${PRDATE}oss/"
18
19SRC_URI[md5sum] = "ed4af7ccfa122f16cf9920b241633a3a"
20SRC_URI[sha256sum] = "32fd5979971b772caa96d40646cee585ed0070516ba2dbbcb1f9b6033d08a92d"
21
22do_compile() {
23 oe_runmake compiler=gcc arch=${HOST_ARCH} runtime=cc4
24}
25
26do_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
40ARM_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 @@
1SUMMARY = "A very small and simple terminal emulator"
2SECTION = "x11/applications"
3DEPENDS = "vte"
4
5LICENSE = "GPLv3"
6LIC_FILES_CHKSUM = "file://main.c;start_line=5;end_line=16;md5=9ae4bf20caf291afa94530026bd15229"
7
8# 0.2 version
9SRCREV = "8586d617aed19fc75f5ae1e07270752c1b2f9a30"
10SRC_URI = "git://github.com/OSSystems/toscoterm.git"
11
12S = "${WORKDIR}/git"
13
14inherit gitpkgv pkgconfig
15
16do_compile() {
17 oe_runmake \
18 CC="${CC}" \
19 CFLAGS="`pkg-config --cflags vte`${CFLAGS}" \
20 LDFLAGS="`pkg-config --libs vte` ${LDFLAGS}"
21}
22
23do_install() {
24 oe_runmake PREFIX="${prefix}" DESTDIR="${D}" install
25}
26
27RDEPENDS_${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 @@
1From 7a485d491697906b445020dfcb37fe91806d7134 Mon Sep 17 00:00:00 2001
2From: Lennart Poettering <lennart@poettering.net>
3Date: Thu, 22 Jul 2010 02:20:22 +0200
4Subject: [PATCH] systemd: install systemd unit files
5Upstream-Status: ?
6Based 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
17diff --git a/Makefile.am b/Makefile.am
18index 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 *~
33diff --git a/configure.ac b/configure.ac
34index 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
53diff --git a/data/Makefile.am b/data/Makefile.am
54index 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
82diff --git a/data/org.freedesktop.UDisks.service.in b/data/org.freedesktop.UDisks.service.in
83index 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
92diff --git a/data/udisks-daemon.service.in b/data/udisks-daemon.service.in
93new file mode 100644
94index 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--
1111.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 @@
1From 1b70b7a798eeeec554ab5aa9fcfff96a22e91774 Mon Sep 17 00:00:00 2001
2From: Gustavo Sverzut Barbieri <barbieri@profusion.mobi>
3Date: Thu, 26 May 2011 17:30:04 -0300
4Subject: [PATCH] Allow disabling atasmart, lvm2 and devicemapper support.
5
6https://bugs.freedesktop.org/show_bug.cgi?id=37647
7
8diff --git a/configure.ac b/configure.ac
9index 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}
89diff --git a/src/adapter-private.h b/src/adapter-private.h
90index 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
101diff --git a/src/adapter.c b/src/adapter.c
102index 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"
113diff --git a/src/daemon.c b/src/daemon.c
114index 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;
148diff --git a/src/device-private.c b/src/device-private.c
149index 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 {
161diff --git a/src/device-private.h b/src/device-private.h
162index 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
191diff --git a/src/device.c b/src/device.c
192index 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
271diff --git a/src/expander-private.h b/src/expander-private.h
272index 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
283diff --git a/src/expander.c b/src/expander.c
284index 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"
295diff --git a/src/helpers/Makefile.am b/src/helpers/Makefile.am
296index 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)
355diff --git a/src/helpers/partutil.c b/src/helpers/partutil.c
356index 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)
383diff --git a/src/port-private.h b/src/port-private.h
384index 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
395diff --git a/src/probers/Makefile.am b/src/probers/Makefile.am
396index 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)
432diff --git a/tools/udisks.c b/tools/udisks.c
433index 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--
4831.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 @@
1DESCRIPTION = "A storage daemon that implements well-defined D-Bus interfaces that can be used to query and manipulate storage devices."
2LICENSE = "GPLv2+"
3LIC_FILES_CHKSUM = "file://COPYING;md5=73d83aebe7e4b62346afde80e0e94273"
4
5DEPENDS = "libatasmart sg3-utils polkit udev dbus-glib glib-2.0 intltool-native"
6# optional dependencies: device-mapper parted
7
8DEPENDS += "${@base_contains('DISTRO_FEATURES', 'systemd', 'systemd', '', d)}"
9
10SRC_URI = "http://hal.freedesktop.org/releases/${BPN}-${PV}.tar.gz;name=${BPN} \
11 file://optional-depends.patch"
12
13SRC_URI += "${@base_contains('DISTRO_FEATURES', 'systemd', 'file://add-systemd-support.patch', '', d)}"
14
15SRC_URI[udisks.md5sum] = "86c63b2b5484f2060499a052b5b6256b"
16SRC_URI[udisks.sha256sum] = "854b89368733b9c3a577101b761ad5397ae75a05110c8698ac5b29de9a8bf8f5"
17
18PR = "r9"
19
20inherit autotools systemd gtk-doc
21
22PACKAGECONFIG ??= ""
23PACKAGECONFIG[parted] = "--enable-parted,--disable-parted,parted"
24
25EXTRA_OECONF = "--disable-man-pages"
26
27FILES_${PN} += "${libdir}/polkit-1/extensions/*.so \
28 ${datadir}/dbus-1/ \
29 ${datadir}/polkit-1 \
30 ${base_libdir}/udev/* \
31"
32
33FILES_${PN}-dbg += "${base_libdir}/udev/.debug"
34
35RPROVIDES_${PN} += "${PN}-systemd"
36RREPLACES_${PN} += "${PN}-systemd"
37RCONFLICTS_${PN} += "${PN}-systemd"
38SYSTEMD_SERVICE_${PN} = "udisks-daemon.service"
39SYSTEMD_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 @@
1DESCRIPTION = "UPower is an abstraction for enumerating power devices, listening to device events and querying history and statistics. "
2LICENSE = "GPLv2+"
3LIC_FILES_CHKSUM = "file://COPYING;md5=0de8fbf1d97a140d1d93b9f14dcfbf08"
4
5PR = "r2"
6
7DEPENDS = "libusb1 udev glib-2.0 dbus-glib polkit gobject-introspection-stub"
8
9SRC_URI = "http://upower.freedesktop.org/releases/${BPN}-${PV}.tar.xz"
10SRC_URI[md5sum] = "18803f82102d56aac90949d1e4251645"
11SRC_URI[sha256sum] = "81eb44c0453b264a737d32f763a31d5b1776f050a47d5be85fc5e9caf874a4c5"
12
13inherit autotools pkgconfig gettext
14
15PACKAGECONFIG ??= ""
16PACKAGECONFIG[idevice] = "--with-idevice,--without-idevice,libimobiledevice libplist"
17
18EXTRA_OECONF = " --with-backend=linux"
19
20do_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
26RRECOMMENDS_${PN} += "pm-utils"
27FILES_${PN} += "${datadir}/dbus-1/ \
28 ${datadir}/polkit-1/ \
29 ${base_libdir}/udev/* \
30"
31
32FILES_${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 @@
1SUMMARY = "Data files for usbmodeswitch"
2LICENSE = "GPLv2"
3LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f"
4
5inherit allarch
6
7SRC_URI = "http://www.draisberghof.de/usb_modeswitch/${BP}.tar.bz2"
8SRC_URI[md5sum] = "dff94177781298aaf0b3c2a3c3dea6b2"
9SRC_URI[sha256sum] = "53889157937109e04dafe897c098ec94f3f44f9c0c83fc6ec8417aa9a587e536"
10
11do_install() {
12 oe_runmake install DESTDIR=${D}
13}
14
15RDEPENDS_${PN} = "usb-modeswitch (>= 2.2.0)"
16FILES_${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 @@
1SUMMARY = "A mode switching tool for controlling 'flip flop' (multiple device) USB gear"
2LICENSE = "GPLv2"
3LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f"
4
5DEPENDS = "libusb1"
6
7SRC_URI = "http://www.draisberghof.de/usb_modeswitch/${BP}.tar.bz2"
8SRC_URI[md5sum] = "f323fe700edd6ea404c40934ddf32b22"
9SRC_URI[sha256sum] = "2752103de171ed5f6c8d6a6e3e73e16c9ee3e8e394dd39c5991f7680eb908a3a"
10
11EXTRA_OEMAKE = "TCL=${bindir}/tclsh"
12
13FILES_${PN} = "${bindir} ${sysconfdir} ${base_libdir}/udev/usb_modeswitch ${sbindir} ${localstatedir}/lib/usb_modeswitch"
14RDEPENDS_${PN} = "tcl"
15RRECOMMENDS_${PN} = "usb-modeswitch-data"
16
17do_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 @@
1Index: 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 @@
1SUMMARY = "Convert the physical locations of a USB device to/from its number"
2AUTHOR = "Werner Almesberger <werner@openmoko.org>"
3SECTION = "console/utils"
4LICENSE = "GPLv2+"
5LIC_FILES_CHKSUM = "file://usbpath.c;endline=20;md5=0aa8c7d2af9110c78a99fbf9a504dc3f"
6DEPENDS = "virtual/libusb0"
7DEPENDS_virtclass-native = "virtual/libusb0-native"
8
9BBCLASSEXTEND = "native"
10
11SRCREV = "3172"
12PV = "0.0+svnr${SRCPV}"
13
14SRC_URI = "svn://svn.openmoko.org/trunk/src/host;module=usbpath;protocol=http \
15 file://configure.patch"
16
17S = "${WORKDIR}/usbpath"
18
19inherit 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 @@
1SUMMARY = "Kernel evdev device emulation"
2DESCRIPTION = "The evemu library and tools are used to describe devices, record data, create devices and replay data from kernel evdev devices. "
3HOMEPAGE = "http://bitmath.org/code/evemu/"
4
5LICENSE = "GPLv3"
6LIC_FILES_CHKSUM = "file://COPYING;md5=f27defe1e96c2e1ecd4e0c9be8967949"
7
8inherit autotools
9
10SRC_URI = "git://bitmath.org/git/evemu.git;protocol=http"
11SRCREV = "9752b50e922572e4cd214ac45ed95e4ee410fe24"
12
13PV = "1.0.5+git${SRCPV}"
14
15S = "${WORKDIR}/git/"
16
17PARALLEL_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 @@
1SUMMARY = "Touch Frame Library"
2DESCRIPTION = "The frame library and tools are used to handle touch frames, i.e., collections of tracked contacts. Bindings for mtdev and XI2.1."
3HOMEPAGE = "http://bitmath.org/code/frame/"
4
5LICENSE = "GPLv3"
6LIC_FILES_CHKSUM = "file://COPYING;md5=2f31b266d3440dd7ee50f92cf67d8e6c"
7
8DEPENDS += "mtdev utouch-evemu"
9
10inherit autotools pkgconfig
11
12SRC_URI = "git://bitmath.org/git/frame.git;protocol=http"
13SRCREV = "95363d5a1f7394d71144bf3b408ef4e6db4350fc"
14
15PV = "1.1.2+git${SRCPV}"
16
17S = "${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 @@
1SUMMARY = "Multitouch viewer"
2DESCRIPTION = "mtview is a small X application that shows a graphical view of your MT-enabled hardware. It uses mtdev."
3HOMEPAGE = "http://bitmath.org/code/mtview/"
4
5LICENSE = "GPLv3"
6LIC_FILES_CHKSUM = "file://COPYING;md5=4c61b8950dc1aab4d2aa7c2ae6b1cfb3"
7
8inherit autotools pkgconfig
9
10SRC_URI = "git://bitmath.org/git/mtview.git;protocol=http"
11SRCREV = "ad437c38dc111cf3990a03abf14efe1b5d89604b"
12
13DEPENDS += "mtdev utouch-frame utouch-evemu libx11"
14
15PV = "1.1.7+git${SRCPV}"
16
17S = "${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 @@
1SUMMARY = "A lightweight Terminal Emulator based on libvte, written in Vala"
2SECTION = "x11/applications"
3DEPENDS = "vte intltool-native"
4SRCREV = "0fefa38087581f85fa0631b40500b9428369c146"
5LICENSE = "GPLv2"
6LIC_FILES_CHKSUM = "file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552"
7PV = "1.3+gitr${SRCPV}"
8PE = "1"
9PR = "r1"
10
11PNBLACKLIST[vala-terminal] ?= "BROKEN: Doesn't work with B!=S, touch: cannot touch `src/.stamp': No such file or directory"
12
13inherit autotools perlnative vala
14
15SRC_URI = "${FREESMARTPHONE_GIT}/vala-terminal.git;branch=master"
16S = "${WORKDIR}/git"
17
18RDEPENDS_${PN} = "ttf-liberation-mono"
19RREPLACES_${PN} = "openmoko-terminal2"
20RPROVIDES_${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 @@
1Upstream-Status: pending
2
3Don't check 'sys/acl.h' if acl support disabled for vim/vim-tiny.
4
5Signed-off-by: Wenzong Fan <wenzong.fan@windriver.com>
6================================================
7diff --git a/src/configure.in b/src/configure.in
8index 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 @@
1vim: add knob whether elf.h are checked
2
3Previously, it still was checked when there was no elf library in sysroots directory.
4Add knob to decide whether elf.h are checked or not.
5
6Upstream-status: Pending
7
8Signed-off-by: Chong Lu <Chong.Lu@windriver.com>
9---
10 src/configure.in | 7 +++++++
11 1 file changed, 7 insertions(+)
12
13diff --git a/src/configure.in b/src/configure.in
14index 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--
371.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 @@
1SUMMARY = "Vi IMproved - enhanced vi editor"
2SECTION = "console/utils"
3DEPENDS = "ncurses gettext-native"
4# vimdiff doesn't like busybox diff
5RSUGGESTS_${PN} = "diffutils"
6LICENSE = "vim"
7LIC_FILES_CHKSUM = "file://../runtime/doc/uganda.txt;md5=b779e18be6ed77facc770691c967b8f8"
8
9SRC_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"
13SRCREV = "v7-4-481"
14
15S = "${WORKDIR}/${BPN}/src"
16
17VIMDIR = "${BPN}${@d.getVar('PV',1).split('.')[0]}${@d.getVar('PV',1).split('.')[1]}"
18
19inherit autotools update-alternatives
20inherit autotools-brokensep
21
22# vim configure.in contains functions which got 'dropped' by autotools.bbclass
23do_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
34PACKAGECONFIG ??= ""
35PACKAGECONFIG += "${@base_contains('DISTRO_FEATURES', 'acl', 'acl', '', d)}"
36PACKAGECONFIG += "${@base_contains('DISTRO_FEATURES', 'selinux', 'selinux', '', d)}"
37
38PACKAGECONFIG[gtkgui] = "--enable-gtk2-test --enable-gui=gtk2,--enable-gui=no,gtk+,"
39PACKAGECONFIG[acl] = "--enable-acl,--disable-acl,acl,"
40PACKAGECONFIG[x11] = "--with-x,--without-x,xt,"
41PACKAGECONFIG[tiny] = "--with-features=tiny,--with-features=big,,"
42PACKAGECONFIG[selinux] = "--enable-selinux,--disable-selinux,libselinux,"
43PACKAGECONFIG[elfutils] = "--enable-elf-check,,elfutils,"
44
45EXTRA_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
62do_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
72PARALLEL_MAKEINST = ""
73
74PACKAGES =+ "${PN}-common ${PN}-syntax ${PN}-help ${PN}-tutor ${PN}-vimrc"
75FILES_${PN}-syntax = "${datadir}/${BPN}/${VIMDIR}/syntax"
76FILES_${PN}-help = "${datadir}/${BPN}/${VIMDIR}/doc"
77FILES_${PN}-tutor = "${datadir}/${BPN}/${VIMDIR}/tutor ${bindir}/${BPN}tutor"
78FILES_${PN}-vimrc = "${datadir}/${BPN}/vimrc"
79FILES_${PN}-data = "${datadir}/${BPN}"
80FILES_${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
96RDEPENDS_${PN} = "ncurses-terminfo-base"
97# Recommend that runtime data is installed along with vim
98RRECOMMENDS_${PN} = "${PN}-syntax ${PN}-help ${PN}-tutor ${PN}-vimrc ${PN}-common"
99
100ALTERNATIVE_${PN} = "vi"
101ALTERNATIVE_TARGET[vi] = "${bindir}/${BPN}"
102ALTERNATIVE_LINK_NAME[vi] = "${base_bindir}/vi"
103ALTERNATIVE_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 @@
1SUMMARY = "Atheros 6K Wifi configuration utility"
2LICENSE = "GPLv2"
3LIC_FILES_CHKSUM = "file://wmiconfig.c;endline=19;md5=4394a56bca1c5b2446c9f8e406c82911"
4SECTION = "console/network"
5SRCREV = "5394"
6PV = "0.0.0+svnr${SRCPV}"
7PR = "r2"
8
9SRC_URI = "svn://svn.openmoko.org/trunk/src/target;module=AR6kSDK.build_sw.18;protocol=http"
10S = "${WORKDIR}/AR6kSDK.build_sw.18/host/tools/wmiconfig"
11
12TARGET_CC_ARCH += "${LDFLAGS}"
13
14do_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 @@
1diff -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 */
13diff -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
25diff -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
37diff -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"
49diff -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 */
58diff -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
67diff -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 @@
1SUMMARY = "Full-featured IRC chat client with scripting support"
2LICENSE = "GPLv2+"
3HOMEPAGE = "http://www.xchat.org"
4SECTION = "x11/network"
5
6DEPENDS = "libgcrypt zlib gtk+ libsexy"
7DEPENDS += "gdk-pixbuf-native"
8
9LIC_FILES_CHKSUM = "file://COPYING;md5=c93c0550bd3173f4504b2cbd8991e50b"
10
11PR = "r2"
12
13SRC_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
19inherit autotools gettext pkgconfig
20
21PACKAGECONFIG ??= "dbus"
22PACKAGECONFIG[dbus] = "--enable-dbus,--disable-dbus,dbus-glib"
23PACKAGECONFIG[openssl] = "--enable-openssl,--disable-openssl,openssl"
24PACKAGECONFIG[python] = "--enable-python,--disable-python,python"
25
26EXTRA_OECONF = "\
27 --enable-maintainer-mode \
28 --disable-perl \
29 --disable-tcl \
30"
31
32RDEPENDS_${PN} += "dbus"
33FILES_${PN} += "${datadir}/dbus-1"
34FILES_${PN}-dbg += "${libdir}/xchat/plugins/.debug"
35
36SRC_URI[md5sum] = "6775c44f38e84d06c06c336b32c4a452"
37SRC_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 @@
1Upstream-Status: Pending
2http://code.google.com/p/xdelta/issues/detail?id=174
3
4Compilation fix:
5<code>
6| testing/regtest.cc:763:3: error: no matching function for call to 'max(xoff_t, size_t&)'
7</code>
8
9Signed-off-by: Matthieu Crapet <Matthieu.Crapet@ingenico.com>
10---
11 testing/regtest.cc | 2 +-
12 1 file changed, 1 insertion(+), 1 deletion(-)
13
14diff --git a/testing/regtest.cc b/testing/regtest.cc
15index 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--
281.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 @@
1Upstream-Status: Pending, Submitted
2http://code.google.com/p/xdelta/issues/detail?id=178
3
4xdelta3: add --with-liblzma configure option
5
6As xdelta3 can be compiled with or without liblzma external library, make it configurable.
7Default is autodetect (unchanged behavior).
8
9Signed-off-by: Matthieu Crapet <mcrapet@gmail.com>
10---
11 configure.ac | 21 +++++++++++++++++++--
12 1 file changed, 19 insertions(+), 2 deletions(-)
13
14diff --git a/configure.ac b/configure.ac
15index 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--
541.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 @@
1SUMMARY = "Xdelta is a tool for differential compression"
2DESCRIPTION = "Open-source binary diff, differential compression tools, \
3 VCDIFF (RFC 3284) delta compression."
4HOMEPAGE = "http://xdelta.org/"
5SECTION = "console/utils"
6
7LICENSE = "GPLv2"
8LIC_FILES_CHKSUM = "file://COPYING;md5=393a5ca445f6965873eca0259a17f833"
9
10SRC_URI = "http://xdelta.googlecode.com/files/${BPN}-${PV}.tar.xz \
11 file://compilation-fix.patch \
12 file://with-liblzma-configure-option.patch \
13"
14SRC_URI[md5sum] = "c3ae3286ce4193de8e03d5bcaccf3bc3"
15SRC_URI[sha256sum] = "3a86f29c95664fb44b8a40ff22d9bcc3e87aa8c01f0ff75931a7fa78ed3d2e55"
16
17inherit autotools
18
19# Optional secondary compression
20PACKAGECONFIG ??= ""
21PACKAGECONFIG[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 @@
1Upstream-Status: Submitted [sourceforge]
2
3From 75d789d0ea9716c9a9ae72f42a2fcfa907cf4a12 Mon Sep 17 00:00:00 2001
4From: Matthieu Crapet <mcrapet@gmail.com>
5Date: Mon, 30 Jun 2014 13:52:25 +0200
6Subject: [PATCH] usage2c.awk: fix wrong basename regexp
7
8Previously not matching with filename argument with absolute path.
9
10Signed-off-by: Matthieu Crapet <mcrapet@gmail.com>
11---
12 usage2c.awk | 4 ++--
13 1 file changed, 2 insertions(+), 2 deletions(-)
14
15diff --git a/usage2c.awk b/usage2c.awk
16index 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--
362.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 @@
1configure.ac: don't use xml-config if --with-libxml-prefix is specified to configure
2
3Same behavior for xslt-config.
4
5diff --git a/configure.ac b/configure.ac
6index 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 @@
1SUMMARY = "Command line XML toolkit"
2DESCRIPTION = "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."
6HOMEPAGE = "http://xmlstar.sourceforge.net/"
7BUGTRACKER = "http://xmlstar.sourceforge.net/bugs/"
8
9SECTION = "console/utils"
10LICENSE = "MIT"
11LIC_FILES_CHKSUM = "file://COPYING;md5=c04760d09e8b0fe73283d0cc9e8bea53"
12
13DEPENDS = "libxml2 libxslt"
14
15SRC_URI = "${SOURCEFORGE_MIRROR}/xmlstar/${BP}.tar.gz \
16 file://configure.ac.patch \
17 file://0001-usage2c.awk-fix-wrong-basename-regexp.patch"
18SRC_URI[md5sum] = "0c6db295d0cf9ff0d439edb755b7e8f6"
19SRC_URI[sha256sum] = "47b4ed042ea2909257f2a386001af49fceb303f84da7214779ccf99fffc6bbba"
20
21inherit autotools
22
23# doc build: requires (native) xstlproc, fop, pdf2ps
24EXTRA_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 @@
1Upstream-Status: Inappropriate [configuration]
2
3diff --git a/Makefile.am b/Makefile.am
4index 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
15diff --git a/doc/Makefile.am b/doc/Makefile.am
16index 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 @@
1SUMMARY = "Zile is lossy Emacs"
2HOMEPAGE = "http://zile.sourceforge.net/"
3DEPENDS = "ncurses bdwgc"
4
5LICENSE = "GPLv3"
6LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504"
7
8SRC_URI = "http://ftp.gnu.org/gnu/zile/${BP}.tar.gz \
9 file://remove-help2man.patch \
10"
11
12SRC_URI[md5sum] = "84a0af58fb4fbe3af16bde2ef2b8f5ae"
13SRC_URI[sha256sum] = "c71959c7aca02ac66be526ecccbc7954fb0ea7591ed3c13311a95e8f040b0049"
14
15inherit autotools