summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--meta-oe/classes/gitpkgv.bbclass84
-rw-r--r--meta-oe/classes/gitver.bbclass80
-rw-r--r--meta-oe/classes/glx-use-tls.bbclass7
-rw-r--r--meta-oe/classes/gpe.bbclass17
-rw-r--r--meta-oe/classes/srctree.bbclass123
-rw-r--r--meta-oe/recipes-connectivity/bluez/bluez4.inc71
-rw-r--r--meta-oe/recipes-connectivity/bluez/bluez4/bluetooth.conf16
-rw-r--r--meta-oe/recipes-connectivity/bluez/bluez4/fix-dfutool-usb-declaration-mismatch.patch13
-rw-r--r--meta-oe/recipes-connectivity/bluez/bluez4/hid2hci_usb_init.patch33
-rw-r--r--meta-oe/recipes-connectivity/bluez/bluez4/sbc-thumb.patch11
-rw-r--r--meta-oe/recipes-connectivity/bluez/bluez4_4.91.bb15
-rw-r--r--meta-oe/recipes-connectivity/connman/connman.inc79
-rwxr-xr-xmeta-oe/recipes-connectivity/connman/connman/connman42
-rw-r--r--meta-oe/recipes-connectivity/connman/connman/link-against-libnl2.patch13
-rwxr-xr-xmeta-oe/recipes-connectivity/connman/connman/shr/connman42
-rw-r--r--meta-oe/recipes-connectivity/connman/connman_0.72.bb31
-rw-r--r--meta-oe/recipes-connectivity/phonet-utils/phonet-utils_git.bb18
-rw-r--r--meta-oe/recipes-core/meta/distro-feed-configs.bb32
-rw-r--r--meta-oe/recipes-core/tasks/task-cli-tools.bb52
-rw-r--r--meta-oe/recipes-core/tasks/task-x11.bb43
-rw-r--r--meta-oe/recipes-devtools/gdbus-binding-tool/gdbus-binding-tool/COPYING482
-rw-r--r--meta-oe/recipes-devtools/gdbus-binding-tool/gdbus-binding-tool_git.bb37
-rw-r--r--meta-oe/recipes-devtools/gobject-introspection/gobject-introspection/use-usr-bin-env-for-python.patch20
-rw-r--r--meta-oe/recipes-devtools/gobject-introspection/gobject-introspection_0.9.10.bb32
-rw-r--r--meta-oe/recipes-devtools/json-glib/json-glib_0.10.4.bb14
-rw-r--r--meta-oe/recipes-devtools/libcanberra/libcanberra/libcanberra-increase-buffer-size.patch13
-rw-r--r--meta-oe/recipes-devtools/libcanberra/libcanberra_0.26.bb56
-rw-r--r--meta-oe/recipes-devtools/libgee/libgee.inc18
-rw-r--r--meta-oe/recipes-devtools/libgee/libgee_0.6.0.bb12
-rw-r--r--meta-oe/recipes-devtools/python/python-dateutil_1.4.1.bb24
-rw-r--r--meta-oe/recipes-devtools/python/python-numeric/no-lapack.patch33
-rw-r--r--meta-oe/recipes-devtools/python/python-numeric_24.2.bb15
-rw-r--r--meta-oe/recipes-devtools/python/python-pexpect_2.3.bb24
-rw-r--r--meta-oe/recipes-devtools/python/python-phoneutils_git.bb15
-rw-r--r--meta-oe/recipes-devtools/python/python-pyalsaaudio_0.4.bb16
-rw-r--r--meta-oe/recipes-devtools/python/python-pyserial_2.4.bb23
-rw-r--r--meta-oe/recipes-devtools/python/python-pyyaml/setup.py64
-rw-r--r--meta-oe/recipes-devtools/python/python-pyyaml_svn.bb22
-rw-r--r--meta-oe/recipes-devtools/python/python-vobject_0.8.1c.bb17
-rw-r--r--meta-oe/recipes-devtools/vala-dbus-binding-tool/vala-dbus-binding-tool.inc16
-rw-r--r--meta-oe/recipes-devtools/vala-dbus-binding-tool/vala-dbus-binding-tool_git.bb6
-rw-r--r--meta-oe/recipes-devtools/vala/vala.inc25
-rw-r--r--meta-oe/recipes-devtools/vala/vala_0.12.0.bb7
-rw-r--r--meta-oe/recipes-extended/tzcode/tzcode-native.inc18
-rw-r--r--meta-oe/recipes-extended/tzcode/tzcode-native_2011e.bb19
-rw-r--r--meta-oe/recipes-extended/tzdata/tzdata.inc178
-rw-r--r--meta-oe/recipes-extended/tzdata/tzdata_2011e.bb13
-rw-r--r--meta-oe/recipes-graphics/drm/libdrm-2.4.24/glamo.patch1095
-rw-r--r--meta-oe/recipes-graphics/drm/libdrm-2.4.24/installtests.patch43
-rw-r--r--meta-oe/recipes-graphics/drm/libdrm_2.4.24.bb39
-rw-r--r--meta-oe/recipes-graphics/mesa/README12
-rw-r--r--meta-oe/recipes-graphics/mesa/mesa-7.10.2.inc19
-rw-r--r--meta-oe/recipes-graphics/mesa/mesa-7.10.2/glamo.patch2425
-rw-r--r--meta-oe/recipes-graphics/mesa/mesa-7.10.2/uclibc.patch26
-rw-r--r--meta-oe/recipes-graphics/mesa/mesa-common.inc53
-rw-r--r--meta-oe/recipes-graphics/mesa/mesa-dri.inc10
-rw-r--r--meta-oe/recipes-graphics/mesa/mesa-dri_7.10.2.bb4
-rw-r--r--meta-oe/recipes-graphics/mesa/mesa-xlib.inc2
-rw-r--r--meta-oe/recipes-graphics/mesa/mesa-xlib_7.10.2.bb4
-rw-r--r--meta-oe/recipes-graphics/mesa/mesa_7.10.2.bb6
-rw-r--r--meta-oe/recipes-graphics/tasks/task-fonts-truetype.bb40
-rw-r--r--meta-oe/recipes-graphics/ttf-fonts/ttf-liberation_0.2.bb23
-rw-r--r--meta-oe/recipes-graphics/xinput-calibrator/pointercal-xinput/iphone3g/pointercal.xinput1
-rw-r--r--meta-oe/recipes-graphics/xinput-calibrator/pointercal-xinput/nokia900/pointercal.xinput2
-rw-r--r--meta-oe/recipes-graphics/xinput-calibrator/pointercal-xinput/om-gta01/pointercal.xinput2
-rw-r--r--meta-oe/recipes-graphics/xinput-calibrator/pointercal-xinput/om-gta02/pointercal.xinput2
-rw-r--r--meta-oe/recipes-graphics/xinput-calibrator/pointercal-xinput/pointercal.xinput1
-rw-r--r--meta-oe/recipes-graphics/xinput-calibrator/pointercal-xinput_0.0.bb21
-rw-r--r--meta-oe/recipes-graphics/xinput-calibrator/xinput-calibrator.inc8
-rw-r--r--meta-oe/recipes-graphics/xinput-calibrator/xinput-calibrator_0.6.1.bb17
-rw-r--r--meta-oe/recipes-graphics/xorg-app/rgb_1.0.4.bb10
-rw-r--r--meta-oe/recipes-graphics/xorg-app/xinput_1.5.3.bb8
-rw-r--r--meta-oe/recipes-graphics/xorg-app/xorg-app-common.inc15
-rw-r--r--meta-oe/recipes-graphics/xorg-doc/xorg-doc-common.inc12
-rw-r--r--meta-oe/recipes-graphics/xorg-doc/xorg-sgml-doctools_1.7.bb8
-rw-r--r--meta-oe/recipes-graphics/xorg-driver/xf86-input-keyboard_1.6.0.bb17
-rw-r--r--meta-oe/recipes-graphics/xorg-driver/xf86-input-mouse_1.7.0.bb17
-rw-r--r--meta-oe/recipes-graphics/xorg-driver/xf86-input-tslib/10-x11-input-tslib.fdi11
-rw-r--r--meta-oe/recipes-graphics/xorg-driver/xf86-input-tslib/99-xf86-input-tslib.rules5
-rw-r--r--meta-oe/recipes-graphics/xorg-driver/xf86-input-tslib/double-free-crash.patch20
-rw-r--r--meta-oe/recipes-graphics/xorg-driver/xf86-input-tslib/xserver-174-XGetPointerControl.patch34
-rw-r--r--meta-oe/recipes-graphics/xorg-driver/xf86-input-tslib_0.0.6.bb32
-rw-r--r--meta-oe/recipes-graphics/xorg-driver/xf86-video-fbdev_0.4.2.bb9
-rw-r--r--meta-oe/recipes-graphics/xorg-driver/xf86-video-glamo/0001-glamo-drm-define-GLAMO_CMDQ_MAX_COUNT-instead-of-mag.patch66
-rw-r--r--meta-oe/recipes-graphics/xorg-driver/xf86-video-glamo_git.bb19
-rw-r--r--meta-oe/recipes-graphics/xorg-driver/xorg-driver-common.inc40
-rw-r--r--meta-oe/recipes-graphics/xorg-driver/xorg-driver-input.inc4
-rw-r--r--meta-oe/recipes-graphics/xorg-driver/xorg-driver-video.inc4
-rw-r--r--meta-oe/recipes-graphics/xorg-lib/liblbxutil-1.1.0/mkg3states-1.1.patch55
-rw-r--r--meta-oe/recipes-graphics/xorg-lib/liblbxutil_1.1.0.bb14
-rw-r--r--meta-oe/recipes-graphics/xorg-lib/libx11-1.4.1/keysymdef_include.patch19
-rw-r--r--meta-oe/recipes-graphics/xorg-lib/libx11-1.4.1/x11_disable_makekeys.patch29
-rw-r--r--meta-oe/recipes-graphics/xorg-lib/libx11-1.4.3/keysymdef_include.patch19
-rw-r--r--meta-oe/recipes-graphics/xorg-lib/libx11-1.4.3/x11_disable_makekeys.patch29
-rw-r--r--meta-oe/recipes-graphics/xorg-lib/libx11.inc52
-rw-r--r--meta-oe/recipes-graphics/xorg-lib/libx11_1.4.1.bb12
-rw-r--r--meta-oe/recipes-graphics/xorg-lib/libx11_1.4.3.bb12
-rw-r--r--meta-oe/recipes-graphics/xorg-lib/libxaw_1.0.9.bb28
-rw-r--r--meta-oe/recipes-graphics/xorg-lib/libxfixes_5.0.bb22
-rw-r--r--meta-oe/recipes-graphics/xorg-lib/libxi_1.4.2.bb21
-rw-r--r--meta-oe/recipes-graphics/xorg-lib/libxkbui_1.0.2.bb10
-rw-r--r--meta-oe/recipes-graphics/xorg-lib/libxt_1.1.1.bb37
-rw-r--r--meta-oe/recipes-graphics/xorg-lib/pixman_0.20.0.bb4
-rw-r--r--meta-oe/recipes-graphics/xorg-lib/pixman_0.21.4.bb4
-rw-r--r--meta-oe/recipes-graphics/xorg-lib/xorg-lib-common.inc1
-rw-r--r--meta-oe/recipes-graphics/xorg-proto/fixesproto_5.0.bb21
-rw-r--r--meta-oe/recipes-graphics/xorg-proto/xextproto_7.2.0.bb19
-rw-r--r--meta-oe/recipes-graphics/xorg-proto/xorg-proto-common.inc4
-rw-r--r--meta-oe/recipes-graphics/xorg-proto/xproto_7.0.21.bb16
-rw-r--r--meta-oe/recipes-graphics/xorg-util/util-macros_1.13.0.bb15
-rw-r--r--meta-oe/recipes-graphics/xorg-util/xorg-util-common.inc11
-rw-r--r--meta-oe/recipes-graphics/xorg-xserver/xorg-xserver-common.inc112
-rw-r--r--meta-oe/recipes-graphics/xorg-xserver/xserver-xorg-1.10.0.901/hack-assume-pixman-supports-overlapped-blt.patch14
-rw-r--r--meta-oe/recipes-graphics/xorg-xserver/xserver-xorg-1.10.0.901/hack-fbdev-ignore-return-mode.patch39
-rw-r--r--meta-oe/recipes-graphics/xorg-xserver/xserver-xorg-1.9.4/dolt-fix.patch22
-rw-r--r--meta-oe/recipes-graphics/xorg-xserver/xserver-xorg-1.9.4/hack-assume-pixman-supports-overlapped-blt.patch14
-rw-r--r--meta-oe/recipes-graphics/xorg-xserver/xserver-xorg-1.9.4/hack-fbdev-ignore-return-mode.patch39
-rw-r--r--meta-oe/recipes-graphics/xorg-xserver/xserver-xorg-1.9.4/randr-support.patch102
-rw-r--r--meta-oe/recipes-graphics/xorg-xserver/xserver-xorg-conf/am3517-evm/xorg.conf29
-rw-r--r--meta-oe/recipes-graphics/xorg-xserver/xserver-xorg-conf/am37x-evm/xorg.conf29
-rw-r--r--meta-oe/recipes-graphics/xorg-xserver/xserver-xorg-conf/archos5/xorg.conf29
-rw-r--r--meta-oe/recipes-graphics/xorg-xserver/xserver-xorg-conf/archos5it/xorg.conf29
-rw-r--r--meta-oe/recipes-graphics/xorg-xserver/xserver-xorg-conf/at91sam9263ek/xorg.conf11
-rw-r--r--meta-oe/recipes-graphics/xorg-xserver/xserver-xorg-conf/at91sam9g45ek/xorg.conf23
-rw-r--r--meta-oe/recipes-graphics/xorg-xserver/xserver-xorg-conf/babbage/xorg.conf56
-rw-r--r--meta-oe/recipes-graphics/xorg-xserver/xserver-xorg-conf/beagleboard/xorg.conf29
-rw-r--r--meta-oe/recipes-graphics/xorg-xserver/xserver-xorg-conf/bug/xorg.conf75
-rw-r--r--meta-oe/recipes-graphics/xorg-xserver/xserver-xorg-conf/bug20/xorg.conf37
-rw-r--r--meta-oe/recipes-graphics/xorg-xserver/xserver-xorg-conf/cm-t35/xorg.conf29
-rw-r--r--meta-oe/recipes-graphics/xorg-xserver/xserver-xorg-conf/dm37x-evm/xorg.conf29
-rw-r--r--meta-oe/recipes-graphics/xorg-xserver/xserver-xorg-conf/eee701/xorg.conf97
-rw-r--r--meta-oe/recipes-graphics/xorg-xserver/xserver-xorg-conf/htcdream/xorg.conf69
-rw-r--r--meta-oe/recipes-graphics/xorg-xserver/xserver-xorg-conf/htcleo/xorg.conf73
-rw-r--r--meta-oe/recipes-graphics/xorg-xserver/xserver-xorg-conf/igep0020/xorg.conf29
-rw-r--r--meta-oe/recipes-graphics/xorg-xserver/xserver-xorg-conf/ion/xorg.conf51
-rw-r--r--meta-oe/recipes-graphics/xorg-xserver/xserver-xorg-conf/iphone3g/xorg.conf29
-rw-r--r--meta-oe/recipes-graphics/xorg-xserver/xserver-xorg-conf/mh355/xorg.conf47
-rw-r--r--meta-oe/recipes-graphics/xorg-xserver/xserver-xorg-conf/nokia800/xorg.conf29
-rw-r--r--meta-oe/recipes-graphics/xorg-xserver/xserver-xorg-conf/nokia900/xorg.conf62
-rw-r--r--meta-oe/recipes-graphics/xorg-xserver/xserver-xorg-conf/om-gta01/xorg.conf49
-rw-r--r--meta-oe/recipes-graphics/xorg-xserver/xserver-xorg-conf/om-gta02/xorg.conf55
-rw-r--r--meta-oe/recipes-graphics/xorg-xserver/xserver-xorg-conf/omap3-pandora/xorg.conf24
-rw-r--r--meta-oe/recipes-graphics/xorg-xserver/xserver-xorg-conf/omap3-touchbook/xorg.conf25
-rw-r--r--meta-oe/recipes-graphics/xorg-xserver/xserver-xorg-conf/omap3/xorg.conf29
-rw-r--r--meta-oe/recipes-graphics/xorg-xserver/xserver-xorg-conf/omap3evm/xorg.conf29
-rw-r--r--meta-oe/recipes-graphics/xorg-xserver/xserver-xorg-conf/omapzoom/xorg.conf29
-rw-r--r--meta-oe/recipes-graphics/xorg-xserver/xserver-xorg-conf/omapzoom2/xorg.conf29
-rw-r--r--meta-oe/recipes-graphics/xorg-xserver/xserver-xorg-conf/omapzoom36x/xorg.conf29
-rw-r--r--meta-oe/recipes-graphics/xorg-xserver/xserver-xorg-conf/overo/xorg.conf29
-rw-r--r--meta-oe/recipes-graphics/xorg-xserver/xserver-xorg-conf/palmpre/xorg.conf58
-rw-r--r--meta-oe/recipes-graphics/xorg-xserver/xserver-xorg-conf/ronetix-pm9263/xorg.conf47
-rw-r--r--meta-oe/recipes-graphics/xorg-xserver/xserver-xorg-conf/spitz/xorg.conf49
-rw-r--r--meta-oe/recipes-graphics/xorg-xserver/xserver-xorg-conf/vortex86sx/xorg.conf13
-rw-r--r--meta-oe/recipes-graphics/xorg-xserver/xserver-xorg-conf/xilinx-ml507/xorg.conf39
-rw-r--r--meta-oe/recipes-graphics/xorg-xserver/xserver-xorg-conf/xilinx-virtex5/xorg.conf38
-rw-r--r--meta-oe/recipes-graphics/xorg-xserver/xserver-xorg-conf/xorg.conf0
-rw-r--r--meta-oe/recipes-graphics/xorg-xserver/xserver-xorg-conf_0.1.bb17
-rw-r--r--meta-oe/recipes-graphics/xorg-xserver/xserver-xorg_1.10.0.901.bb29
-rw-r--r--meta-oe/recipes-graphics/xorg-xserver/xserver-xorg_1.9.4.bb31
-rw-r--r--meta-oe/recipes-graphics/xorg-xserver/xserver-xorg_git.bb38
-rw-r--r--meta-oe/recipes-graphics/xserver-common/xserver-common-1.34/89xTs_Calibrate.xinput_calibrator.patch12
-rw-r--r--meta-oe/recipes-graphics/xserver-common/xserver-common-1.34/89xdgautostart.sh9
-rw-r--r--meta-oe/recipes-graphics/xserver-common/xserver-common-1.34/90xXWindowManager.patch11
-rw-r--r--meta-oe/recipes-graphics/xserver-common/xserver-common-1.34/Xserver.add.dpi.for.gta.patch29
-rw-r--r--meta-oe/recipes-graphics/xserver-common/xserver-common-1.34/Xserver.add.nocursor.for.gta.patch20
-rw-r--r--meta-oe/recipes-graphics/xserver-common/xserver-common-1.34/Xserver.add.xserver-system.patch12
-rw-r--r--meta-oe/recipes-graphics/xserver-common/xserver-common-1.34/Xserver.n900.patch17
-rw-r--r--meta-oe/recipes-graphics/xserver-common/xserver-common-1.34/gplv2-license.patch353
-rw-r--r--meta-oe/recipes-graphics/xserver-common/xserver-common-1.34/setDPI.sh92
-rw-r--r--meta-oe/recipes-graphics/xserver-common/xserver-common_1.34.bb38
-rw-r--r--meta-oe/recipes-graphics/xserver-nodm-init/xserver-nodm-init-2.0/gplv2-license.patch353
-rwxr-xr-xmeta-oe/recipes-graphics/xserver-nodm-init/xserver-nodm-init-2.0/xserver-nodm44
-rw-r--r--meta-oe/recipes-graphics/xserver-nodm-init/xserver-nodm-init_2.0.bb27
-rw-r--r--meta-oe/recipes-support/ca-certificates/ca-certificates_20090814+nmu2.bb40
-rw-r--r--meta-oe/recipes-support/ca-certificates/files/remove-c-rehash.patch29
-rw-r--r--meta-oe/recipes-support/dfu-util/dfu-util-native_svn.bb16
-rw-r--r--meta-oe/recipes-support/dfu-util/dfu-util.inc13
-rw-r--r--meta-oe/recipes-support/dfu-util/dfu-util_0.1.bb7
-rw-r--r--meta-oe/recipes-support/dfu-util/dfu-util_svn.bb16
-rw-r--r--meta-oe/recipes-support/farsight/farsight2_0.0.22.bb23
-rw-r--r--meta-oe/recipes-support/farsight/libnice_0.0.13.bb25
-rw-r--r--meta-oe/recipes-support/fbset/fbset-2.1/makefile.patch11
-rw-r--r--meta-oe/recipes-support/fbset/fbset-modes.bb17
-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.bb38
-rw-r--r--meta-oe/recipes-support/lcms/lcms_1.17.bb14
-rw-r--r--meta-oe/recipes-support/libiconv/libiconv-1.13.1/autoconf.patch16018
-rw-r--r--meta-oe/recipes-support/libiconv/libiconv.inc15
-rw-r--r--meta-oe/recipes-support/libiconv/libiconv_1.13.1.bb25
-rw-r--r--meta-oe/recipes-support/libnl/libnl.inc9
-rw-r--r--meta-oe/recipes-support/libnl/libnl/fix-pc-file.patch11
-rw-r--r--meta-oe/recipes-support/libnl/libnl/fix-pktloc-dep-race.patch20
-rw-r--r--meta-oe/recipes-support/libnl/libnl_2.0.bb23
-rw-r--r--meta-oe/recipes-support/libnl/libnl_git.bb20
-rw-r--r--meta-oe/recipes-support/libsdl-ttf/libsdl-ttf-2.0.10/configure.patch13
-rw-r--r--meta-oe/recipes-support/libsdl-ttf/libsdl-ttf_2.0.10.bb30
-rw-r--r--meta-oe/recipes-support/libyaml/libyaml_0.1.3.bb14
-rw-r--r--meta-oe/recipes-support/lzma/lzma-4.65/001-large_files.patch13
-rw-r--r--meta-oe/recipes-support/lzma/lzma-4.65/002-lzmp.patch1059
-rw-r--r--meta-oe/recipes-support/lzma/lzma-4.65/003-compile_fixes.patch26
-rw-r--r--meta-oe/recipes-support/lzma/lzma-4.65/100-static_library.patch70
-rw-r--r--meta-oe/recipes-support/lzma/lzma-4.65/makefile-cleanup.patch18
-rw-r--r--meta-oe/recipes-support/lzma/lzma.inc36
-rw-r--r--meta-oe/recipes-support/lzma/lzma_4.65.bb5
-rw-r--r--meta-oe/recipes-support/mpfr/mpfr-3.0.0/long-long-thumb.patch11
-rw-r--r--meta-oe/recipes-support/mpfr/mpfr-3.0.0/p4.patch1752
-rw-r--r--meta-oe/recipes-support/mpfr/mpfr_3.0.0.bb30
-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/pidgin/pidgin.inc88
-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.7.9.bb22
-rw-r--r--meta-oe/recipes-support/poppler/poppler-data_0.4.0.bb24
-rw-r--r--meta-oe/recipes-support/poppler/poppler-fpu.inc6
-rw-r--r--meta-oe/recipes-support/poppler/poppler.inc25
-rw-r--r--meta-oe/recipes-support/poppler/poppler_0.12.3.bb10
-rw-r--r--meta-oe/recipes-support/samsung-soc-utils/s3c24xx-gpio_svn.bb19
-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.bb34
-rw-r--r--meta-oe/recipes-support/talloc/talloc_2.0.1.bb27
-rw-r--r--meta-oe/recipes-support/tangogps/tangogps.inc15
-rw-r--r--meta-oe/recipes-support/tangogps/tangogps_0.99.4.bb4
-rw-r--r--meta-oe/recipes-support/usbpath/usbpath_svn.bb19
-rw-r--r--meta-oe/recipes-support/vala-terminal/vala-terminal_git.bb18
-rw-r--r--meta-oe/recipes-support/wmiconfig/wmiconfig_svn.bb20
233 files changed, 29615 insertions, 6 deletions
diff --git a/meta-oe/classes/gitpkgv.bbclass b/meta-oe/classes/gitpkgv.bbclass
new file mode 100644
index 000000000..bedceb9d6
--- /dev/null
+++ b/meta-oe/classes/gitpkgv.bbclass
@@ -0,0 +1,84 @@
1# gitpkgv.bbclass provides a GITPKGV and GITPKGVTAG variables to be
2# used in PKGV, as described bellow:
3#
4# - GITPKGV which is a sortable version with the format NN+GITHASH, to
5# be used in PKGV, where
6#
7# NN equals the total number of revs up to SRCREV
8# GITHASH is SRCREV's (full) hash
9#
10# - GITPKGVTAG which is the output of 'git describe' allowing for
11# automatic versioning
12#
13# gitpkgv.bbclass assumes the git repository has been cloned, and
14# contains SRCREV. So ${GITPKGV} and ${GITPKGVTAG} should never be
15# used in PV, only in PKGV. It can handle SRCREV = ${AUTOREV}, as
16# well as SRCREV = "<some fixed git hash>".
17#
18# WARNING: if upstream repository is always using consistent and
19# sortable tag name scheme you can get sortable version including tag
20# name with ${GITPKGVTAG}, but be aware that ie tag sequence "v1.0,
21# v1.2, xtest, v2.0" will force you to increment PE to get upgradeable
22# path to v2.0 revisions
23#
24# use example:
25#
26# inherit gitpkgv
27#
28# PV = "1.0+gitr${SRCPV}" # expands to something like 1.0+gitr3+4c1c21d7dbbf93b0df336994524313dfe0d4963b
29# PKGV = "1.0+gitr${GITPKGV}" # expands also to something like 1.0+gitr31337+4c1c21d7d
30#
31# or
32#
33# inherit gitpkgv
34#
35# PV = "1.0+gitr${SRCPV}" # expands to something like 1.0+gitr3+4c1c21d7dbbf93b0df336994524313dfe0d4963b
36# PKGV = "${GITPKGVTAG}" # expands to something like 1.0-31337+g4c1c21d
37# if there is tag v1.0 before this revision or
38# ver1.0-31337+g4c1c21d if there is tag ver1.0
39
40GITPKGV = "${@get_git_pkgv(d, False)}"
41GITPKGVTAG = "${@get_git_pkgv(d, True)}"
42
43def gitpkgv_drop_tag_prefix(version):
44 import re
45 if re.match("v\d", version):
46 return version[1:]
47 else:
48 return version
49
50def get_git_pkgv(d, use_tags):
51 import os
52 import bb
53
54 urls = bb.data.getVar('SRC_URI', d, 1).split()
55
56 for url in urls:
57 (type, host, path, user, pswd, parm) = bb.decodeurl(bb.data.expand(url, d))
58 if type in ['git']:
59
60 gitsrcname = '%s%s' % (host, path.replace('/', '.'))
61 repodir = os.path.join(bb.data.expand('${GITDIR}', d), gitsrcname)
62 if not os.path.exists(repodir):
63 return None
64
65 rev = bb.fetch.get_srcrev(d).split('+')[1]
66
67 cwd = os.getcwd()
68 os.chdir(repodir)
69
70 commits = bb.fetch.runfetchcmd("git rev-list %s -- 2> /dev/null | wc -l" % rev, d, quiet=True).strip()
71
72 if use_tags:
73 try:
74 ver = gitpkgv_drop_tag_prefix(bb.fetch.runfetchcmd("git describe %s 2>/dev/null" % rev, d, quiet=True).strip())
75 except Exception:
76 ver = "0.0-%s-g%s" % (commits, rev[:7])
77 else:
78 ver = "%s+%s" % (commits, rev[:7])
79
80 os.chdir(cwd)
81
82 return ver
83
84 return "0+0"
diff --git a/meta-oe/classes/gitver.bbclass b/meta-oe/classes/gitver.bbclass
new file mode 100644
index 000000000..ee8323d6f
--- /dev/null
+++ b/meta-oe/classes/gitver.bbclass
@@ -0,0 +1,80 @@
1# Copyright (C) 2009 Chris Larson <clarson@kergoth.com>
2# Released under the MIT license (see COPYING.MIT for the terms)
3#
4# gitver.bbclass provides a GITVER variable which is a (fairly) sane version,
5# for use in ${PV}, extracted from the ${S} git checkout, assuming it is one.
6# This is most useful in concert with srctree.bbclass.
7
8def git_drop_tag_prefix(version):
9 import re
10 if re.match("v\d", version):
11 return version[1:]
12 else:
13 return version
14
15GIT_TAGADJUST = "git_drop_tag_prefix(version)"
16GITVER = "${@get_git_pv('${S}', d, tagadjust=lambda version:${GIT_TAGADJUST})}"
17GITSHA = "${@get_git_hash('${S}', d)}"
18
19def get_git_hash(path, d):
20 return oe_run(d, ["git", "rev-parse", "--short", "HEAD"], cwd=path).rstrip()
21
22def get_git_pv(path, d, tagadjust=None):
23 import os
24 import oe.process
25
26 gitdir = os.path.abspath(os.path.join(d.getVar("S", True), ".git"))
27 def git(cmd):
28 try:
29 return oe_run(d, ["git"] + cmd, cwd=gitdir).rstrip()
30 except oe.process.CmdError, exc:
31 bb.fatal(str(exc))
32
33 try:
34 ver = oe_run(d, ["git", "describe", "--tags"], cwd=gitdir).rstrip()
35 except Exception, exc:
36 bb.fatal(str(exc))
37
38 if not ver:
39 try:
40 ver = get_git_hash(gitdir, d)
41 except Exception, exc:
42 bb.fatal(str(exc))
43
44 if ver:
45 return "0.0+%s" % ver
46 else:
47 return "0.0"
48 else:
49 if tagadjust:
50 ver = tagadjust(ver)
51 return ver
52
53def mark_recipe_dependencies(path, d):
54 from bb.parse import mark_dependency
55
56 gitdir = os.path.join(path, ".git")
57
58 # Force the recipe to be reparsed so the version gets bumped
59 # if the active branch is switched, or if the branch changes.
60 mark_dependency(d, os.path.join(gitdir, "HEAD"))
61
62 # Force a reparse if anything in the index changes.
63 mark_dependency(d, os.path.join(gitdir, "index"))
64
65 try:
66 ref = oe_run(d, ["git", "symbolic-ref", "-q", "HEAD"], cwd=gitdir).rstrip()
67 except oe.process.CmdError:
68 pass
69 else:
70 if ref:
71 mark_dependency(d, os.path.join(gitdir, ref))
72
73 # Catch new tags.
74 tagdir = os.path.join(gitdir, "refs", "tags")
75 if os.path.exists(tagdir):
76 mark_dependency(d, tagdir)
77
78python () {
79 mark_recipe_dependencies(d.getVar("S", True), d)
80}
diff --git a/meta-oe/classes/glx-use-tls.bbclass b/meta-oe/classes/glx-use-tls.bbclass
new file mode 100644
index 000000000..7530872fa
--- /dev/null
+++ b/meta-oe/classes/glx-use-tls.bbclass
@@ -0,0 +1,7 @@
1def get_tls_setting(bb, d):
2 # until we have no prober TLS support in uclibc disable it
3 if bb.data.getVar('TARGET_OS', d, 1).find('uclibc') >= 0 :
4 return ""
5 return "--enable-glx-tls"
6
7EXTRA_OECONF += "${@get_tls_setting(bb, d)}"
diff --git a/meta-oe/classes/gpe.bbclass b/meta-oe/classes/gpe.bbclass
new file mode 100644
index 000000000..7e042ee93
--- /dev/null
+++ b/meta-oe/classes/gpe.bbclass
@@ -0,0 +1,17 @@
1DEPENDS_prepend = "virtual/libintl intltool-native "
2GPE_TARBALL_SUFFIX ?= "gz"
3SRC_URI = "${GPE_MIRROR}/${PN}-${PV}.tar.${GPE_TARBALL_SUFFIX}"
4FILES_${PN} += "${datadir}/gpe ${datadir}/application-registry"
5SECTION ?= "gpe"
6
7inherit gettext
8
9gpe_do_compile() {
10 oe_runmake PREFIX=${prefix}
11}
12
13gpe_do_install() {
14 oe_runmake PREFIX=${prefix} DESTDIR=${D} install
15}
16
17EXPORT_FUNCTIONS do_compile do_install
diff --git a/meta-oe/classes/srctree.bbclass b/meta-oe/classes/srctree.bbclass
new file mode 100644
index 000000000..1457e5618
--- /dev/null
+++ b/meta-oe/classes/srctree.bbclass
@@ -0,0 +1,123 @@
1# Copyright (C) 2009 Chris Larson <clarson@kergoth.com>
2# Released under the MIT license (see COPYING.MIT for the terms)
3#
4# srctree.bbclass enables operation inside of an existing source tree for a
5# project, rather than using the fetch/unpack/patch idiom.
6#
7# By default, it expects that you're keeping the recipe(s) inside the
8# aforementioned source tree, but you could override S to point at an external
9# directory and place the recipes in a normal collection/overlay, if you so
10# chose.
11#
12# It also provides some convenience python functions for assembling your
13# do_clean, if you want to leverage things like 'git clean' to simplify the
14# operation.
15
16
17# Grab convenience methods & sane default for do_clean
18inherit clean
19
20# Build here
21S = "${FILE_DIRNAME}"
22SRC_URI = ""
23
24def remove_tasks(deltasks, d):
25 for task in filter(lambda k: d.getVarFlag(k, "task"), d.keys()):
26 deps = d.getVarFlag(task, "deps")
27 for preptask in deltasks:
28 if preptask in deps:
29 deps.remove(preptask)
30 d.setVarFlag(task, "deps", deps)
31
32addtask configure after do_setscene
33
34def merge_tasks(d):
35 """
36 Merges all of the operations that occur prior to do_populate_sysroot
37 into do_populate_sysroot.
38
39 This is necessary because of recipe variants (normal, native, cross,
40 sdk). If a bitbake run happens to want to build more than one of
41 these variants in a single run, it's possible for them to step on one
42 another's toes, due to the shared ${S}. Interleaved
43 configure/compile/install amongst variants will break things badly.
44 """
45 from itertools import chain
46 from bb import note
47
48 def __gather_taskdeps(task, seen):
49 for dep in d.getVarFlag(task, "deps"):
50 if not dep in seen:
51 __gather_taskdeps(dep, seen)
52 if not task in seen:
53 seen.append(task)
54
55 def gather_taskdeps(task):
56 items = []
57 __gather_taskdeps(task, items)
58 return items
59
60 newtask = "do_populate_sysroot_post"
61 mergedtasks = gather_taskdeps(newtask)
62 mergedtasks.pop()
63
64 for task in (key for key in d.keys()
65 if d.getVarFlag(key, "task") and
66 not key in mergedtasks):
67 deps = d.getVarFlag(task, "deps")
68 for mergetask in mergedtasks:
69 if mergetask in (d.getVarFlag(task, "recrdeptask"),
70 d.getVarFlag(task, "recdeptask"),
71 d.getVarFlag(task, "deptask")):
72 continue
73
74 if mergetask in deps:
75 deps.remove(mergetask)
76 #note("removing dep on %s from %s" % (mergetask, task))
77
78 if not newtask in deps:
79 #note("adding dep on %s to %s" % (newtask, task))
80 deps.append(newtask)
81 d.setVarFlag(task, "deps", deps)
82
83 # Pull cross recipe task deps over
84 depends = []
85 deptask = []
86 for task in mergedtasks[:-1]:
87 depends.append(d.getVarFlag(task, "depends") or "")
88 deptask.append(d.getVarFlag(task, "deptask") or "")
89
90 d.setVarFlag("do_populate_sysroot_post", "depends", " ".join(depends))
91 d.setVarFlag("do_populate_sysroot_post", "deptask", " ".join(deptask))
92
93python () {
94 remove_tasks(["do_patch", "do_unpack", "do_fetch"], d)
95 b = d.getVar("B", True)
96 if not b or b == d.getVar("S", True):
97 merge_tasks(d)
98}
99
100# Manually run do_install & all of its deps
101python do_populate_sysroot_post () {
102 from os.path import exists
103 from bb.build import exec_func, make_stamp
104 from bb import note
105
106 stamp = d.getVar("STAMP", True)
107
108 def rec_exec_task(task, seen):
109 for dep in d.getVarFlag(task, "deps"):
110 if not dep in seen:
111 rec_exec_task(dep, seen)
112 seen.add(task)
113 if not exists("%s.%s" % (stamp, task)):
114 note("%s: executing task %s" % (d.getVar("PF", True), task))
115 exec_func(task, d)
116 flags = d.getVarFlags(task)
117 if not flags.get('nostamp') and not flags.get('selfstamp'):
118 make_stamp(task, d)
119
120 rec_exec_task("do_populate_sysroot", set())
121}
122addtask populate_sysroot_post after do_populate_sysroot
123do_populate_sysroot_post[lockfiles] += "${S}/.lock"
diff --git a/meta-oe/recipes-connectivity/bluez/bluez4.inc b/meta-oe/recipes-connectivity/bluez/bluez4.inc
new file mode 100644
index 000000000..747ae77e6
--- /dev/null
+++ b/meta-oe/recipes-connectivity/bluez/bluez4.inc
@@ -0,0 +1,71 @@
1DESCRIPTION = "Linux Bluetooth Stack Userland V4"
2HOMEPAGE = "http://www.bluez.org"
3SECTION = "libs"
4PRIORITY = "optional"
5LICENSE = "GPLv2/LGPLv2.1"
6LIC_FILES_CHKSUM = "file://COPYING;md5=12f884d2ae1ff87c09e5b7ccc2c4ca7e \
7 file://COPYING.LIB;md5=fb504b67c50331fc78734fed90fb0e09 \
8"
9DEPENDS = "gst-plugins-base alsa-lib virtual/libusb0 dbus-glib"
10INC_PR = "r8"
11
12# temporary solution until bug 5176 is properly fixed
13PROVIDES += "bluez-utils bluez-libs bluez-utils-dbus"
14RPROVIDES_bluez4 += "bluez-utils bluez-libs bluez-utils-dbus"
15RPROVIDES_bluez4-dev = "bluez-libs-dev"
16
17SRC_URI = "\
18 http://www.kernel.org/pub/linux/bluetooth/bluez-${PV}.tar.gz \
19 file://fix-dfutool-usb-declaration-mismatch.patch \
20 file://bluetooth.conf \
21"
22S = "${WORKDIR}/bluez-${PV}"
23
24inherit autotools update-rc.d
25
26EXTRA_OECONF = "\
27 --enable-gstreamer \
28 --enable-alsa \
29 --enable-usb \
30 --enable-netlink \
31 --enable-tools \
32 --enable-bccmd \
33 --enable-hid2hci \
34 --enable-dfutool \
35 --enable-hidd \
36 --enable-pand \
37 --enable-dund \
38 --disable-cups \
39 --enable-test \
40 --enable-manpages \
41 --enable-configfiles \
42 --enable-initscripts \
43 --disable-pcmciarules \
44"
45
46do_install_append() {
47 install -m 0644 ${S}/audio/audio.conf ${D}/${sysconfdir}/bluetooth/
48 install -m 0644 ${S}/network/network.conf ${D}/${sysconfdir}/bluetooth/
49 install -m 0644 ${S}/input/input.conf ${D}/${sysconfdir}/bluetooth/
50 # at_console doesn't really work with the current state of OE, so punch some more holes so people can actually use BT
51 install -m 0644 ${WORKDIR}/bluetooth.conf ${D}/${sysconfdir}/dbus-1/system.d/
52}
53
54INITSCRIPT_NAME = "bluetooth"
55INITSCRIPT_PARAMS = "defaults 23 19"
56
57PACKAGES =+ "gst-plugin-bluez libasound-module-bluez"
58
59FILES_gst-plugin-bluez = "${libdir}/gstreamer-0.10/lib*.so"
60FILES_libasound-module-bluez = "${libdir}/alsa-lib/lib*.so ${datadir}/alsa/bluetooth.conf"
61FILES_${PN} += "${libdir}/bluetooth/plugins/*.so ${base_libdir}/udev"
62FILES_${PN}-dev += "\
63 ${libdir}/bluetooth/plugins/*.la \
64 ${libdir}/alsa-lib/*.la \
65 ${libdir}/gstreamer-0.10/*.la \
66"
67
68FILES_${PN}-dbg += "\
69 ${libdir}/bluetooth/plugins/.debug \
70 ${libdir}/*/.debug \
71"
diff --git a/meta-oe/recipes-connectivity/bluez/bluez4/bluetooth.conf b/meta-oe/recipes-connectivity/bluez/bluez4/bluetooth.conf
new file mode 100644
index 000000000..ca5e9e4f2
--- /dev/null
+++ b/meta-oe/recipes-connectivity/bluez/bluez4/bluetooth.conf
@@ -0,0 +1,16 @@
1<!-- This configuration file specifies the required security policies
2 for Bluetooth core daemon to work. -->
3
4<!DOCTYPE busconfig PUBLIC "-//freedesktop//DTD D-BUS Bus Configuration 1.0//EN"
5 "http://www.freedesktop.org/standards/dbus/1.0/busconfig.dtd">
6<busconfig>
7
8 <!-- ../system.conf have denied everything, so we just punch some holes -->
9
10 <policy context="default">
11 <allow own="org.bluez"/>
12 <allow send_destination="org.bluez"/>
13 <allow send_interface="org.bluez.Agent"/>
14 </policy>
15
16</busconfig>
diff --git a/meta-oe/recipes-connectivity/bluez/bluez4/fix-dfutool-usb-declaration-mismatch.patch b/meta-oe/recipes-connectivity/bluez/bluez4/fix-dfutool-usb-declaration-mismatch.patch
new file mode 100644
index 000000000..b1ee510e8
--- /dev/null
+++ b/meta-oe/recipes-connectivity/bluez/bluez4/fix-dfutool-usb-declaration-mismatch.patch
@@ -0,0 +1,13 @@
1Index: bluez-4.27/tools/dfutool.c
2===================================================================
3--- bluez-4.27.orig/tools/dfutool.c
4+++ bluez-4.27/tools/dfutool.c
5@@ -59,7 +59,7 @@
6 #endif
7
8 #ifdef NEED_USB_GET_BUSSES
9-static inline struct usb_bus *usb_get_busses(void)
10+inline struct usb_bus *usb_get_busses(void)
11 {
12 return usb_busses;
13 }
diff --git a/meta-oe/recipes-connectivity/bluez/bluez4/hid2hci_usb_init.patch b/meta-oe/recipes-connectivity/bluez/bluez4/hid2hci_usb_init.patch
new file mode 100644
index 000000000..ed15fd5a1
--- /dev/null
+++ b/meta-oe/recipes-connectivity/bluez/bluez4/hid2hci_usb_init.patch
@@ -0,0 +1,33 @@
1# Signed-off-by: Khem Raj <raj.khem@gmail.com>
2#
3# Use the new usb1 API for usb_init() and check for fails from
4# usb_init (). Currently we see a crash on a system which does
5# not have USB because usb_init() fails and it cleans up all initialized
6# data (e.g. ctx) which is used in subsequent calls to libusb
7# We return immediately if usb_init() fails for some reason.
8
9Index: bluez-4.24/tools/hid2hci.c
10===================================================================
11--- bluez-4.24.orig/tools/hid2hci.c 2008-10-25 23:40:34.000000000 -0700
12+++ bluez-4.24/tools/hid2hci.c 2008-12-29 22:06:04.000000000 -0800
13@@ -337,7 +337,7 @@
14 int main(int argc, char *argv[])
15 {
16 struct device_info dev[16];
17- int i, opt, num, quiet = 0, mode = HCI;
18+ int i, ret, opt, num, quiet = 0, mode = HCI;
19
20 while ((opt = getopt_long(argc, argv, "+01qh", main_options, NULL)) != -1) {
21 switch (opt) {
22@@ -361,8 +361,9 @@
23 argc -= optind;
24 argv += optind;
25 optind = 0;
26-
27- usb_init();
28+ ret = libusb_init();
29+ if (ret < 0)
30+ return ret;
31
32 num = find_devices(mode, dev, sizeof(dev) / sizeof(dev[0]));
33 if (num <= 0) {
diff --git a/meta-oe/recipes-connectivity/bluez/bluez4/sbc-thumb.patch b/meta-oe/recipes-connectivity/bluez/bluez4/sbc-thumb.patch
new file mode 100644
index 000000000..350542605
--- /dev/null
+++ b/meta-oe/recipes-connectivity/bluez/bluez4/sbc-thumb.patch
@@ -0,0 +1,11 @@
1--- bluez/sbc/sbc_math.h~ 2008-03-05 20:18:03.000000000 +0000
2+++ bluez/sbc/sbc_math.h 2008-10-27 13:39:27.000000000 +0000
3@@ -59,7 +59,7 @@
4
5 #define SBC_FIXED_0(val) { val = 0; }
6 #define MUL(a, b) ((a) * (b))
7-#ifdef __arm__
8+#if defined(__arm__) && !defined(__thumb__)
9 #define MULA(a, b, res) ({ \
10 int tmp = res; \
11 __asm__( \
diff --git a/meta-oe/recipes-connectivity/bluez/bluez4_4.91.bb b/meta-oe/recipes-connectivity/bluez/bluez4_4.91.bb
new file mode 100644
index 000000000..ebb2dab58
--- /dev/null
+++ b/meta-oe/recipes-connectivity/bluez/bluez4_4.91.bb
@@ -0,0 +1,15 @@
1require bluez4.inc
2
3SRC_URI[md5sum] = "3059b7ef5168c84cd0c6a67034ce79f9"
4SRC_URI[sha256sum] = "11e9279e2669db996afd464b96d2c68f41f157f6eb9b8842a0bbcad8a4eac18d"
5
6DEPENDS += "libsndfile1"
7
8PR = "${INC_PR}.0"
9
10# Not all distros have a recent enough udev
11BTUDEV = " --disable-udevrules"
12BTUDEV_angstrom = " --enable-udevrules"
13BTUDEV_shr = " --enable-udevrules"
14
15EXTRA_OECONF += "${BTUDEV}"
diff --git a/meta-oe/recipes-connectivity/connman/connman.inc b/meta-oe/recipes-connectivity/connman/connman.inc
new file mode 100644
index 000000000..69f91b3a3
--- /dev/null
+++ b/meta-oe/recipes-connectivity/connman/connman.inc
@@ -0,0 +1,79 @@
1SUMMARY = "A daemon for managing internet connections within embedded devices"
2DESCRIPTION = "The ConnMan project provides a daemon for managing \
3internet connections within embedded devices running the Linux \
4operating system. The Connection Manager is designed to be slim and \
5to use as few resources as possible, so it can be easily integrated. \
6It is a fully modular system that can be extended, through plug-ins, \
7to support all kinds of wired or wireless technologies. Also, \
8configuration methods, like DHCP and domain name resolving, are \
9implemented using plug-ins."
10HOMEPAGE = "http://connman.net/"
11BUGTRACKER = "http://bugs.meego.com/buglist.cgi?quicksearch=connman"
12LICENSE = "GPLv2"
13LIC_FILES_CHKSUM = "file://COPYING;md5=12f884d2ae1ff87c09e5b7ccc2c4ca7e \
14 file://src/main.c;beginline=1;endline=20;md5=4b55b550fa6b33cc2055ef30dd262b3e"
15
16# we need to define the depends here, the dynamic stuff is too late
17DEPENDS = "libnl wpa-supplicant dbus glib-2.0 ppp busybox dhcp resolvconf bluez4"
18
19EXTRA_OECONF += "\
20 ac_cv_path_WPASUPPLICANT=/usr/sbin/wpa_supplicant \
21 ac_cv_path_DHCLIENT=/sbin/dhclient \
22 ac_cv_path_UDHCPC=/sbin/udhcpc \
23 ac_cv_path_RESOLVCONF=/sbin/resolvconf \
24 ac_cv_path_PPPD=/usr/sbin/pppd \
25"
26
27INITSCRIPT_NAME = "connman"
28INITSCRIPT_PARAMS = "start 05 5 2 . stop 22 0 1 6 ."
29
30PARALLEL_MAKE = ""
31
32inherit autotools pkgconfig update-rc.d
33
34do_configure_append() {
35 ln -sf . include/connman
36}
37
38do_compile_append() {
39 sed -i -e s:deny:allow:g src/connman-dbus.conf
40}
41
42do_install_append() {
43 install -d ${D}${sysconfdir}/init.d
44 install -m 0755 ${WORKDIR}/connman ${D}${sysconfdir}/init.d/connman
45}
46
47python populate_packages_prepend() {
48 depmap = dict( pppd="ppp", udhcp="busybox connman-scripts", dhclient="dhcp-client", wifi="wpa-supplicant", resolvconf="resolvconf", bluetooth="bluez4" )
49 packages = []
50 hook = lambda file,pkg,b,c,d:packages.append((file,pkg))
51 plugin_dir = bb.data.expand('${libdir}/connman/plugins/', d)
52 plugin_name = bb.data.expand('${PN}-plugin-%s', d)
53 do_split_packages(d, plugin_dir, '^(.*).so$', plugin_name, '${PN} plugin for %s', extra_depends='', hook=hook )
54 for (file, package) in packages:
55 plugintype = package.split( '-' )[-1]
56 if plugintype in depmap:
57 rdepends = bb.data.getVar( "RDEPENDS_%s" % package, d )
58 bb.note( "Adding rdependency on %s to package %s" % ( depmap[plugintype], package ) )
59 bb.data.setVar("RDEPENDS_%s" % package, depmap[plugintype], d)
60}
61
62PACKAGES_DYNAMIC = "${PN}-plugin-*"
63
64PACKAGES += "${PN}-scripts ${PN}-test-utils"
65
66FILES_${PN} = "${bindir}/* ${sbindir}/* ${libexecdir}/* ${libdir}/lib*.so.* \
67 ${sysconfdir} ${sharedstatedir} ${localstatedir} \
68 ${base_bindir}/* ${base_sbindir}/* ${base_libdir}/*.so* ${datadir}/${PN} \
69 ${datadir}/pixmaps ${datadir}/applications \
70 ${datadir}/idl ${datadir}/omf ${datadir}/sounds \
71 ${libdir}/bonobo/servers \
72 ${datadir}/dbus-1/system-services/*"
73
74FILES_${PN}-test-utils += "${libdir}/connman/test/*"
75
76FILES_${PN}-scripts += "${libdir}/connman/scripts"
77FILES_${PN}-dbg += "${libdir}/connman/*/.debug"
78FILES_${PN}-dev += "${libdir}/connman/*/*.la"
79
diff --git a/meta-oe/recipes-connectivity/connman/connman/connman b/meta-oe/recipes-connectivity/connman/connman/connman
new file mode 100755
index 000000000..f8154f68f
--- /dev/null
+++ b/meta-oe/recipes-connectivity/connman/connman/connman
@@ -0,0 +1,42 @@
1#!/bin/sh
2
3DAEMON=/usr/sbin/connmand
4PIDFILE=/var/run/connmand.pid
5DESC="Connection Manager"
6
7if [ -f /etc/default/connman ] ; then
8 . /etc/default/connman
9fi
10
11set -e
12
13do_start() {
14 $DAEMON
15}
16
17do_stop() {
18 start-stop-daemon --stop --name connmand --quiet
19}
20
21case "$1" in
22 start)
23 echo "Starting $DESC"
24 do_start
25 ;;
26 stop)
27 echo "Stopping $DESC"
28 do_stop
29 ;;
30 restart|force-reload)
31 echo "Restarting $DESC"
32 do_stop
33 sleep 1
34 do_start
35 ;;
36 *)
37 echo "Usage: $0 {start|stop|restart|force-reload}" >&2
38 exit 1
39 ;;
40esac
41
42exit 0
diff --git a/meta-oe/recipes-connectivity/connman/connman/link-against-libnl2.patch b/meta-oe/recipes-connectivity/connman/connman/link-against-libnl2.patch
new file mode 100644
index 000000000..5be161820
--- /dev/null
+++ b/meta-oe/recipes-connectivity/connman/connman/link-against-libnl2.patch
@@ -0,0 +1,13 @@
1Index: connman-0.46/configure.ac
2===================================================================
3--- connman-0.46.orig/configure.ac
4+++ connman-0.46/configure.ac
5@@ -326,7 +326,7 @@
6 AC_ARG_ENABLE(tools, AC_HELP_STRING([--enable-tools],
7 [enable testing tools]), [enable_tools=${enableval}])
8 if (test "${enable_tools}" = "yes"); then
9- PKG_CHECK_MODULES(NETLINK, libnl-1, dummy=yes,
10+ PKG_CHECK_MODULES(NETLINK, libnl-2.0, dummy=yes,
11 AC_MSG_ERROR(Netlink library is required))
12 AC_SUBST(NETLINK_CFLAGS)
13 AC_SUBST(NETLINK_LIBS)
diff --git a/meta-oe/recipes-connectivity/connman/connman/shr/connman b/meta-oe/recipes-connectivity/connman/connman/shr/connman
new file mode 100755
index 000000000..708b1b4cd
--- /dev/null
+++ b/meta-oe/recipes-connectivity/connman/connman/shr/connman
@@ -0,0 +1,42 @@
1#!/bin/sh
2
3DAEMON="/usr/sbin/connmand -I usb0"
4PIDFILE=/var/run/connmand.pid
5DESC="Connection Manager"
6
7if [ -f /etc/default/connman ] ; then
8 . /etc/default/connman
9fi
10
11set -e
12
13do_start() {
14 $DAEMON
15}
16
17do_stop() {
18 start-stop-daemon --stop --name connmand --quiet
19}
20
21case "$1" in
22 start)
23 echo "Starting $DESC"
24 do_start
25 ;;
26 stop)
27 echo "Stopping $DESC"
28 do_stop
29 ;;
30 restart|force-reload)
31 echo "Restarting $DESC"
32 do_stop
33 sleep 1
34 do_start
35 ;;
36 *)
37 echo "Usage: $0 {start|stop|restart|force-reload}" >&2
38 exit 1
39 ;;
40esac
41
42exit 0
diff --git a/meta-oe/recipes-connectivity/connman/connman_0.72.bb b/meta-oe/recipes-connectivity/connman/connman_0.72.bb
new file mode 100644
index 000000000..8eb1e147f
--- /dev/null
+++ b/meta-oe/recipes-connectivity/connman/connman_0.72.bb
@@ -0,0 +1,31 @@
1require connman.inc
2# connman requires libXtables now
3DEPENDS += "iptables"
4PR = "r0"
5
6EXTRA_OECONF += "\
7 --disable-gtk-doc \
8 --enable-debug \
9 --enable-threads \
10 --enable-loopback \
11 --enable-ethernet \
12 --enable-wifi \
13 --disable-wimax \
14 --enable-bluetooth \
15 --enable-ofono \
16 --enable-resolvconf \
17 --enable-dnsproxy \
18 --enable-tools \
19 --disable-polkit \
20 --enable-client \
21 --enable-fake \
22"
23
24SRC_URI = "\
25 http://www.kernel.org/pub/linux/network/connman/connman-${PV}.tar.gz \
26 file://link-against-libnl2.patch \
27 file://connman \
28"
29
30SRC_URI[md5sum] = "800f9356e0471c88819eee7184713a1f"
31SRC_URI[sha256sum] = "9c8ad312573683fc9f50d5042d4a87ddc8e0700b27ac1b0fb8dc2e8b7424a60f"
diff --git a/meta-oe/recipes-connectivity/phonet-utils/phonet-utils_git.bb b/meta-oe/recipes-connectivity/phonet-utils/phonet-utils_git.bb
new file mode 100644
index 000000000..257f0121a
--- /dev/null
+++ b/meta-oe/recipes-connectivity/phonet-utils/phonet-utils_git.bb
@@ -0,0 +1,18 @@
1DESCRIPTION = "This small package provides a few command line tools for Linux Phonet"
2HOMEPAGE = ""
3LICENSE = "GPLv2"
4LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe"
5SRC_URI = "git://gitorious.org/meego-cellular/phonet-utils.git;branch=master;protocol=git"
6PR = "r0"
7S = "${WORKDIR}/git"
8SRCREV = "4acfa720fd37d178a048fc2be17180137d4a70ea"
9PV = "0.0.0+gitr${SRCPV}"
10
11do_compile () {
12 make
13}
14
15do_install () {
16 DESTDIR=${D} oe_runmake install
17}
18
diff --git a/meta-oe/recipes-core/meta/distro-feed-configs.bb b/meta-oe/recipes-core/meta/distro-feed-configs.bb
new file mode 100644
index 000000000..4da2b1441
--- /dev/null
+++ b/meta-oe/recipes-core/meta/distro-feed-configs.bb
@@ -0,0 +1,32 @@
1DESCRIPTION = "Configuration files for online package repositories aka feeds"
2PR = "r1"
3LICENSE = "MIT"
4LIC_FILES_CHKSUM = "file://${TOPDIR}/meta-shr/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420"
5
6DISTRO_FEED_PREFIX ?= "remote"
7DISTRO_FEED_URI ?= "http://my-distribution.example/remote-feed/"
8
9do_compile() {
10 mkdir -p ${S}/${sysconfdir}/opkg
11 for feed in all ${PACKAGE_EXTRA_ARCHS} ${MACHINE_ARCH}; do
12 echo "src/gz ${DISTRO_FEED_PREFIX}-${feed} ${DISTRO_FEED_URI}/${feed}" > ${S}/${sysconfdir}/opkg/${feed}-feed.conf
13 done
14}
15do_install () {
16 install -d ${D}${sysconfdir}/opkg
17 install -m 0644 ${S}/${sysconfdir}/opkg/* ${D}${sysconfdir}/opkg/
18}
19
20PACKAGE_ARCH = "${MACHINE_ARCH}"
21
22#def distro_feed_configs(d):
23# import bb
24# parchs = bb.data.getVar( "PACKAGE_EXTRA_ARCHS", d, 1 ).split()
25# march = bb.data.getVar( "MACHINE_ARCH", d, 1 ).split()
26# archs = [ "all" ] + parchs + march
27# confs = [ ( "${sysconfdir}/opkg/%s-feed.conf" % feed ) for feed in archs ]
28# return " ".join( confs )
29#
30#CONFFILES_${PN} += '${@distro_feed_configs(d)}'
31
32CONFFILES_${PN} += '${@ " ".join( [ ( "${sysconfdir}/opkg/%s-feed.conf" % feed ) for feed in "all ${PACKAGE_EXTRA_ARCHS} ${MACHINE_ARCH}".split() ] ) }'
diff --git a/meta-oe/recipes-core/tasks/task-cli-tools.bb b/meta-oe/recipes-core/tasks/task-cli-tools.bb
new file mode 100644
index 000000000..c271f711e
--- /dev/null
+++ b/meta-oe/recipes-core/tasks/task-cli-tools.bb
@@ -0,0 +1,52 @@
1DESCRIPTION = "A set of useful command line tools"
2DESCRIPTION_${PN}-debug = "A set of command line tools useful for debugging"
3SECTION = "console"
4LICENSE = "MIT"
5LIC_FILES_CHKSUM = "file://${TOPDIR}/meta-shr/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420"
6PV = "1.0"
7PR = "r18"
8
9inherit task
10
11PACKAGES += "${PN}-debug"
12
13def get_ltrace(bb, d):
14 if bb.data.getVar('TARGET_ARCH', d, 1) in [ 'sh4', 'sh3' ] :
15 return ""
16 return "ltrace"
17
18RDEPENDS_${PN} = "\
19 dbus-daemon-proxy \
20 dosfstools \
21 htop \
22 iptables \
23 lsof \
24 mbuffer \
25 mdbus2 \
26 mtd-utils \
27 mterm2 \
28 nano \
29 nfs-utils-client \
30 nmon \
31 powertop \
32 screen \
33 socat \
34 sysstat \
35"
36
37RDEPENDS_${PN}-debug = "\
38 evtest \
39 devmem2 \
40 i2c-tools \
41 gdb \
42 ${@get_ltrace(bb, d)} \
43 mkdump \
44 mioctl \
45 procps \
46 pxaregs \
47 s3c24xx-gpio \
48 s3c64xx-gpio \
49 serial-forward \
50 strace \
51 tcpdump \
52"
diff --git a/meta-oe/recipes-core/tasks/task-x11.bb b/meta-oe/recipes-core/tasks/task-x11.bb
new file mode 100644
index 000000000..208b16859
--- /dev/null
+++ b/meta-oe/recipes-core/tasks/task-x11.bb
@@ -0,0 +1,43 @@
1DESCRIPTION = "The X Window System -- install this task to get a client/server based display multiplexer."
2SECTION = "x11/server"
3LICENSE = "MIT"
4LIC_FILES_CHKSUM = "file://${TOPDIR}/meta-shr/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420"
5PV = "1.0"
6PR = "r7"
7
8# WORK IN PROGRESS
9
10inherit task
11
12PACKAGES += "\
13 ${PN}-server \
14 ${PN}-utils \
15"
16
17RRECOMMENDS_${PN} = "\
18 ${PN}-server \
19 ${PN}-utils \
20"
21
22# Some machines don't set a *runtime* provider for X, so default to Xfbdev here
23# virtual/xserver won't work, since the kdrive recipes will build multiple xserver packages
24XSERVER ?= "xserver-kdrive-fbdev"
25XSERVER_COMMON ?= "xserver-kdrive-common"
26XSERVER_COMMON_shr = "xserver-common"
27
28# This is also the reason why we have to make this package machine specific :/
29PACKAGE_ARCH_${PN}-server = "${MACHINE_ARCH}"
30
31RDEPENDS_${PN}-server = "\
32 ${XSERVER} \
33"
34
35RDEPENDS_${PN}-utils = "\
36 ${XSERVER_COMMON} \
37 xserver-nodm-init \
38 xauth \
39 xhost \
40 xset \
41 xrandr \
42"
43
diff --git a/meta-oe/recipes-devtools/gdbus-binding-tool/gdbus-binding-tool/COPYING b/meta-oe/recipes-devtools/gdbus-binding-tool/gdbus-binding-tool/COPYING
new file mode 100644
index 000000000..bf50f20de
--- /dev/null
+++ b/meta-oe/recipes-devtools/gdbus-binding-tool/gdbus-binding-tool/COPYING
@@ -0,0 +1,482 @@
1 GNU LIBRARY GENERAL PUBLIC LICENSE
2 Version 2, June 1991
3
4 Copyright (C) 1991 Free Software Foundation, Inc.
5 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
6 Everyone is permitted to copy and distribute verbatim copies
7 of this license document, but changing it is not allowed.
8
9[This is the first released version of the library GPL. It is
10 numbered 2 because it goes with version 2 of the ordinary GPL.]
11
12 Preamble
13
14 The licenses for most software are designed to take away your
15freedom to share and change it. By contrast, the GNU General Public
16Licenses are intended to guarantee your freedom to share and change
17free software--to make sure the software is free for all its users.
18
19 This license, the Library General Public License, applies to some
20specially designated Free Software Foundation software, and to any
21other libraries whose authors decide to use it. You can use it for
22your libraries, too.
23
24 When we speak of free software, we are referring to freedom, not
25price. Our General Public Licenses are designed to make sure that you
26have the freedom to distribute copies of free software (and charge for
27this service if you wish), that you receive source code or can get it
28if you want it, that you can change the software or use pieces of it
29in new free programs; and that you know you can do these things.
30
31 To protect your rights, we need to make restrictions that forbid
32anyone to deny you these rights or to ask you to surrender the rights.
33These restrictions translate to certain responsibilities for you if
34you distribute copies of the library, or if you modify it.
35
36 For example, if you distribute copies of the library, whether gratis
37or for a fee, you must give the recipients all the rights that we gave
38you. You must make sure that they, too, receive or can get the source
39code. If you link a program with the library, you must provide
40complete object files to the recipients so that they can relink them
41with the library, after making changes to the library and recompiling
42it. And you must show them these terms so they know their rights.
43
44 Our method of protecting your rights has two steps: (1) copyright
45the library, and (2) offer you this license which gives you legal
46permission to copy, distribute and/or modify the library.
47
48 Also, for each distributor's protection, we want to make certain
49that everyone understands that there is no warranty for this free
50library. If the library is modified by someone else and passed on, we
51want its recipients to know that what they have is not the original
52version, so that any problems introduced by others will not reflect on
53the original authors' reputations.
54
55 Finally, any free program is threatened constantly by software
56patents. We wish to avoid the danger that companies distributing free
57software will individually obtain patent licenses, thus in effect
58transforming the program into proprietary software. To prevent this,
59we have made it clear that any patent must be licensed for everyone's
60free use or not licensed at all.
61
62 Most GNU software, including some libraries, is covered by the ordinary
63GNU General Public License, which was designed for utility programs. This
64license, the GNU Library General Public License, applies to certain
65designated libraries. This license is quite different from the ordinary
66one; be sure to read it in full, and don't assume that anything in it is
67the same as in the ordinary license.
68
69 The reason we have a separate public license for some libraries is that
70they blur the distinction we usually make between modifying or adding to a
71program and simply using it. Linking a program with a library, without
72changing the library, is in some sense simply using the library, and is
73analogous to running a utility program or application program. However, in
74a textual and legal sense, the linked executable is a combined work, a
75derivative of the original library, and the ordinary General Public License
76treats it as such.
77
78 Because of this blurred distinction, using the ordinary General
79Public License for libraries did not effectively promote software
80sharing, because most developers did not use the libraries. We
81concluded that weaker conditions might promote sharing better.
82
83 However, unrestricted linking of non-free programs would deprive the
84users of those programs of all benefit from the free status of the
85libraries themselves. This Library General Public License is intended to
86permit developers of non-free programs to use free libraries, while
87preserving your freedom as a user of such programs to change the free
88libraries that are incorporated in them. (We have not seen how to achieve
89this as regards changes in header files, but we have achieved it as regards
90changes in the actual functions of the Library.) The hope is that this
91will lead to faster development of free libraries.
92
93 The precise terms and conditions for copying, distribution and
94modification follow. Pay close attention to the difference between a
95"work based on the library" and a "work that uses the library". The
96former contains code derived from the library, while the latter only
97works together with the library.
98
99 Note that it is possible for a library to be covered by the ordinary
100General Public License rather than by this special one.
101
102 GNU LIBRARY GENERAL PUBLIC LICENSE
103 TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
104
105 0. This License Agreement applies to any software library which
106contains a notice placed by the copyright holder or other authorized
107party saying it may be distributed under the terms of this Library
108General Public License (also called "this License"). Each licensee is
109addressed as "you".
110
111 A "library" means a collection of software functions and/or data
112prepared so as to be conveniently linked with application programs
113(which use some of those functions and data) to form executables.
114
115 The "Library", below, refers to any such software library or work
116which has been distributed under these terms. A "work based on the
117Library" means either the Library or any derivative work under
118copyright law: that is to say, a work containing the Library or a
119portion of it, either verbatim or with modifications and/or translated
120straightforwardly into another language. (Hereinafter, translation is
121included without limitation in the term "modification".)
122
123 "Source code" for a work means the preferred form of the work for
124making modifications to it. For a library, complete source code means
125all the source code for all modules it contains, plus any associated
126interface definition files, plus the scripts used to control compilation
127and installation of the library.
128
129 Activities other than copying, distribution and modification are not
130covered by this License; they are outside its scope. The act of
131running a program using the Library is not restricted, and output from
132such a program is covered only if its contents constitute a work based
133on the Library (independent of the use of the Library in a tool for
134writing it). Whether that is true depends on what the Library does
135and what the program that uses the Library does.
136
137 1. You may copy and distribute verbatim copies of the Library's
138complete source code as you receive it, in any medium, provided that
139you conspicuously and appropriately publish on each copy an
140appropriate copyright notice and disclaimer of warranty; keep intact
141all the notices that refer to this License and to the absence of any
142warranty; and distribute a copy of this License along with the
143Library.
144
145 You may charge a fee for the physical act of transferring a copy,
146and you may at your option offer warranty protection in exchange for a
147fee.
148
149 2. You may modify your copy or copies of the Library or any portion
150of it, thus forming a work based on the Library, and copy and
151distribute such modifications or work under the terms of Section 1
152above, provided that you also meet all of these conditions:
153
154 a) The modified work must itself be a software library.
155
156 b) You must cause the files modified to carry prominent notices
157 stating that you changed the files and the date of any change.
158
159 c) You must cause the whole of the work to be licensed at no
160 charge to all third parties under the terms of this License.
161
162 d) If a facility in the modified Library refers to a function or a
163 table of data to be supplied by an application program that uses
164 the facility, other than as an argument passed when the facility
165 is invoked, then you must make a good faith effort to ensure that,
166 in the event an application does not supply such function or
167 table, the facility still operates, and performs whatever part of
168 its purpose remains meaningful.
169
170 (For example, a function in a library to compute square roots has
171 a purpose that is entirely well-defined independent of the
172 application. Therefore, Subsection 2d requires that any
173 application-supplied function or table used by this function must
174 be optional: if the application does not supply it, the square
175 root function must still compute square roots.)
176
177These requirements apply to the modified work as a whole. If
178identifiable sections of that work are not derived from the Library,
179and can be reasonably considered independent and separate works in
180themselves, then this License, and its terms, do not apply to those
181sections when you distribute them as separate works. But when you
182distribute the same sections as part of a whole which is a work based
183on the Library, the distribution of the whole must be on the terms of
184this License, whose permissions for other licensees extend to the
185entire whole, and thus to each and every part regardless of who wrote
186it.
187
188Thus, it is not the intent of this section to claim rights or contest
189your rights to work written entirely by you; rather, the intent is to
190exercise the right to control the distribution of derivative or
191collective works based on the Library.
192
193In addition, mere aggregation of another work not based on the Library
194with the Library (or with a work based on the Library) on a volume of
195a storage or distribution medium does not bring the other work under
196the scope of this License.
197
198 3. You may opt to apply the terms of the ordinary GNU General Public
199License instead of this License to a given copy of the Library. To do
200this, you must alter all the notices that refer to this License, so
201that they refer to the ordinary GNU General Public License, version 2,
202instead of to this License. (If a newer version than version 2 of the
203ordinary GNU General Public License has appeared, then you can specify
204that version instead if you wish.) Do not make any other change in
205these notices.
206
207 Once this change is made in a given copy, it is irreversible for
208that copy, so the ordinary GNU General Public License applies to all
209subsequent copies and derivative works made from that copy.
210
211 This option is useful when you wish to copy part of the code of
212the Library into a program that is not a library.
213
214 4. You may copy and distribute the Library (or a portion or
215derivative of it, under Section 2) in object code or executable form
216under the terms of Sections 1 and 2 above provided that you accompany
217it with the complete corresponding machine-readable source code, which
218must be distributed under the terms of Sections 1 and 2 above on a
219medium customarily used for software interchange.
220
221 If distribution of object code is made by offering access to copy
222from a designated place, then offering equivalent access to copy the
223source code from the same place satisfies the requirement to
224distribute the source code, even though third parties are not
225compelled to copy the source along with the object code.
226
227 5. A program that contains no derivative of any portion of the
228Library, but is designed to work with the Library by being compiled or
229linked with it, is called a "work that uses the Library". Such a
230work, in isolation, is not a derivative work of the Library, and
231therefore falls outside the scope of this License.
232
233 However, linking a "work that uses the Library" with the Library
234creates an executable that is a derivative of the Library (because it
235contains portions of the Library), rather than a "work that uses the
236library". The executable is therefore covered by this License.
237Section 6 states terms for distribution of such executables.
238
239 When a "work that uses the Library" uses material from a header file
240that is part of the Library, the object code for the work may be a
241derivative work of the Library even though the source code is not.
242Whether this is true is especially significant if the work can be
243linked without the Library, or if the work is itself a library. The
244threshold for this to be true is not precisely defined by law.
245
246 If such an object file uses only numerical parameters, data
247structure layouts and accessors, and small macros and small inline
248functions (ten lines or less in length), then the use of the object
249file is unrestricted, regardless of whether it is legally a derivative
250work. (Executables containing this object code plus portions of the
251Library will still fall under Section 6.)
252
253 Otherwise, if the work is a derivative of the Library, you may
254distribute the object code for the work under the terms of Section 6.
255Any executables containing that work also fall under Section 6,
256whether or not they are linked directly with the Library itself.
257
258 6. As an exception to the Sections above, you may also compile or
259link a "work that uses the Library" with the Library to produce a
260work containing portions of the Library, and distribute that work
261under terms of your choice, provided that the terms permit
262modification of the work for the customer's own use and reverse
263engineering for debugging such modifications.
264
265 You must give prominent notice with each copy of the work that the
266Library is used in it and that the Library and its use are covered by
267this License. You must supply a copy of this License. If the work
268during execution displays copyright notices, you must include the
269copyright notice for the Library among them, as well as a reference
270directing the user to the copy of this License. Also, you must do one
271of these things:
272
273 a) Accompany the work with the complete corresponding
274 machine-readable source code for the Library including whatever
275 changes were used in the work (which must be distributed under
276 Sections 1 and 2 above); and, if the work is an executable linked
277 with the Library, with the complete machine-readable "work that
278 uses the Library", as object code and/or source code, so that the
279 user can modify the Library and then relink to produce a modified
280 executable containing the modified Library. (It is understood
281 that the user who changes the contents of definitions files in the
282 Library will not necessarily be able to recompile the application
283 to use the modified definitions.)
284
285 b) Accompany the work with a written offer, valid for at
286 least three years, to give the same user the materials
287 specified in Subsection 6a, above, for a charge no more
288 than the cost of performing this distribution.
289
290 c) If distribution of the work is made by offering access to copy
291 from a designated place, offer equivalent access to copy the above
292 specified materials from the same place.
293
294 d) Verify that the user has already received a copy of these
295 materials or that you have already sent this user a copy.
296
297 For an executable, the required form of the "work that uses the
298Library" must include any data and utility programs needed for
299reproducing the executable from it. However, as a special exception,
300the source code distributed need not include anything that is normally
301distributed (in either source or binary form) with the major
302components (compiler, kernel, and so on) of the operating system on
303which the executable runs, unless that component itself accompanies
304the executable.
305
306 It may happen that this requirement contradicts the license
307restrictions of other proprietary libraries that do not normally
308accompany the operating system. Such a contradiction means you cannot
309use both them and the Library together in an executable that you
310distribute.
311
312 7. You may place library facilities that are a work based on the
313Library side-by-side in a single library together with other library
314facilities not covered by this License, and distribute such a combined
315library, provided that the separate distribution of the work based on
316the Library and of the other library facilities is otherwise
317permitted, and provided that you do these two things:
318
319 a) Accompany the combined library with a copy of the same work
320 based on the Library, uncombined with any other library
321 facilities. This must be distributed under the terms of the
322 Sections above.
323
324 b) Give prominent notice with the combined library of the fact
325 that part of it is a work based on the Library, and explaining
326 where to find the accompanying uncombined form of the same work.
327
328 8. You may not copy, modify, sublicense, link with, or distribute
329the Library except as expressly provided under this License. Any
330attempt otherwise to copy, modify, sublicense, link with, or
331distribute the Library is void, and will automatically terminate your
332rights under this License. However, parties who have received copies,
333or rights, from you under this License will not have their licenses
334terminated so long as such parties remain in full compliance.
335
336 9. You are not required to accept this License, since you have not
337signed it. However, nothing else grants you permission to modify or
338distribute the Library or its derivative works. These actions are
339prohibited by law if you do not accept this License. Therefore, by
340modifying or distributing the Library (or any work based on the
341Library), you indicate your acceptance of this License to do so, and
342all its terms and conditions for copying, distributing or modifying
343the Library or works based on it.
344
345 10. Each time you redistribute the Library (or any work based on the
346Library), the recipient automatically receives a license from the
347original licensor to copy, distribute, link with or modify the Library
348subject to these terms and conditions. You may not impose any further
349restrictions on the recipients' exercise of the rights granted herein.
350You are not responsible for enforcing compliance by third parties to
351this License.
352
353 11. If, as a consequence of a court judgment or allegation of patent
354infringement or for any other reason (not limited to patent issues),
355conditions are imposed on you (whether by court order, agreement or
356otherwise) that contradict the conditions of this License, they do not
357excuse you from the conditions of this License. If you cannot
358distribute so as to satisfy simultaneously your obligations under this
359License and any other pertinent obligations, then as a consequence you
360may not distribute the Library at all. For example, if a patent
361license would not permit royalty-free redistribution of the Library by
362all those who receive copies directly or indirectly through you, then
363the only way you could satisfy both it and this License would be to
364refrain entirely from distribution of the Library.
365
366If any portion of this section is held invalid or unenforceable under any
367particular circumstance, the balance of the section is intended to apply,
368and the section as a whole is intended to apply in other circumstances.
369
370It is not the purpose of this section to induce you to infringe any
371patents or other property right claims or to contest validity of any
372such claims; this section has the sole purpose of protecting the
373integrity of the free software distribution system which is
374implemented by public license practices. Many people have made
375generous contributions to the wide range of software distributed
376through that system in reliance on consistent application of that
377system; it is up to the author/donor to decide if he or she is willing
378to distribute software through any other system and a licensee cannot
379impose that choice.
380
381This section is intended to make thoroughly clear what is believed to
382be a consequence of the rest of this License.
383
384 12. If the distribution and/or use of the Library is restricted in
385certain countries either by patents or by copyrighted interfaces, the
386original copyright holder who places the Library under this License may add
387an explicit geographical distribution limitation excluding those countries,
388so that distribution is permitted only in or among countries not thus
389excluded. In such case, this License incorporates the limitation as if
390written in the body of this License.
391
392 13. The Free Software Foundation may publish revised and/or new
393versions of the Library General Public License from time to time.
394Such new versions will be similar in spirit to the present version,
395but may differ in detail to address new problems or concerns.
396
397Each version is given a distinguishing version number. If the Library
398specifies a version number of this License which applies to it and
399"any later version", you have the option of following the terms and
400conditions either of that version or of any later version published by
401the Free Software Foundation. If the Library does not specify a
402license version number, you may choose any version ever published by
403the Free Software Foundation.
404
405 14. If you wish to incorporate parts of the Library into other free
406programs whose distribution conditions are incompatible with these,
407write to the author to ask for permission. For software which is
408copyrighted by the Free Software Foundation, write to the Free
409Software Foundation; we sometimes make exceptions for this. Our
410decision will be guided by the two goals of preserving the free status
411of all derivatives of our free software and of promoting the sharing
412and reuse of software generally.
413
414 NO WARRANTY
415
416 15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO
417WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW.
418EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR
419OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY
420KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE
421IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
422PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE
423LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME
424THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
425
426 16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN
427WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY
428AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU
429FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR
430CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE
431LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING
432RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A
433FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF
434SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH
435DAMAGES.
436
437 END OF TERMS AND CONDITIONS
438
439 How to Apply These Terms to Your New Libraries
440
441 If you develop a new library, and you want it to be of the greatest
442possible use to the public, we recommend making it free software that
443everyone can redistribute and change. You can do so by permitting
444redistribution under these terms (or, alternatively, under the terms of the
445ordinary General Public License).
446
447 To apply these terms, attach the following notices to the library. It is
448safest to attach them to the start of each source file to most effectively
449convey the exclusion of warranty; and each file should have at least the
450"copyright" line and a pointer to where the full notice is found.
451
452 <one line to give the library's name and a brief idea of what it does.>
453 Copyright (C) <year> <name of author>
454
455 This library is free software; you can redistribute it and/or
456 modify it under the terms of the GNU Library General Public
457 License as published by the Free Software Foundation; either
458 version 2 of the License, or (at your option) any later version.
459
460 This library is distributed in the hope that it will be useful,
461 but WITHOUT ANY WARRANTY; without even the implied warranty of
462 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
463 Library General Public License for more details.
464
465 You should have received a copy of the GNU Library General Public
466 License along with this library; if not, write to the
467 Free Software Foundation, Inc., 59 Temple Place - Suite 330,
468 Boston, MA 02111-1307 USA.
469
470Also add information on how to contact you by electronic and paper mail.
471
472You should also get your employer (if you work as a programmer) or your
473school, if any, to sign a "copyright disclaimer" for the library, if
474necessary. Here is a sample; alter the names:
475
476 Yoyodyne, Inc., hereby disclaims all copyright interest in the
477 library `Frob' (a library for tweaking knobs) written by James Random Hacker.
478
479 <signature of Ty Coon>, 1 April 1990
480 Ty Coon, President of Vice
481
482That's all there is to it!
diff --git a/meta-oe/recipes-devtools/gdbus-binding-tool/gdbus-binding-tool_git.bb b/meta-oe/recipes-devtools/gdbus-binding-tool/gdbus-binding-tool_git.bb
new file mode 100644
index 000000000..286434de6
--- /dev/null
+++ b/meta-oe/recipes-devtools/gdbus-binding-tool/gdbus-binding-tool_git.bb
@@ -0,0 +1,37 @@
1DESCRIPTION = "gdbus-binding-tool is used to generate C code for interacting with remote objects using D-Bus."
2DEPENDS = "glib-2.0 gdbus-binding-tool-native"
3DEPENDS_virtclass-native = "glib-2.0-native"
4RDEPENDS_${PN} = "glib-2.0-utils"
5# taken from glib where this is supposed to be moved later
6LICENSE = "LGPLv2+ & BSD & public domain"
7LIC_FILES_CHKSUM = "file://${WORKDIR}/COPYING;md5=3bf50002aefd002f49e7bb854063f7e7"
8
9PR = "r2"
10
11inherit autotools pkgconfig
12
13SRC_URI = "git://anongit.freedesktop.org/~david/${BPN};protocol=git;branch=master \
14 file://COPYING"
15SRCREV = "229fd9adbb6bd9d824b38a3bd092229016540f41"
16PV = "0.1+gitr${SRCPV}"
17S = "${WORKDIR}/git"
18
19do_configure() {
20 # missing ${topdir}/gtk-doc.make and --disable-gtk-doc* is not enough
21 sed -i '/^doc\/Makefile/d' ${S}/configure.ac
22 sed -i 's/SUBDIRS = src doc/SUBDIRS = src/g' ${S}/Makefile.am
23
24 # cannot execute target binary, so use staged native
25 sed -i "s#\$(top_builddir)/src/gdbus-codegen#${STAGING_BINDIR_NATIVE}/gdbus-codegen#g" ${S}/src/Makefile.am
26
27 autotools_do_configure
28}
29do_configure_virtclass-native() {
30 # missing ${topdir}/gtk-doc.make and --disable-gtk-doc* is not enough
31 sed -i '/^doc\/Makefile/d' ${S}/configure.ac
32 sed -i 's/SUBDIRS = src doc/SUBDIRS = src/g' ${S}/Makefile.am
33
34 autotools_do_configure
35}
36
37BBCLASSEXTEND = "native"
diff --git a/meta-oe/recipes-devtools/gobject-introspection/gobject-introspection/use-usr-bin-env-for-python.patch b/meta-oe/recipes-devtools/gobject-introspection/gobject-introspection/use-usr-bin-env-for-python.patch
new file mode 100644
index 000000000..67b85470d
--- /dev/null
+++ b/meta-oe/recipes-devtools/gobject-introspection/gobject-introspection/use-usr-bin-env-for-python.patch
@@ -0,0 +1,20 @@
1Index: gobject-introspection-0.9.10/tools/g-ir-annotation-tool.in
2===================================================================
3--- gobject-introspection-0.9.10.orig/tools/g-ir-annotation-tool.in
4+++ gobject-introspection-0.9.10/tools/g-ir-annotation-tool.in
5@@ -1,4 +1,4 @@
6-#!@PYTHON@
7+#!/usr/bin/env python
8 # -*- Mode: Python -*-
9 # GObject-Introspection - a framework for introspecting GObject libraries
10 # Copyright (C) 2008 Johan Dahlin
11Index: gobject-introspection-0.9.10/tools/g-ir-scanner.in
12===================================================================
13--- gobject-introspection-0.9.10.orig/tools/g-ir-scanner.in
14+++ gobject-introspection-0.9.10/tools/g-ir-scanner.in
15@@ -1,4 +1,4 @@
16-#!@PYTHON@
17+#!/usr/bin/env python
18 # -*- Mode: Python -*-
19 # GObject-Introspection - a framework for introspecting GObject libraries
20 # Copyright (C) 2008 Johan Dahlin
diff --git a/meta-oe/recipes-devtools/gobject-introspection/gobject-introspection_0.9.10.bb b/meta-oe/recipes-devtools/gobject-introspection/gobject-introspection_0.9.10.bb
new file mode 100644
index 000000000..f1a46a10b
--- /dev/null
+++ b/meta-oe/recipes-devtools/gobject-introspection/gobject-introspection_0.9.10.bb
@@ -0,0 +1,32 @@
1# NOTE: WIP! This recipe does not cross-compile atm., only -native
2SECTION = "libs"
3DEPENDS = "glib-2.0 libffi bison-native"
4BBCLASSEXTEND = "native"
5PR = "r1"
6
7LICENSE = "GPLv2+ & LGPLv2+"
8LIC_FILES_CHKSUM = "file://COPYING;md5=90d577535a3898e1ae5dbf0ae3509a8c \
9 file://COPYING.GPL;md5=94d55d512a9ba36caa9b7df079bae19f \
10 file://COPYING.LGPL;md5=3bf50002aefd002f49e7bb854063f7e7"
11
12SRC_URI[md5sum] = "e5cd63d6bcc5c105e898e7c33cf42175"
13SRC_URI[sha256sum] = "4bf244db75df04499dea704e7734376c0fc5a3a17fb59be2123c8d76111e6fb8"
14
15SRC_URI = "\
16 ${GNOME_MIRROR}/gobject-introspection/0.9/${BPN}-${PV}.tar.bz2 \
17 file://use-usr-bin-env-for-python.patch \
18"
19S = "${WORKDIR}/${BPN}-${PV}"
20
21inherit autotools
22
23do_configure_prepend() {
24 touch -f gtk-doc.make
25}
26
27EXTRA_OECONF = "\
28 --disable-gtk-doc \
29 --disable-gtk-doc-html \
30 --disable-gtk-doc-pdf \
31 --disable-tests \
32"
diff --git a/meta-oe/recipes-devtools/json-glib/json-glib_0.10.4.bb b/meta-oe/recipes-devtools/json-glib/json-glib_0.10.4.bb
new file mode 100644
index 000000000..87c60cb4b
--- /dev/null
+++ b/meta-oe/recipes-devtools/json-glib/json-glib_0.10.4.bb
@@ -0,0 +1,14 @@
1DESCRIPTION = "JSON-GLib is a library providing serialization and deserialization support for the JavaScript Object Notation (JSON) format"
2LICENSE = "LGPLv2.1"
3LIC_FILES_CHKSUM = "file://COPYING;md5=7fbc338309ac38fefcd64b04bb903e34"
4DEPENDS = "glib-2.0"
5
6PR = "r1"
7
8EXTRA_OECONF = "--enable-introspection=no"
9
10inherit autotools
11SRC_URI = "http://ftp.gnome.org/pub/GNOME/sources/json-glib/0.10/json-glib-0.10.4.tar.gz"
12
13SRC_URI[md5sum] = "87677e939a4b3d42e1c56b2a3046b9bb"
14SRC_URI[sha256sum] = "9561b3c58b350c89333d154f1e8669b8ece611c9c724252aed0e6273cda9cc6f"
diff --git a/meta-oe/recipes-devtools/libcanberra/libcanberra/libcanberra-increase-buffer-size.patch b/meta-oe/recipes-devtools/libcanberra/libcanberra/libcanberra-increase-buffer-size.patch
new file mode 100644
index 000000000..1005d7868
--- /dev/null
+++ b/meta-oe/recipes-devtools/libcanberra/libcanberra/libcanberra-increase-buffer-size.patch
@@ -0,0 +1,13 @@
1Index: libcanberra-0.14/src/alsa.c
2===================================================================
3--- libcanberra-0.14.orig/src/alsa.c
4+++ libcanberra-0.14/src/alsa.c
5@@ -272,7 +272,7 @@
6 return translate_error(ret);
7 }
8
9-#define BUFSIZE (16*1024)
10+#define BUFSIZE (128*1024)
11
12 static void* thread_func(void *userdata) {
13 struct outstanding *out = userdata;
diff --git a/meta-oe/recipes-devtools/libcanberra/libcanberra_0.26.bb b/meta-oe/recipes-devtools/libcanberra/libcanberra_0.26.bb
new file mode 100644
index 000000000..09e11f997
--- /dev/null
+++ b/meta-oe/recipes-devtools/libcanberra/libcanberra_0.26.bb
@@ -0,0 +1,56 @@
1DESCRIPTION = "Libcanberra is an implementation of the XDG Sound Theme and Name \
2Specifications, for generating event sounds on free desktops."
3LICENSE = "LGPLv2.1+"
4LIC_FILES_CHKSUM = "file://LGPL;md5=2d5025d4aa3495befef8f17206a5b0a1"
5DEPENDS = "alsa-lib gstreamer gtk+ libtool libvorbis gconf"
6SECTION = "libs/multimedia"
7AUTHOR = "Lennart Poettering"
8HOMEPAGE = "http://0pointer.de/lennart/projects/libcanberra"
9PR = "r1"
10
11inherit autotools vala
12
13SRC_URI = "http://0pointer.de/lennart/projects/libcanberra/libcanberra-${PV}.tar.gz \
14 file://libcanberra-increase-buffer-size.patch"
15
16SRC_URI[md5sum] = "ee2c66ada7c851a4e7b6eb1682285a24"
17SRC_URI[sha256sum] = "4b5d8d2c2835133620adbc53745dd107b6e58b9a2963059e8f457143fee00982"
18
19EXTRA_OECONF = "\
20 --enable-alsa \
21 --enable-gstreamer \
22 --enable-gtk \
23 --enable-multi \
24 --enable-null \
25 --disable-oss \
26 --disable-pulse \
27 --disable-tdb \
28"
29# enable pulse again when pulseaudio >= 0.9.11 is the default in OE
30
31python populate_packages_prepend() {
32 plugindir = bb.data.expand('${libdir}/${P}/', d)
33 do_split_packages(d, plugindir, '^libcanberra-(.*)\.so$', 'libcanberra-%s', '%s support library', extra_depends='' )
34}
35
36PACKAGES =+ "${PN}-gtk"
37
38PACKAGES_DYNAMIC = "libcanberra-*"
39
40FILES_${PN}-gtk = "\
41 ${sysconfdir}/gconf \
42 ${bindir}/* \
43 ${libdir}/libcanberra-gtk.so.* \
44 ${libdir}/gtk-2.0/modules/* \
45 ${datadir}/gnome \
46 ${datadir}/gdm \
47"
48
49FILES_${PN}-dev += "\
50 ${libdir}/${P}/*.la \
51"
52
53FILES_${PN}-dbg += "\
54 ${libdir}/gtk-2.0/modules/.debug \
55 ${libdir}/${P}/.debug \
56"
diff --git a/meta-oe/recipes-devtools/libgee/libgee.inc b/meta-oe/recipes-devtools/libgee/libgee.inc
new file mode 100644
index 000000000..8542cde5a
--- /dev/null
+++ b/meta-oe/recipes-devtools/libgee/libgee.inc
@@ -0,0 +1,18 @@
1DESCRIPTION = "libgee is a collection library providing GObject-based interfaces \
2and classes for commonly used data structures."
3HOMEPAGE = "http://live.gnome.org/Libgee"
4SECTION = "libs"
5DEPENDS = "glib-2.0"
6BBCLASSEXTEND = "native"
7LICENSE = "LGPLv2.1"
8LIC_FILES_CHKSUM = "file://COPYING;md5=fbc093901857fcd118f065f900982c24"
9INC_PR = "r6"
10PE = "1"
11
12inherit autotools vala
13do_configure_prepend() {
14 MACROS="libtool.m4 lt~obsolete.m4 ltoptions.m4 ltsugar.m4 ltversion.m4"
15 for i in ${MACROS}; do
16 rm -f m4/$i
17 done
18}
diff --git a/meta-oe/recipes-devtools/libgee/libgee_0.6.0.bb b/meta-oe/recipes-devtools/libgee/libgee_0.6.0.bb
new file mode 100644
index 000000000..4e305b604
--- /dev/null
+++ b/meta-oe/recipes-devtools/libgee/libgee_0.6.0.bb
@@ -0,0 +1,12 @@
1require libgee.inc
2PE = "1"
3PR = "${INC_PR}.1"
4#autoreconf needs introspection.m4 (staged by gobject-introspection-native) after http://git.gnome.org/browse/libgee/commit/?id=d026a29b38ca1a3388981c6e75a92602212373d8
5DEPENDS += "gobject-introspection-native"
6DEPENDS_virtclass-native += "gobject-introspection-native"
7
8SRC_URI = "http://ftp.gnome.org/pub/GNOME/sources/libgee/0.6/${BPN}-${PV}.tar.bz2"
9S = "${WORKDIR}/${BPN}-${PV}"
10
11SRC_URI[md5sum] = "4eb513b23ab6ea78884989518a4acf6f"
12SRC_URI[sha256sum] = "e586678d0a88637abeaaf850b62231000772e79ea6d9c4b45dc3cea99f778a7a"
diff --git a/meta-oe/recipes-devtools/python/python-dateutil_1.4.1.bb b/meta-oe/recipes-devtools/python/python-dateutil_1.4.1.bb
new file mode 100644
index 000000000..8cde2886e
--- /dev/null
+++ b/meta-oe/recipes-devtools/python/python-dateutil_1.4.1.bb
@@ -0,0 +1,24 @@
1DESCRIPTION = "Extensions to the standard Python date/time support"
2HOMEPAGE = "http://labix.org/python-dateutil"
3SECTION = "devel/python"
4PRIORITY = "optional"
5LICENSE = "PSF"
6LIC_FILES_CHKSUM = "file://LICENSE;md5=d82268718c68bda0b091006ec6e583c6"
7SRCNAME = "${PN}"
8PR = "r1"
9
10SRC_URI = "http://labix.org/download/python-dateutil/${SRCNAME}-${PV}.tar.gz"
11S = "${WORKDIR}/${SRCNAME}-${PV}"
12
13inherit setuptools
14
15PACKAGES =+ "${PN}-zoneinfo"
16FILES_${PN}-zoneinfo = "${libdir}/${PYTHON_DIR}/site-packages/dateutil/zoneinfo"
17
18RDEPENDS_${PN} = "\
19 python-core \
20 python-datetime \
21"
22
23SRC_URI[md5sum] = "2a5f25ab12fcefcf0b21348f2d47595a"
24SRC_URI[sha256sum] = "74b615c6a55b4421187feba1633fc233e7c5ebdd7abe9b092447a32946823357"
diff --git a/meta-oe/recipes-devtools/python/python-numeric/no-lapack.patch b/meta-oe/recipes-devtools/python/python-numeric/no-lapack.patch
new file mode 100644
index 000000000..c1916b8b9
--- /dev/null
+++ b/meta-oe/recipes-devtools/python/python-numeric/no-lapack.patch
@@ -0,0 +1,33 @@
1
2#
3# Patch managed by http://www.holgerschurig.de/patcher.html
4#
5
6--- Numeric-23.7/setup.py~nolapack
7+++ Numeric-23.7/setup.py
8@@ -32,7 +32,7 @@
9 mathlibs = []
10
11 # delete all but the first one in this list if using your own LAPACK/BLAS
12-sourcelist = [os.path.join('Src', 'lapack_litemodule.c'),
13+sourcelist = [
14 #os.path.join('Src', 'blas_lite.c'),
15 #os.path.join('Src', 'f2c_lite.c'),
16 #os.path.join('Src', 'zlapack_lite.c'),
17@@ -40,12 +40,12 @@
18 ]
19 # set these to use your own BLAS;
20
21-library_dirs_list = ['/usr/lib/atlas']
22-libraries_list = ['lapack', 'cblas', 'f77blas', 'atlas', 'g2c']
23+library_dirs_list = []
24+libraries_list = []
25
26 # set to true (1), if you also want BLAS optimized matrixmultiply/dot/innerproduct
27-use_dotblas = 1
28-include_dirs = ['/usr/include/atlas']
29+use_dotblas = 0
30+include_dirs = []
31 # You may need to set this to find cblas.h
32 # e.g. on UNIX using ATLAS this should be ['/usr/include/atlas']
33 extra_link_args = []
diff --git a/meta-oe/recipes-devtools/python/python-numeric_24.2.bb b/meta-oe/recipes-devtools/python/python-numeric_24.2.bb
new file mode 100644
index 000000000..436718f46
--- /dev/null
+++ b/meta-oe/recipes-devtools/python/python-numeric_24.2.bb
@@ -0,0 +1,15 @@
1DESCRIPTION = "A sophisticated Numeric Processing Package for Python"
2SECTION = "devel/python"
3PRIORITY = "optional"
4LICENSE = "PSF & LLNL"
5LIC_FILES_CHKSUM = "file://Legal.htm;md5=e3ce75dedd4043918d15979ae43e312e"
6
7PR = "ml1"
8
9SRC_URI = "${SOURCEFORGE_MIRROR}/numpy/Numeric-${PV}.tar.gz"
10S = "${WORKDIR}/Numeric-${PV}"
11
12inherit distutils
13
14SRC_URI[md5sum] = "2ae672656e06716a149acb048cca3093"
15SRC_URI[sha256sum] = "5f72e729eb6ff57442f2a38bfc9931738b59e5077928e2e70d22b4610ff15258"
diff --git a/meta-oe/recipes-devtools/python/python-pexpect_2.3.bb b/meta-oe/recipes-devtools/python/python-pexpect_2.3.bb
new file mode 100644
index 000000000..8111ba3f0
--- /dev/null
+++ b/meta-oe/recipes-devtools/python/python-pexpect_2.3.bb
@@ -0,0 +1,24 @@
1DESCRIPTION = "A Pure Python Expect like Module for Python"
2SECTION = "devel/python"
3PRIORITY = "optional"
4LICENSE = "PSF"
5LIC_FILES_CHKSUM = "file://LICENSE;md5=04a2bf11b85ce49d4a8c0c413fd34404"
6SRCNAME = "pexpect"
7PR = "ml1"
8
9SRC_URI = "${SOURCEFORGE_MIRROR}/${SRCNAME}/${SRCNAME}-${PV}.tar.gz"
10S = "${WORKDIR}/${SRCNAME}-${PV}"
11
12inherit distutils
13
14RDEPENDS_${PN} = "\
15 python-core \
16 python-io \
17 python-terminal \
18 python-resource \
19 python-fcntl \
20"
21
22
23SRC_URI[md5sum] = "bf107cf54e67bc6dec5bea1f3e6a65c3"
24SRC_URI[sha256sum] = "d315e7f3a8544fd85034d7e17fd7c5854e8f0828f5791f83cf313f8fa5740b75"
diff --git a/meta-oe/recipes-devtools/python/python-phoneutils_git.bb b/meta-oe/recipes-devtools/python/python-phoneutils_git.bb
new file mode 100644
index 000000000..b46a772a6
--- /dev/null
+++ b/meta-oe/recipes-devtools/python/python-phoneutils_git.bb
@@ -0,0 +1,15 @@
1DESCRIPTION = "Python Bindings for libphone-utils"
2SECTION = "devel/python"
3DEPENDS = "libphone-utils python-cython-native python-pyrex-native"
4RDEPENDS_${PN} = "libphone-utils"
5LICENSE = "LGPLv2.1+"
6LIC_FILES_CHKSUM = "file://phoneutils/c_phoneutils.pyx;endline=18;md5=ca321e4ec3a30a44469b23ebca782665"
7
8SRCREV = "8a7c719e0c3f1f8c10f77f17422da02d7177f0dd"
9PV = "0.0.2+gitr${SRCPV}"
10PR = "r3"
11
12SRC_URI = "git://git.shr-project.org/repo/libphone-utils.git;protocol=http;branch=master"
13S = "${WORKDIR}/git/src/python"
14
15inherit setuptools
diff --git a/meta-oe/recipes-devtools/python/python-pyalsaaudio_0.4.bb b/meta-oe/recipes-devtools/python/python-pyalsaaudio_0.4.bb
new file mode 100644
index 000000000..5a6dd5496
--- /dev/null
+++ b/meta-oe/recipes-devtools/python/python-pyalsaaudio_0.4.bb
@@ -0,0 +1,16 @@
1DESCRIPTION = "Support for the Linux 2.6.x ALSA Sound System"
2SECTION = "devel/python"
3DEPENDS = "alsa-lib"
4PRIORITY = "optional"
5LICENSE = "PSF"
6LIC_FILES_CHKSUM = "file://LICENSE;md5=1a3b161aa0fcec32a0c8907a2219ad9d"
7SRCNAME = "pyalsaaudio"
8PR = "ml0"
9
10SRC_URI = "${SOURCEFORGE_MIRROR}/pyalsaaudio/${SRCNAME}-${PV}.tar.gz"
11S = "${WORKDIR}/${SRCNAME}-${PV}"
12
13inherit distutils
14
15SRC_URI[md5sum] = "b312c28efba7db0494836a79f0a49898"
16SRC_URI[sha256sum] = "07148ce16024724b17cc24c51d0f4fb78af214b09b7dc8dcb7b06e5647f4c582"
diff --git a/meta-oe/recipes-devtools/python/python-pyserial_2.4.bb b/meta-oe/recipes-devtools/python/python-pyserial_2.4.bb
new file mode 100644
index 000000000..cc138d196
--- /dev/null
+++ b/meta-oe/recipes-devtools/python/python-pyserial_2.4.bb
@@ -0,0 +1,23 @@
1DESCRIPTION = "Serial Port Support for Python"
2SECTION = "devel/python"
3PRIORITY = "optional"
4LICENSE = "PSF"
5LIC_FILES_CHKSUM = "file://LICENSE.txt;md5=7424386ffe323e815ee62ee9ad591dd8"
6SRCNAME = "pyserial"
7PR = "ml2"
8
9SRC_URI = "${SOURCEFORGE_MIRROR}/${SRCNAME}/${SRCNAME}-${PV}.tar.gz"
10S = "${WORKDIR}/${SRCNAME}-${PV}"
11
12inherit setuptools
13
14# FIXME might stop packaging serialwin32 and serialjava files
15
16RDEPENDS_${PN} = "\
17 python-fcntl \
18 python-io \
19 python-stringold \
20"
21
22SRC_URI[md5sum] = "eec19df59fd75ba5a136992897f8e468"
23SRC_URI[sha256sum] = "6b6a9e3d2fd5978c92c843e0109918a4bcac481eecae316254481c0e0f7e73c8"
diff --git a/meta-oe/recipes-devtools/python/python-pyyaml/setup.py b/meta-oe/recipes-devtools/python/python-pyyaml/setup.py
new file mode 100644
index 000000000..fb6498341
--- /dev/null
+++ b/meta-oe/recipes-devtools/python/python-pyyaml/setup.py
@@ -0,0 +1,64 @@
1NAME = 'PyYAML'
2VERSION = '3.06'
3DESCRIPTION = "YAML parser and emitter for Python"
4LONG_DESCRIPTION = """\
5YAML is a data serialization format designed for human readability and
6interaction with scripting languages. PyYAML is a YAML parser and
7emitter for Python.
8
9PyYAML features a complete YAML 1.1 parser, Unicode support, pickle
10support, capable extension API, and sensible error messages. PyYAML
11supports standard YAML tags and provides Python-specific tags that allow
12to represent an arbitrary Python object.
13
14PyYAML is applicable for a broad range of tasks from complex
15configuration files to object serialization and persistance."""
16AUTHOR = "Kirill Simonov"
17AUTHOR_EMAIL = 'xi@resolvent.net'
18LICENSE = "MIT"
19PLATFORMS = "Any"
20URL = "http://pyyaml.org/wiki/PyYAML"
21DOWNLOAD_URL = "http://pyyaml.org/download/pyyaml/%s-%s.tar.gz" % (NAME, VERSION)
22CLASSIFIERS = [
23 "Development Status :: 5 - Production/Stable",
24 "Intended Audience :: Developers",
25 "License :: OSI Approved :: MIT License",
26 "Operating System :: OS Independent",
27 "Programming Language :: Python",
28 "Topic :: Software Development :: Libraries :: Python Modules",
29 "Topic :: Text Processing :: Markup",
30]
31
32from distutils.core import setup
33from distutils.extension import Extension
34from Cython.Distutils import build_ext
35
36import sys, os.path
37
38
39if __name__ == '__main__':
40
41 setup(
42 name=NAME,
43 version=VERSION,
44 description=DESCRIPTION,
45 long_description=LONG_DESCRIPTION,
46 author=AUTHOR,
47 author_email=AUTHOR_EMAIL,
48 license=LICENSE,
49 platforms=PLATFORMS,
50 url=URL,
51 download_url=DOWNLOAD_URL,
52 classifiers=CLASSIFIERS,
53
54 package_dir={'': 'lib'},
55 packages=['yaml'],
56
57 ext_modules = [
58 Extension( "_yaml", ["ext/_yaml.pyx"], libraries = ["yaml"] )
59 ],
60
61 cmdclass={
62 'build_ext': build_ext,
63 },
64 )
diff --git a/meta-oe/recipes-devtools/python/python-pyyaml_svn.bb b/meta-oe/recipes-devtools/python/python-pyyaml_svn.bb
new file mode 100644
index 000000000..965b1cc11
--- /dev/null
+++ b/meta-oe/recipes-devtools/python/python-pyyaml_svn.bb
@@ -0,0 +1,22 @@
1DESCRIPTION = "Python support for YAML"
2HOMEPAGE = "http://www.pyyaml.org"
3SECTION = "devel/python"
4LICENSE = "MIT"
5LIC_FILES_CHKSUM = "file://LICENSE;md5=6015f088759b10e0bc2bf64898d4ae17"
6DEPENDS = "libyaml python-cython-native"
7SRCREV = "344"
8PV = "3.08+svnr${SRCPV}"
9PR = "ml0"
10
11SRC_URI = "\
12 svn://svn.pyyaml.org/pyyaml;module=trunk;proto=http \
13 file://setup.py \
14"
15S = "${WORKDIR}/trunk"
16
17inherit distutils
18
19do_configure_prepend() {
20 # upstream setup.py overcomplicated, use ours
21 install -m 0644 ${WORKDIR}/setup.py ${S}
22}
diff --git a/meta-oe/recipes-devtools/python/python-vobject_0.8.1c.bb b/meta-oe/recipes-devtools/python/python-vobject_0.8.1c.bb
new file mode 100644
index 000000000..6b7e7a481
--- /dev/null
+++ b/meta-oe/recipes-devtools/python/python-vobject_0.8.1c.bb
@@ -0,0 +1,17 @@
1DESCRIPTION = "Python package for parsing and generating vCard and vCalendar files"
2SECTION = "devel/python"
3PRIORITY = "optional"
4LICENSE = "Apache License V2.0"
5LIC_FILES_CHKSUM = "file://LICENSE-2.0.txt;md5=3b83ef96387f14655fc854ddc3c6bd57"
6HOMEPAGE = "http://vobject.skyhouseconsulting.com/"
7SRCNAME = "vobject"
8RDEPENDS_${PN} = "python python-dateutil"
9PR = "r2"
10
11SRC_URI = "http://vobject.skyhouseconsulting.com/${SRCNAME}-${PV}.tar.gz"
12S = "${WORKDIR}/${SRCNAME}-${PV}"
13
14inherit setuptools
15
16SRC_URI[md5sum] = "c9686dd74d39fdae140890d9c694c076"
17SRC_URI[sha256sum] = "594113117f2017ed837c8f3ce727616f9053baa5a5463a7420c8249b8fc556f5"
diff --git a/meta-oe/recipes-devtools/vala-dbus-binding-tool/vala-dbus-binding-tool.inc b/meta-oe/recipes-devtools/vala-dbus-binding-tool/vala-dbus-binding-tool.inc
new file mode 100644
index 000000000..d86e92375
--- /dev/null
+++ b/meta-oe/recipes-devtools/vala-dbus-binding-tool/vala-dbus-binding-tool.inc
@@ -0,0 +1,16 @@
1DESCRIPTION = "Vala DBus Binding Tool"
2SECTION = "devel"
3DEPENDS = "vala libgee libxml2 intltool-native"
4HOMEPAGE = "http://wiki.freesmartphone.org/index.php/Implementations/vala-dbus-binding-tool"
5LICENSE = "GPLv3"
6LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504"
7PE = "1"
8INC_PR = "r3"
9
10export XDG_DATA_DIRS = "${STAGING_DATADIR}"
11
12SRC_URI = "http://downloads.freesmartphone.org/sources/vala-dbus-binding-tool-${PV}.tar.bz2;name=archive"
13
14inherit autotools
15
16BBCLASSEXTEND = "native"
diff --git a/meta-oe/recipes-devtools/vala-dbus-binding-tool/vala-dbus-binding-tool_git.bb b/meta-oe/recipes-devtools/vala-dbus-binding-tool/vala-dbus-binding-tool_git.bb
new file mode 100644
index 000000000..66df4edaf
--- /dev/null
+++ b/meta-oe/recipes-devtools/vala-dbus-binding-tool/vala-dbus-binding-tool_git.bb
@@ -0,0 +1,6 @@
1require vala-dbus-binding-tool.inc
2SRCREV = "fd89af4941d6478575900128d09029fa5549e0db"
3PV = "0.3.2+gitr${SRCPV}"
4
5SRC_URI = "${FREESMARTPHONE_GIT}/vala-dbus-binding-tool.git;protocol=git;branch=master"
6S = "${WORKDIR}/git"
diff --git a/meta-oe/recipes-devtools/vala/vala.inc b/meta-oe/recipes-devtools/vala/vala.inc
new file mode 100644
index 000000000..b63cdfacd
--- /dev/null
+++ b/meta-oe/recipes-devtools/vala/vala.inc
@@ -0,0 +1,25 @@
1DESCRIPTION = "Vala is a C#-like language dedicated to ease GObject programming. \
2Vala compiles to plain C and has no runtime environment nor penalities whatsoever."
3SECTION = "devel"
4DEPENDS = "glib-2.0 dbus"
5BBCLASSEXTEND = "native"
6DEPENDS_virtclass-native = "glib-2.0-native dbus-native"
7HOMEPAGE = "http://vala-project.org"
8LICENSE = "LGPLv2.1"
9LIC_FILES_CHKSUM = "file://COPYING;md5=fbc093901857fcd118f065f900982c24"
10INC_PR = "r0"
11
12#
13# WARNING: This source release has specifically been built for OpenEmbedded.
14# Don't update to any upstream release without consulting the recipe maintainer.
15#
16
17SRC_URI = "\
18 http://downloads.freesmartphone.org/sources/vala-${PV}.tar.bz2;name=archive \
19"
20
21inherit autotools
22
23EXTRA_OECONF = "--disable-vapigen"
24
25FILES_${PN}-doc += ${datadir}/devhelp
diff --git a/meta-oe/recipes-devtools/vala/vala_0.12.0.bb b/meta-oe/recipes-devtools/vala/vala_0.12.0.bb
new file mode 100644
index 000000000..9ca89db78
--- /dev/null
+++ b/meta-oe/recipes-devtools/vala/vala_0.12.0.bb
@@ -0,0 +1,7 @@
1require vala.inc
2SRC_URI = "ftp://ftp.gnome.org/pub/GNOME/sources/vala/0.12/vala-0.12.0.tar.bz2"
3
4FILES_${PN} += "${datadir}/vala-0.12/vapi"
5
6SRC_URI[md5sum] = "b11fafaa705085342156312e356b6ff2"
7SRC_URI[sha256sum] = "9a398e16fba2c78c9bcadb05e489c9bc318e34901d43451ac5d2ce4bc46b1225"
diff --git a/meta-oe/recipes-extended/tzcode/tzcode-native.inc b/meta-oe/recipes-extended/tzcode/tzcode-native.inc
new file mode 100644
index 000000000..b946e71fb
--- /dev/null
+++ b/meta-oe/recipes-extended/tzcode/tzcode-native.inc
@@ -0,0 +1,18 @@
1DESCRIPTION = "tzcode, timezone zoneinfo utils -- zic, zdump, tzselect"
2INC_PR = "r4"
3
4SRC_URI = " \
5 ftp://elsie.nci.nih.gov/pub/tzcode${PV}.tar.gz;name=tzcode-${PV};subdir=${BPN}-${PV} \
6 ftp://elsie.nci.nih.gov/pub/tzdata${TZDATA_PV}.tar.gz;name=tzdata-${TZDATA_PV};subdir=${BPN}-${PV} \
7 "
8
9inherit native
10
11do_install () {
12 install -d ${D}${bindir}
13 install -m 755 zic ${D}${bindir}/
14 install -m 755 zdump ${D}${bindir}/
15 install -m 755 tzselect ${D}${bindir}/
16}
17
18NATIVE_INSTALL_WORKS = "1"
diff --git a/meta-oe/recipes-extended/tzcode/tzcode-native_2011e.bb b/meta-oe/recipes-extended/tzcode/tzcode-native_2011e.bb
new file mode 100644
index 000000000..280840c99
--- /dev/null
+++ b/meta-oe/recipes-extended/tzcode/tzcode-native_2011e.bb
@@ -0,0 +1,19 @@
1require tzcode-native.inc
2
3LICENSE = "PD"
4LIC_FILES_CHKSUM = "file://README;md5=3ae8198f82258417ce29066d3b034035"
5
6# Note that elsie.nci.nih.gov removes old versions when new is coming out
7# So if this doesn't build for you because of missing source file, just
8# bump it to the latest available version, removing old one
9# Also, tzdata (and it is needed to build tzcode) version can differ from
10# tzcode version, thus this variable
11
12TZDATA_PV = "2011e"
13
14PR = "${INC_PR}.0"
15
16SRC_URI[tzcode-2011e.md5sum] = "fbfc05dbf9ebcfe7c4bba18549870173"
17SRC_URI[tzcode-2011e.sha256sum] = "8fb00f8763aa51d83d6f3190d144124bb7176ca829fc08823d6205297bf0426b"
18SRC_URI[tzdata-2011e.md5sum] = "044a07072300a0ee72b046e5a9a4ec90"
19SRC_URI[tzdata-2011e.sha256sum] = "44fef01de4589a4979eb6b5fdbbfd21a3b135852af1ecbfb9e0368ae47392c79"
diff --git a/meta-oe/recipes-extended/tzdata/tzdata.inc b/meta-oe/recipes-extended/tzdata/tzdata.inc
new file mode 100644
index 000000000..732ebb376
--- /dev/null
+++ b/meta-oe/recipes-extended/tzdata/tzdata.inc
@@ -0,0 +1,178 @@
1DESCRIPTION = "Timezone data"
2SECTION = "base"
3PRIORITY = "optional"
4DEPENDS = "tzcode-native"
5
6INC_PR = "r9"
7
8DEFAULT_TIMEZONE ?= "Europe/London"
9
10RCONFLICTS_${PN} = "timezones timezone-africa timezone-america timezone-antarctica \
11 timezone-arctic timezone-asia timezone-atlantic \
12 timezone-australia timezone-europe timezone-indian \
13 timezone-iso3166.tab timezone-pacific timezone-zone.tab"
14
15SRC_URI = "ftp://elsie.nci.nih.gov/pub/tzdata${PV}.tar.gz;subdir=${BPN}-${PV}"
16
17TZONES= "africa antarctica asia australasia europe northamerica southamerica \
18 factory solar87 solar88 solar89 etcetera backward systemv \
19 "
20# pacificnew \
21
22CONFFILES_${PN} = "${sysconfdir}/timezone ${sysconfdir}/localtime"
23
24do_compile () {
25 mkdir -p build
26 for zone in ${TZONES}; do \
27 ${STAGING_BINDIR_NATIVE}/zic -d ${S}/build${datadir}/zoneinfo -L /dev/null \
28 -y ${S}/yearistype.sh ${S}/${zone} ; \
29 ${STAGING_BINDIR_NATIVE}/zic -d ${S}/build${datadir}/zoneinfo/posix -L /dev/null \
30 -y ${S}/yearistype.sh ${S}/${zone} ; \
31 ${STAGING_BINDIR_NATIVE}/zic -d ${S}/build${datadir}/zoneinfo/right -L ${S}/leapseconds \
32 -y ${S}/yearistype.sh ${S}/${zone} ; \
33 done
34}
35
36do_install () {
37 install -d ${D}${prefix} ${D}${datadir}/zoneinfo
38 cp -pPR ${S}/build${prefix}/* ${D}${prefix}
39 # Only eglibc is removing zoneinfo files from package
40 if [ "${LIBC}"x = "eglibc"x ] ; then
41 cp -pP "${S}/zone.tab" ${D}${datadir}/zoneinfo
42 cp -pP "${S}/iso3166.tab" ${D}${datadir}/zoneinfo
43 fi
44
45 # Install a sane default for timezones
46 install -d ${D}${sysconfdir}
47 echo ${DEFAULT_TIMEZONE} > ${D}${sysconfdir}/timezone
48 cp -pPR ${S}/build${datadir}/zoneinfo/${DEFAULT_TIMEZONE} ${D}${sysconfdir}/localtime
49}
50
51PACKAGE_ARCH = "all"
52# Packages primarily organized by directory with a major city
53# in most time zones in the base package
54
55PACKAGES = "${PN}-dbg tzdata tzdata-misc tzdata-posix tzdata-right tzdata-africa \
56 tzdata-americas tzdata-antarctica tzdata-arctic tzdata-asia \
57 tzdata-atlantic tzdata-australia tzdata-europe tzdata-pacific"
58
59ALLOW_EMPTY_${PN}-dbg = "1"
60
61FILES_tzdata-africa += "${datadir}/zoneinfo/Africa/*"
62RPROVIDES_tzdata-africa = "tzdata-africa"
63
64FILES_tzdata-americas += "${datadir}/zoneinfo/America/* \
65 ${datadir}/zoneinfo/US/* \
66 ${datadir}/zoneinfo/Brazil/* \
67 ${datadir}/zoneinfo/Canada/* \
68 ${datadir}/zoneinfo/Mexico/* \
69 ${datadir}/zoneinfo/Chile/*"
70RPROVIDES_tzdata-americas = "tzdata-americas"
71
72FILES_tzdata-antarctica += "${datadir}/zoneinfo/Antarctica/*"
73RPROVIDES_tzdata-antarctica = "tzdata-antarctica"
74
75FILES_tzdata-arctic += "${datadir}/zoneinfo/Arctic/*"
76RPROVIDES_tzdata-arctic = "tzdata-arctic"
77
78FILES_tzdata-asia += "${datadir}/zoneinfo/Asia/* \
79 ${datadir}/zoneinfo/Indian/* \
80 ${datadir}/zoneinfo/Mideast/*"
81RPROVIDES_tzdata-asia = "tzdata-asia"
82
83FILES_tzdata-atlantic += "${datadir}/zoneinfo/Atlantic/*"
84RPROVIDES_tzdata-atlantic = "tzdata-atlantic"
85
86FILES_tzdata-australia += "${datadir}/zoneinfo/Australia/*"
87RPROVIDES_tzdata-australia = "tzdata-australia"
88
89FILES_tzdata-europe += "${datadir}/zoneinfo/Europe/*"
90RPROVIDES_tzdata-europe = "tzdata-europe"
91
92FILES_tzdata-pacific += "${datadir}/zoneinfo/Pacific/*"
93RPROVIDES_tzdata-pacific = "tzdata-pacific"
94
95FILES_tzdata-posix += "${datadir}/zoneinfo/posix/*"
96RPROVIDES_tzdata-posix = "tzdata-posix"
97
98FILES_tzdata-right += "${datadir}/zoneinfo/right/*"
99RPROVIDES_tzdata-right = "tzdata-right"
100
101
102FILES_tzdata-misc += "${datadir}/zoneinfo/Cuba \
103 ${datadir}/zoneinfo/Egypt \
104 ${datadir}/zoneinfo/Eire \
105 ${datadir}/zoneinfo/Factory \
106 ${datadir}/zoneinfo/GB-Eire \
107 ${datadir}/zoneinfo/Hongkong \
108 ${datadir}/zoneinfo/Iceland \
109 ${datadir}/zoneinfo/Iran \
110 ${datadir}/zoneinfo/Israel \
111 ${datadir}/zoneinfo/Jamaica \
112 ${datadir}/zoneinfo/Japan \
113 ${datadir}/zoneinfo/Kwajalein \
114 ${datadir}/zoneinfo/Libya \
115 ${datadir}/zoneinfo/Navajo \
116 ${datadir}/zoneinfo/Poland \
117 ${datadir}/zoneinfo/Portugal \
118 ${datadir}/zoneinfo/Singapore \
119 ${datadir}/zoneinfo/Turkey"
120RPROVIDES_tzdata-misc = "tzdata-misc"
121
122
123FILES_${PN} += "${datadir}/zoneinfo/Pacific/Honolulu \
124 ${datadir}/zoneinfo/America/Anchorage \
125 ${datadir}/zoneinfo/America/Los_Angeles \
126 ${datadir}/zoneinfo/America/Denver \
127 ${datadir}/zoneinfo/America/Chicago \
128 ${datadir}/zoneinfo/America/New_York \
129 ${datadir}/zoneinfo/America/Caracas \
130 ${datadir}/zoneinfo/America/Sao_Paulo \
131 ${datadir}/zoneinfo/Europe/London \
132 ${datadir}/zoneinfo/Europe/Paris \
133 ${datadir}/zoneinfo/Africa/Cairo \
134 ${datadir}/zoneinfo/Europe/Moscow \
135 ${datadir}/zoneinfo/Asia/Dubai \
136 ${datadir}/zoneinfo/Asia/Karachi \
137 ${datadir}/zoneinfo/Asia/Dhaka \
138 ${datadir}/zoneinfo/Asia/Bankok \
139 ${datadir}/zoneinfo/Asia/Hong_Kong \
140 ${datadir}/zoneinfo/Asia/Tokyo \
141 ${datadir}/zoneinfo/Australia/Perth \
142 ${datadir}/zoneinfo/Australia/Darwin \
143 ${datadir}/zoneinfo/Australia/Adelaide \
144 ${datadir}/zoneinfo/Australia/Brisbane \
145 ${datadir}/zoneinfo/Australia/Sydney \
146 ${datadir}/zoneinfo/Pacific/Noumea \
147 ${datadir}/zoneinfo/CET \
148 ${datadir}/zoneinfo/CST6CDT \
149 ${datadir}/zoneinfo/EET \
150 ${datadir}/zoneinfo/EST \
151 ${datadir}/zoneinfo/EST5EDT \
152 ${datadir}/zoneinfo/GB \
153 ${datadir}/zoneinfo/GMT \
154 ${datadir}/zoneinfo/GMT+0 \
155 ${datadir}/zoneinfo/GMT-0 \
156 ${datadir}/zoneinfo/GMT0 \
157 ${datadir}/zoneinfo/Greenwich \
158 ${datadir}/zoneinfo/HST \
159 ${datadir}/zoneinfo/MET \
160 ${datadir}/zoneinfo/MST \
161 ${datadir}/zoneinfo/MST7MDT \
162 ${datadir}/zoneinfo/NZ \
163 ${datadir}/zoneinfo/NZ-CHAT \
164 ${datadir}/zoneinfo/PRC \
165 ${datadir}/zoneinfo/PST8PDT \
166 ${datadir}/zoneinfo/ROC \
167 ${datadir}/zoneinfo/ROK \
168 ${datadir}/zoneinfo/UCT \
169 ${datadir}/zoneinfo/UTC \
170 ${datadir}/zoneinfo/Universal \
171 ${datadir}/zoneinfo/W-SU \
172 ${datadir}/zoneinfo/WET \
173 ${datadir}/zoneinfo/Zulu \
174 ${datadir}/zoneinfo/Etc/* \
175 ${datadir}/zoneinfo/iso3166.tab \
176 ${datadir}/zoneinfo/zone.tab \
177 ${sysconfdir}/localtime \
178 ${sysconfdir}/timezone "
diff --git a/meta-oe/recipes-extended/tzdata/tzdata_2011e.bb b/meta-oe/recipes-extended/tzdata/tzdata_2011e.bb
new file mode 100644
index 000000000..c0f5291ee
--- /dev/null
+++ b/meta-oe/recipes-extended/tzdata/tzdata_2011e.bb
@@ -0,0 +1,13 @@
1require tzdata.inc
2
3LICENSE = "PD"
4LIC_FILES_CHKSUM = "file://asia;beginline=2;endline=3;md5=06468c0e84ef4d4c97045a4a29b08234"
5
6# Note that elsie.nci.nih.gov removes old archives after a new one is
7# released. So if this doesn't build for you because of missing source file
8# just bump it to the latest available version, removing the old one
9
10PR = "${INC_PR}.0"
11
12SRC_URI[md5sum] = "044a07072300a0ee72b046e5a9a4ec90"
13SRC_URI[sha256sum] = "44fef01de4589a4979eb6b5fdbbfd21a3b135852af1ecbfb9e0368ae47392c79"
diff --git a/meta-oe/recipes-graphics/drm/libdrm-2.4.24/glamo.patch b/meta-oe/recipes-graphics/drm/libdrm-2.4.24/glamo.patch
new file mode 100644
index 000000000..b397ded58
--- /dev/null
+++ b/meta-oe/recipes-graphics/drm/libdrm-2.4.24/glamo.patch
@@ -0,0 +1,1095 @@
1diff --git a/Makefile.am b/Makefile.am
2index 25d1747..f384228 100644
3--- a/Makefile.am
4+++ b/Makefile.am
5@@ -41,7 +41,11 @@ if HAVE_RADEON
6 RADEON_SUBDIR = radeon
7 endif
8
9-SUBDIRS = . $(LIBKMS_SUBDIR) $(INTEL_SUBDIR) $(NOUVEAU_SUBDIR) $(RADEON_SUBDIR) tests include
10+if HAVE_GLAMO
11+GLAMO_SUBDIR = glamo
12+endif
13+
14+SUBDIRS = . $(LIBKMS_SUBDIR) $(INTEL_SUBDIR) $(NOUVEAU_SUBDIR) $(RADEON_SUBDIR) $(GLAMO_SUBDIR) tests include
15
16 libdrm_la_LTLIBRARIES = libdrm.la
17 libdrm_ladir = $(libdir)
18diff --git a/configure.ac b/configure.ac
19index 62db817..0b2a33e 100644
20--- a/configure.ac
21+++ b/configure.ac
22@@ -73,6 +73,11 @@ AC_ARG_ENABLE(nouveau-experimental-api,
23 [NOUVEAU=$enableval], [NOUVEAU=no])
24
25
26+AC_ARG_ENABLE(glamo-experimental-api,
27+ AS_HELP_STRING([--enable-glamo-experimental-api],
28+ [Enable support for Glamo's KMS API (default: disabled)]),
29+ [GLAMO=$enableval], [GLAMO=no])
30+
31 dnl ===========================================================================
32 dnl check compiler flags
33 AC_DEFUN([LIBDRM_CC_TRY_FLAG], [
34@@ -169,6 +174,11 @@ if test "x$NOUVEAU" = xyes; then
35 AC_DEFINE(HAVE_NOUVEAU, 1, [Have nouveau (nvidia) support])
36 fi
37
38+AM_CONDITIONAL(HAVE_GLAMO, [test "x$GLAMO" = xyes])
39+if test "x$GLAMO" = xyes; then
40+ AC_DEFINE(HAVE_GLAMO, 1, [Have glamo support])
41+fi
42+
43 PKG_CHECK_MODULES(CAIRO, cairo, [HAVE_CAIRO=yes], [HAVE_CAIRO=no])
44 if test "x$HAVE_CAIRO" = xyes; then
45 AC_DEFINE(HAVE_CAIRO, 1, [Have cairo support])
46@@ -262,6 +272,8 @@ AC_OUTPUT([
47 radeon/libdrm_radeon.pc
48 nouveau/Makefile
49 nouveau/libdrm_nouveau.pc
50+ glamo/Makefile
51+ glamo/libdrm_glamo.pc
52 tests/Makefile
53 tests/modeprint/Makefile
54 tests/modetest/Makefile
55diff --git a/glamo/Makefile.am b/glamo/Makefile.am
56new file mode 100644
57index 0000000..1f17aa3
58--- /dev/null
59+++ b/glamo/Makefile.am
60@@ -0,0 +1,52 @@
61+# Copyright (c) 2009 Thomas Whtie <taw@bitwiz.org.uk>
62+# Based on libdrm-glamo Copyright © 2008 Jérôme Glisse
63+#
64+# Permission is hereby granted, free of charge, to any person obtaining a
65+# copy of this software and associated documentation files (the "Software"),
66+# to deal in the Software without restriction, including without limitation
67+# the rights to use, copy, modify, merge, publish, distribute, sublicense,
68+# and/or sell copies of the Software, and to permit persons to whom the
69+# Software is furnished to do so, subject to the following conditions:
70+#
71+# The above copyright notice and this permission notice (including the next
72+# paragraph) shall be included in all copies or substantial portions of the
73+# Software.
74+#
75+# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
76+# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
77+# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
78+# THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
79+# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
80+# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
81+# IN THE SOFTWARE.
82+#
83+# Authors:
84+# Jérôme Glisse <glisse@freedesktop.org>
85+# Thomas White <taw@bitwiz.org.uk>
86+
87+AM_CFLAGS = \
88+ $(WARN_CFLAGS) \
89+ -I$(top_srcdir) \
90+ -I$(top_srcdir)/glamo \
91+ $(PTHREADSTUBS_CFLAGS) \
92+ -I$(top_srcdir)/include/drm
93+
94+libdrm_glamo_la_LTLIBRARIES = libdrm_glamo.la
95+libdrm_glamo_ladir = $(libdir)
96+libdrm_glamo_la_LDFLAGS = -version-number 1:0:0 -no-undefined
97+libdrm_glamo_la_LIBADD = ../libdrm.la @PTHREADSTUBS_LIBS@
98+
99+libdrm_glamo_la_SOURCES = \
100+ glamo_bo_gem.c \
101+ glamo_track.c
102+
103+libdrm_glamoincludedir = ${includedir}/libdrm
104+libdrm_glamoinclude_HEADERS = \
105+ glamo_bo.h \
106+ glamo_bo_gem.h \
107+ glamo_track.h
108+
109+pkgconfigdir = @pkgconfigdir@
110+pkgconfig_DATA = libdrm_glamo.pc
111+
112+EXTRA_DIST = libdrm_glamo.pc.in
113diff --git a/glamo/glamo_bo.h b/glamo/glamo_bo.h
114new file mode 100644
115index 0000000..8ef2a18
116--- /dev/null
117+++ b/glamo/glamo_bo.h
118@@ -0,0 +1,183 @@
119+/*
120+ * Copyright (c) 2009 Thomas White
121+ *
122+ * Heavily based on radeon_bo.h
123+ * Copyright © 2008 Jérôme Glisse
124+ * All Rights Reserved.
125+ *
126+ * Permission is hereby granted, free of charge, to any person obtaining
127+ * a copy of this software and associated documentation files (the
128+ * "Software"), to deal in the Software without restriction, including
129+ * without limitation the rights to use, copy, modify, merge, publish,
130+ * distribute, sub license, and/or sell copies of the Software, and to
131+ * permit persons to whom the Software is furnished to do so, subject to
132+ * the following conditions:
133+ *
134+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
135+ * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
136+ * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
137+ * NON-INFRINGEMENT. IN NO EVENT SHALL THE COPYRIGHT HOLDERS, AUTHORS
138+ * AND/OR ITS SUPPLIERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
139+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
140+ * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
141+ * USE OR OTHER DEALINGS IN THE SOFTWARE.
142+ *
143+ * The above copyright notice and this permission notice (including the
144+ * next paragraph) shall be included in all copies or substantial portions
145+ * of the Software.
146+ */
147+/*
148+ * Authors:
149+ * Jérôme Glisse <glisse@freedesktop.org>
150+ * Thomas White <taw@bitwiz.org.uk>
151+ */
152+#ifndef GLAMO_BO_H
153+#define GLAMO_BO_H
154+
155+#include <stdio.h>
156+#include <stdint.h>
157+#include "glamo_track.h"
158+
159+/* bo object */
160+#define GLAMO_BO_FLAGS_MACRO_TILE 1
161+#define GLAMO_BO_FLAGS_MICRO_TILE 2
162+
163+struct glamo_bo_manager;
164+
165+struct glamo_bo {
166+ uint32_t alignment;
167+ uint32_t handle;
168+ uint32_t size;
169+ uint32_t domains;
170+ uint32_t flags;
171+ unsigned cref;
172+#ifdef GLAMO_BO_TRACK
173+ struct glamo_track *track;
174+#endif
175+ struct glamo_bo_manager *bom;
176+ void *virtual;
177+ uint32_t space_accounted;
178+};
179+
180+/* bo functions */
181+struct glamo_bo_funcs {
182+ struct glamo_bo *(*bo_open)(struct glamo_bo_manager *bom,
183+ uint32_t handle,
184+ uint32_t size,
185+ uint32_t alignment,
186+ uint32_t domains,
187+ uint32_t flags);
188+ void (*bo_ref)(struct glamo_bo *bo);
189+ struct glamo_bo *(*bo_unref)(struct glamo_bo *bo);
190+ int (*bo_map)(struct glamo_bo *bo, int write);
191+ int (*bo_unmap)(struct glamo_bo *bo);
192+ int (*bo_wait)(struct glamo_bo *bo);
193+};
194+
195+struct glamo_bo_manager {
196+ struct glamo_bo_funcs *funcs;
197+ int fd;
198+ struct glamo_tracker tracker;
199+};
200+
201+static inline void _glamo_bo_debug(struct glamo_bo *bo,
202+ const char *op,
203+ const char *file,
204+ const char *func,
205+ int line)
206+{
207+ fprintf(stderr, "%s %p 0x%08X 0x%08X 0x%08X [%s %s %d]\n",
208+ op, (void *)bo, bo->handle, bo->size, bo->cref, file, func, line);
209+}
210+
211+static inline struct glamo_bo *_glamo_bo_open(struct glamo_bo_manager *bom,
212+ uint32_t handle,
213+ uint32_t size,
214+ uint32_t alignment,
215+ uint32_t domains,
216+ uint32_t flags,
217+ const char *file,
218+ const char *func,
219+ int line)
220+{
221+ struct glamo_bo *bo;
222+
223+ bo = bom->funcs->bo_open(bom, handle, size, alignment, domains, flags);
224+#ifdef GLAMO_BO_TRACK
225+ if (bo) {
226+ bo->track = glamo_tracker_add_track(&bom->tracker, bo->handle);
227+ glamo_track_add_event(bo->track, file, func, "open", line);
228+ }
229+#endif
230+ return bo;
231+}
232+
233+static inline void _glamo_bo_ref(struct glamo_bo *bo,
234+ const char *file,
235+ const char *func,
236+ int line)
237+{
238+ bo->cref++;
239+#ifdef GLAMO_BO_TRACK
240+ glamo_track_add_event(bo->track, file, func, "ref", line);
241+#endif
242+ bo->bom->funcs->bo_ref(bo);
243+}
244+
245+static inline struct glamo_bo *_glamo_bo_unref(struct glamo_bo *bo,
246+ const char *file,
247+ const char *func,
248+ int line)
249+{
250+ bo->cref--;
251+#ifdef GLAMO_BO_TRACK
252+ glamo_track_add_event(bo->track, file, func, "unref", line);
253+ if (bo->cref <= 0) {
254+ glamo_tracker_remove_track(&bo->bom->tracker, bo->track);
255+ bo->track = NULL;
256+ }
257+#endif
258+ return bo->bom->funcs->bo_unref(bo);
259+}
260+
261+static inline int _glamo_bo_map(struct glamo_bo *bo,
262+ int write,
263+ const char *file,
264+ const char *func,
265+ int line)
266+{
267+ return bo->bom->funcs->bo_map(bo, write);
268+}
269+
270+static inline int _glamo_bo_unmap(struct glamo_bo *bo,
271+ const char *file,
272+ const char *func,
273+ int line)
274+{
275+ return bo->bom->funcs->bo_unmap(bo);
276+}
277+
278+static inline int _glamo_bo_wait(struct glamo_bo *bo,
279+ const char *file,
280+ const char *func,
281+ int line)
282+{
283+ return bo->bom->funcs->bo_wait(bo);
284+}
285+
286+#define glamo_bo_open(bom, h, s, a, d, f)\
287+ _glamo_bo_open(bom, h, s, a, d, f, __FILE__, __FUNCTION__, __LINE__)
288+#define glamo_bo_ref(bo)\
289+ _glamo_bo_ref(bo, __FILE__, __FUNCTION__, __LINE__)
290+#define glamo_bo_unref(bo)\
291+ _glamo_bo_unref(bo, __FILE__, __FUNCTION__, __LINE__)
292+#define glamo_bo_map(bo, w)\
293+ _glamo_bo_map(bo, w, __FILE__, __FUNCTION__, __LINE__)
294+#define glamo_bo_unmap(bo)\
295+ _glamo_bo_unmap(bo, __FILE__, __FUNCTION__, __LINE__)
296+#define glamo_bo_debug(bo, opcode)\
297+ _glamo_bo_debug(bo, opcode, __FILE__, __FUNCTION__, __LINE__)
298+#define glamo_bo_wait(bo) \
299+ _glamo_bo_wait(bo, __FILE__, __func__, __LINE__)
300+
301+#endif
302diff --git a/glamo/glamo_bo_gem.c b/glamo/glamo_bo_gem.c
303new file mode 100644
304index 0000000..38a4436
305--- /dev/null
306+++ b/glamo/glamo_bo_gem.c
307@@ -0,0 +1,336 @@
308+/*
309+ * Copyright © 2009 Thomas White
310+ *
311+ * Based on radeon_bo_gem.c, to which the following notice applies:
312+ *
313+ * Copyright © 2008 Dave Airlie
314+ * Copyright © 2008 Jérôme Glisse
315+ * All Rights Reserved.
316+ *
317+ * Permission is hereby granted, free of charge, to any person obtaining
318+ * a copy of this software and associated documentation files (the
319+ * "Software"), to deal in the Software without restriction, including
320+ * without limitation the rights to use, copy, modify, merge, publish,
321+ * distribute, sub license, and/or sell copies of the Software, and to
322+ * permit persons to whom the Software is furnished to do so, subject to
323+ * the following conditions:
324+ *
325+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
326+ * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
327+ * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
328+ * NON-INFRINGEMENT. IN NO EVENT SHALL THE COPYRIGHT HOLDERS, AUTHORS
329+ * AND/OR ITS SUPPLIERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
330+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
331+ * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
332+ * USE OR OTHER DEALINGS IN THE SOFTWARE.
333+ *
334+ * The above copyright notice and this permission notice (including the
335+ * next paragraph) shall be included in all copies or substantial portions
336+ * of the Software.
337+ */
338+/*
339+ * Authors:
340+ * Dave Airlie
341+ * Jérôme Glisse <glisse@freedesktop.org>
342+ *
343+ *
344+ * Memory mapping functions are based on intel_bufmgr_gem.c, to which the
345+ * following notice applies:
346+ *
347+ * Copyright © 2007 Red Hat Inc.
348+ * Copyright © 2007 Intel Corporation
349+ * Copyright 2006 Tungsten Graphics, Inc., Bismarck, ND., USA
350+ * All Rights Reserved.
351+ *
352+ * Permission is hereby granted, free of charge, to any person obtaining a
353+ * copy of this software and associated documentation files (the
354+ * "Software"), to deal in the Software without restriction, including
355+ * without limitation the rights to use, copy, modify, merge, publish,
356+ * distribute, sub license, and/or sell copies of the Software, and to
357+ * permit persons to whom the Software is furnished to do so, subject to
358+ * the following conditions:
359+ *
360+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
361+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
362+ * FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT. IN NO EVENT SHALL
363+ * THE COPYRIGHT HOLDERS, AUTHORS AND/OR ITS SUPPLIERS BE LIABLE FOR ANY CLAIM,
364+ * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
365+ * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
366+ * USE OR OTHER DEALINGS IN THE SOFTWARE.
367+ *
368+ * The above copyright notice and this permission notice (including the
369+ * next paragraph) shall be included in all copies or substantial portions
370+ * of the Software.
371+ *
372+ *
373+ **************************************************************************/
374+/*
375+ * Authors: Thomas Hellström <thomas-at-tungstengraphics-dot-com>
376+ * Keith Whitwell <keithw-at-tungstengraphics-dot-com>
377+ * Eric Anholt <eric@anholt.net>
378+ * Dave Airlie <airlied@linux.ie>
379+ */
380+
381+#ifdef HAVE_CONFIG_H
382+#include "config.h"
383+#endif
384+
385+#include <stdio.h>
386+#include <stdint.h>
387+#include <stdlib.h>
388+#include <string.h>
389+#include <sys/mman.h>
390+#include <sys/ioctl.h>
391+#include <errno.h>
392+
393+#include "xf86drm.h"
394+#include "drm.h"
395+#include "glamo_drm.h"
396+#include "glamo_bo.h"
397+#include "glamo_bo_gem.h"
398+
399+struct glamo_bo_gem {
400+ struct glamo_bo base;
401+ uint32_t name;
402+ int map_count;
403+};
404+
405+struct bo_manager_gem {
406+ struct glamo_bo_manager base;
407+};
408+
409+static struct glamo_bo *bo_open(struct glamo_bo_manager *bom,
410+ uint32_t handle,
411+ uint32_t size,
412+ uint32_t alignment,
413+ uint32_t domains,
414+ uint32_t flags)
415+{
416+ struct glamo_bo_gem *bo;
417+ int r;
418+
419+ bo = (struct glamo_bo_gem*)calloc(1, sizeof(struct glamo_bo_gem));
420+ if (bo == NULL) {
421+ return NULL;
422+ }
423+
424+ bo->base.bom = bom;
425+ bo->base.handle = 0;
426+ bo->base.size = size;
427+ bo->base.alignment = alignment;
428+ bo->base.domains = domains;
429+ bo->base.flags = flags;
430+ bo->base.cref = 0;
431+ bo->map_count = 0;
432+ bo->base.virtual = NULL;
433+ if (handle) {
434+ struct drm_gem_open open_arg;
435+
436+ memset(&open_arg, 0, sizeof(open_arg));
437+ open_arg.name = handle;
438+ r = ioctl(bom->fd, DRM_IOCTL_GEM_OPEN, &open_arg);
439+ if (r != 0) {
440+ free(bo);
441+ return NULL;
442+ }
443+ bo->base.handle = open_arg.handle;
444+ bo->base.size = open_arg.size;
445+ bo->name = handle;
446+ } else {
447+ struct drm_glamo_gem_create args;
448+
449+ args.size = size;
450+ args.alignment = alignment;
451+ args.initial_domain = bo->base.domains;
452+ args.no_backing_store = 0;
453+ args.handle = 0;
454+ r = drmCommandWriteRead(bom->fd, DRM_GLAMO_GEM_CREATE,
455+ &args, sizeof(args));
456+ bo->base.handle = args.handle;
457+ if (r) {
458+ fprintf(stderr, "Failed to allocate :\n");
459+ fprintf(stderr, " size : %d bytes\n", size);
460+ fprintf(stderr, " alignment : %d bytes\n", alignment);
461+ free(bo);
462+ return NULL;
463+ }
464+ }
465+ glamo_bo_ref((struct glamo_bo*)bo);
466+ return (struct glamo_bo*)bo;
467+}
468+
469+static void bo_ref(struct glamo_bo *bo)
470+{
471+}
472+
473+static struct glamo_bo *bo_unref(struct glamo_bo *bo)
474+{
475+ struct glamo_bo_gem *bo_gem = (struct glamo_bo_gem*)bo;
476+ struct drm_gem_close args;
477+
478+ if (bo == NULL) {
479+ return NULL;
480+ }
481+ if (bo->cref) {
482+ return bo;
483+ }
484+ if (bo_gem->map_count) {
485+ munmap(bo->virtual, bo->size);
486+ }
487+
488+ /* close object */
489+ args.handle = bo->handle;
490+ ioctl(bo->bom->fd, DRM_IOCTL_GEM_CLOSE, &args);
491+ memset(bo_gem, 0, sizeof(struct glamo_bo_gem));
492+ free(bo_gem);
493+ return NULL;
494+}
495+
496+static int bo_map(struct glamo_bo *bo, int write)
497+{
498+ struct glamo_bo_gem *bo_gem;
499+ struct glamo_bo_manager *bufmgr;
500+ int ret;
501+
502+ bo_gem = (struct glamo_bo_gem *)bo;
503+ bufmgr = (struct glamo_bo_manager*)bo->bom;
504+
505+ /* Get a mapping of the buffer if we haven't before. */
506+ if (bo->virtual == NULL) {
507+
508+ struct drm_glamo_gem_mmap mmap_arg;
509+
510+ memset(&mmap_arg, 0, sizeof(mmap_arg));
511+ mmap_arg.handle = bo->handle;
512+
513+ /* Get the fake offset back... */
514+ ret = ioctl(bufmgr->fd, DRM_IOCTL_GLAMO_GEM_MMAP, &mmap_arg);
515+ if (ret != 0) {
516+ fprintf(stderr,
517+ "%s:%d: Error preparing BO map %d (%d): %s .\n",
518+ __FILE__, __LINE__,
519+ bo->handle, bo_gem->name,
520+ strerror(errno));
521+ return ret;
522+ }
523+ /* and mmap it */
524+ bo->virtual = mmap(0, bo->size, PROT_READ | PROT_WRITE,
525+ MAP_SHARED, bufmgr->fd,
526+ mmap_arg.offset);
527+ if (bo->virtual == MAP_FAILED) {
528+ fprintf(stderr,
529+ "%s:%d: Error mapping buffer %d (%d): %s .\n",
530+ __FILE__, __LINE__,
531+ bo->handle, bo_gem->name,
532+ strerror(errno));
533+ return errno;
534+ }
535+ }
536+ bo_gem->map_count++;
537+
538+ return 0;
539+}
540+
541+static int bo_unmap(struct glamo_bo *bo)
542+{
543+ struct glamo_bo_gem *bo_gem = (struct glamo_bo_gem*)bo;
544+
545+ if ( bo_gem->map_count == 0 ) {
546+ fprintf(stderr, "Not unmapping %p, because its map count"
547+ " is already zero.\n", bo_gem);
548+ return 0;
549+ }
550+
551+ if (--bo_gem->map_count > 0) {
552+ return 0;
553+ }
554+ munmap(bo->virtual, bo->size);
555+ bo->virtual = NULL;
556+ return 0;
557+}
558+
559+static int bo_wait(struct glamo_bo *bo)
560+{
561+ struct drm_glamo_gem_wait_rendering args;
562+ int ret;
563+
564+ args.handle = bo->handle;
565+ args.have_handle = 1;
566+ do {
567+ ret = drmCommandWriteRead(bo->bom->fd,
568+ DRM_GLAMO_GEM_WAIT_RENDERING,
569+ &args, sizeof(args));
570+ } while (ret == -EAGAIN);
571+ return ret;
572+}
573+
574+static struct glamo_bo_funcs bo_gem_funcs = {
575+ bo_open,
576+ bo_ref,
577+ bo_unref,
578+ bo_map,
579+ bo_unmap,
580+ bo_wait
581+};
582+
583+struct glamo_bo_manager *glamo_bo_manager_gem_ctor(int fd)
584+{
585+ struct bo_manager_gem *bomg;
586+
587+ bomg = (struct bo_manager_gem*)calloc(1, sizeof(struct bo_manager_gem));
588+ if (bomg == NULL) return NULL;
589+
590+ bomg->base.funcs = &bo_gem_funcs;
591+ bomg->base.fd = fd;
592+ return (struct glamo_bo_manager*)bomg;
593+}
594+
595+void glamo_bo_manager_gem_dtor(struct glamo_bo_manager *bom)
596+{
597+ struct bo_manager_gem *bomg = (struct bo_manager_gem*)bom;
598+
599+ if (bom == NULL) return;
600+ free(bomg);
601+}
602+
603+uint32_t glamo_gem_get_name(struct glamo_bo *bo)
604+{
605+ struct glamo_bo_gem *bo_gem = (struct glamo_bo_gem*)bo;
606+ return bo_gem->name;
607+}
608+
609+int glamo_gem_name_buffer(struct glamo_bo *bo, uint32_t *name)
610+{
611+ struct drm_gem_flink flink;
612+ int r;
613+
614+ if ( !bo ) {
615+ fprintf(stderr, "No buffer object!\n");
616+ return -1;
617+ }
618+
619+ flink.handle = bo->handle;
620+ r = ioctl(bo->bom->fd, DRM_IOCTL_GEM_FLINK, &flink);
621+ if (r) return r;
622+
623+ *name = flink.name;
624+ return 0;
625+}
626+
627+int glamo_bo_subdata(struct glamo_bo *bo, unsigned long offset,
628+ unsigned long size, const void *data)
629+{
630+ int ret;
631+
632+ if (size == 0 || data == NULL)
633+ return 0;
634+
635+ ret = bo_map(bo, 1);
636+ if ( ret ) return ret;
637+
638+ memcpy((unsigned char *)bo->virtual + offset, data, size);
639+
640+ bo_unmap(bo);
641+
642+ return 0;
643+}
644diff --git a/glamo/glamo_bo_gem.h b/glamo/glamo_bo_gem.h
645new file mode 100644
646index 0000000..05b5fb9
647--- /dev/null
648+++ b/glamo/glamo_bo_gem.h
649@@ -0,0 +1,43 @@
650+/*
651+ * Copyright © 2008 Dave Airlie
652+ * Copyright © 2008 Jérôme Glisse
653+ * All Rights Reserved.
654+ *
655+ * Permission is hereby granted, free of charge, to any person obtaining
656+ * a copy of this software and associated documentation files (the
657+ * "Software"), to deal in the Software without restriction, including
658+ * without limitation the rights to use, copy, modify, merge, publish,
659+ * distribute, sub license, and/or sell copies of the Software, and to
660+ * permit persons to whom the Software is furnished to do so, subject to
661+ * the following conditions:
662+ *
663+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
664+ * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
665+ * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
666+ * NON-INFRINGEMENT. IN NO EVENT SHALL THE COPYRIGHT HOLDERS, AUTHORS
667+ * AND/OR ITS SUPPLIERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
668+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
669+ * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
670+ * USE OR OTHER DEALINGS IN THE SOFTWARE.
671+ *
672+ * The above copyright notice and this permission notice (including the
673+ * next paragraph) shall be included in all copies or substantial portions
674+ * of the Software.
675+ */
676+/*
677+ * Authors:
678+ * Dave Airlie
679+ * Jérôme Glisse <glisse@freedesktop.org>
680+ */
681+#ifndef GLAMO_BO_GEM_H
682+#define GLAMO_BO_GEM_H
683+
684+#include "glamo_bo.h"
685+
686+struct glamo_bo_manager *glamo_bo_manager_gem_ctor(int fd);
687+void glamo_bo_manager_gem_dtor(struct glamo_bo_manager *bom);
688+int glamo_gem_name_buffer(struct glamo_bo *bo, uint32_t *name);
689+uint32_t glamo_gem_get_name(struct glamo_bo *bo);
690+extern int glamo_bo_subdata(struct glamo_bo *bo, unsigned long offset,
691+ unsigned long size, const void *data);
692+#endif
693diff --git a/glamo/glamo_track.c b/glamo/glamo_track.c
694new file mode 100644
695index 0000000..27ffe41
696--- /dev/null
697+++ b/glamo/glamo_track.c
698@@ -0,0 +1,140 @@
699+/*
700+ * Copyright © 2008 Jérôme Glisse
701+ * All Rights Reserved.
702+ *
703+ * Permission is hereby granted, free of charge, to any person obtaining
704+ * a copy of this software and associated documentation files (the
705+ * "Software"), to deal in the Software without restriction, including
706+ * without limitation the rights to use, copy, modify, merge, publish,
707+ * distribute, sub license, and/or sell copies of the Software, and to
708+ * permit persons to whom the Software is furnished to do so, subject to
709+ * the following conditions:
710+ *
711+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
712+ * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
713+ * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
714+ * NON-INFRINGEMENT. IN NO EVENT SHALL THE COPYRIGHT HOLDERS, AUTHORS
715+ * AND/OR ITS SUPPLIERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
716+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
717+ * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
718+ * USE OR OTHER DEALINGS IN THE SOFTWARE.
719+ *
720+ * The above copyright notice and this permission notice (including the
721+ * next paragraph) shall be included in all copies or substantial portions
722+ * of the Software.
723+ */
724+/*
725+ * Authors:
726+ * Jérôme Glisse <glisse@freedesktop.org>
727+ */
728+#include <stdio.h>
729+#include <stdlib.h>
730+#include <string.h>
731+#include "glamo_track.h"
732+
733+void glamo_track_add_event(struct glamo_track *track,
734+ const char *file,
735+ const char *func,
736+ const char *op,
737+ unsigned line)
738+{
739+ struct glamo_track_event *event;
740+
741+ if (track == NULL) {
742+ return;
743+ }
744+ event = (void*)calloc(1,sizeof(struct glamo_track_event));
745+ if (event == NULL) {
746+ return;
747+ }
748+ event->line = line;
749+ event->file = strdup(file);
750+ event->func = strdup(func);
751+ event->op = strdup(op);
752+ if (event->file == NULL || event->func == NULL || event->op == NULL) {
753+ free(event->file);
754+ free(event->func);
755+ free(event->op);
756+ free(event);
757+ return;
758+ }
759+ event->next = track->events;
760+ track->events = event;
761+}
762+
763+struct glamo_track *glamo_tracker_add_track(struct glamo_tracker *tracker,
764+ unsigned key)
765+{
766+ struct glamo_track *track;
767+
768+ track = (struct glamo_track*)calloc(1, sizeof(struct glamo_track));
769+ if (track) {
770+ track->next = tracker->tracks.next;
771+ track->prev = &tracker->tracks;
772+ tracker->tracks.next = track;
773+ if (track->next) {
774+ track->next->prev = track;
775+ }
776+ track->key = key;
777+ track->events = NULL;
778+ }
779+ return track;
780+}
781+
782+void glamo_tracker_remove_track(struct glamo_tracker *tracker,
783+ struct glamo_track *track)
784+{
785+ struct glamo_track_event *event;
786+ void *tmp;
787+
788+ if (track == NULL) {
789+ return;
790+ }
791+ track->prev->next = track->next;
792+ if (track->next) {
793+ track->next->prev = track->prev;
794+ }
795+ track->next = track->prev = NULL;
796+ event = track->events;
797+ while (event) {
798+ tmp = event;
799+ free(event->file);
800+ free(event->func);
801+ free(event->op);
802+ event = event->next;
803+ free(tmp);
804+ }
805+ track->events = NULL;
806+ free(track);
807+}
808+
809+void glamo_tracker_print(struct glamo_tracker *tracker, FILE *file)
810+{
811+ struct glamo_track *track;
812+ struct glamo_track_event *event;
813+ void *tmp;
814+
815+ track = tracker->tracks.next;
816+ while (track) {
817+ event = track->events;
818+ fprintf(file, "[0x%08X] :\n", track->key);
819+ while (event) {
820+ tmp = event;
821+ fprintf(file, " [0x%08X:%s](%s:%s:%d)\n",
822+ track->key, event->op, event->file,
823+ event->func, event->line);
824+ free(event->file);
825+ free(event->func);
826+ free(event->op);
827+ event->file = NULL;
828+ event->func = NULL;
829+ event->op = NULL;
830+ event = event->next;
831+ free(tmp);
832+ }
833+ track->events = NULL;
834+ tmp = track;
835+ track = track->next;
836+ free(tmp);
837+ }
838+}
839diff --git a/glamo/glamo_track.h b/glamo/glamo_track.h
840new file mode 100644
841index 0000000..fedead7
842--- /dev/null
843+++ b/glamo/glamo_track.h
844@@ -0,0 +1,64 @@
845+/*
846+ * Copyright © 2008 Jérôme Glisse
847+ * All Rights Reserved.
848+ *
849+ * Permission is hereby granted, free of charge, to any person obtaining
850+ * a copy of this software and associated documentation files (the
851+ * "Software"), to deal in the Software without restriction, including
852+ * without limitation the rights to use, copy, modify, merge, publish,
853+ * distribute, sub license, and/or sell copies of the Software, and to
854+ * permit persons to whom the Software is furnished to do so, subject to
855+ * the following conditions:
856+ *
857+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
858+ * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
859+ * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
860+ * NON-INFRINGEMENT. IN NO EVENT SHALL THE COPYRIGHT HOLDERS, AUTHORS
861+ * AND/OR ITS SUPPLIERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
862+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
863+ * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
864+ * USE OR OTHER DEALINGS IN THE SOFTWARE.
865+ *
866+ * The above copyright notice and this permission notice (including the
867+ * next paragraph) shall be included in all copies or substantial portions
868+ * of the Software.
869+ */
870+/*
871+ * Authors:
872+ * Jérôme Glisse <glisse@freedesktop.org>
873+ */
874+#ifndef GLAMO_TRACK_H
875+#define GLAMO_TRACK_H
876+
877+struct glamo_track_event {
878+ struct glamo_track_event *next;
879+ char *file;
880+ char *func;
881+ char *op;
882+ unsigned line;
883+};
884+
885+struct glamo_track {
886+ struct glamo_track *next;
887+ struct glamo_track *prev;
888+ unsigned key;
889+ struct glamo_track_event *events;
890+};
891+
892+struct glamo_tracker {
893+ struct glamo_track tracks;
894+};
895+
896+void glamo_track_add_event(struct glamo_track *track,
897+ const char *file,
898+ const char *func,
899+ const char *op,
900+ unsigned line);
901+struct glamo_track *glamo_tracker_add_track(struct glamo_tracker *tracker,
902+ unsigned key);
903+void glamo_tracker_remove_track(struct glamo_tracker *tracker,
904+ struct glamo_track *track);
905+void glamo_tracker_print(struct glamo_tracker *tracker,
906+ FILE *file);
907+
908+#endif
909diff --git a/glamo/libdrm_glamo.pc.in b/glamo/libdrm_glamo.pc.in
910new file mode 100644
911index 0000000..d4d8e70
912--- /dev/null
913+++ b/glamo/libdrm_glamo.pc.in
914@@ -0,0 +1,10 @@
915+prefix=@prefix@
916+exec_prefix=@exec_prefix@
917+libdir=@libdir@
918+includedir=@includedir@
919+
920+Name: libdrm_glamo
921+Description: Userspace interface to kernel DRM services for Glamo
922+Version: 1.0.1
923+Libs: -L${libdir} -ldrm_glamo
924+Cflags: -I${includedir} -I${includedir}/libdrm
925diff --git a/include/drm/Makefile.am b/include/drm/Makefile.am
926index 43695bd..f3f7edf 100644
927--- a/include/drm/Makefile.am
928+++ b/include/drm/Makefile.am
929@@ -35,6 +35,7 @@ klibdrminclude_HEADERS = \
930 savage_drm.h \
931 sis_drm.h \
932 via_drm.h \
933+ glamo_drm.h \
934 mach64_drm.h
935
936
937diff --git a/include/drm/glamo_drm.h b/include/drm/glamo_drm.h
938new file mode 100644
939index 0000000..7629ebc
940--- /dev/null
941+++ b/include/drm/glamo_drm.h
942@@ -0,0 +1,153 @@
943+/* glamo_drm.h -- Public header for the Glamo driver
944+ *
945+ * Copyright 2009 Thomas White
946+ * Copyright 2000 Precision Insight, Inc., Cedar Park, Texas.
947+ * Copyright 2000 VA Linux Systems, Inc., Fremont, California.
948+ * Copyright 2002 Tungsten Graphics, Inc., Cedar Park, Texas.
949+ * All rights reserved.
950+ *
951+ * Permission is hereby granted, free of charge, to any person obtaining a
952+ * copy of this software and associated documentation files (the "Software"),
953+ * to deal in the Software without restriction, including without limitation
954+ * the rights to use, copy, modify, merge, publish, distribute, sublicense,
955+ * and/or sell copies of the Software, and to permit persons to whom the
956+ * Software is furnished to do so, subject to the following conditions:
957+ *
958+ * The above copyright notice and this permission notice (including the next
959+ * paragraph) shall be included in all copies or substantial portions of the
960+ * Software.
961+ *
962+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
963+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
964+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
965+ * PRECISION INSIGHT AND/OR ITS SUPPLIERS BE LIABLE FOR ANY CLAIM, DAMAGES OR
966+ * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
967+ * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
968+ * DEALINGS IN THE SOFTWARE.
969+ *
970+ * Authors:
971+ * Thomas White <taw@bitwiz.org.uk>
972+ * Kevin E. Martin <martin@valinux.com>
973+ * Gareth Hughes <gareth@valinux.com>
974+ * Keith Whitwell <keith@tungstengraphics.com>
975+ */
976+
977+#ifndef __GLAMO_DRM_H__
978+#define __GLAMO_DRM_H__
979+
980+#include "drm.h"
981+
982+#define GLAMO_GEM_DOMAIN_VRAM (0x1)
983+
984+/* Glamo specific ioctls */
985+#define DRM_GLAMO_CMDBUF 0x01
986+#define DRM_GLAMO_SWAP 0x02
987+#define DRM_GLAMO_CMDBURST 0x03
988+
989+#define DRM_GLAMO_GEM_INFO 0x1c
990+#define DRM_GLAMO_GEM_CREATE 0x1d
991+#define DRM_GLAMO_GEM_MMAP 0x1e
992+#define DRM_GLAMO_GEM_PIN 0x1f
993+#define DRM_GLAMO_GEM_UNPIN 0x20
994+#define DRM_GLAMO_GEM_PREAD 0x21
995+#define DRM_GLAMO_GEM_PWRITE 0x22
996+#define DRM_GLAMO_GEM_WAIT_RENDERING 0x24
997+
998+#define DRM_IOCTL_GLAMO_CMDBUF DRM_IOW(DRM_COMMAND_BASE + DRM_GLAMO_CMDBUF, drm_glamo_cmd_buffer_t)
999+#define DRM_IOCTL_GLAMO_SWAP DRM_IO(DRM_COMMAND_BASE + DRM_GLAMO_SWAP)
1000+#define DRM_IOCTL_GLAMO_CMDBURST DRM_IOW(DRM_COMMAND_BASE + DRM_GLAMO_CMDBURST, drm_glamo_cmd_burst_t)
1001+
1002+#define DRM_IOCTL_GLAMO_GEM_INFO DRM_IOWR(DRM_COMMAND_BASE + DRM_GLAMO_GEM_INFO, struct drm_glamo_gem_info)
1003+#define DRM_IOCTL_GLAMO_GEM_CREATE DRM_IOWR(DRM_COMMAND_BASE + DRM_GLAMO_GEM_CREATE, struct drm_glamo_gem_create)
1004+#define DRM_IOCTL_GLAMO_GEM_MMAP DRM_IOWR(DRM_COMMAND_BASE + DRM_GLAMO_GEM_MMAP, struct drm_glamo_gem_mmap)
1005+#define DRM_IOCTL_GLAMO_GEM_PIN DRM_IOWR(DRM_COMMAND_BASE + DRM_GLAMO_GEM_PIN, struct drm_glamo_gem_pin)
1006+#define DRM_IOCTL_GLAMO_GEM_UNPIN DRM_IOWR(DRM_COMMAND_BASE + DRM_GLAMO_GEM_UNPIN, struct drm_glamo_gem_unpin)
1007+#define DRM_IOCTL_GLAMO_GEM_PREAD DRM_IOWR(DRM_COMMAND_BASE + DRM_GLAMO_GEM_PREAD, struct drm_glamo_gem_pread)
1008+#define DRM_IOCTL_GLAMO_GEM_PWRITE DRM_IOWR(DRM_COMMAND_BASE + DRM_GLAMO_GEM_PWRITE, struct drm_glamo_gem_pwrite)
1009+#define DRM_IOCTL_GLAMO_GEM_WAIT_RENDERING DRM_IOW(DRM_COMMAND_BASE + DRM_GLAMO_GEM_WAIT_RENDERING, struct drm_glamo_gem_wait_rendering)
1010+
1011+
1012+/* Simple command submission - a list of 16-bit address-data pairs */
1013+typedef struct drm_glamo_cmd_buffer {
1014+ unsigned int bufsz; /* Size of buffer, in bytes */
1015+ char *buf; /* Buffer of stuff to go onto the ring buffer */
1016+ unsigned int *obj_pos; /* Offsets (in bytes) at which to put objs */
1017+ uint32_t *objs; /* List of buffer object (handles) to use */
1018+ unsigned int nobjs; /* Number of objects referenced */
1019+ int nbox;
1020+ struct drm_clip_rect *boxes;
1021+} drm_glamo_cmd_buffer_t;
1022+
1023+
1024+/* Burst command submission - base address and data:
1025+ * - Data can be 32-bit (more easily)
1026+ * - Easier for the kernel to validate */
1027+typedef struct drm_glamo_cmd_burst {
1028+ uint16_t base; /* Base address (command) */
1029+ int bufsz; /* Size of data, in bytes */
1030+ uint16_t *data; /* Pointer to data */
1031+ unsigned int *obj_pos; /* Offsets (in bytes) at which to put objs */
1032+ uint32_t *objs; /* List of buffer object (handles) to use */
1033+ unsigned int nobjs; /* Number of objects referenced */
1034+} drm_glamo_cmd_burst_t;
1035+
1036+struct drm_glamo_gem_info {
1037+ uint64_t vram_start;
1038+ uint64_t vram_size;
1039+};
1040+
1041+struct drm_glamo_gem_create {
1042+ uint64_t size;
1043+ uint64_t alignment;
1044+ uint32_t handle;
1045+ uint32_t initial_domain; // to allow VRAM to be created
1046+ uint32_t no_backing_store;
1047+};
1048+
1049+struct drm_glamo_gem_mmap {
1050+ uint32_t handle; /* Handle goes in... */
1051+ uint64_t offset; /* ...offset comes out */
1052+};
1053+
1054+struct drm_glamo_gem_wait_rendering {
1055+ uint32_t handle;
1056+ int have_handle;
1057+};
1058+
1059+struct drm_glamo_gem_pin {
1060+ uint32_t handle;
1061+ uint32_t pin_domain;
1062+ uint64_t alignment;
1063+ uint64_t offset;
1064+};
1065+
1066+struct drm_glamo_gem_unpin {
1067+ uint32_t handle;
1068+ uint32_t pad;
1069+};
1070+
1071+struct drm_glamo_gem_pread {
1072+ /** Handle for the object being read. */
1073+ uint32_t handle;
1074+ uint32_t pad;
1075+ /** Offset into the object to read from */
1076+ uint64_t offset;
1077+ /** Length of data to read */
1078+ uint64_t size;
1079+ /** Pointer to write the data into. */
1080+ uint64_t data_ptr; /* void *, but pointers are not 32/64 compatible */
1081+};
1082+
1083+struct drm_glamo_gem_pwrite {
1084+ /** Handle for the object being written to. */
1085+ uint32_t handle;
1086+ uint32_t pad;
1087+ /** Offset into the object to write to */
1088+ uint64_t offset;
1089+ /** Length of data to write */
1090+ uint64_t size;
1091+ /** Pointer to read the data from. */
1092+ uint64_t data_ptr; /* void *, but pointers are not 32/64 compatible */
1093+};
1094+
1095+#endif
diff --git a/meta-oe/recipes-graphics/drm/libdrm-2.4.24/installtests.patch b/meta-oe/recipes-graphics/drm/libdrm-2.4.24/installtests.patch
new file mode 100644
index 000000000..9d6a168bb
--- /dev/null
+++ b/meta-oe/recipes-graphics/drm/libdrm-2.4.24/installtests.patch
@@ -0,0 +1,43 @@
1Index: libdrm-2.4.7/tests/Makefile.am
2===================================================================
3--- libdrm-2.4.7.orig/tests/Makefile.am 2009-04-09 20:16:35.000000000 +0100
4+++ libdrm-2.4.7/tests/Makefile.am 2009-04-17 12:35:14.000000000 +0100
5@@ -6,10 +6,11 @@
6
7 LDADD = $(top_builddir)/libdrm.la
8
9-check_PROGRAMS = \
10+bin_PROGRAMS = \
11 dristat \
12 drmstat
13
14+check_PROGRAMS =
15 SUBDIRS =
16
17 if HAVE_LIBKMS
18Index: libdrm-2.4.7/tests/modeprint/Makefile.am
19===================================================================
20--- libdrm-2.4.7.orig/tests/modeprint/Makefile.am 2009-02-17 19:52:37.000000000 +0000
21+++ libdrm-2.4.7/tests/modeprint/Makefile.am 2009-04-17 12:35:32.000000000 +0100
22@@ -3,7 +3,7 @@
23 -I$(top_srcdir)/libdrm/intel/ \
24 -I$(top_srcdir)/libdrm
25
26-noinst_PROGRAMS = \
27+bin_PROGRAMS = \
28 modeprint
29
30 modeprint_SOURCES = \
31Index: libdrm-2.4.7/tests/modetest/Makefile.am
32===================================================================
33--- libdrm-2.4.7.orig/tests/modetest/Makefile.am 2009-02-17 19:52:37.000000000 +0000
34+++ libdrm-2.4.7/tests/modetest/Makefile.am 2009-04-17 12:35:42.000000000 +0100
35@@ -4,7 +4,7 @@
36 -I$(top_srcdir)/libdrm \
37 $(CAIRO_CFLAGS)
38
39-noinst_PROGRAMS = \
40+bin_PROGRAMS = \
41 modetest
42
43 modetest_SOURCES = \
diff --git a/meta-oe/recipes-graphics/drm/libdrm_2.4.24.bb b/meta-oe/recipes-graphics/drm/libdrm_2.4.24.bb
new file mode 100644
index 000000000..0a2365ec3
--- /dev/null
+++ b/meta-oe/recipes-graphics/drm/libdrm_2.4.24.bb
@@ -0,0 +1,39 @@
1SUMMARY = "Userspace interface to the kernel DRM services"
2DESCRIPTION = "The runtime library for accessing the kernel DRM services. DRM \
3stands for \"Direct Rendering Manager\", which is the kernel portion of the \
4\"Direct Rendering Infrastructure\" (DRI). DRI is required for many hardware \
5accelerated OpenGL drivers."
6HOMEPAGE = "http://dri.freedesktop.org"
7SECTION = "x11/base"
8LICENSE = "MIT"
9LIC_FILES_CHKSUM = "file://xf86drm.c;beginline=9;endline=32;md5=c8a3b961af7667c530816761e949dc71"
10SRC_URI = "http://dri.freedesktop.org/libdrm/libdrm-${PV}.tar.bz2"
11PROVIDES = "drm"
12DEPENDS = "libpthread-stubs udev cairo virtual/libx11"
13
14inherit autotools pkgconfig
15
16PACKAGES =+ "${PN}-tests ${PN}-drivers ${PN}-kms ${@base_contains('MACHINE_FEATURES', 'x86', '${PN}-intel', '',d)}"
17FILES_${PN}-tests = "${bindir}/dr* ${bindir}/mode*"
18FILES_${PN}-drivers = "${libdir}/libdrm_*.so.*"
19FILES_${PN}-intel = "${libdir}/libdrm_intel.so.*"
20FILES_${PN}-kms = "${libdir}/libkms*.so.*"
21
22LEAD_SONAME = "libdrm.so"
23
24EXTRA_OECONF_append = " ${@base_contains('MACHINE_FEATURES', 'x86', '', '--disable-intel --disable-radeon',d)}"
25EXTRA_OECONF_append_shr = " --enable-glamo-experimental-api"
26
27PR = "r8"
28
29SRC_URI += "file://installtests.patch"
30SRC_URI += "file://glamo.patch"
31
32SRC_URI[md5sum] = "8d802bf3b368f9fac0d7d17516a9436f"
33SRC_URI[sha256sum] = "c7012381f64458af9f291d913309448aac7dd23a28dc86c6970e4bf38effb6a5"
34
35do_compile_prepend_libc-uclibc() {
36 eval "${@base_contains('DISTRO_FEATURES', 'largefile', '', 'sed -i -e "/_FILE_OFFSET_BITS/d" ${S}/libkms/intel.c', d)}"
37 eval "${@base_contains('DISTRO_FEATURES', 'largefile', '', 'sed -i -e "/_FILE_OFFSET_BITS/d" ${S}/libkms/vmwgfx.c', d)}"
38 eval "${@base_contains('DISTRO_FEATURES', 'largefile', '', 'sed -i -e "/_FILE_OFFSET_BITS/d" ${S}/libkms/nouveau.c', d)}"
39}
diff --git a/meta-oe/recipes-graphics/mesa/README b/meta-oe/recipes-graphics/mesa/README
new file mode 100644
index 000000000..3c6de3ee4
--- /dev/null
+++ b/meta-oe/recipes-graphics/mesa/README
@@ -0,0 +1,12 @@
1mesa-common.inc
2* Settings shared by ALL recipes
3
4mesa-${PV}.inc
5* Settings for particular version, mostly checksums and additional patches
6* Patches are stored mesa-${PV} dir and -dri and xlib has adjusted FILESPATHPKG
7
8mesa-dri.inc
9* Setting shared by ALL dri recipes - defines what is mesa-dri
10
11mesa-xlib.inc
12* Setting shared by ALL xlib recipes - defines what is mesa-xlib
diff --git a/meta-oe/recipes-graphics/mesa/mesa-7.10.2.inc b/meta-oe/recipes-graphics/mesa/mesa-7.10.2.inc
new file mode 100644
index 000000000..f49f49598
--- /dev/null
+++ b/meta-oe/recipes-graphics/mesa/mesa-7.10.2.inc
@@ -0,0 +1,19 @@
1SRC_URI = "ftp://ftp.freedesktop.org/pub/mesa/${PV}/MesaLib-${PV}.tar.bz2;name=archive \
2 file://glamo.patch \
3 file://uclibc.patch \
4 "
5
6DEPENDS += "talloc"
7
8SRC_URI[archive.md5sum] = "f5de82852f1243f42cc004039e10b771"
9SRC_URI[archive.sha256sum] = "8ced2678ce11cf30804694a92ea3ca6b82f158ae8995bdc626c7e85aac71c7c1"
10
11EXTRA_OECONF += " --disable-gallium"
12
13#needs more testing and updated glamo.patch before making default
14DEFAULT_PREFERENCE = "-2"
15
16do_configure_prepend() {
17 #check for python not python2, because python-native does not stage python2 binary/link
18 sed -i 's/AC_CHECK_PROGS(\[PYTHON2\], \[python2 python\])/AC_CHECK_PROGS(\[PYTHON2\], \[python python\])/g' ${S}/configure.ac
19}
diff --git a/meta-oe/recipes-graphics/mesa/mesa-7.10.2/glamo.patch b/meta-oe/recipes-graphics/mesa/mesa-7.10.2/glamo.patch
new file mode 100644
index 000000000..5aa45d57e
--- /dev/null
+++ b/meta-oe/recipes-graphics/mesa/mesa-7.10.2/glamo.patch
@@ -0,0 +1,2425 @@
1git diff upstream/7.10 and gitorious/7.10
2
3http://gitorious.org/mesa/mesa/commits/7.10
4
5diff --git a/configs/autoconf.in b/configs/autoconf.in
6index e2d70c6..5874955 100644
7--- a/configs/autoconf.in
8+++ b/configs/autoconf.in
9@@ -120,7 +120,7 @@ OSMESA_LIB_DEPS = -L$(TOP)/$(LIB_DIR) @OSMESA_MESA_DEPS@ \
10 $(EXTRA_LIB_PATH) @OSMESA_LIB_DEPS@
11 EGL_LIB_DEPS = $(EXTRA_LIB_PATH) @EGL_LIB_DEPS@
12 GLU_LIB_DEPS = -L$(TOP)/$(LIB_DIR) @GLU_MESA_DEPS@ \
13- $(EXTRA_LIB_PATH) @GLU_LIB_DEPS@
14+ $(EXTRA_LIB_PATH) @GLU_LIB_DEPS@ -lstdc++
15 GLUT_LIB_DEPS = -L$(TOP)/$(LIB_DIR) @GLUT_MESA_DEPS@ \
16 $(EXTRA_LIB_PATH) @GLUT_LIB_DEPS@
17 GLW_LIB_DEPS = -L$(TOP)/$(LIB_DIR) @GLW_MESA_DEPS@ \
18diff --git a/src/mesa/drivers/dri/glamo/Makefile b/src/mesa/drivers/dri/glamo/Makefile
19new file mode 100644
20index 0000000..e77193d
21--- /dev/null
22+++ b/src/mesa/drivers/dri/glamo/Makefile
23@@ -0,0 +1,22 @@
24+# src/mesa/drivers/dri/glamo/Makefile
25+
26+TOP = ../../../../..
27+include $(TOP)/configs/current
28+
29+LIBNAME = glamo_dri.so
30+
31+DRIVER_SOURCES = \
32+ glamo_screen.c glamo_context.c glamo_state.c glamo_fbo.c glamo_tris.c \
33+ glamo_cmdq.c glamo_render.c
34+
35+C_SOURCES = \
36+ $(COMMON_SOURCES) \
37+ $(DRIVER_SOURCES)
38+
39+ASM_SOURCES =
40+
41+DRI_LIB_DEPS += -ldrm_glamo
42+
43+include ../Makefile.template
44+
45+symlinks:
46diff --git a/src/mesa/drivers/dri/glamo/glamo_cmdq.c b/src/mesa/drivers/dri/glamo/glamo_cmdq.c
47new file mode 100644
48index 0000000..1334f8e
49--- /dev/null
50+++ b/src/mesa/drivers/dri/glamo/glamo_cmdq.c
51@@ -0,0 +1,110 @@
52+/*
53+ * Command queue submission via DRM
54+ *
55+ * Copyright 2009 Thomas White <taw@bitwiz.org.uk>
56+ *
57+ * This program is free software; you can redistribute it and/or
58+ * modify it under the terms of the GNU General Public License as
59+ * published by the Free Software Foundation; either version 2 of
60+ * the License, or (at your option) any later version.
61+ *
62+ * This program is distributed in the hope that it will be useful,
63+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
64+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
65+ * GNU General Public License for more details.
66+ *
67+ * You should have received a copy of the GNU General Public License
68+ * along with this program; if not, write to the Free Software
69+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
70+ * MA 02111-1307 USA
71+ */
72+
73+
74+#include <stdint.h>
75+#include <stdlib.h>
76+#include <drm.h>
77+#include <glamo_drm.h>
78+#include <glamo_bo.h>
79+
80+#include "glamo_context.h"
81+#include "glamo_cmdq.h"
82+
83+
84+/* Submit the prepared command sequence to the kernel */
85+void glamoDRMDispatch(glamoContext *gCtx)
86+{
87+ drm_glamo_cmd_burst_t burst;
88+ int r;
89+
90+ burst.base = gCtx->cmd_burst_base;
91+ burst.data = gCtx->cmdq_drm;
92+ burst.bufsz = gCtx->cmdq_drm_used * 2; /* -> bytes */
93+ burst.nobjs = gCtx->cmdq_obj_used;
94+ burst.objs = gCtx->cmdq_objs;
95+ burst.obj_pos = gCtx->cmdq_obj_pos;
96+
97+ r = drmCommandWrite(gCtx->drm_fd, DRM_GLAMO_CMDBURST,
98+ &burst, sizeof(burst));
99+ if ( r != 0 ) {
100+ fprintf(stderr, "DRM_GLAMO_CMDBURST failed\n");
101+ }
102+
103+ /* Reset counts to zero for the next sequence */
104+ gCtx->cmdq_obj_used = 0;
105+ gCtx->cmdq_drm_used = 0;
106+}
107+
108+
109+void glamoDRMAddData(glamoContext *gCtx, uint32_t val, int len)
110+{
111+ if ( gCtx->cmdq_drm_used+4 > gCtx->cmdq_drm_size ) {
112+ fprintf(stderr, "Burst command too large\n");
113+ return;
114+ }
115+
116+ /* Record command */
117+ if ( len == 2 ) {
118+ gCtx->cmdq_drm[gCtx->cmdq_drm_used++] = val & 0xffff;
119+ } else if ( len == 4 ) {
120+ gCtx->cmdq_drm[gCtx->cmdq_drm_used++] = val & 0x0000ffff;
121+ gCtx->cmdq_drm[gCtx->cmdq_drm_used++] = val & 0xffff0000;
122+ } else {
123+ fprintf(stderr, "Wrong command length!\n");
124+ }
125+}
126+
127+
128+void glamoDRMAddBO(glamoContext *gCtx, struct glamo_bo *bo)
129+{
130+ if ( gCtx->cmdq_drm_used+4 > gCtx->cmdq_drm_size ) {
131+ fprintf(stderr, "Burst command too large\n");
132+ return;
133+ }
134+
135+ /* Record object position */
136+ gCtx->cmdq_objs[gCtx->cmdq_obj_used] = bo->handle;
137+ /* -> bytes */
138+ gCtx->cmdq_obj_pos[gCtx->cmdq_obj_used] = gCtx->cmdq_drm_used * 2;
139+ gCtx->cmdq_obj_used++;
140+
141+ /* Record command */
142+ gCtx->cmdq_drm[gCtx->cmdq_drm_used++] = 0x0000;
143+ gCtx->cmdq_drm[gCtx->cmdq_drm_used++] = 0x0000;
144+}
145+
146+
147+void glamoDRMStartBurst(glamoContext *gCtx, uint16_t base)
148+{
149+ gCtx->cmd_burst_base = base;
150+}
151+
152+
153+void glamoInitCmdqCache(glamoContext *gCtx)
154+{
155+ gCtx->cmdq_objs = malloc(1024);
156+ gCtx->cmdq_obj_pos = malloc(1024);
157+ gCtx->cmdq_obj_used = 0;
158+ gCtx->cmdq_drm_used = 0;
159+ gCtx->cmdq_drm_size = 4 * 1024;
160+ gCtx->cmdq_drm = malloc(gCtx->cmdq_drm_size);
161+}
162diff --git a/src/mesa/drivers/dri/glamo/glamo_cmdq.h b/src/mesa/drivers/dri/glamo/glamo_cmdq.h
163new file mode 100644
164index 0000000..7420d7b
165--- /dev/null
166+++ b/src/mesa/drivers/dri/glamo/glamo_cmdq.h
167@@ -0,0 +1,33 @@
168+/*
169+ * Command queue submission via DRM
170+ *
171+ * Copyright 2009 Thomas White <taw@bitwiz.org.uk>
172+ *
173+ * This program is free software; you can redistribute it and/or
174+ * modify it under the terms of the GNU General Public License as
175+ * published by the Free Software Foundation; either version 2 of
176+ * the License, or (at your option) any later version.
177+ *
178+ * This program is distributed in the hope that it will be useful,
179+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
180+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
181+ * GNU General Public License for more details.
182+ *
183+ * You should have received a copy of the GNU General Public License
184+ * along with this program; if not, write to the Free Software
185+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
186+ * MA 02111-1307 USA
187+ */
188+
189+
190+#include <stdint.h>
191+#include <glamo_bo.h>
192+
193+#include "glamo_context.h"
194+
195+
196+extern void glamoDRMDispatch(glamoContext *gCtx);
197+extern void glamoDRMAddBO(glamoContext *gCtx, struct glamo_bo *bo);
198+extern void glamoDRMAddData(glamoContext *gCtx, uint32_t val, int len);
199+extern void glamoDRMStartBurst(glamoContext *gCtx, uint16_t base);
200+extern void glamoInitCmdqCache(glamoContext *gCtx);
201diff --git a/src/mesa/drivers/dri/glamo/glamo_context.c b/src/mesa/drivers/dri/glamo/glamo_context.c
202new file mode 100644
203index 0000000..39eb4e7
204--- /dev/null
205+++ b/src/mesa/drivers/dri/glamo/glamo_context.c
206@@ -0,0 +1,360 @@
207+/*
208+ * Direct Rendering Support for SMedia Glamo 336x/337x
209+ *
210+ * (c) 2009 Thomas White <taw@bitwiz.org.uk>
211+ * Roughly based on sis_context.c (c) 2003 Eric Anholt
212+ * and radeon_common_context.c
213+ *
214+ * Permission is hereby granted, free of charge, to any person obtaining a
215+ * copy of this software and associated documentation files (the "Software"),
216+ * to deal in the Software without restriction, including without limitation
217+ * the rights to use, copy, modify, merge, publish, distribute, sublicense,
218+ * and/or sell copies of the Software, and to permit persons to whom the
219+ * Software is furnished to do so, subject to the following conditions:
220+ *
221+ * The above copyright notice and this permission notice shall be included
222+ * in all copies or substantial portions of the Software.
223+ *
224+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
225+ * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
226+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
227+ * THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
228+ * AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
229+ * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
230+ */
231+
232+
233+#include "dri_util.h"
234+#include "drirenderbuffer.h"
235+#include "utils.h"
236+
237+#include "swrast/swrast.h"
238+#include "swrast_setup/swrast_setup.h"
239+#include "drivers/common/driverfuncs.h"
240+#include "vbo/vbo.h"
241+#include "tnl/tnl.h"
242+#include "tnl/t_pipeline.h"
243+#include "main/state.h"
244+
245+#include "glamo_context.h"
246+#include "glamo_screen.h"
247+#include "glamo_state.h"
248+#include "glamo_fbo.h"
249+#include "glamo_tris.h"
250+#include "glamo_render.h"
251+#include "glamo_cmdq.h"
252+
253+#include <glamo_bo.h>
254+#include <glamo_bo_gem.h>
255+#include <glamo_drm.h>
256+
257+
258+#define DRIVER_DATE "20090913"
259+
260+
261+static inline struct glamo_renderbuffer *glamo_get_renderbuffer(
262+ struct gl_framebuffer *fb,
263+ int att_index)
264+{
265+ if ( att_index >= 0 ) {
266+ struct glamo_renderbuffer *gr;
267+ gr = glamo_renderbuffer(fb->Attachment[att_index].Renderbuffer);
268+ return gr;
269+ } else {
270+ return NULL;
271+ }
272+}
273+
274+
275+static const GLubyte *glamoGetString(struct gl_context *ctx, GLenum name)
276+{
277+ static char buffer[128];
278+
279+ switch (name) {
280+ case GL_VENDOR:
281+ return (GLubyte *)"Thomas White";
282+ case GL_RENDERER: {
283+ driGetRendererString(buffer, "Glamo", DRIVER_DATE, 0);
284+ return (GLubyte *) buffer;
285+ }
286+ default:
287+ return 0;
288+ }
289+}
290+
291+
292+/* Called when Mesa needs to know the size of the framebuffer */
293+static void glamoBufferSize(struct gl_framebuffer *buffer,
294+ GLuint *width, GLuint *height)
295+{
296+ GET_CURRENT_CONTEXT(ctx);
297+ glamoContextPtr glamo = GLAMO_CONTEXT(ctx);
298+
299+ *width = glamo->driDrawable->w;
300+ *height = glamo->driDrawable->h;
301+}
302+
303+
304+GLboolean glamoCreateContext(const struct gl_config *glVisual,
305+ __DRIcontext *driContextPriv,
306+ void *sharedContextPrivate)
307+{
308+ struct gl_context *ctx, *shareCtx;
309+ __DRIscreen *sPriv = driContextPriv->driScreenPriv;
310+ glamoContextPtr context;
311+ glamoScreenPtr glamoScreen;
312+ struct dd_function_table functions;
313+
314+ context = (glamoContextPtr)CALLOC(sizeof(*context));
315+ if ( context == NULL ) return GL_FALSE;
316+
317+ _mesa_init_driver_functions(&functions);
318+
319+ /* Allocate the Mesa context */
320+ if ( sharedContextPrivate )
321+ shareCtx = ((glamoContextPtr)sharedContextPrivate)->glCtx;
322+ else
323+ shareCtx = NULL;
324+ context->glCtx = _mesa_create_context(glVisual, shareCtx,
325+ &functions, (void *)context);
326+ if ( context->glCtx == NULL ) {
327+ FREE(context);
328+ return GL_FALSE;
329+ }
330+ driContextPriv->driverPrivate = context;
331+ ctx = context->glCtx;
332+
333+ glamoScreen = context->glamoScreen = (glamoScreenPtr)sPriv->private;
334+
335+ ctx->Driver.GetString = glamoGetString;
336+ ctx->Driver.GetBufferSize = glamoBufferSize;
337+
338+ context->driContext = driContextPriv;
339+ context->driScreen = sPriv;
340+ context->driDrawable = NULL;
341+ context->drm_fd = sPriv->fd;
342+
343+ /* Initialize the software rasterizer and helper modules. */
344+ _swrast_CreateContext(ctx);
345+ _vbo_CreateContext(ctx);
346+ _tnl_CreateContext(ctx);
347+ _swsetup_CreateContext(ctx);
348+
349+ /* Install our pipeline (see glamo_render.c) */
350+ _tnl_install_pipeline(ctx, glamo_pipeline);
351+
352+ _swrast_allow_pixel_fog(ctx, GL_TRUE);
353+ _swrast_allow_vertex_fog(ctx, GL_FALSE);
354+ _tnl_allow_pixel_fog(ctx, GL_TRUE);
355+ _tnl_allow_vertex_fog(ctx, GL_FALSE);
356+
357+ glamoInitCmdqCache(context);
358+ glamoInitStateFuncs(ctx);
359+ glamoInitTriFuncs(ctx);
360+
361+ return GL_TRUE;
362+}
363+
364+
365+void glamoDestroyContext(__DRIcontext *driContextPriv)
366+{
367+ glamoContextPtr context;
368+
369+ context = (glamoContextPtr)driContextPriv->driverPrivate;
370+ assert(context != NULL);
371+
372+ if ( context != NULL ) {
373+
374+ _swsetup_DestroyContext(context->glCtx);
375+ _tnl_DestroyContext(context->glCtx);
376+ _vbo_DestroyContext(context->glCtx);
377+ _swrast_DestroyContext(context->glCtx);
378+
379+ _mesa_destroy_context(context->glCtx);
380+
381+ }
382+
383+ FREE(context);
384+}
385+
386+
387+void glamo_update_renderbuffers(__DRIcontext *context,
388+ __DRIdrawable *drawable)
389+{
390+ unsigned int attachments[10];
391+ __DRIbuffer *buffers;
392+ __DRIscreen *screen;
393+ int i, count;
394+ struct glamo_framebuffer *draw;
395+ glamoContextPtr glamo;
396+ struct glamo_bo *bo;
397+
398+ draw = drawable->driverPrivate;
399+ screen = context->driScreenPriv;
400+ glamo = (glamoContextPtr)context->driverPrivate;
401+ i = 0;
402+ if ( draw->color_rb[0] ) {
403+ attachments[i++] = __DRI_BUFFER_FRONT_LEFT;
404+ }
405+ if ( draw->color_rb[1] ) {
406+ attachments[i++] = __DRI_BUFFER_BACK_LEFT;
407+ }
408+
409+ buffers = screen->dri2.loader->getBuffers(drawable,
410+ &drawable->w,
411+ &drawable->h,
412+ attachments, i,
413+ &count,
414+ drawable->loaderPrivate);
415+ if ( buffers == NULL ) return;
416+
417+ /* Set one cliprect to cover the whole drawable */
418+ drawable->x = 0;
419+ drawable->y = 0;
420+ drawable->backX = 0;
421+ drawable->backY = 0;
422+ drawable->numClipRects = 1;
423+ drawable->pClipRects[0].x1 = 0;
424+ drawable->pClipRects[0].y1 = 0;
425+ drawable->pClipRects[0].x2 = drawable->w;
426+ drawable->pClipRects[0].y2 = drawable->h;
427+ drawable->numBackClipRects = 1;
428+ drawable->pBackClipRects[0].x1 = 0;
429+ drawable->pBackClipRects[0].y1 = 0;
430+ drawable->pBackClipRects[0].x2 = drawable->w;
431+ drawable->pBackClipRects[0].y2 = drawable->h;
432+
433+ /* For each attachment */
434+ for ( i=0; i<count; i++ ) {
435+
436+ struct glamo_renderbuffer *grb;
437+
438+ switch ( buffers[i].attachment ) {
439+ case __DRI_BUFFER_FRONT_LEFT:
440+ grb = draw->color_rb[0];
441+ break;
442+ case __DRI_BUFFER_BACK_LEFT:
443+ grb = draw->color_rb[1];
444+ break;
445+ case __DRI_BUFFER_DEPTH:
446+ grb = glamo_get_renderbuffer(&draw->base, BUFFER_DEPTH);
447+ break;
448+ case __DRI_BUFFER_STENCIL:
449+ grb = glamo_get_renderbuffer(&draw->base,
450+ BUFFER_STENCIL);
451+ break;
452+ case __DRI_BUFFER_FAKE_FRONT_LEFT:
453+ grb = draw->color_rb[0];
454+ break;
455+ case __DRI_BUFFER_ACCUM:
456+ default:
457+ fprintf(stderr,
458+ "Unhandled buffer attach event,"
459+ " attachment type %d\n", buffers[i].attachment);
460+ return;
461+ }
462+
463+ if ( grb == NULL ) {
464+ /* Don't know how to handle this type of buffer */
465+ continue;
466+ }
467+
468+ if ( grb->bo ) {
469+ uint32_t name = glamo_gem_get_name(grb->bo);
470+ if ( name == buffers[i].name ) {
471+ /* Buffer already attached. No action needed */
472+ continue;
473+ }
474+ }
475+
476+ grb->cpp = buffers[i].cpp;
477+ grb->pitch = buffers[i].pitch;
478+ grb->width = drawable->w;
479+ grb->height = drawable->h;
480+
481+ bo = glamo_bo_open(glamo->glamoScreen->bom, buffers[i].name,
482+ 0, 0, GLAMO_GEM_DOMAIN_VRAM,
483+ buffers[i].flags);
484+ if ( bo == NULL ) {
485+ fprintf(stderr, "Failed to attach buffer %d\n",
486+ buffers[i].name);
487+ }
488+
489+ glamo_renderbuffer_set_bo(grb, bo);
490+ glamo_bo_unref(bo);
491+
492+ }
493+
494+ driUpdateFramebufferSize(glamo->glCtx, drawable);
495+}
496+
497+
498+GLboolean glamoMakeCurrent(__DRIcontext *driContextPriv,
499+ __DRIdrawable *driDrawPriv,
500+ __DRIdrawable *driReadPriv)
501+{
502+ struct glamo_framebuffer *draw_fb;
503+ struct gl_framebuffer *read_fb;
504+ glamoContextPtr glamo;
505+
506+ if ( driContextPriv == NULL ) {
507+ _mesa_make_current(NULL, NULL, NULL);
508+ return GL_TRUE;
509+ }
510+
511+ /* The Glamo context we're switching to */
512+ glamo = (glamoContextPtr)driContextPriv->driverPrivate;
513+
514+ glamo->driDrawable = driDrawPriv;
515+
516+ /* These two will probably be the same */
517+ draw_fb = (struct glamo_framebuffer *)driDrawPriv->driverPrivate;
518+ read_fb = (struct gl_framebuffer *)driReadPriv->driverPrivate;
519+
520+ glamo_update_renderbuffers(driContextPriv, driDrawPriv);
521+ if (driDrawPriv != driReadPriv)
522+ glamo_update_renderbuffers(driContextPriv, driReadPriv);
523+
524+ _mesa_make_current(glamo->glCtx, &draw_fb->base, read_fb);
525+ _mesa_update_state(glamo->glCtx);
526+
527+ return GL_TRUE;
528+}
529+
530+
531+GLboolean glamoUnbindContext(__DRIcontext *driContextPriv)
532+{
533+ return GL_TRUE;
534+}
535+
536+
537+/* Convert IEEE754 32-bit float to Glamo's signed 24-bit float */
538+uint32_t float7s16(GLfloat in)
539+{
540+ uint32_t a, b;
541+ uint32_t sign, expo, mant; /* Sign, exponent, significand */
542+
543+ a = *(uint32_t *)&in;
544+
545+ /* This is bad */
546+ if ( a & 0x40000000 ) {
547+ printf(stderr, "Warning: Exponent won't fit into 7 bits\n");
548+ }
549+
550+ /* This hopefully isn't a big problem */
551+ if ( a & 0x0000007f ) {
552+ printf(stderr, "Warning: Precision lost in FP conversion\n");
553+ }
554+
555+ /* Separate out the right bits */
556+ mant = a & 0x007fff80; /* Bits 7-22 (bits 0-6 are lost) */
557+ expo = a & 0x3f800000; /* Bits 23-29 (bit 30 is lost) */
558+ sign = a & 0x80000000; /* Bit 31 */
559+
560+ /* Shift and recombine */
561+ b = sign >> 8; /* Fills bit 23 */
562+ b |= expo >> 7; /* Fills bits 16-22 */
563+ b |= mant >> 7; /* Fills bits 0-15 */
564+
565+ return b;
566+}
567diff --git a/src/mesa/drivers/dri/glamo/glamo_context.h b/src/mesa/drivers/dri/glamo/glamo_context.h
568new file mode 100644
569index 0000000..8de3946
570--- /dev/null
571+++ b/src/mesa/drivers/dri/glamo/glamo_context.h
572@@ -0,0 +1,106 @@
573+/*
574+ * Direct Rendering Support for SMedia Glamo 336x/337x
575+ *
576+ * (c) 2009 Thomas White <taw@bitwiz.org.uk>
577+ * Roughly based on sis_context.h (c) 2003 Eric Anholt
578+ *
579+ * Permission is hereby granted, free of charge, to any person obtaining a
580+ * copy of this software and associated documentation files (the "Software"),
581+ * to deal in the Software without restriction, including without limitation
582+ * the rights to use, copy, modify, merge, publish, distribute, sublicense,
583+ * and/or sell copies of the Software, and to permit persons to whom the
584+ * Software is furnished to do so, subject to the following conditions:
585+ *
586+ * The above copyright notice and this permission notice shall be included
587+ * in all copies or substantial portions of the Software.
588+ *
589+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
590+ * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
591+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
592+ * THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
593+ * AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
594+ * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
595+ */
596+
597+#ifndef __GLAMO_CONTEXT_H
598+#define __GLAMO_CONTEXT_H
599+
600+
601+#include "dri_util.h"
602+#include "utils.h"
603+#include "tnl/t_vertex.h"
604+
605+#include "glamo_screen.h"
606+
607+
608+typedef struct glamo_context glamoContext;
609+typedef struct glamo_context *glamoContextPtr;
610+
611+struct glamo_context {
612+
613+ struct gl_context *glCtx; /* Must be first in this structure */
614+
615+ int drm_fd; /* DRM fd */
616+
617+ __DRIcontext *driContext; /* DRI context */
618+ __DRIscreen *driScreen; /* DRI screen */
619+ __DRIdrawable *driDrawable; /* DRI drawable bound to this ctx */
620+
621+ glamoScreenPtr glamoScreen; /* Screen private DRI data */
622+
623+ driOptionCache optionCache;
624+
625+ uint16_t *cmdq_drm; /* Command queue cache */
626+ uint16_t cmd_burst_base;
627+ int cmdq_drm_used;
628+ int cmdq_drm_size;
629+ int cmdq_obj_used;
630+ uint32_t *cmdq_objs;
631+ unsigned int *cmdq_obj_pos;
632+
633+ /* Information about the current primitive */
634+ struct {
635+ GLuint id;
636+ uint32_t primitive; /* Current hardware primitive type */
637+ struct glamo_bo *vb_bo;
638+ uint8_t *vb;
639+ unsigned int start_offset; /* Byte offset of start */
640+ unsigned int current_offset; /* Byte offset of next vertex */
641+ unsigned int count; /* Number of vertices */
642+ } prim;
643+
644+ /* Current vertex format and attributes */
645+ int vertex_size;
646+ struct tnl_attr_map vertex_attrs[VERT_ATTRIB_MAX];
647+
648+ /* State */
649+ GLuint new_state; /* State which must be updated */
650+ uint16_t col_clear;
651+
652+};
653+
654+#define GLAMO_CONTEXT(ctx) ((glamoContextPtr)(ctx->DriverCtx))
655+
656+#define TAG(x) glamo##x
657+#include "tnl_dd/t_dd_vertex.h"
658+#undef TAG
659+
660+extern GLboolean glamoCreateContext(const struct gl_config *glVis,
661+ __DRIcontext *driContextPriv,
662+ void *sharedContextPrivate);
663+extern void glamoDestroyContext(__DRIcontext *dcp);
664+extern GLboolean glamoMakeCurrent(__DRIcontext *driContextPriv,
665+ __DRIdrawable *driDrawPriv,
666+ __DRIdrawable *driReadPriv);
667+extern GLboolean glamoUnbindContext(__DRIcontext *driContextPriv);
668+extern void glamo_update_renderbuffers(__DRIcontext *context,
669+ __DRIdrawable *drawable);
670+
671+#define GLAMO_PACKCOLOR565(r, g, b) \
672+ ((((r) & 0xf8) << 8) \
673+ | (((g) & 0xfc) << 3) \
674+ | (((b) & 0xf8) >> 3))
675+
676+extern uint32_t float7s16(GLfloat in);
677+
678+#endif /* __GLAMO_CONTEXT_H */
679diff --git a/src/mesa/drivers/dri/glamo/glamo_fbo.c b/src/mesa/drivers/dri/glamo/glamo_fbo.c
680new file mode 100644
681index 0000000..e25ca31
682--- /dev/null
683+++ b/src/mesa/drivers/dri/glamo/glamo_fbo.c
684@@ -0,0 +1,130 @@
685+/*
686+ * Direct Rendering Support for SMedia Glamo 336x/337x
687+ *
688+ * (c) 2009 Thomas White <taw@bitwiz.org.uk>
689+ * Roughly based on radeon_fbo.c (c) 2008 Red Hat Inc
690+ *
691+ * Permission is hereby granted, free of charge, to any person obtaining a
692+ * copy of this software and associated documentation files (the "Software"),
693+ * to deal in the Software without restriction, including without limitation
694+ * the rights to use, copy, modify, merge, publish, distribute, sublicense,
695+ * and/or sell copies of the Software, and to permit persons to whom the
696+ * Software is furnished to do so, subject to the following conditions:
697+ *
698+ * The above copyright notice and this permission notice shall be included
699+ * in all copies or substantial portions of the Software.
700+ *
701+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
702+ * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
703+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
704+ * THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
705+ * AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
706+ * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
707+ */
708+
709+
710+#include "main/imports.h"
711+#include "main/macros.h"
712+#include "main/mtypes.h"
713+#include "main/formats.h"
714+#include "main/fbobject.h"
715+#include "main/framebuffer.h"
716+#include "main/renderbuffer.h"
717+#include "main/context.h"
718+#include "dri_util.h"
719+
720+/* This comes from libdrm_glamo */
721+#include <glamo_bo.h>
722+
723+#include "glamo_fbo.h"
724+
725+
726+static void glamo_delete_renderbuffer(struct gl_renderbuffer *rb)
727+{
728+ struct glamo_renderbuffer *grb = glamo_renderbuffer(rb);
729+
730+ ASSERT(grb);
731+
732+ if ( grb && grb->bo ) {
733+ glamo_bo_unref(grb->bo);
734+ }
735+ free(grb);
736+}
737+
738+
739+static void *glamo_get_pointer(struct gl_context *ctx, struct gl_renderbuffer *rb,
740+ GLint x, GLint y)
741+{
742+ return NULL; /* Can't be directly addressed */
743+}
744+
745+
746+/* Called for each hardware renderbuffer when a _window_ is resized.
747+ * Just update fields.
748+ * Not used for user-created renderbuffers!
749+ */
750+static GLboolean glamo_alloc_window_storage(struct gl_context *ctx,
751+ struct gl_renderbuffer *rb,
752+ GLenum internalFormat,
753+ GLuint width, GLuint height)
754+{
755+ ASSERT(rb->Name == 0);
756+ rb->Width = width;
757+ rb->Height = height;
758+ rb->Format = internalFormat;
759+ return GL_TRUE;
760+}
761+
762+
763+/* Create a buffer, such as a colour or depth buffer */
764+struct glamo_renderbuffer *glamo_create_renderbuffer(GLenum format,
765+ __DRIdrawable *driDrawPriv)
766+{
767+ struct glamo_renderbuffer *grb;
768+
769+ grb = CALLOC_STRUCT(glamo_renderbuffer);
770+ if ( !grb ) return NULL;
771+
772+ _mesa_init_renderbuffer(&grb->base, 0);
773+ grb->base.ClassID = GLAMO_RB_CLASS;
774+
775+ switch (format) {
776+ case GL_RGB5:
777+ grb->base.Format = MESA_FORMAT_RGB565;
778+ grb->base._BaseFormat = GL_RGB;
779+
780+ grb->base.DataType = GL_UNSIGNED_BYTE;
781+ break;
782+ case GL_DEPTH_COMPONENT16:
783+ grb->base.DataType = GL_UNSIGNED_SHORT;
784+ grb->base._BaseFormat = GL_DEPTH_COMPONENT;
785+ break;
786+ default:
787+ fprintf(stderr, "%s: Unknown format 0x%04x\n", __FUNCTION__, format);
788+ _mesa_delete_renderbuffer(&grb->base);
789+ return NULL;
790+ }
791+
792+ grb->dPriv = driDrawPriv;
793+ grb->base.InternalFormat = format;
794+
795+ grb->base.Delete = glamo_delete_renderbuffer;
796+ grb->base.AllocStorage = glamo_alloc_window_storage;
797+ grb->base.GetPointer = glamo_get_pointer;
798+
799+ return grb;
800+}
801+
802+
803+void glamo_renderbuffer_set_bo(struct glamo_renderbuffer *grb,
804+ struct glamo_bo *bo)
805+{
806+ struct glamo_bo *old;
807+ old = grb->bo;
808+ grb->bo = bo;
809+ glamo_bo_ref(bo);
810+ if ( old ) glamo_bo_unref(old);
811+}
812+
813+
814+/* kate: space-indent on; indent-width 3; mixedindent off; indent-mode cstyle; */
815diff --git a/src/mesa/drivers/dri/glamo/glamo_fbo.h b/src/mesa/drivers/dri/glamo/glamo_fbo.h
816new file mode 100644
817index 0000000..48210dd
818--- /dev/null
819+++ b/src/mesa/drivers/dri/glamo/glamo_fbo.h
820@@ -0,0 +1,77 @@
821+/*
822+ * Direct Rendering Support for SMedia Glamo 336x/337x
823+ *
824+ * (c) 2009 Thomas White <taw@bitwiz.org.uk>
825+ *
826+ * Permission is hereby granted, free of charge, to any person obtaining a
827+ * copy of this software and associated documentation files (the "Software"),
828+ * to deal in the Software without restriction, including without limitation
829+ * the rights to use, copy, modify, merge, publish, distribute, sublicense,
830+ * and/or sell copies of the Software, and to permit persons to whom the
831+ * Software is furnished to do so, subject to the following conditions:
832+ *
833+ * The above copyright notice and this permission notice shall be included
834+ * in all copies or substantial portions of the Software.
835+ *
836+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
837+ * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
838+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
839+ * THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
840+ * AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
841+ * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
842+ */
843+
844+#ifndef __GLAMO_FBO_H
845+#define __GLAMO_FBO_H
846+
847+
848+#include "main/mtypes.h"
849+#include "dri_util.h"
850+
851+
852+/* This is just a marker so we can tell a Glamo renderbuffer from a Mesa one */
853+#define GLAMO_RB_CLASS (0xdeadbeef)
854+
855+
856+struct glamo_renderbuffer
857+{
858+ struct gl_renderbuffer base; /* Must be first */
859+ struct glamo_bo *bo;
860+ unsigned int cpp;
861+ unsigned int pitch;
862+ unsigned int width;
863+ unsigned int height;
864+
865+ __DRIdrawable *dPriv;
866+};
867+
868+
869+struct glamo_framebuffer
870+{
871+ struct gl_framebuffer base;
872+ struct glamo_renderbuffer *color_rb[2];
873+};
874+
875+
876+/* This is just a small wrapper function to return NULL if the gl_renderbuffer
877+ * is not a glamo_renderbuffer */
878+static inline struct glamo_renderbuffer
879+ *glamo_renderbuffer(struct gl_renderbuffer *rb)
880+{
881+ struct glamo_renderbuffer *grb = (struct glamo_renderbuffer *)rb;
882+ if ( grb && grb->base.ClassID == GLAMO_RB_CLASS )
883+ return grb;
884+ else
885+ return NULL;
886+}
887+
888+
889+extern struct glamo_renderbuffer *glamo_create_renderbuffer(GLenum format,
890+ __DRIdrawable *driDrawPriv);
891+
892+extern void glamo_renderbuffer_set_bo(struct glamo_renderbuffer *grb,
893+ struct glamo_bo *bo);
894+
895+#endif /* __GLAMO_FBO_H */
896+
897+/* kate: space-indent on; indent-width 3; mixedindent off; indent-mode cstyle; */
898diff --git a/src/mesa/drivers/dri/glamo/glamo_regs.h b/src/mesa/drivers/dri/glamo/glamo_regs.h
899new file mode 100644
900index 0000000..02b2294
901--- /dev/null
902+++ b/src/mesa/drivers/dri/glamo/glamo_regs.h
903@@ -0,0 +1,174 @@
904+#ifndef _GLAMO_REGS_H
905+#define _GLAMO_REGS_H
906+
907+/* Smedia Glamo 336x/337x driver
908+ *
909+ * (C) 2007 by OpenMoko, Inc.
910+ * Author: Harald Welte <laforge@openmoko.org>
911+ * All rights reserved.
912+ *
913+ * Modified for Glamo Mesa driver by Thomas White <taw@bitwiz.org.uk>
914+ *
915+ * This program is free software; you can redistribute it and/or
916+ * modify it under the terms of the GNU General Public License as
917+ * published by the Free Software Foundation; either version 2 of
918+ * the License, or (at your option) any later version.
919+ *
920+ * This program is distributed in the hope that it will be useful,
921+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
922+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
923+ * GNU General Public License for more details.
924+ *
925+ * You should have received a copy of the GNU General Public License
926+ * along with this program; if not, write to the Free Software
927+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
928+ * MA 02111-1307 USA
929+ */
930+
931+enum glamo_regster_offsets {
932+ GLAMO_REGOFS_GENERIC = 0x0000,
933+ GLAMO_REGOFS_HOSTBUS = 0x0200,
934+ GLAMO_REGOFS_MEMORY = 0x0300,
935+ GLAMO_REGOFS_VIDCAP = 0x0400,
936+ GLAMO_REGOFS_ISP = 0x0500,
937+ GLAMO_REGOFS_JPEG = 0x0800,
938+ GLAMO_REGOFS_MPEG = 0x0c00,
939+ GLAMO_REGOFS_LCD = 0x1100,
940+ GLAMO_REGOFS_MMC = 0x1400,
941+ GLAMO_REGOFS_MPROC0 = 0x1500,
942+ GLAMO_REGOFS_MPROC1 = 0x1580,
943+ GLAMO_REGOFS_CMDQUEUE = 0x1600,
944+ GLAMO_REGOFS_RISC = 0x1680,
945+ GLAMO_REGOFS_2D = 0x1700,
946+ GLAMO_REGOFS_3D = 0x1b00,
947+};
948+
949+
950+#define REG_MPEG(x) (GLAMO_REGOFS_MPEG+(x))
951+
952+enum glamo_register_mpeg {
953+ //
954+ GLAMO_REG_MPEG_DC_ADDRL = REG_MPEG(0x3c),
955+ GLAMO_REG_MPEG_DC_ADDRH = REG_MPEG(0x3e),
956+ GLAMO_REG_MPEG_AC_ADDRL = REG_MPEG(0x40),
957+ GLAMO_REG_MPEG_AC_ADDRH = REG_MPEG(0x42),
958+ //
959+ GLAMO_REG_MPEG_SAFE_1 = REG_MPEG(0x60),
960+ GLAMO_REG_MPEG_SAFE_2 = REG_MPEG(0x62),
961+ GLAMO_REG_MPEG_SAFE_3 = REG_MPEG(0x64),
962+ //
963+ GLAMO_REG_MPEG_DEC_OUT0_Y_ADDRL = REG_MPEG(0x6e),
964+ GLAMO_REG_MPEG_DEC_OUT0_Y_ADDRH = REG_MPEG(0x70),
965+ GLAMO_REG_MPEG_DEC_OUT0_U_ADDRL = REG_MPEG(0x72),
966+ GLAMO_REG_MPEG_DEC_OUT0_U_ADDRH = REG_MPEG(0x74),
967+ GLAMO_REG_MPEG_DEC_OUT0_V_ADDRL = REG_MPEG(0x76),
968+ GLAMO_REG_MPEG_DEC_OUT0_V_ADDRH = REG_MPEG(0x78),
969+ GLAMO_REG_MPEG_DEC_OUT1_Y_ADDRL = REG_MPEG(0x7a),
970+ GLAMO_REG_MPEG_DEC_OUT1_Y_ADDRH = REG_MPEG(0x7c),
971+ GLAMO_REG_MPEG_DEC_OUT1_U_ADDRL = REG_MPEG(0x7e),
972+ GLAMO_REG_MPEG_DEC_OUT1_U_ADDRH = REG_MPEG(0x80),
973+ GLAMO_REG_MPEG_DEC_OUT1_V_ADDRL = REG_MPEG(0x82),
974+ GLAMO_REG_MPEG_DEC_OUT1_V_ADDRH = REG_MPEG(0x84),
975+ GLAMO_REG_MPEG_DEC_OUT2_Y_ADDRL = REG_MPEG(0x86),
976+ GLAMO_REG_MPEG_DEC_OUT2_Y_ADDRH = REG_MPEG(0x88),
977+ GLAMO_REG_MPEG_DEC_OUT2_U_ADDRL = REG_MPEG(0x8a),
978+ GLAMO_REG_MPEG_DEC_OUT2_U_ADDRH = REG_MPEG(0x8c),
979+ GLAMO_REG_MPEG_DEC_OUT2_V_ADDRL = REG_MPEG(0x8e),
980+ GLAMO_REG_MPEG_DEC_OUT2_V_ADDRH = REG_MPEG(0x90),
981+ GLAMO_REG_MPEG_DEC_WIDTH = REG_MPEG(0x92),
982+ GLAMO_REG_MPEG_DEC_HEIGHT = REG_MPEG(0x94),
983+ GLAMO_REG_MPEG_SPECIAL = REG_MPEG(0x96),
984+ GLAMO_REG_MPEG_DEC_IN_ADDRL = REG_MPEG(0x98),
985+ GLAMO_REG_MPEG_DEC_IN_ADDRH = REG_MPEG(0x9a),
986+ //
987+ GLAMO_REG_MPEG_DEBLK_THRESHOLD = REG_MPEG(0xc0),
988+ //
989+ GLAMO_REG_MPEG_DEC_STATUS = REG_MPEG(0xc8),
990+ GLAMO_REG_MPEG_DEC_RB0 = REG_MPEG(0xca),
991+ GLAMO_REG_MPEG_DEC_RB1 = REG_MPEG(0xcc),
992+};
993+
994+
995+#define REG_2D(x) (GLAMO_REGOFS_2D+(x))
996+
997+enum glamo_register_2d {
998+ GLAMO_REG_2D_SRC_ADDRL = REG_2D(0x00),
999+ GLAMO_REG_2D_SRC_ADDRH = REG_2D(0x02),
1000+ GLAMO_REG_2D_SRC_PITCH = REG_2D(0x04),
1001+ GLAMO_REG_2D_SRC_X = REG_2D(0x06),
1002+ GLAMO_REG_2D_SRC_Y = REG_2D(0x08),
1003+ GLAMO_REG_2D_DST_X = REG_2D(0x0a),
1004+ GLAMO_REG_2D_DST_Y = REG_2D(0x0c),
1005+ GLAMO_REG_2D_DST_ADDRL = REG_2D(0x0e),
1006+ GLAMO_REG_2D_DST_ADDRH = REG_2D(0x10),
1007+ GLAMO_REG_2D_DST_PITCH = REG_2D(0x12),
1008+ GLAMO_REG_2D_DST_HEIGHT = REG_2D(0x14),
1009+ GLAMO_REG_2D_RECT_WIDTH = REG_2D(0x16),
1010+ GLAMO_REG_2D_RECT_HEIGHT = REG_2D(0x18),
1011+ GLAMO_REG_2D_PAT_ADDRL = REG_2D(0x1a),
1012+ GLAMO_REG_2D_PAT_ADDRH = REG_2D(0x1c),
1013+ GLAMO_REG_2D_PAT_FG = REG_2D(0x1e),
1014+ GLAMO_REG_2D_PAT_BG = REG_2D(0x20),
1015+ GLAMO_REG_2D_SRC_FG = REG_2D(0x22),
1016+ GLAMO_REG_2D_SRC_BG = REG_2D(0x24),
1017+ GLAMO_REG_2D_MASK1 = REG_2D(0x26),
1018+ GLAMO_REG_2D_MASK2 = REG_2D(0x28),
1019+ GLAMO_REG_2D_MASK3 = REG_2D(0x2a),
1020+ GLAMO_REG_2D_MASK4 = REG_2D(0x2c),
1021+ GLAMO_REG_2D_ROT_X = REG_2D(0x2e),
1022+ GLAMO_REG_2D_ROT_Y = REG_2D(0x30),
1023+ GLAMO_REG_2D_LEFT_CLIP = REG_2D(0x32),
1024+ GLAMO_REG_2D_TOP_CLIP = REG_2D(0x34),
1025+ GLAMO_REG_2D_RIGHT_CLIP = REG_2D(0x36),
1026+ GLAMO_REG_2D_BOTTOM_CLIP = REG_2D(0x38),
1027+ GLAMO_REG_2D_COMMAND1 = REG_2D(0x3A),
1028+ GLAMO_REG_2D_COMMAND2 = REG_2D(0x3C),
1029+ GLAMO_REG_2D_COMMAND3 = REG_2D(0x3E),
1030+ GLAMO_REG_2D_SAFE = REG_2D(0x40),
1031+ GLAMO_REG_2D_STATUS = REG_2D(0x42),
1032+ GLAMO_REG_2D_ID1 = REG_2D(0x44),
1033+ GLAMO_REG_2D_ID2 = REG_2D(0x46),
1034+ GLAMO_REG_2D_ID3 = REG_2D(0x48),
1035+};
1036+
1037+
1038+/* No offset this time */
1039+#define REG_3D(x) (x)
1040+
1041+enum glamo_register_3d
1042+{
1043+ /* Fire the engine */
1044+ G3D_FIRE = REG_3D(0x2058),
1045+
1046+ /* Streams of vertex/colour/normal/texcoord data */
1047+ G3D_ACTIVE_STREAMS = REG_3D(0x1f00),
1048+ G3D_LAST_STREAM__VCOLFMT = REG_3D(0x2030),
1049+ G3D_STREAM_MODE_0 = REG_3D(0x1f10),
1050+ G3D_STREAM_BASE_0 = REG_3D(0x1f14),
1051+ G3D_STREAM_MODE_1 = REG_3D(0x1f18),
1052+ G3D_STREAM_BASE_1 = REG_3D(0x1f1c),
1053+ G3D_STREAM_MODE_2 = REG_3D(0x1f20),
1054+ G3D_STREAM_BASE_2 = REG_3D(0x1f24),
1055+ G3D_STREAM_MODE_3 = REG_3D(0x1f28),
1056+ G3D_STREAM_BASE_3 = REG_3D(0x1f2c),
1057+ G3D_STREAM_MODE_4 = REG_3D(0x1f30),
1058+ G3D_STREAM_BASE_4 = REG_3D(0x1f34),
1059+ G3D_STREAM_MODE_5 = REG_3D(0x1f38),
1060+ G3D_STREAM_BASE_5 = REG_3D(0x1f3c),
1061+ G3D_STREAM_MODE_6 = REG_3D(0x1f40),
1062+ G3D_STREAM_BASE_6 = REG_3D(0x1f44),
1063+ G3D_STREAM_MODE_7 = REG_3D(0x1f48),
1064+ G3D_STREAM_BASE_7 = REG_3D(0x1f4c),
1065+
1066+ /* Modelview*projection matrix */
1067+ G3D_MATRIX_MVP = REG_3D(0x26a0), /* .. 0x27df */
1068+
1069+ /* Modelview matrix */
1070+ G3D_MATRIX_MV = REG_3D(0x26e0), /* .. 0x270f */
1071+
1072+ /* Inverse MVP, 3x3 only */
1073+ G3D_MATRIX_IMVP = REG_3D(0x2710), /* .. 0x2733 */
1074+
1075+};
1076+
1077+#endif /* _GLAMO_REGS_H */
1078diff --git a/src/mesa/drivers/dri/glamo/glamo_render.c b/src/mesa/drivers/dri/glamo/glamo_render.c
1079new file mode 100644
1080index 0000000..d8b21d5
1081--- /dev/null
1082+++ b/src/mesa/drivers/dri/glamo/glamo_render.c
1083@@ -0,0 +1,230 @@
1084+/*
1085+ * Direct Rendering Support for SMedia Glamo 336x/337x
1086+ *
1087+ * (c) 2009 Thomas White <taw@bitwiz.org.uk>
1088+ *
1089+ * Permission is hereby granted, free of charge, to any person obtaining a
1090+ * copy of this software and associated documentation files (the "Software"),
1091+ * to deal in the Software without restriction, including without limitation
1092+ * the rights to use, copy, modify, merge, publish, distribute, sublicense,
1093+ * and/or sell copies of the Software, and to permit persons to whom the
1094+ * Software is furnished to do so, subject to the following conditions:
1095+ *
1096+ * The above copyright notice and this permission notice shall be included
1097+ * in all copies or substantial portions of the Software.
1098+ *
1099+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
1100+ * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
1101+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
1102+ * THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
1103+ * AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
1104+ * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
1105+ *
1106+ *
1107+ * Based on intel_render.c, to which the following notice applies:
1108+ *
1109+ * Copyright 2003 Tungsten Graphics, Inc., Cedar Park, Texas.
1110+ * All Rights Reserved.
1111+ *
1112+ * Permission is hereby granted, free of charge, to any person obtaining a
1113+ * copy of this software and associated documentation files (the
1114+ * "Software"), to deal in the Software without restriction, including
1115+ * without limitation the rights to use, copy, modify, merge, publish,
1116+ * distribute, sub license, and/or sell copies of the Software, and to
1117+ * permit persons to whom the Software is furnished to do so, subject to
1118+ * the following conditions:
1119+ *
1120+ * The above copyright notice and this permission notice (including the
1121+ * next paragraph) shall be included in all copies or substantial portions
1122+ * of the Software.
1123+ *
1124+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
1125+ * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
1126+ * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT.
1127+ * IN NO EVENT SHALL TUNGSTEN GRAPHICS AND/OR ITS SUPPLIERS BE LIABLE FOR
1128+ * ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
1129+ * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
1130+ * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
1131+ *
1132+ */
1133+
1134+
1135+/*
1136+ * Render unclipped vertex buffers by emitting vertices directly to
1137+ * dma buffers. Use strip/fan hardware acceleration where possible.
1138+ *
1139+ */
1140+#include "main/glheader.h"
1141+#include "main/context.h"
1142+#include "main/macros.h"
1143+#include "main/imports.h"
1144+#include "main/mtypes.h"
1145+#include "main/enums.h"
1146+
1147+#include "tnl/t_context.h"
1148+#include "tnl/t_vertex.h"
1149+#include "tnl/t_pipeline.h"
1150+#include "math/m_xform.h"
1151+
1152+#include "glamo_context.h"
1153+#include "glamo_tris.h"
1154+#include "glamo_regs.h"
1155+
1156+/*
1157+ * Render unclipped vertex buffers by emitting vertices directly to
1158+ * VRAM buffers. Use strip/fan hardware primitives where possible.
1159+ * Try to simulate missing primitives with indexed vertices.
1160+ */
1161+#define HAVE_POINTS 1
1162+#define HAVE_LINES 1
1163+#define HAVE_LINE_STRIPS 0
1164+#define HAVE_TRIANGLES 1
1165+#define HAVE_TRI_STRIPS 0
1166+#define HAVE_TRI_STRIP_1 0
1167+#define HAVE_TRI_FANS 0
1168+#define HAVE_POLYGONS 0
1169+#define HAVE_QUADS 0
1170+#define HAVE_QUAD_STRIPS 0
1171+#define HAVE_ELTS 0
1172+
1173+
1174+static void glamoFlushPrim(struct glamo_context *gCtx)
1175+{
1176+ printf("glamoFlushPrim: %i vertices, %i %i\n", gCtx->prim.count,
1177+ gCtx->prim.start_offset, gCtx->prim.current_offset);
1178+
1179+ if ( gCtx->prim.vb_bo == NULL ) return;
1180+
1181+ /* Upload to hardware */
1182+ glamo_bo_subdata(gCtx->prim.vb_bo, 0, gCtx->prim.current_offset,
1183+ gCtx->prim.vb);
1184+
1185+ /* Dispatch to the hardware */
1186+ glamoDRMStartBurst(gCtx, G3D_STREAM_MODE_0);
1187+ glamoDRMAddData(gCtx, 0x000f0300, 4);
1188+ glamoDRMAddBO(gCtx, gCtx->prim.vb_bo);
1189+ glamoDRMDispatch(gCtx);
1190+
1191+ /* Please use a new BO for the next buffer */
1192+ gCtx->prim.vb_bo = NULL;
1193+
1194+ /* Continue from new start */
1195+ gCtx->prim.start_offset = gCtx->prim.current_offset;
1196+}
1197+
1198+
1199+static inline GLuint glamoGetVBMax(struct glamo_context *gCtx)
1200+{
1201+ return GLAMO_VB_SIZE / gCtx->vertex_size;
1202+}
1203+
1204+
1205+static inline GLuint glamoGetCurrentMax(struct glamo_context *gCtx)
1206+{
1207+ /* How many more vertices can be accommodated?
1208+ * Each vertex takes up 4x 32-bit fixed point values */
1209+ return (GLAMO_VB_SIZE - gCtx->prim.current_offset) / gCtx->vertex_size;
1210+}
1211+
1212+
1213+#define LOCAL_VARS \
1214+ struct glamo_context *gCtx = GLAMO_CONTEXT(ctx);
1215+
1216+#define INIT(prim)
1217+
1218+#define FLUSH() glamoFlushPrim(gCtx)
1219+
1220+#define GET_SUBSEQUENT_VB_MAX_VERTS() glamoGetVBMax(gCtx)
1221+#define GET_CURRENT_VB_MAX_VERTS() glamoGetCurrentMax(gCtx)
1222+
1223+#define ALLOC_VERTS(nr) glamoGetPrimSpace(gCtx, nr)
1224+
1225+#define EMIT_VERTS(ctx, j, nr, buf) \
1226+ _tnl_emit_vertices_to_buffer(ctx, j, (j)+(nr), buf)
1227+
1228+#define TAG(x) glamo_##x
1229+#include "tnl_dd/t_dd_dmatmp.h"
1230+
1231+
1232+/**********************************************************************/
1233+/* Render pipeline stage */
1234+/**********************************************************************/
1235+
1236+static void glamoFireEngine(struct glamo_context *gCtx)
1237+{
1238+ glamoDRMStartBurst(gCtx, G3D_FIRE);
1239+ glamoDRMAddData(gCtx, 0, 2); /* Fire! */
1240+ glamoDRMDispatch(gCtx);
1241+}
1242+
1243+
1244+static GLboolean glamoRunRender(struct gl_context *ctx,
1245+ struct tnl_pipeline_stage *stage)
1246+{
1247+ TNLcontext *tnl = TNL_CONTEXT(ctx);
1248+ struct glamo_context *gCtx = GLAMO_CONTEXT(ctx);
1249+ struct vertex_buffer *VB = &tnl->vb;
1250+ GLuint i;
1251+
1252+ printf("glamoRunRender\n");
1253+
1254+ /* Don't handle clipping */
1255+ if ( !glamo_validate_render(ctx, VB) ) {
1256+ return GL_TRUE; /* Failed */
1257+ }
1258+
1259+ /* Validate GPU state */
1260+ if ( gCtx->new_state ) {
1261+ if ( !glamoValidateState(ctx, gCtx->new_state) ) {
1262+ printf("Couldn't validate state...\n");
1263+ }
1264+ } /* else nothing to update */
1265+
1266+ tnl->clipspace.new_inputs |= VERT_BIT_POS;
1267+
1268+ tnl->Driver.Render.Start(ctx);
1269+
1270+ for ( i=0; i<VB->PrimitiveCount; i++ ) {
1271+
1272+ GLuint prim = _tnl_translate_prim(&VB->Primitive[i]);
1273+ GLuint start = VB->Primitive[i].start;
1274+ GLuint length = VB->Primitive[i].count;
1275+
1276+ if (!length) continue;
1277+
1278+ glamo_render_tab_verts[prim & PRIM_MODE_MASK](ctx, start,
1279+ start + length, prim);
1280+
1281+ }
1282+
1283+ tnl->Driver.Render.Finish(ctx);
1284+
1285+ glamoFireEngine(gCtx);
1286+
1287+ return GL_FALSE; /* Ok */
1288+}
1289+
1290+
1291+static const struct tnl_pipeline_stage _glamo_render_stage = {
1292+ "glamo render",
1293+ NULL,
1294+ NULL,
1295+ NULL,
1296+ NULL,
1297+ glamoRunRender
1298+};
1299+
1300+
1301+const struct tnl_pipeline_stage *glamo_pipeline[] = {
1302+ &_tnl_vertex_transform_stage,
1303+ &_tnl_normal_transform_stage,
1304+ &_tnl_lighting_stage,
1305+ &_tnl_fog_coordinate_stage,
1306+ &_tnl_texgen_stage,
1307+ &_tnl_texture_transform_stage,
1308+ &_tnl_point_attenuation_stage,
1309+ &_tnl_vertex_program_stage,
1310+ &_glamo_render_stage, /* ADD: unclipped rastersetup-to-dma */
1311+ &_tnl_render_stage,
1312+ 0,
1313+};
1314diff --git a/src/mesa/drivers/dri/glamo/glamo_render.h b/src/mesa/drivers/dri/glamo/glamo_render.h
1315new file mode 100644
1316index 0000000..99c36a8
1317--- /dev/null
1318+++ b/src/mesa/drivers/dri/glamo/glamo_render.h
1319@@ -0,0 +1,31 @@
1320+/*
1321+ * Direct Rendering Support for SMedia Glamo 336x/337x
1322+ *
1323+ * (c) 2009 Thomas White <taw@bitwiz.org.uk>
1324+ *
1325+ * Permission is hereby granted, free of charge, to any person obtaining a
1326+ * copy of this software and associated documentation files (the "Software"),
1327+ * to deal in the Software without restriction, including without limitation
1328+ * the rights to use, copy, modify, merge, publish, distribute, sublicense,
1329+ * and/or sell copies of the Software, and to permit persons to whom the
1330+ * Software is furnished to do so, subject to the following conditions:
1331+ *
1332+ * The above copyright notice and this permission notice shall be included
1333+ * in all copies or substantial portions of the Software.
1334+ *
1335+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
1336+ * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
1337+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
1338+ * THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
1339+ * AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
1340+ * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
1341+ */
1342+
1343+#ifndef __GLAMO_RENDER_H
1344+#define __GLAMO_RENDER_H
1345+
1346+#include "main/mtypes.h"
1347+
1348+extern const struct tnl_pipeline_stage *glamo_pipeline[];
1349+
1350+#endif /* __GLAMO_RENDER_H */
1351diff --git a/src/mesa/drivers/dri/glamo/glamo_screen.c b/src/mesa/drivers/dri/glamo/glamo_screen.c
1352new file mode 100644
1353index 0000000..cc8a730
1354--- /dev/null
1355+++ b/src/mesa/drivers/dri/glamo/glamo_screen.c
1356@@ -0,0 +1,250 @@
1357+/*
1358+ * Direct Rendering Support for SMedia Glamo 336x/337x
1359+ *
1360+ * (c) 2009 Thomas White <taw@bitwiz.org.uk>
1361+ * Roughly based on sis_screen.c (c) 2003 Eric Anholt
1362+ *
1363+ * Permission is hereby granted, free of charge, to any person obtaining a
1364+ * copy of this software and associated documentation files (the "Software"),
1365+ * to deal in the Software without restriction, including without limitation
1366+ * the rights to use, copy, modify, merge, publish, distribute, sublicense,
1367+ * and/or sell copies of the Software, and to permit persons to whom the
1368+ * Software is furnished to do so, subject to the following conditions:
1369+ *
1370+ * The above copyright notice and this permission notice shall be included
1371+ * in all copies or substantial portions of the Software.
1372+ *
1373+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
1374+ * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
1375+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
1376+ * THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
1377+ * AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
1378+ * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
1379+ */
1380+
1381+
1382+#include "dri_util.h"
1383+#include "utils.h"
1384+#include "xmlconfig.h"
1385+#include "GL/internal/dri_interface.h"
1386+#include "main/framebuffer.h"
1387+#include "main/renderbuffer.h"
1388+
1389+#include "glamo_screen.h"
1390+#include "glamo_context.h"
1391+#include "glamo_fbo.h"
1392+
1393+/* This comes from libdrm_glamo */
1394+#include <glamo_bo_gem.h>
1395+
1396+
1397+static int glamoInitDriver(__DRIscreen *psp)
1398+{
1399+ return 0;
1400+}
1401+
1402+
1403+static glamoScreenPtr glamoCreateScreen(__DRIscreen *sPriv)
1404+{
1405+ glamoScreenPtr glamoScreen;
1406+
1407+ /* Allocate the private area */
1408+ glamoScreen = (glamoScreenPtr)CALLOC(sizeof(*glamoScreen));
1409+ if ( glamoScreen == NULL )
1410+ return NULL;
1411+
1412+ glamoScreen->driScreen = sPriv;
1413+
1414+ /* This is our link to the kernel's memory manager, via libdrm */
1415+ glamoScreen->bom = glamo_bo_manager_gem_ctor(sPriv->fd);
1416+
1417+ return glamoScreen;
1418+}
1419+
1420+
1421+static void glamoDestroyScreen(__DRIscreen *sPriv)
1422+{
1423+ glamoScreenPtr glamoScreen = (glamoScreenPtr)sPriv->private;
1424+
1425+ if ( glamoScreen == NULL )
1426+ return;
1427+
1428+ FREE(glamoScreen);
1429+ sPriv->private = NULL;
1430+}
1431+
1432+
1433+static const __DRIconfig **glamoInitScreen(__DRIscreen *sPriv)
1434+{
1435+ __DRIconfig **configs;
1436+ uint8_t depth_bits_array[2];
1437+ uint8_t stencil_bits_array[2];
1438+ uint8_t msaa_samples_array[1];
1439+ static const GLenum db_modes[] = { GLX_SWAP_COPY_OML, GLX_NONE };
1440+
1441+ /* Driver initialisation */
1442+ if ( glamoInitDriver(sPriv) ) {
1443+ return NULL;
1444+ }
1445+
1446+ /* Screen-specific initialisation */
1447+ sPriv->private = glamoCreateScreen(sPriv);
1448+ if ( !sPriv->private ) {
1449+ glamoDestroyScreen(sPriv);
1450+ return NULL;
1451+ }
1452+
1453+ depth_bits_array[0] = 0;
1454+ stencil_bits_array[0] = 0;
1455+ depth_bits_array[1] = 16;
1456+ stencil_bits_array[1] = 0;
1457+ msaa_samples_array[0] = 0;
1458+
1459+ configs = driCreateConfigs(GL_RGB, GL_UNSIGNED_SHORT_5_6_5,
1460+ depth_bits_array, stencil_bits_array, 2,
1461+ db_modes, 2, msaa_samples_array, 1, GL_TRUE);
1462+
1463+ if ( configs == NULL ) {
1464+ fprintf(stderr, "[%s:%u] Error creating FBConfig!\n", __func__, __LINE__);
1465+ return NULL;
1466+ }
1467+
1468+ return (const __DRIconfig **)configs;
1469+}
1470+
1471+
1472+static const __DRIconfig **glamoInitScreen2(__DRIscreen *sPriv)
1473+{
1474+ __DRIconfig **configs;
1475+ uint8_t depth_bits_array[2];
1476+ uint8_t stencil_bits_array[2];
1477+ uint8_t msaa_samples_array[1];
1478+ static const GLenum db_modes[] = { GLX_SWAP_COPY_OML, GLX_NONE };
1479+
1480+ /* Driver initialisation */
1481+ if ( glamoInitDriver(sPriv) ) {
1482+ return NULL;
1483+ }
1484+
1485+ /* Screen-specific initialisation */
1486+ sPriv->private = glamoCreateScreen(sPriv);
1487+ if ( !sPriv->private ) {
1488+ glamoDestroyScreen(sPriv);
1489+ return NULL;
1490+ }
1491+
1492+ depth_bits_array[0] = 0;
1493+ stencil_bits_array[0] = 0;
1494+ depth_bits_array[1] = 16;
1495+ stencil_bits_array[1] = 0;
1496+ msaa_samples_array[0] = 0;
1497+
1498+ configs = driCreateConfigs(GL_RGB, GL_UNSIGNED_SHORT_5_6_5,
1499+ depth_bits_array, stencil_bits_array, 2,
1500+ db_modes, 2, msaa_samples_array, 1, GL_TRUE);
1501+
1502+ if ( configs == NULL ) {
1503+ fprintf(stderr, "[%s:%u] Error creating FBConfig!\n", __func__, __LINE__);
1504+ return NULL;
1505+ }
1506+
1507+ return (const __DRIconfig **)configs;
1508+}
1509+
1510+
1511+/* Allocate buffers for a context. This is where the fun starts... */
1512+static GLboolean glamoCreateBuffer(__DRIscreen *driScrnPriv,
1513+ __DRIdrawable *driDrawPriv,
1514+ const struct gl_config *mesaVis,
1515+ GLboolean isPixmap)
1516+{
1517+ struct glamo_framebuffer *gfb;
1518+ GLenum rgbFormat;
1519+
1520+ if ( isPixmap ) return GL_FALSE; /* not implemented */
1521+
1522+ gfb = CALLOC_STRUCT(glamo_framebuffer);
1523+ if ( !gfb ) return GL_FALSE;
1524+
1525+ _mesa_initialize_window_framebuffer(&gfb->base, mesaVis);
1526+
1527+ /* we only support this one format at the moment */
1528+ rgbFormat = GL_RGB5;
1529+
1530+ /* Front color renderbuffer */
1531+ gfb->color_rb[0] = glamo_create_renderbuffer(rgbFormat, driDrawPriv);
1532+ _mesa_add_renderbuffer(&gfb->base, BUFFER_FRONT_LEFT,
1533+ &gfb->color_rb[0]->base);
1534+
1535+ /* Back color renderbuffer, if requested */
1536+ if ( mesaVis->doubleBufferMode ) {
1537+ gfb->color_rb[1] = glamo_create_renderbuffer(rgbFormat, driDrawPriv);
1538+ _mesa_add_renderbuffer(&gfb->base, BUFFER_BACK_LEFT,
1539+ &gfb->color_rb[1]->base);
1540+ }
1541+
1542+ if ( mesaVis->depthBits == 16 ) {
1543+ struct glamo_renderbuffer *depth;
1544+ depth = glamo_create_renderbuffer(GL_DEPTH_COMPONENT16, driDrawPriv);
1545+ _mesa_add_renderbuffer(&gfb->base, BUFFER_DEPTH, &depth->base);
1546+ }
1547+
1548+ /* Add software renderbuffers for the things we can't support in hardware */
1549+ _mesa_add_soft_renderbuffers(&gfb->base,
1550+ GL_FALSE, /* color */
1551+ GL_FALSE, /* depth */
1552+ mesaVis->stencilBits > 0, /* stencil, if required */
1553+ mesaVis->accumRedBits > 0, /* accum, if required */
1554+ GL_FALSE, /* alpha */
1555+ GL_FALSE /* aux */
1556+ );
1557+ driDrawPriv->driverPrivate = (void *)gfb;
1558+
1559+ return (driDrawPriv->driverPrivate != NULL);
1560+}
1561+
1562+
1563+static void glamoDestroyBuffer(__DRIdrawable *driDrawPriv)
1564+{
1565+}
1566+
1567+
1568+static void glamoSwapBuffers(__DRIdrawable *driDrawPriv)
1569+{
1570+ printf("glamoSwapBuffers\n"); fflush(stdout);
1571+}
1572+
1573+
1574+/*
1575+ * Mesa entry points
1576+ *
1577+ * See src/mesa/drivers/dri/common/dri_util.h for information about these
1578+ */
1579+const struct __DriverAPIRec driDriverAPI = {
1580+ .InitScreen = glamoInitScreen,
1581+ .DestroyScreen = glamoDestroyScreen,
1582+ .CreateContext = glamoCreateContext,
1583+ .DestroyContext = glamoDestroyContext,
1584+ .CreateBuffer = glamoCreateBuffer,
1585+ .DestroyBuffer = glamoDestroyBuffer,
1586+ .SwapBuffers = glamoSwapBuffers,
1587+ .MakeCurrent = glamoMakeCurrent,
1588+ .UnbindContext = glamoUnbindContext,
1589+ .GetSwapInfo = NULL, /* Not used */
1590+ .WaitForMSC = NULL,
1591+ .WaitForSBC = NULL,
1592+ .SwapBuffersMSC = NULL,
1593+ .CopySubBuffer = NULL,
1594+ .GetDrawableMSC = NULL, /* Not used */
1595+ .InitScreen2 = glamoInitScreen2, /* For DRI2 */
1596+};
1597+
1598+/* This is the table of extensions that the loader will dlsym() for. */
1599+PUBLIC const __DRIextension *__driDriverExtensions[] = {
1600+ &driCoreExtension.base,
1601+ &driLegacyExtension.base,
1602+ &driDRI2Extension.base,
1603+ NULL
1604+};
1605+
1606+/* kate: space-indent on; indent-width 3; mixedindent off; indent-mode cstyle; */
1607diff --git a/src/mesa/drivers/dri/glamo/glamo_screen.h b/src/mesa/drivers/dri/glamo/glamo_screen.h
1608new file mode 100644
1609index 0000000..3f2eb5f
1610--- /dev/null
1611+++ b/src/mesa/drivers/dri/glamo/glamo_screen.h
1612@@ -0,0 +1,44 @@
1613+/*
1614+ * Direct Rendering Support for SMedia Glamo 336x/337x
1615+ *
1616+ * (c) 2009 Thomas White <taw@bitwiz.org.uk>
1617+ * Roughly based on sis_screen.h (c) 2003 Eric Anholt
1618+ *
1619+ * Permission is hereby granted, free of charge, to any person obtaining a
1620+ * copy of this software and associated documentation files (the "Software"),
1621+ * to deal in the Software without restriction, including without limitation
1622+ * the rights to use, copy, modify, merge, publish, distribute, sublicense,
1623+ * and/or sell copies of the Software, and to permit persons to whom the
1624+ * Software is furnished to do so, subject to the following conditions:
1625+ *
1626+ * The above copyright notice and this permission notice shall be included
1627+ * in all copies or substantial portions of the Software.
1628+ *
1629+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
1630+ * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
1631+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
1632+ * THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
1633+ * AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
1634+ * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
1635+ */
1636+
1637+#ifndef __GLAMO_SCREEN_H
1638+#define __GLAMO_SCREEN_H
1639+
1640+#include "xmlconfig.h"
1641+#include "dri_util.h"
1642+
1643+#include <glamo_bo_gem.h>
1644+
1645+typedef struct {
1646+
1647+ __DRIscreen *driScreen;
1648+ driOptionCache optionCache;
1649+
1650+ struct glamo_bo_manager *bom;
1651+
1652+} glamoScreenRec, *glamoScreenPtr;
1653+
1654+#endif /* __GLAMO_SCREEN_H */
1655+
1656+/* kate: space-indent on; indent-width 3; mixedindent off; indent-mode cstyle; */
1657diff --git a/src/mesa/drivers/dri/glamo/glamo_state.c b/src/mesa/drivers/dri/glamo/glamo_state.c
1658new file mode 100644
1659index 0000000..3aa2f8b
1660--- /dev/null
1661+++ b/src/mesa/drivers/dri/glamo/glamo_state.c
1662@@ -0,0 +1,305 @@
1663+/*
1664+ * Direct Rendering Support for SMedia Glamo 336x/337x
1665+ *
1666+ * (c) 2009-2010 Thomas White <taw@bitwiz.org.uk>
1667+ * Roughly based on sis_state.c (c) 2003 Eric Anholt
1668+ *
1669+ * Permission is hereby granted, free of charge, to any person obtaining a
1670+ * copy of this software and associated documentation files (the "Software"),
1671+ * to deal in the Software without restriction, including without limitation
1672+ * the rights to use, copy, modify, merge, publish, distribute, sublicense,
1673+ * and/or sell copies of the Software, and to permit persons to whom the
1674+ * Software is furnished to do so, subject to the following conditions:
1675+ *
1676+ * The above copyright notice and this permission notice shall be included
1677+ * in all copies or substantial portions of the Software.
1678+ *
1679+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
1680+ * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
1681+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
1682+ * THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
1683+ * AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
1684+ * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
1685+ *
1686+ *
1687+ * Also partially based on intel_fbo.c, to which the following notice applies:
1688+ *
1689+ * Copyright 2006 Tungsten Graphics, Inc., Cedar Park, Texas.
1690+ * All Rights Reserved.
1691+ *
1692+ * Permission is hereby granted, free of charge, to any person obtaining a
1693+ * copy of this software and associated documentation files (the
1694+ * "Software"), to deal in the Software without restriction, including
1695+ * without limitation the rights to use, copy, modify, merge, publish,
1696+ * distribute, sub license, and/or sell copies of the Software, and to
1697+ * permit persons to whom the Software is furnished to do so, subject to
1698+ * the following conditions:
1699+ *
1700+ * The above copyright notice and this permission notice (including the
1701+ * next paragraph) shall be included in all copies or substantial portions
1702+ * of the Software.
1703+ *
1704+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
1705+ * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
1706+ * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT.
1707+ * IN NO EVENT SHALL TUNGSTEN GRAPHICS AND/OR ITS SUPPLIERS BE LIABLE FOR
1708+ * ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
1709+ * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
1710+ * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
1711+ */
1712+
1713+
1714+#include "main/context.h"
1715+#include "main/framebuffer.h"
1716+#include "main/api_arrayelt.h"
1717+#include "main/macros.h"
1718+#include "swrast/swrast.h"
1719+#include "swrast_setup/swrast_setup.h"
1720+#include "tnl/tnl.h"
1721+
1722+#include "glamo_fbo.h"
1723+#include "glamo_state.h"
1724+#include "glamo_context.h"
1725+#include "glamo_cmdq.h"
1726+#include "glamo_regs.h"
1727+
1728+
1729+static void glamoResizeBuffers(struct gl_context *ctx, struct gl_framebuffer *fb,
1730+ GLuint width, GLuint height)
1731+{
1732+ struct glamo_framebuffer *glamo_fb = (struct glamo_framebuffer *)fb;
1733+ int i;
1734+
1735+ _mesa_resize_framebuffer(ctx, fb, width, height);
1736+
1737+ fb->Initialized = GL_TRUE; /* XXX remove someday */
1738+
1739+ if (fb->Name != 0) {
1740+ return;
1741+ }
1742+
1743+ /* Make sure all window system renderbuffers are up to date */
1744+ for (i = 0; i < 2; i++) {
1745+ struct gl_renderbuffer *rb = &glamo_fb->color_rb[i]->base;
1746+
1747+ /* only resize if size is changing */
1748+ if (rb && (rb->Width != width || rb->Height != height)) {
1749+ rb->AllocStorage(ctx, rb, rb->InternalFormat,
1750+ width, height);
1751+ }
1752+ }
1753+}
1754+
1755+
1756+static void glamoClear(struct gl_context *ctx, GLbitfield mask)
1757+{
1758+ glamoContext *gCtx;
1759+ struct gl_framebuffer *fb;
1760+ int i;
1761+
1762+ gCtx = GLAMO_CONTEXT(ctx);
1763+ fb = ctx->DrawBuffer;
1764+
1765+ printf("glamoClear (%f %f %f %f)\n", ctx->Color.ClearColor[0],
1766+ ctx->Color.ClearColor[1], ctx->Color.ClearColor[2],
1767+ ctx->Color.ClearColor[3]); fflush(stdout);
1768+
1769+ for (i = 0; i < fb->_NumColorDrawBuffers; i++) {
1770+
1771+ struct glamo_renderbuffer *grb;
1772+
1773+ grb = glamo_renderbuffer(fb->_ColorDrawBuffers[i]);
1774+
1775+ glamoDRMStartBurst(gCtx, GLAMO_REG_2D_DST_X);
1776+ glamoDRMAddData(gCtx, fb->_Xmin, 2); /* dest X */
1777+ glamoDRMAddData(gCtx, fb->_Ymin, 2); /* dest Y */
1778+ glamoDRMAddBO(gCtx, grb->bo); /* dest L/H */
1779+ glamoDRMAddData(gCtx, grb->pitch & 0x7ff, 2); /* dest pitch */
1780+ glamoDRMAddData(gCtx, grb->height, 2); /* dest height */
1781+ glamoDRMAddData(gCtx, fb->_Xmax-fb->_Xmin, 2); /* width */
1782+ glamoDRMAddData(gCtx, fb->_Ymax-fb->_Ymin, 2); /* height */
1783+ glamoDRMAddData(gCtx, 0x0000, 2); /* patt L */
1784+ glamoDRMAddData(gCtx, 0x0000, 2); /* patt H */
1785+ glamoDRMAddData(gCtx, gCtx->col_clear, 2); /* FG colour */
1786+ glamoDRMDispatch(gCtx);
1787+
1788+ glamoDRMStartBurst(gCtx, GLAMO_REG_2D_COMMAND1);
1789+ glamoDRMAddData(gCtx, 0x0000, 2); /* Cmd param 1 */
1790+ glamoDRMAddData(gCtx, 0xf0 << 8, 2); /* Cmd param 2 */
1791+ glamoDRMAddData(gCtx, 0x0000, 2); /* Cmd param 3 */
1792+ glamoDRMDispatch(gCtx);
1793+
1794+ }
1795+}
1796+
1797+
1798+static void glamoClearColor(struct gl_context *ctx, const GLfloat color[4])
1799+{
1800+ struct glamo_context *gCtx = GLAMO_CONTEXT(ctx);
1801+ GLubyte col_byte[4];
1802+
1803+ printf("glamoClearColor (%f %f %f %f)\n", color[0], color[1], color[2],
1804+ color[3]); fflush(stdout);
1805+
1806+ CLAMPED_FLOAT_TO_UBYTE(col_byte[0], color[0]);
1807+ CLAMPED_FLOAT_TO_UBYTE(col_byte[1], color[1]);
1808+ CLAMPED_FLOAT_TO_UBYTE(col_byte[2], color[2]);
1809+ CLAMPED_FLOAT_TO_UBYTE(col_byte[3], color[3]);
1810+
1811+ gCtx->col_clear = GLAMO_PACKCOLOR565(col_byte[0], col_byte[1],
1812+ col_byte[2]);
1813+}
1814+
1815+
1816+static void glamoShadeModel(struct gl_context *ctx, GLenum mode)
1817+{
1818+ printf("glamoShadeModel\n"); fflush(stdout);
1819+}
1820+
1821+
1822+static void glamoViewport(struct gl_context *ctx, GLint x, GLint y,
1823+ GLsizei width, GLsizei height )
1824+{
1825+ struct glamo_context *gCtx = GLAMO_CONTEXT(ctx);
1826+ __DRIcontext *driContext = gCtx->driContext;
1827+ void (*old_viewport)(struct gl_context *ctx, GLint x, GLint y,
1828+ GLsizei w, GLsizei h);
1829+
1830+ if ( !driContext->driScreenPriv->dri2.enabled ) return;
1831+
1832+ /* TODO: Flush before fiddling with fake front buffer */
1833+
1834+ if ( ctx->DrawBuffer->Name == 0 ) {
1835+
1836+ glamo_update_renderbuffers(driContext,
1837+ driContext->driDrawablePriv);
1838+ if ( driContext->driDrawablePriv
1839+ != driContext->driReadablePriv ) {
1840+ glamo_update_renderbuffers(driContext,
1841+ driContext->driReadablePriv);
1842+ }
1843+
1844+ }
1845+
1846+ old_viewport = ctx->Driver.Viewport;
1847+ ctx->Driver.Viewport = NULL;
1848+ gCtx->driDrawable = driContext->driDrawablePriv;
1849+ ctx->Driver.Viewport = old_viewport;
1850+}
1851+
1852+
1853+static void glamoUploadMatrix(struct glamo_context *gCtx, uint16_t mreg,
1854+ GLfloat *matrix)
1855+{
1856+ int i;
1857+ char *type;
1858+
1859+ switch ( mreg ) {
1860+ case G3D_MATRIX_MVP :
1861+ type = "MVP"; break;
1862+ case G3D_MATRIX_MV :
1863+ type = "MV"; break;
1864+ case G3D_MATRIX_IMVP :
1865+ type = "inverse MVP"; break;
1866+ default :
1867+ type = "unknown"; break;
1868+ }
1869+ printf("Uploading %s matrix...\n", type);
1870+
1871+ glamoDRMStartBurst(gCtx, mreg);
1872+ if ( mreg != G3D_MATRIX_IMVP ) {
1873+ for ( i=0; i<16; i++ ) {
1874+ glamoDRMAddData(gCtx, float7s16(matrix[i]), 4);
1875+ }
1876+ } else {
1877+ /* Normal matrix needs special treatment */
1878+ for ( i=0; i<3; i++ ) {
1879+ glamoDRMAddData(gCtx, float7s16(matrix[4*i]), 4);
1880+ glamoDRMAddData(gCtx, float7s16(matrix[4*i+1]), 4);
1881+ glamoDRMAddData(gCtx, float7s16(matrix[4*i+2]), 4);
1882+ }
1883+ }
1884+ glamoDRMDispatch(gCtx);
1885+}
1886+
1887+
1888+GLboolean glamoValidateState(struct gl_context *ctx, GLuint new_state)
1889+{
1890+ struct glamo_context *gCtx = GLAMO_CONTEXT(ctx);
1891+
1892+ if ( new_state & (_NEW_MODELVIEW|_NEW_PROJECTION) ) {
1893+
1894+ glamoUploadMatrix(gCtx, G3D_MATRIX_MVP,
1895+ ctx->_ModelProjectMatrix.m);
1896+
1897+ /* FIXME: The following two aren't needed unless lighting
1898+ * is in use... */
1899+ glamoUploadMatrix(gCtx, G3D_MATRIX_MV,
1900+ ctx->ModelviewMatrixStack.Top->m);
1901+ _math_matrix_alloc_inv(&(ctx->_ModelProjectMatrix));
1902+ _math_matrix_analyse(&(ctx->_ModelProjectMatrix));
1903+ glamoUploadMatrix(gCtx, G3D_MATRIX_IMVP,
1904+ ctx->_ModelProjectMatrix.inv);
1905+ }
1906+
1907+ gCtx->new_state = 0;
1908+ return GL_TRUE;
1909+}
1910+
1911+
1912+static void glamoUpdateState(struct gl_context *ctx, GLbitfield new_state)
1913+{
1914+ struct glamo_context *gCtx = GLAMO_CONTEXT(ctx);
1915+
1916+ printf("glamoUpdateState\n");
1917+
1918+ _swrast_InvalidateState(ctx, new_state);
1919+ _swsetup_InvalidateState(ctx, new_state);
1920+ _vbo_InvalidateState(ctx, new_state);
1921+ _tnl_InvalidateState(ctx, new_state);
1922+ _ae_invalidate_state(ctx, new_state);
1923+
1924+ /* Make a note that some state has changed,
1925+ * so that it can be sent to the GPU later. */
1926+ gCtx->new_state |= new_state;
1927+}
1928+
1929+
1930+static void glamoFlush(struct gl_context *ctx)
1931+{
1932+ printf("glamoFlush\n");
1933+}
1934+
1935+
1936+void glamoInitStateFuncs(struct gl_context *ctx)
1937+{
1938+ ctx->Driver.UpdateState = glamoUpdateState;
1939+ ctx->Driver.Clear = glamoClear;
1940+ ctx->Driver.ClearColor = glamoClearColor;
1941+ ctx->Driver.ClearDepth = NULL;
1942+ ctx->Driver.ClearStencil = NULL;
1943+ ctx->Driver.AlphaFunc = NULL;
1944+ ctx->Driver.BlendFuncSeparate = NULL;
1945+ ctx->Driver.ColorMask = NULL;
1946+ ctx->Driver.CullFace = NULL;
1947+ ctx->Driver.DepthMask = NULL;
1948+ ctx->Driver.DepthFunc = NULL;
1949+ ctx->Driver.DepthRange = NULL;
1950+ ctx->Driver.DrawBuffer = NULL;
1951+ ctx->Driver.Enable = NULL;
1952+ ctx->Driver.FrontFace = NULL;
1953+ ctx->Driver.Fogfv = NULL;
1954+ ctx->Driver.Hint = NULL;
1955+ ctx->Driver.Lightfv = NULL;
1956+ ctx->Driver.LogicOpcode = NULL;
1957+ ctx->Driver.PolygonMode = NULL;
1958+ ctx->Driver.PolygonStipple = NULL;
1959+ ctx->Driver.ReadBuffer = NULL;
1960+ ctx->Driver.RenderMode = NULL;
1961+ ctx->Driver.Scissor = NULL;
1962+ ctx->Driver.ShadeModel = glamoShadeModel;
1963+ ctx->Driver.LightModelfv = NULL;
1964+ ctx->Driver.Viewport = glamoViewport;
1965+ ctx->Driver.ResizeBuffers = glamoResizeBuffers;
1966+ ctx->Driver.Flush = glamoFlush;
1967+}
1968diff --git a/src/mesa/drivers/dri/glamo/glamo_state.h b/src/mesa/drivers/dri/glamo/glamo_state.h
1969new file mode 100644
1970index 0000000..c3872c0
1971--- /dev/null
1972+++ b/src/mesa/drivers/dri/glamo/glamo_state.h
1973@@ -0,0 +1,34 @@
1974+/*
1975+ * Direct Rendering Support for SMedia Glamo 336x/337x
1976+ *
1977+ * (c) 2009 Thomas White <taw@bitwiz.org.uk>
1978+ * Roughly based on sis_state.h (c) 2003 Eric Anholt
1979+ *
1980+ * Permission is hereby granted, free of charge, to any person obtaining a
1981+ * copy of this software and associated documentation files (the "Software"),
1982+ * to deal in the Software without restriction, including without limitation
1983+ * the rights to use, copy, modify, merge, publish, distribute, sublicense,
1984+ * and/or sell copies of the Software, and to permit persons to whom the
1985+ * Software is furnished to do so, subject to the following conditions:
1986+ *
1987+ * The above copyright notice and this permission notice shall be included
1988+ * in all copies or substantial portions of the Software.
1989+ *
1990+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
1991+ * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
1992+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
1993+ * THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
1994+ * AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
1995+ * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
1996+ */
1997+
1998+#ifndef __GLAMO_STATE_H
1999+#define __GLAMO_STATE_H
2000+
2001+#include "main/context.h"
2002+
2003+extern void glamoInitStateFuncs(struct gl_context *ctx);
2004+
2005+#endif /* __GLAMO_STATE_H */
2006+
2007+/* kate: space-indent on; indent-width 3; mixedindent off; indent-mode cstyle; */
2008diff --git a/src/mesa/drivers/dri/glamo/glamo_tris.c b/src/mesa/drivers/dri/glamo/glamo_tris.c
2009new file mode 100644
2010index 0000000..c45fe53
2011--- /dev/null
2012+++ b/src/mesa/drivers/dri/glamo/glamo_tris.c
2013@@ -0,0 +1,310 @@
2014+/*
2015+ * Direct Rendering Support for SMedia Glamo 336x/337x
2016+ *
2017+ * (c) 2009 Thomas White <taw@bitwiz.org.uk>
2018+ *
2019+ * Permission is hereby granted, free of charge, to any person obtaining a
2020+ * copy of this software and associated documentation files (the "Software"),
2021+ * to deal in the Software without restriction, including without limitation
2022+ * the rights to use, copy, modify, merge, publish, distribute, sublicense,
2023+ * and/or sell copies of the Software, and to permit persons to whom the
2024+ * Software is furnished to do so, subject to the following conditions:
2025+ *
2026+ * The above copyright notice and this permission notice shall be included
2027+ * in all copies or substantial portions of the Software.
2028+ *
2029+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
2030+ * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
2031+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
2032+ * THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
2033+ * AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
2034+ * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
2035+ *
2036+ *
2037+ * Based on intel_tris.c, to which the following notice applies:
2038+ *
2039+ * Copyright 2003 Tungsten Graphics, Inc., Cedar Park, Texas.
2040+ * All Rights Reserved.
2041+ *
2042+ * Permission is hereby granted, free of charge, to any person obtaining a
2043+ * copy of this software and associated documentation files (the
2044+ * "Software"), to deal in the Software without restriction, including
2045+ * without limitation the rights to use, copy, modify, merge, publish,
2046+ * distribute, sub license, and/or sell copies of the Software, and to
2047+ * permit persons to whom the Software is furnished to do so, subject to
2048+ * the following conditions:
2049+ *
2050+ * The above copyright notice and this permission notice (including the
2051+ * next paragraph) shall be included in all copies or substantial portions
2052+ * of the Software.
2053+ *
2054+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
2055+ * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
2056+ * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT.
2057+ * IN NO EVENT SHALL TUNGSTEN GRAPHICS AND/OR ITS SUPPLIERS BE LIABLE FOR
2058+ * ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
2059+ * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
2060+ * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
2061+ *
2062+ */
2063+
2064+
2065+#include <glamo_bo.h>
2066+#include <glamo_bo_gem.h>
2067+#include <glamo_drm.h>
2068+
2069+#include "main/mtypes.h"
2070+#include "swrast/swrast.h"
2071+#include "tnl/t_context.h"
2072+#include "tnl/t_vertex.h"
2073+#include "tnl/t_pipeline.h"
2074+
2075+#include "glamo_tris.h"
2076+#include "glamo_context.h"
2077+
2078+
2079+static void glamoRunPipeline(struct gl_context *ctx)
2080+{
2081+ printf("glamoRunPipeline\n");
2082+
2083+ /* TODO: Emit state */
2084+
2085+ _tnl_run_pipeline(ctx);
2086+}
2087+
2088+
2089+static void glamoRenderStart(struct gl_context *ctx)
2090+{
2091+ struct glamo_context *gCtx = GLAMO_CONTEXT(ctx);
2092+
2093+ /* Decide which attributes will be used */
2094+ gCtx->vertex_attrs[0].attrib = _TNL_ATTRIB_POS;
2095+ gCtx->vertex_attrs[0].format = EMIT_4F;
2096+
2097+ gCtx->vertex_size = _tnl_install_attrs(ctx, gCtx->vertex_attrs, 1,
2098+ NULL, 0);
2099+}
2100+
2101+
2102+static void glamoRenderFinish(struct gl_context *ctx)
2103+{
2104+ printf("glamoRenderFinish\n");
2105+}
2106+
2107+
2108+static void glamoPrimitiveNotify(struct gl_context *ctx, GLenum prim)
2109+{
2110+ printf("glamoPrimitiveNotify\n");
2111+}
2112+
2113+
2114+uint32_t *glamoGetPrimSpace(struct glamo_context *gCtx, unsigned int count)
2115+{
2116+ uint32_t *addr;
2117+
2118+ printf("glamoGetPrimSpace\n");
2119+
2120+ /* Check for space in the existing VB */
2121+ if (gCtx->prim.vb_bo == NULL || (gCtx->prim.current_offset +
2122+ count * gCtx->vertex_size) > GLAMO_VB_SIZE) {
2123+
2124+ /* Not enough space, or no VB existing. Start a new one... */
2125+ if (gCtx->prim.vb == NULL) {
2126+ printf("Allocated %i bytes\n", GLAMO_VB_SIZE);
2127+ gCtx->prim.vb = malloc(GLAMO_VB_SIZE);
2128+ }
2129+ gCtx->prim.vb_bo = glamo_bo_open(gCtx->glamoScreen->bom, 0,
2130+ GLAMO_VB_SIZE, 4,
2131+ GLAMO_GEM_DOMAIN_VRAM, 0);
2132+ gCtx->prim.start_offset = 0;
2133+ gCtx->prim.current_offset = 0;
2134+ }
2135+
2136+ addr = (uint32_t *)(gCtx->prim.vb + gCtx->prim.current_offset);
2137+ gCtx->prim.current_offset += gCtx->vertex_size * count;
2138+ gCtx->prim.count += count;
2139+
2140+ return addr;
2141+}
2142+
2143+
2144+#define COPY_DWORDS( j, vb, vertsize, v ) \
2145+do { \
2146+ for ( j = 0 ; j < vertsize ; j++ ) { \
2147+ vb[j] = ((GLuint *)v)[j]; \
2148+ } \
2149+ vb += vertsize; \
2150+} while (0)
2151+
2152+
2153+static void glamo_draw_triangle(struct glamo_context *gCtx,
2154+ glamoVertexPtr v0, glamoVertexPtr v1,
2155+ glamoVertexPtr v2)
2156+{
2157+ GLuint *vb = glamoGetPrimSpace(gCtx, 3);
2158+ int j;
2159+
2160+ COPY_DWORDS(j, vb, gCtx->vertex_size, v0);
2161+ COPY_DWORDS(j, vb, gCtx->vertex_size, v1);
2162+ COPY_DWORDS(j, vb, gCtx->vertex_size, v2);
2163+}
2164+
2165+
2166+static void glamo_draw_line(struct glamo_context *gCtx,
2167+ glamoVertexPtr v0, glamoVertexPtr v1)
2168+{
2169+ GLuint *vb = glamoGetPrimSpace(gCtx, 2);
2170+ int j;
2171+
2172+ COPY_DWORDS(j, vb, gCtx->vertex_size, v0);
2173+ COPY_DWORDS(j, vb, gCtx->vertex_size, v1);
2174+}
2175+
2176+
2177+static void glamo_draw_point(struct glamo_context *gCtx, glamoVertexPtr v0)
2178+{
2179+ GLuint *vb = glamoGetPrimSpace(gCtx, 2);
2180+ int j;
2181+
2182+ COPY_DWORDS(j, vb, gCtx->vertex_size, v0);
2183+}
2184+
2185+
2186+#define TRI( a, b, c ) \
2187+do { \
2188+ glamo_draw_triangle(gCtx, a, b, c ); \
2189+} while (0)
2190+
2191+
2192+#define QUAD( a, b, c, d ) \
2193+printf("Drawing a quad\n"); \
2194+do { \
2195+ glamo_draw_triangle(gCtx, a, b, d); \
2196+ glamo_draw_triangle(gCtx, b, c, d); \
2197+} while (0)
2198+
2199+
2200+#define LINE(v0, v1) \
2201+do { \
2202+ glamo_draw_line(gCtx, v0, v1); \
2203+} while (0)
2204+
2205+
2206+#define POINT(v0) \
2207+do { \
2208+ glamo_draw_point(gCtx, v0); \
2209+} while (0)
2210+
2211+
2212+#define IND (0)
2213+#define TAG(x) x
2214+#include "tnl_dd/t_dd_tritmp.h"
2215+
2216+#define IND (0)
2217+#define TAG(x) x##_offset
2218+#include "tnl_dd/t_dd_tritmp.h"
2219+
2220+#define IND (0)
2221+#define TAG(x) x##_twoside
2222+#include "tnl_dd/t_dd_tritmp.h"
2223+
2224+#define IND (0)
2225+#define TAG(x) x##_twoside_offset
2226+#include "tnl_dd/t_dd_tritmp.h"
2227+
2228+#define IND (0)
2229+#define TAG(x) x##_unfilled
2230+#include "tnl_dd/t_dd_tritmp.h"
2231+
2232+#define IND (0)
2233+#define TAG(x) x##_offset_unfilled
2234+#include "tnl_dd/t_dd_tritmp.h"
2235+
2236+#define IND (0)
2237+#define TAG(x) x##_twoside_unfilled
2238+#include "tnl_dd/t_dd_tritmp.h"
2239+
2240+#define IND (0)
2241+#define TAG(x) x##_twoside_offset_unfilled
2242+#include "tnl_dd/t_dd_tritmp.h"
2243+
2244+#define IND (0)
2245+#define TAG(x) x##_fallback
2246+#include "tnl_dd/t_dd_tritmp.h"
2247+
2248+#define IND (0)
2249+#define TAG(x) x##_offset_fallback
2250+#include "tnl_dd/t_dd_tritmp.h"
2251+
2252+#define IND (0)
2253+#define TAG(x) x##_twoside_fallback
2254+#include "tnl_dd/t_dd_tritmp.h"
2255+
2256+#define IND (0)
2257+#define TAG(x) x##_twoside_offset_fallback
2258+#include "tnl_dd/t_dd_tritmp.h"
2259+
2260+#define IND (0)
2261+#define TAG(x) x##_unfilled_fallback
2262+#include "tnl_dd/t_dd_tritmp.h"
2263+
2264+#define IND (0)
2265+#define TAG(x) x##_offset_unfilled_fallback
2266+#include "tnl_dd/t_dd_tritmp.h"
2267+
2268+#define IND (0)
2269+#define TAG(x) x##_twoside_unfilled_fallback
2270+#include "tnl_dd/t_dd_tritmp.h"
2271+
2272+#define IND (0)
2273+#define TAG(x) x##_twoside_offset_unfilled_fallback
2274+#include "tnl_dd/t_dd_tritmp.h"
2275+
2276+
2277+static void init_rast_tab()
2278+{
2279+ init();
2280+ init_offset();
2281+ init_twoside();
2282+ init_twoside_offset();
2283+ init_unfilled();
2284+ init_offset_unfilled();
2285+ init_twoside_unfilled();
2286+ init_twoside_offset_unfilled();
2287+ init_fallback();
2288+ init_offset_fallback();
2289+ init_twoside_fallback();
2290+ init_twoside_offset_fallback();
2291+ init_unfilled_fallback();
2292+ init_offset_unfilled_fallback();
2293+ init_twoside_unfilled_fallback();
2294+ init_twoside_offset_unfilled_fallback();
2295+}
2296+
2297+
2298+void glamoInitTriFuncs(struct gl_context *ctx)
2299+{
2300+ TNLcontext *tnl = TNL_CONTEXT(ctx);
2301+ struct glamo_context *gCtx = GLAMO_CONTEXT(ctx);
2302+ static int firsttime = 1;
2303+
2304+ if (firsttime) {
2305+ init_rast_tab();
2306+ firsttime = 0;
2307+ }
2308+
2309+ gCtx->prim.start_offset = 0;
2310+ gCtx->prim.current_offset = 0;
2311+ gCtx->prim.vb_bo = NULL;
2312+ gCtx->prim.vb = NULL;
2313+ gCtx->prim.count = 0;
2314+
2315+ tnl->Driver.RunPipeline = glamoRunPipeline;
2316+ tnl->Driver.Render.Start = glamoRenderStart;
2317+ tnl->Driver.Render.Finish = glamoRenderFinish;
2318+ tnl->Driver.Render.PrimitiveNotify = glamoPrimitiveNotify;
2319+ tnl->Driver.Render.ResetLineStipple = _swrast_ResetLineStipple;
2320+ tnl->Driver.Render.BuildVertices = _tnl_build_vertices;
2321+ tnl->Driver.Render.CopyPV = _tnl_copy_pv;
2322+ tnl->Driver.Render.Interp = _tnl_interp;
2323+}
2324diff --git a/src/mesa/drivers/dri/glamo/glamo_tris.h b/src/mesa/drivers/dri/glamo/glamo_tris.h
2325new file mode 100644
2326index 0000000..ea396c1
2327--- /dev/null
2328+++ b/src/mesa/drivers/dri/glamo/glamo_tris.h
2329@@ -0,0 +1,38 @@
2330+/*
2331+ * Direct Rendering Support for SMedia Glamo 336x/337x
2332+ *
2333+ * (c) 2009 Thomas White <taw@bitwiz.org.uk>
2334+ *
2335+ * Permission is hereby granted, free of charge, to any person obtaining a
2336+ * copy of this software and associated documentation files (the "Software"),
2337+ * to deal in the Software without restriction, including without limitation
2338+ * the rights to use, copy, modify, merge, publish, distribute, sublicense,
2339+ * and/or sell copies of the Software, and to permit persons to whom the
2340+ * Software is furnished to do so, subject to the following conditions:
2341+ *
2342+ * The above copyright notice and this permission notice shall be included
2343+ * in all copies or substantial portions of the Software.
2344+ *
2345+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
2346+ * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
2347+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
2348+ * THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
2349+ * AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
2350+ * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
2351+ */
2352+
2353+#ifndef __GLAMO_TRIS_H
2354+#define __GLAMO_TRIS_H
2355+
2356+#include "main/mtypes.h"
2357+
2358+#include "glamo_context.h"
2359+
2360+/* Amount of space reserved for vertex submission */
2361+#define GLAMO_VB_SIZE (32*1024)
2362+
2363+extern void glamoInitTriFuncs(struct gl_context *ctx);
2364+extern uint32_t *glamoGetPrimSpace(struct glamo_context *gCtx,
2365+ unsigned int count);
2366+
2367+#endif /* __GLAMO_TRIS_H */
2368diff --git a/src/mesa/tnl_dd/t_dd_dmatmp.h b/src/mesa/tnl_dd/t_dd_dmatmp.h
2369index 997fc0b..e3c9119 100644
2370--- a/src/mesa/tnl_dd/t_dd_dmatmp.h
2371+++ b/src/mesa/tnl_dd/t_dd_dmatmp.h
2372@@ -127,6 +127,8 @@ static void TAG(render_points_verts)( struct gl_context *ctx,
2373 currentsz = dmasz;
2374 }
2375
2376+ FLUSH();
2377+
2378 } else {
2379 fprintf(stderr, "%s - cannot draw primitive\n", __FUNCTION__);
2380 return;
2381@@ -162,6 +164,8 @@ static void TAG(render_lines_verts)( struct gl_context *ctx,
2382 currentsz = dmasz;
2383 }
2384
2385+ FLUSH();
2386+
2387 } else {
2388 fprintf(stderr, "%s - cannot draw primitive\n", __FUNCTION__);
2389 return;
2390@@ -191,7 +195,7 @@ static void TAG(render_line_strip_verts)( struct gl_context *ctx,
2391 TAG(emit_verts)( ctx, j, nr, ALLOC_VERTS(nr) );
2392 currentsz = dmasz;
2393 }
2394-
2395+
2396 FLUSH();
2397
2398 } else {
2399@@ -294,6 +298,8 @@ static void TAG(render_triangles_verts)( struct gl_context *ctx,
2400 TAG(emit_verts)( ctx, j, nr, ALLOC_VERTS(nr) );
2401 currentsz = dmasz;
2402 }
2403+
2404+ FLUSH();
2405 }
2406
2407
2408@@ -567,6 +573,8 @@ static void TAG(render_quads_verts)( struct gl_context *ctx,
2409 TAG(emit_verts)( ctx, j, nr, ALLOC_VERTS(nr) );
2410 currentsz = dmasz;
2411 }
2412+
2413+ FLUSH();
2414 }
2415 else if (HAVE_ELTS) {
2416 /* Hardware doesn't have a quad primitive type -- try to
2417@@ -640,6 +648,8 @@ static void TAG(render_quads_verts)( struct gl_context *ctx,
2418 tmp = EMIT_VERTS(ctx, j + 1, 3, tmp);
2419 (void) tmp;
2420 }
2421+
2422+ FLUSH();
2423 }
2424 else {
2425 /* Vertices won't fit in a single buffer, should never happen.
diff --git a/meta-oe/recipes-graphics/mesa/mesa-7.10.2/uclibc.patch b/meta-oe/recipes-graphics/mesa/mesa-7.10.2/uclibc.patch
new file mode 100644
index 000000000..0508112df
--- /dev/null
+++ b/meta-oe/recipes-graphics/mesa/mesa-7.10.2/uclibc.patch
@@ -0,0 +1,26 @@
1Index: Mesa-7.9.1/src/mesa/main/imports.c
2===================================================================
3--- Mesa-7.9.1.orig/src/mesa/main/imports.c 2010-12-15 13:50:00.000000000 -0800
4+++ Mesa-7.9.1/src/mesa/main/imports.c 2011-01-10 12:23:48.848656001 -0800
5@@ -757,7 +757,7 @@
6 float
7 _mesa_strtof( const char *s, char **end )
8 {
9-#if defined(_GNU_SOURCE) && !defined(__CYGWIN__) && !defined(__FreeBSD__)
10+#if defined(_GNU_SOURCE) && !defined(__CYGWIN__) && !defined(__FreeBSD__) && !defined(__UCLIBC__)
11 static locale_t loc = NULL;
12 if (!loc) {
13 loc = newlocale(LC_CTYPE_MASK, "C", NULL);
14Index: Mesa-7.9.1/src/glsl/strtod.c
15===================================================================
16--- Mesa-7.9.1.orig/src/glsl/strtod.c 2011-01-10 20:08:01.568656001 -0800
17+++ Mesa-7.9.1/src/glsl/strtod.c 2011-01-10 20:08:39.898656001 -0800
18@@ -44,7 +44,7 @@
19 double
20 glsl_strtod(const char *s, char **end)
21 {
22-#if defined(_GNU_SOURCE) && !defined(__CYGWIN__) && !defined(__FreeBSD__)
23+#if defined(_GNU_SOURCE) && !defined(__CYGWIN__) && !defined(__FreeBSD__) && !defined(__UCLIBC__)
24 static locale_t loc = NULL;
25 if (!loc) {
26 loc = newlocale(LC_CTYPE_MASK, "C", NULL);
diff --git a/meta-oe/recipes-graphics/mesa/mesa-common.inc b/meta-oe/recipes-graphics/mesa/mesa-common.inc
new file mode 100644
index 000000000..4073d6ffe
--- /dev/null
+++ b/meta-oe/recipes-graphics/mesa/mesa-common.inc
@@ -0,0 +1,53 @@
1SECTION = "x11"
2
3DESCRIPTION = "An open source implementation of the OpenGL spec"
4HOMEPAGE = "http://mesa3d.org"
5LICENSE = "MIT"
6LIC_FILES_CHKSUM = "file://docs/license.html;md5=7a3373c039b6b925c427755a4f779c1d"
7
8INC_PR = "r11"
9PE = "2"
10
11PROTO_DEPS = "xf86driproto glproto"
12LIB_DEPS = "virtual/libx11 libxext libxxf86vm libxdamage libxfixes"
13
14DEPENDS = "${PROTO_DEPS} ${LIB_DEPS}"
15
16SRC_URI = "ftp://ftp.freedesktop.org/pub/mesa/${PV}/MesaLib-${PV}.tar.bz2;name=archive \
17 "
18S = "${WORKDIR}/Mesa-${PV}"
19
20PROVIDES = "virtual/libgl"
21
22inherit autotools pkgconfig
23
24EXTRA_OECONF = "--enable-glu \
25 --disable-glw \
26 --disable-glut \
27 "
28
29inherit glx-use-tls
30
31# Package contents vary according to ${MACHINE_DRI_MODULES}.
32PACKAGE_ARCH = "${MACHINE_ARCH}"
33
34PACKAGES =+ "libegl libegl-dev libegl-dbg libglu libglu-dev libosmesa libosmesa-dev libgl libgl-dev"
35FILES_${PN} += "${libdir}/dri/*.so"
36FILES_libegl = "${libdir}/libEGL.so.* ${libdir}/egl/*.so"
37FILES_libgl = "${libdir}/libGL.so.*"
38FILES_libglu = "${libdir}/libGLU.so.*"
39FILES_libosmesa = "${libdir}/libOSMesa.so.*"
40
41FILES_libegl-dev = "${libdir}/libEGL.* ${includedir}/EGL"
42FILES_libgl-dev = "${libdir}/libGL.* ${includedir}/GL"
43FILES_libglu-dev = "${libdir}/libGLU.* ${includedir}/GL/glu*.h"
44FILES_libosmesa-dev = "${libdir}/libOSMesa.* ${includedir}/osmesa.h"
45
46FILES_${PN}-dbg += "${libdir}/dri/.debug/*"
47FILES_libegl-dbg += "${libdir}/egl/.debug/*"
48
49NATIVE_INSTALL_WORKS = "1"
50do_install_append () {
51 install -d ${D}/${includedir}/GL
52 cp -pPr ${S}/include/GL/internal* ${D}/${includedir}/GL
53}
diff --git a/meta-oe/recipes-graphics/mesa/mesa-dri.inc b/meta-oe/recipes-graphics/mesa/mesa-dri.inc
new file mode 100644
index 000000000..4f42b7930
--- /dev/null
+++ b/meta-oe/recipes-graphics/mesa/mesa-dri.inc
@@ -0,0 +1,10 @@
1DEPENDS += "dri2proto expat libdrm makedepend-native"
2
3#not supported in oe-core base.bbclass
4#FILESPATHPKG =. "mesa-${PV}:mesa:"
5FILESPATH =. "${FILE_DIRNAME}/mesa:${FILE_DIRNAME}/mesa-${PV}:"
6
7# most of our targets do not have DRI so will use mesa-xlib
8DEFAULT_PREFERENCE = "-1"
9
10EXTRA_OECONF += " --with-driver=dri --with-dri-drivers=swrast,${MACHINE_DRI_MODULES}"
diff --git a/meta-oe/recipes-graphics/mesa/mesa-dri_7.10.2.bb b/meta-oe/recipes-graphics/mesa/mesa-dri_7.10.2.bb
new file mode 100644
index 000000000..26b56e426
--- /dev/null
+++ b/meta-oe/recipes-graphics/mesa/mesa-dri_7.10.2.bb
@@ -0,0 +1,4 @@
1require mesa-common.inc
2require mesa-${PV}.inc
3require mesa-dri.inc
4PR = "${INC_PR}.0"
diff --git a/meta-oe/recipes-graphics/mesa/mesa-xlib.inc b/meta-oe/recipes-graphics/mesa/mesa-xlib.inc
new file mode 100644
index 000000000..cabe6e5ec
--- /dev/null
+++ b/meta-oe/recipes-graphics/mesa/mesa-xlib.inc
@@ -0,0 +1,2 @@
1FILESPATHPKG =. "mesa-${PV}:mesa:"
2EXTRA_OECONF += " --with-driver=xlib"
diff --git a/meta-oe/recipes-graphics/mesa/mesa-xlib_7.10.2.bb b/meta-oe/recipes-graphics/mesa/mesa-xlib_7.10.2.bb
new file mode 100644
index 000000000..93bb8cd19
--- /dev/null
+++ b/meta-oe/recipes-graphics/mesa/mesa-xlib_7.10.2.bb
@@ -0,0 +1,4 @@
1require mesa-common.inc
2require mesa-${PV}.inc
3require mesa-xlib.inc
4PR = "${INC_PR}.0"
diff --git a/meta-oe/recipes-graphics/mesa/mesa_7.10.2.bb b/meta-oe/recipes-graphics/mesa/mesa_7.10.2.bb
new file mode 100644
index 000000000..4cb8db7f7
--- /dev/null
+++ b/meta-oe/recipes-graphics/mesa/mesa_7.10.2.bb
@@ -0,0 +1,6 @@
1# This is a dummy package so OE can use the poky mesa files
2require mesa-dri_${PV}.bb
3
4PR = "${INC_PR}.0"
5
6EXTRA_OECONF += "--disable-egl"
diff --git a/meta-oe/recipes-graphics/tasks/task-fonts-truetype.bb b/meta-oe/recipes-graphics/tasks/task-fonts-truetype.bb
new file mode 100644
index 000000000..8ffa88b64
--- /dev/null
+++ b/meta-oe/recipes-graphics/tasks/task-fonts-truetype.bb
@@ -0,0 +1,40 @@
1DESCRIPTION = "Install one of these tasks to get support for truetype fonts."
2SECTION = "fonts"
3LICENSE = "MIT"
4LIC_FILES_CHKSUM = "file://${TOPDIR}/meta-shr/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420"
5PV = "1.0"
6PR = "r0"
7
8inherit task
9
10PACKAGES += "\
11 ${PN}-core \
12 ${PN}-chinese \
13 ${PN}-japanese \
14"
15
16RRECOMMENDS_task-fonts-truetype = "\
17 ${PN}-core \
18 ${PN}-chinese \
19 ${PN}-japanese \
20"
21
22RDEPENDS_task-fonts-truetype-core = "\
23 fontconfig-utils \
24 \
25 ttf-dejavu-common \
26 ttf-dejavu-sans \
27 ttf-dejavu-sans-mono \
28"
29# ttf-dejavu-serif \
30
31RDEPENDS_task-fonts-truetype-chinese = "\
32 ${PN}-core \
33 ttf-arphic-uming \
34"
35
36RDEPENDS_task-fonts-truetype-japanese = "\
37 ${PN}-core \
38 ttf-sazanami-gothic \
39 ttf-sazanami-mincho \
40"
diff --git a/meta-oe/recipes-graphics/ttf-fonts/ttf-liberation_0.2.bb b/meta-oe/recipes-graphics/ttf-fonts/ttf-liberation_0.2.bb
new file mode 100644
index 000000000..5ebb25751
--- /dev/null
+++ b/meta-oe/recipes-graphics/ttf-fonts/ttf-liberation_0.2.bb
@@ -0,0 +1,23 @@
1require ttf.inc
2
3DESCRIPTION = "Liberation fonts - TTF Version"
4HOMEPAGE = "https://www.redhat.com/promo/fonts/"
5LICENSE = "GPLv2"
6LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f \
7 file://License.txt;md5=5b171c5100029d884fcea21d9a2b7543 \
8"
9
10PR = "r3"
11
12SRC_URI = "http://fedorahosted.org/liberation-fonts/export/807b6dfd069b998cd9b4d3158da98817ef23c79d/F-9/liberation-fonts-ttf-3.tar.gz"
13S = "${WORKDIR}/liberation-fonts-${PV}"
14
15PACKAGES = "${PN}-dbg ttf-liberation-mono ttf-liberation-sans ttf-liberation-serif"
16RRECOMMENDS_${PN}-dbg = ""
17
18FILES_ttf-liberation-mono = "${datadir}/fonts/truetype/*Mono*"
19FILES_ttf-liberation-sans = "${datadir}/fonts/truetype/*Sans*"
20FILES_ttf-liberation-serif = "${datadir}/fonts/truetype/*Serif*"
21
22SRC_URI[md5sum] = "77728078a17e39f7c242b42c3bf6feb8"
23SRC_URI[sha256sum] = "174cf27c57612971434ec8cc4a52bfd37bad8408e9b9219539c6d5113df6ff8f"
diff --git a/meta-oe/recipes-graphics/xinput-calibrator/pointercal-xinput/iphone3g/pointercal.xinput b/meta-oe/recipes-graphics/xinput-calibrator/pointercal-xinput/iphone3g/pointercal.xinput
new file mode 100644
index 000000000..d6ce56b82
--- /dev/null
+++ b/meta-oe/recipes-graphics/xinput-calibrator/pointercal-xinput/iphone3g/pointercal.xinput
@@ -0,0 +1 @@
xinput set-int-prop "Touchscreen" "Evdev Axis Calibration" 32 -102 4739 6 7321;
diff --git a/meta-oe/recipes-graphics/xinput-calibrator/pointercal-xinput/nokia900/pointercal.xinput b/meta-oe/recipes-graphics/xinput-calibrator/pointercal-xinput/nokia900/pointercal.xinput
new file mode 100644
index 000000000..66bb32cab
--- /dev/null
+++ b/meta-oe/recipes-graphics/xinput-calibrator/pointercal-xinput/nokia900/pointercal.xinput
@@ -0,0 +1,2 @@
1xinput set-int-prop "Touchscreen" "Evdev Axis Calibration" 32 204 3897 3763 178;
2
diff --git a/meta-oe/recipes-graphics/xinput-calibrator/pointercal-xinput/om-gta01/pointercal.xinput b/meta-oe/recipes-graphics/xinput-calibrator/pointercal-xinput/om-gta01/pointercal.xinput
new file mode 100644
index 000000000..be25da352
--- /dev/null
+++ b/meta-oe/recipes-graphics/xinput-calibrator/pointercal-xinput/om-gta01/pointercal.xinput
@@ -0,0 +1,2 @@
1xinput set-int-prop "Touchscreen" "Evdev Axis Calibration" 32 107 918 911 98
2xinput set-int-prop "Touchscreen" "Evdev Axes Swap" 8 1
diff --git a/meta-oe/recipes-graphics/xinput-calibrator/pointercal-xinput/om-gta02/pointercal.xinput b/meta-oe/recipes-graphics/xinput-calibrator/pointercal-xinput/om-gta02/pointercal.xinput
new file mode 100644
index 000000000..be25da352
--- /dev/null
+++ b/meta-oe/recipes-graphics/xinput-calibrator/pointercal-xinput/om-gta02/pointercal.xinput
@@ -0,0 +1,2 @@
1xinput set-int-prop "Touchscreen" "Evdev Axis Calibration" 32 107 918 911 98
2xinput set-int-prop "Touchscreen" "Evdev Axes Swap" 8 1
diff --git a/meta-oe/recipes-graphics/xinput-calibrator/pointercal-xinput/pointercal.xinput b/meta-oe/recipes-graphics/xinput-calibrator/pointercal-xinput/pointercal.xinput
new file mode 100644
index 000000000..9633fc5f3
--- /dev/null
+++ b/meta-oe/recipes-graphics/xinput-calibrator/pointercal-xinput/pointercal.xinput
@@ -0,0 +1 @@
# replace with valid machine specific pointercal.xinput
diff --git a/meta-oe/recipes-graphics/xinput-calibrator/pointercal-xinput_0.0.bb b/meta-oe/recipes-graphics/xinput-calibrator/pointercal-xinput_0.0.bb
new file mode 100644
index 000000000..e611862a4
--- /dev/null
+++ b/meta-oe/recipes-graphics/xinput-calibrator/pointercal-xinput_0.0.bb
@@ -0,0 +1,21 @@
1DESCRIPTION = "Touchscreen calibration data from xinput-calibrator"
2LICENSE = "MIT"
3LIC_FILES_CHKSUM = "file://${TOPDIR}/meta-shr/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420"
4
5SECTION = "base"
6
7PR = "r2"
8SRC_URI = "file://pointercal.xinput"
9S = "${WORKDIR}"
10
11do_install() {
12 # Only install file if it has a contents
13 if [ -s ${S}/pointercal.xinput ]; then
14 install -d ${D}${sysconfdir}/
15 install -m 0644 ${S}/pointercal.xinput ${D}${sysconfdir}/
16 fi
17}
18
19ALLOW_EMPTY_${PN} = "1"
20PACKAGE_ARCH = "${MACHINE_ARCH}"
21CONFFILES_${PN} = "${sysconfdir}/pointercal.xinput"
diff --git a/meta-oe/recipes-graphics/xinput-calibrator/xinput-calibrator.inc b/meta-oe/recipes-graphics/xinput-calibrator/xinput-calibrator.inc
new file mode 100644
index 000000000..357b0e5c0
--- /dev/null
+++ b/meta-oe/recipes-graphics/xinput-calibrator/xinput-calibrator.inc
@@ -0,0 +1,8 @@
1DESCRIPTION = "A generic touchscreen calibration program for X.Org"
2HOMEPAGE = "http://www.freedesktop.org/wiki/Software/xinput_calibrator"
3LICENSE = "MIT/X11"
4DEPENDS = "virtual/libx11 libxi"
5RDEPENDS_${PN} = "xinput pointercal-xinput"
6INC_PR = "r7"
7
8inherit autotools
diff --git a/meta-oe/recipes-graphics/xinput-calibrator/xinput-calibrator_0.6.1.bb b/meta-oe/recipes-graphics/xinput-calibrator/xinput-calibrator_0.6.1.bb
new file mode 100644
index 000000000..2eb3cc942
--- /dev/null
+++ b/meta-oe/recipes-graphics/xinput-calibrator/xinput-calibrator_0.6.1.bb
@@ -0,0 +1,17 @@
1require xinput-calibrator.inc
2
3LIC_FILES_CHKSUM = "file://src/calibrator.cpp;endline=22;md5=998e238a7638a7446eaeb02398f691fc"
4SRC_URI = "git://github.com/tias/xinput_calibrator.git;protocol=git"
5
6SRCREV = "d2ce98b3f638667dd64b6d718721379b2dc750a7"
7PR = "${INC_PR}.0"
8S = "${WORKDIR}/git/"
9
10do_install_append() {
11 install -d ${D}${bindir}
12 install -m 0755 scripts/xinput_calibrator_pointercal.sh ${D}${bindir}/xinput_calibrator_once.sh
13 ln -s ${bindir}/xinput_calibrator_x11 ${D}${bindir}/xinput_calibrator
14 install -d ${D}${datadir}/applications/
15 install -m 0755 scripts/xinput_calibrator.desktop ${D}${datadir}/applications/xinput-calibrator.desktop
16 install -m 0755 scripts/xinput_calibrator_get_hal_calibration.sh ${D}${bindir}/xinput_calibrator_get_hal_calibration.sh
17}
diff --git a/meta-oe/recipes-graphics/xorg-app/rgb_1.0.4.bb b/meta-oe/recipes-graphics/xorg-app/rgb_1.0.4.bb
new file mode 100644
index 000000000..59dca2ac7
--- /dev/null
+++ b/meta-oe/recipes-graphics/xorg-app/rgb_1.0.4.bb
@@ -0,0 +1,10 @@
1require xorg-app-common.inc
2DEPENDS += " xproto util-macros"
3LIC_FILES_CHKSUM = "file://COPYING;md5=ef598adbe241bd0b0b9113831f6e249a"
4PE = "1"
5PR = "${INC_PR}.0"
6
7SRC_URI[md5sum] = "35c6cccbf25a872bdd62bfcb1a73d951"
8SRC_URI[sha256sum] = "80887da011ad086fff88bfd16c6d9d5ac7da45ef1bc9d0c192a6f370423370f1"
9
10FILES_${PN} += "${datadir}/X11"
diff --git a/meta-oe/recipes-graphics/xorg-app/xinput_1.5.3.bb b/meta-oe/recipes-graphics/xorg-app/xinput_1.5.3.bb
new file mode 100644
index 000000000..c1acc983d
--- /dev/null
+++ b/meta-oe/recipes-graphics/xorg-app/xinput_1.5.3.bb
@@ -0,0 +1,8 @@
1require xorg-app-common.inc
2LIC_FILES_CHKSUM = "file://COPYING;md5=22c34ea36136407a77702a8b784f9bd0"
3DESCRIPTION = "a utility to configure and test XInput devices"
4DEPENDS += " libxi"
5PR = "${INC_PR}.0"
6
7SRC_URI[md5sum] = "1e2f0ad4f3fa833b65c568907f171d28"
8SRC_URI[sha256sum] = "6aade131cecddaeefc39ddce1dd5e8473f6039c2e4efbfd9fbb5ee2a75885c76"
diff --git a/meta-oe/recipes-graphics/xorg-app/xorg-app-common.inc b/meta-oe/recipes-graphics/xorg-app/xorg-app-common.inc
new file mode 100644
index 000000000..8358af4d5
--- /dev/null
+++ b/meta-oe/recipes-graphics/xorg-app/xorg-app-common.inc
@@ -0,0 +1,15 @@
1DESCRIPTION = "X application"
2HOMEPAGE = "http://www.x.org/"
3SECTION = "x11/apps"
4LICENSE = "MIT-X"
5DEPENDS = "util-macros-native virtual/libx11"
6
7INC_PR = "r5"
8
9SRC_URI = "${XORG_MIRROR}/individual/app/${BPN}-${PV}.tar.bz2"
10
11S = "${WORKDIR}/${BPN}-${PV}"
12
13inherit autotools pkgconfig
14
15FILES_${PN} += " /usr/lib/X11/${BPN} /usr/share/X11/app-defaults/"
diff --git a/meta-oe/recipes-graphics/xorg-doc/xorg-doc-common.inc b/meta-oe/recipes-graphics/xorg-doc/xorg-doc-common.inc
new file mode 100644
index 000000000..f4b8b00de
--- /dev/null
+++ b/meta-oe/recipes-graphics/xorg-doc/xorg-doc-common.inc
@@ -0,0 +1,12 @@
1DESCRIPTION = "X documentation"
2HOMEPAGE = "http://www.x.org"
3SECTION = "x11/docs"
4LICENSE = "MIT-X"
5
6SRC_URI = "${XORG_MIRROR}/individual/doc/${BPN}-${PV}.tar.bz2"
7
8S = "${WORKDIR}/${BPN}-${PV}"
9
10INC_PR = "r1"
11
12inherit autotools pkgconfig
diff --git a/meta-oe/recipes-graphics/xorg-doc/xorg-sgml-doctools_1.7.bb b/meta-oe/recipes-graphics/xorg-doc/xorg-sgml-doctools_1.7.bb
new file mode 100644
index 000000000..55f4bacc2
--- /dev/null
+++ b/meta-oe/recipes-graphics/xorg-doc/xorg-sgml-doctools_1.7.bb
@@ -0,0 +1,8 @@
1require xorg-doc-common.inc
2PE = "1"
3PR = "${INC_PR}.0"
4
5SRC_URI[md5sum] = "2588efb3f49f7fc6ecf41ce42e0b2e5e"
6SRC_URI[sha256sum] = "84fd94e5c50556e6f77501485f8a48724cf3c95c6d58480bc280258ba14580c8"
7
8FILES_${PN} += " /usr/share/sgml/X11"
diff --git a/meta-oe/recipes-graphics/xorg-driver/xf86-input-keyboard_1.6.0.bb b/meta-oe/recipes-graphics/xorg-driver/xf86-input-keyboard_1.6.0.bb
new file mode 100644
index 000000000..cbbc7c717
--- /dev/null
+++ b/meta-oe/recipes-graphics/xorg-driver/xf86-input-keyboard_1.6.0.bb
@@ -0,0 +1,17 @@
1require xorg-driver-input.inc
2
3SUMMARY = "X.Org X server -- keyboard input driver"
4
5DESCRIPTION = "keyboard is an Xorg input driver for keyboards. The \
6driver supports the standard OS-provided keyboard interface. The driver \
7functions as a keyboard input device, and may be used as the X server's \
8core keyboard."
9
10LIC_FILES_CHKSUM = "file://COPYING;md5=ea2099d24ac9e316a6d4b9f20b3d4e10"
11
12DEPENDS += " kbproto"
13PE = "1"
14PR = "${INC_PR}.0"
15
16SRC_URI[md5sum] = "e2abe9f13e526a73cb68a7d257546eba"
17SRC_URI[sha256sum] = "c46c790fec905d696573b7a374b10ab8b4389112a8f69993fe011006c99e858e"
diff --git a/meta-oe/recipes-graphics/xorg-driver/xf86-input-mouse_1.7.0.bb b/meta-oe/recipes-graphics/xorg-driver/xf86-input-mouse_1.7.0.bb
new file mode 100644
index 000000000..88b304ffa
--- /dev/null
+++ b/meta-oe/recipes-graphics/xorg-driver/xf86-input-mouse_1.7.0.bb
@@ -0,0 +1,17 @@
1require xorg-driver-input.inc
2
3SUMMARY = "X.Org X server -- mouse input driver"
4
5DESCRIPTION = "mouse is an Xorg input driver for mice. The driver \
6supports most available mouse types and interfaces. The mouse driver \
7functions as a pointer input device, and may be used as the X server's \
8core pointer. Multiple mice are supported by multiple instances of this \
9driver."
10
11LIC_FILES_CHKSUM = "file://COPYING;md5=237eb1d1a602d29ef2af62d8fba60f19"
12
13PE = "1"
14PR = "${INC_PR}.0"
15
16SRC_URI[md5sum] = "7f31472689c15b6de62eff04d0fb57d7"
17SRC_URI[sha256sum] = "4e989542b5e9e0c5f9087288b18e70de1064dd27c83a4bc6dce58f3ea9d74994"
diff --git a/meta-oe/recipes-graphics/xorg-driver/xf86-input-tslib/10-x11-input-tslib.fdi b/meta-oe/recipes-graphics/xorg-driver/xf86-input-tslib/10-x11-input-tslib.fdi
new file mode 100644
index 000000000..906043947
--- /dev/null
+++ b/meta-oe/recipes-graphics/xorg-driver/xf86-input-tslib/10-x11-input-tslib.fdi
@@ -0,0 +1,11 @@
1<?xml version="1.0" encoding="UTF-8"?>
2<deviceinfo version="0.2">
3 <device>
4 <match key="info.capabilities" contains="input.touchpad">
5 <merge key="input.x11_driver" type="string">tslib</merge>
6 </match>
7 <match key="info.capabilities" contains="input.touchscreen">
8 <merge key="input.x11_driver" type="string">tslib</merge>
9 </match>
10 </device>
11</deviceinfo>
diff --git a/meta-oe/recipes-graphics/xorg-driver/xf86-input-tslib/99-xf86-input-tslib.rules b/meta-oe/recipes-graphics/xorg-driver/xf86-input-tslib/99-xf86-input-tslib.rules
new file mode 100644
index 000000000..ec130c257
--- /dev/null
+++ b/meta-oe/recipes-graphics/xorg-driver/xf86-input-tslib/99-xf86-input-tslib.rules
@@ -0,0 +1,5 @@
1# create /dev/input/touchscreenX symlink, tag xf86-input-tslib as driver
2SUBSYSTEM=="input", KERNEL=="event[0-9]*", ATTRS{modalias}=="input:*-e0*,3,*a0,1,*18,*", SYMLINK+="input/touchscreen%n", ENV{x11_driver}="tslib"
3SUBSYSTEM=="input", KERNEL=="event[0-9]*", ATTRS{modalias}=="ads7846", SYMLINK+="input/touchscreen%n", ENV{x11_driver}="tslib"
4
5
diff --git a/meta-oe/recipes-graphics/xorg-driver/xf86-input-tslib/double-free-crash.patch b/meta-oe/recipes-graphics/xorg-driver/xf86-input-tslib/double-free-crash.patch
new file mode 100644
index 000000000..07754731d
--- /dev/null
+++ b/meta-oe/recipes-graphics/xorg-driver/xf86-input-tslib/double-free-crash.patch
@@ -0,0 +1,20 @@
1xorg-server-1.7.3/hw/xfree86/common/xf86Helper.c contains this code
2causing a double free crash on chvt or exit:
3
4 /* This should *really* be handled in drv->UnInit(dev) call instead, but
5 * if the driver forgets about it make sure we free it or at least crash
6 * with flying colors */
7 if (pInp->private)
8 xfree(pInp->private);
9Index: xf86-input-tslib-0.0.6/src/tslib.c
10===================================================================
11--- xf86-input-tslib-0.0.6.orig/src/tslib.c
12+++ xf86-input-tslib-0.0.6/src/tslib.c
13@@ -435,6 +435,7 @@ xf86TslibUninit(InputDriverPtr drv, Inpu
14 xf86TslibControlProc(pInfo->dev, DEVICE_OFF);
15 ts_close(priv->ts);
16 xfree(pInfo->private);
17+ pInfo->private = NULL;
18 xf86DeleteInput(pInfo, 0);
19 }
20
diff --git a/meta-oe/recipes-graphics/xorg-driver/xf86-input-tslib/xserver-174-XGetPointerControl.patch b/meta-oe/recipes-graphics/xorg-driver/xf86-input-tslib/xserver-174-XGetPointerControl.patch
new file mode 100644
index 000000000..a1f6ba8f9
--- /dev/null
+++ b/meta-oe/recipes-graphics/xorg-driver/xf86-input-tslib/xserver-174-XGetPointerControl.patch
@@ -0,0 +1,34 @@
1From Grazvydas Ignotas
2
3At least xserver 1.7.4 crashes on XGetPointerControl request because of xf86-input-tslib:
4
5Program received signal SIGSEGV, Segmentation fault.
6#0 0x000355e0 in ProcGetPointerControl (client=0x4a2e58) at devices.c:2122
7#1 0x00062fa8 in Dispatch () at dispatch.c:439
8#2 0x00022444 in main (argc=4, argv=0xbeebedc4, envp=0xbeebedd8) at main.c:285
9
10This happens because ptrfeed field is not set in device structure from tslib.
11To fix this, call InitPtrFeedbackClassDeviceStruct() during DEVICE_INIT to get necessary setup done (as done in other input drivers).
12
13---
14diff -ur xf86-input-tslib-0.0.6/src/tslib.c xf86-input-tslib-0.0.6_/src/tslib.c
15--- xf86-input-tslib-0.0.6/src/tslib.c 2010-02-09 12:23:22.000000000 +0200
16+++ xf86-input-tslib-0.0.6_/src/tslib.c 2010-02-09 12:37:33.000000000 +0200
17@@ -103,8 +103,6 @@
18 static void
19 PointerControlProc(DeviceIntPtr dev, PtrCtrl * ctrl)
20 {
21- ErrorF("%s\n", __FUNCTION__);
22- return;
23 }
24
25 static Bool
26@@ -406,6 +404,8 @@
27 xf86MotionHistoryAllocate(pInfo);
28 #endif
29
30+ if (!InitPtrFeedbackClassDeviceStruct(device, PointerControlProc))
31+ return !Success;
32 break;
33
34 case DEVICE_ON:
diff --git a/meta-oe/recipes-graphics/xorg-driver/xf86-input-tslib_0.0.6.bb b/meta-oe/recipes-graphics/xorg-driver/xf86-input-tslib_0.0.6.bb
new file mode 100644
index 000000000..d5d11ce15
--- /dev/null
+++ b/meta-oe/recipes-graphics/xorg-driver/xf86-input-tslib_0.0.6.bb
@@ -0,0 +1,32 @@
1require xorg-driver-input.inc
2DESCRIPTION = "X.Org X server -- tslib input driver"
3DEPENDS += "tslib"
4RRECOMMENDS_${PN} += "tslib-calibrate"
5RSUGGESTS_${PN} += "hal"
6
7# derived from xf86-input-void, that's why I kept MIT-X, but it's not clear, see COPYING
8LIC_FILES_CHKSUM = "file://src/tslib.c;endline=28;md5=bd62eaef222dcf5cd59e490a12bd795e \
9 file://COPYING;md5=4641deddaa80fe7ca88e944e1fd94a94"
10
11PR = "${INC_PR}.1"
12
13SRC_URI = "http://www.pengutronix.de/software/xf86-input-tslib/download/xf86-input-tslib-${PV}.tar.bz2;name=archive \
14 file://double-free-crash.patch \
15 file://10-x11-input-tslib.fdi \
16 file://xserver-174-XGetPointerControl.patch \
17 file://99-xf86-input-tslib.rules \
18"
19SRC_URI[md5sum] = "b7a4d2f11637ee3fcf432e044b1d017f"
20SRC_URI[sha256sum] = "5f46fdef095a6e44a69e0f0b57c7d665224b26d990d006611236d8332e85b105"
21
22do_configure_prepend() {
23 rm -rf ${S}/m4/ || true
24}
25do_install_append() {
26 install -d ${D}/${datadir}/hal/fdi/policy/20thirdparty
27 install -m 0644 ${WORKDIR}/10-x11-input-tslib.fdi ${D}/${datadir}/hal/fdi/policy/20thirdparty
28 install -d ${D}/lib/udev/rules.d
29 install -m 0644 ${WORKDIR}/99-xf86-input-tslib.rules ${D}/lib/udev/rules.d/
30}
31
32FILES_${PN} += "${datadir}/hal /lib/udev"
diff --git a/meta-oe/recipes-graphics/xorg-driver/xf86-video-fbdev_0.4.2.bb b/meta-oe/recipes-graphics/xorg-driver/xf86-video-fbdev_0.4.2.bb
new file mode 100644
index 000000000..d555fbc4b
--- /dev/null
+++ b/meta-oe/recipes-graphics/xorg-driver/xf86-video-fbdev_0.4.2.bb
@@ -0,0 +1,9 @@
1require xorg-driver-video.inc
2LIC_FILES_CHKSUM = "file://COPYING;md5=d8cbd99fff773f92e844948f74ef0df8"
3
4DESCRIPTION = "X.Org X server -- fbdev display driver"
5PE = "1"
6PR = "${INC_PR}.1"
7
8SRC_URI[md5sum] = "53a533d9e0c2da50962282526bace074"
9SRC_URI[sha256sum] = "93b271b4b41d7e5ca108849a583b9523e96c51813d046282285355b7001f82d5"
diff --git a/meta-oe/recipes-graphics/xorg-driver/xf86-video-glamo/0001-glamo-drm-define-GLAMO_CMDQ_MAX_COUNT-instead-of-mag.patch b/meta-oe/recipes-graphics/xorg-driver/xf86-video-glamo/0001-glamo-drm-define-GLAMO_CMDQ_MAX_COUNT-instead-of-mag.patch
new file mode 100644
index 000000000..0c7350fc1
--- /dev/null
+++ b/meta-oe/recipes-graphics/xorg-driver/xf86-video-glamo/0001-glamo-drm-define-GLAMO_CMDQ_MAX_COUNT-instead-of-mag.patch
@@ -0,0 +1,66 @@
1From e2d0f9a3ba7f36b0b8ac8d736dd76da6e5e07f38 Mon Sep 17 00:00:00 2001
2From: Martin Jansa <Martin.Jansa@gmail.com>
3Date: Fri, 29 Oct 2010 11:19:08 +0200
4Subject: [PATCH] glamo-drm: define GLAMO_CMDQ_MAX_COUNT instead of magic constant 1024
5
6* fix check for full queue, because size != count here
7* make sure we have enough space in queue for 2 resp. 4 more commands in
8 GlamoDRMAddCommand resp. GlamoDRMAddCommandBO
9
10Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
11---
12 src/glamo-drm.c | 16 +++++++++++-----
13 1 files changed, 11 insertions(+), 5 deletions(-)
14
15diff --git a/src/glamo-drm.c b/src/glamo-drm.c
16index aac93bb..01e8510 100644
17--- a/src/glamo-drm.c
18+++ b/src/glamo-drm.c
19@@ -32,6 +32,8 @@
20
21 #include "glamo.h"
22
23+/* How many commands can be stored before forced dispatch */
24+#define GLAMO_CMDQ_MAX_COUNT 1024
25
26 /* Submit the prepared command sequence to the kernel */
27 void GlamoDRMDispatch(GlamoPtr pGlamo)
28@@ -60,7 +62,7 @@ void GlamoDRMDispatch(GlamoPtr pGlamo)
29
30 void GlamoDRMAddCommand(GlamoPtr pGlamo, uint16_t reg, uint16_t val)
31 {
32- if ( pGlamo->cmdq_drm_used == pGlamo->cmdq_drm_size ) {
33+ if ( pGlamo->cmdq_drm_used >= GLAMO_CMDQ_MAX_COUNT - 2 ) {
34 xf86DrvMsg(pGlamo->pScreen->myNum, X_INFO,
35 "Forced command cache flush.\n");
36 GlamoDRMDispatch(pGlamo);
37@@ -74,7 +76,8 @@ void GlamoDRMAddCommand(GlamoPtr pGlamo, uint16_t reg, uint16_t val)
38
39 void GlamoDRMAddCommandBO(GlamoPtr pGlamo, uint16_t reg, struct glamo_bo *bo)
40 {
41- if ( pGlamo->cmdq_drm_used == pGlamo->cmdq_drm_size ) {
42+ if ( pGlamo->cmdq_drm_used >= GLAMO_CMDQ_MAX_COUNT - 4 ||
43+ pGlamo->cmdq_obj_used >= GLAMO_CMDQ_MAX_COUNT) {
44 xf86DrvMsg(pGlamo->pScreen->myNum, X_INFO,
45 "Forced command cache flush.\n");
46 GlamoDRMDispatch(pGlamo);
47@@ -98,10 +101,13 @@ void GlamoDRMAddCommandBO(GlamoPtr pGlamo, uint16_t reg, struct glamo_bo *bo)
48
49 void GlamoDRMInit(GlamoPtr pGlamo)
50 {
51- pGlamo->cmdq_objs = malloc(1024);
52- pGlamo->cmdq_obj_pos = malloc(1024);
53+ pGlamo->cmdq_objs = malloc(GLAMO_CMDQ_MAX_COUNT);
54+ pGlamo->cmdq_obj_pos = malloc(GLAMO_CMDQ_MAX_COUNT);
55 pGlamo->cmdq_obj_used = 0;
56 pGlamo->cmdq_drm_used = 0;
57- pGlamo->cmdq_drm_size = 4 * 1024;
58+ /* we're using 2bytes per entry (uint16_t) that's why we need to allocate
59+ * GLAMO_CMDQ_MAX_COUNT * 2 bytes
60+ */
61+ pGlamo->cmdq_drm_size = 2 * GLAMO_CMDQ_MAX_COUNT;
62 pGlamo->cmdq_drm = malloc(pGlamo->cmdq_drm_size);
63 }
64--
651.7.3.2
66
diff --git a/meta-oe/recipes-graphics/xorg-driver/xf86-video-glamo_git.bb b/meta-oe/recipes-graphics/xorg-driver/xf86-video-glamo_git.bb
new file mode 100644
index 000000000..c9e1d5699
--- /dev/null
+++ b/meta-oe/recipes-graphics/xorg-driver/xf86-video-glamo_git.bb
@@ -0,0 +1,19 @@
1require xorg-driver-video.inc
2DESCRIPTION = "X.Org X server -- Glamo display driver with KMS support"
3DEPENDS += "libdrm"
4
5LIC_FILES_CHKSUM = "file://COPYING;md5=d8cbd99fff773f92e844948f74ef0df8"
6
7RDEPENDS_${PN} = "xserver-xorg-extension-dri xserver-xorg-extension-dri2 xserver-xorg-extension-glx mesa-dri"
8PE = "2"
9PV = "1.0.0+gitr${SRCPV}"
10PR = "${INC_PR}.5"
11
12SRC_URI = "git://git.openmoko.org/git/xf86-video-glamo.git;protocol=git;branch=master \
13 file://0001-glamo-drm-define-GLAMO_CMDQ_MAX_COUNT-instead-of-mag.patch \
14 "
15
16S = "${WORKDIR}/git"
17SRCREV = "16af3c00195adc68cbd508e3613be4b2349260b3"
18
19EXTRA_OECONF = " --enable-kms "
diff --git a/meta-oe/recipes-graphics/xorg-driver/xorg-driver-common.inc b/meta-oe/recipes-graphics/xorg-driver/xorg-driver-common.inc
new file mode 100644
index 000000000..970b0d176
--- /dev/null
+++ b/meta-oe/recipes-graphics/xorg-driver/xorg-driver-common.inc
@@ -0,0 +1,40 @@
1DESCRIPTION = "X driver"
2HOMEPAGE = "http://www.x.org"
3SECTION = "x11/drivers"
4LICENSE = "MIT-X"
5INC_PR = "r15"
6
7DEPENDS = "randrproto xorg-server xproto"
8
9SRC_URI = "${XORG_MIRROR}/individual/driver/${BPN}-${PV}.tar.bz2"
10
11S = "${WORKDIR}/${BPN}-${PV}"
12
13FILES_${PN} += " ${libdir}/xorg/modules"
14FILES_${PN}-dbg += "${libdir}/xorg/modules/*/.debug"
15
16inherit autotools pkgconfig
17
18TARGET_CPPFLAGS += "-I${STAGING_DIR_HOST}/usr/include/xorg"
19
20# Another sucky behavor from Xorg configure scripts.
21# They use AC_CHECK_FILE to check for DRI headers. Yuck!
22# Of course this will blow up when cross compiling.
23
24do_configure_prepend() {
25 incdir=${layout_includedir}/xorg
26 for f in dri.h sarea.h dristruct.h exa.h damage.h xf86Module.h; do
27 path="$incdir/$f"
28 if [ -f "${STAGING_DIR_HOST}/$path" ]; then
29 p=`echo "$path" | sed 'y%*+%pp%;s%[^_[:alnum:]]%_%g'`
30 eval "export ac_cv_file_$p=yes"
31 fi
32 done
33}
34
35# FIXME: We don't want to include the libtool archives (*.la) from modules
36# directory, as they serve no useful purpose. Upstream should fix Makefile.am
37do_install_append() {
38 find ${D}${libdir}/xorg/modules -regex ".*\.la$" | xargs rm -f --
39}
40
diff --git a/meta-oe/recipes-graphics/xorg-driver/xorg-driver-input.inc b/meta-oe/recipes-graphics/xorg-driver/xorg-driver-input.inc
new file mode 100644
index 000000000..e44dbd58f
--- /dev/null
+++ b/meta-oe/recipes-graphics/xorg-driver/xorg-driver-input.inc
@@ -0,0 +1,4 @@
1include xorg-driver-common.inc
2
3DEPENDS = "randrproto inputproto xserver-xorg xproto"
4
diff --git a/meta-oe/recipes-graphics/xorg-driver/xorg-driver-video.inc b/meta-oe/recipes-graphics/xorg-driver/xorg-driver-video.inc
new file mode 100644
index 000000000..36b5b7595
--- /dev/null
+++ b/meta-oe/recipes-graphics/xorg-driver/xorg-driver-video.inc
@@ -0,0 +1,4 @@
1include xorg-driver-common.inc
2
3DEPENDS = "randrproto renderproto videoproto xextproto fontsproto xserver-xorg xproto"
4
diff --git a/meta-oe/recipes-graphics/xorg-lib/liblbxutil-1.1.0/mkg3states-1.1.patch b/meta-oe/recipes-graphics/xorg-lib/liblbxutil-1.1.0/mkg3states-1.1.patch
new file mode 100644
index 000000000..f9f4a6382
--- /dev/null
+++ b/meta-oe/recipes-graphics/xorg-lib/liblbxutil-1.1.0/mkg3states-1.1.patch
@@ -0,0 +1,55 @@
1diff -uNr liblbxutil-1.1.0.orig/configure.ac liblbxutil-1.1.0/configure.ac
2--- liblbxutil-1.1.0.orig/configure.ac 2009-12-04 23:52:04.000000000 +0100
3+++ liblbxutil-1.1.0/configure.ac 2009-12-16 10:45:00.000000000 +0100
4@@ -50,4 +50,5 @@
5
6 AC_OUTPUT([Makefile
7 src/Makefile
8+ src/image/Makefile
9 lbxutil.pc])
10diff -uNr liblbxutil-1.1.0.orig/src/image/Makefile.am liblbxutil-1.1.0/src/image/Makefile.am
11--- liblbxutil-1.1.0.orig/src/image/Makefile.am 1970-01-01 01:00:00.000000000 +0100
12+++ liblbxutil-1.1.0/src/image/Makefile.am 2009-12-16 10:45:00.000000000 +0100
13@@ -0,0 +1,15 @@
14+# evil hack
15+CFLAGS=$(CFLAGS_FOR_BUILD)
16+CPPFLAGS=$(CPPFLAGS_FOR_BUILD)
17+LDFLAGS=$(LDFLAGS_FOR_BUILD)
18+
19+CC=$(CC_FOR_BUILD)
20+LIBTOOL = @LIBTOOL@ --tag=CC
21+
22+noinst_PROGRAMS = mkg3states
23+
24+mkg3states_SOURCES = \
25+ mkg3states.c
26+
27+mkg3states_CFLAGS=$(CFLAGS_FOR_BUILD)
28+mkg3states_LDFLAGS=$(LDFLAGS_FOR_BUILD)
29diff -uNr liblbxutil-1.1.0.orig/src/Makefile.am liblbxutil-1.1.0/src/Makefile.am
30--- liblbxutil-1.1.0.orig/src/Makefile.am 2009-12-16 10:48:11.000000000 +0100
31+++ liblbxutil-1.1.0/src/Makefile.am 2009-12-16 10:46:47.000000000 +0100
32@@ -3,10 +3,7 @@
33 AM_CFLAGS = $(CWARNFLAGS) $(LBXUTIL_CFLAGS)
34 INCLUDES = -I$(top_srcdir)/include
35
36-noinst_PROGRAMS = mkg3states
37-
38-mkg3states_SOURCES = \
39- $(srcdir)/image/mkg3states.c
40+SUBDIRS = image
41
42 liblbxutil_la_SOURCES = \
43 $(srcdir)/lbx_zlib/reqstats.h \
44@@ -38,9 +35,8 @@
45
46 $(srcdir)/image/dfaxg42d.c: g3states.h
47
48-g3states.h: mkg3states
49- -rm -f g3states.h
50- $(AM_V_GEN) ./mkg3states -c > g3states.h_ && mv g3states.h_ g3states.h
51+g3states.h: image/mkg3states
52+ $(AM_V_GEN) ./image/mkg3states -c > g3states.h_ && mv g3states.h_ g3states.h
53
54 liblbxutil_la_LDFLAGS = -version-number 1:0:0 -no-undefined
55
diff --git a/meta-oe/recipes-graphics/xorg-lib/liblbxutil_1.1.0.bb b/meta-oe/recipes-graphics/xorg-lib/liblbxutil_1.1.0.bb
new file mode 100644
index 000000000..52235866e
--- /dev/null
+++ b/meta-oe/recipes-graphics/xorg-lib/liblbxutil_1.1.0.bb
@@ -0,0 +1,14 @@
1require xorg-lib-common.inc
2
3LIC_FILES_CHKSUM = "file://COPYING;md5=b0d5bdc98f7ebab3b6c3791d9bf40907"
4
5DESCRIPTION = "XFIXES Extension"
6DEPENDS += " xextproto xproto zlib"
7PE = "1"
8PR = "${INC_PR}.0"
9
10SRC_URI += "file://mkg3states-1.1.patch"
11SRC_URI[md5sum] = "273329a78c2e9ea189ac416c7fde94a1"
12SRC_URI[sha256sum] = "c6b6ff7858ec619cafa8205debca6bf78c5610a2844a782ed643c7fd017cf8ae"
13
14export CC_FOR_BUILD = "gcc"
diff --git a/meta-oe/recipes-graphics/xorg-lib/libx11-1.4.1/keysymdef_include.patch b/meta-oe/recipes-graphics/xorg-lib/libx11-1.4.1/keysymdef_include.patch
new file mode 100644
index 000000000..1a30e345f
--- /dev/null
+++ b/meta-oe/recipes-graphics/xorg-lib/libx11-1.4.1/keysymdef_include.patch
@@ -0,0 +1,19 @@
1diff -uNr libX11-1.3.6.orig//configure.ac libX11-1.3.6/configure.ac
2--- libX11-1.3.6.orig//configure.ac 2010-09-20 08:04:16.000000000 +0200
3+++ libX11-1.3.6/configure.ac 2010-09-28 16:29:26.000000000 +0200
4@@ -355,7 +355,14 @@
5 # Find keysymdef.h
6 #
7 AC_MSG_CHECKING([keysym definitions])
8-KEYSYMDEFDIR=`$PKG_CONFIG --variable=includedir xproto`/X11
9+AC_ARG_WITH(keysymdefdir,
10+ AC_HELP_STRING([--with-keysymdefdir=DIR], [The location of keysymdef.h]),
11+ KEYSYMDEFDIR=$withval, KEYSYMDEFDIR="")
12+
13+if test x$KEYSYMDEFDIR = x; then
14+ KEYSYMDEFDIR=`$PKG_CONFIG --variable=includedir xproto`/X11
15+fi
16+
17 FILES="keysymdef.h XF86keysym.h Sunkeysym.h DECkeysym.h HPkeysym.h"
18 for i in $FILES; do
19 if test -f "$KEYSYMDEFDIR/$i"; then
diff --git a/meta-oe/recipes-graphics/xorg-lib/libx11-1.4.1/x11_disable_makekeys.patch b/meta-oe/recipes-graphics/xorg-lib/libx11-1.4.1/x11_disable_makekeys.patch
new file mode 100644
index 000000000..976331397
--- /dev/null
+++ b/meta-oe/recipes-graphics/xorg-lib/libx11-1.4.1/x11_disable_makekeys.patch
@@ -0,0 +1,29 @@
1Index: libX11-1.3.4/src/util/Makefile.am
2===================================================================
3--- libX11-1.3.4.orig/src/util/Makefile.am
4+++ libX11-1.3.4/src/util/Makefile.am
5@@ -1,24 +1 @@
6-
7-noinst_PROGRAMS=makekeys
8-
9-makekeys_CFLAGS = \
10- $(X11_CFLAGS) \
11- $(CWARNFLAGS)
12-
13-CC = @CC_FOR_BUILD@
14-CPPFLAGS = @CPPFLAGS_FOR_BUILD@
15-CFLAGS = @CFLAGS_FOR_BUILD@
16-LDFLAGS = @LDFLAGS_FOR_BUILD@
17-
18 EXTRA_DIST = mkks.sh
19-
20-if LINT
21-# Check source code with tools like lint & sparse
22-
23-ALL_LINT_FLAGS=$(LINT_FLAGS) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
24- $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS)
25-
26-lint:
27- $(LINT) $(ALL_LINT_FLAGS) makekeys.c
28-
29-endif LINT
diff --git a/meta-oe/recipes-graphics/xorg-lib/libx11-1.4.3/keysymdef_include.patch b/meta-oe/recipes-graphics/xorg-lib/libx11-1.4.3/keysymdef_include.patch
new file mode 100644
index 000000000..1a30e345f
--- /dev/null
+++ b/meta-oe/recipes-graphics/xorg-lib/libx11-1.4.3/keysymdef_include.patch
@@ -0,0 +1,19 @@
1diff -uNr libX11-1.3.6.orig//configure.ac libX11-1.3.6/configure.ac
2--- libX11-1.3.6.orig//configure.ac 2010-09-20 08:04:16.000000000 +0200
3+++ libX11-1.3.6/configure.ac 2010-09-28 16:29:26.000000000 +0200
4@@ -355,7 +355,14 @@
5 # Find keysymdef.h
6 #
7 AC_MSG_CHECKING([keysym definitions])
8-KEYSYMDEFDIR=`$PKG_CONFIG --variable=includedir xproto`/X11
9+AC_ARG_WITH(keysymdefdir,
10+ AC_HELP_STRING([--with-keysymdefdir=DIR], [The location of keysymdef.h]),
11+ KEYSYMDEFDIR=$withval, KEYSYMDEFDIR="")
12+
13+if test x$KEYSYMDEFDIR = x; then
14+ KEYSYMDEFDIR=`$PKG_CONFIG --variable=includedir xproto`/X11
15+fi
16+
17 FILES="keysymdef.h XF86keysym.h Sunkeysym.h DECkeysym.h HPkeysym.h"
18 for i in $FILES; do
19 if test -f "$KEYSYMDEFDIR/$i"; then
diff --git a/meta-oe/recipes-graphics/xorg-lib/libx11-1.4.3/x11_disable_makekeys.patch b/meta-oe/recipes-graphics/xorg-lib/libx11-1.4.3/x11_disable_makekeys.patch
new file mode 100644
index 000000000..976331397
--- /dev/null
+++ b/meta-oe/recipes-graphics/xorg-lib/libx11-1.4.3/x11_disable_makekeys.patch
@@ -0,0 +1,29 @@
1Index: libX11-1.3.4/src/util/Makefile.am
2===================================================================
3--- libX11-1.3.4.orig/src/util/Makefile.am
4+++ libX11-1.3.4/src/util/Makefile.am
5@@ -1,24 +1 @@
6-
7-noinst_PROGRAMS=makekeys
8-
9-makekeys_CFLAGS = \
10- $(X11_CFLAGS) \
11- $(CWARNFLAGS)
12-
13-CC = @CC_FOR_BUILD@
14-CPPFLAGS = @CPPFLAGS_FOR_BUILD@
15-CFLAGS = @CFLAGS_FOR_BUILD@
16-LDFLAGS = @LDFLAGS_FOR_BUILD@
17-
18 EXTRA_DIST = mkks.sh
19-
20-if LINT
21-# Check source code with tools like lint & sparse
22-
23-ALL_LINT_FLAGS=$(LINT_FLAGS) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
24- $(AM_CPPFLAGS) $(CPPFLAGS) $(AM_CFLAGS)
25-
26-lint:
27- $(LINT) $(ALL_LINT_FLAGS) makekeys.c
28-
29-endif LINT
diff --git a/meta-oe/recipes-graphics/xorg-lib/libx11.inc b/meta-oe/recipes-graphics/xorg-lib/libx11.inc
new file mode 100644
index 000000000..d1e646af0
--- /dev/null
+++ b/meta-oe/recipes-graphics/xorg-lib/libx11.inc
@@ -0,0 +1,52 @@
1require xorg-lib-common.inc
2
3DESCRIPTION = "Base X libs."
4COMMON_DEPENDS = "util-macros xtrans libxdmcp libxau \
5 bigreqsproto xproto xextproto xcmiscproto \
6 xf86bigfontproto kbproto inputproto xproto-native"
7
8DEPENDS = "libxcb ${COMMON_DEPENDS}"
9DEPENDS_virtclass-native = "${COMMON_DEPENDS}"
10DEPENDS_virtclass-nativesdk = "${COMMON_DEPENDS}"
11
12FILESPATHPKG .= ":libx11-${PV}:libx11"
13BBCLASSEXTEND = "native nativesdk"
14PROVIDES = "virtual/libx11"
15PE = "1"
16
17PACKAGES =+ "${PN}-xcb"
18
19FILES_${PN} += "${datadir}/X11/XKeysymDB ${datadir}/X11/XErrorDB ${libdir}/X11/Xcms.txt"
20FILES_${PN}-xcb += "${libdir}/libX11-xcb.so.*"
21FILES_${PN}-locale += "${datadir}/X11/locale ${libdir}/X11/locale"
22
23XORG_PN = "libX11"
24
25EXTRA_OECONF += " --with-xcb --with-keysymdefdir=${STAGING_INCDIR}/X11 --with-groff=no --with-ps2pdf=no --with-fop=no"
26EXTRA_OECONF_virtclass-native = " --without-xcb --with-groff=no --with-ps2pdf=no --with-fop=no"
27EXTRA_OECONF_virtclass-nativesdk = " --without-xcb --with-groff=no --with-ps2pdf=no --with-fop=no"
28
29# Below option is added to overcome the GCC bug on ARM
30# see http://gcc.gnu.org/PR42981 for further details.
31# We could potentially take it off when its fixed in gcc 4.5
32
33CFLAGS_append_arm = " -fforward-propagate "
34
35SRC_URI += " file://keysymdef_include.patch \
36 file://x11_disable_makekeys.patch \
37"
38
39do_compile_prepend() {
40 (
41 unset CC LD CXX CCLD CFLAGS CPPFLAGS LDFLAGS CXXFLAGS
42 cd src/util;
43 mv makekeys.c.orig makekeys.c || true
44 # MIN_REHASH 10 is only in 1.0.1
45 sed -i -e 's:MIN_REHASH 10:MIN_REHASH 16:g' makekeys.c
46 sed -i -e 's:MIN_REHASH 15:MIN_REHASH 16:g' makekeys.c
47 touch makekeys-makekeys.o ; ${BUILD_CC} ${BUILD_CFLAGS} -I${STAGING_INCDIR_NATIVE} makekeys.c -o makekeys
48 # mv to stop it getting rebuilt
49 mv makekeys.c makekeys.c.orig
50 cd ../../
51 ) || exit 1
52}
diff --git a/meta-oe/recipes-graphics/xorg-lib/libx11_1.4.1.bb b/meta-oe/recipes-graphics/xorg-lib/libx11_1.4.1.bb
new file mode 100644
index 000000000..a4423305e
--- /dev/null
+++ b/meta-oe/recipes-graphics/xorg-lib/libx11_1.4.1.bb
@@ -0,0 +1,12 @@
1require libx11.inc
2
3LICENSE = "MIT & MIT-style & BSD"
4LIC_FILES_CHKSUM = "file://COPYING;md5=172255dee66bb0151435b2d5d709fcf7"
5
6#--without-xcb is not an option anymore
7#http://cgit.freedesktop.org/xorg/lib/libX11/commit/?id=15e5eaf62897b3179d1fbe457cb19f886f0449f8
8DEPENDS_virtclass-native = "libxcb-native ${COMMON_DEPENDS}"
9PR = "${INC_PR}.0"
10
11SRC_URI[md5sum] = "4603bdbce1bd73cbc140de402fe6ed24"
12SRC_URI[sha256sum] = "70f4e0f798645a0f269f362bfdbd4c7934dae3a2dd9ecbad28d6ede414f63ce2"
diff --git a/meta-oe/recipes-graphics/xorg-lib/libx11_1.4.3.bb b/meta-oe/recipes-graphics/xorg-lib/libx11_1.4.3.bb
new file mode 100644
index 000000000..481b90f38
--- /dev/null
+++ b/meta-oe/recipes-graphics/xorg-lib/libx11_1.4.3.bb
@@ -0,0 +1,12 @@
1require libx11.inc
2
3LICENSE = "MIT & MIT-style & BSD"
4LIC_FILES_CHKSUM = "file://COPYING;md5=172255dee66bb0151435b2d5d709fcf7"
5
6#--without-xcb is not an option anymore
7#http://cgit.freedesktop.org/xorg/lib/libX11/commit/?id=15e5eaf62897b3179d1fbe457cb19f886f0449f8
8DEPENDS_virtclass-native = "libxcb-native ${COMMON_DEPENDS}"
9PR = "${INC_PR}.0"
10
11SRC_URI[md5sum] = "85e942627aaa020813e0eb8433353563"
12SRC_URI[sha256sum] = "38b5ddd93291714a46a02cb8a5dd94b995a04ed76a608551c44d1598e113635a"
diff --git a/meta-oe/recipes-graphics/xorg-lib/libxaw_1.0.9.bb b/meta-oe/recipes-graphics/xorg-lib/libxaw_1.0.9.bb
new file mode 100644
index 000000000..980de3a30
--- /dev/null
+++ b/meta-oe/recipes-graphics/xorg-lib/libxaw_1.0.9.bb
@@ -0,0 +1,28 @@
1require xorg-lib-common.inc
2DESCRIPTION = "X Athena Widget Set"
3DEPENDS += "xproto virtual/libx11 libxext xextproto libxt libxmu libxpm libxp printproto libxau"
4
5LIC_FILES_CHKSUM = "file://COPYING;md5=f1beacbc336a5a256bb28dbfcf01c2be"
6
7PE = "1"
8PR = "${INC_PR}.0"
9
10SRC_URI[md5sum] = "ccc57478c41b7a75b9702241b889b1d4"
11SRC_URI[sha256sum] = "a83977546b78e24ac5dca86affc10b6404a87c16272405b05386feca1a2db037"
12
13# disable docs as groff detection doesn't work on some hosts while cross compilling
14EXTRA_OECONF += " --disable-docs "
15
16do_install_append () {
17 ln -sf libXaw6.so.6 ${D}${libdir}/libXaw.so.6
18 ln -sf libXaw7.so.7 ${D}${libdir}/libXaw.so.7
19 ln -sf libXaw7.so.7 ${D}${libdir}/libXaw.so
20}
21
22PACKAGES =+ "libxaw6 libxaw7 libxaw8"
23
24FILES_libxaw6 = "${libdir}/libXaw*.so.6*"
25FILES_libxaw7 = "${libdir}/libXaw*.so.7*"
26FILES_libxaw8 = "${libdir}/libXaw8.so.8*"
27
28XORG_PN = "libXaw"
diff --git a/meta-oe/recipes-graphics/xorg-lib/libxfixes_5.0.bb b/meta-oe/recipes-graphics/xorg-lib/libxfixes_5.0.bb
new file mode 100644
index 000000000..4ca1ea284
--- /dev/null
+++ b/meta-oe/recipes-graphics/xorg-lib/libxfixes_5.0.bb
@@ -0,0 +1,22 @@
1SUMMARY = "XFixes: X Fixes extension library."
2
3DESCRIPTION = "X applications have often needed to work around various \
4shortcomings in the core X window system. This extension is designed to \
5provide the minimal server-side support necessary to eliminate problems \
6caused by these workarounds."
7
8require xorg-lib-common.inc
9
10LICENSE = "MIT-style"
11LIC_FILES_CHKSUM = "file://COPYING;md5=3c1ce42c334a6f5cccb0277556a053e0"
12
13DEPENDS += "virtual/libx11 xproto fixesproto xextproto"
14PE = "1"
15PR = "${INC_PR}.0"
16
17SRC_URI[md5sum] = "678071bd7f9f7467e2fc712d81022318"
18SRC_URI[sha256sum] = "537a2446129242737a35db40081be4bbcc126e56c03bf5f2b142b10a79cda2e3"
19
20BBCLASSEXTEND = "native"
21
22XORG_PN = "libXfixes"
diff --git a/meta-oe/recipes-graphics/xorg-lib/libxi_1.4.2.bb b/meta-oe/recipes-graphics/xorg-lib/libxi_1.4.2.bb
new file mode 100644
index 000000000..94299c091
--- /dev/null
+++ b/meta-oe/recipes-graphics/xorg-lib/libxi_1.4.2.bb
@@ -0,0 +1,21 @@
1require xorg-lib-common.inc
2
3SUMMARY = "XI: X Input extension library"
4
5DESCRIPTION = "libxi is an extension to the X11 protocol to support \
6input devices other than the core X keyboard and pointer. It allows \
7client programs to select input from these devices independently from \
8each other and independently from the core devices."
9
10LICENSE = "MIT & MIT-style"
11LIC_FILES_CHKSUM = "file://COPYING;md5=17b064789fab936a1c58c4e13d965b0f \
12 file://src/XIGetDevFocus.c;endline=23;md5=cdfb0d435a33ec57ea0d1e8e395b729f"
13
14DEPENDS += "libxext inputproto"
15PE = "1"
16PR = "${INC_PR}.0"
17
18SRC_URI[md5sum] = "3d14f7bfc4a4335cf0144de9b67a5444"
19SRC_URI[sha256sum] = "272b8041efc0a0203fb0ba33481ddec989539aed862181b58c8c3e410e325691"
20
21XORG_PN = "libXi"
diff --git a/meta-oe/recipes-graphics/xorg-lib/libxkbui_1.0.2.bb b/meta-oe/recipes-graphics/xorg-lib/libxkbui_1.0.2.bb
new file mode 100644
index 000000000..499caf16c
--- /dev/null
+++ b/meta-oe/recipes-graphics/xorg-lib/libxkbui_1.0.2.bb
@@ -0,0 +1,10 @@
1require xorg-lib-common.inc
2DESCRIPTION = "X11 keyboard UI presentation library"
3LICENSE = "GPL"
4LIC_FILES_CHKSUM = "file://COPYING;md5=4641deddaa80fe7ca88e944e1fd94a94"
5DEPENDS += "virtual/libx11 libxt libxkbfile"
6PE = "1"
7PR = "${INC_PR}.0"
8
9SRC_URI[md5sum] = "1143e456f7429e18e88f2eadb2f2b6b1"
10SRC_URI[sha256sum] = "20c23101d63234ee5f6d696dfa069b29c6c58e39eff433bcd7705b50b3ffa214"
diff --git a/meta-oe/recipes-graphics/xorg-lib/libxt_1.1.1.bb b/meta-oe/recipes-graphics/xorg-lib/libxt_1.1.1.bb
new file mode 100644
index 000000000..8c22f62ec
--- /dev/null
+++ b/meta-oe/recipes-graphics/xorg-lib/libxt_1.1.1.bb
@@ -0,0 +1,37 @@
1require xorg-lib-common.inc
2
3SUMMARY = "Xt: X Toolkit Intrinsics library"
4
5DESCRIPTION = "The Intrinsics are a programming library tailored to the \
6special requirements of user interface construction within a network \
7window system, specifically the X Window System. The Intrinsics and a \
8widget set make up an X Toolkit. The Intrinsics provide the base \
9mechanism necessary to build a wide variety of interoperating widget \
10sets and application environments. The Intrinsics are a layer on top of \
11Xlib, the C Library X Interface. They extend the fundamental \
12abstractions provided by the X Window System while still remaining \
13independent of any particular user interface policy or style."
14
15LICENSE = "MIT & MIT-style"
16LIC_FILES_CHKSUM = "file://COPYING;md5=3239170e81427c5948287df07691f03f"
17
18DEPENDS += "libsm virtual/libx11 kbproto"
19PE = "1"
20PR = "${INC_PR}.0"
21
22SRC_URI[md5sum] = "eb22c0a1f172b06b97a3f5ae89768412"
23SRC_URI[sha256sum] = "a2a1c29c684e3c9082cdb920b5aea802b179d19107b9ab2170fda07575559da7"
24
25EXTRA_OECONF += "--disable-install-makestrs --disable-xkb"
26
27do_compile() {
28 (
29 unset CC LD CXX CCLD
30 oe_runmake -C util 'XT_CFLAGS=' 'CC=${BUILD_CC}' 'LD=${BUILD_LD}' 'CXX=${BUILD_CXX}' 'CCLD=${BUILD_CCLD}' 'CFLAGS=-D_GNU_SOURCE -I${STAGING_INCDIR_NATIVE} ${BUILD_CFLAGS}' 'LDFLAGS=${BUILD_LDFLAGS}' 'CXXFLAGS=${BUILD_CXXFLAGS}' 'CPPFLAGS=${BUILD_CPPFLAGS}' makestrs
31 ) || exit 1
32 oe_runmake
33}
34
35BBCLASSEXTEND = "native"
36
37XORG_PN = "libXt"
diff --git a/meta-oe/recipes-graphics/xorg-lib/pixman_0.20.0.bb b/meta-oe/recipes-graphics/xorg-lib/pixman_0.20.0.bb
index b3fbd4f15..b66bc2a73 100644
--- a/meta-oe/recipes-graphics/xorg-lib/pixman_0.20.0.bb
+++ b/meta-oe/recipes-graphics/xorg-lib/pixman_0.20.0.bb
@@ -1,7 +1,7 @@
1require pixman.inc 1require pixman.inc
2 2
3SRC_URI[archive.md5sum] = "c1a31d5cedfa97c5af7148a2d1fd4356" 3SRC_URI[md5sum] = "c1a31d5cedfa97c5af7148a2d1fd4356"
4SRC_URI[archive.sha256sum] = "9c02c22c6cc3f28f3633d02ef6f0cac130518f621edb011ebbbf08cd1a81251a" 4SRC_URI[sha256sum] = "9c02c22c6cc3f28f3633d02ef6f0cac130518f621edb011ebbbf08cd1a81251a"
5 5
6PR = "${INC_PR}.0" 6PR = "${INC_PR}.0"
7 7
diff --git a/meta-oe/recipes-graphics/xorg-lib/pixman_0.21.4.bb b/meta-oe/recipes-graphics/xorg-lib/pixman_0.21.4.bb
index f0e9e388b..237e4efa6 100644
--- a/meta-oe/recipes-graphics/xorg-lib/pixman_0.21.4.bb
+++ b/meta-oe/recipes-graphics/xorg-lib/pixman_0.21.4.bb
@@ -1,7 +1,7 @@
1require pixman.inc 1require pixman.inc
2 2
3SRC_URI[archive.md5sum] = "e50975ace979cd416a505827c15191b4" 3SRC_URI[md5sum] = "e50975ace979cd416a505827c15191b4"
4SRC_URI[archive.sha256sum] = "57783330ee2f96121dc267b7f25b98356fd09fe9de185cd39e72e906b6444013" 4SRC_URI[sha256sum] = "57783330ee2f96121dc267b7f25b98356fd09fe9de185cd39e72e906b6444013"
5 5
6LICENSE = "MIT & MIT-style & Public Domain" 6LICENSE = "MIT & MIT-style & Public Domain"
7LIC_FILES_CHKSUM = "file://COPYING;md5=14096c769ae0cbb5fcb94ec468be11b3\ 7LIC_FILES_CHKSUM = "file://COPYING;md5=14096c769ae0cbb5fcb94ec468be11b3\
diff --git a/meta-oe/recipes-graphics/xorg-lib/xorg-lib-common.inc b/meta-oe/recipes-graphics/xorg-lib/xorg-lib-common.inc
index 93212c591..2f7337507 100644
--- a/meta-oe/recipes-graphics/xorg-lib/xorg-lib-common.inc
+++ b/meta-oe/recipes-graphics/xorg-lib/xorg-lib-common.inc
@@ -1,6 +1,5 @@
1HOMEPAGE = "http://www.x.org" 1HOMEPAGE = "http://www.x.org"
2BUGTRACKER = "https://bugs.freedesktop.org/enter_bug.cgi?product=xorg" 2BUGTRACKER = "https://bugs.freedesktop.org/enter_bug.cgi?product=xorg"
3
4SECTION = "x11/libs" 3SECTION = "x11/libs"
5LICENSE = "MIT-X" 4LICENSE = "MIT-X"
6DEPENDS = "util-macros" 5DEPENDS = "util-macros"
diff --git a/meta-oe/recipes-graphics/xorg-proto/fixesproto_5.0.bb b/meta-oe/recipes-graphics/xorg-proto/fixesproto_5.0.bb
new file mode 100644
index 000000000..004813f66
--- /dev/null
+++ b/meta-oe/recipes-graphics/xorg-proto/fixesproto_5.0.bb
@@ -0,0 +1,21 @@
1require xorg-proto-common.inc
2SUMMARY = "XFixes: X Fixes extension headers"
3
4DESCRIPTION = "This package provides the wire protocol for the X Fixes \
5extension. This extension is designed to provide server-side support \
6for application work arounds to shortcomings in the core X window \
7system."
8
9
10LICENSE = "MIT & MIT-style"
11LIC_FILES_CHKSUM = "file://COPYING;md5=262a7a87da56e66dd639bf7334a110c6 \
12 file://xfixesproto.h;endline=44;md5=3deb31fbde34b96c9f19072b8d854fea"
13
14PE = "1"
15PR = "${INC_PR}.0"
16
17SRC_URI[md5sum] = "e7431ab84d37b2678af71e29355e101d"
18SRC_URI[sha256sum] = "ba2f3f31246bdd3f2a0acf8bd3b09ba99cab965c7fb2c2c92b7dc72870e424ce"
19
20
21CONFLICTS = "fixesext"
diff --git a/meta-oe/recipes-graphics/xorg-proto/xextproto_7.2.0.bb b/meta-oe/recipes-graphics/xorg-proto/xextproto_7.2.0.bb
new file mode 100644
index 000000000..9272ac1ff
--- /dev/null
+++ b/meta-oe/recipes-graphics/xorg-proto/xextproto_7.2.0.bb
@@ -0,0 +1,19 @@
1require xorg-proto-common.inc
2SUMMARY = "XExt: X Extension headers"
3
4DESCRIPTION = "This package provides the wire protocol for several X \
5extensions. These protocol extensions include DOUBLE-BUFFER, DPMS, \
6Extended-Visual-Information, LBX, MIT_SHM, MIT_SUNDRY-NONSTANDARD, \
7Multi-Buffering, SECURITY, SHAPE, SYNC, TOG-CUP, XC-APPGROUP, XC-MISC, \
8XTEST. In addition a small set of utility functions are also \
9available."
10
11LICENSE = "MIT & MIT-style"
12LIC_FILES_CHKSUM = "file://COPYING;md5=86f273291759d0ba2a22585cd1c06c53"
13
14PE = "1"
15PR = "${INC_PR}.0"
16
17SRC_URI[md5sum] = "220732210ceffb01bf1caf970e3b1bfb"
18SRC_URI[sha256sum] = "d2bc4208c6b1883ebe00bc5c0048e5d825038cda56775f74bb4aa89afdc576d5"
19
diff --git a/meta-oe/recipes-graphics/xorg-proto/xorg-proto-common.inc b/meta-oe/recipes-graphics/xorg-proto/xorg-proto-common.inc
index 3e7c701c7..dc6fedf16 100644
--- a/meta-oe/recipes-graphics/xorg-proto/xorg-proto-common.inc
+++ b/meta-oe/recipes-graphics/xorg-proto/xorg-proto-common.inc
@@ -1,5 +1,6 @@
1DESCRIPTION = "X protocol headers: ${BPN}" 1DESCRIPTION = "X protocol headers: ${BPN}"
2HOMEPAGE = "http://www.x.org" 2HOMEPAGE = "http://www.x.org"
3BUGTRACKER = "https://bugs.freedesktop.org/enter_bug.cgi?product=xorg"
3SECTION = "x11/libs" 4SECTION = "x11/libs"
4LICENSE = "MIT-X" 5LICENSE = "MIT-X"
5 6
@@ -9,9 +10,10 @@ ALLOW_EMPTY = "1"
9 10
10INC_PR = "r2" 11INC_PR = "r2"
11 12
12SRC_URI = "${XORG_MIRROR}/individual/proto/${BPN}-${PV}.tar.bz2;name=archive" 13SRC_URI = "${XORG_MIRROR}/individual/proto/${BPN}-${PV}.tar.bz2"
13 14
14S = "${WORKDIR}/${BPN}-${PV}" 15S = "${WORKDIR}/${BPN}-${PV}"
15 16
16inherit autotools pkgconfig 17inherit autotools pkgconfig
17 18
19BBCLASSEXTEND = "native nativesdk"
diff --git a/meta-oe/recipes-graphics/xorg-proto/xproto_7.0.21.bb b/meta-oe/recipes-graphics/xorg-proto/xproto_7.0.21.bb
new file mode 100644
index 000000000..2bc95097d
--- /dev/null
+++ b/meta-oe/recipes-graphics/xorg-proto/xproto_7.0.21.bb
@@ -0,0 +1,16 @@
1require xorg-proto-common.inc
2
3SUMMARY = "Xlib: C Language X interface headers"
4
5DESCRIPTION = "This package provides the basic headers for the X Window \
6System."
7
8LICENSE = "MIT & MIT-style"
9LIC_FILES_CHKSUM = "file://COPYING;md5=b9e051107d5628966739a0b2e9b32676"
10
11PE = "1"
12PR = "${INC_PR}.0"
13
14SRC_URI[md5sum] = "c5a93a69b701cf81925fab02b35b0d0e"
15SRC_URI[sha256sum] = "38ee2f032c3a9e30504593f8b5e6c1161a6629daba93748a71c6f70c16f65548"
16
diff --git a/meta-oe/recipes-graphics/xorg-util/util-macros_1.13.0.bb b/meta-oe/recipes-graphics/xorg-util/util-macros_1.13.0.bb
new file mode 100644
index 000000000..3f4471aee
--- /dev/null
+++ b/meta-oe/recipes-graphics/xorg-util/util-macros_1.13.0.bb
@@ -0,0 +1,15 @@
1require xorg-util-common.inc
2
3DESCRIPTION = "X autotools macros"
4PE = "1"
5
6LICENSE = "MIT & MIT-style"
7LIC_FILES_CHKSUM = "file://COPYING;md5=1970511fddd439b07a6ba789d28ff662"
8
9ALLOW_EMPTY = "1"
10BBCLASSEXTEND = "native nativesdk"
11
12PR = "${INC_PR}.0"
13
14SRC_URI[md5sum] = "31e9ddcbc1d8bc8c09ab180443974dd1"
15SRC_URI[sha256sum] = "7bff944fb120192e7fe1706e9c0b7e41666e7983ce3e2bdef0b7734392d9e695"
diff --git a/meta-oe/recipes-graphics/xorg-util/xorg-util-common.inc b/meta-oe/recipes-graphics/xorg-util/xorg-util-common.inc
new file mode 100644
index 000000000..e5c8ce930
--- /dev/null
+++ b/meta-oe/recipes-graphics/xorg-util/xorg-util-common.inc
@@ -0,0 +1,11 @@
1HOMEPAGE = "http://www.x.org"
2SECTION = "x11/utils"
3LICENSE = "MIT-X"
4
5INC_PR = "r2"
6
7SRC_URI = "${XORG_MIRROR}/individual/util/${BPN}-${PV}.tar.gz"
8
9S = "${WORKDIR}/${BPN}-${PV}"
10
11inherit autotools pkgconfig
diff --git a/meta-oe/recipes-graphics/xorg-xserver/xorg-xserver-common.inc b/meta-oe/recipes-graphics/xorg-xserver/xorg-xserver-common.inc
new file mode 100644
index 000000000..79f13fc13
--- /dev/null
+++ b/meta-oe/recipes-graphics/xorg-xserver/xorg-xserver-common.inc
@@ -0,0 +1,112 @@
1HOMEPAGE = "http://www.x.org"
2SECTION = "x11/base"
3LICENSE = "MIT-X"
4LIC_FILES_CHKSUM = "file://COPYING;md5=3dd2bbe3563837f80ed8926b06c1c353"
5
6INC_PR = "r18"
7
8PROVIDES = "virtual/xserver"
9
10# Config manager for xserver, options are: hal, udev, empty (for configuration in xorg.conf)
11DISTRO_XORG_CONFIG_MANAGER ?= "hal"
12DISTRO_XORG_CONFIG_MANAGER_shr ?= "udev"
13
14# default none, enabled by DISTRO_XORG_CONFIG_MANAGER setting
15CONFIG_MANAGER_OPTION += "${@['--disable-config-hal','--enable-config-hal',''][bb.data.getVar('DISTRO_XORG_CONFIG_MANAGER',d) in ['hal']]}"
16CONFIG_MANAGER_OPTION += "${@['--disable-config-udev','--enable-config-udev',''][bb.data.getVar('DISTRO_XORG_CONFIG_MANAGER',d) in ['udev']]}"
17
18DEPENDS = "fontconfig freetype flex-native liblbxutil kbproto \
19xf86driproto drm glproto randrproto renderproto fixesproto damageproto \
20xcmiscproto xextproto xproto xf86miscproto xf86vidmodeproto xf86bigfontproto \
21scrnsaverproto bigreqsproto resourceproto fontsproto inputproto \
22xf86dgaproto videoproto compositeproto trapproto recordproto dmxproto \
23resourceproto xineramaproto xtrans evieext libxkbfile libxfont libxau \
24libfontenc libxdmcp libxxf86vm libxaw libxmu libxt libxpm libxext libx11 \
25libxkbui libxxf86misc libxi libdmx libxtst libxres virtual/libgl libxcalibrate \
26libxv ${DISTRO_XORG_CONFIG_MANAGER}"
27
28RRECOMMENDS_${PN} = "libpciaccess"
29
30XORG_PN = "xorg-server"
31SRC_URI = "${XORG_MIRROR}/individual/xserver/${XORG_PN}-${PV}.tar.bz2"
32
33S = "${WORKDIR}/${XORG_PN}-${PV}"
34
35inherit autotools pkgconfig glx-use-tls
36
37EXTRA_OECONF += " --enable-xcalibrate \
38 --enable-kdrive \
39 --enable-xephyr \
40 --disable-xfbdev \
41 --disable-xnest \
42 --disable-kdrive-vesa \
43 --with-default-font-path="/usr/share/fonts/X11/misc" \
44 ac_cv_file__usr_share_sgml_X11_defs_ent=no"
45
46# CONFIG_MANAGER_OPTION is used only in recipes which support those options
47
48EXTRA_OECONF_append_arm = " ac_cv_header_linux_apm_bios_h=no "
49
50PACKAGES =+ "xserver-security-policy"
51FILES_xserver-security-policy += "${libdir}/xserver/SecurityPolicy"
52RRECOMMENDS_${PN} += "xserver-security-policy xkeyboard-config rgb xserver-xorg-conf"
53
54PACKAGES =+ "${PN}-sdl ${PN}-fbdev ${PN}-xprint ${PN}-xvfb ${PN}-utils ${PN}-xephyr"
55
56RDEPENDS_${PN}-xvfb += "xkeyboard-config"
57
58FILES_${PN}-fbdev = "${bindir}/Xfbdev"
59FILES_${PN}-sdl = "${bindir}/Xsdl"
60FILES_${PN}-xprint = "${libdir}/X11/xserver/*/print"
61FILES_${PN}-xvfb = "${bindir}/Xvfb"
62FILES_${PN}-utils = "${bindir}/scanpci ${bindir}/pcitweak ${bindir}/ioport ${bindir}/in[bwl] ${bindir}/out[bwl] ${bindir}/mmap[rw] ${bindir}/gtf ${bindir}/getconfig ${bindir}/getconfig.pl"
63FILES_${PN} = "${bindir} ${libdir}/X11/Options ${libdir}/X11/Cards ${libdir}/X11/getconfig ${libdir}/X11/etc ${libdir}/modules ${libdir}/xorg/modules /etc/X11 ${libdir}/xorg/protocol.txt ${datadir}/X11/xorg.conf.d"
64FILES_${PN}-doc += "${libdir}/X11/doc /usr/share/X11/xkb/compiled/README.compiled"
65FILES_${PN}-xephyr = "${bindir}/Xephyr"
66
67FILES_${PN}-dbg += "${libdir}/xorg/modules/.debug \
68 ${libdir}/xorg/modules/*/.debug \
69 ${libdir}/xorg/modules/*/*/.debug \
70 "
71
72# Split out some modules and extensions from the main package
73# These aren't needed for basic operations and only take up space:
74# 32.0k libdri.so
75# 336.0k libglx.so
76# 1360k libint10.so
77# 180.0k libwfb.so
78# 320.0k libxaa.so
79# 124.0k libxf1bpp.so
80# 84.0k libxf4bpp.so
81
82PACKAGES =+ "${PN}-extension-dri \
83 ${PN}-extension-dri2 \
84 ${PN}-extension-glx \
85 ${PN}-module-libint10 \
86 ${PN}-module-libafb \
87 ${PN}-module-libwfb \
88 ${PN}-module-libmfb \
89 ${PN}-module-libcfb \
90 ${PN}-module-xaa \
91 ${PN}-module-libxf1bpp \
92 ${PN}-module-libxf4bpp"
93
94FILES_${PN}-extension-dri = "${libdir}/xorg/modules/extensions/libdri.so"
95FILES_${PN}-extension-dri2 = "${libdir}/xorg/modules/extensions/libdri2.so"
96FILES_${PN}-extension-glx = "${libdir}/xorg/modules/extensions/libglx.so"
97FILES_${PN}-module-libint10 = "${libdir}/xorg/modules/libint10.so"
98FILES_${PN}-module-libafb = "${libdir}/xorg/modules/libafb.so"
99FILES_${PN}-module-libwfb = "${libdir}/xorg/modules/libwfb.so"
100FILES_${PN}-module-libmfb = "${libdir}/xorg/modules/libmfb.so"
101FILES_${PN}-module-libcfb = "${libdir}/xorg/modules/libcfb.so"
102FILES_${PN}-module-xaa = "${libdir}/xorg/modules/libxaa.so"
103FILES_${PN}-module-libxf1bpp = "${libdir}/xorg/modules/libxf1bpp.so"
104FILES_${PN}-module-libxf4bpp = "${libdir}/xorg/modules/libxf4bpp.so"
105
106PACKAGES =+ "${PN}-multimedia-modules"
107
108FILES_${PN}-multimedia-modules = "${libdir}/xorg/modules/multimedia/*drv*"
109
110do_install_append () {
111 ln -sf ${datadir}/fonts/X11 ${D}/${libdir}/X11/fonts
112}
diff --git a/meta-oe/recipes-graphics/xorg-xserver/xserver-xorg-1.10.0.901/hack-assume-pixman-supports-overlapped-blt.patch b/meta-oe/recipes-graphics/xorg-xserver/xserver-xorg-1.10.0.901/hack-assume-pixman-supports-overlapped-blt.patch
new file mode 100644
index 000000000..a947582f1
--- /dev/null
+++ b/meta-oe/recipes-graphics/xorg-xserver/xserver-xorg-1.10.0.901/hack-assume-pixman-supports-overlapped-blt.patch
@@ -0,0 +1,14 @@
1diff --git a/fb/fbcopy.c b/fb/fbcopy.c
2index 07eb663..ba394b7 100644
3--- a/fb/fbcopy.c
4+++ b/fb/fbcopy.c
5@@ -91,8 +91,7 @@ fbCopyNtoN (DrawablePtr pSrcDrawable,
6 while (nbox--)
7 {
8 #ifndef FB_ACCESS_WRAPPER /* pixman_blt() doesn't support accessors yet */
9- if (pm == FB_ALLONES && alu == GXcopy && !reverse &&
10- !upsidedown)
11+ if (pm == FB_ALLONES && alu == GXcopy)
12 {
13 if (!pixman_blt ((uint32_t *)src, (uint32_t *)dst, srcStride, dstStride, srcBpp, dstBpp,
14 (pbox->x1 + dx + srcXoff),
diff --git a/meta-oe/recipes-graphics/xorg-xserver/xserver-xorg-1.10.0.901/hack-fbdev-ignore-return-mode.patch b/meta-oe/recipes-graphics/xorg-xserver/xserver-xorg-1.10.0.901/hack-fbdev-ignore-return-mode.patch
new file mode 100644
index 000000000..d3661cbea
--- /dev/null
+++ b/meta-oe/recipes-graphics/xorg-xserver/xserver-xorg-1.10.0.901/hack-fbdev-ignore-return-mode.patch
@@ -0,0 +1,39 @@
1Ugly hack that prevents server termination with xf86-video-fbdev-0.4.1
2(and probably other) while returning from chvt or resume on some
3hardware (e. g. zaurus).
4
5Correct fix would require debugging of fbdev mode during LeaveVT and
6EnterVT.
7
8This patch may cause staying in incorrect or corrupted display mode
9after EnterVT, but on man affected devices it does not cause any visible
10problems.
11
12Hacked code is never called on properly written drivers.
13
14Devices affected and testers involved for future patch removal:
15Sharp Zaurus (spitz/akita): Stanislav Brabec <utx@penguin.cz>
16
17See also:
18https://bugzilla.redhat.com/show_bug.cgi?id=238451
19
20The bug (first line indicates that your device is affected):
21
22(EE) FBDEV(0): FBIOPUT_VSCREENINFO succeeded but modified mode
23
24Fatal server error:
25EnterVT failed for screen 0
26
27Index: xorg-server-1.7.3/hw/xfree86/fbdevhw/fbdevhw.c
28===================================================================
29--- xorg-server-1.7.3.orig/hw/xfree86/fbdevhw/fbdevhw.c
30+++ xorg-server-1.7.3/hw/xfree86/fbdevhw/fbdevhw.c
31@@ -571,7 +571,7 @@ fbdevHWSetMode(ScrnInfoPtr pScrn, Displa
32 #if DEBUG
33 print_fbdev_mode("returned", &set_var);
34 #endif
35- return FALSE;
36+ /* return FALSE; UGLY HACK to allow return from chvt */
37 }
38
39 if (!check)
diff --git a/meta-oe/recipes-graphics/xorg-xserver/xserver-xorg-1.9.4/dolt-fix.patch b/meta-oe/recipes-graphics/xorg-xserver/xserver-xorg-1.9.4/dolt-fix.patch
new file mode 100644
index 000000000..e332ce0bb
--- /dev/null
+++ b/meta-oe/recipes-graphics/xorg-xserver/xserver-xorg-1.9.4/dolt-fix.patch
@@ -0,0 +1,22 @@
1Index: xorg-server/m4/dolt.m4
2===================================================================
3--- xorg-server.orig/m4/dolt.m4 2009-04-14 21:14:56.000000000 +0400
4+++ xorg-server/m4/dolt.m4 2009-07-15 12:38:33.796848843 +0400
5@@ -147,7 +147,7 @@
6 cat <<__DOLTLIBTOOL__EOF__ > doltlibtool
7 #!$DOLT_BASH
8 __DOLTLIBTOOL__EOF__
9- cat <<'__DOLTLIBTOOL__EOF__' >>doltlibtool
10+ cat <<'__DOLTLIBTOOL__EOF__' | sed -e "s/@host_alias@/$host_alias/g" >>doltlibtool
11 top_builddir_slash="${0%%doltlibtool}"
12 : ${top_builddir_slash:=./}
13 args=()
14@@ -163,7 +163,7 @@
15 if $modeok && $tagok ; then
16 . ${top_builddir_slash}doltcompile "${args@<:@@@:>@}"
17 else
18- exec ${top_builddir_slash}libtool "$[]@"
19+ exec ${top_builddir_slash}@host_alias@-libtool "$[]@"
20 fi
21 __DOLTLIBTOOL__EOF__
22
diff --git a/meta-oe/recipes-graphics/xorg-xserver/xserver-xorg-1.9.4/hack-assume-pixman-supports-overlapped-blt.patch b/meta-oe/recipes-graphics/xorg-xserver/xserver-xorg-1.9.4/hack-assume-pixman-supports-overlapped-blt.patch
new file mode 100644
index 000000000..a947582f1
--- /dev/null
+++ b/meta-oe/recipes-graphics/xorg-xserver/xserver-xorg-1.9.4/hack-assume-pixman-supports-overlapped-blt.patch
@@ -0,0 +1,14 @@
1diff --git a/fb/fbcopy.c b/fb/fbcopy.c
2index 07eb663..ba394b7 100644
3--- a/fb/fbcopy.c
4+++ b/fb/fbcopy.c
5@@ -91,8 +91,7 @@ fbCopyNtoN (DrawablePtr pSrcDrawable,
6 while (nbox--)
7 {
8 #ifndef FB_ACCESS_WRAPPER /* pixman_blt() doesn't support accessors yet */
9- if (pm == FB_ALLONES && alu == GXcopy && !reverse &&
10- !upsidedown)
11+ if (pm == FB_ALLONES && alu == GXcopy)
12 {
13 if (!pixman_blt ((uint32_t *)src, (uint32_t *)dst, srcStride, dstStride, srcBpp, dstBpp,
14 (pbox->x1 + dx + srcXoff),
diff --git a/meta-oe/recipes-graphics/xorg-xserver/xserver-xorg-1.9.4/hack-fbdev-ignore-return-mode.patch b/meta-oe/recipes-graphics/xorg-xserver/xserver-xorg-1.9.4/hack-fbdev-ignore-return-mode.patch
new file mode 100644
index 000000000..d3661cbea
--- /dev/null
+++ b/meta-oe/recipes-graphics/xorg-xserver/xserver-xorg-1.9.4/hack-fbdev-ignore-return-mode.patch
@@ -0,0 +1,39 @@
1Ugly hack that prevents server termination with xf86-video-fbdev-0.4.1
2(and probably other) while returning from chvt or resume on some
3hardware (e. g. zaurus).
4
5Correct fix would require debugging of fbdev mode during LeaveVT and
6EnterVT.
7
8This patch may cause staying in incorrect or corrupted display mode
9after EnterVT, but on man affected devices it does not cause any visible
10problems.
11
12Hacked code is never called on properly written drivers.
13
14Devices affected and testers involved for future patch removal:
15Sharp Zaurus (spitz/akita): Stanislav Brabec <utx@penguin.cz>
16
17See also:
18https://bugzilla.redhat.com/show_bug.cgi?id=238451
19
20The bug (first line indicates that your device is affected):
21
22(EE) FBDEV(0): FBIOPUT_VSCREENINFO succeeded but modified mode
23
24Fatal server error:
25EnterVT failed for screen 0
26
27Index: xorg-server-1.7.3/hw/xfree86/fbdevhw/fbdevhw.c
28===================================================================
29--- xorg-server-1.7.3.orig/hw/xfree86/fbdevhw/fbdevhw.c
30+++ xorg-server-1.7.3/hw/xfree86/fbdevhw/fbdevhw.c
31@@ -571,7 +571,7 @@ fbdevHWSetMode(ScrnInfoPtr pScrn, Displa
32 #if DEBUG
33 print_fbdev_mode("returned", &set_var);
34 #endif
35- return FALSE;
36+ /* return FALSE; UGLY HACK to allow return from chvt */
37 }
38
39 if (!check)
diff --git a/meta-oe/recipes-graphics/xorg-xserver/xserver-xorg-1.9.4/randr-support.patch b/meta-oe/recipes-graphics/xorg-xserver/xserver-xorg-1.9.4/randr-support.patch
new file mode 100644
index 000000000..abc7db41e
--- /dev/null
+++ b/meta-oe/recipes-graphics/xorg-xserver/xserver-xorg-1.9.4/randr-support.patch
@@ -0,0 +1,102 @@
1diff -uNr xorg-server-1.9.0.orig//hw/xfree86/common/xf86Xinput.c xorg-server-1.9.0/hw/xfree86/common/xf86Xinput.c
2--- xorg-server-1.9.0.orig//hw/xfree86/common/xf86Xinput.c 2010-08-13 07:53:48.000000000 +0200
3+++ xorg-server-1.9.0/hw/xfree86/common/xf86Xinput.c 2010-08-28 21:31:10.000000000 +0200
4@@ -106,6 +106,8 @@
5
6 #include "os.h"
7
8+#define RR_Rotate_All (RR_Rotate_0|RR_Rotate_90|RR_Rotate_180|RR_Rotate_270)
9+
10 EventListPtr xf86Events = NULL;
11
12 /**
13@@ -1359,4 +1361,73 @@
14 EnableDevice(dev, TRUE);
15 }
16
17+/* Taken from evdev-properties.h. */
18+#define EVDEV_PROP_SWAP_AXES "Evdev Axes Swap"
19+#define EVDEV_PROP_INVERT_AXES "Evdev Axis Inversion"
20+
21+/* This is a hack until we get device -> CRTC association. */
22+void
23+xf86InputRotationNotify(Rotation rotation)
24+{
25+ DeviceIntPtr dev;
26+ LocalDevicePtr local;
27+ int ret;
28+ int swap_axes = 0;
29+ CARD8 invert[2] = { 0, 0 };
30+ static Atom prop_swap = 0, prop_invert = 0;
31+ static int atom_generation = -1;
32+
33+ if (atom_generation != serverGeneration) {
34+ prop_swap = 0;
35+ prop_invert = 0;
36+ }
37+
38+ switch (rotation & RR_Rotate_All) {
39+ case RR_Rotate_0:
40+ swap_axes = 1;
41+ invert[0] = 0;
42+ invert[1] = 0;
43+ break;
44+ case RR_Rotate_90:
45+ swap_axes = 0;
46+ invert[0] = 0;
47+ invert[1] = 1;
48+ break;
49+ case RR_Rotate_180:
50+ swap_axes = 1;
51+ invert[0] = 0;
52+ invert[1] = 0;
53+ break;
54+ case RR_Rotate_270:
55+ swap_axes = 0;
56+ invert[0] = 0;
57+ invert[1] = 1;
58+ break;
59+ }
60+
61+ if (!prop_swap)
62+ prop_swap = MakeAtom(EVDEV_PROP_SWAP_AXES,
63+ strlen(EVDEV_PROP_SWAP_AXES), TRUE);
64+ if (!prop_invert)
65+ prop_invert = MakeAtom(EVDEV_PROP_INVERT_AXES,
66+ strlen(EVDEV_PROP_INVERT_AXES), TRUE);
67+
68+ for (dev = inputInfo.devices; dev; dev = dev->next) {
69+ local = dev->public.devicePrivate;
70+ ret = XIChangeDeviceProperty(dev, prop_swap, XA_INTEGER, 8,
71+ PropModeReplace, 1, &swap_axes, FALSE);
72+ if (ret != Success) {
73+ xf86Msg(X_ERROR, "Changing swap_xy property failed!\n");
74+ continue;
75+ }
76+ ret = XIChangeDeviceProperty(dev, prop_invert, XA_INTEGER, 8,
77+ PropModeReplace, 2, invert, FALSE);
78+ if (ret != Success) {
79+ xf86Msg(X_ERROR, "Changing invert property failed!\n");
80+ continue;
81+ }
82+ }
83+}
84+
85+
86 /* end of xf86Xinput.c */
87diff -uNr xorg-server-1.9.0.orig//hw/xfree86/modes/xf86Crtc.c xorg-server-1.9.0/hw/xfree86/modes/xf86Crtc.c
88--- xorg-server-1.9.0.orig//hw/xfree86/modes/xf86Crtc.c 2010-07-20 05:24:12.000000000 +0200
89+++ xorg-server-1.9.0/hw/xfree86/modes/xf86Crtc.c 2010-08-28 21:28:48.000000000 +0200
90@@ -387,6 +387,12 @@
91 if (didLock)
92 crtc->funcs->unlock (crtc);
93
94+ /*
95+ * Rotate Touchscreen
96+ */
97+ xf86InputRotationNotify(crtc->rotation);
98+
99+
100 return ret;
101 }
102
diff --git a/meta-oe/recipes-graphics/xorg-xserver/xserver-xorg-conf/am3517-evm/xorg.conf b/meta-oe/recipes-graphics/xorg-xserver/xserver-xorg-conf/am3517-evm/xorg.conf
new file mode 100644
index 000000000..983bb0823
--- /dev/null
+++ b/meta-oe/recipes-graphics/xorg-xserver/xserver-xorg-conf/am3517-evm/xorg.conf
@@ -0,0 +1,29 @@
1Section "Module"
2 Load "extmod"
3 Load "dbe"
4 Load "glx"
5 Load "freetype"
6 Load "type1"
7 Load "record"
8 Load "dri"
9EndSection
10
11Section "Monitor"
12 Identifier "Builtin Default Monitor"
13EndSection
14
15Section "Device"
16 Identifier "Builtin Default fbdev Device 0"
17 Driver "omapfb"
18EndSection
19
20Section "Screen"
21 Identifier "Builtin Default fbdev Screen 0"
22 Device "Builtin Default fbdev Device 0"
23 Monitor "Builtin Default Monitor"
24EndSection
25
26Section "ServerLayout"
27 Identifier "Builtin Default Layout"
28 Screen "Builtin Default fbdev Screen 0"
29EndSection
diff --git a/meta-oe/recipes-graphics/xorg-xserver/xserver-xorg-conf/am37x-evm/xorg.conf b/meta-oe/recipes-graphics/xorg-xserver/xserver-xorg-conf/am37x-evm/xorg.conf
new file mode 100644
index 000000000..983bb0823
--- /dev/null
+++ b/meta-oe/recipes-graphics/xorg-xserver/xserver-xorg-conf/am37x-evm/xorg.conf
@@ -0,0 +1,29 @@
1Section "Module"
2 Load "extmod"
3 Load "dbe"
4 Load "glx"
5 Load "freetype"
6 Load "type1"
7 Load "record"
8 Load "dri"
9EndSection
10
11Section "Monitor"
12 Identifier "Builtin Default Monitor"
13EndSection
14
15Section "Device"
16 Identifier "Builtin Default fbdev Device 0"
17 Driver "omapfb"
18EndSection
19
20Section "Screen"
21 Identifier "Builtin Default fbdev Screen 0"
22 Device "Builtin Default fbdev Device 0"
23 Monitor "Builtin Default Monitor"
24EndSection
25
26Section "ServerLayout"
27 Identifier "Builtin Default Layout"
28 Screen "Builtin Default fbdev Screen 0"
29EndSection
diff --git a/meta-oe/recipes-graphics/xorg-xserver/xserver-xorg-conf/archos5/xorg.conf b/meta-oe/recipes-graphics/xorg-xserver/xserver-xorg-conf/archos5/xorg.conf
new file mode 100644
index 000000000..983bb0823
--- /dev/null
+++ b/meta-oe/recipes-graphics/xorg-xserver/xserver-xorg-conf/archos5/xorg.conf
@@ -0,0 +1,29 @@
1Section "Module"
2 Load "extmod"
3 Load "dbe"
4 Load "glx"
5 Load "freetype"
6 Load "type1"
7 Load "record"
8 Load "dri"
9EndSection
10
11Section "Monitor"
12 Identifier "Builtin Default Monitor"
13EndSection
14
15Section "Device"
16 Identifier "Builtin Default fbdev Device 0"
17 Driver "omapfb"
18EndSection
19
20Section "Screen"
21 Identifier "Builtin Default fbdev Screen 0"
22 Device "Builtin Default fbdev Device 0"
23 Monitor "Builtin Default Monitor"
24EndSection
25
26Section "ServerLayout"
27 Identifier "Builtin Default Layout"
28 Screen "Builtin Default fbdev Screen 0"
29EndSection
diff --git a/meta-oe/recipes-graphics/xorg-xserver/xserver-xorg-conf/archos5it/xorg.conf b/meta-oe/recipes-graphics/xorg-xserver/xserver-xorg-conf/archos5it/xorg.conf
new file mode 100644
index 000000000..983bb0823
--- /dev/null
+++ b/meta-oe/recipes-graphics/xorg-xserver/xserver-xorg-conf/archos5it/xorg.conf
@@ -0,0 +1,29 @@
1Section "Module"
2 Load "extmod"
3 Load "dbe"
4 Load "glx"
5 Load "freetype"
6 Load "type1"
7 Load "record"
8 Load "dri"
9EndSection
10
11Section "Monitor"
12 Identifier "Builtin Default Monitor"
13EndSection
14
15Section "Device"
16 Identifier "Builtin Default fbdev Device 0"
17 Driver "omapfb"
18EndSection
19
20Section "Screen"
21 Identifier "Builtin Default fbdev Screen 0"
22 Device "Builtin Default fbdev Device 0"
23 Monitor "Builtin Default Monitor"
24EndSection
25
26Section "ServerLayout"
27 Identifier "Builtin Default Layout"
28 Screen "Builtin Default fbdev Screen 0"
29EndSection
diff --git a/meta-oe/recipes-graphics/xorg-xserver/xserver-xorg-conf/at91sam9263ek/xorg.conf b/meta-oe/recipes-graphics/xorg-xserver/xserver-xorg-conf/at91sam9263ek/xorg.conf
new file mode 100644
index 000000000..7f3eb7797
--- /dev/null
+++ b/meta-oe/recipes-graphics/xorg-xserver/xserver-xorg-conf/at91sam9263ek/xorg.conf
@@ -0,0 +1,11 @@
1Section "ServerLayout"
2 Identifier "default"
3 InputDevice "atmel-ts" "CorePointer"
4EndSection
5
6Section "InputDevice"
7 Identifier "atmel-ts"
8 Driver "evdev"
9 Option "SwapAxes" "1"
10 Option "Device" "/dev/input/touchscreen0"
11EndSection
diff --git a/meta-oe/recipes-graphics/xorg-xserver/xserver-xorg-conf/at91sam9g45ek/xorg.conf b/meta-oe/recipes-graphics/xorg-xserver/xserver-xorg-conf/at91sam9g45ek/xorg.conf
new file mode 100644
index 000000000..0502f8737
--- /dev/null
+++ b/meta-oe/recipes-graphics/xorg-xserver/xserver-xorg-conf/at91sam9g45ek/xorg.conf
@@ -0,0 +1,23 @@
1Section "ServerLayout"
2 Identifier "default"
3 InputDevice "atmel-tsadcc" "CorePointer"
4EndSection
5
6Section "InputDevice"
7 Identifier "atmel-tsadcc"
8 Driver "evdev"
9 Option "Device" "/dev/input/touchscreen0"
10EndSection
11
12Section "InputDevice"
13 Driver "mouse"
14 Identifier "Mouse[1]"
15 Option "Buttons" "10"
16 Option "Device" "/dev/input/mice"
17EndSection
18
19Section "InputDevice"
20 Driver "kbd"
21 Identifier "Keyboard[0]"
22 Option "Protocol" "Standard"
23EndSection
diff --git a/meta-oe/recipes-graphics/xorg-xserver/xserver-xorg-conf/babbage/xorg.conf b/meta-oe/recipes-graphics/xorg-xserver/xserver-xorg-conf/babbage/xorg.conf
new file mode 100644
index 000000000..d4d41db42
--- /dev/null
+++ b/meta-oe/recipes-graphics/xorg-xserver/xserver-xorg-conf/babbage/xorg.conf
@@ -0,0 +1,56 @@
1#
2# X11 configuration for i.MX51 Babbage EVK
3# Based on pm9263 by Koan sas
4#
5
6Section "Monitor"
7 Identifier "Display"
8EndSection
9
10Section "Device"
11 Identifier "fbdevice"
12 Driver "fbdev"
13 Option "fbdev" "/dev/fb0"
14 Option "shadowfb" "true"
15EndSection
16
17Section "Screen"
18 Identifier "fbscreen"
19 Device "fbdevice"
20 Monitor "Display"
21EndSection
22
23Section "InputDevice"
24 Identifier "mxc_ts"
25 Driver "evdev"
26 Option "SwapAxes" "0"
27 Option "Device" "/dev/input/touchscreen0"
28EndSection
29
30Section "InputDevice"
31 Identifier "Generic Mouse"
32 Driver "mouse"
33 Option "CorePointer"
34EndSection
35
36Section "InputDevice"
37 Identifier "Keypad"
38 Driver "evdev"
39 Option "Device" "/dev/input/event0"
40# Option "XkbModel" "nokiarx51"
41# Option "XkbLayout" "us"
42EndSection
43
44Section "ServerLayout"
45 Identifier "Layout"
46 Screen "fbscreen"
47 InputDevice "mxc_ts" "CorePointer"
48 InputDevice "Keypad"
49# Enable mouse only if necessary, it may interfere with touchscreen behaviour
50# InputDevice "Generic Mouse"
51EndSection
52
53#Section "ServerFlags"
54# Option "AutoAddDevices" "false"
55#EndSection
56
diff --git a/meta-oe/recipes-graphics/xorg-xserver/xserver-xorg-conf/beagleboard/xorg.conf b/meta-oe/recipes-graphics/xorg-xserver/xserver-xorg-conf/beagleboard/xorg.conf
new file mode 100644
index 000000000..983bb0823
--- /dev/null
+++ b/meta-oe/recipes-graphics/xorg-xserver/xserver-xorg-conf/beagleboard/xorg.conf
@@ -0,0 +1,29 @@
1Section "Module"
2 Load "extmod"
3 Load "dbe"
4 Load "glx"
5 Load "freetype"
6 Load "type1"
7 Load "record"
8 Load "dri"
9EndSection
10
11Section "Monitor"
12 Identifier "Builtin Default Monitor"
13EndSection
14
15Section "Device"
16 Identifier "Builtin Default fbdev Device 0"
17 Driver "omapfb"
18EndSection
19
20Section "Screen"
21 Identifier "Builtin Default fbdev Screen 0"
22 Device "Builtin Default fbdev Device 0"
23 Monitor "Builtin Default Monitor"
24EndSection
25
26Section "ServerLayout"
27 Identifier "Builtin Default Layout"
28 Screen "Builtin Default fbdev Screen 0"
29EndSection
diff --git a/meta-oe/recipes-graphics/xorg-xserver/xserver-xorg-conf/bug/xorg.conf b/meta-oe/recipes-graphics/xorg-xserver/xserver-xorg-conf/bug/xorg.conf
new file mode 100644
index 000000000..cf684ec17
--- /dev/null
+++ b/meta-oe/recipes-graphics/xorg-xserver/xserver-xorg-conf/bug/xorg.conf
@@ -0,0 +1,75 @@
1#
2# Initial version of X11 configuration for BugLabs BUG device.
3#
4# Up to 2 LCD modules are supported (as DISPLAY=0.0/0.1).
5# Touchscreen on both screen works properly (req tslib 0.0.6 driver).
6#
7# Mouse is not supported yet because the evdev driver need a precise
8# dev node and evdev dev nodes are somewhat random
9#
10
11Section "Monitor"
12 Identifier "Monitor 1"
13EndSection
14
15Section "Monitor"
16 Identifier "Monitor 2"
17EndSection
18
19Section "Device"
20 Identifier "fbdev Device 2"
21 Driver "fbdev"
22 Option "fbdev" "/dev/fb2"
23 Option "shadowfb" "true"
24EndSection
25
26Section "Device"
27 Identifier "fbdev Device 1"
28 Driver "fbdev"
29 Option "fbdev" "/dev/fb1"
30 Option "shadowfb" "true"
31EndSection
32
33Section "Screen"
34 Identifier "fbdev Screen 2"
35 Device "fbdev Device 2"
36 Monitor "Monitor 2"
37EndSection
38
39Section "Screen"
40 Identifier "fbdev Screen 1"
41 Device "fbdev Device 1"
42 Monitor "Monitor 1"
43EndSection
44
45Section "ServerLayout"
46 Identifier "Layout"
47 Screen "fbdev Screen 1"
48 Screen "fbdev Screen 2" Below "fbdev Screen 1"
49 InputDevice "ts4"
50 InputDevice "ts5"
51 InputDevice "Keyboard"
52EndSection
53
54Section "InputDevice"
55 Identifier "ts5"
56 Driver "tslib"
57 Option "Device" "/dev/input/bmi_lcd_ts5"
58 Option "ScreenNumber" "1"
59EndSection
60
61Section "InputDevice"
62 Identifier "ts4"
63 Driver "tslib"
64 Option "Device" "/dev/input/bmi_lcd_ts4"
65 Option "ScreenNumber" "0"
66EndSection
67
68Section "InputDevice"
69 Identifier "Keyboard"
70 Driver "kbd"
71EndSection
72
73Section "ServerFlags"
74 Option "AutoAddDevices" "false"
75EndSection
diff --git a/meta-oe/recipes-graphics/xorg-xserver/xserver-xorg-conf/bug20/xorg.conf b/meta-oe/recipes-graphics/xorg-xserver/xserver-xorg-conf/bug20/xorg.conf
new file mode 100644
index 000000000..6301d0690
--- /dev/null
+++ b/meta-oe/recipes-graphics/xorg-xserver/xserver-xorg-conf/bug20/xorg.conf
@@ -0,0 +1,37 @@
1Section "Module"
2 Load "extmod"
3 Load "dbe"
4 Load "glx"
5 Load "freetype"
6# Load "type1"
7# Load "record"
8 Load "dri"
9EndSection
10
11Section "Monitor"
12 Identifier "Builtin Default Monitor"
13EndSection
14
15Section "Device"
16 Identifier "Builtin Default fbdev Device 0"
17 Driver "omapfb"
18EndSection
19
20Section "Screen"
21 Identifier "Builtin Default fbdev Screen 0"
22 Device "Builtin Default fbdev Device 0"
23 Monitor "Builtin Default Monitor"
24EndSection
25
26Section "ServerLayout"
27 Identifier "Builtin Default Layout"
28 Screen "Builtin Default fbdev Screen 0"
29 InputDevice "bmi-lcd-ts" "CorePointer"
30EndSection
31
32Section "InputDevice"
33 Identifier "bmi-lcd-ts"
34 Driver "tslib"
35 Option "SwapAxes" "1"
36 Option "Device" "/dev/input/touchscreen0"
37EndSection
diff --git a/meta-oe/recipes-graphics/xorg-xserver/xserver-xorg-conf/cm-t35/xorg.conf b/meta-oe/recipes-graphics/xorg-xserver/xserver-xorg-conf/cm-t35/xorg.conf
new file mode 100644
index 000000000..07d849d70
--- /dev/null
+++ b/meta-oe/recipes-graphics/xorg-xserver/xserver-xorg-conf/cm-t35/xorg.conf
@@ -0,0 +1,29 @@
1Section "Module"
2 Load "extmod"
3 Load "dbe"
4 Load "glx"
5 Load "freetype"
6 Load "type1"
7 Load "record"
8 Load "dri"
9EndSection
10
11Section "Monitor"
12 Identifier "Builtin Default Monitor"
13EndSection
14
15Section "Device"
16 Identifier "Builtin Default fbdev Device 0"
17 Driver "omapfb"
18EndSection
19
20Section "Screen"
21 Identifier "Builtin Default fbdev Screen 0"
22 Device "Builtin Default fbdev Device 0"
23 Monitor "Builtin Default Monitor"
24EndSection
25
26Section "ServerLayout"
27 Identifier "Builtin Default Layout"
28 Screen "Builtin Default fbdev Screen 0"
29EndSection
diff --git a/meta-oe/recipes-graphics/xorg-xserver/xserver-xorg-conf/dm37x-evm/xorg.conf b/meta-oe/recipes-graphics/xorg-xserver/xserver-xorg-conf/dm37x-evm/xorg.conf
new file mode 100644
index 000000000..983bb0823
--- /dev/null
+++ b/meta-oe/recipes-graphics/xorg-xserver/xserver-xorg-conf/dm37x-evm/xorg.conf
@@ -0,0 +1,29 @@
1Section "Module"
2 Load "extmod"
3 Load "dbe"
4 Load "glx"
5 Load "freetype"
6 Load "type1"
7 Load "record"
8 Load "dri"
9EndSection
10
11Section "Monitor"
12 Identifier "Builtin Default Monitor"
13EndSection
14
15Section "Device"
16 Identifier "Builtin Default fbdev Device 0"
17 Driver "omapfb"
18EndSection
19
20Section "Screen"
21 Identifier "Builtin Default fbdev Screen 0"
22 Device "Builtin Default fbdev Device 0"
23 Monitor "Builtin Default Monitor"
24EndSection
25
26Section "ServerLayout"
27 Identifier "Builtin Default Layout"
28 Screen "Builtin Default fbdev Screen 0"
29EndSection
diff --git a/meta-oe/recipes-graphics/xorg-xserver/xserver-xorg-conf/eee701/xorg.conf b/meta-oe/recipes-graphics/xorg-xserver/xserver-xorg-conf/eee701/xorg.conf
new file mode 100644
index 000000000..4ee293b79
--- /dev/null
+++ b/meta-oe/recipes-graphics/xorg-xserver/xserver-xorg-conf/eee701/xorg.conf
@@ -0,0 +1,97 @@
1Section "ServerLayout"
2 Identifier "X.org Configured"
3 Screen 0 "Screen0" 0 0
4 InputDevice "Touchpad"
5 InputDevice "Keyboard"
6 InputDevice "Mouse"
7 Option "AllowEmptyInput" "false"
8EndSection
9
10Section "Files"
11 ModulePath "/usr/lib/xorg/modules"
12 FontPath "/usr/share/fonts/X11/misc"
13EndSection
14
15Section "Module"
16 Load "dbe"
17 Load "extmod"
18EndSection
19
20Section "InputDevice"
21 Identifier "Keyboard"
22 Driver "kbd"
23 Option "CoreKeyboard"
24EndSection
25
26Section "InputDevice"
27 Identifier "Touchpad"
28 Driver "synaptics"
29 Option "TapButton1" "1"
30 Option "CorePointer"
31EndSection
32
33Section "InputDevice"
34 Identifier "Mouse"
35 Driver "mouse"
36 Option "Protocol" "Auto"
37EndSection
38
39
40Section "Monitor"
41 Identifier "Monitor0"
42 VendorName "Monitor Vendor"
43 ModelName "Monitor Model"
44EndSection
45
46Section "Device"
47 ### Available Driver options are:-
48 ### Values: <i>: integer, <f>: float, <bool>: "True"/"False",
49 ### <string>: "String", <freq>: "<f> Hz/kHz/MHz"
50 ### [arg]: arg optional
51 #Option "NoAccel" # [<bool>]
52 #Option "SWcursor" # [<bool>]
53 #Option "ColorKey" # <i>
54 #Option "CacheLines" # <i>
55 #Option "Dac6Bit" # [<bool>]
56 #Option "DRI" # [<bool>]
57 #Option "NoDDC" # [<bool>]
58 #Option "ShowCache" # [<bool>]
59 #Option "XvMCSurfaces" # <i>
60 #Option "PageFlip" # [<bool>]
61 Identifier "Card0"
62 Driver "intel"
63 VendorName "Unknown Vendor"
64 BoardName "Unknown Board"
65 BusID "PCI:0:2:0"
66EndSection
67
68Section "Screen"
69 Identifier "Screen0"
70 Device "Card0"
71 Monitor "Monitor0"
72 SubSection "Display"
73 Viewport 0 0
74 Depth 1
75 EndSubSection
76 SubSection "Display"
77 Viewport 0 0
78 Depth 4
79 EndSubSection
80 SubSection "Display"
81 Viewport 0 0
82 Depth 8
83 EndSubSection
84 SubSection "Display"
85 Viewport 0 0
86 Depth 15
87 EndSubSection
88 SubSection "Display"
89 Viewport 0 0
90 Depth 16
91 EndSubSection
92 SubSection "Display"
93 Viewport 0 0
94 Depth 24
95 EndSubSection
96EndSection
97
diff --git a/meta-oe/recipes-graphics/xorg-xserver/xserver-xorg-conf/htcdream/xorg.conf b/meta-oe/recipes-graphics/xorg-xserver/xserver-xorg-conf/htcdream/xorg.conf
new file mode 100644
index 000000000..be3c6ec54
--- /dev/null
+++ b/meta-oe/recipes-graphics/xorg-xserver/xserver-xorg-conf/htcdream/xorg.conf
@@ -0,0 +1,69 @@
1Section "Monitor"
2 Identifier "Monitor0"
3 Mode "320x480"
4 DotClock 0
5 HTimings 320 320 320 320
6 VTimings 480 480 480 480
7 Flags "-HSync" "-VSync"
8 EndMode
9EndSection
10
11Section "Device"
12 Identifier "fbdev"
13 Driver "fbdev"
14 Option "ShadowFB" "on"
15 Option "Rotate" "CW" # comment for disabling rotation
16EndSection
17
18Section "Screen"
19 Identifier "Framebuffer"
20 Device "fbdev"
21 Monitor "Monitor0"
22 DefaultFbBpp 16
23 SubSection "Display"
24 Depth 16
25 Modes "320x480"
26 EndSubSection
27EndSection
28
29
30Section "ServerLayout"
31 Identifier "Builtin Default Layout"
32 Screen "Framebuffer"
33 InputDevice "Trackball"
34 InputDevice "Touchscreen"
35 InputDevice "Keyboard"
36EndSection
37
38Section "InputDevice"
39 Identifier "Trackball"
40 Driver "evdev"
41 Option "Device" "/dev/input/event2"
42 Option "ScreenNumber" "0"
43 Option "ReportingMode" "Raw"
44 Option "SwapAxes" "True" # comment for disabling rotation
45 Option "InvertY" "True" # comment for disabling rotation
46EndSection
47
48
49Section "InputDevice"
50 Identifier "Touchscreen"
51 Driver "evdev"
52 Option "Device" "/dev/input/event1"
53 Option "SwapAxes" "True" # comment for disabling rotation
54 Option "InvertY" "True" # comment for disabling rotation
55 Option "ReportingMode" "Raw"
56EndSection
57
58Section "InputDevice"
59 Identifier "Keyboard"
60 Driver "kbd"
61 Option "XkbLayout" "us"
62 Option "XkbModel" "htcdream"
63EndSection
64
65
66Section "ServerFlags"
67 Option "AutoAddDevices" "false"
68EndSection
69
diff --git a/meta-oe/recipes-graphics/xorg-xserver/xserver-xorg-conf/htcleo/xorg.conf b/meta-oe/recipes-graphics/xorg-xserver/xserver-xorg-conf/htcleo/xorg.conf
new file mode 100644
index 000000000..4153a2628
--- /dev/null
+++ b/meta-oe/recipes-graphics/xorg-xserver/xserver-xorg-conf/htcleo/xorg.conf
@@ -0,0 +1,73 @@
1Section "Monitor"
2 Identifier "Monitor0"
3 Mode "480x800"
4 DotClock 0
5 HTimings 480 480 480 480
6 VTimings 800 800 800 800
7 Flags "-HSync" "-VSync"
8 EndMode
9EndSection
10
11
12
13Section "Device"
14 Identifier "fbdev"
15 Driver "fbdev"
16 Option "ShadowFB" "on"
17 #Option "Rotate" "CW"
18EndSection
19
20
21Section "Screen"
22 Identifier "Framebuffer"
23 Device "fbdev"
24 Monitor "Monitor"
25 DefaultFbBpp 16
26 SubSection "Display"
27 Depth 16
28 Modes "480x800"
29 EndSubSection
30EndSection
31
32Section "Screen"
33 Identifier "480x800x16"
34 Device "fbdev"
35 Monitor "Monitor"
36 DefaultFbBpp 16
37 SubSection "Display"
38 Depth 16
39 Modes "480x800"
40 EndSubSection
41EndSection
42
43
44Section "ServerLayout"
45 Identifier "Builtin Default Layout"
46 Screen "Framebuffer"
47 InputDevice "Touchscreen" "CorePointer"
48 InputDevice "Keyboard" "CoreKeyboard"
49EndSection
50
51Section "InputDevice"
52 Identifier "Mouse0"
53 Driver "mouse"
54 Option "Protocol" "auto"
55 Option "Device" "/dev/input/mice"
56 Option "Emulate3Buttons" "no"
57 Option "ZAxisMapping" "4 5"
58EndSection
59
60
61Section "InputDevice"
62 Identifier "Touchscreen"
63 Driver "tslib"
64 Option "Protocol" "auto"
65 Option "Device" "/dev/input/event0"
66 Option "CorePointer" "true"
67EndSection
68
69Section "InputDevice"
70 Identifier "Keyboard"
71 Driver "kbd"
72 Option "XkbLayout" "en_US"
73EndSection
diff --git a/meta-oe/recipes-graphics/xorg-xserver/xserver-xorg-conf/igep0020/xorg.conf b/meta-oe/recipes-graphics/xorg-xserver/xserver-xorg-conf/igep0020/xorg.conf
new file mode 100644
index 000000000..07d849d70
--- /dev/null
+++ b/meta-oe/recipes-graphics/xorg-xserver/xserver-xorg-conf/igep0020/xorg.conf
@@ -0,0 +1,29 @@
1Section "Module"
2 Load "extmod"
3 Load "dbe"
4 Load "glx"
5 Load "freetype"
6 Load "type1"
7 Load "record"
8 Load "dri"
9EndSection
10
11Section "Monitor"
12 Identifier "Builtin Default Monitor"
13EndSection
14
15Section "Device"
16 Identifier "Builtin Default fbdev Device 0"
17 Driver "omapfb"
18EndSection
19
20Section "Screen"
21 Identifier "Builtin Default fbdev Screen 0"
22 Device "Builtin Default fbdev Device 0"
23 Monitor "Builtin Default Monitor"
24EndSection
25
26Section "ServerLayout"
27 Identifier "Builtin Default Layout"
28 Screen "Builtin Default fbdev Screen 0"
29EndSection
diff --git a/meta-oe/recipes-graphics/xorg-xserver/xserver-xorg-conf/ion/xorg.conf b/meta-oe/recipes-graphics/xorg-xserver/xserver-xorg-conf/ion/xorg.conf
new file mode 100644
index 000000000..95a15235b
--- /dev/null
+++ b/meta-oe/recipes-graphics/xorg-xserver/xserver-xorg-conf/ion/xorg.conf
@@ -0,0 +1,51 @@
1# xorg.conf (X.Org X Window System server configuration file)
2#
3# This file was generated by dexconf, the Debian X Configuration tool, using
4# values from the debconf database.
5#
6# Edit this file with caution, and see the xorg.conf manual page.
7# (Type "man xorg.conf" at the shell prompt.)
8#
9# This file is automatically updated on xserver-xorg package upgrades *only*
10# if it has not been modified since the last upgrade of the xserver-xorg
11# package.
12#
13# Note that some configuration settings that could be done previously
14# in this file, now are automatically configured by the server and settings
15# here are ignored.
16#
17# If you have edited this file but would like it to be automatically updated
18# again, run the following command:
19# sudo dpkg-reconfigure -phigh xserver-xorg
20
21Section "Device"
22 Identifier "NVidia"
23 Driver "nvidia"
24# Option "NoLogo" "True"
25EndSection
26
27Section "Monitor"
28 Identifier "DELL 2007WFP"
29# Option "DPMS"
30 HorizSync 30.0-83.0
31 VertRefresh 56.0-76.0
32 ModeLine "1680x1050" 119.0 1680 1728 1760 1840 1050 1053 1059 1080 -HSync +VSync
33EndSection
34
35Section "Screen"
36 Identifier "Default Screen"
37 Device "NVidia"
38 Monitor "DELL 2007WFP"
39 DefaultDepth 24
40 SubSection "Display"
41 Depth 24
42 Modes "1680x1050"
43 ViewPort 0 0
44 EndSubSection
45EndSection
46
47Section "Module"
48 Load "glx"
49EndSection
50
51
diff --git a/meta-oe/recipes-graphics/xorg-xserver/xserver-xorg-conf/iphone3g/xorg.conf b/meta-oe/recipes-graphics/xorg-xserver/xserver-xorg-conf/iphone3g/xorg.conf
new file mode 100644
index 000000000..83ac9c148
--- /dev/null
+++ b/meta-oe/recipes-graphics/xorg-xserver/xserver-xorg-conf/iphone3g/xorg.conf
@@ -0,0 +1,29 @@
1Section "Device"
2 Identifier "Builtin Default fbdev Device 0"
3 Driver "fbdev"
4 Option "ShadowFB" "on"
5EndSection
6
7Section "Screen"
8 Identifier "Builtin Default fbdev Screen 0"
9 Device "Builtin Default fbdev Device 0"
10EndSection
11
12
13Section "InputDevice"
14 Identifier "touchscreen"
15 Driver "evdev"
16 Option "Device" "/dev/input/event2"
17 Option "ReportingMode" "Raw"
18 Option "SendCoreEvents" "On"
19 Option "GrabDevices" "True"
20 Option "InvertY" "0"
21 Option "SwapAxes" "0"
22EndSection
23
24
25Section "ServerLayout"
26 Identifier "Builtin Default Layout"
27 Screen "Builtin Default fbdev Screen 0"
28 InputDevice "touchscreen" "CorePointer" "AlwaysCore"
29EndSection
diff --git a/meta-oe/recipes-graphics/xorg-xserver/xserver-xorg-conf/mh355/xorg.conf b/meta-oe/recipes-graphics/xorg-xserver/xserver-xorg-conf/mh355/xorg.conf
new file mode 100644
index 000000000..4c275c9dc
--- /dev/null
+++ b/meta-oe/recipes-graphics/xorg-xserver/xserver-xorg-conf/mh355/xorg.conf
@@ -0,0 +1,47 @@
1#
2# X11 configuration for Microhard MH355 device
3# (C)2010 Koan sas - www.KoanSoftware.com
4#
5
6Section "Monitor"
7 Identifier "Display"
8EndSection
9
10Section "Device"
11 Identifier "fbdevice"
12 Driver "fbdev"
13 Option "fbdev" "/dev/fb0"
14 Option "shadowfb" "true"
15EndSection
16
17Section "Screen"
18 Identifier "fbscreen"
19 Device "fbdevice"
20 Monitor "Display"
21EndSection
22
23Section "InputDevice"
24 Identifier "mh355-ts"
25 Driver "evdev"
26 Option "SwapAxes" "1"
27 Option "Device" "/dev/input/touchscreen0"
28EndSection
29
30Section "InputDevice"
31 Identifier "Generic Mouse"
32 Driver "mouse"
33 Option "CorePointer"
34EndSection
35
36Section "ServerLayout"
37 Identifier "Layout"
38 Screen "fbscreen"
39 InputDevice "mh355-ts" "CorePointer"
40# Enable mouse only if necessary, it may interfere with touchscreen behaviour
41# InputDevice "Generic Mouse"
42EndSection
43
44Section "ServerFlags"
45 Option "AutoAddDevices" "false"
46EndSection
47
diff --git a/meta-oe/recipes-graphics/xorg-xserver/xserver-xorg-conf/nokia800/xorg.conf b/meta-oe/recipes-graphics/xorg-xserver/xserver-xorg-conf/nokia800/xorg.conf
new file mode 100644
index 000000000..983bb0823
--- /dev/null
+++ b/meta-oe/recipes-graphics/xorg-xserver/xserver-xorg-conf/nokia800/xorg.conf
@@ -0,0 +1,29 @@
1Section "Module"
2 Load "extmod"
3 Load "dbe"
4 Load "glx"
5 Load "freetype"
6 Load "type1"
7 Load "record"
8 Load "dri"
9EndSection
10
11Section "Monitor"
12 Identifier "Builtin Default Monitor"
13EndSection
14
15Section "Device"
16 Identifier "Builtin Default fbdev Device 0"
17 Driver "omapfb"
18EndSection
19
20Section "Screen"
21 Identifier "Builtin Default fbdev Screen 0"
22 Device "Builtin Default fbdev Device 0"
23 Monitor "Builtin Default Monitor"
24EndSection
25
26Section "ServerLayout"
27 Identifier "Builtin Default Layout"
28 Screen "Builtin Default fbdev Screen 0"
29EndSection
diff --git a/meta-oe/recipes-graphics/xorg-xserver/xserver-xorg-conf/nokia900/xorg.conf b/meta-oe/recipes-graphics/xorg-xserver/xserver-xorg-conf/nokia900/xorg.conf
new file mode 100644
index 000000000..d9d742ffb
--- /dev/null
+++ b/meta-oe/recipes-graphics/xorg-xserver/xserver-xorg-conf/nokia900/xorg.conf
@@ -0,0 +1,62 @@
1Section "Module"
2 Load "extmod"
3 Load "dbe"
4 Load "glx"
5 Load "freetype"
6 Load "type1"
7 Load "record"
8 Load "dri"
9EndSection
10
11Section "Monitor"
12 Identifier "Default Monitor"
13EndSection
14
15Section "Device"
16 Identifier "Default omapfb Device"
17 Driver "omapfb"
18 Option "fb" "/dev/fb0"
19
20EndSection
21
22Section "InputDevice"
23 Identifier "gpio-keys"
24 Driver "evdev"
25 Option "Device" "/dev/input/event0"
26EndSection
27
28Section "InputDevice"
29 Identifier "twl4030_pwrbutton"
30 Driver "evdev"
31 Option "Device" "/dev/input/event3"
32EndSection
33
34
35Section "InputDevice"
36 Identifier "Keyboard"
37 Driver "evdev"
38 Option "Device" "/dev/input/event1"
39 Option "XkbModel" "nokiarx51"
40 Option "XkbLayout" "us"
41 Option "CoreKeyboard"
42EndSection
43
44Section "InputDevice"
45 Identifier "Touchscreen"
46 Driver "evdev"
47 Option "Device" "/dev/input/event2"
48EndSection
49
50Section "Screen"
51 Identifier "Default Screen"
52 Device "Default omapfb Device"
53EndSection
54
55Section "ServerLayout"
56 Identifier "Default Layout"
57 Screen "Default Screen"
58 InputDevice "Touchscreen"
59 InputDevice "Keyboard"
60 InputDevice "gpio-keys"
61 InputDevice "twl4030_pwrbutton"
62EndSection
diff --git a/meta-oe/recipes-graphics/xorg-xserver/xserver-xorg-conf/om-gta01/xorg.conf b/meta-oe/recipes-graphics/xorg-xserver/xserver-xorg-conf/om-gta01/xorg.conf
new file mode 100644
index 000000000..edb5e0ee4
--- /dev/null
+++ b/meta-oe/recipes-graphics/xorg-xserver/xserver-xorg-conf/om-gta01/xorg.conf
@@ -0,0 +1,49 @@
1Section "Monitor"
2 Identifier "LCD Panel"
3EndSection
4
5
6Section "Device"
7 Identifier "Fbdev"
8 Driver "fbdev"
9EndSection
10
11
12Section "Screen"
13 Identifier "Default Screen"
14 Device "Fbdev"
15 Monitor "LCD Panel"
16EndSection
17
18
19Section "InputDevice"
20 Identifier "Power Button"
21 Driver "evdev"
22 Option "Device" "/dev/input/event2"
23EndSection
24
25
26Section "InputDevice"
27 Identifier "AUX Button"
28 Driver "evdev"
29 Option "Device" "/dev/input/event0"
30EndSection
31
32
33Section "InputDevice"
34 Identifier "Touchscreen"
35 Driver "evdev"
36 Option "Device" "/dev/input/event1"
37EndSection
38
39Section "ServerFlags"
40 Option "AutoAddDevices" "False"
41EndSection
42
43Section "ServerLayout"
44 Identifier "Default Layout"
45 Screen "Default Screen"
46 InputDevice "Power Button"
47 InputDevice "AUX Button"
48 InputDevice "Touchscreen"
49EndSection
diff --git a/meta-oe/recipes-graphics/xorg-xserver/xserver-xorg-conf/om-gta02/xorg.conf b/meta-oe/recipes-graphics/xorg-xserver/xserver-xorg-conf/om-gta02/xorg.conf
new file mode 100644
index 000000000..de6ed1c14
--- /dev/null
+++ b/meta-oe/recipes-graphics/xorg-xserver/xserver-xorg-conf/om-gta02/xorg.conf
@@ -0,0 +1,55 @@
1Section "Module"
2 Load "glx"
3 Load "dri2"
4EndSection
5
6
7Section "Monitor"
8 Identifier "LCD Panel"
9EndSection
10
11
12Section "Device"
13 Identifier "Glamo Graphics Chip"
14 Driver "glamo"
15EndSection
16
17
18Section "Screen"
19 Identifier "Default Screen"
20 Device "Glamo Graphics Chip"
21 Monitor "LCD Panel"
22EndSection
23
24
25Section "InputDevice"
26 Identifier "Power Button"
27 Driver "evdev"
28 Option "Device" "/dev/input/event0"
29EndSection
30
31
32Section "InputDevice"
33 Identifier "AUX Button"
34 Driver "evdev"
35 Option "Device" "/dev/input/event2"
36EndSection
37
38
39Section "InputDevice"
40 Identifier "Touchscreen"
41 Driver "evdev"
42 Option "Device" "/dev/input/event1"
43EndSection
44
45Section "ServerFlags"
46 Option "AutoAddDevices" "False"
47EndSection
48
49Section "ServerLayout"
50 Identifier "Default Layout"
51 Screen "Default Screen"
52 InputDevice "Power Button"
53 InputDevice "AUX Button"
54 InputDevice "Touchscreen"
55EndSection
diff --git a/meta-oe/recipes-graphics/xorg-xserver/xserver-xorg-conf/omap3-pandora/xorg.conf b/meta-oe/recipes-graphics/xorg-xserver/xserver-xorg-conf/omap3-pandora/xorg.conf
new file mode 100644
index 000000000..446ac9777
--- /dev/null
+++ b/meta-oe/recipes-graphics/xorg-xserver/xserver-xorg-conf/omap3-pandora/xorg.conf
@@ -0,0 +1,24 @@
1Section "Module"
2 Load "extmod"
3 Load "dbe"
4EndSection
5
6Section "Monitor"
7 Identifier "Builtin Default Monitor"
8EndSection
9
10Section "Device"
11 Identifier "Builtin Default fbdev Device 0"
12 Driver "omapfb"
13EndSection
14
15Section "Screen"
16 Identifier "Builtin Default fbdev Screen 0"
17 Device "Builtin Default fbdev Device 0"
18 Monitor "Builtin Default Monitor"
19EndSection
20
21Section "ServerLayout"
22 Identifier "Builtin Default Layout"
23 Screen "Builtin Default fbdev Screen 0"
24EndSection
diff --git a/meta-oe/recipes-graphics/xorg-xserver/xserver-xorg-conf/omap3-touchbook/xorg.conf b/meta-oe/recipes-graphics/xorg-xserver/xserver-xorg-conf/omap3-touchbook/xorg.conf
new file mode 100644
index 000000000..56425abf8
--- /dev/null
+++ b/meta-oe/recipes-graphics/xorg-xserver/xserver-xorg-conf/omap3-touchbook/xorg.conf
@@ -0,0 +1,25 @@
1Section "Module"
2 Load "extmod"
3 Load "dbe"
4EndSection
5
6Section "Monitor"
7 Identifier "Builtin Default Monitor"
8EndSection
9
10Section "Device"
11 Identifier "Builtin Default fbdev Device 0"
12 Driver "fbdev"
13 Option "ShadowFB" "false"
14EndSection
15
16Section "Screen"
17 Identifier "Builtin Default fbdev Screen 0"
18 Device "Builtin Default fbdev Device 0"
19 Monitor "Builtin Default Monitor"
20EndSection
21
22Section "ServerLayout"
23 Identifier "Builtin Default Layout"
24 Screen "Builtin Default fbdev Screen 0"
25EndSection
diff --git a/meta-oe/recipes-graphics/xorg-xserver/xserver-xorg-conf/omap3/xorg.conf b/meta-oe/recipes-graphics/xorg-xserver/xserver-xorg-conf/omap3/xorg.conf
new file mode 100644
index 000000000..983bb0823
--- /dev/null
+++ b/meta-oe/recipes-graphics/xorg-xserver/xserver-xorg-conf/omap3/xorg.conf
@@ -0,0 +1,29 @@
1Section "Module"
2 Load "extmod"
3 Load "dbe"
4 Load "glx"
5 Load "freetype"
6 Load "type1"
7 Load "record"
8 Load "dri"
9EndSection
10
11Section "Monitor"
12 Identifier "Builtin Default Monitor"
13EndSection
14
15Section "Device"
16 Identifier "Builtin Default fbdev Device 0"
17 Driver "omapfb"
18EndSection
19
20Section "Screen"
21 Identifier "Builtin Default fbdev Screen 0"
22 Device "Builtin Default fbdev Device 0"
23 Monitor "Builtin Default Monitor"
24EndSection
25
26Section "ServerLayout"
27 Identifier "Builtin Default Layout"
28 Screen "Builtin Default fbdev Screen 0"
29EndSection
diff --git a/meta-oe/recipes-graphics/xorg-xserver/xserver-xorg-conf/omap3evm/xorg.conf b/meta-oe/recipes-graphics/xorg-xserver/xserver-xorg-conf/omap3evm/xorg.conf
new file mode 100644
index 000000000..983bb0823
--- /dev/null
+++ b/meta-oe/recipes-graphics/xorg-xserver/xserver-xorg-conf/omap3evm/xorg.conf
@@ -0,0 +1,29 @@
1Section "Module"
2 Load "extmod"
3 Load "dbe"
4 Load "glx"
5 Load "freetype"
6 Load "type1"
7 Load "record"
8 Load "dri"
9EndSection
10
11Section "Monitor"
12 Identifier "Builtin Default Monitor"
13EndSection
14
15Section "Device"
16 Identifier "Builtin Default fbdev Device 0"
17 Driver "omapfb"
18EndSection
19
20Section "Screen"
21 Identifier "Builtin Default fbdev Screen 0"
22 Device "Builtin Default fbdev Device 0"
23 Monitor "Builtin Default Monitor"
24EndSection
25
26Section "ServerLayout"
27 Identifier "Builtin Default Layout"
28 Screen "Builtin Default fbdev Screen 0"
29EndSection
diff --git a/meta-oe/recipes-graphics/xorg-xserver/xserver-xorg-conf/omapzoom/xorg.conf b/meta-oe/recipes-graphics/xorg-xserver/xserver-xorg-conf/omapzoom/xorg.conf
new file mode 100644
index 000000000..983bb0823
--- /dev/null
+++ b/meta-oe/recipes-graphics/xorg-xserver/xserver-xorg-conf/omapzoom/xorg.conf
@@ -0,0 +1,29 @@
1Section "Module"
2 Load "extmod"
3 Load "dbe"
4 Load "glx"
5 Load "freetype"
6 Load "type1"
7 Load "record"
8 Load "dri"
9EndSection
10
11Section "Monitor"
12 Identifier "Builtin Default Monitor"
13EndSection
14
15Section "Device"
16 Identifier "Builtin Default fbdev Device 0"
17 Driver "omapfb"
18EndSection
19
20Section "Screen"
21 Identifier "Builtin Default fbdev Screen 0"
22 Device "Builtin Default fbdev Device 0"
23 Monitor "Builtin Default Monitor"
24EndSection
25
26Section "ServerLayout"
27 Identifier "Builtin Default Layout"
28 Screen "Builtin Default fbdev Screen 0"
29EndSection
diff --git a/meta-oe/recipes-graphics/xorg-xserver/xserver-xorg-conf/omapzoom2/xorg.conf b/meta-oe/recipes-graphics/xorg-xserver/xserver-xorg-conf/omapzoom2/xorg.conf
new file mode 100644
index 000000000..983bb0823
--- /dev/null
+++ b/meta-oe/recipes-graphics/xorg-xserver/xserver-xorg-conf/omapzoom2/xorg.conf
@@ -0,0 +1,29 @@
1Section "Module"
2 Load "extmod"
3 Load "dbe"
4 Load "glx"
5 Load "freetype"
6 Load "type1"
7 Load "record"
8 Load "dri"
9EndSection
10
11Section "Monitor"
12 Identifier "Builtin Default Monitor"
13EndSection
14
15Section "Device"
16 Identifier "Builtin Default fbdev Device 0"
17 Driver "omapfb"
18EndSection
19
20Section "Screen"
21 Identifier "Builtin Default fbdev Screen 0"
22 Device "Builtin Default fbdev Device 0"
23 Monitor "Builtin Default Monitor"
24EndSection
25
26Section "ServerLayout"
27 Identifier "Builtin Default Layout"
28 Screen "Builtin Default fbdev Screen 0"
29EndSection
diff --git a/meta-oe/recipes-graphics/xorg-xserver/xserver-xorg-conf/omapzoom36x/xorg.conf b/meta-oe/recipes-graphics/xorg-xserver/xserver-xorg-conf/omapzoom36x/xorg.conf
new file mode 100644
index 000000000..983bb0823
--- /dev/null
+++ b/meta-oe/recipes-graphics/xorg-xserver/xserver-xorg-conf/omapzoom36x/xorg.conf
@@ -0,0 +1,29 @@
1Section "Module"
2 Load "extmod"
3 Load "dbe"
4 Load "glx"
5 Load "freetype"
6 Load "type1"
7 Load "record"
8 Load "dri"
9EndSection
10
11Section "Monitor"
12 Identifier "Builtin Default Monitor"
13EndSection
14
15Section "Device"
16 Identifier "Builtin Default fbdev Device 0"
17 Driver "omapfb"
18EndSection
19
20Section "Screen"
21 Identifier "Builtin Default fbdev Screen 0"
22 Device "Builtin Default fbdev Device 0"
23 Monitor "Builtin Default Monitor"
24EndSection
25
26Section "ServerLayout"
27 Identifier "Builtin Default Layout"
28 Screen "Builtin Default fbdev Screen 0"
29EndSection
diff --git a/meta-oe/recipes-graphics/xorg-xserver/xserver-xorg-conf/overo/xorg.conf b/meta-oe/recipes-graphics/xorg-xserver/xserver-xorg-conf/overo/xorg.conf
new file mode 100644
index 000000000..983bb0823
--- /dev/null
+++ b/meta-oe/recipes-graphics/xorg-xserver/xserver-xorg-conf/overo/xorg.conf
@@ -0,0 +1,29 @@
1Section "Module"
2 Load "extmod"
3 Load "dbe"
4 Load "glx"
5 Load "freetype"
6 Load "type1"
7 Load "record"
8 Load "dri"
9EndSection
10
11Section "Monitor"
12 Identifier "Builtin Default Monitor"
13EndSection
14
15Section "Device"
16 Identifier "Builtin Default fbdev Device 0"
17 Driver "omapfb"
18EndSection
19
20Section "Screen"
21 Identifier "Builtin Default fbdev Screen 0"
22 Device "Builtin Default fbdev Device 0"
23 Monitor "Builtin Default Monitor"
24EndSection
25
26Section "ServerLayout"
27 Identifier "Builtin Default Layout"
28 Screen "Builtin Default fbdev Screen 0"
29EndSection
diff --git a/meta-oe/recipes-graphics/xorg-xserver/xserver-xorg-conf/palmpre/xorg.conf b/meta-oe/recipes-graphics/xorg-xserver/xserver-xorg-conf/palmpre/xorg.conf
new file mode 100644
index 000000000..6915b87b9
--- /dev/null
+++ b/meta-oe/recipes-graphics/xorg-xserver/xserver-xorg-conf/palmpre/xorg.conf
@@ -0,0 +1,58 @@
1Section "Module"
2 Load "extmod"
3 Load "dbe"
4 Load "freetype"
5 Load "type1"
6 Load "record"
7 Load "dri"
8EndSection
9
10Section "Monitor"
11 Identifier "Builtin Default Monitor"
12EndSection
13
14Section "Device"
15 Identifier "Builtin Default fbdev Device 0"
16 Driver "omapfb"
17 Option "fb" "/dev/fb0"
18EndSection
19
20Section "Screen"
21 Identifier "Builtin Default fbdev Screen 0"
22 Device "Builtin Default fbdev Device 0"
23 Monitor "Builtin Default Monitor"
24EndSection
25
26Section "ServerLayout"
27 Identifier "Builtin Default Layout"
28 Screen "Builtin Default fbdev Screen 0"
29 InputDevice "Touchscreen" "CorePointer"
30EndSection
31
32Section "InputDevice"
33 Identifier "Touchscreen"
34 Driver "evdev"
35 Option "Device" "/dev/input/event6"
36 Option "SendCoreEvents" "true"
37 Option "Protocol" "Auto"
38 Option "Width" "320"
39 Option "Height" "528"
40 Option "EmulateRightButton" "1"
41 Option "CorePointer" "true"
42EndSection
43
44Section "InputDevice"
45 Identifier "Keyboard"
46 Driver "palm-pre"
47 Option "Device" "/dev/input/event2"
48 Option "SendCoreEvents" "true"
49 #Option "XkbModel" "palm-pre"
50 Option "XkbLayout" "palm-pre"
51# Option "XKbOptions" ""
52EndSection
53
54#Section "InputDevice"
55# Identifier "Keyboard"
56# Driver "evdev"
57# Option "Device" "/dev/input/event2"
58#EndSection
diff --git a/meta-oe/recipes-graphics/xorg-xserver/xserver-xorg-conf/ronetix-pm9263/xorg.conf b/meta-oe/recipes-graphics/xorg-xserver/xserver-xorg-conf/ronetix-pm9263/xorg.conf
new file mode 100644
index 000000000..d4651ad87
--- /dev/null
+++ b/meta-oe/recipes-graphics/xorg-xserver/xserver-xorg-conf/ronetix-pm9263/xorg.conf
@@ -0,0 +1,47 @@
1#
2# X11 configuration for Ronetix PM9263 device.
3# (C)2009-2010 Koan sas - www.KoanSoftware.com
4#
5
6Section "Monitor"
7 Identifier "Display"
8EndSection
9
10Section "Device"
11 Identifier "fbdevice"
12 Driver "fbdev"
13 Option "fbdev" "/dev/fb0"
14 Option "shadowfb" "true"
15EndSection
16
17Section "Screen"
18 Identifier "fbscreen"
19 Device "fbdevice"
20 Monitor "Display"
21EndSection
22
23Section "InputDevice"
24 Identifier "atmel-ts"
25 Driver "evdev"
26 Option "SwapAxes" "1"
27 Option "Device" "/dev/input/touchscreen0"
28EndSection
29
30Section "InputDevice"
31 Identifier "Generic Mouse"
32 Driver "mouse"
33 Option "CorePointer"
34EndSection
35
36Section "ServerLayout"
37 Identifier "Layout"
38 Screen "fbscreen"
39 InputDevice "atmel-ts" "CorePointer"
40# Enable mouse only if necessary, it may interfere with touchscreen behaviour
41# InputDevice "Generic Mouse"
42EndSection
43
44Section "ServerFlags"
45 Option "AutoAddDevices" "false"
46EndSection
47
diff --git a/meta-oe/recipes-graphics/xorg-xserver/xserver-xorg-conf/spitz/xorg.conf b/meta-oe/recipes-graphics/xorg-xserver/xserver-xorg-conf/spitz/xorg.conf
new file mode 100644
index 000000000..224df5c8b
--- /dev/null
+++ b/meta-oe/recipes-graphics/xorg-xserver/xserver-xorg-conf/spitz/xorg.conf
@@ -0,0 +1,49 @@
1Section "Device"
2 Identifier "Generic Video Card"
3 Driver "fbdev"
4 Option "UseFBDev" "true"
5 Option "Rotate" "CW"
6EndSection
7
8Section "Monitor"
9 Identifier "Generic Monitor"
10 Option "DPMS"
11 HorizSync 28-32
12 VertRefresh 43-60
13EndSection
14
15Section "Screen"
16 Identifier "Default Screen"
17 Device "Generic Video Card"
18 Monitor "Generic Monitor"
19 DefaultDepth 16
20 SubSection "Display"
21 Depth 1
22 Modes "640x480"
23 EndSubSection
24 SubSection "Display"
25 Depth 4
26 Modes "640x480"
27 EndSubSection
28 SubSection "Display"
29 Depth 8
30 Modes "640x480"
31 EndSubSection
32 SubSection "Display"
33 Depth 15
34 Modes "640x480"
35 EndSubSection
36 SubSection "Display"
37 Depth 16
38 Modes "640x480"
39 EndSubSection
40 SubSection "Display"
41 Depth 24
42 Modes "640x480"
43 EndSubSection
44EndSection
45
46Section "ServerLayout"
47 Identifier "Default Layout"
48 Screen "Default Screen"
49EndSection
diff --git a/meta-oe/recipes-graphics/xorg-xserver/xserver-xorg-conf/vortex86sx/xorg.conf b/meta-oe/recipes-graphics/xorg-xserver/xserver-xorg-conf/vortex86sx/xorg.conf
new file mode 100644
index 000000000..0f03faf33
--- /dev/null
+++ b/meta-oe/recipes-graphics/xorg-xserver/xserver-xorg-conf/vortex86sx/xorg.conf
@@ -0,0 +1,13 @@
1Section "Device"
2 Identifier "Card0"
3 Driver "vesa"
4EndSection
5
6# SIS driver is proper one for this device but fails with misc errors.
7#Section "Device"
8# Identifier "Card0"
9# Driver "sis"
10#
11# Disable MMX/SSE tests
12# Option "BenchmarkMemCpy" "off"
13#EndSection
diff --git a/meta-oe/recipes-graphics/xorg-xserver/xserver-xorg-conf/xilinx-ml507/xorg.conf b/meta-oe/recipes-graphics/xorg-xserver/xserver-xorg-conf/xilinx-ml507/xorg.conf
new file mode 100644
index 000000000..2950193ce
--- /dev/null
+++ b/meta-oe/recipes-graphics/xorg-xserver/xserver-xorg-conf/xilinx-ml507/xorg.conf
@@ -0,0 +1,39 @@
1Section "Monitor"
2 Identifier "LCD Panel"
3EndSection
4
5Section "Device"
6 Identifier "Xilinx frame buffer"
7 Driver "fbdev"
8EndSection
9
10Section "Screen"
11 Identifier "Default Screen"
12 Device "Xilinx frame buffer"
13 Monitor "LCD Panel"
14 SubSection "Display"
15 Depth 24
16 Modes "640x480"
17 EndSubSection
18EndSection
19
20Section "InputDevice"
21 Identifier "Keyboard"
22 Driver "kbd"
23# Option "XkbLayout" "es"
24# Option "XkbModel" "pc105"
25EndSection
26
27Section "InputDevice"
28 Identifier "Mouse"
29 Driver "mouse"
30 Option "protocol" "auto"
31 Option "device" "/dev/input/mice"
32EndSection
33
34Section "ServerLayout"
35 Identifier "Default Layout"
36 Screen "Default Screen"
37 InputDevice "Keyboard"
38 InputDevice "Mouse"
39EndSection
diff --git a/meta-oe/recipes-graphics/xorg-xserver/xserver-xorg-conf/xilinx-virtex5/xorg.conf b/meta-oe/recipes-graphics/xorg-xserver/xserver-xorg-conf/xilinx-virtex5/xorg.conf
new file mode 100644
index 000000000..61f0f9fcd
--- /dev/null
+++ b/meta-oe/recipes-graphics/xorg-xserver/xserver-xorg-conf/xilinx-virtex5/xorg.conf
@@ -0,0 +1,38 @@
1# Xorg conf file for Xilinx platforms
2Section "Monitor"
3 Identifier "LCD Panel"
4EndSection
5
6Section "Device"
7 Identifier "Xilinx frame buffer"
8 Driver "fbdev"
9EndSection
10
11Section "Screen"
12 Identifier "Default Screen"
13 Device "Xilinx frame buffer"
14 Monitor "LCD Panel"
15 SubSection "Display"
16 Depth 24
17 Modes "640x480"
18 EndSubSection
19EndSection
20
21Section "InputDevice"
22 Identifier "Keyboard"
23 Driver "kbd"
24EndSection
25
26Section "InputDevice"
27 Identifier "Mouse"
28 Driver "mouse"
29 Option "protocol" "auto"
30 Option "device" "/dev/input/mice"
31EndSection
32
33Section "ServerLayout"
34 Identifier "Default Layout"
35 Screen 0 "Default Screen" 0 0
36 InputDevice "Keyboard"
37 InputDevice "Mouse"
38EndSection
diff --git a/meta-oe/recipes-graphics/xorg-xserver/xserver-xorg-conf/xorg.conf b/meta-oe/recipes-graphics/xorg-xserver/xserver-xorg-conf/xorg.conf
new file mode 100644
index 000000000..e69de29bb
--- /dev/null
+++ b/meta-oe/recipes-graphics/xorg-xserver/xserver-xorg-conf/xorg.conf
diff --git a/meta-oe/recipes-graphics/xorg-xserver/xserver-xorg-conf_0.1.bb b/meta-oe/recipes-graphics/xorg-xserver/xserver-xorg-conf_0.1.bb
new file mode 100644
index 000000000..ae4493d41
--- /dev/null
+++ b/meta-oe/recipes-graphics/xorg-xserver/xserver-xorg-conf_0.1.bb
@@ -0,0 +1,17 @@
1DESCRIPTION = "Machine specific xorg.conf files"
2PR = "r43"
3LICENSE = "MIT"
4LIC_FILES_CHKSUM = "file://${TOPDIR}/meta-shr/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420"
5
6SRC_URI = "file://xorg.conf"
7
8do_install() {
9 install -d ${D}/${sysconfdir}/X11
10 install -m 0644 ${WORKDIR}/xorg.conf ${D}/${sysconfdir}/X11/
11}
12
13# Set some dependencies to make the confs actually work
14RDEPENDS_omap3 = "xf86-video-omapfb"
15
16CONFFILES_${PN} += "${sysconfdir}/X11/xorg.conf"
17PACKAGE_ARCH = "${MACHINE_ARCH}"
diff --git a/meta-oe/recipes-graphics/xorg-xserver/xserver-xorg_1.10.0.901.bb b/meta-oe/recipes-graphics/xorg-xserver/xserver-xorg_1.10.0.901.bb
new file mode 100644
index 000000000..c1d956648
--- /dev/null
+++ b/meta-oe/recipes-graphics/xorg-xserver/xserver-xorg_1.10.0.901.bb
@@ -0,0 +1,29 @@
1# Assign it here, since the hal->udev transition happens post 1.7 in angstrom
2DISTRO_XORG_CONFIG_MANAGER_angstrom = "udev"
3
4require xorg-xserver-common.inc
5
6DESCRIPTION = "the X.Org X server"
7DEPENDS += "pixman libpciaccess openssl dri2proto glproto xorg-minimal-fonts font-util-native"
8PE = "2"
9PR = "${INC_PR}.0"
10
11SRC_URI += " \
12 file://hack-fbdev-ignore-return-mode.patch \
13 file://hack-assume-pixman-supports-overlapped-blt.patch \
14 "
15SRC_URI[md5sum] = "d750cf5f6342b548b7ac2be56e9d1841"
16SRC_URI[sha256sum] = "de18f52c35fc3d3f18c7e905296f9de5ac42dc71e4e01da9ae8e154a78c7771c"
17
18do_install_prepend() {
19 mkdir -p ${D}/${libdir}/X11/fonts
20}
21
22# The NVidia driver requires Xinerama support in the X server. Ion uses it.
23PACKAGE_ARCH_ion = "${MACHINE_ARCH}"
24XINERAMA = "${@['--disable-xinerama','--enable-xinerama'][bb.data.getVar('MACHINE',d) in ['ion']]}"
25
26EXTRA_OECONF += " ${CONFIG_MANAGER_OPTION} ${XINERAMA} --disable-kdrive --disable-xephyr --disable-xsdl --disable-xfake --disable-xfbdev --disable-dmx"
27EXTRA_OECONF += " --enable-dri2 --disable-unit-tests --disable-docs --disable-devel-docs"
28
29export LDFLAGS += " -ldl "
diff --git a/meta-oe/recipes-graphics/xorg-xserver/xserver-xorg_1.9.4.bb b/meta-oe/recipes-graphics/xorg-xserver/xserver-xorg_1.9.4.bb
new file mode 100644
index 000000000..086ac176f
--- /dev/null
+++ b/meta-oe/recipes-graphics/xorg-xserver/xserver-xorg_1.9.4.bb
@@ -0,0 +1,31 @@
1# Assign it here, since the hal->udev transition happens post 1.7 in angstrom
2DISTRO_XORG_CONFIG_MANAGER_angstrom = "udev"
3
4require xorg-xserver-common.inc
5
6DESCRIPTION = "the X.Org X server"
7DEPENDS += "pixman libpciaccess openssl dri2proto glproto xorg-minimal-fonts font-util-native"
8PE = "2"
9PR = "${INC_PR}.0"
10
11SRC_URI += " \
12 file://dolt-fix.patch \
13 file://randr-support.patch \
14 file://hack-fbdev-ignore-return-mode.patch \
15 file://hack-assume-pixman-supports-overlapped-blt.patch \
16 "
17SRC_URI[md5sum] = "040f091dfdfb4e335116eb0032cc690b"
18SRC_URI[sha256sum] = "ad11047ebba58f2e37b03c70c986db3ea0cc0f1a19d2d3612713ab77b8ec2458"
19
20do_install_prepend() {
21 mkdir -p ${D}/${libdir}/X11/fonts
22}
23
24# The NVidia driver requires Xinerama support in the X server. Ion uses it.
25PACKAGE_ARCH_ion = "${MACHINE_ARCH}"
26XINERAMA = "${@['--disable-xinerama','--enable-xinerama'][bb.data.getVar('MACHINE',d) in ['ion']]}"
27
28EXTRA_OECONF += " ${CONFIG_MANAGER_OPTION} ${XINERAMA} --disable-kdrive --disable-xephyr --disable-xsdl --disable-xfake --disable-xfbdev --disable-dmx"
29EXTRA_OECONF += " --enable-dri2 --disable-unit-tests --disable-docs --disable-devel-docs"
30
31export LDFLAGS += " -ldl "
diff --git a/meta-oe/recipes-graphics/xorg-xserver/xserver-xorg_git.bb b/meta-oe/recipes-graphics/xorg-xserver/xserver-xorg_git.bb
new file mode 100644
index 000000000..be441a35a
--- /dev/null
+++ b/meta-oe/recipes-graphics/xorg-xserver/xserver-xorg_git.bb
@@ -0,0 +1,38 @@
1# Assign it here, since the hal->udev transition happens post 1.7 in angstrom
2DISTRO_XORG_CONFIG_MANAGER_angstrom = "udev"
3
4require xorg-xserver-common.inc
5
6LICENSE = "MIT-X"
7LIC_FILES_CHKSUM = "file://COPYING;md5=74df27b6254cc88d2799b5f4f5949c00"
8
9DESCRIPTION = "the X.Org X server"
10DEPENDS += "pixman libpciaccess openssl dri2proto glproto xorg-minimal-fonts font-util-native"
11PV = "1.10.0.901"
12PR = "${INC_PR}.0"
13PR_append = "+gitr${SRCPV}"
14PE = "2"
15
16#DEFAULT_PREFERENCE = "-1"
17
18SRCREV = "1f51fe4f748b2997e466863d8387bd6791b32931"
19SRC_URI = " \
20 git://anongit.freedesktop.org/xorg/xserver;protocol=git;branch=server-1.10-branch \
21 file://hack-fbdev-ignore-return-mode.patch \
22 file://hack-assume-pixman-supports-overlapped-blt.patch \
23"
24
25S = "${WORKDIR}/git"
26
27do_install_prepend() {
28 mkdir -p ${D}/${libdir}/X11/fonts
29}
30
31# The NVidia driver requires Xinerama support in the X server. Ion uses it.
32PACKAGE_ARCH_ion = "${MACHINE_ARCH}"
33XINERAMA = "${@['--disable-xinerama','--enable-xinerama'][bb.data.getVar('MACHINE',d) in ['ion']]}"
34
35EXTRA_OECONF += " ${CONFIG_MANAGER_OPTION} ${XINERAMA} --disable-kdrive --disable-xephyr --disable-xsdl --disable-xfake --disable-xfbdev --disable-dmx"
36EXTRA_OECONF += " --enable-dri2 --disable-unit-tests --disable-docs --disable-devel-docs"
37
38export LDFLAGS += " -ldl "
diff --git a/meta-oe/recipes-graphics/xserver-common/xserver-common-1.34/89xTs_Calibrate.xinput_calibrator.patch b/meta-oe/recipes-graphics/xserver-common/xserver-common-1.34/89xTs_Calibrate.xinput_calibrator.patch
new file mode 100644
index 000000000..c04ad961a
--- /dev/null
+++ b/meta-oe/recipes-graphics/xserver-common/xserver-common-1.34/89xTs_Calibrate.xinput_calibrator.patch
@@ -0,0 +1,12 @@
1Index: xserver-common/X11/Xsession.d/89xTs_Calibrate_xinput_calibrator
2===================================================================
3--- xserver-common/X11/Xsession.d/89xTs_Calibrate_xinput_calibrator (revision 0)
4+++ xserver-common/X11/Xsession.d/89xTs_Calibrate_xinput_calibrator (revision 0)
5@@ -0,0 +1,7 @@
6+#!/bin/sh
7+
8+if [ -e /usr/bin/xinput_calibrator_once.sh ] ; then
9+ if [ -e /etc/pointercal.xinput ] ; then
10+ /usr/bin/xinput_calibrator_once.sh
11+ fi
12+fi
diff --git a/meta-oe/recipes-graphics/xserver-common/xserver-common-1.34/89xdgautostart.sh b/meta-oe/recipes-graphics/xserver-common/xserver-common-1.34/89xdgautostart.sh
new file mode 100644
index 000000000..9886f9fee
--- /dev/null
+++ b/meta-oe/recipes-graphics/xserver-common/xserver-common-1.34/89xdgautostart.sh
@@ -0,0 +1,9 @@
1#!/bin/sh
2
3XDGAUTOSTART=/etc/xdg/autostart
4if [ -d $XDGAUTOSTART ] ; then
5 for SCRIPT in $XDGAUTOSTART/*; do
6 CMD=`grep ^Exec= $SCRIPT | cut -d '=' -f 2`
7 $CMD &
8 done
9fi
diff --git a/meta-oe/recipes-graphics/xserver-common/xserver-common-1.34/90xXWindowManager.patch b/meta-oe/recipes-graphics/xserver-common/xserver-common-1.34/90xXWindowManager.patch
new file mode 100644
index 000000000..be5f5ce70
--- /dev/null
+++ b/meta-oe/recipes-graphics/xserver-common/xserver-common-1.34/90xXWindowManager.patch
@@ -0,0 +1,11 @@
1Index: xserver-common/X11/Xsession.d/90xXWindowManager
2===================================================================
3--- xserver-common/X11/Xsession.d/90xXWindowManager (revision 0)
4+++ xserver-common/X11/Xsession.d/90xXWindowManager (revision 0)
5@@ -0,0 +1,6 @@
6+#!/bin/sh
7+if [ -x $HOME/.Xsession ]; then
8+ exec $HOME/.Xsession
9+else
10+ exec /usr/bin/x-window-manager
11+fi
diff --git a/meta-oe/recipes-graphics/xserver-common/xserver-common-1.34/Xserver.add.dpi.for.gta.patch b/meta-oe/recipes-graphics/xserver-common/xserver-common-1.34/Xserver.add.dpi.for.gta.patch
new file mode 100644
index 000000000..f6e36d9e1
--- /dev/null
+++ b/meta-oe/recipes-graphics/xserver-common/xserver-common-1.34/Xserver.add.dpi.for.gta.patch
@@ -0,0 +1,29 @@
1xdpyinfo returns 96, but 285 is right value (but 280 is used as it renders 4 columns of illume icons instead of 3 and empty space)
2
3diff -uNr xserver-common-1.33.orig//X11/xserver-common xserver-common-1.33/X11/xserver-common
4--- xserver-common-1.33.orig//X11/xserver-common 2010-04-28 23:27:10.000000000 +0200
5+++ xserver-common-1.33/X11/xserver-common 2010-04-28 23:29:07.000000000 +0200
6@@ -133,19 +133,19 @@
7 ARGS="$ARGS -screen ${SCREEN_SIZE}"
8 DPI="225" ;;
9 "gta01" )
10- DPI="285"
11+ DPI="280"
12 if [ "$XSERVER" != "Xorg" ] ; then
13 ARGS="$ARGS -screen 480x640"
14 else
15- ARGS="$ARGS -nocursor"
16+ ARGS="$ARGS -dpi ${DPI} -nocursor"
17 fi
18 ;;
19 "gta02")
20- DPI="285"
21+ DPI="280"
22 if [ "$XSERVER" != "Xorg" ] ; then
23 ARGS="$ARGS -screen ${SCREEN_SIZE}"
24 else
25- ARGS="$ARGS -nocursor"
26+ ARGS="$ARGS -dpi ${DPI} -nocursor"
27 fi
28 ;;
29 "motorola_ezx_platform")
diff --git a/meta-oe/recipes-graphics/xserver-common/xserver-common-1.34/Xserver.add.nocursor.for.gta.patch b/meta-oe/recipes-graphics/xserver-common/xserver-common-1.34/Xserver.add.nocursor.for.gta.patch
new file mode 100644
index 000000000..bd16efc10
--- /dev/null
+++ b/meta-oe/recipes-graphics/xserver-common/xserver-common-1.34/Xserver.add.nocursor.for.gta.patch
@@ -0,0 +1,20 @@
1diff -uNr xserver-common-1.33.orig//X11/xserver-common xserver-common-1.33/X11/xserver-common
2--- xserver-common-1.33.orig//X11/xserver-common 2010-04-28 10:44:23.000000000 +0200
3+++ xserver-common-1.33/X11/xserver-common 2010-04-28 10:46:41.000000000 +0200
4@@ -136,12 +136,16 @@
5 DPI="285"
6 if [ "$XSERVER" != "Xorg" ] ; then
7 ARGS="$ARGS -screen 480x640"
8+ else
9+ ARGS="$ARGS -nocursor"
10 fi
11 ;;
12 "gta02")
13 DPI="285"
14 if [ "$XSERVER" != "Xorg" ] ; then
15 ARGS="$ARGS -screen ${SCREEN_SIZE}"
16+ else
17+ ARGS="$ARGS -nocursor"
18 fi
19 ;;
20 "motorola_ezx_platform")
diff --git a/meta-oe/recipes-graphics/xserver-common/xserver-common-1.34/Xserver.add.xserver-system.patch b/meta-oe/recipes-graphics/xserver-common/xserver-common-1.34/Xserver.add.xserver-system.patch
new file mode 100644
index 000000000..5d9d5d128
--- /dev/null
+++ b/meta-oe/recipes-graphics/xserver-common/xserver-common-1.34/Xserver.add.xserver-system.patch
@@ -0,0 +1,12 @@
1diff -uNr xserver-common-1.33.orig//X11/xserver-common xserver-common-1.33/X11/xserver-common
2--- xserver-common-1.33.orig//X11/xserver-common 2010-04-28 23:27:10.000000000 +0200
3+++ xserver-common-1.33/X11/xserver-common 2010-04-28 23:29:07.000000000 +0200
4@@ -192,3 +196,8 @@
5 if [ "$XSERVER" != "Xorg" ] ; then
6 ARGS="$ARGS $MOUSE"
7 fi
8+
9+# let a local script modify the variables
10+if [ -e /etc/X11/xserver-system ] ; then
11+ . /etc/X11/xserver-system
12+fi
diff --git a/meta-oe/recipes-graphics/xserver-common/xserver-common-1.34/Xserver.n900.patch b/meta-oe/recipes-graphics/xserver-common/xserver-common-1.34/Xserver.n900.patch
new file mode 100644
index 000000000..4d36f5f71
--- /dev/null
+++ b/meta-oe/recipes-graphics/xserver-common/xserver-common-1.34/Xserver.n900.patch
@@ -0,0 +1,17 @@
1diff -uri xserver-common-1.33.orig/X11/xserver-common xserver-common-1.33/X11/xserver-common
2--- xserver-common-1.33.orig/X11/xserver-common 2010-09-14 17:10:35.955430177 +0200
3+++ xserver-common-1.33/X11/xserver-common 2010-09-14 17:17:12.484423440 +0200
4@@ -132,6 +132,13 @@
5 "nokia_n800" | "nokia_rx-44" | "nokia_n770")
6 ARGS="$ARGS -screen ${SCREEN_SIZE}"
7 DPI="225" ;;
8+ "nokia_rx-51_board" )
9+ DPI="267"
10+ if [ "$XSERVER" != "Xorg" ] ; then
11+ ARGS="$ARGS -screen ${SCREEN_SIZE}"
12+ else
13+ ARGS="$ARGS -dpi ${DPI} -nocursor"
14+ fi ;;
15 "gta01" )
16 DPI="280"
17 if [ "$XSERVER" != "Xorg" ] ; then
diff --git a/meta-oe/recipes-graphics/xserver-common/xserver-common-1.34/gplv2-license.patch b/meta-oe/recipes-graphics/xserver-common/xserver-common-1.34/gplv2-license.patch
new file mode 100644
index 000000000..ec9325334
--- /dev/null
+++ b/meta-oe/recipes-graphics/xserver-common/xserver-common-1.34/gplv2-license.patch
@@ -0,0 +1,353 @@
1COPYING: add GPLv2 license file
2
3this is a local file recipe and the license file is missing.In order
4to pass the license checksum checking, the license file is needed. So
5this patch add the GPLv2 license file.
6
7Signed-off-by: Yu Ke <ke.yu@intel.com>
8
9diff --git a/COPYING b/COPYING
10new file mode 100644
11index 0000000..d511905
12--- /dev/null
13+++ b/COPYING
14@@ -0,0 +1,339 @@
15+ GNU GENERAL PUBLIC LICENSE
16+ Version 2, June 1991
17+
18+ Copyright (C) 1989, 1991 Free Software Foundation, Inc.,
19+ 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
20+ Everyone is permitted to copy and distribute verbatim copies
21+ of this license document, but changing it is not allowed.
22+
23+ Preamble
24+
25+ The licenses for most software are designed to take away your
26+freedom to share and change it. By contrast, the GNU General Public
27+License is intended to guarantee your freedom to share and change free
28+software--to make sure the software is free for all its users. This
29+General Public License applies to most of the Free Software
30+Foundation's software and to any other program whose authors commit to
31+using it. (Some other Free Software Foundation software is covered by
32+the GNU Lesser General Public License instead.) You can apply it to
33+your programs, too.
34+
35+ When we speak of free software, we are referring to freedom, not
36+price. Our General Public Licenses are designed to make sure that you
37+have the freedom to distribute copies of free software (and charge for
38+this service if you wish), that you receive source code or can get it
39+if you want it, that you can change the software or use pieces of it
40+in new free programs; and that you know you can do these things.
41+
42+ To protect your rights, we need to make restrictions that forbid
43+anyone to deny you these rights or to ask you to surrender the rights.
44+These restrictions translate to certain responsibilities for you if you
45+distribute copies of the software, or if you modify it.
46+
47+ For example, if you distribute copies of such a program, whether
48+gratis or for a fee, you must give the recipients all the rights that
49+you have. You must make sure that they, too, receive or can get the
50+source code. And you must show them these terms so they know their
51+rights.
52+
53+ We protect your rights with two steps: (1) copyright the software, and
54+(2) offer you this license which gives you legal permission to copy,
55+distribute and/or modify the software.
56+
57+ Also, for each author's protection and ours, we want to make certain
58+that everyone understands that there is no warranty for this free
59+software. If the software is modified by someone else and passed on, we
60+want its recipients to know that what they have is not the original, so
61+that any problems introduced by others will not reflect on the original
62+authors' reputations.
63+
64+ Finally, any free program is threatened constantly by software
65+patents. We wish to avoid the danger that redistributors of a free
66+program will individually obtain patent licenses, in effect making the
67+program proprietary. To prevent this, we have made it clear that any
68+patent must be licensed for everyone's free use or not licensed at all.
69+
70+ The precise terms and conditions for copying, distribution and
71+modification follow.
72+
73+ GNU GENERAL PUBLIC LICENSE
74+ TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
75+
76+ 0. This License applies to any program or other work which contains
77+a notice placed by the copyright holder saying it may be distributed
78+under the terms of this General Public License. The "Program", below,
79+refers to any such program or work, and a "work based on the Program"
80+means either the Program or any derivative work under copyright law:
81+that is to say, a work containing the Program or a portion of it,
82+either verbatim or with modifications and/or translated into another
83+language. (Hereinafter, translation is included without limitation in
84+the term "modification".) Each licensee is addressed as "you".
85+
86+Activities other than copying, distribution and modification are not
87+covered by this License; they are outside its scope. The act of
88+running the Program is not restricted, and the output from the Program
89+is covered only if its contents constitute a work based on the
90+Program (independent of having been made by running the Program).
91+Whether that is true depends on what the Program does.
92+
93+ 1. You may copy and distribute verbatim copies of the Program's
94+source code as you receive it, in any medium, provided that you
95+conspicuously and appropriately publish on each copy an appropriate
96+copyright notice and disclaimer of warranty; keep intact all the
97+notices that refer to this License and to the absence of any warranty;
98+and give any other recipients of the Program a copy of this License
99+along with the Program.
100+
101+You may charge a fee for the physical act of transferring a copy, and
102+you may at your option offer warranty protection in exchange for a fee.
103+
104+ 2. You may modify your copy or copies of the Program or any portion
105+of it, thus forming a work based on the Program, and copy and
106+distribute such modifications or work under the terms of Section 1
107+above, provided that you also meet all of these conditions:
108+
109+ a) You must cause the modified files to carry prominent notices
110+ stating that you changed the files and the date of any change.
111+
112+ b) You must cause any work that you distribute or publish, that in
113+ whole or in part contains or is derived from the Program or any
114+ part thereof, to be licensed as a whole at no charge to all third
115+ parties under the terms of this License.
116+
117+ c) If the modified program normally reads commands interactively
118+ when run, you must cause it, when started running for such
119+ interactive use in the most ordinary way, to print or display an
120+ announcement including an appropriate copyright notice and a
121+ notice that there is no warranty (or else, saying that you provide
122+ a warranty) and that users may redistribute the program under
123+ these conditions, and telling the user how to view a copy of this
124+ License. (Exception: if the Program itself is interactive but
125+ does not normally print such an announcement, your work based on
126+ the Program is not required to print an announcement.)
127+
128+These requirements apply to the modified work as a whole. If
129+identifiable sections of that work are not derived from the Program,
130+and can be reasonably considered independent and separate works in
131+themselves, then this License, and its terms, do not apply to those
132+sections when you distribute them as separate works. But when you
133+distribute the same sections as part of a whole which is a work based
134+on the Program, the distribution of the whole must be on the terms of
135+this License, whose permissions for other licensees extend to the
136+entire whole, and thus to each and every part regardless of who wrote it.
137+
138+Thus, it is not the intent of this section to claim rights or contest
139+your rights to work written entirely by you; rather, the intent is to
140+exercise the right to control the distribution of derivative or
141+collective works based on the Program.
142+
143+In addition, mere aggregation of another work not based on the Program
144+with the Program (or with a work based on the Program) on a volume of
145+a storage or distribution medium does not bring the other work under
146+the scope of this License.
147+
148+ 3. You may copy and distribute the Program (or a work based on it,
149+under Section 2) in object code or executable form under the terms of
150+Sections 1 and 2 above provided that you also do one of the following:
151+
152+ a) Accompany it with the complete corresponding machine-readable
153+ source code, which must be distributed under the terms of Sections
154+ 1 and 2 above on a medium customarily used for software interchange; or,
155+
156+ b) Accompany it with a written offer, valid for at least three
157+ years, to give any third party, for a charge no more than your
158+ cost of physically performing source distribution, a complete
159+ machine-readable copy of the corresponding source code, to be
160+ distributed under the terms of Sections 1 and 2 above on a medium
161+ customarily used for software interchange; or,
162+
163+ c) Accompany it with the information you received as to the offer
164+ to distribute corresponding source code. (This alternative is
165+ allowed only for noncommercial distribution and only if you
166+ received the program in object code or executable form with such
167+ an offer, in accord with Subsection b above.)
168+
169+The source code for a work means the preferred form of the work for
170+making modifications to it. For an executable work, complete source
171+code means all the source code for all modules it contains, plus any
172+associated interface definition files, plus the scripts used to
173+control compilation and installation of the executable. However, as a
174+special exception, the source code distributed need not include
175+anything that is normally distributed (in either source or binary
176+form) with the major components (compiler, kernel, and so on) of the
177+operating system on which the executable runs, unless that component
178+itself accompanies the executable.
179+
180+If distribution of executable or object code is made by offering
181+access to copy from a designated place, then offering equivalent
182+access to copy the source code from the same place counts as
183+distribution of the source code, even though third parties are not
184+compelled to copy the source along with the object code.
185+
186+ 4. You may not copy, modify, sublicense, or distribute the Program
187+except as expressly provided under this License. Any attempt
188+otherwise to copy, modify, sublicense or distribute the Program is
189+void, and will automatically terminate your rights under this License.
190+However, parties who have received copies, or rights, from you under
191+this License will not have their licenses terminated so long as such
192+parties remain in full compliance.
193+
194+ 5. You are not required to accept this License, since you have not
195+signed it. However, nothing else grants you permission to modify or
196+distribute the Program or its derivative works. These actions are
197+prohibited by law if you do not accept this License. Therefore, by
198+modifying or distributing the Program (or any work based on the
199+Program), you indicate your acceptance of this License to do so, and
200+all its terms and conditions for copying, distributing or modifying
201+the Program or works based on it.
202+
203+ 6. Each time you redistribute the Program (or any work based on the
204+Program), the recipient automatically receives a license from the
205+original licensor to copy, distribute or modify the Program subject to
206+these terms and conditions. You may not impose any further
207+restrictions on the recipients' exercise of the rights granted herein.
208+You are not responsible for enforcing compliance by third parties to
209+this License.
210+
211+ 7. If, as a consequence of a court judgment or allegation of patent
212+infringement or for any other reason (not limited to patent issues),
213+conditions are imposed on you (whether by court order, agreement or
214+otherwise) that contradict the conditions of this License, they do not
215+excuse you from the conditions of this License. If you cannot
216+distribute so as to satisfy simultaneously your obligations under this
217+License and any other pertinent obligations, then as a consequence you
218+may not distribute the Program at all. For example, if a patent
219+license would not permit royalty-free redistribution of the Program by
220+all those who receive copies directly or indirectly through you, then
221+the only way you could satisfy both it and this License would be to
222+refrain entirely from distribution of the Program.
223+
224+If any portion of this section is held invalid or unenforceable under
225+any particular circumstance, the balance of the section is intended to
226+apply and the section as a whole is intended to apply in other
227+circumstances.
228+
229+It is not the purpose of this section to induce you to infringe any
230+patents or other property right claims or to contest validity of any
231+such claims; this section has the sole purpose of protecting the
232+integrity of the free software distribution system, which is
233+implemented by public license practices. Many people have made
234+generous contributions to the wide range of software distributed
235+through that system in reliance on consistent application of that
236+system; it is up to the author/donor to decide if he or she is willing
237+to distribute software through any other system and a licensee cannot
238+impose that choice.
239+
240+This section is intended to make thoroughly clear what is believed to
241+be a consequence of the rest of this License.
242+
243+ 8. If the distribution and/or use of the Program is restricted in
244+certain countries either by patents or by copyrighted interfaces, the
245+original copyright holder who places the Program under this License
246+may add an explicit geographical distribution limitation excluding
247+those countries, so that distribution is permitted only in or among
248+countries not thus excluded. In such case, this License incorporates
249+the limitation as if written in the body of this License.
250+
251+ 9. The Free Software Foundation may publish revised and/or new versions
252+of the General Public License from time to time. Such new versions will
253+be similar in spirit to the present version, but may differ in detail to
254+address new problems or concerns.
255+
256+Each version is given a distinguishing version number. If the Program
257+specifies a version number of this License which applies to it and "any
258+later version", you have the option of following the terms and conditions
259+either of that version or of any later version published by the Free
260+Software Foundation. If the Program does not specify a version number of
261+this License, you may choose any version ever published by the Free Software
262+Foundation.
263+
264+ 10. If you wish to incorporate parts of the Program into other free
265+programs whose distribution conditions are different, write to the author
266+to ask for permission. For software which is copyrighted by the Free
267+Software Foundation, write to the Free Software Foundation; we sometimes
268+make exceptions for this. Our decision will be guided by the two goals
269+of preserving the free status of all derivatives of our free software and
270+of promoting the sharing and reuse of software generally.
271+
272+ NO WARRANTY
273+
274+ 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
275+FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
276+OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
277+PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
278+OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
279+MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS
280+TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE
281+PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
282+REPAIR OR CORRECTION.
283+
284+ 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
285+WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
286+REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
287+INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
288+OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
289+TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
290+YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
291+PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
292+POSSIBILITY OF SUCH DAMAGES.
293+
294+ END OF TERMS AND CONDITIONS
295+
296+ How to Apply These Terms to Your New Programs
297+
298+ If you develop a new program, and you want it to be of the greatest
299+possible use to the public, the best way to achieve this is to make it
300+free software which everyone can redistribute and change under these terms.
301+
302+ To do so, attach the following notices to the program. It is safest
303+to attach them to the start of each source file to most effectively
304+convey the exclusion of warranty; and each file should have at least
305+the "copyright" line and a pointer to where the full notice is found.
306+
307+ <one line to give the program's name and a brief idea of what it does.>
308+ Copyright (C) <year> <name of author>
309+
310+ This program is free software; you can redistribute it and/or modify
311+ it under the terms of the GNU General Public License as published by
312+ the Free Software Foundation; either version 2 of the License, or
313+ (at your option) any later version.
314+
315+ This program is distributed in the hope that it will be useful,
316+ but WITHOUT ANY WARRANTY; without even the implied warranty of
317+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
318+ GNU General Public License for more details.
319+
320+ You should have received a copy of the GNU General Public License along
321+ with this program; if not, write to the Free Software Foundation, Inc.,
322+ 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
323+
324+Also add information on how to contact you by electronic and paper mail.
325+
326+If the program is interactive, make it output a short notice like this
327+when it starts in an interactive mode:
328+
329+ Gnomovision version 69, Copyright (C) year name of author
330+ Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
331+ This is free software, and you are welcome to redistribute it
332+ under certain conditions; type `show c' for details.
333+
334+The hypothetical commands `show w' and `show c' should show the appropriate
335+parts of the General Public License. Of course, the commands you use may
336+be called something other than `show w' and `show c'; they could even be
337+mouse-clicks or menu items--whatever suits your program.
338+
339+You should also get your employer (if you work as a programmer) or your
340+school, if any, to sign a "copyright disclaimer" for the program, if
341+necessary. Here is a sample; alter the names:
342+
343+ Yoyodyne, Inc., hereby disclaims all copyright interest in the program
344+ `Gnomovision' (which makes passes at compilers) written by James Hacker.
345+
346+ <signature of Ty Coon>, 1 April 1989
347+ Ty Coon, President of Vice
348+
349+This General Public License does not permit incorporating your program into
350+proprietary programs. If your program is a subroutine library, you may
351+consider it more useful to permit linking proprietary applications with the
352+library. If this is what you want to do, use the GNU Lesser General
353+Public License instead of this License.
diff --git a/meta-oe/recipes-graphics/xserver-common/xserver-common-1.34/setDPI.sh b/meta-oe/recipes-graphics/xserver-common/xserver-common-1.34/setDPI.sh
new file mode 100644
index 000000000..04a2edd6c
--- /dev/null
+++ b/meta-oe/recipes-graphics/xserver-common/xserver-common-1.34/setDPI.sh
@@ -0,0 +1,92 @@
1#! /bin/sh
2#
3# Copyright Matthias Hentges <devel@hentges.net> (c) 2006
4# License: GPL (see http://www.gnu.org/licenses/gpl.txt for a copy of the license)
5#
6# Filename: setDPI.sh
7# Date: 09-Apr-06
8
9# This script configures Xft.dpi dependent on your screens DPI. This insures that the same font-size
10# setting of 7 can be used on all machines.
11
12
13XDEFAULTS="/etc/X11/Xdefaults"
14
15
16
17set_dpi() {
18
19 CURRENT_SETTING="`cat ${XDEFAULTS} | sed -n "/Xft.dpi\:/s/.*\:\(.*\)/\1/p" | sed -n "s/\ //p"`"
20
21 if test "$CURRENT_SETTING" != "$1"
22 then
23 echo "Using Xft.dpi of $SET_SCREEN_DPI for your $SCREEN_DPI DPI screen"
24
25 if grep -q "Xft.dpi" "$XDEFAULTS"
26 then
27 cat "${XDEFAULTS}" | sed "s/^Xft.dpi\:.*/Xft.dpi\: $SET_SCREEN_DPI/" > "${XDEFAULTS}_"
28 mv "${XDEFAULTS}_" "${XDEFAULTS}"
29 else
30 echo -e "Xft.dpi: $SET_SCREEN_DPI\n" >> "$XDEFAULTS"
31 fi
32 else
33 echo "Your $SCREEN_DPI DPI screen is already configured."
34 fi
35}
36
37set_rxvt_font() {
38
39 CURRENT_SETTING="`cat ${XDEFAULTS} | sed -n "/Rxvt\*font/s/\(.*\pixelsize=\)\(.*\)/\2/p"`"
40
41 if test "$1" -gt 100
42 then
43
44 # Configure the rxvt font-size for your screen here:
45 test "$1" -gt 180 -a "$1" -lt "221" && RXVT_FONT_SIZE=16
46
47 if test -z "$RXVT_FONT_SIZE"
48 then
49 echo "WARNING: No rxvt font-size configured for a $SCREEN_DPI DPI screen!"
50 echo "Defaulting to size 9"
51 RXVT_FONT_SIZE=9
52 fi
53
54 if test "$CURRENT_SETTING" != "$RXVT_FONT_SIZE"
55 then
56 echo "Using a rxvt font-size of $RXVT_FONT_SIZE"
57 cat ${XDEFAULTS} | sed "/Rxvt\*font/s/\(.*\pixelsize\)\(=*.*\)/\1=$RXVT_FONT_SIZE/" > ${XDEFAULTS}_
58 mv ${XDEFAULTS}_ ${XDEFAULTS}
59 else
60 echo "The rxvt font-size is already configured"
61 fi
62 fi
63}
64
65if test -z "$DISPLAY"
66then
67 echo "DISPLAY is not set, aborting..."
68 exit 0
69fi
70
71SCREEN_DPI="`/usr/bin/xdpyinfo | grep "dots per inch" | awk '{print $2}'| sed -n "s/\(.*\)x\(.*\)/\2/p"`"
72
73if test -z "$SCREEN_DPI"
74then
75 echo "WARNING: Couldn't read your screens DPI, defaulting to 100"
76 SCREEN_DPI=100
77fi
78
79# Configure your screen here:
80test "$SCREEN_DPI" -gt 180 -a "$SCREEN_DPI" -lt "221" && SET_SCREEN_DPI=160
81test "$SCREEN_DPI" -gt 90 -a "$SCREEN_DPI" -lt "121" && SET_SCREEN_DPI=100
82
83
84if test -z "$SET_SCREEN_DPI"
85then
86 echo "WARNING: No default configuration found for your $SCREEN_DPI DPI screen!"
87 echo "Using 100 DPI"
88 SET_SCREEN_DPI=100
89fi
90
91set_dpi "$SET_SCREEN_DPI"
92set_rxvt_font "$SCREEN_DPI"
diff --git a/meta-oe/recipes-graphics/xserver-common/xserver-common_1.34.bb b/meta-oe/recipes-graphics/xserver-common/xserver-common_1.34.bb
new file mode 100644
index 000000000..8269205b6
--- /dev/null
+++ b/meta-oe/recipes-graphics/xserver-common/xserver-common_1.34.bb
@@ -0,0 +1,38 @@
1DESCRIPTION = "Common X11 scripts and support files"
2LICENSE = "GPL"
3LICENSE = "GPLv2"
4LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe"
5RDEPENDS_${PN} = "xmodmap xrandr xdpyinfo"
6PR = "r0"
7
8PACKAGE_ARCH = "all"
9
10RCONFLICTS_${PN} = "xserver-kdrive-common"
11RREPLACES_${PN} = "xserver-kdrive-common"
12
13# we are using a gpe-style Makefile
14inherit gpe
15
16SRC_URI[md5sum] = "82f2f84cd96610e8f7b92c700cd31c14"
17SRC_URI[sha256sum] = "cd04c33418f776b1e13fcc7af3d6bd0c7cccd03fbabd7dbcd97f88166cc34210"
18
19SRC_URI_append = " \
20 file://gplv2-license.patch \
21 file://setDPI.sh \
22 file://89xdgautostart.sh"
23
24RDEPENDS_${PN}_append_shr = " xinput-calibrator "
25
26SRC_URI_append_shr = " file://89xTs_Calibrate.xinput_calibrator.patch \
27 file://90xXWindowManager.patch \
28 file://Xserver.add.nocursor.for.gta.patch \
29 file://Xserver.add.xserver-system.patch \
30 file://Xserver.add.dpi.for.gta.patch \
31 file://Xserver.n900.patch"
32
33do_install_append() {
34 install -m 0755 "${WORKDIR}/setDPI.sh" "${D}/etc/X11/Xinit.d/50setdpi"
35 install -m 0755 "${WORKDIR}/89xdgautostart.sh" "${D}/etc/X11/Xsession.d/89xdgautostart"
36 sed -i 's:^BINDIR=.*$:BINDIR=${bindir}:' ${D}/etc/X11/xserver-common
37}
38
diff --git a/meta-oe/recipes-graphics/xserver-nodm-init/xserver-nodm-init-2.0/gplv2-license.patch b/meta-oe/recipes-graphics/xserver-nodm-init/xserver-nodm-init-2.0/gplv2-license.patch
new file mode 100644
index 000000000..ec9325334
--- /dev/null
+++ b/meta-oe/recipes-graphics/xserver-nodm-init/xserver-nodm-init-2.0/gplv2-license.patch
@@ -0,0 +1,353 @@
1COPYING: add GPLv2 license file
2
3this is a local file recipe and the license file is missing.In order
4to pass the license checksum checking, the license file is needed. So
5this patch add the GPLv2 license file.
6
7Signed-off-by: Yu Ke <ke.yu@intel.com>
8
9diff --git a/COPYING b/COPYING
10new file mode 100644
11index 0000000..d511905
12--- /dev/null
13+++ b/COPYING
14@@ -0,0 +1,339 @@
15+ GNU GENERAL PUBLIC LICENSE
16+ Version 2, June 1991
17+
18+ Copyright (C) 1989, 1991 Free Software Foundation, Inc.,
19+ 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
20+ Everyone is permitted to copy and distribute verbatim copies
21+ of this license document, but changing it is not allowed.
22+
23+ Preamble
24+
25+ The licenses for most software are designed to take away your
26+freedom to share and change it. By contrast, the GNU General Public
27+License is intended to guarantee your freedom to share and change free
28+software--to make sure the software is free for all its users. This
29+General Public License applies to most of the Free Software
30+Foundation's software and to any other program whose authors commit to
31+using it. (Some other Free Software Foundation software is covered by
32+the GNU Lesser General Public License instead.) You can apply it to
33+your programs, too.
34+
35+ When we speak of free software, we are referring to freedom, not
36+price. Our General Public Licenses are designed to make sure that you
37+have the freedom to distribute copies of free software (and charge for
38+this service if you wish), that you receive source code or can get it
39+if you want it, that you can change the software or use pieces of it
40+in new free programs; and that you know you can do these things.
41+
42+ To protect your rights, we need to make restrictions that forbid
43+anyone to deny you these rights or to ask you to surrender the rights.
44+These restrictions translate to certain responsibilities for you if you
45+distribute copies of the software, or if you modify it.
46+
47+ For example, if you distribute copies of such a program, whether
48+gratis or for a fee, you must give the recipients all the rights that
49+you have. You must make sure that they, too, receive or can get the
50+source code. And you must show them these terms so they know their
51+rights.
52+
53+ We protect your rights with two steps: (1) copyright the software, and
54+(2) offer you this license which gives you legal permission to copy,
55+distribute and/or modify the software.
56+
57+ Also, for each author's protection and ours, we want to make certain
58+that everyone understands that there is no warranty for this free
59+software. If the software is modified by someone else and passed on, we
60+want its recipients to know that what they have is not the original, so
61+that any problems introduced by others will not reflect on the original
62+authors' reputations.
63+
64+ Finally, any free program is threatened constantly by software
65+patents. We wish to avoid the danger that redistributors of a free
66+program will individually obtain patent licenses, in effect making the
67+program proprietary. To prevent this, we have made it clear that any
68+patent must be licensed for everyone's free use or not licensed at all.
69+
70+ The precise terms and conditions for copying, distribution and
71+modification follow.
72+
73+ GNU GENERAL PUBLIC LICENSE
74+ TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
75+
76+ 0. This License applies to any program or other work which contains
77+a notice placed by the copyright holder saying it may be distributed
78+under the terms of this General Public License. The "Program", below,
79+refers to any such program or work, and a "work based on the Program"
80+means either the Program or any derivative work under copyright law:
81+that is to say, a work containing the Program or a portion of it,
82+either verbatim or with modifications and/or translated into another
83+language. (Hereinafter, translation is included without limitation in
84+the term "modification".) Each licensee is addressed as "you".
85+
86+Activities other than copying, distribution and modification are not
87+covered by this License; they are outside its scope. The act of
88+running the Program is not restricted, and the output from the Program
89+is covered only if its contents constitute a work based on the
90+Program (independent of having been made by running the Program).
91+Whether that is true depends on what the Program does.
92+
93+ 1. You may copy and distribute verbatim copies of the Program's
94+source code as you receive it, in any medium, provided that you
95+conspicuously and appropriately publish on each copy an appropriate
96+copyright notice and disclaimer of warranty; keep intact all the
97+notices that refer to this License and to the absence of any warranty;
98+and give any other recipients of the Program a copy of this License
99+along with the Program.
100+
101+You may charge a fee for the physical act of transferring a copy, and
102+you may at your option offer warranty protection in exchange for a fee.
103+
104+ 2. You may modify your copy or copies of the Program or any portion
105+of it, thus forming a work based on the Program, and copy and
106+distribute such modifications or work under the terms of Section 1
107+above, provided that you also meet all of these conditions:
108+
109+ a) You must cause the modified files to carry prominent notices
110+ stating that you changed the files and the date of any change.
111+
112+ b) You must cause any work that you distribute or publish, that in
113+ whole or in part contains or is derived from the Program or any
114+ part thereof, to be licensed as a whole at no charge to all third
115+ parties under the terms of this License.
116+
117+ c) If the modified program normally reads commands interactively
118+ when run, you must cause it, when started running for such
119+ interactive use in the most ordinary way, to print or display an
120+ announcement including an appropriate copyright notice and a
121+ notice that there is no warranty (or else, saying that you provide
122+ a warranty) and that users may redistribute the program under
123+ these conditions, and telling the user how to view a copy of this
124+ License. (Exception: if the Program itself is interactive but
125+ does not normally print such an announcement, your work based on
126+ the Program is not required to print an announcement.)
127+
128+These requirements apply to the modified work as a whole. If
129+identifiable sections of that work are not derived from the Program,
130+and can be reasonably considered independent and separate works in
131+themselves, then this License, and its terms, do not apply to those
132+sections when you distribute them as separate works. But when you
133+distribute the same sections as part of a whole which is a work based
134+on the Program, the distribution of the whole must be on the terms of
135+this License, whose permissions for other licensees extend to the
136+entire whole, and thus to each and every part regardless of who wrote it.
137+
138+Thus, it is not the intent of this section to claim rights or contest
139+your rights to work written entirely by you; rather, the intent is to
140+exercise the right to control the distribution of derivative or
141+collective works based on the Program.
142+
143+In addition, mere aggregation of another work not based on the Program
144+with the Program (or with a work based on the Program) on a volume of
145+a storage or distribution medium does not bring the other work under
146+the scope of this License.
147+
148+ 3. You may copy and distribute the Program (or a work based on it,
149+under Section 2) in object code or executable form under the terms of
150+Sections 1 and 2 above provided that you also do one of the following:
151+
152+ a) Accompany it with the complete corresponding machine-readable
153+ source code, which must be distributed under the terms of Sections
154+ 1 and 2 above on a medium customarily used for software interchange; or,
155+
156+ b) Accompany it with a written offer, valid for at least three
157+ years, to give any third party, for a charge no more than your
158+ cost of physically performing source distribution, a complete
159+ machine-readable copy of the corresponding source code, to be
160+ distributed under the terms of Sections 1 and 2 above on a medium
161+ customarily used for software interchange; or,
162+
163+ c) Accompany it with the information you received as to the offer
164+ to distribute corresponding source code. (This alternative is
165+ allowed only for noncommercial distribution and only if you
166+ received the program in object code or executable form with such
167+ an offer, in accord with Subsection b above.)
168+
169+The source code for a work means the preferred form of the work for
170+making modifications to it. For an executable work, complete source
171+code means all the source code for all modules it contains, plus any
172+associated interface definition files, plus the scripts used to
173+control compilation and installation of the executable. However, as a
174+special exception, the source code distributed need not include
175+anything that is normally distributed (in either source or binary
176+form) with the major components (compiler, kernel, and so on) of the
177+operating system on which the executable runs, unless that component
178+itself accompanies the executable.
179+
180+If distribution of executable or object code is made by offering
181+access to copy from a designated place, then offering equivalent
182+access to copy the source code from the same place counts as
183+distribution of the source code, even though third parties are not
184+compelled to copy the source along with the object code.
185+
186+ 4. You may not copy, modify, sublicense, or distribute the Program
187+except as expressly provided under this License. Any attempt
188+otherwise to copy, modify, sublicense or distribute the Program is
189+void, and will automatically terminate your rights under this License.
190+However, parties who have received copies, or rights, from you under
191+this License will not have their licenses terminated so long as such
192+parties remain in full compliance.
193+
194+ 5. You are not required to accept this License, since you have not
195+signed it. However, nothing else grants you permission to modify or
196+distribute the Program or its derivative works. These actions are
197+prohibited by law if you do not accept this License. Therefore, by
198+modifying or distributing the Program (or any work based on the
199+Program), you indicate your acceptance of this License to do so, and
200+all its terms and conditions for copying, distributing or modifying
201+the Program or works based on it.
202+
203+ 6. Each time you redistribute the Program (or any work based on the
204+Program), the recipient automatically receives a license from the
205+original licensor to copy, distribute or modify the Program subject to
206+these terms and conditions. You may not impose any further
207+restrictions on the recipients' exercise of the rights granted herein.
208+You are not responsible for enforcing compliance by third parties to
209+this License.
210+
211+ 7. If, as a consequence of a court judgment or allegation of patent
212+infringement or for any other reason (not limited to patent issues),
213+conditions are imposed on you (whether by court order, agreement or
214+otherwise) that contradict the conditions of this License, they do not
215+excuse you from the conditions of this License. If you cannot
216+distribute so as to satisfy simultaneously your obligations under this
217+License and any other pertinent obligations, then as a consequence you
218+may not distribute the Program at all. For example, if a patent
219+license would not permit royalty-free redistribution of the Program by
220+all those who receive copies directly or indirectly through you, then
221+the only way you could satisfy both it and this License would be to
222+refrain entirely from distribution of the Program.
223+
224+If any portion of this section is held invalid or unenforceable under
225+any particular circumstance, the balance of the section is intended to
226+apply and the section as a whole is intended to apply in other
227+circumstances.
228+
229+It is not the purpose of this section to induce you to infringe any
230+patents or other property right claims or to contest validity of any
231+such claims; this section has the sole purpose of protecting the
232+integrity of the free software distribution system, which is
233+implemented by public license practices. Many people have made
234+generous contributions to the wide range of software distributed
235+through that system in reliance on consistent application of that
236+system; it is up to the author/donor to decide if he or she is willing
237+to distribute software through any other system and a licensee cannot
238+impose that choice.
239+
240+This section is intended to make thoroughly clear what is believed to
241+be a consequence of the rest of this License.
242+
243+ 8. If the distribution and/or use of the Program is restricted in
244+certain countries either by patents or by copyrighted interfaces, the
245+original copyright holder who places the Program under this License
246+may add an explicit geographical distribution limitation excluding
247+those countries, so that distribution is permitted only in or among
248+countries not thus excluded. In such case, this License incorporates
249+the limitation as if written in the body of this License.
250+
251+ 9. The Free Software Foundation may publish revised and/or new versions
252+of the General Public License from time to time. Such new versions will
253+be similar in spirit to the present version, but may differ in detail to
254+address new problems or concerns.
255+
256+Each version is given a distinguishing version number. If the Program
257+specifies a version number of this License which applies to it and "any
258+later version", you have the option of following the terms and conditions
259+either of that version or of any later version published by the Free
260+Software Foundation. If the Program does not specify a version number of
261+this License, you may choose any version ever published by the Free Software
262+Foundation.
263+
264+ 10. If you wish to incorporate parts of the Program into other free
265+programs whose distribution conditions are different, write to the author
266+to ask for permission. For software which is copyrighted by the Free
267+Software Foundation, write to the Free Software Foundation; we sometimes
268+make exceptions for this. Our decision will be guided by the two goals
269+of preserving the free status of all derivatives of our free software and
270+of promoting the sharing and reuse of software generally.
271+
272+ NO WARRANTY
273+
274+ 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
275+FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
276+OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
277+PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
278+OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
279+MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS
280+TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE
281+PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
282+REPAIR OR CORRECTION.
283+
284+ 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
285+WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
286+REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
287+INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
288+OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
289+TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
290+YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
291+PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
292+POSSIBILITY OF SUCH DAMAGES.
293+
294+ END OF TERMS AND CONDITIONS
295+
296+ How to Apply These Terms to Your New Programs
297+
298+ If you develop a new program, and you want it to be of the greatest
299+possible use to the public, the best way to achieve this is to make it
300+free software which everyone can redistribute and change under these terms.
301+
302+ To do so, attach the following notices to the program. It is safest
303+to attach them to the start of each source file to most effectively
304+convey the exclusion of warranty; and each file should have at least
305+the "copyright" line and a pointer to where the full notice is found.
306+
307+ <one line to give the program's name and a brief idea of what it does.>
308+ Copyright (C) <year> <name of author>
309+
310+ This program is free software; you can redistribute it and/or modify
311+ it under the terms of the GNU General Public License as published by
312+ the Free Software Foundation; either version 2 of the License, or
313+ (at your option) any later version.
314+
315+ This program is distributed in the hope that it will be useful,
316+ but WITHOUT ANY WARRANTY; without even the implied warranty of
317+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
318+ GNU General Public License for more details.
319+
320+ You should have received a copy of the GNU General Public License along
321+ with this program; if not, write to the Free Software Foundation, Inc.,
322+ 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
323+
324+Also add information on how to contact you by electronic and paper mail.
325+
326+If the program is interactive, make it output a short notice like this
327+when it starts in an interactive mode:
328+
329+ Gnomovision version 69, Copyright (C) year name of author
330+ Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
331+ This is free software, and you are welcome to redistribute it
332+ under certain conditions; type `show c' for details.
333+
334+The hypothetical commands `show w' and `show c' should show the appropriate
335+parts of the General Public License. Of course, the commands you use may
336+be called something other than `show w' and `show c'; they could even be
337+mouse-clicks or menu items--whatever suits your program.
338+
339+You should also get your employer (if you work as a programmer) or your
340+school, if any, to sign a "copyright disclaimer" for the program, if
341+necessary. Here is a sample; alter the names:
342+
343+ Yoyodyne, Inc., hereby disclaims all copyright interest in the program
344+ `Gnomovision' (which makes passes at compilers) written by James Hacker.
345+
346+ <signature of Ty Coon>, 1 April 1989
347+ Ty Coon, President of Vice
348+
349+This General Public License does not permit incorporating your program into
350+proprietary programs. If your program is a subroutine library, you may
351+consider it more useful to permit linking proprietary applications with the
352+library. If this is what you want to do, use the GNU Lesser General
353+Public License instead of this License.
diff --git a/meta-oe/recipes-graphics/xserver-nodm-init/xserver-nodm-init-2.0/xserver-nodm b/meta-oe/recipes-graphics/xserver-nodm-init/xserver-nodm-init-2.0/xserver-nodm
new file mode 100755
index 000000000..39ce890fd
--- /dev/null
+++ b/meta-oe/recipes-graphics/xserver-nodm-init/xserver-nodm-init-2.0/xserver-nodm
@@ -0,0 +1,44 @@
1#!/bin/sh
2
3. /etc/init.d/functions
4
5for x in $(cat /proc/cmdline); do
6 case $x in
7 x11=false)
8 echo "X Server disabled"
9 exit 0;
10 ;;
11 esac
12done
13
14case "$1" in
15 start)
16 # We don't want this script to block the rest of the boot process
17 if [ "$2" != "background" ]; then
18 $0 $1 background &
19 else
20 . /etc/profile
21
22 echo "Starting Xserver"
23 . /etc/X11/xserver-common
24 xinit /etc/X11/Xsession -- `which $XSERVER` $ARGS >/var/log/Xsession.log 2>&1
25 fi
26 ;;
27
28 stop)
29 echo "Stopping XServer"
30 killproc xinit
31 ;;
32
33 restart)
34 $0 stop
35 sleep 1
36 $0 start
37 ;;
38
39 *)
40 echo "usage: $0 { start | stop | restart }"
41 ;;
42esac
43
44exit 0
diff --git a/meta-oe/recipes-graphics/xserver-nodm-init/xserver-nodm-init_2.0.bb b/meta-oe/recipes-graphics/xserver-nodm-init/xserver-nodm-init_2.0.bb
new file mode 100644
index 000000000..8310bcd81
--- /dev/null
+++ b/meta-oe/recipes-graphics/xserver-nodm-init/xserver-nodm-init_2.0.bb
@@ -0,0 +1,27 @@
1DESCRIPTION = "Simple Xserver Init Script (no dm)"
2LICENSE = "GPLv2"
3LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe"
4SECTION = "x11"
5PRIORITY = "optional"
6RDEPENDS_${PN} = "xserver-common (>= 1.30) xinit"
7DEFAULT_PREFERENCE = "-1"
8PR = "r4"
9
10SRC_URI = "file://xserver-nodm \
11 file://gplv2-license.patch \
12"
13S = ${WORKDIR}
14
15PACKAGE_ARCH = "all"
16
17do_install() {
18 install -d ${D}/etc
19 install -d ${D}/etc/init.d
20 install xserver-nodm ${D}/etc/init.d
21}
22
23inherit update-rc.d
24
25INITSCRIPT_NAME = "xserver-nodm"
26INITSCRIPT_PARAMS = "start 01 5 2 . stop 01 0 1 6 ."
27INITSCRIPT_PARAMS_shr = "start 90 5 2 . stop 90 0 1 6 ."
diff --git a/meta-oe/recipes-support/ca-certificates/ca-certificates_20090814+nmu2.bb b/meta-oe/recipes-support/ca-certificates/ca-certificates_20090814+nmu2.bb
new file mode 100644
index 000000000..7552c6f78
--- /dev/null
+++ b/meta-oe/recipes-support/ca-certificates/ca-certificates_20090814+nmu2.bb
@@ -0,0 +1,40 @@
1DESCRIPTION = "Common CA certificates"
2HOMEPAGE = "http://packages.debian.org/sid/ca-certificates"
3SECTION = "misc"
4PRIORITY = "optional"
5LICENSE = "GPL"
6LIC_FILES_CHKSUM = "file://debian/copyright;md5=6275b491c91b57d92ebe11205ebf4dfe"
7
8SRC_URI = "${DEBIAN_MIRROR}/main/c/ca-certificates/ca-certificates_${PV}.tar.gz \
9 file://remove-c-rehash.patch"
10SRC_URI[md5sum] = "76a2b0381b0aa7a6892e2340cd2c159a"
11SRC_URI[sha256sum] = "b1b144a3732df638e25b84ec6414ca9d1da4898cfd06d86b09f671585ce9c747"
12inherit autotools
13
14do_install_prepend() {
15 mkdir -p ${D}/usr/share/ca-certificates
16 mkdir -p ${D}/usr/sbin
17 mkdir -p ${D}/etc/ssl/certs
18 mkdir -p ${D}/etc/ca-certificates/update.d
19}
20
21do_install_append() {
22 cd ${D}/usr/share/ca-certificates
23 echo "# Lines starting with # will be ignored" > ${D}/etc/ca-certificates.conf
24 echo "# Lines starting with ! will remove certificate on next update" >> ${D}/etc/ca-certificates.conf
25 echo "#" >> ${D}/etc/ca-certificates.conf
26 for crt in $(find . -type f -name '*.crt' -print)
27 do
28 crt=$(echo $crt | sed -e 's/\.\///')
29 echo $crt >> ${D}/etc/ca-certificates.conf
30 done
31}
32
33PACKAGE_ARCH = "all"
34PACKAGES = "${PN}"
35
36pkg_postinst_${PN} () {
37 /usr/sbin/update-ca-certificates
38}
39
40CONFFILES_${PN} = "/etc/ca-certificates.conf"
diff --git a/meta-oe/recipes-support/ca-certificates/files/remove-c-rehash.patch b/meta-oe/recipes-support/ca-certificates/files/remove-c-rehash.patch
new file mode 100644
index 000000000..9d9b8ade3
--- /dev/null
+++ b/meta-oe/recipes-support/ca-certificates/files/remove-c-rehash.patch
@@ -0,0 +1,29 @@
1--- ca-certificates-20090814/sbin/update-ca-certificates.orig 2010-02-25 19:25:08.272807308 +0100
2+++ ca-certificates-20090814/sbin/update-ca-certificates 2010-02-25 19:25:33.962806273 +0100
3@@ -133,16 +133,16 @@
4 ADDED_CNT=$(wc -l < "$ADDED")
5 REMOVED_CNT=$(wc -l < "$REMOVED")
6
7-if [ "$ADDED_CNT" -gt 0 ] || [ "$REMOVED_CNT" -gt 0 ]
8-then
9- # only run if set of files has changed
10- if [ "$verbose" = 0 ]
11- then
12- c_rehash . > /dev/null
13- else
14- c_rehash .
15- fi
16-fi
17+#if [ "$ADDED_CNT" -gt 0 ] || [ "$REMOVED_CNT" -gt 0 ]
18+#then
19+# # only run if set of files has changed
20+# if [ "$verbose" = 0 ]
21+# then
22+# c_rehash . > /dev/null
23+# else
24+# c_rehash .
25+# fi
26+#fi
27
28 echo "$ADDED_CNT added, $REMOVED_CNT removed; done."
29
diff --git a/meta-oe/recipes-support/dfu-util/dfu-util-native_svn.bb b/meta-oe/recipes-support/dfu-util/dfu-util-native_svn.bb
new file mode 100644
index 000000000..c103509d1
--- /dev/null
+++ b/meta-oe/recipes-support/dfu-util/dfu-util-native_svn.bb
@@ -0,0 +1,16 @@
1require dfu-util_${PV}.bb
2
3inherit native deploy
4do_deploy[sstate-outputdirs] = "${DEPLOY_DIR_TOOLS}"
5
6DEPENDS = "libusb-compat usbpath-native"
7
8do_deploy() {
9 install -d ${DEPLOY_DIR_TOOLS}
10 install -m 0755 src/dfu-util_static ${DEPLOY_DIR_TOOLS}/dfu-util-${PV}
11 rm -f ${DEPLOY_DIR_TOOLS}/dfu-util
12 ln -sf ./dfu-util-${PV} ${DEPLOY_DIR_TOOLS}/dfu-util
13
14}
15
16addtask deploy before do_package after do_install
diff --git a/meta-oe/recipes-support/dfu-util/dfu-util.inc b/meta-oe/recipes-support/dfu-util/dfu-util.inc
new file mode 100644
index 000000000..503583243
--- /dev/null
+++ b/meta-oe/recipes-support/dfu-util/dfu-util.inc
@@ -0,0 +1,13 @@
1DESCRIPTION = "USB Device Firmware Upgrade utility"
2SECTION = "devel"
3AUTHOR = "Harald Welte <laforge@openmoko.org>"
4LICENSE = "GPLv2"
5LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f"
6
7DEPENDS = "virtual/libusb0 usbpath"
8
9SRC_URI = "http://dfu-util.gnumonks.org/releases/dfu-util-${PV}.tar.gz"
10
11BBCLASSEXTEND = "native"
12
13inherit autotools
diff --git a/meta-oe/recipes-support/dfu-util/dfu-util_0.1.bb b/meta-oe/recipes-support/dfu-util/dfu-util_0.1.bb
new file mode 100644
index 000000000..7b25b1357
--- /dev/null
+++ b/meta-oe/recipes-support/dfu-util/dfu-util_0.1.bb
@@ -0,0 +1,7 @@
1require dfu-util.inc
2
3PV = "0.1"
4PR = "r1"
5
6SRC_URI[md5sum] = "454b931249d29e4a6c2a2ade17858490"
7SRC_URI[sha256sum] = "a27cc667be9b158fecf0ed066698e30eca0c0b3cd7a85aad2058d47ffe16f0e1"
diff --git a/meta-oe/recipes-support/dfu-util/dfu-util_svn.bb b/meta-oe/recipes-support/dfu-util/dfu-util_svn.bb
new file mode 100644
index 000000000..abb85fafc
--- /dev/null
+++ b/meta-oe/recipes-support/dfu-util/dfu-util_svn.bb
@@ -0,0 +1,16 @@
1DESCRIPTION = "USB Device Firmware Upgrade utility"
2SECTION = "devel"
3AUTHOR = "Harald Welte <laforge@openmoko.org>"
4LICENSE = "GPLv2"
5LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f"
6SRCREV = "4160"
7PV = "0.1+svnr${SRCPV}"
8PR = "r2"
9
10DEPENDS = "virtual/libusb0 usbpath"
11
12SRC_URI = "svn://svn.openmoko.org/trunk/src/host/;module=dfu-util;proto=http"
13S = "${WORKDIR}/dfu-util"
14
15inherit autotools
16
diff --git a/meta-oe/recipes-support/farsight/farsight2_0.0.22.bb b/meta-oe/recipes-support/farsight/farsight2_0.0.22.bb
new file mode 100644
index 000000000..1eb25aa26
--- /dev/null
+++ b/meta-oe/recipes-support/farsight/farsight2_0.0.22.bb
@@ -0,0 +1,23 @@
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/${P}.tar.gz"
4LICENSE = "unknown"
5
6DEPENDS = "libnice glib-2.0 libxml2 zlib dbus gstreamer gst-plugins-base"
7
8inherit autotools
9
10EXTRA_OECONF = " \
11 --disable-debug \
12 --disable-gtk-doc \
13 --disable-python \
14"
15
16FILES_${PN} += "${libdir}/*/*.so"
17FILES_${PN}-dev += "${libdir}/*/*a"
18FILES_${PN}-dbg += "${libdir}/*/.debug"
19
20
21SRC_URI[md5sum] = "e1f540cf3ebab06c3d7db1f46b44ac88"
22SRC_URI[sha256sum] = "3ae59aa61a8071c9fad111e5fd606aabc27961eb4192f8729987a27dae6b3974"
23
diff --git a/meta-oe/recipes-support/farsight/libnice_0.0.13.bb b/meta-oe/recipes-support/farsight/libnice_0.0.13.bb
new file mode 100644
index 000000000..81f9c9801
--- /dev/null
+++ b/meta-oe/recipes-support/farsight/libnice_0.0.13.bb
@@ -0,0 +1,25 @@
1DESCRIPTION = "Libnice is an implementation of the IETF's draft Interactice Connectivity Establishment standard (ICE)."
2HOMEPAGE = "http://nice.freedesktop.org/wiki/"
3SRC_URI = "http://nice.freedesktop.org/releases/libnice-${PV}.tar.gz"
4
5LICENSE = "LGPL/MPL"
6DEPENDS = "glib-2.0 gstreamer"
7
8inherit autotools
9
10FILES_${PN} += "${libdir}/gstreamer-0.10/*.so"
11FILES_${PN}-dev += "${libdir}/gstreamer-0.10/*a"
12FILES_${PN}-dbg += "${libdir}/gstreamer-0.10/.debug"
13
14do_compile_append() {
15 for i in $(find ${S} -name "*.pc") ; do
16 sed -i -e s:${STAGING_DIR_TARGET}::g \
17 -e s:/${TARGET_SYS}::g \
18 $i
19 done
20}
21
22
23SRC_URI[md5sum] = "e5b9f799a57cb939ea2658ec35253ab9"
24SRC_URI[sha256sum] = "d8dd260c486a470a6052a5323920878a084e44a19df09b15728b85c9e3d6edf0"
25
diff --git a/meta-oe/recipes-support/fbset/fbset-2.1/makefile.patch b/meta-oe/recipes-support/fbset/fbset-2.1/makefile.patch
new file mode 100644
index 000000000..82b1c61e9
--- /dev/null
+++ b/meta-oe/recipes-support/fbset/fbset-2.1/makefile.patch
@@ -0,0 +1,11 @@
1--- fbset-2.1/Makefile.orig 2006-05-28 04:04:27.412095480 +0200
2+++ fbset-2.1/Makefile 2006-05-28 04:14:05.379231120 +0200
3@@ -2,7 +2,7 @@
4 # Linux Frame Buffer Device Configuration
5 #
6
7-CC = gcc -Wall -O2 -I.
8+CFLAGS = -Wall -O2 -I.
9 BISON = bison -d
10 FLEX = flex
11 INSTALL = install
diff --git a/meta-oe/recipes-support/fbset/fbset-modes.bb b/meta-oe/recipes-support/fbset/fbset-modes.bb
new file mode 100644
index 000000000..415c00bab
--- /dev/null
+++ b/meta-oe/recipes-support/fbset/fbset-modes.bb
@@ -0,0 +1,17 @@
1DESCRIPTION = "Default display timings and resolutions for fbset"
2LICENSE = "MIT"
3LIC_FILES_CHKSUM = "file://${TOPDIR}/meta-shr/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420"
4
5PV = "0.1.0"
6PR = "r5"
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
15PACKAGE_ARCH = "all"
16CONFFILES_${PN} = "${sysconfdir}/fb.modes"
17
diff --git a/meta-oe/recipes-support/fbset/fbset-modes/fb.modes b/meta-oe/recipes-support/fbset/fbset-modes/fb.modes
new file mode 100644
index 000000000..ba5e6ed71
--- /dev/null
+++ b/meta-oe/recipes-support/fbset/fbset-modes/fb.modes
@@ -0,0 +1,3 @@
1# By default there is nothing in this file just a reminder to define some
2# modes in OE
3
diff --git a/meta-oe/recipes-support/fbset/fbset-modes/om-gta01/fb.modes b/meta-oe/recipes-support/fbset/fbset-modes/om-gta01/fb.modes
new file mode 100644
index 000000000..446d23dd8
--- /dev/null
+++ b/meta-oe/recipes-support/fbset/fbset-modes/om-gta01/fb.modes
@@ -0,0 +1,29 @@
1# Timings for GTA01 VGA and QVGA mode
2
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..12c1c944e
--- /dev/null
+++ b/meta-oe/recipes-support/fbset/fbset_2.1.bb
@@ -0,0 +1,38 @@
1#
2# Copyright Matthias Hentges <devel@hentges.net> (c) 2006
3# License: MIT (see http://www.opensource.org/licenses/mit-license.php for a copy of the license)
4#
5# Filename: fbset_2.1.bb
6# Date: 28-May-06
7
8DESCRIPTION = "The fbset console tool"
9LICENSE = "GPLv2"
10LIC_FILES_CHKSUM = "file://fbset.c;endline=19;md5=bf326f82cdfcac391af208f019c5603f"
11RRECOMMENDS_${PN} = "fbset-modes"
12DEPENDS = "bison-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
19inherit autotools update-alternatives
20
21PARALLEL_MAKE = ""
22
23do_install() {
24 install -d ${D}${sbindir} ${D}${datadir}/man/man8 ${D}${datadir}/man/man5
25 install -m 0755 ${WORKDIR}/${P}/fbset ${D}${sbindir}/fbset.real
26 install -m 0644 ${WORKDIR}/${P}/*.5 ${D}${datadir}/man/man5
27 install -m 0644 ${WORKDIR}/${P}/*.8 ${D}${datadir}/man/man8
28}
29
30ALTERNATIVE_NAME = "fbset"
31ALTERNATIVE_LINK = "${sbindir}/${ALTERNATIVE_NAME}"
32ALTERNATIVE_PATH = "${sbindir}/fbset.real"
33ALTERNATIVE_PRIORITY = "55"
34
35
36
37SRC_URI[md5sum] = "40ed9608f46d787bfb65fd1269f7f459"
38SRC_URI[sha256sum] = "517fa062d7b2d367f931a1c6ebb2bef84907077f0ce3f0c899e34490bbea9338"
diff --git a/meta-oe/recipes-support/lcms/lcms_1.17.bb b/meta-oe/recipes-support/lcms/lcms_1.17.bb
new file mode 100644
index 000000000..8ec516dbb
--- /dev/null
+++ b/meta-oe/recipes-support/lcms/lcms_1.17.bb
@@ -0,0 +1,14 @@
1DESCRIPTION = "Little cms is a small-footprint, speed optimized color management engine."
2SECTION = "libs"
3LICENSE = "MIT"
4LIC_FILES_CHKSUM = "file://COPYING;md5=156745cad721a8783cb847e82b79f586"
5SRC_URI = "${SOURCEFORGE_MIRROR}/lcms/lcms-${PV}.tar.gz"
6
7PR = "r2"
8
9BBCLASSEXTEND = "native"
10
11inherit autotools
12
13SRC_URI[md5sum] = "07bdbb4cfb05d21caa58fe3d1c84ddc1"
14SRC_URI[sha256sum] = "5ef3b4dab30956772009e29dba33fe1256cf9da161106a1e70b0966c96d14583"
diff --git a/meta-oe/recipes-support/libiconv/libiconv-1.13.1/autoconf.patch b/meta-oe/recipes-support/libiconv/libiconv-1.13.1/autoconf.patch
new file mode 100644
index 000000000..435e52816
--- /dev/null
+++ b/meta-oe/recipes-support/libiconv/libiconv-1.13.1/autoconf.patch
@@ -0,0 +1,16018 @@
1Index: libiconv-1.13.1/configure.ac
2===================================================================
3--- libiconv-1.13.1.orig/configure.ac
4+++ libiconv-1.13.1/configure.ac
5@@ -23,7 +23,7 @@ AC_CONFIG_AUX_DIR([build-aux])
6 AM_INIT_AUTOMAKE([libiconv], [1.13.1])
7 AC_CONFIG_HEADERS([config.h lib/config.h])
8 AC_PROG_MAKE_SET
9-
10+AC_CONFIG_MACRO_DIR([m4])
11 dnl checks for basic programs
12
13 AC_PROG_CC
14Index: libiconv-1.13.1/libcharset/configure.ac
15===================================================================
16--- libiconv-1.13.1.orig/libcharset/configure.ac
17+++ libiconv-1.13.1/libcharset/configure.ac
18@@ -16,17 +16,17 @@ dnl along with the GNU CHARSET Library;
19 dnl write to the Free Software Foundation, Inc., 51 Franklin Street,
20 dnl Fifth Floor, Boston, MA 02110-1301, USA.
21
22-AC_PREREQ([2.13])
23+AC_PREREQ(2.61)
24+AC_INIT([libcharset],[1.4] )
25+AC_CONFIG_SRCDIR([lib/localcharset.c])
26
27-PACKAGE=libcharset
28-VERSION=1.4
29-
30-AC_INIT([lib/localcharset.c])
31 AC_CONFIG_AUX_DIR([build-aux])
32 AC_CONFIG_HEADER([config.h])
33 AC_PROG_MAKE_SET
34-AC_SUBST([PACKAGE])
35-AC_SUBST([VERSION])
36+dnl AC_SUBST(PACKAGE)
37+dnl AC_SUBST(VERSION)
38+
39+AC_CONFIG_MACRO_DIR([m4])
40
41 dnl checks for basic programs
42
43Index: libiconv-1.13.1/libcharset/m4/libtool.m4
44===================================================================
45--- libiconv-1.13.1.orig/libcharset/m4/libtool.m4
46+++ /dev/null
47@@ -1,7357 +0,0 @@
48-# libtool.m4 - Configure libtool for the host system. -*-Autoconf-*-
49-#
50-# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005,
51-# 2006, 2007, 2008 Free Software Foundation, Inc.
52-# Written by Gordon Matzigkeit, 1996
53-#
54-# This file is free software; the Free Software Foundation gives
55-# unlimited permission to copy and/or distribute it, with or without
56-# modifications, as long as this notice is preserved.
57-
58-m4_define([_LT_COPYING], [dnl
59-# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005,
60-# 2006, 2007, 2008 Free Software Foundation, Inc.
61-# Written by Gordon Matzigkeit, 1996
62-#
63-# This file is part of GNU Libtool.
64-#
65-# GNU Libtool is free software; you can redistribute it and/or
66-# modify it under the terms of the GNU General Public License as
67-# published by the Free Software Foundation; either version 2 of
68-# the License, or (at your option) any later version.
69-#
70-# As a special exception to the GNU General Public License,
71-# if you distribute this file as part of a program or library that
72-# is built using GNU Libtool, you may include this file under the
73-# same distribution terms that you use for the rest of that program.
74-#
75-# GNU Libtool is distributed in the hope that it will be useful,
76-# but WITHOUT ANY WARRANTY; without even the implied warranty of
77-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
78-# GNU General Public License for more details.
79-#
80-# You should have received a copy of the GNU General Public License
81-# along with GNU Libtool; see the file COPYING. If not, a copy
82-# can be downloaded from http://www.gnu.org/licenses/gpl.html, or
83-# obtained by writing to the Free Software Foundation, Inc.,
84-# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
85-])
86-
87-# serial 56 LT_INIT
88-
89-
90-# LT_PREREQ(VERSION)
91-# ------------------
92-# Complain and exit if this libtool version is less that VERSION.
93-m4_defun([LT_PREREQ],
94-[m4_if(m4_version_compare(m4_defn([LT_PACKAGE_VERSION]), [$1]), -1,
95- [m4_default([$3],
96- [m4_fatal([Libtool version $1 or higher is required],
97- 63)])],
98- [$2])])
99-
100-
101-# _LT_CHECK_BUILDDIR
102-# ------------------
103-# Complain if the absolute build directory name contains unusual characters
104-m4_defun([_LT_CHECK_BUILDDIR],
105-[case `pwd` in
106- *\ * | *\ *)
107- AC_MSG_WARN([Libtool does not cope well with whitespace in `pwd`]) ;;
108-esac
109-])
110-
111-
112-# LT_INIT([OPTIONS])
113-# ------------------
114-AC_DEFUN([LT_INIT],
115-[AC_PREREQ([2.58])dnl We use AC_INCLUDES_DEFAULT
116-AC_BEFORE([$0], [LT_LANG])dnl
117-AC_BEFORE([$0], [LT_OUTPUT])dnl
118-AC_BEFORE([$0], [LTDL_INIT])dnl
119-m4_require([_LT_CHECK_BUILDDIR])dnl
120-
121-dnl Autoconf doesn't catch unexpanded LT_ macros by default:
122-m4_pattern_forbid([^_?LT_[A-Z_]+$])dnl
123-m4_pattern_allow([^(_LT_EOF|LT_DLGLOBAL|LT_DLLAZY_OR_NOW|LT_MULTI_MODULE)$])dnl
124-dnl aclocal doesn't pull ltoptions.m4, ltsugar.m4, or ltversion.m4
125-dnl unless we require an AC_DEFUNed macro:
126-AC_REQUIRE([LTOPTIONS_VERSION])dnl
127-AC_REQUIRE([LTSUGAR_VERSION])dnl
128-AC_REQUIRE([LTVERSION_VERSION])dnl
129-AC_REQUIRE([LTOBSOLETE_VERSION])dnl
130-m4_require([_LT_PROG_LTMAIN])dnl
131-
132-dnl Parse OPTIONS
133-_LT_SET_OPTIONS([$0], [$1])
134-
135-# This can be used to rebuild libtool when needed
136-LIBTOOL_DEPS="$ltmain"
137-
138-# Always use our own libtool.
139-LIBTOOL="${CONFIG_SHELL-$SHELL} "'$(top_builddir)/libtool'
140-AC_SUBST(LIBTOOL)dnl
141-
142-_LT_SETUP
143-
144-# Only expand once:
145-m4_define([LT_INIT])
146-])# LT_INIT
147-
148-# Old names:
149-AU_ALIAS([AC_PROG_LIBTOOL], [LT_INIT])
150-AU_ALIAS([AM_PROG_LIBTOOL], [LT_INIT])
151-dnl aclocal-1.4 backwards compatibility:
152-dnl AC_DEFUN([AC_PROG_LIBTOOL], [])
153-dnl AC_DEFUN([AM_PROG_LIBTOOL], [])
154-
155-
156-# _LT_CC_BASENAME(CC)
157-# -------------------
158-# Calculate cc_basename. Skip known compiler wrappers and cross-prefix.
159-m4_defun([_LT_CC_BASENAME],
160-[for cc_temp in $1""; do
161- case $cc_temp in
162- compile | *[[\\/]]compile | ccache | *[[\\/]]ccache ) ;;
163- distcc | *[[\\/]]distcc | purify | *[[\\/]]purify ) ;;
164- \-*) ;;
165- *) break;;
166- esac
167-done
168-cc_basename=`$ECHO "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"`
169-])
170-
171-
172-# _LT_FILEUTILS_DEFAULTS
173-# ----------------------
174-# It is okay to use these file commands and assume they have been set
175-# sensibly after `m4_require([_LT_FILEUTILS_DEFAULTS])'.
176-m4_defun([_LT_FILEUTILS_DEFAULTS],
177-[: ${CP="cp -f"}
178-: ${MV="mv -f"}
179-: ${RM="rm -f"}
180-])# _LT_FILEUTILS_DEFAULTS
181-
182-
183-# _LT_SETUP
184-# ---------
185-m4_defun([_LT_SETUP],
186-[AC_REQUIRE([AC_CANONICAL_HOST])dnl
187-AC_REQUIRE([AC_CANONICAL_BUILD])dnl
188-_LT_DECL([], [host_alias], [0], [The host system])dnl
189-_LT_DECL([], [host], [0])dnl
190-_LT_DECL([], [host_os], [0])dnl
191-dnl
192-_LT_DECL([], [build_alias], [0], [The build system])dnl
193-_LT_DECL([], [build], [0])dnl
194-_LT_DECL([], [build_os], [0])dnl
195-dnl
196-AC_REQUIRE([AC_PROG_CC])dnl
197-AC_REQUIRE([LT_PATH_LD])dnl
198-AC_REQUIRE([LT_PATH_NM])dnl
199-dnl
200-AC_REQUIRE([AC_PROG_LN_S])dnl
201-test -z "$LN_S" && LN_S="ln -s"
202-_LT_DECL([], [LN_S], [1], [Whether we need soft or hard links])dnl
203-dnl
204-AC_REQUIRE([LT_CMD_MAX_LEN])dnl
205-_LT_DECL([objext], [ac_objext], [0], [Object file suffix (normally "o")])dnl
206-_LT_DECL([], [exeext], [0], [Executable file suffix (normally "")])dnl
207-dnl
208-m4_require([_LT_FILEUTILS_DEFAULTS])dnl
209-m4_require([_LT_CHECK_SHELL_FEATURES])dnl
210-m4_require([_LT_CMD_RELOAD])dnl
211-m4_require([_LT_CHECK_MAGIC_METHOD])dnl
212-m4_require([_LT_CMD_OLD_ARCHIVE])dnl
213-m4_require([_LT_CMD_GLOBAL_SYMBOLS])dnl
214-
215-_LT_CONFIG_LIBTOOL_INIT([
216-# See if we are running on zsh, and set the options which allow our
217-# commands through without removal of \ escapes INIT.
218-if test -n "\${ZSH_VERSION+set}" ; then
219- setopt NO_GLOB_SUBST
220-fi
221-])
222-if test -n "${ZSH_VERSION+set}" ; then
223- setopt NO_GLOB_SUBST
224-fi
225-
226-_LT_CHECK_OBJDIR
227-
228-m4_require([_LT_TAG_COMPILER])dnl
229-_LT_PROG_ECHO_BACKSLASH
230-
231-case $host_os in
232-aix3*)
233- # AIX sometimes has problems with the GCC collect2 program. For some
234- # reason, if we set the COLLECT_NAMES environment variable, the problems
235- # vanish in a puff of smoke.
236- if test "X${COLLECT_NAMES+set}" != Xset; then
237- COLLECT_NAMES=
238- export COLLECT_NAMES
239- fi
240- ;;
241-esac
242-
243-# Sed substitution that helps us do robust quoting. It backslashifies
244-# metacharacters that are still active within double-quoted strings.
245-sed_quote_subst='s/\([["`$\\]]\)/\\\1/g'
246-
247-# Same as above, but do not quote variable references.
248-double_quote_subst='s/\([["`\\]]\)/\\\1/g'
249-
250-# Sed substitution to delay expansion of an escaped shell variable in a
251-# double_quote_subst'ed string.
252-delay_variable_subst='s/\\\\\\\\\\\$/\\\\\\$/g'
253-
254-# Sed substitution to delay expansion of an escaped single quote.
255-delay_single_quote_subst='s/'\''/'\'\\\\\\\'\''/g'
256-
257-# Sed substitution to avoid accidental globbing in evaled expressions
258-no_glob_subst='s/\*/\\\*/g'
259-
260-# Global variables:
261-ofile=libtool
262-can_build_shared=yes
263-
264-# All known linkers require a `.a' archive for static linking (except MSVC,
265-# which needs '.lib').
266-libext=a
267-
268-with_gnu_ld="$lt_cv_prog_gnu_ld"
269-
270-old_CC="$CC"
271-old_CFLAGS="$CFLAGS"
272-
273-# Set sane defaults for various variables
274-test -z "$CC" && CC=cc
275-test -z "$LTCC" && LTCC=$CC
276-test -z "$LTCFLAGS" && LTCFLAGS=$CFLAGS
277-test -z "$LD" && LD=ld
278-test -z "$ac_objext" && ac_objext=o
279-
280-_LT_CC_BASENAME([$compiler])
281-
282-# Only perform the check for file, if the check method requires it
283-test -z "$MAGIC_CMD" && MAGIC_CMD=file
284-case $deplibs_check_method in
285-file_magic*)
286- if test "$file_magic_cmd" = '$MAGIC_CMD'; then
287- _LT_PATH_MAGIC
288- fi
289- ;;
290-esac
291-
292-# Use C for the default configuration in the libtool script
293-LT_SUPPORTED_TAG([CC])
294-_LT_LANG_C_CONFIG
295-_LT_LANG_DEFAULT_CONFIG
296-_LT_CONFIG_COMMANDS
297-])# _LT_SETUP
298-
299-
300-# _LT_PROG_LTMAIN
301-# ---------------
302-# Note that this code is called both from `configure', and `config.status'
303-# now that we use AC_CONFIG_COMMANDS to generate libtool. Notably,
304-# `config.status' has no value for ac_aux_dir unless we are using Automake,
305-# so we pass a copy along to make sure it has a sensible value anyway.
306-m4_defun([_LT_PROG_LTMAIN],
307-[m4_ifdef([AC_REQUIRE_AUX_FILE], [AC_REQUIRE_AUX_FILE([ltmain.sh])])dnl
308-_LT_CONFIG_LIBTOOL_INIT([ac_aux_dir='$ac_aux_dir'])
309-ltmain="$ac_aux_dir/ltmain.sh"
310-])# _LT_PROG_LTMAIN
311-
312-
313-## ------------------------------------- ##
314-## Accumulate code for creating libtool. ##
315-## ------------------------------------- ##
316-
317-# So that we can recreate a full libtool script including additional
318-# tags, we accumulate the chunks of code to send to AC_CONFIG_COMMANDS
319-# in macros and then make a single call at the end using the `libtool'
320-# label.
321-
322-
323-# _LT_CONFIG_LIBTOOL_INIT([INIT-COMMANDS])
324-# ----------------------------------------
325-# Register INIT-COMMANDS to be passed to AC_CONFIG_COMMANDS later.
326-m4_define([_LT_CONFIG_LIBTOOL_INIT],
327-[m4_ifval([$1],
328- [m4_append([_LT_OUTPUT_LIBTOOL_INIT],
329- [$1
330-])])])
331-
332-# Initialize.
333-m4_define([_LT_OUTPUT_LIBTOOL_INIT])
334-
335-
336-# _LT_CONFIG_LIBTOOL([COMMANDS])
337-# ------------------------------
338-# Register COMMANDS to be passed to AC_CONFIG_COMMANDS later.
339-m4_define([_LT_CONFIG_LIBTOOL],
340-[m4_ifval([$1],
341- [m4_append([_LT_OUTPUT_LIBTOOL_COMMANDS],
342- [$1
343-])])])
344-
345-# Initialize.
346-m4_define([_LT_OUTPUT_LIBTOOL_COMMANDS])
347-
348-
349-# _LT_CONFIG_SAVE_COMMANDS([COMMANDS], [INIT_COMMANDS])
350-# -----------------------------------------------------
351-m4_defun([_LT_CONFIG_SAVE_COMMANDS],
352-[_LT_CONFIG_LIBTOOL([$1])
353-_LT_CONFIG_LIBTOOL_INIT([$2])
354-])
355-
356-
357-# _LT_FORMAT_COMMENT([COMMENT])
358-# -----------------------------
359-# Add leading comment marks to the start of each line, and a trailing
360-# full-stop to the whole comment if one is not present already.
361-m4_define([_LT_FORMAT_COMMENT],
362-[m4_ifval([$1], [
363-m4_bpatsubst([m4_bpatsubst([$1], [^ *], [# ])],
364- [['`$\]], [\\\&])]m4_bmatch([$1], [[!?.]$], [], [.])
365-)])
366-
367-
368-
369-## ------------------------ ##
370-## FIXME: Eliminate VARNAME ##
371-## ------------------------ ##
372-
373-
374-# _LT_DECL([CONFIGNAME], VARNAME, VALUE, [DESCRIPTION], [IS-TAGGED?])
375-# -------------------------------------------------------------------
376-# CONFIGNAME is the name given to the value in the libtool script.
377-# VARNAME is the (base) name used in the configure script.
378-# VALUE may be 0, 1 or 2 for a computed quote escaped value based on
379-# VARNAME. Any other value will be used directly.
380-m4_define([_LT_DECL],
381-[lt_if_append_uniq([lt_decl_varnames], [$2], [, ],
382- [lt_dict_add_subkey([lt_decl_dict], [$2], [libtool_name],
383- [m4_ifval([$1], [$1], [$2])])
384- lt_dict_add_subkey([lt_decl_dict], [$2], [value], [$3])
385- m4_ifval([$4],
386- [lt_dict_add_subkey([lt_decl_dict], [$2], [description], [$4])])
387- lt_dict_add_subkey([lt_decl_dict], [$2],
388- [tagged?], [m4_ifval([$5], [yes], [no])])])
389-])
390-
391-
392-# _LT_TAGDECL([CONFIGNAME], VARNAME, VALUE, [DESCRIPTION])
393-# --------------------------------------------------------
394-m4_define([_LT_TAGDECL], [_LT_DECL([$1], [$2], [$3], [$4], [yes])])
395-
396-
397-# lt_decl_tag_varnames([SEPARATOR], [VARNAME1...])
398-# ------------------------------------------------
399-m4_define([lt_decl_tag_varnames],
400-[_lt_decl_filter([tagged?], [yes], $@)])
401-
402-
403-# _lt_decl_filter(SUBKEY, VALUE, [SEPARATOR], [VARNAME1..])
404-# ---------------------------------------------------------
405-m4_define([_lt_decl_filter],
406-[m4_case([$#],
407- [0], [m4_fatal([$0: too few arguments: $#])],
408- [1], [m4_fatal([$0: too few arguments: $#: $1])],
409- [2], [lt_dict_filter([lt_decl_dict], [$1], [$2], [], lt_decl_varnames)],
410- [3], [lt_dict_filter([lt_decl_dict], [$1], [$2], [$3], lt_decl_varnames)],
411- [lt_dict_filter([lt_decl_dict], $@)])[]dnl
412-])
413-
414-
415-# lt_decl_quote_varnames([SEPARATOR], [VARNAME1...])
416-# --------------------------------------------------
417-m4_define([lt_decl_quote_varnames],
418-[_lt_decl_filter([value], [1], $@)])
419-
420-
421-# lt_decl_dquote_varnames([SEPARATOR], [VARNAME1...])
422-# ---------------------------------------------------
423-m4_define([lt_decl_dquote_varnames],
424-[_lt_decl_filter([value], [2], $@)])
425-
426-
427-# lt_decl_varnames_tagged([SEPARATOR], [VARNAME1...])
428-# ---------------------------------------------------
429-m4_define([lt_decl_varnames_tagged],
430-[m4_assert([$# <= 2])dnl
431-_$0(m4_quote(m4_default([$1], [[, ]])),
432- m4_ifval([$2], [[$2]], [m4_dquote(lt_decl_tag_varnames)]),
433- m4_split(m4_normalize(m4_quote(_LT_TAGS)), [ ]))])
434-m4_define([_lt_decl_varnames_tagged],
435-[m4_ifval([$3], [lt_combine([$1], [$2], [_], $3)])])
436-
437-
438-# lt_decl_all_varnames([SEPARATOR], [VARNAME1...])
439-# ------------------------------------------------
440-m4_define([lt_decl_all_varnames],
441-[_$0(m4_quote(m4_default([$1], [[, ]])),
442- m4_if([$2], [],
443- m4_quote(lt_decl_varnames),
444- m4_quote(m4_shift($@))))[]dnl
445-])
446-m4_define([_lt_decl_all_varnames],
447-[lt_join($@, lt_decl_varnames_tagged([$1],
448- lt_decl_tag_varnames([[, ]], m4_shift($@))))dnl
449-])
450-
451-
452-# _LT_CONFIG_STATUS_DECLARE([VARNAME])
453-# ------------------------------------
454-# Quote a variable value, and forward it to `config.status' so that its
455-# declaration there will have the same value as in `configure'. VARNAME
456-# must have a single quote delimited value for this to work.
457-m4_define([_LT_CONFIG_STATUS_DECLARE],
458-[$1='`$ECHO "X$][$1" | $Xsed -e "$delay_single_quote_subst"`'])
459-
460-
461-# _LT_CONFIG_STATUS_DECLARATIONS
462-# ------------------------------
463-# We delimit libtool config variables with single quotes, so when
464-# we write them to config.status, we have to be sure to quote all
465-# embedded single quotes properly. In configure, this macro expands
466-# each variable declared with _LT_DECL (and _LT_TAGDECL) into:
467-#
468-# <var>='`$ECHO "X$<var>" | $Xsed -e "$delay_single_quote_subst"`'
469-m4_defun([_LT_CONFIG_STATUS_DECLARATIONS],
470-[m4_foreach([_lt_var], m4_quote(lt_decl_all_varnames),
471- [m4_n([_LT_CONFIG_STATUS_DECLARE(_lt_var)])])])
472-
473-
474-# _LT_LIBTOOL_TAGS
475-# ----------------
476-# Output comment and list of tags supported by the script
477-m4_defun([_LT_LIBTOOL_TAGS],
478-[_LT_FORMAT_COMMENT([The names of the tagged configurations supported by this script])dnl
479-available_tags="_LT_TAGS"dnl
480-])
481-
482-
483-# _LT_LIBTOOL_DECLARE(VARNAME, [TAG])
484-# -----------------------------------
485-# Extract the dictionary values for VARNAME (optionally with TAG) and
486-# expand to a commented shell variable setting:
487-#
488-# # Some comment about what VAR is for.
489-# visible_name=$lt_internal_name
490-m4_define([_LT_LIBTOOL_DECLARE],
491-[_LT_FORMAT_COMMENT(m4_quote(lt_dict_fetch([lt_decl_dict], [$1],
492- [description])))[]dnl
493-m4_pushdef([_libtool_name],
494- m4_quote(lt_dict_fetch([lt_decl_dict], [$1], [libtool_name])))[]dnl
495-m4_case(m4_quote(lt_dict_fetch([lt_decl_dict], [$1], [value])),
496- [0], [_libtool_name=[$]$1],
497- [1], [_libtool_name=$lt_[]$1],
498- [2], [_libtool_name=$lt_[]$1],
499- [_libtool_name=lt_dict_fetch([lt_decl_dict], [$1], [value])])[]dnl
500-m4_ifval([$2], [_$2])[]m4_popdef([_libtool_name])[]dnl
501-])
502-
503-
504-# _LT_LIBTOOL_CONFIG_VARS
505-# -----------------------
506-# Produce commented declarations of non-tagged libtool config variables
507-# suitable for insertion in the LIBTOOL CONFIG section of the `libtool'
508-# script. Tagged libtool config variables (even for the LIBTOOL CONFIG
509-# section) are produced by _LT_LIBTOOL_TAG_VARS.
510-m4_defun([_LT_LIBTOOL_CONFIG_VARS],
511-[m4_foreach([_lt_var],
512- m4_quote(_lt_decl_filter([tagged?], [no], [], lt_decl_varnames)),
513- [m4_n([_LT_LIBTOOL_DECLARE(_lt_var)])])])
514-
515-
516-# _LT_LIBTOOL_TAG_VARS(TAG)
517-# -------------------------
518-m4_define([_LT_LIBTOOL_TAG_VARS],
519-[m4_foreach([_lt_var], m4_quote(lt_decl_tag_varnames),
520- [m4_n([_LT_LIBTOOL_DECLARE(_lt_var, [$1])])])])
521-
522-
523-# _LT_TAGVAR(VARNAME, [TAGNAME])
524-# ------------------------------
525-m4_define([_LT_TAGVAR], [m4_ifval([$2], [$1_$2], [$1])])
526-
527-
528-# _LT_CONFIG_COMMANDS
529-# -------------------
530-# Send accumulated output to $CONFIG_STATUS. Thanks to the lists of
531-# variables for single and double quote escaping we saved from calls
532-# to _LT_DECL, we can put quote escaped variables declarations
533-# into `config.status', and then the shell code to quote escape them in
534-# for loops in `config.status'. Finally, any additional code accumulated
535-# from calls to _LT_CONFIG_LIBTOOL_INIT is expanded.
536-m4_defun([_LT_CONFIG_COMMANDS],
537-[AC_PROVIDE_IFELSE([LT_OUTPUT],
538- dnl If the libtool generation code has been placed in $CONFIG_LT,
539- dnl instead of duplicating it all over again into config.status,
540- dnl then we will have config.status run $CONFIG_LT later, so it
541- dnl needs to know what name is stored there:
542- [AC_CONFIG_COMMANDS([libtool],
543- [$SHELL $CONFIG_LT || AS_EXIT(1)], [CONFIG_LT='$CONFIG_LT'])],
544- dnl If the libtool generation code is destined for config.status,
545- dnl expand the accumulated commands and init code now:
546- [AC_CONFIG_COMMANDS([libtool],
547- [_LT_OUTPUT_LIBTOOL_COMMANDS], [_LT_OUTPUT_LIBTOOL_COMMANDS_INIT])])
548-])#_LT_CONFIG_COMMANDS
549-
550-
551-# Initialize.
552-m4_define([_LT_OUTPUT_LIBTOOL_COMMANDS_INIT],
553-[
554-
555-# The HP-UX ksh and POSIX shell print the target directory to stdout
556-# if CDPATH is set.
557-(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
558-
559-sed_quote_subst='$sed_quote_subst'
560-double_quote_subst='$double_quote_subst'
561-delay_variable_subst='$delay_variable_subst'
562-_LT_CONFIG_STATUS_DECLARATIONS
563-LTCC='$LTCC'
564-LTCFLAGS='$LTCFLAGS'
565-compiler='$compiler_DEFAULT'
566-
567-# Quote evaled strings.
568-for var in lt_decl_all_varnames([[ \
569-]], lt_decl_quote_varnames); do
570- case \`eval \\\\\$ECHO "X\\\\\$\$var"\` in
571- *[[\\\\\\\`\\"\\\$]]*)
572- eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"X\\\$\$var\\" | \\\$Xsed -e \\"\\\$sed_quote_subst\\"\\\`\\\\\\""
573- ;;
574- *)
575- eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\""
576- ;;
577- esac
578-done
579-
580-# Double-quote double-evaled strings.
581-for var in lt_decl_all_varnames([[ \
582-]], lt_decl_dquote_varnames); do
583- case \`eval \\\\\$ECHO "X\\\\\$\$var"\` in
584- *[[\\\\\\\`\\"\\\$]]*)
585- eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"X\\\$\$var\\" | \\\$Xsed -e \\"\\\$double_quote_subst\\" -e \\"\\\$sed_quote_subst\\" -e \\"\\\$delay_variable_subst\\"\\\`\\\\\\""
586- ;;
587- *)
588- eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\""
589- ;;
590- esac
591-done
592-
593-# Fix-up fallback echo if it was mangled by the above quoting rules.
594-case \$lt_ECHO in
595-*'\\\[$]0 --fallback-echo"')dnl "
596- lt_ECHO=\`\$ECHO "X\$lt_ECHO" | \$Xsed -e 's/\\\\\\\\\\\\\\\[$]0 --fallback-echo"\[$]/\[$]0 --fallback-echo"/'\`
597- ;;
598-esac
599-
600-_LT_OUTPUT_LIBTOOL_INIT
601-])
602-
603-
604-# LT_OUTPUT
605-# ---------
606-# This macro allows early generation of the libtool script (before
607-# AC_OUTPUT is called), incase it is used in configure for compilation
608-# tests.
609-AC_DEFUN([LT_OUTPUT],
610-[: ${CONFIG_LT=./config.lt}
611-AC_MSG_NOTICE([creating $CONFIG_LT])
612-cat >"$CONFIG_LT" <<_LTEOF
613-#! $SHELL
614-# Generated by $as_me.
615-# Run this file to recreate a libtool stub with the current configuration.
616-
617-lt_cl_silent=false
618-SHELL=\${CONFIG_SHELL-$SHELL}
619-_LTEOF
620-
621-cat >>"$CONFIG_LT" <<\_LTEOF
622-AS_SHELL_SANITIZE
623-_AS_PREPARE
624-
625-exec AS_MESSAGE_FD>&1
626-exec AS_MESSAGE_LOG_FD>>config.log
627-{
628- echo
629- AS_BOX([Running $as_me.])
630-} >&AS_MESSAGE_LOG_FD
631-
632-lt_cl_help="\
633-\`$as_me' creates a local libtool stub from the current configuration,
634-for use in further configure time tests before the real libtool is
635-generated.
636-
637-Usage: $[0] [[OPTIONS]]
638-
639- -h, --help print this help, then exit
640- -V, --version print version number, then exit
641- -q, --quiet do not print progress messages
642- -d, --debug don't remove temporary files
643-
644-Report bugs to <bug-libtool@gnu.org>."
645-
646-lt_cl_version="\
647-m4_ifset([AC_PACKAGE_NAME], [AC_PACKAGE_NAME ])config.lt[]dnl
648-m4_ifset([AC_PACKAGE_VERSION], [ AC_PACKAGE_VERSION])
649-configured by $[0], generated by m4_PACKAGE_STRING.
650-
651-Copyright (C) 2008 Free Software Foundation, Inc.
652-This config.lt script is free software; the Free Software Foundation
653-gives unlimited permision to copy, distribute and modify it."
654-
655-while test $[#] != 0
656-do
657- case $[1] in
658- --version | --v* | -V )
659- echo "$lt_cl_version"; exit 0 ;;
660- --help | --h* | -h )
661- echo "$lt_cl_help"; exit 0 ;;
662- --debug | --d* | -d )
663- debug=: ;;
664- --quiet | --q* | --silent | --s* | -q )
665- lt_cl_silent=: ;;
666-
667- -*) AC_MSG_ERROR([unrecognized option: $[1]
668-Try \`$[0] --help' for more information.]) ;;
669-
670- *) AC_MSG_ERROR([unrecognized argument: $[1]
671-Try \`$[0] --help' for more information.]) ;;
672- esac
673- shift
674-done
675-
676-if $lt_cl_silent; then
677- exec AS_MESSAGE_FD>/dev/null
678-fi
679-_LTEOF
680-
681-cat >>"$CONFIG_LT" <<_LTEOF
682-_LT_OUTPUT_LIBTOOL_COMMANDS_INIT
683-_LTEOF
684-
685-cat >>"$CONFIG_LT" <<\_LTEOF
686-AC_MSG_NOTICE([creating $ofile])
687-_LT_OUTPUT_LIBTOOL_COMMANDS
688-AS_EXIT(0)
689-_LTEOF
690-chmod +x "$CONFIG_LT"
691-
692-# configure is writing to config.log, but config.lt does its own redirection,
693-# appending to config.log, which fails on DOS, as config.log is still kept
694-# open by configure. Here we exec the FD to /dev/null, effectively closing
695-# config.log, so it can be properly (re)opened and appended to by config.lt.
696-if test "$no_create" != yes; then
697- lt_cl_success=:
698- test "$silent" = yes &&
699- lt_config_lt_args="$lt_config_lt_args --quiet"
700- exec AS_MESSAGE_LOG_FD>/dev/null
701- $SHELL "$CONFIG_LT" $lt_config_lt_args || lt_cl_success=false
702- exec AS_MESSAGE_LOG_FD>>config.log
703- $lt_cl_success || AS_EXIT(1)
704-fi
705-])# LT_OUTPUT
706-
707-
708-# _LT_CONFIG(TAG)
709-# ---------------
710-# If TAG is the built-in tag, create an initial libtool script with a
711-# default configuration from the untagged config vars. Otherwise add code
712-# to config.status for appending the configuration named by TAG from the
713-# matching tagged config vars.
714-m4_defun([_LT_CONFIG],
715-[m4_require([_LT_FILEUTILS_DEFAULTS])dnl
716-_LT_CONFIG_SAVE_COMMANDS([
717- m4_define([_LT_TAG], m4_if([$1], [], [C], [$1]))dnl
718- m4_if(_LT_TAG, [C], [
719- # See if we are running on zsh, and set the options which allow our
720- # commands through without removal of \ escapes.
721- if test -n "${ZSH_VERSION+set}" ; then
722- setopt NO_GLOB_SUBST
723- fi
724-
725- cfgfile="${ofile}T"
726- trap "$RM \"$cfgfile\"; exit 1" 1 2 15
727- $RM "$cfgfile"
728-
729- cat <<_LT_EOF >> "$cfgfile"
730-#! $SHELL
731-
732-# `$ECHO "$ofile" | sed 's%^.*/%%'` - Provide generalized library-building support services.
733-# Generated automatically by $as_me ($PACKAGE$TIMESTAMP) $VERSION
734-# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`:
735-# NOTE: Changes made to this file will be lost: look at ltmain.sh.
736-#
737-_LT_COPYING
738-_LT_LIBTOOL_TAGS
739-
740-# ### BEGIN LIBTOOL CONFIG
741-_LT_LIBTOOL_CONFIG_VARS
742-_LT_LIBTOOL_TAG_VARS
743-# ### END LIBTOOL CONFIG
744-
745-_LT_EOF
746-
747- case $host_os in
748- aix3*)
749- cat <<\_LT_EOF >> "$cfgfile"
750-# AIX sometimes has problems with the GCC collect2 program. For some
751-# reason, if we set the COLLECT_NAMES environment variable, the problems
752-# vanish in a puff of smoke.
753-if test "X${COLLECT_NAMES+set}" != Xset; then
754- COLLECT_NAMES=
755- export COLLECT_NAMES
756-fi
757-_LT_EOF
758- ;;
759- esac
760-
761- _LT_PROG_LTMAIN
762-
763- # We use sed instead of cat because bash on DJGPP gets confused if
764- # if finds mixed CR/LF and LF-only lines. Since sed operates in
765- # text mode, it properly converts lines to CR/LF. This bash problem
766- # is reportedly fixed, but why not run on old versions too?
767- sed '/^# Generated shell functions inserted here/q' "$ltmain" >> "$cfgfile" \
768- || (rm -f "$cfgfile"; exit 1)
769-
770- _LT_PROG_XSI_SHELLFNS
771-
772- sed -n '/^# Generated shell functions inserted here/,$p' "$ltmain" >> "$cfgfile" \
773- || (rm -f "$cfgfile"; exit 1)
774-
775- mv -f "$cfgfile" "$ofile" ||
776- (rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile")
777- chmod +x "$ofile"
778-],
779-[cat <<_LT_EOF >> "$ofile"
780-
781-dnl Unfortunately we have to use $1 here, since _LT_TAG is not expanded
782-dnl in a comment (ie after a #).
783-# ### BEGIN LIBTOOL TAG CONFIG: $1
784-_LT_LIBTOOL_TAG_VARS(_LT_TAG)
785-# ### END LIBTOOL TAG CONFIG: $1
786-_LT_EOF
787-])dnl /m4_if
788-],
789-[m4_if([$1], [], [
790- PACKAGE='$PACKAGE'
791- VERSION='$VERSION'
792- TIMESTAMP='$TIMESTAMP'
793- RM='$RM'
794- ofile='$ofile'], [])
795-])dnl /_LT_CONFIG_SAVE_COMMANDS
796-])# _LT_CONFIG
797-
798-
799-# LT_SUPPORTED_TAG(TAG)
800-# ---------------------
801-# Trace this macro to discover what tags are supported by the libtool
802-# --tag option, using:
803-# autoconf --trace 'LT_SUPPORTED_TAG:$1'
804-AC_DEFUN([LT_SUPPORTED_TAG], [])
805-
806-
807-# C support is built-in for now
808-m4_define([_LT_LANG_C_enabled], [])
809-m4_define([_LT_TAGS], [])
810-
811-
812-# LT_LANG(LANG)
813-# -------------
814-# Enable libtool support for the given language if not already enabled.
815-AC_DEFUN([LT_LANG],
816-[AC_BEFORE([$0], [LT_OUTPUT])dnl
817-m4_case([$1],
818- [C], [_LT_LANG(C)],
819- [C++], [_LT_LANG(CXX)],
820- [Java], [_LT_LANG(GCJ)],
821- [Fortran 77], [_LT_LANG(F77)],
822- [Fortran], [_LT_LANG(FC)],
823- [Windows Resource], [_LT_LANG(RC)],
824- [m4_ifdef([_LT_LANG_]$1[_CONFIG],
825- [_LT_LANG($1)],
826- [m4_fatal([$0: unsupported language: "$1"])])])dnl
827-])# LT_LANG
828-
829-
830-# _LT_LANG(LANGNAME)
831-# ------------------
832-m4_defun([_LT_LANG],
833-[m4_ifdef([_LT_LANG_]$1[_enabled], [],
834- [LT_SUPPORTED_TAG([$1])dnl
835- m4_append([_LT_TAGS], [$1 ])dnl
836- m4_define([_LT_LANG_]$1[_enabled], [])dnl
837- _LT_LANG_$1_CONFIG($1)])dnl
838-])# _LT_LANG
839-
840-
841-# _LT_LANG_DEFAULT_CONFIG
842-# -----------------------
843-m4_defun([_LT_LANG_DEFAULT_CONFIG],
844-[AC_PROVIDE_IFELSE([AC_PROG_CXX],
845- [LT_LANG(CXX)],
846- [m4_define([AC_PROG_CXX], defn([AC_PROG_CXX])[LT_LANG(CXX)])])
847-
848-AC_PROVIDE_IFELSE([AC_PROG_F77],
849- [LT_LANG(F77)],
850- [m4_define([AC_PROG_F77], defn([AC_PROG_F77])[LT_LANG(F77)])])
851-
852-AC_PROVIDE_IFELSE([AC_PROG_FC],
853- [LT_LANG(FC)],
854- [m4_define([AC_PROG_FC], defn([AC_PROG_FC])[LT_LANG(FC)])])
855-
856-dnl The call to [A][M_PROG_GCJ] is quoted like that to stop aclocal
857-dnl pulling things in needlessly.
858-AC_PROVIDE_IFELSE([AC_PROG_GCJ],
859- [LT_LANG(GCJ)],
860- [AC_PROVIDE_IFELSE([A][M_PROG_GCJ],
861- [LT_LANG(GCJ)],
862- [AC_PROVIDE_IFELSE([LT_PROG_GCJ],
863- [LT_LANG(GCJ)],
864- [m4_ifdef([AC_PROG_GCJ],
865- [m4_define([AC_PROG_GCJ], defn([AC_PROG_GCJ])[LT_LANG(GCJ)])])
866- m4_ifdef([A][M_PROG_GCJ],
867- [m4_define([A][M_PROG_GCJ], defn([A][M_PROG_GCJ])[LT_LANG(GCJ)])])
868- m4_ifdef([LT_PROG_GCJ],
869- [m4_define([LT_PROG_GCJ], defn([LT_PROG_GCJ])[LT_LANG(GCJ)])])])])])
870-
871-AC_PROVIDE_IFELSE([LT_PROG_RC],
872- [LT_LANG(RC)],
873- [m4_define([LT_PROG_RC], defn([LT_PROG_RC])[LT_LANG(RC)])])
874-])# _LT_LANG_DEFAULT_CONFIG
875-
876-# Obsolete macros:
877-AU_DEFUN([AC_LIBTOOL_CXX], [LT_LANG(C++)])
878-AU_DEFUN([AC_LIBTOOL_F77], [LT_LANG(Fortran 77)])
879-AU_DEFUN([AC_LIBTOOL_FC], [LT_LANG(Fortran)])
880-AU_DEFUN([AC_LIBTOOL_GCJ], [LT_LANG(Java)])
881-dnl aclocal-1.4 backwards compatibility:
882-dnl AC_DEFUN([AC_LIBTOOL_CXX], [])
883-dnl AC_DEFUN([AC_LIBTOOL_F77], [])
884-dnl AC_DEFUN([AC_LIBTOOL_FC], [])
885-dnl AC_DEFUN([AC_LIBTOOL_GCJ], [])
886-
887-
888-# _LT_TAG_COMPILER
889-# ----------------
890-m4_defun([_LT_TAG_COMPILER],
891-[AC_REQUIRE([AC_PROG_CC])dnl
892-
893-_LT_DECL([LTCC], [CC], [1], [A C compiler])dnl
894-_LT_DECL([LTCFLAGS], [CFLAGS], [1], [LTCC compiler flags])dnl
895-_LT_TAGDECL([CC], [compiler], [1], [A language specific compiler])dnl
896-_LT_TAGDECL([with_gcc], [GCC], [0], [Is the compiler the GNU compiler?])dnl
897-
898-# If no C compiler was specified, use CC.
899-LTCC=${LTCC-"$CC"}
900-
901-# If no C compiler flags were specified, use CFLAGS.
902-LTCFLAGS=${LTCFLAGS-"$CFLAGS"}
903-
904-# Allow CC to be a program name with arguments.
905-compiler=$CC
906-])# _LT_TAG_COMPILER
907-
908-
909-# _LT_COMPILER_BOILERPLATE
910-# ------------------------
911-# Check for compiler boilerplate output or warnings with
912-# the simple compiler test code.
913-m4_defun([_LT_COMPILER_BOILERPLATE],
914-[m4_require([_LT_DECL_SED])dnl
915-ac_outfile=conftest.$ac_objext
916-echo "$lt_simple_compile_test_code" >conftest.$ac_ext
917-eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
918-_lt_compiler_boilerplate=`cat conftest.err`
919-$RM conftest*
920-])# _LT_COMPILER_BOILERPLATE
921-
922-
923-# _LT_LINKER_BOILERPLATE
924-# ----------------------
925-# Check for linker boilerplate output or warnings with
926-# the simple link test code.
927-m4_defun([_LT_LINKER_BOILERPLATE],
928-[m4_require([_LT_DECL_SED])dnl
929-ac_outfile=conftest.$ac_objext
930-echo "$lt_simple_link_test_code" >conftest.$ac_ext
931-eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
932-_lt_linker_boilerplate=`cat conftest.err`
933-$RM -r conftest*
934-])# _LT_LINKER_BOILERPLATE
935-
936-# _LT_REQUIRED_DARWIN_CHECKS
937-# -------------------------
938-m4_defun_once([_LT_REQUIRED_DARWIN_CHECKS],[
939- case $host_os in
940- rhapsody* | darwin*)
941- AC_CHECK_TOOL([DSYMUTIL], [dsymutil], [:])
942- AC_CHECK_TOOL([NMEDIT], [nmedit], [:])
943- AC_CHECK_TOOL([LIPO], [lipo], [:])
944- AC_CHECK_TOOL([OTOOL], [otool], [:])
945- AC_CHECK_TOOL([OTOOL64], [otool64], [:])
946- _LT_DECL([], [DSYMUTIL], [1],
947- [Tool to manipulate archived DWARF debug symbol files on Mac OS X])
948- _LT_DECL([], [NMEDIT], [1],
949- [Tool to change global to local symbols on Mac OS X])
950- _LT_DECL([], [LIPO], [1],
951- [Tool to manipulate fat objects and archives on Mac OS X])
952- _LT_DECL([], [OTOOL], [1],
953- [ldd/readelf like tool for Mach-O binaries on Mac OS X])
954- _LT_DECL([], [OTOOL64], [1],
955- [ldd/readelf like tool for 64 bit Mach-O binaries on Mac OS X 10.4])
956-
957- AC_CACHE_CHECK([for -single_module linker flag],[lt_cv_apple_cc_single_mod],
958- [lt_cv_apple_cc_single_mod=no
959- if test -z "${LT_MULTI_MODULE}"; then
960- # By default we will add the -single_module flag. You can override
961- # by either setting the environment variable LT_MULTI_MODULE
962- # non-empty at configure time, or by adding -multi_module to the
963- # link flags.
964- rm -rf libconftest.dylib*
965- echo "int foo(void){return 1;}" > conftest.c
966- echo "$LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \
967--dynamiclib -Wl,-single_module conftest.c" >&AS_MESSAGE_LOG_FD
968- $LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \
969- -dynamiclib -Wl,-single_module conftest.c 2>conftest.err
970- _lt_result=$?
971- if test -f libconftest.dylib && test ! -s conftest.err && test $_lt_result = 0; then
972- lt_cv_apple_cc_single_mod=yes
973- else
974- cat conftest.err >&AS_MESSAGE_LOG_FD
975- fi
976- rm -rf libconftest.dylib*
977- rm -f conftest.*
978- fi])
979- AC_CACHE_CHECK([for -exported_symbols_list linker flag],
980- [lt_cv_ld_exported_symbols_list],
981- [lt_cv_ld_exported_symbols_list=no
982- save_LDFLAGS=$LDFLAGS
983- echo "_main" > conftest.sym
984- LDFLAGS="$LDFLAGS -Wl,-exported_symbols_list,conftest.sym"
985- AC_LINK_IFELSE([AC_LANG_PROGRAM([],[])],
986- [lt_cv_ld_exported_symbols_list=yes],
987- [lt_cv_ld_exported_symbols_list=no])
988- LDFLAGS="$save_LDFLAGS"
989- ])
990- case $host_os in
991- rhapsody* | darwin1.[[012]])
992- _lt_dar_allow_undefined='${wl}-undefined ${wl}suppress' ;;
993- darwin1.*)
994- _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;;
995- darwin*) # darwin 5.x on
996- # if running on 10.5 or later, the deployment target defaults
997- # to the OS version, if on x86, and 10.4, the deployment
998- # target defaults to 10.4. Don't you love it?
999- case ${MACOSX_DEPLOYMENT_TARGET-10.0},$host in
1000- 10.0,*86*-darwin8*|10.0,*-darwin[[91]]*)
1001- _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;;
1002- 10.[[012]]*)
1003- _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;;
1004- 10.*)
1005- _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;;
1006- esac
1007- ;;
1008- esac
1009- if test "$lt_cv_apple_cc_single_mod" = "yes"; then
1010- _lt_dar_single_mod='$single_module'
1011- fi
1012- if test "$lt_cv_ld_exported_symbols_list" = "yes"; then
1013- _lt_dar_export_syms=' ${wl}-exported_symbols_list,$output_objdir/${libname}-symbols.expsym'
1014- else
1015- _lt_dar_export_syms='~$NMEDIT -s $output_objdir/${libname}-symbols.expsym ${lib}'
1016- fi
1017- if test "$DSYMUTIL" != ":"; then
1018- _lt_dsymutil='~$DSYMUTIL $lib || :'
1019- else
1020- _lt_dsymutil=
1021- fi
1022- ;;
1023- esac
1024-])
1025-
1026-
1027-# _LT_DARWIN_LINKER_FEATURES
1028-# --------------------------
1029-# Checks for linker and compiler features on darwin
1030-m4_defun([_LT_DARWIN_LINKER_FEATURES],
1031-[
1032- m4_require([_LT_REQUIRED_DARWIN_CHECKS])
1033- _LT_TAGVAR(archive_cmds_need_lc, $1)=no
1034- _LT_TAGVAR(hardcode_direct, $1)=no
1035- _LT_TAGVAR(hardcode_automatic, $1)=yes
1036- _LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported
1037- _LT_TAGVAR(whole_archive_flag_spec, $1)=''
1038- _LT_TAGVAR(link_all_deplibs, $1)=yes
1039- _LT_TAGVAR(allow_undefined_flag, $1)="$_lt_dar_allow_undefined"
1040- case $cc_basename in
1041- ifort*) _lt_dar_can_shared=yes ;;
1042- *) _lt_dar_can_shared=$GCC ;;
1043- esac
1044- if test "$_lt_dar_can_shared" = "yes"; then
1045- output_verbose_link_cmd=echo
1046- _LT_TAGVAR(archive_cmds, $1)="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod${_lt_dsymutil}"
1047- _LT_TAGVAR(module_cmds, $1)="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}"
1048- _LT_TAGVAR(archive_expsym_cmds, $1)="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring ${_lt_dar_single_mod}${_lt_dar_export_syms}${_lt_dsymutil}"
1049- _LT_TAGVAR(module_expsym_cmds, $1)="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}"
1050- m4_if([$1], [CXX],
1051-[ if test "$lt_cv_apple_cc_single_mod" != "yes"; then
1052- _LT_TAGVAR(archive_cmds, $1)="\$CC -r -keep_private_externs -nostdlib -o \${lib}-master.o \$libobjs~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \${lib}-master.o \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring${_lt_dsymutil}"
1053- _LT_TAGVAR(archive_expsym_cmds, $1)="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -r -keep_private_externs -nostdlib -o \${lib}-master.o \$libobjs~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \${lib}-master.o \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring${_lt_dar_export_syms}${_lt_dsymutil}"
1054- fi
1055-],[])
1056- else
1057- _LT_TAGVAR(ld_shlibs, $1)=no
1058- fi
1059-])
1060-
1061-# _LT_SYS_MODULE_PATH_AIX
1062-# -----------------------
1063-# Links a minimal program and checks the executable
1064-# for the system default hardcoded library path. In most cases,
1065-# this is /usr/lib:/lib, but when the MPI compilers are used
1066-# the location of the communication and MPI libs are included too.
1067-# If we don't find anything, use the default library path according
1068-# to the aix ld manual.
1069-m4_defun([_LT_SYS_MODULE_PATH_AIX],
1070-[m4_require([_LT_DECL_SED])dnl
1071-AC_LINK_IFELSE(AC_LANG_PROGRAM,[
1072-lt_aix_libpath_sed='
1073- /Import File Strings/,/^$/ {
1074- /^0/ {
1075- s/^0 *\(.*\)$/\1/
1076- p
1077- }
1078- }'
1079-aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
1080-# Check for a 64-bit object if we didn't find anything.
1081-if test -z "$aix_libpath"; then
1082- aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
1083-fi],[])
1084-if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
1085-])# _LT_SYS_MODULE_PATH_AIX
1086-
1087-
1088-# _LT_SHELL_INIT(ARG)
1089-# -------------------
1090-m4_define([_LT_SHELL_INIT],
1091-[ifdef([AC_DIVERSION_NOTICE],
1092- [AC_DIVERT_PUSH(AC_DIVERSION_NOTICE)],
1093- [AC_DIVERT_PUSH(NOTICE)])
1094-$1
1095-AC_DIVERT_POP
1096-])# _LT_SHELL_INIT
1097-
1098-
1099-# _LT_PROG_ECHO_BACKSLASH
1100-# -----------------------
1101-# Add some code to the start of the generated configure script which
1102-# will find an echo command which doesn't interpret backslashes.
1103-m4_defun([_LT_PROG_ECHO_BACKSLASH],
1104-[_LT_SHELL_INIT([
1105-# Check that we are running under the correct shell.
1106-SHELL=${CONFIG_SHELL-/bin/sh}
1107-
1108-case X$lt_ECHO in
1109-X*--fallback-echo)
1110- # Remove one level of quotation (which was required for Make).
1111- ECHO=`echo "$lt_ECHO" | sed 's,\\\\\[$]\\[$]0,'[$]0','`
1112- ;;
1113-esac
1114-
1115-ECHO=${lt_ECHO-echo}
1116-if test "X[$]1" = X--no-reexec; then
1117- # Discard the --no-reexec flag, and continue.
1118- shift
1119-elif test "X[$]1" = X--fallback-echo; then
1120- # Avoid inline document here, it may be left over
1121- :
1122-elif test "X`{ $ECHO '\t'; } 2>/dev/null`" = 'X\t' ; then
1123- # Yippee, $ECHO works!
1124- :
1125-else
1126- # Restart under the correct shell.
1127- exec $SHELL "[$]0" --no-reexec ${1+"[$]@"}
1128-fi
1129-
1130-if test "X[$]1" = X--fallback-echo; then
1131- # used as fallback echo
1132- shift
1133- cat <<_LT_EOF
1134-[$]*
1135-_LT_EOF
1136- exit 0
1137-fi
1138-
1139-# The HP-UX ksh and POSIX shell print the target directory to stdout
1140-# if CDPATH is set.
1141-(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
1142-
1143-if test -z "$lt_ECHO"; then
1144- if test "X${echo_test_string+set}" != Xset; then
1145- # find a string as large as possible, as long as the shell can cope with it
1146- for cmd in 'sed 50q "[$]0"' 'sed 20q "[$]0"' 'sed 10q "[$]0"' 'sed 2q "[$]0"' 'echo test'; do
1147- # expected sizes: less than 2Kb, 1Kb, 512 bytes, 16 bytes, ...
1148- if { echo_test_string=`eval $cmd`; } 2>/dev/null &&
1149- { test "X$echo_test_string" = "X$echo_test_string"; } 2>/dev/null
1150- then
1151- break
1152- fi
1153- done
1154- fi
1155-
1156- if test "X`{ $ECHO '\t'; } 2>/dev/null`" = 'X\t' &&
1157- echo_testing_string=`{ $ECHO "$echo_test_string"; } 2>/dev/null` &&
1158- test "X$echo_testing_string" = "X$echo_test_string"; then
1159- :
1160- else
1161- # The Solaris, AIX, and Digital Unix default echo programs unquote
1162- # backslashes. This makes it impossible to quote backslashes using
1163- # echo "$something" | sed 's/\\/\\\\/g'
1164- #
1165- # So, first we look for a working echo in the user's PATH.
1166-
1167- lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
1168- for dir in $PATH /usr/ucb; do
1169- IFS="$lt_save_ifs"
1170- if (test -f $dir/echo || test -f $dir/echo$ac_exeext) &&
1171- test "X`($dir/echo '\t') 2>/dev/null`" = 'X\t' &&
1172- echo_testing_string=`($dir/echo "$echo_test_string") 2>/dev/null` &&
1173- test "X$echo_testing_string" = "X$echo_test_string"; then
1174- ECHO="$dir/echo"
1175- break
1176- fi
1177- done
1178- IFS="$lt_save_ifs"
1179-
1180- if test "X$ECHO" = Xecho; then
1181- # We didn't find a better echo, so look for alternatives.
1182- if test "X`{ print -r '\t'; } 2>/dev/null`" = 'X\t' &&
1183- echo_testing_string=`{ print -r "$echo_test_string"; } 2>/dev/null` &&
1184- test "X$echo_testing_string" = "X$echo_test_string"; then
1185- # This shell has a builtin print -r that does the trick.
1186- ECHO='print -r'
1187- elif { test -f /bin/ksh || test -f /bin/ksh$ac_exeext; } &&
1188- test "X$CONFIG_SHELL" != X/bin/ksh; then
1189- # If we have ksh, try running configure again with it.
1190- ORIGINAL_CONFIG_SHELL=${CONFIG_SHELL-/bin/sh}
1191- export ORIGINAL_CONFIG_SHELL
1192- CONFIG_SHELL=/bin/ksh
1193- export CONFIG_SHELL
1194- exec $CONFIG_SHELL "[$]0" --no-reexec ${1+"[$]@"}
1195- else
1196- # Try using printf.
1197- ECHO='printf %s\n'
1198- if test "X`{ $ECHO '\t'; } 2>/dev/null`" = 'X\t' &&
1199- echo_testing_string=`{ $ECHO "$echo_test_string"; } 2>/dev/null` &&
1200- test "X$echo_testing_string" = "X$echo_test_string"; then
1201- # Cool, printf works
1202- :
1203- elif echo_testing_string=`($ORIGINAL_CONFIG_SHELL "[$]0" --fallback-echo '\t') 2>/dev/null` &&
1204- test "X$echo_testing_string" = 'X\t' &&
1205- echo_testing_string=`($ORIGINAL_CONFIG_SHELL "[$]0" --fallback-echo "$echo_test_string") 2>/dev/null` &&
1206- test "X$echo_testing_string" = "X$echo_test_string"; then
1207- CONFIG_SHELL=$ORIGINAL_CONFIG_SHELL
1208- export CONFIG_SHELL
1209- SHELL="$CONFIG_SHELL"
1210- export SHELL
1211- ECHO="$CONFIG_SHELL [$]0 --fallback-echo"
1212- elif echo_testing_string=`($CONFIG_SHELL "[$]0" --fallback-echo '\t') 2>/dev/null` &&
1213- test "X$echo_testing_string" = 'X\t' &&
1214- echo_testing_string=`($CONFIG_SHELL "[$]0" --fallback-echo "$echo_test_string") 2>/dev/null` &&
1215- test "X$echo_testing_string" = "X$echo_test_string"; then
1216- ECHO="$CONFIG_SHELL [$]0 --fallback-echo"
1217- else
1218- # maybe with a smaller string...
1219- prev=:
1220-
1221- for cmd in 'echo test' 'sed 2q "[$]0"' 'sed 10q "[$]0"' 'sed 20q "[$]0"' 'sed 50q "[$]0"'; do
1222- if { test "X$echo_test_string" = "X`eval $cmd`"; } 2>/dev/null
1223- then
1224- break
1225- fi
1226- prev="$cmd"
1227- done
1228-
1229- if test "$prev" != 'sed 50q "[$]0"'; then
1230- echo_test_string=`eval $prev`
1231- export echo_test_string
1232- exec ${ORIGINAL_CONFIG_SHELL-${CONFIG_SHELL-/bin/sh}} "[$]0" ${1+"[$]@"}
1233- else
1234- # Oops. We lost completely, so just stick with echo.
1235- ECHO=echo
1236- fi
1237- fi
1238- fi
1239- fi
1240- fi
1241-fi
1242-
1243-# Copy echo and quote the copy suitably for passing to libtool from
1244-# the Makefile, instead of quoting the original, which is used later.
1245-lt_ECHO=$ECHO
1246-if test "X$lt_ECHO" = "X$CONFIG_SHELL [$]0 --fallback-echo"; then
1247- lt_ECHO="$CONFIG_SHELL \\\$\[$]0 --fallback-echo"
1248-fi
1249-
1250-AC_SUBST(lt_ECHO)
1251-])
1252-_LT_DECL([], [SHELL], [1], [Shell to use when invoking shell scripts])
1253-_LT_DECL([], [ECHO], [1],
1254- [An echo program that does not interpret backslashes])
1255-])# _LT_PROG_ECHO_BACKSLASH
1256-
1257-
1258-# _LT_ENABLE_LOCK
1259-# ---------------
1260-m4_defun([_LT_ENABLE_LOCK],
1261-[AC_ARG_ENABLE([libtool-lock],
1262- [AS_HELP_STRING([--disable-libtool-lock],
1263- [avoid locking (might break parallel builds)])])
1264-test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes
1265-
1266-# Some flags need to be propagated to the compiler or linker for good
1267-# libtool support.
1268-case $host in
1269-ia64-*-hpux*)
1270- # Find out which ABI we are using.
1271- echo 'int i;' > conftest.$ac_ext
1272- if AC_TRY_EVAL(ac_compile); then
1273- case `/usr/bin/file conftest.$ac_objext` in
1274- *ELF-32*)
1275- HPUX_IA64_MODE="32"
1276- ;;
1277- *ELF-64*)
1278- HPUX_IA64_MODE="64"
1279- ;;
1280- esac
1281- fi
1282- rm -rf conftest*
1283- ;;
1284-*-*-irix6*)
1285- # Find out which ABI we are using.
1286- echo '[#]line __oline__ "configure"' > conftest.$ac_ext
1287- if AC_TRY_EVAL(ac_compile); then
1288- if test "$lt_cv_prog_gnu_ld" = yes; then
1289- case `/usr/bin/file conftest.$ac_objext` in
1290- *32-bit*)
1291- LD="${LD-ld} -melf32bsmip"
1292- ;;
1293- *N32*)
1294- LD="${LD-ld} -melf32bmipn32"
1295- ;;
1296- *64-bit*)
1297- LD="${LD-ld} -melf64bmip"
1298- ;;
1299- esac
1300- else
1301- case `/usr/bin/file conftest.$ac_objext` in
1302- *32-bit*)
1303- LD="${LD-ld} -32"
1304- ;;
1305- *N32*)
1306- LD="${LD-ld} -n32"
1307- ;;
1308- *64-bit*)
1309- LD="${LD-ld} -64"
1310- ;;
1311- esac
1312- fi
1313- fi
1314- rm -rf conftest*
1315- ;;
1316-
1317-x86_64-*kfreebsd*-gnu|x86_64-*linux*|ppc*-*linux*|powerpc*-*linux*| \
1318-s390*-*linux*|s390*-*tpf*|sparc*-*linux*)
1319- # Find out which ABI we are using.
1320- echo 'int i;' > conftest.$ac_ext
1321- if AC_TRY_EVAL(ac_compile); then
1322- case `/usr/bin/file conftest.o` in
1323- *32-bit*)
1324- case $host in
1325- x86_64-*kfreebsd*-gnu)
1326- LD="${LD-ld} -m elf_i386_fbsd"
1327- ;;
1328- x86_64-*linux*)
1329- LD="${LD-ld} -m elf_i386"
1330- ;;
1331- ppc64-*linux*|powerpc64-*linux*)
1332- LD="${LD-ld} -m elf32ppclinux"
1333- ;;
1334- s390x-*linux*)
1335- LD="${LD-ld} -m elf_s390"
1336- ;;
1337- sparc64-*linux*)
1338- LD="${LD-ld} -m elf32_sparc"
1339- ;;
1340- esac
1341- ;;
1342- *64-bit*)
1343- case $host in
1344- x86_64-*kfreebsd*-gnu)
1345- LD="${LD-ld} -m elf_x86_64_fbsd"
1346- ;;
1347- x86_64-*linux*)
1348- LD="${LD-ld} -m elf_x86_64"
1349- ;;
1350- ppc*-*linux*|powerpc*-*linux*)
1351- LD="${LD-ld} -m elf64ppc"
1352- ;;
1353- s390*-*linux*|s390*-*tpf*)
1354- LD="${LD-ld} -m elf64_s390"
1355- ;;
1356- sparc*-*linux*)
1357- LD="${LD-ld} -m elf64_sparc"
1358- ;;
1359- esac
1360- ;;
1361- esac
1362- fi
1363- rm -rf conftest*
1364- ;;
1365-
1366-*-*-sco3.2v5*)
1367- # On SCO OpenServer 5, we need -belf to get full-featured binaries.
1368- SAVE_CFLAGS="$CFLAGS"
1369- CFLAGS="$CFLAGS -belf"
1370- AC_CACHE_CHECK([whether the C compiler needs -belf], lt_cv_cc_needs_belf,
1371- [AC_LANG_PUSH(C)
1372- AC_LINK_IFELSE([AC_LANG_PROGRAM([[]],[[]])],[lt_cv_cc_needs_belf=yes],[lt_cv_cc_needs_belf=no])
1373- AC_LANG_POP])
1374- if test x"$lt_cv_cc_needs_belf" != x"yes"; then
1375- # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf
1376- CFLAGS="$SAVE_CFLAGS"
1377- fi
1378- ;;
1379-sparc*-*solaris*)
1380- # Find out which ABI we are using.
1381- echo 'int i;' > conftest.$ac_ext
1382- if AC_TRY_EVAL(ac_compile); then
1383- case `/usr/bin/file conftest.o` in
1384- *64-bit*)
1385- case $lt_cv_prog_gnu_ld in
1386- yes*) LD="${LD-ld} -m elf64_sparc" ;;
1387- *)
1388- if ${LD-ld} -64 -r -o conftest2.o conftest.o >/dev/null 2>&1; then
1389- LD="${LD-ld} -64"
1390- fi
1391- ;;
1392- esac
1393- ;;
1394- esac
1395- fi
1396- rm -rf conftest*
1397- ;;
1398-esac
1399-
1400-need_locks="$enable_libtool_lock"
1401-])# _LT_ENABLE_LOCK
1402-
1403-
1404-# _LT_CMD_OLD_ARCHIVE
1405-# -------------------
1406-m4_defun([_LT_CMD_OLD_ARCHIVE],
1407-[AC_CHECK_TOOL(AR, ar, false)
1408-test -z "$AR" && AR=ar
1409-test -z "$AR_FLAGS" && AR_FLAGS=cru
1410-_LT_DECL([], [AR], [1], [The archiver])
1411-_LT_DECL([], [AR_FLAGS], [1])
1412-
1413-AC_CHECK_TOOL(STRIP, strip, :)
1414-test -z "$STRIP" && STRIP=:
1415-_LT_DECL([], [STRIP], [1], [A symbol stripping program])
1416-
1417-AC_CHECK_TOOL(RANLIB, ranlib, :)
1418-test -z "$RANLIB" && RANLIB=:
1419-_LT_DECL([], [RANLIB], [1],
1420- [Commands used to install an old-style archive])
1421-
1422-# Determine commands to create old-style static archives.
1423-old_archive_cmds='$AR $AR_FLAGS $oldlib$oldobjs'
1424-old_postinstall_cmds='chmod 644 $oldlib'
1425-old_postuninstall_cmds=
1426-
1427-if test -n "$RANLIB"; then
1428- case $host_os in
1429- openbsd*)
1430- old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$oldlib"
1431- ;;
1432- *)
1433- old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$oldlib"
1434- ;;
1435- esac
1436- old_archive_cmds="$old_archive_cmds~\$RANLIB \$oldlib"
1437-fi
1438-_LT_DECL([], [old_postinstall_cmds], [2])
1439-_LT_DECL([], [old_postuninstall_cmds], [2])
1440-_LT_TAGDECL([], [old_archive_cmds], [2],
1441- [Commands used to build an old-style archive])
1442-])# _LT_CMD_OLD_ARCHIVE
1443-
1444-
1445-# _LT_COMPILER_OPTION(MESSAGE, VARIABLE-NAME, FLAGS,
1446-# [OUTPUT-FILE], [ACTION-SUCCESS], [ACTION-FAILURE])
1447-# ----------------------------------------------------------------
1448-# Check whether the given compiler option works
1449-AC_DEFUN([_LT_COMPILER_OPTION],
1450-[m4_require([_LT_FILEUTILS_DEFAULTS])dnl
1451-m4_require([_LT_DECL_SED])dnl
1452-AC_CACHE_CHECK([$1], [$2],
1453- [$2=no
1454- m4_if([$4], , [ac_outfile=conftest.$ac_objext], [ac_outfile=$4])
1455- echo "$lt_simple_compile_test_code" > conftest.$ac_ext
1456- lt_compiler_flag="$3"
1457- # Insert the option either (1) after the last *FLAGS variable, or
1458- # (2) before a word containing "conftest.", or (3) at the end.
1459- # Note that $ac_compile itself does not contain backslashes and begins
1460- # with a dollar sign (not a hyphen), so the echo should work correctly.
1461- # The option is referenced via a variable to avoid confusing sed.
1462- lt_compile=`echo "$ac_compile" | $SED \
1463- -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
1464- -e 's: [[^ ]]*conftest\.: $lt_compiler_flag&:; t' \
1465- -e 's:$: $lt_compiler_flag:'`
1466- (eval echo "\"\$as_me:__oline__: $lt_compile\"" >&AS_MESSAGE_LOG_FD)
1467- (eval "$lt_compile" 2>conftest.err)
1468- ac_status=$?
1469- cat conftest.err >&AS_MESSAGE_LOG_FD
1470- echo "$as_me:__oline__: \$? = $ac_status" >&AS_MESSAGE_LOG_FD
1471- if (exit $ac_status) && test -s "$ac_outfile"; then
1472- # The compiler can only warn and ignore the option if not recognized
1473- # So say no if there are warnings other than the usual output.
1474- $ECHO "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp
1475- $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
1476- if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then
1477- $2=yes
1478- fi
1479- fi
1480- $RM conftest*
1481-])
1482-
1483-if test x"[$]$2" = xyes; then
1484- m4_if([$5], , :, [$5])
1485-else
1486- m4_if([$6], , :, [$6])
1487-fi
1488-])# _LT_COMPILER_OPTION
1489-
1490-# Old name:
1491-AU_ALIAS([AC_LIBTOOL_COMPILER_OPTION], [_LT_COMPILER_OPTION])
1492-dnl aclocal-1.4 backwards compatibility:
1493-dnl AC_DEFUN([AC_LIBTOOL_COMPILER_OPTION], [])
1494-
1495-
1496-# _LT_LINKER_OPTION(MESSAGE, VARIABLE-NAME, FLAGS,
1497-# [ACTION-SUCCESS], [ACTION-FAILURE])
1498-# ----------------------------------------------------
1499-# Check whether the given linker option works
1500-AC_DEFUN([_LT_LINKER_OPTION],
1501-[m4_require([_LT_FILEUTILS_DEFAULTS])dnl
1502-m4_require([_LT_DECL_SED])dnl
1503-AC_CACHE_CHECK([$1], [$2],
1504- [$2=no
1505- save_LDFLAGS="$LDFLAGS"
1506- LDFLAGS="$LDFLAGS $3"
1507- echo "$lt_simple_link_test_code" > conftest.$ac_ext
1508- if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then
1509- # The linker can only warn and ignore the option if not recognized
1510- # So say no if there are warnings
1511- if test -s conftest.err; then
1512- # Append any errors to the config.log.
1513- cat conftest.err 1>&AS_MESSAGE_LOG_FD
1514- $ECHO "X$_lt_linker_boilerplate" | $Xsed -e '/^$/d' > conftest.exp
1515- $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
1516- if diff conftest.exp conftest.er2 >/dev/null; then
1517- $2=yes
1518- fi
1519- else
1520- $2=yes
1521- fi
1522- fi
1523- $RM -r conftest*
1524- LDFLAGS="$save_LDFLAGS"
1525-])
1526-
1527-if test x"[$]$2" = xyes; then
1528- m4_if([$4], , :, [$4])
1529-else
1530- m4_if([$5], , :, [$5])
1531-fi
1532-])# _LT_LINKER_OPTION
1533-
1534-# Old name:
1535-AU_ALIAS([AC_LIBTOOL_LINKER_OPTION], [_LT_LINKER_OPTION])
1536-dnl aclocal-1.4 backwards compatibility:
1537-dnl AC_DEFUN([AC_LIBTOOL_LINKER_OPTION], [])
1538-
1539-
1540-# LT_CMD_MAX_LEN
1541-#---------------
1542-AC_DEFUN([LT_CMD_MAX_LEN],
1543-[AC_REQUIRE([AC_CANONICAL_HOST])dnl
1544-# find the maximum length of command line arguments
1545-AC_MSG_CHECKING([the maximum length of command line arguments])
1546-AC_CACHE_VAL([lt_cv_sys_max_cmd_len], [dnl
1547- i=0
1548- teststring="ABCD"
1549-
1550- case $build_os in
1551- msdosdjgpp*)
1552- # On DJGPP, this test can blow up pretty badly due to problems in libc
1553- # (any single argument exceeding 2000 bytes causes a buffer overrun
1554- # during glob expansion). Even if it were fixed, the result of this
1555- # check would be larger than it should be.
1556- lt_cv_sys_max_cmd_len=12288; # 12K is about right
1557- ;;
1558-
1559- gnu*)
1560- # Under GNU Hurd, this test is not required because there is
1561- # no limit to the length of command line arguments.
1562- # Libtool will interpret -1 as no limit whatsoever
1563- lt_cv_sys_max_cmd_len=-1;
1564- ;;
1565-
1566- cygwin* | mingw* | cegcc*)
1567- # On Win9x/ME, this test blows up -- it succeeds, but takes
1568- # about 5 minutes as the teststring grows exponentially.
1569- # Worse, since 9x/ME are not pre-emptively multitasking,
1570- # you end up with a "frozen" computer, even though with patience
1571- # the test eventually succeeds (with a max line length of 256k).
1572- # Instead, let's just punt: use the minimum linelength reported by
1573- # all of the supported platforms: 8192 (on NT/2K/XP).
1574- lt_cv_sys_max_cmd_len=8192;
1575- ;;
1576-
1577- amigaos*)
1578- # On AmigaOS with pdksh, this test takes hours, literally.
1579- # So we just punt and use a minimum line length of 8192.
1580- lt_cv_sys_max_cmd_len=8192;
1581- ;;
1582-
1583- netbsd* | freebsd* | openbsd* | darwin* | dragonfly*)
1584- # This has been around since 386BSD, at least. Likely further.
1585- if test -x /sbin/sysctl; then
1586- lt_cv_sys_max_cmd_len=`/sbin/sysctl -n kern.argmax`
1587- elif test -x /usr/sbin/sysctl; then
1588- lt_cv_sys_max_cmd_len=`/usr/sbin/sysctl -n kern.argmax`
1589- else
1590- lt_cv_sys_max_cmd_len=65536 # usable default for all BSDs
1591- fi
1592- # And add a safety zone
1593- lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4`
1594- lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3`
1595- ;;
1596-
1597- interix*)
1598- # We know the value 262144 and hardcode it with a safety zone (like BSD)
1599- lt_cv_sys_max_cmd_len=196608
1600- ;;
1601-
1602- osf*)
1603- # Dr. Hans Ekkehard Plesser reports seeing a kernel panic running configure
1604- # due to this test when exec_disable_arg_limit is 1 on Tru64. It is not
1605- # nice to cause kernel panics so lets avoid the loop below.
1606- # First set a reasonable default.
1607- lt_cv_sys_max_cmd_len=16384
1608- #
1609- if test -x /sbin/sysconfig; then
1610- case `/sbin/sysconfig -q proc exec_disable_arg_limit` in
1611- *1*) lt_cv_sys_max_cmd_len=-1 ;;
1612- esac
1613- fi
1614- ;;
1615- sco3.2v5*)
1616- lt_cv_sys_max_cmd_len=102400
1617- ;;
1618- sysv5* | sco5v6* | sysv4.2uw2*)
1619- kargmax=`grep ARG_MAX /etc/conf/cf.d/stune 2>/dev/null`
1620- if test -n "$kargmax"; then
1621- lt_cv_sys_max_cmd_len=`echo $kargmax | sed 's/.*[[ ]]//'`
1622- else
1623- lt_cv_sys_max_cmd_len=32768
1624- fi
1625- ;;
1626- *)
1627- lt_cv_sys_max_cmd_len=`(getconf ARG_MAX) 2> /dev/null`
1628- if test -n "$lt_cv_sys_max_cmd_len"; then
1629- lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4`
1630- lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3`
1631- else
1632- # Make teststring a little bigger before we do anything with it.
1633- # a 1K string should be a reasonable start.
1634- for i in 1 2 3 4 5 6 7 8 ; do
1635- teststring=$teststring$teststring
1636- done
1637- SHELL=${SHELL-${CONFIG_SHELL-/bin/sh}}
1638- # If test is not a shell built-in, we'll probably end up computing a
1639- # maximum length that is only half of the actual maximum length, but
1640- # we can't tell.
1641- while { test "X"`$SHELL [$]0 --fallback-echo "X$teststring$teststring" 2>/dev/null` \
1642- = "XX$teststring$teststring"; } >/dev/null 2>&1 &&
1643- test $i != 17 # 1/2 MB should be enough
1644- do
1645- i=`expr $i + 1`
1646- teststring=$teststring$teststring
1647- done
1648- # Only check the string length outside the loop.
1649- lt_cv_sys_max_cmd_len=`expr "X$teststring" : ".*" 2>&1`
1650- teststring=
1651- # Add a significant safety factor because C++ compilers can tack on
1652- # massive amounts of additional arguments before passing them to the
1653- # linker. It appears as though 1/2 is a usable value.
1654- lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 2`
1655- fi
1656- ;;
1657- esac
1658-])
1659-if test -n $lt_cv_sys_max_cmd_len ; then
1660- AC_MSG_RESULT($lt_cv_sys_max_cmd_len)
1661-else
1662- AC_MSG_RESULT(none)
1663-fi
1664-max_cmd_len=$lt_cv_sys_max_cmd_len
1665-_LT_DECL([], [max_cmd_len], [0],
1666- [What is the maximum length of a command?])
1667-])# LT_CMD_MAX_LEN
1668-
1669-# Old name:
1670-AU_ALIAS([AC_LIBTOOL_SYS_MAX_CMD_LEN], [LT_CMD_MAX_LEN])
1671-dnl aclocal-1.4 backwards compatibility:
1672-dnl AC_DEFUN([AC_LIBTOOL_SYS_MAX_CMD_LEN], [])
1673-
1674-
1675-# _LT_HEADER_DLFCN
1676-# ----------------
1677-m4_defun([_LT_HEADER_DLFCN],
1678-[AC_CHECK_HEADERS([dlfcn.h], [], [], [AC_INCLUDES_DEFAULT])dnl
1679-])# _LT_HEADER_DLFCN
1680-
1681-
1682-# _LT_TRY_DLOPEN_SELF (ACTION-IF-TRUE, ACTION-IF-TRUE-W-USCORE,
1683-# ACTION-IF-FALSE, ACTION-IF-CROSS-COMPILING)
1684-# ----------------------------------------------------------------
1685-m4_defun([_LT_TRY_DLOPEN_SELF],
1686-[m4_require([_LT_HEADER_DLFCN])dnl
1687-if test "$cross_compiling" = yes; then :
1688- [$4]
1689-else
1690- lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
1691- lt_status=$lt_dlunknown
1692- cat > conftest.$ac_ext <<_LT_EOF
1693-[#line __oline__ "configure"
1694-#include "confdefs.h"
1695-
1696-#if HAVE_DLFCN_H
1697-#include <dlfcn.h>
1698-#endif
1699-
1700-#include <stdio.h>
1701-
1702-#ifdef RTLD_GLOBAL
1703-# define LT_DLGLOBAL RTLD_GLOBAL
1704-#else
1705-# ifdef DL_GLOBAL
1706-# define LT_DLGLOBAL DL_GLOBAL
1707-# else
1708-# define LT_DLGLOBAL 0
1709-# endif
1710-#endif
1711-
1712-/* We may have to define LT_DLLAZY_OR_NOW in the command line if we
1713- find out it does not work in some platform. */
1714-#ifndef LT_DLLAZY_OR_NOW
1715-# ifdef RTLD_LAZY
1716-# define LT_DLLAZY_OR_NOW RTLD_LAZY
1717-# else
1718-# ifdef DL_LAZY
1719-# define LT_DLLAZY_OR_NOW DL_LAZY
1720-# else
1721-# ifdef RTLD_NOW
1722-# define LT_DLLAZY_OR_NOW RTLD_NOW
1723-# else
1724-# ifdef DL_NOW
1725-# define LT_DLLAZY_OR_NOW DL_NOW
1726-# else
1727-# define LT_DLLAZY_OR_NOW 0
1728-# endif
1729-# endif
1730-# endif
1731-# endif
1732-#endif
1733-
1734-void fnord() { int i=42;}
1735-int main ()
1736-{
1737- void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW);
1738- int status = $lt_dlunknown;
1739-
1740- if (self)
1741- {
1742- if (dlsym (self,"fnord")) status = $lt_dlno_uscore;
1743- else if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore;
1744- /* dlclose (self); */
1745- }
1746- else
1747- puts (dlerror ());
1748-
1749- return status;
1750-}]
1751-_LT_EOF
1752- if AC_TRY_EVAL(ac_link) && test -s conftest${ac_exeext} 2>/dev/null; then
1753- (./conftest; exit; ) >&AS_MESSAGE_LOG_FD 2>/dev/null
1754- lt_status=$?
1755- case x$lt_status in
1756- x$lt_dlno_uscore) $1 ;;
1757- x$lt_dlneed_uscore) $2 ;;
1758- x$lt_dlunknown|x*) $3 ;;
1759- esac
1760- else :
1761- # compilation failed
1762- $3
1763- fi
1764-fi
1765-rm -fr conftest*
1766-])# _LT_TRY_DLOPEN_SELF
1767-
1768-
1769-# LT_SYS_DLOPEN_SELF
1770-# ------------------
1771-AC_DEFUN([LT_SYS_DLOPEN_SELF],
1772-[m4_require([_LT_HEADER_DLFCN])dnl
1773-if test "x$enable_dlopen" != xyes; then
1774- enable_dlopen=unknown
1775- enable_dlopen_self=unknown
1776- enable_dlopen_self_static=unknown
1777-else
1778- lt_cv_dlopen=no
1779- lt_cv_dlopen_libs=
1780-
1781- case $host_os in
1782- beos*)
1783- lt_cv_dlopen="load_add_on"
1784- lt_cv_dlopen_libs=
1785- lt_cv_dlopen_self=yes
1786- ;;
1787-
1788- mingw* | pw32* | cegcc*)
1789- lt_cv_dlopen="LoadLibrary"
1790- lt_cv_dlopen_libs=
1791- ;;
1792-
1793- cygwin*)
1794- lt_cv_dlopen="dlopen"
1795- lt_cv_dlopen_libs=
1796- ;;
1797-
1798- darwin*)
1799- # if libdl is installed we need to link against it
1800- AC_CHECK_LIB([dl], [dlopen],
1801- [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"],[
1802- lt_cv_dlopen="dyld"
1803- lt_cv_dlopen_libs=
1804- lt_cv_dlopen_self=yes
1805- ])
1806- ;;
1807-
1808- *)
1809- AC_CHECK_FUNC([shl_load],
1810- [lt_cv_dlopen="shl_load"],
1811- [AC_CHECK_LIB([dld], [shl_load],
1812- [lt_cv_dlopen="shl_load" lt_cv_dlopen_libs="-ldld"],
1813- [AC_CHECK_FUNC([dlopen],
1814- [lt_cv_dlopen="dlopen"],
1815- [AC_CHECK_LIB([dl], [dlopen],
1816- [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"],
1817- [AC_CHECK_LIB([svld], [dlopen],
1818- [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-lsvld"],
1819- [AC_CHECK_LIB([dld], [dld_link],
1820- [lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-ldld"])
1821- ])
1822- ])
1823- ])
1824- ])
1825- ])
1826- ;;
1827- esac
1828-
1829- if test "x$lt_cv_dlopen" != xno; then
1830- enable_dlopen=yes
1831- else
1832- enable_dlopen=no
1833- fi
1834-
1835- case $lt_cv_dlopen in
1836- dlopen)
1837- save_CPPFLAGS="$CPPFLAGS"
1838- test "x$ac_cv_header_dlfcn_h" = xyes && CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H"
1839-
1840- save_LDFLAGS="$LDFLAGS"
1841- wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\"
1842-
1843- save_LIBS="$LIBS"
1844- LIBS="$lt_cv_dlopen_libs $LIBS"
1845-
1846- AC_CACHE_CHECK([whether a program can dlopen itself],
1847- lt_cv_dlopen_self, [dnl
1848- _LT_TRY_DLOPEN_SELF(
1849- lt_cv_dlopen_self=yes, lt_cv_dlopen_self=yes,
1850- lt_cv_dlopen_self=no, lt_cv_dlopen_self=cross)
1851- ])
1852-
1853- if test "x$lt_cv_dlopen_self" = xyes; then
1854- wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $lt_prog_compiler_static\"
1855- AC_CACHE_CHECK([whether a statically linked program can dlopen itself],
1856- lt_cv_dlopen_self_static, [dnl
1857- _LT_TRY_DLOPEN_SELF(
1858- lt_cv_dlopen_self_static=yes, lt_cv_dlopen_self_static=yes,
1859- lt_cv_dlopen_self_static=no, lt_cv_dlopen_self_static=cross)
1860- ])
1861- fi
1862-
1863- CPPFLAGS="$save_CPPFLAGS"
1864- LDFLAGS="$save_LDFLAGS"
1865- LIBS="$save_LIBS"
1866- ;;
1867- esac
1868-
1869- case $lt_cv_dlopen_self in
1870- yes|no) enable_dlopen_self=$lt_cv_dlopen_self ;;
1871- *) enable_dlopen_self=unknown ;;
1872- esac
1873-
1874- case $lt_cv_dlopen_self_static in
1875- yes|no) enable_dlopen_self_static=$lt_cv_dlopen_self_static ;;
1876- *) enable_dlopen_self_static=unknown ;;
1877- esac
1878-fi
1879-_LT_DECL([dlopen_support], [enable_dlopen], [0],
1880- [Whether dlopen is supported])
1881-_LT_DECL([dlopen_self], [enable_dlopen_self], [0],
1882- [Whether dlopen of programs is supported])
1883-_LT_DECL([dlopen_self_static], [enable_dlopen_self_static], [0],
1884- [Whether dlopen of statically linked programs is supported])
1885-])# LT_SYS_DLOPEN_SELF
1886-
1887-# Old name:
1888-AU_ALIAS([AC_LIBTOOL_DLOPEN_SELF], [LT_SYS_DLOPEN_SELF])
1889-dnl aclocal-1.4 backwards compatibility:
1890-dnl AC_DEFUN([AC_LIBTOOL_DLOPEN_SELF], [])
1891-
1892-
1893-# _LT_COMPILER_C_O([TAGNAME])
1894-# ---------------------------
1895-# Check to see if options -c and -o are simultaneously supported by compiler.
1896-# This macro does not hard code the compiler like AC_PROG_CC_C_O.
1897-m4_defun([_LT_COMPILER_C_O],
1898-[m4_require([_LT_DECL_SED])dnl
1899-m4_require([_LT_FILEUTILS_DEFAULTS])dnl
1900-m4_require([_LT_TAG_COMPILER])dnl
1901-AC_CACHE_CHECK([if $compiler supports -c -o file.$ac_objext],
1902- [_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)],
1903- [_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)=no
1904- $RM -r conftest 2>/dev/null
1905- mkdir conftest
1906- cd conftest
1907- mkdir out
1908- echo "$lt_simple_compile_test_code" > conftest.$ac_ext
1909-
1910- lt_compiler_flag="-o out/conftest2.$ac_objext"
1911- # Insert the option either (1) after the last *FLAGS variable, or
1912- # (2) before a word containing "conftest.", or (3) at the end.
1913- # Note that $ac_compile itself does not contain backslashes and begins
1914- # with a dollar sign (not a hyphen), so the echo should work correctly.
1915- lt_compile=`echo "$ac_compile" | $SED \
1916- -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
1917- -e 's: [[^ ]]*conftest\.: $lt_compiler_flag&:; t' \
1918- -e 's:$: $lt_compiler_flag:'`
1919- (eval echo "\"\$as_me:__oline__: $lt_compile\"" >&AS_MESSAGE_LOG_FD)
1920- (eval "$lt_compile" 2>out/conftest.err)
1921- ac_status=$?
1922- cat out/conftest.err >&AS_MESSAGE_LOG_FD
1923- echo "$as_me:__oline__: \$? = $ac_status" >&AS_MESSAGE_LOG_FD
1924- if (exit $ac_status) && test -s out/conftest2.$ac_objext
1925- then
1926- # The compiler can only warn and ignore the option if not recognized
1927- # So say no if there are warnings
1928- $ECHO "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' > out/conftest.exp
1929- $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2
1930- if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then
1931- _LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)=yes
1932- fi
1933- fi
1934- chmod u+w . 2>&AS_MESSAGE_LOG_FD
1935- $RM conftest*
1936- # SGI C++ compiler will create directory out/ii_files/ for
1937- # template instantiation
1938- test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files
1939- $RM out/* && rmdir out
1940- cd ..
1941- $RM -r conftest
1942- $RM conftest*
1943-])
1944-_LT_TAGDECL([compiler_c_o], [lt_cv_prog_compiler_c_o], [1],
1945- [Does compiler simultaneously support -c and -o options?])
1946-])# _LT_COMPILER_C_O
1947-
1948-
1949-# _LT_COMPILER_FILE_LOCKS([TAGNAME])
1950-# ----------------------------------
1951-# Check to see if we can do hard links to lock some files if needed
1952-m4_defun([_LT_COMPILER_FILE_LOCKS],
1953-[m4_require([_LT_ENABLE_LOCK])dnl
1954-m4_require([_LT_FILEUTILS_DEFAULTS])dnl
1955-_LT_COMPILER_C_O([$1])
1956-
1957-hard_links="nottested"
1958-if test "$_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)" = no && test "$need_locks" != no; then
1959- # do not overwrite the value of need_locks provided by the user
1960- AC_MSG_CHECKING([if we can lock with hard links])
1961- hard_links=yes
1962- $RM conftest*
1963- ln conftest.a conftest.b 2>/dev/null && hard_links=no
1964- touch conftest.a
1965- ln conftest.a conftest.b 2>&5 || hard_links=no
1966- ln conftest.a conftest.b 2>/dev/null && hard_links=no
1967- AC_MSG_RESULT([$hard_links])
1968- if test "$hard_links" = no; then
1969- AC_MSG_WARN([`$CC' does not support `-c -o', so `make -j' may be unsafe])
1970- need_locks=warn
1971- fi
1972-else
1973- need_locks=no
1974-fi
1975-_LT_DECL([], [need_locks], [1], [Must we lock files when doing compilation?])
1976-])# _LT_COMPILER_FILE_LOCKS
1977-
1978-
1979-# _LT_CHECK_OBJDIR
1980-# ----------------
1981-m4_defun([_LT_CHECK_OBJDIR],
1982-[AC_CACHE_CHECK([for objdir], [lt_cv_objdir],
1983-[rm -f .libs 2>/dev/null
1984-mkdir .libs 2>/dev/null
1985-if test -d .libs; then
1986- lt_cv_objdir=.libs
1987-else
1988- # MS-DOS does not allow filenames that begin with a dot.
1989- lt_cv_objdir=_libs
1990-fi
1991-rmdir .libs 2>/dev/null])
1992-objdir=$lt_cv_objdir
1993-_LT_DECL([], [objdir], [0],
1994- [The name of the directory that contains temporary libtool files])dnl
1995-m4_pattern_allow([LT_OBJDIR])dnl
1996-AC_DEFINE_UNQUOTED(LT_OBJDIR, "$lt_cv_objdir/",
1997- [Define to the sub-directory in which libtool stores uninstalled libraries.])
1998-])# _LT_CHECK_OBJDIR
1999-
2000-
2001-# _LT_LINKER_HARDCODE_LIBPATH([TAGNAME])
2002-# --------------------------------------
2003-# Check hardcoding attributes.
2004-m4_defun([_LT_LINKER_HARDCODE_LIBPATH],
2005-[AC_MSG_CHECKING([how to hardcode library paths into programs])
2006-_LT_TAGVAR(hardcode_action, $1)=
2007-if test -n "$_LT_TAGVAR(hardcode_libdir_flag_spec, $1)" ||
2008- test -n "$_LT_TAGVAR(runpath_var, $1)" ||
2009- test "X$_LT_TAGVAR(hardcode_automatic, $1)" = "Xyes" ; then
2010-
2011- # We can hardcode non-existent directories.
2012- if test "$_LT_TAGVAR(hardcode_direct, $1)" != no &&
2013- # If the only mechanism to avoid hardcoding is shlibpath_var, we
2014- # have to relink, otherwise we might link with an installed library
2015- # when we should be linking with a yet-to-be-installed one
2016- ## test "$_LT_TAGVAR(hardcode_shlibpath_var, $1)" != no &&
2017- test "$_LT_TAGVAR(hardcode_minus_L, $1)" != no; then
2018- # Linking always hardcodes the temporary library directory.
2019- _LT_TAGVAR(hardcode_action, $1)=relink
2020- else
2021- # We can link without hardcoding, and we can hardcode nonexisting dirs.
2022- _LT_TAGVAR(hardcode_action, $1)=immediate
2023- fi
2024-else
2025- # We cannot hardcode anything, or else we can only hardcode existing
2026- # directories.
2027- _LT_TAGVAR(hardcode_action, $1)=unsupported
2028-fi
2029-AC_MSG_RESULT([$_LT_TAGVAR(hardcode_action, $1)])
2030-
2031-if test "$_LT_TAGVAR(hardcode_action, $1)" = relink ||
2032- test "$_LT_TAGVAR(inherit_rpath, $1)" = yes; then
2033- # Fast installation is not supported
2034- enable_fast_install=no
2035-elif test "$shlibpath_overrides_runpath" = yes ||
2036- test "$enable_shared" = no; then
2037- # Fast installation is not necessary
2038- enable_fast_install=needless
2039-fi
2040-_LT_TAGDECL([], [hardcode_action], [0],
2041- [How to hardcode a shared library path into an executable])
2042-])# _LT_LINKER_HARDCODE_LIBPATH
2043-
2044-
2045-# _LT_CMD_STRIPLIB
2046-# ----------------
2047-m4_defun([_LT_CMD_STRIPLIB],
2048-[m4_require([_LT_DECL_EGREP])
2049-striplib=
2050-old_striplib=
2051-AC_MSG_CHECKING([whether stripping libraries is possible])
2052-if test -n "$STRIP" && $STRIP -V 2>&1 | $GREP "GNU strip" >/dev/null; then
2053- test -z "$old_striplib" && old_striplib="$STRIP --strip-debug"
2054- test -z "$striplib" && striplib="$STRIP --strip-unneeded"
2055- AC_MSG_RESULT([yes])
2056-else
2057-# FIXME - insert some real tests, host_os isn't really good enough
2058- case $host_os in
2059- darwin*)
2060- if test -n "$STRIP" ; then
2061- striplib="$STRIP -x"
2062- old_striplib="$STRIP -S"
2063- AC_MSG_RESULT([yes])
2064- else
2065- AC_MSG_RESULT([no])
2066- fi
2067- ;;
2068- *)
2069- AC_MSG_RESULT([no])
2070- ;;
2071- esac
2072-fi
2073-_LT_DECL([], [old_striplib], [1], [Commands to strip libraries])
2074-_LT_DECL([], [striplib], [1])
2075-])# _LT_CMD_STRIPLIB
2076-
2077-
2078-# _LT_SYS_DYNAMIC_LINKER([TAG])
2079-# -----------------------------
2080-# PORTME Fill in your ld.so characteristics
2081-m4_defun([_LT_SYS_DYNAMIC_LINKER],
2082-[AC_REQUIRE([AC_CANONICAL_HOST])dnl
2083-m4_require([_LT_DECL_EGREP])dnl
2084-m4_require([_LT_FILEUTILS_DEFAULTS])dnl
2085-m4_require([_LT_DECL_OBJDUMP])dnl
2086-m4_require([_LT_DECL_SED])dnl
2087-AC_MSG_CHECKING([dynamic linker characteristics])
2088-m4_if([$1],
2089- [], [
2090-if test "$GCC" = yes; then
2091- case $host_os in
2092- darwin*) lt_awk_arg="/^libraries:/,/LR/" ;;
2093- *) lt_awk_arg="/^libraries:/" ;;
2094- esac
2095- lt_search_path_spec=`$CC -print-search-dirs | awk $lt_awk_arg | $SED -e "s/^libraries://" -e "s,=/,/,g"`
2096- if $ECHO "$lt_search_path_spec" | $GREP ';' >/dev/null ; then
2097- # if the path contains ";" then we assume it to be the separator
2098- # otherwise default to the standard path separator (i.e. ":") - it is
2099- # assumed that no part of a normal pathname contains ";" but that should
2100- # okay in the real world where ";" in dirpaths is itself problematic.
2101- lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED -e 's/;/ /g'`
2102- else
2103- lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"`
2104- fi
2105- # Ok, now we have the path, separated by spaces, we can step through it
2106- # and add multilib dir if necessary.
2107- lt_tmp_lt_search_path_spec=
2108- lt_multi_os_dir=`$CC $CPPFLAGS $CFLAGS $LDFLAGS -print-multi-os-directory 2>/dev/null`
2109- for lt_sys_path in $lt_search_path_spec; do
2110- if test -d "$lt_sys_path/$lt_multi_os_dir"; then
2111- lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path/$lt_multi_os_dir"
2112- else
2113- test -d "$lt_sys_path" && \
2114- lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path"
2115- fi
2116- done
2117- lt_search_path_spec=`$ECHO $lt_tmp_lt_search_path_spec | awk '
2118-BEGIN {RS=" "; FS="/|\n";} {
2119- lt_foo="";
2120- lt_count=0;
2121- for (lt_i = NF; lt_i > 0; lt_i--) {
2122- if ($lt_i != "" && $lt_i != ".") {
2123- if ($lt_i == "..") {
2124- lt_count++;
2125- } else {
2126- if (lt_count == 0) {
2127- lt_foo="/" $lt_i lt_foo;
2128- } else {
2129- lt_count--;
2130- }
2131- }
2132- }
2133- }
2134- if (lt_foo != "") { lt_freq[[lt_foo]]++; }
2135- if (lt_freq[[lt_foo]] == 1) { print lt_foo; }
2136-}'`
2137- sys_lib_search_path_spec=`$ECHO $lt_search_path_spec`
2138-else
2139- sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib"
2140-fi])
2141-library_names_spec=
2142-libname_spec='lib$name'
2143-soname_spec=
2144-shrext_cmds=".so"
2145-postinstall_cmds=
2146-postuninstall_cmds=
2147-finish_cmds=
2148-finish_eval=
2149-shlibpath_var=
2150-shlibpath_overrides_runpath=unknown
2151-version_type=none
2152-dynamic_linker="$host_os ld.so"
2153-sys_lib_dlsearch_path_spec="/lib /usr/lib"
2154-need_lib_prefix=unknown
2155-hardcode_into_libs=no
2156-
2157-# when you set need_version to no, make sure it does not cause -set_version
2158-# flags to be left without arguments
2159-need_version=unknown
2160-
2161-case $host_os in
2162-aix3*)
2163- version_type=linux
2164- library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a'
2165- shlibpath_var=LIBPATH
2166-
2167- # AIX 3 has no versioning support, so we append a major version to the name.
2168- soname_spec='${libname}${release}${shared_ext}$major'
2169- ;;
2170-
2171-aix[[4-9]]*)
2172- version_type=linux
2173- need_lib_prefix=no
2174- need_version=no
2175- hardcode_into_libs=yes
2176- if test "$host_cpu" = ia64; then
2177- # AIX 5 supports IA64
2178- library_names_spec='${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext}$versuffix $libname${shared_ext}'
2179- shlibpath_var=LD_LIBRARY_PATH
2180- else
2181- # With GCC up to 2.95.x, collect2 would create an import file
2182- # for dependence libraries. The import file would start with
2183- # the line `#! .'. This would cause the generated library to
2184- # depend on `.', always an invalid library. This was fixed in
2185- # development snapshots of GCC prior to 3.0.
2186- case $host_os in
2187- aix4 | aix4.[[01]] | aix4.[[01]].*)
2188- if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)'
2189- echo ' yes '
2190- echo '#endif'; } | ${CC} -E - | $GREP yes > /dev/null; then
2191- :
2192- else
2193- can_build_shared=no
2194- fi
2195- ;;
2196- esac
2197- # AIX (on Power*) has no versioning support, so currently we can not hardcode correct
2198- # soname into executable. Probably we can add versioning support to
2199- # collect2, so additional links can be useful in future.
2200- if test "$aix_use_runtimelinking" = yes; then
2201- # If using run time linking (on AIX 4.2 or later) use lib<name>.so
2202- # instead of lib<name>.a to let people know that these are not
2203- # typical AIX shared libraries.
2204- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
2205- else
2206- # We preserve .a as extension for shared libraries through AIX4.2
2207- # and later when we are not doing run time linking.
2208- library_names_spec='${libname}${release}.a $libname.a'
2209- soname_spec='${libname}${release}${shared_ext}$major'
2210- fi
2211- shlibpath_var=LIBPATH
2212- fi
2213- ;;
2214-
2215-amigaos*)
2216- case $host_cpu in
2217- powerpc)
2218- # Since July 2007 AmigaOS4 officially supports .so libraries.
2219- # When compiling the executable, add -use-dynld -Lsobjs: to the compileline.
2220- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
2221- ;;
2222- m68k)
2223- library_names_spec='$libname.ixlibrary $libname.a'
2224- # Create ${libname}_ixlibrary.a entries in /sys/libs.
2225- finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`$ECHO "X$lib" | $Xsed -e '\''s%^.*/\([[^/]]*\)\.ixlibrary$%\1%'\''`; test $RM /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done'
2226- ;;
2227- esac
2228- ;;
2229-
2230-beos*)
2231- library_names_spec='${libname}${shared_ext}'
2232- dynamic_linker="$host_os ld.so"
2233- shlibpath_var=LIBRARY_PATH
2234- ;;
2235-
2236-bsdi[[45]]*)
2237- version_type=linux
2238- need_version=no
2239- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
2240- soname_spec='${libname}${release}${shared_ext}$major'
2241- finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir'
2242- shlibpath_var=LD_LIBRARY_PATH
2243- sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib"
2244- sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib"
2245- # the default ld.so.conf also contains /usr/contrib/lib and
2246- # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow
2247- # libtool to hard-code these into programs
2248- ;;
2249-
2250-cygwin* | mingw* | pw32* | cegcc*)
2251- version_type=windows
2252- shrext_cmds=".dll"
2253- need_version=no
2254- need_lib_prefix=no
2255-
2256- case $GCC,$host_os in
2257- yes,cygwin* | yes,mingw* | yes,pw32* | yes,cegcc*)
2258- library_names_spec='$libname.dll.a'
2259- # DLL is installed to $(libdir)/../bin by postinstall_cmds
2260- postinstall_cmds='base_file=`basename \${file}`~
2261- dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i; echo \$dlname'\''`~
2262- dldir=$destdir/`dirname \$dlpath`~
2263- test -d \$dldir || mkdir -p \$dldir~
2264- $install_prog $dir/$dlname \$dldir/$dlname~
2265- chmod a+x \$dldir/$dlname~
2266- if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then
2267- eval '\''$striplib \$dldir/$dlname'\'' || exit \$?;
2268- fi'
2269- postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~
2270- dlpath=$dir/\$dldll~
2271- $RM \$dlpath'
2272- shlibpath_overrides_runpath=yes
2273-
2274- case $host_os in
2275- cygwin*)
2276- # Cygwin DLLs use 'cyg' prefix rather than 'lib'
2277- soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}'
2278- sys_lib_search_path_spec="/usr/lib /lib/w32api /lib /usr/local/lib"
2279- ;;
2280- mingw* | cegcc*)
2281- # MinGW DLLs use traditional 'lib' prefix
2282- soname_spec='${libname}`echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}'
2283- sys_lib_search_path_spec=`$CC -print-search-dirs | $GREP "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"`
2284- if $ECHO "$sys_lib_search_path_spec" | [$GREP ';[c-zC-Z]:/' >/dev/null]; then
2285- # It is most probably a Windows format PATH printed by
2286- # mingw gcc, but we are running on Cygwin. Gcc prints its search
2287- # path with ; separators, and with drive letters. We can handle the
2288- # drive letters (cygwin fileutils understands them), so leave them,
2289- # especially as we might pass files found there to a mingw objdump,
2290- # which wouldn't understand a cygwinified path. Ahh.
2291- sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'`
2292- else
2293- sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"`
2294- fi
2295- ;;
2296- pw32*)
2297- # pw32 DLLs use 'pw' prefix rather than 'lib'
2298- library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}'
2299- ;;
2300- esac
2301- ;;
2302-
2303- *)
2304- library_names_spec='${libname}`echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext} $libname.lib'
2305- ;;
2306- esac
2307- dynamic_linker='Win32 ld.exe'
2308- # FIXME: first we should search . and the directory the executable is in
2309- shlibpath_var=PATH
2310- ;;
2311-
2312-darwin* | rhapsody*)
2313- dynamic_linker="$host_os dyld"
2314- version_type=darwin
2315- need_lib_prefix=no
2316- need_version=no
2317- library_names_spec='${libname}${release}${major}$shared_ext ${libname}$shared_ext'
2318- soname_spec='${libname}${release}${major}$shared_ext'
2319- shlibpath_overrides_runpath=yes
2320- shlibpath_var=DYLD_LIBRARY_PATH
2321- shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`'
2322-m4_if([$1], [],[
2323- sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/local/lib"])
2324- sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib'
2325- ;;
2326-
2327-dgux*)
2328- version_type=linux
2329- need_lib_prefix=no
2330- need_version=no
2331- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext'
2332- soname_spec='${libname}${release}${shared_ext}$major'
2333- shlibpath_var=LD_LIBRARY_PATH
2334- ;;
2335-
2336-freebsd1*)
2337- dynamic_linker=no
2338- ;;
2339-
2340-freebsd* | dragonfly*)
2341- # DragonFly does not have aout. When/if they implement a new
2342- # versioning mechanism, adjust this.
2343- if test -x /usr/bin/objformat; then
2344- objformat=`/usr/bin/objformat`
2345- else
2346- case $host_os in
2347- freebsd[[123]]*) objformat=aout ;;
2348- *) objformat=elf ;;
2349- esac
2350- fi
2351- version_type=freebsd-$objformat
2352- case $version_type in
2353- freebsd-elf*)
2354- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}'
2355- need_version=no
2356- need_lib_prefix=no
2357- ;;
2358- freebsd-*)
2359- library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix'
2360- need_version=yes
2361- ;;
2362- esac
2363- shlibpath_var=LD_LIBRARY_PATH
2364- case $host_os in
2365- freebsd2*)
2366- shlibpath_overrides_runpath=yes
2367- ;;
2368- freebsd3.[[01]]* | freebsdelf3.[[01]]*)
2369- shlibpath_overrides_runpath=yes
2370- hardcode_into_libs=yes
2371- ;;
2372- freebsd3.[[2-9]]* | freebsdelf3.[[2-9]]* | \
2373- freebsd4.[[0-5]] | freebsdelf4.[[0-5]] | freebsd4.1.1 | freebsdelf4.1.1)
2374- shlibpath_overrides_runpath=no
2375- hardcode_into_libs=yes
2376- ;;
2377- *) # from 4.6 on, and DragonFly
2378- shlibpath_overrides_runpath=yes
2379- hardcode_into_libs=yes
2380- ;;
2381- esac
2382- ;;
2383-
2384-gnu*)
2385- version_type=linux
2386- need_lib_prefix=no
2387- need_version=no
2388- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}'
2389- soname_spec='${libname}${release}${shared_ext}$major'
2390- shlibpath_var=LD_LIBRARY_PATH
2391- hardcode_into_libs=yes
2392- ;;
2393-
2394-hpux9* | hpux10* | hpux11*)
2395- # Give a soname corresponding to the major version so that dld.sl refuses to
2396- # link against other versions.
2397- version_type=sunos
2398- need_lib_prefix=no
2399- need_version=no
2400- case $host_cpu in
2401- ia64*)
2402- shrext_cmds='.so'
2403- hardcode_into_libs=yes
2404- dynamic_linker="$host_os dld.so"
2405- shlibpath_var=LD_LIBRARY_PATH
2406- shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
2407- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
2408- soname_spec='${libname}${release}${shared_ext}$major'
2409- if test "X$HPUX_IA64_MODE" = X32; then
2410- sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib"
2411- else
2412- sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64"
2413- fi
2414- sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
2415- ;;
2416- hppa*64*)
2417- shrext_cmds='.sl'
2418- hardcode_into_libs=yes
2419- dynamic_linker="$host_os dld.sl"
2420- shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH
2421- shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
2422- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
2423- soname_spec='${libname}${release}${shared_ext}$major'
2424- sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64"
2425- sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
2426- ;;
2427- *)
2428- shrext_cmds='.sl'
2429- dynamic_linker="$host_os dld.sl"
2430- shlibpath_var=SHLIB_PATH
2431- shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH
2432- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
2433- soname_spec='${libname}${release}${shared_ext}$major'
2434- ;;
2435- esac
2436- # HP-UX runs *really* slowly unless shared libraries are mode 555.
2437- postinstall_cmds='chmod 555 $lib'
2438- ;;
2439-
2440-interix[[3-9]]*)
2441- version_type=linux
2442- need_lib_prefix=no
2443- need_version=no
2444- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
2445- soname_spec='${libname}${release}${shared_ext}$major'
2446- dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)'
2447- shlibpath_var=LD_LIBRARY_PATH
2448- shlibpath_overrides_runpath=no
2449- hardcode_into_libs=yes
2450- ;;
2451-
2452-irix5* | irix6* | nonstopux*)
2453- case $host_os in
2454- nonstopux*) version_type=nonstopux ;;
2455- *)
2456- if test "$lt_cv_prog_gnu_ld" = yes; then
2457- version_type=linux
2458- else
2459- version_type=irix
2460- fi ;;
2461- esac
2462- need_lib_prefix=no
2463- need_version=no
2464- soname_spec='${libname}${release}${shared_ext}$major'
2465- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} $libname${shared_ext}'
2466- case $host_os in
2467- irix5* | nonstopux*)
2468- libsuff= shlibsuff=
2469- ;;
2470- *)
2471- case $LD in # libtool.m4 will add one of these switches to LD
2472- *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ")
2473- libsuff= shlibsuff= libmagic=32-bit;;
2474- *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ")
2475- libsuff=32 shlibsuff=N32 libmagic=N32;;
2476- *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ")
2477- libsuff=64 shlibsuff=64 libmagic=64-bit;;
2478- *) libsuff= shlibsuff= libmagic=never-match;;
2479- esac
2480- ;;
2481- esac
2482- shlibpath_var=LD_LIBRARY${shlibsuff}_PATH
2483- shlibpath_overrides_runpath=no
2484- sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}"
2485- sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}"
2486- hardcode_into_libs=yes
2487- ;;
2488-
2489-# No shared lib support for Linux oldld, aout, or coff.
2490-linux*oldld* | linux*aout* | linux*coff*)
2491- dynamic_linker=no
2492- ;;
2493-
2494-# This must be Linux ELF.
2495-linux* | k*bsd*-gnu)
2496- version_type=linux
2497- need_lib_prefix=no
2498- need_version=no
2499- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
2500- soname_spec='${libname}${release}${shared_ext}$major'
2501- finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir'
2502- shlibpath_var=LD_LIBRARY_PATH
2503- shlibpath_overrides_runpath=no
2504- # Some binutils ld are patched to set DT_RUNPATH
2505- save_LDFLAGS=$LDFLAGS
2506- save_libdir=$libdir
2507- eval "libdir=/foo; wl=\"$_LT_TAGVAR(lt_prog_compiler_wl, $1)\"; \
2508- LDFLAGS=\"\$LDFLAGS $_LT_TAGVAR(hardcode_libdir_flag_spec, $1)\""
2509- AC_LINK_IFELSE([AC_LANG_PROGRAM([],[])],
2510- [AS_IF([ ($OBJDUMP -p conftest$ac_exeext) 2>/dev/null | grep "RUNPATH.*$libdir" >/dev/null],
2511- [shlibpath_overrides_runpath=yes])])
2512- LDFLAGS=$save_LDFLAGS
2513- libdir=$save_libdir
2514-
2515- # This implies no fast_install, which is unacceptable.
2516- # Some rework will be needed to allow for fast_install
2517- # before this can be enabled.
2518- hardcode_into_libs=yes
2519-
2520- # Append ld.so.conf contents to the search path
2521- if test -f /etc/ld.so.conf; then
2522- lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \[$]2)); skip = 1; } { if (!skip) print \[$]0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[ ]*hwcap[ ]/d;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '`
2523- sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra"
2524- fi
2525-
2526- # We used to test for /lib/ld.so.1 and disable shared libraries on
2527- # powerpc, because MkLinux only supported shared libraries with the
2528- # GNU dynamic linker. Since this was broken with cross compilers,
2529- # most powerpc-linux boxes support dynamic linking these days and
2530- # people can always --disable-shared, the test was removed, and we
2531- # assume the GNU/Linux dynamic linker is in use.
2532- dynamic_linker='GNU/Linux ld.so'
2533- ;;
2534-
2535-netbsd*)
2536- version_type=sunos
2537- need_lib_prefix=no
2538- need_version=no
2539- if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
2540- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
2541- finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
2542- dynamic_linker='NetBSD (a.out) ld.so'
2543- else
2544- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
2545- soname_spec='${libname}${release}${shared_ext}$major'
2546- dynamic_linker='NetBSD ld.elf_so'
2547- fi
2548- shlibpath_var=LD_LIBRARY_PATH
2549- shlibpath_overrides_runpath=yes
2550- hardcode_into_libs=yes
2551- ;;
2552-
2553-newsos6)
2554- version_type=linux
2555- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
2556- shlibpath_var=LD_LIBRARY_PATH
2557- shlibpath_overrides_runpath=yes
2558- ;;
2559-
2560-*nto* | *qnx*)
2561- version_type=qnx
2562- need_lib_prefix=no
2563- need_version=no
2564- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
2565- soname_spec='${libname}${release}${shared_ext}$major'
2566- shlibpath_var=LD_LIBRARY_PATH
2567- shlibpath_overrides_runpath=no
2568- hardcode_into_libs=yes
2569- dynamic_linker='ldqnx.so'
2570- ;;
2571-
2572-openbsd*)
2573- version_type=sunos
2574- sys_lib_dlsearch_path_spec="/usr/lib"
2575- need_lib_prefix=no
2576- # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs.
2577- case $host_os in
2578- openbsd3.3 | openbsd3.3.*) need_version=yes ;;
2579- *) need_version=no ;;
2580- esac
2581- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
2582- finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
2583- shlibpath_var=LD_LIBRARY_PATH
2584- if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
2585- case $host_os in
2586- openbsd2.[[89]] | openbsd2.[[89]].*)
2587- shlibpath_overrides_runpath=no
2588- ;;
2589- *)
2590- shlibpath_overrides_runpath=yes
2591- ;;
2592- esac
2593- else
2594- shlibpath_overrides_runpath=yes
2595- fi
2596- ;;
2597-
2598-os2*)
2599- libname_spec='$name'
2600- shrext_cmds=".dll"
2601- need_lib_prefix=no
2602- library_names_spec='$libname${shared_ext} $libname.a'
2603- dynamic_linker='OS/2 ld.exe'
2604- shlibpath_var=LIBPATH
2605- ;;
2606-
2607-osf3* | osf4* | osf5*)
2608- version_type=osf
2609- need_lib_prefix=no
2610- need_version=no
2611- soname_spec='${libname}${release}${shared_ext}$major'
2612- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
2613- shlibpath_var=LD_LIBRARY_PATH
2614- sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib"
2615- sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec"
2616- ;;
2617-
2618-rdos*)
2619- dynamic_linker=no
2620- ;;
2621-
2622-solaris*)
2623- version_type=linux
2624- need_lib_prefix=no
2625- need_version=no
2626- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
2627- soname_spec='${libname}${release}${shared_ext}$major'
2628- shlibpath_var=LD_LIBRARY_PATH
2629- shlibpath_overrides_runpath=yes
2630- hardcode_into_libs=yes
2631- # ldd complains unless libraries are executable
2632- postinstall_cmds='chmod +x $lib'
2633- ;;
2634-
2635-sunos4*)
2636- version_type=sunos
2637- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
2638- finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir'
2639- shlibpath_var=LD_LIBRARY_PATH
2640- shlibpath_overrides_runpath=yes
2641- if test "$with_gnu_ld" = yes; then
2642- need_lib_prefix=no
2643- fi
2644- need_version=yes
2645- ;;
2646-
2647-sysv4 | sysv4.3*)
2648- version_type=linux
2649- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
2650- soname_spec='${libname}${release}${shared_ext}$major'
2651- shlibpath_var=LD_LIBRARY_PATH
2652- case $host_vendor in
2653- sni)
2654- shlibpath_overrides_runpath=no
2655- need_lib_prefix=no
2656- runpath_var=LD_RUN_PATH
2657- ;;
2658- siemens)
2659- need_lib_prefix=no
2660- ;;
2661- motorola)
2662- need_lib_prefix=no
2663- need_version=no
2664- shlibpath_overrides_runpath=no
2665- sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib'
2666- ;;
2667- esac
2668- ;;
2669-
2670-sysv4*MP*)
2671- if test -d /usr/nec ;then
2672- version_type=linux
2673- library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}'
2674- soname_spec='$libname${shared_ext}.$major'
2675- shlibpath_var=LD_LIBRARY_PATH
2676- fi
2677- ;;
2678-
2679-sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
2680- version_type=freebsd-elf
2681- need_lib_prefix=no
2682- need_version=no
2683- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}'
2684- soname_spec='${libname}${release}${shared_ext}$major'
2685- shlibpath_var=LD_LIBRARY_PATH
2686- shlibpath_overrides_runpath=yes
2687- hardcode_into_libs=yes
2688- if test "$with_gnu_ld" = yes; then
2689- sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib'
2690- else
2691- sys_lib_search_path_spec='/usr/ccs/lib /usr/lib'
2692- case $host_os in
2693- sco3.2v5*)
2694- sys_lib_search_path_spec="$sys_lib_search_path_spec /lib"
2695- ;;
2696- esac
2697- fi
2698- sys_lib_dlsearch_path_spec='/usr/lib'
2699- ;;
2700-
2701-tpf*)
2702- # TPF is a cross-target only. Preferred cross-host = GNU/Linux.
2703- version_type=linux
2704- need_lib_prefix=no
2705- need_version=no
2706- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
2707- shlibpath_var=LD_LIBRARY_PATH
2708- shlibpath_overrides_runpath=no
2709- hardcode_into_libs=yes
2710- ;;
2711-
2712-uts4*)
2713- version_type=linux
2714- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
2715- soname_spec='${libname}${release}${shared_ext}$major'
2716- shlibpath_var=LD_LIBRARY_PATH
2717- ;;
2718-
2719-*)
2720- dynamic_linker=no
2721- ;;
2722-esac
2723-AC_MSG_RESULT([$dynamic_linker])
2724-test "$dynamic_linker" = no && can_build_shared=no
2725-
2726-variables_saved_for_relink="PATH $shlibpath_var $runpath_var"
2727-if test "$GCC" = yes; then
2728- variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH"
2729-fi
2730-
2731-if test "${lt_cv_sys_lib_search_path_spec+set}" = set; then
2732- sys_lib_search_path_spec="$lt_cv_sys_lib_search_path_spec"
2733-fi
2734-if test "${lt_cv_sys_lib_dlsearch_path_spec+set}" = set; then
2735- sys_lib_dlsearch_path_spec="$lt_cv_sys_lib_dlsearch_path_spec"
2736-fi
2737-
2738-_LT_DECL([], [variables_saved_for_relink], [1],
2739- [Variables whose values should be saved in libtool wrapper scripts and
2740- restored at link time])
2741-_LT_DECL([], [need_lib_prefix], [0],
2742- [Do we need the "lib" prefix for modules?])
2743-_LT_DECL([], [need_version], [0], [Do we need a version for libraries?])
2744-_LT_DECL([], [version_type], [0], [Library versioning type])
2745-_LT_DECL([], [runpath_var], [0], [Shared library runtime path variable])
2746-_LT_DECL([], [shlibpath_var], [0],[Shared library path variable])
2747-_LT_DECL([], [shlibpath_overrides_runpath], [0],
2748- [Is shlibpath searched before the hard-coded library search path?])
2749-_LT_DECL([], [libname_spec], [1], [Format of library name prefix])
2750-_LT_DECL([], [library_names_spec], [1],
2751- [[List of archive names. First name is the real one, the rest are links.
2752- The last name is the one that the linker finds with -lNAME]])
2753-_LT_DECL([], [soname_spec], [1],
2754- [[The coded name of the library, if different from the real name]])
2755-_LT_DECL([], [postinstall_cmds], [2],
2756- [Command to use after installation of a shared archive])
2757-_LT_DECL([], [postuninstall_cmds], [2],
2758- [Command to use after uninstallation of a shared archive])
2759-_LT_DECL([], [finish_cmds], [2],
2760- [Commands used to finish a libtool library installation in a directory])
2761-_LT_DECL([], [finish_eval], [1],
2762- [[As "finish_cmds", except a single script fragment to be evaled but
2763- not shown]])
2764-_LT_DECL([], [hardcode_into_libs], [0],
2765- [Whether we should hardcode library paths into libraries])
2766-_LT_DECL([], [sys_lib_search_path_spec], [2],
2767- [Compile-time system search path for libraries])
2768-_LT_DECL([], [sys_lib_dlsearch_path_spec], [2],
2769- [Run-time system search path for libraries])
2770-])# _LT_SYS_DYNAMIC_LINKER
2771-
2772-
2773-# _LT_PATH_TOOL_PREFIX(TOOL)
2774-# --------------------------
2775-# find a file program which can recognize shared library
2776-AC_DEFUN([_LT_PATH_TOOL_PREFIX],
2777-[m4_require([_LT_DECL_EGREP])dnl
2778-AC_MSG_CHECKING([for $1])
2779-AC_CACHE_VAL(lt_cv_path_MAGIC_CMD,
2780-[case $MAGIC_CMD in
2781-[[\\/*] | ?:[\\/]*])
2782- lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path.
2783- ;;
2784-*)
2785- lt_save_MAGIC_CMD="$MAGIC_CMD"
2786- lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
2787-dnl $ac_dummy forces splitting on constant user-supplied paths.
2788-dnl POSIX.2 word splitting is done only on the output of word expansions,
2789-dnl not every word. This closes a longstanding sh security hole.
2790- ac_dummy="m4_if([$2], , $PATH, [$2])"
2791- for ac_dir in $ac_dummy; do
2792- IFS="$lt_save_ifs"
2793- test -z "$ac_dir" && ac_dir=.
2794- if test -f $ac_dir/$1; then
2795- lt_cv_path_MAGIC_CMD="$ac_dir/$1"
2796- if test -n "$file_magic_test_file"; then
2797- case $deplibs_check_method in
2798- "file_magic "*)
2799- file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"`
2800- MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
2801- if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null |
2802- $EGREP "$file_magic_regex" > /dev/null; then
2803- :
2804- else
2805- cat <<_LT_EOF 1>&2
2806-
2807-*** Warning: the command libtool uses to detect shared libraries,
2808-*** $file_magic_cmd, produces output that libtool cannot recognize.
2809-*** The result is that libtool may fail to recognize shared libraries
2810-*** as such. This will affect the creation of libtool libraries that
2811-*** depend on shared libraries, but programs linked with such libtool
2812-*** libraries will work regardless of this problem. Nevertheless, you
2813-*** may want to report the problem to your system manager and/or to
2814-*** bug-libtool@gnu.org
2815-
2816-_LT_EOF
2817- fi ;;
2818- esac
2819- fi
2820- break
2821- fi
2822- done
2823- IFS="$lt_save_ifs"
2824- MAGIC_CMD="$lt_save_MAGIC_CMD"
2825- ;;
2826-esac])
2827-MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
2828-if test -n "$MAGIC_CMD"; then
2829- AC_MSG_RESULT($MAGIC_CMD)
2830-else
2831- AC_MSG_RESULT(no)
2832-fi
2833-_LT_DECL([], [MAGIC_CMD], [0],
2834- [Used to examine libraries when file_magic_cmd begins with "file"])dnl
2835-])# _LT_PATH_TOOL_PREFIX
2836-
2837-# Old name:
2838-AU_ALIAS([AC_PATH_TOOL_PREFIX], [_LT_PATH_TOOL_PREFIX])
2839-dnl aclocal-1.4 backwards compatibility:
2840-dnl AC_DEFUN([AC_PATH_TOOL_PREFIX], [])
2841-
2842-
2843-# _LT_PATH_MAGIC
2844-# --------------
2845-# find a file program which can recognize a shared library
2846-m4_defun([_LT_PATH_MAGIC],
2847-[_LT_PATH_TOOL_PREFIX(${ac_tool_prefix}file, /usr/bin$PATH_SEPARATOR$PATH)
2848-if test -z "$lt_cv_path_MAGIC_CMD"; then
2849- if test -n "$ac_tool_prefix"; then
2850- _LT_PATH_TOOL_PREFIX(file, /usr/bin$PATH_SEPARATOR$PATH)
2851- else
2852- MAGIC_CMD=:
2853- fi
2854-fi
2855-])# _LT_PATH_MAGIC
2856-
2857-
2858-# LT_PATH_LD
2859-# ----------
2860-# find the pathname to the GNU or non-GNU linker
2861-AC_DEFUN([LT_PATH_LD],
2862-[AC_REQUIRE([AC_PROG_CC])dnl
2863-AC_REQUIRE([AC_CANONICAL_HOST])dnl
2864-AC_REQUIRE([AC_CANONICAL_BUILD])dnl
2865-m4_require([_LT_DECL_SED])dnl
2866-m4_require([_LT_DECL_EGREP])dnl
2867-
2868-AC_ARG_WITH([gnu-ld],
2869- [AS_HELP_STRING([--with-gnu-ld],
2870- [assume the C compiler uses GNU ld @<:@default=no@:>@])],
2871- [test "$withval" = no || with_gnu_ld=yes],
2872- [with_gnu_ld=no])dnl
2873-
2874-ac_prog=ld
2875-if test "$GCC" = yes; then
2876- # Check if gcc -print-prog-name=ld gives a path.
2877- AC_MSG_CHECKING([for ld used by $CC])
2878- case $host in
2879- *-*-mingw*)
2880- # gcc leaves a trailing carriage return which upsets mingw
2881- ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;;
2882- *)
2883- ac_prog=`($CC -print-prog-name=ld) 2>&5` ;;
2884- esac
2885- case $ac_prog in
2886- # Accept absolute paths.
2887- [[\\/]]* | ?:[[\\/]]*)
2888- re_direlt='/[[^/]][[^/]]*/\.\./'
2889- # Canonicalize the pathname of ld
2890- ac_prog=`$ECHO "$ac_prog"| $SED 's%\\\\%/%g'`
2891- while $ECHO "$ac_prog" | $GREP "$re_direlt" > /dev/null 2>&1; do
2892- ac_prog=`$ECHO $ac_prog| $SED "s%$re_direlt%/%"`
2893- done
2894- test -z "$LD" && LD="$ac_prog"
2895- ;;
2896- "")
2897- # If it fails, then pretend we aren't using GCC.
2898- ac_prog=ld
2899- ;;
2900- *)
2901- # If it is relative, then search for the first ld in PATH.
2902- with_gnu_ld=unknown
2903- ;;
2904- esac
2905-elif test "$with_gnu_ld" = yes; then
2906- AC_MSG_CHECKING([for GNU ld])
2907-else
2908- AC_MSG_CHECKING([for non-GNU ld])
2909-fi
2910-AC_CACHE_VAL(lt_cv_path_LD,
2911-[if test -z "$LD"; then
2912- lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
2913- for ac_dir in $PATH; do
2914- IFS="$lt_save_ifs"
2915- test -z "$ac_dir" && ac_dir=.
2916- if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then
2917- lt_cv_path_LD="$ac_dir/$ac_prog"
2918- # Check to see if the program is GNU ld. I'd rather use --version,
2919- # but apparently some variants of GNU ld only accept -v.
2920- # Break only if it was the GNU/non-GNU ld that we prefer.
2921- case `"$lt_cv_path_LD" -v 2>&1 </dev/null` in
2922- *GNU* | *'with BFD'*)
2923- test "$with_gnu_ld" != no && break
2924- ;;
2925- *)
2926- test "$with_gnu_ld" != yes && break
2927- ;;
2928- esac
2929- fi
2930- done
2931- IFS="$lt_save_ifs"
2932-else
2933- lt_cv_path_LD="$LD" # Let the user override the test with a path.
2934-fi])
2935-LD="$lt_cv_path_LD"
2936-if test -n "$LD"; then
2937- AC_MSG_RESULT($LD)
2938-else
2939- AC_MSG_RESULT(no)
2940-fi
2941-test -z "$LD" && AC_MSG_ERROR([no acceptable ld found in \$PATH])
2942-_LT_PATH_LD_GNU
2943-AC_SUBST([LD])
2944-
2945-_LT_TAGDECL([], [LD], [1], [The linker used to build libraries])
2946-])# LT_PATH_LD
2947-
2948-# Old names:
2949-AU_ALIAS([AM_PROG_LD], [LT_PATH_LD])
2950-AU_ALIAS([AC_PROG_LD], [LT_PATH_LD])
2951-dnl aclocal-1.4 backwards compatibility:
2952-dnl AC_DEFUN([AM_PROG_LD], [])
2953-dnl AC_DEFUN([AC_PROG_LD], [])
2954-
2955-
2956-# _LT_PATH_LD_GNU
2957-#- --------------
2958-m4_defun([_LT_PATH_LD_GNU],
2959-[AC_CACHE_CHECK([if the linker ($LD) is GNU ld], lt_cv_prog_gnu_ld,
2960-[# I'd rather use --version here, but apparently some GNU lds only accept -v.
2961-case `$LD -v 2>&1 </dev/null` in
2962-*GNU* | *'with BFD'*)
2963- lt_cv_prog_gnu_ld=yes
2964- ;;
2965-*)
2966- lt_cv_prog_gnu_ld=no
2967- ;;
2968-esac])
2969-with_gnu_ld=$lt_cv_prog_gnu_ld
2970-])# _LT_PATH_LD_GNU
2971-
2972-
2973-# _LT_CMD_RELOAD
2974-# --------------
2975-# find reload flag for linker
2976-# -- PORTME Some linkers may need a different reload flag.
2977-m4_defun([_LT_CMD_RELOAD],
2978-[AC_CACHE_CHECK([for $LD option to reload object files],
2979- lt_cv_ld_reload_flag,
2980- [lt_cv_ld_reload_flag='-r'])
2981-reload_flag=$lt_cv_ld_reload_flag
2982-case $reload_flag in
2983-"" | " "*) ;;
2984-*) reload_flag=" $reload_flag" ;;
2985-esac
2986-reload_cmds='$LD$reload_flag -o $output$reload_objs'
2987-case $host_os in
2988- darwin*)
2989- if test "$GCC" = yes; then
2990- reload_cmds='$LTCC $LTCFLAGS -nostdlib ${wl}-r -o $output$reload_objs'
2991- else
2992- reload_cmds='$LD$reload_flag -o $output$reload_objs'
2993- fi
2994- ;;
2995-esac
2996-_LT_DECL([], [reload_flag], [1], [How to create reloadable object files])dnl
2997-_LT_DECL([], [reload_cmds], [2])dnl
2998-])# _LT_CMD_RELOAD
2999-
3000-
3001-# _LT_CHECK_MAGIC_METHOD
3002-# ----------------------
3003-# how to check for library dependencies
3004-# -- PORTME fill in with the dynamic library characteristics
3005-m4_defun([_LT_CHECK_MAGIC_METHOD],
3006-[m4_require([_LT_DECL_EGREP])
3007-m4_require([_LT_DECL_OBJDUMP])
3008-AC_CACHE_CHECK([how to recognize dependent libraries],
3009-lt_cv_deplibs_check_method,
3010-[lt_cv_file_magic_cmd='$MAGIC_CMD'
3011-lt_cv_file_magic_test_file=
3012-lt_cv_deplibs_check_method='unknown'
3013-# Need to set the preceding variable on all platforms that support
3014-# interlibrary dependencies.
3015-# 'none' -- dependencies not supported.
3016-# `unknown' -- same as none, but documents that we really don't know.
3017-# 'pass_all' -- all dependencies passed with no checks.
3018-# 'test_compile' -- check by making test program.
3019-# 'file_magic [[regex]]' -- check by looking for files in library path
3020-# which responds to the $file_magic_cmd with a given extended regex.
3021-# If you have `file' or equivalent on your system and you're not sure
3022-# whether `pass_all' will *always* work, you probably want this one.
3023-
3024-case $host_os in
3025-aix[[4-9]]*)
3026- lt_cv_deplibs_check_method=pass_all
3027- ;;
3028-
3029-beos*)
3030- lt_cv_deplibs_check_method=pass_all
3031- ;;
3032-
3033-bsdi[[45]]*)
3034- lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (shared object|dynamic lib)'
3035- lt_cv_file_magic_cmd='/usr/bin/file -L'
3036- lt_cv_file_magic_test_file=/shlib/libc.so
3037- ;;
3038-
3039-cygwin*)
3040- # func_win32_libid is a shell function defined in ltmain.sh
3041- lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL'
3042- lt_cv_file_magic_cmd='func_win32_libid'
3043- ;;
3044-
3045-mingw* | pw32*)
3046- # Base MSYS/MinGW do not provide the 'file' command needed by
3047- # func_win32_libid shell function, so use a weaker test based on 'objdump',
3048- # unless we find 'file', for example because we are cross-compiling.
3049- if ( file / ) >/dev/null 2>&1; then
3050- lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL'
3051- lt_cv_file_magic_cmd='func_win32_libid'
3052- else
3053- lt_cv_deplibs_check_method='file_magic file format pei*-i386(.*architecture: i386)?'
3054- lt_cv_file_magic_cmd='$OBJDUMP -f'
3055- fi
3056- ;;
3057-
3058-cegcc)
3059- # use the weaker test based on 'objdump'. See mingw*.
3060- lt_cv_deplibs_check_method='file_magic file format pe-arm-.*little(.*architecture: arm)?'
3061- lt_cv_file_magic_cmd='$OBJDUMP -f'
3062- ;;
3063-
3064-darwin* | rhapsody*)
3065- lt_cv_deplibs_check_method=pass_all
3066- ;;
3067-
3068-freebsd* | dragonfly*)
3069- if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then
3070- case $host_cpu in
3071- i*86 )
3072- # Not sure whether the presence of OpenBSD here was a mistake.
3073- # Let's accept both of them until this is cleared up.
3074- lt_cv_deplibs_check_method='file_magic (FreeBSD|OpenBSD|DragonFly)/i[[3-9]]86 (compact )?demand paged shared library'
3075- lt_cv_file_magic_cmd=/usr/bin/file
3076- lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*`
3077- ;;
3078- esac
3079- else
3080- lt_cv_deplibs_check_method=pass_all
3081- fi
3082- ;;
3083-
3084-gnu*)
3085- lt_cv_deplibs_check_method=pass_all
3086- ;;
3087-
3088-hpux10.20* | hpux11*)
3089- lt_cv_file_magic_cmd=/usr/bin/file
3090- case $host_cpu in
3091- ia64*)
3092- lt_cv_deplibs_check_method='file_magic (s[[0-9]][[0-9]][[0-9]]|ELF-[[0-9]][[0-9]]) shared object file - IA64'
3093- lt_cv_file_magic_test_file=/usr/lib/hpux32/libc.so
3094- ;;
3095- hppa*64*)
3096- [lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF-[0-9][0-9]) shared object file - PA-RISC [0-9].[0-9]']
3097- lt_cv_file_magic_test_file=/usr/lib/pa20_64/libc.sl
3098- ;;
3099- *)
3100- lt_cv_deplibs_check_method='file_magic (s[[0-9]][[0-9]][[0-9]]|PA-RISC[[0-9]].[[0-9]]) shared library'
3101- lt_cv_file_magic_test_file=/usr/lib/libc.sl
3102- ;;
3103- esac
3104- ;;
3105-
3106-interix[[3-9]]*)
3107- # PIC code is broken on Interix 3.x, that's why |\.a not |_pic\.a here
3108- lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so|\.a)$'
3109- ;;
3110-
3111-irix5* | irix6* | nonstopux*)
3112- case $LD in
3113- *-32|*"-32 ") libmagic=32-bit;;
3114- *-n32|*"-n32 ") libmagic=N32;;
3115- *-64|*"-64 ") libmagic=64-bit;;
3116- *) libmagic=never-match;;
3117- esac
3118- lt_cv_deplibs_check_method=pass_all
3119- ;;
3120-
3121-# This must be Linux ELF.
3122-linux* | k*bsd*-gnu)
3123- lt_cv_deplibs_check_method=pass_all
3124- ;;
3125-
3126-netbsd*)
3127- if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then
3128- lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|_pic\.a)$'
3129- else
3130- lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so|_pic\.a)$'
3131- fi
3132- ;;
3133-
3134-newos6*)
3135- lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (executable|dynamic lib)'
3136- lt_cv_file_magic_cmd=/usr/bin/file
3137- lt_cv_file_magic_test_file=/usr/lib/libnls.so
3138- ;;
3139-
3140-*nto* | *qnx*)
3141- lt_cv_deplibs_check_method=pass_all
3142- ;;
3143-
3144-openbsd*)
3145- if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
3146- lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|\.so|_pic\.a)$'
3147- else
3148- lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|_pic\.a)$'
3149- fi
3150- ;;
3151-
3152-osf3* | osf4* | osf5*)
3153- lt_cv_deplibs_check_method=pass_all
3154- ;;
3155-
3156-rdos*)
3157- lt_cv_deplibs_check_method=pass_all
3158- ;;
3159-
3160-solaris*)
3161- lt_cv_deplibs_check_method=pass_all
3162- ;;
3163-
3164-sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
3165- lt_cv_deplibs_check_method=pass_all
3166- ;;
3167-
3168-sysv4 | sysv4.3*)
3169- case $host_vendor in
3170- motorola)
3171- lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (shared object|dynamic lib) M[[0-9]][[0-9]]* Version [[0-9]]'
3172- lt_cv_file_magic_test_file=`echo /usr/lib/libc.so*`
3173- ;;
3174- ncr)
3175- lt_cv_deplibs_check_method=pass_all
3176- ;;
3177- sequent)
3178- lt_cv_file_magic_cmd='/bin/file'
3179- lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB (shared object|dynamic lib )'
3180- ;;
3181- sni)
3182- lt_cv_file_magic_cmd='/bin/file'
3183- lt_cv_deplibs_check_method="file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB dynamic lib"
3184- lt_cv_file_magic_test_file=/lib/libc.so
3185- ;;
3186- siemens)
3187- lt_cv_deplibs_check_method=pass_all
3188- ;;
3189- pc)
3190- lt_cv_deplibs_check_method=pass_all
3191- ;;
3192- esac
3193- ;;
3194-
3195-tpf*)
3196- lt_cv_deplibs_check_method=pass_all
3197- ;;
3198-esac
3199-])
3200-file_magic_cmd=$lt_cv_file_magic_cmd
3201-deplibs_check_method=$lt_cv_deplibs_check_method
3202-test -z "$deplibs_check_method" && deplibs_check_method=unknown
3203-
3204-_LT_DECL([], [deplibs_check_method], [1],
3205- [Method to check whether dependent libraries are shared objects])
3206-_LT_DECL([], [file_magic_cmd], [1],
3207- [Command to use when deplibs_check_method == "file_magic"])
3208-])# _LT_CHECK_MAGIC_METHOD
3209-
3210-
3211-# LT_PATH_NM
3212-# ----------
3213-# find the pathname to a BSD- or MS-compatible name lister
3214-AC_DEFUN([LT_PATH_NM],
3215-[AC_REQUIRE([AC_PROG_CC])dnl
3216-AC_CACHE_CHECK([for BSD- or MS-compatible name lister (nm)], lt_cv_path_NM,
3217-[if test -n "$NM"; then
3218- # Let the user override the test.
3219- lt_cv_path_NM="$NM"
3220-else
3221- lt_nm_to_check="${ac_tool_prefix}nm"
3222- if test -n "$ac_tool_prefix" && test "$build" = "$host"; then
3223- lt_nm_to_check="$lt_nm_to_check nm"
3224- fi
3225- for lt_tmp_nm in $lt_nm_to_check; do
3226- lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
3227- for ac_dir in $PATH /usr/ccs/bin/elf /usr/ccs/bin /usr/ucb /bin; do
3228- IFS="$lt_save_ifs"
3229- test -z "$ac_dir" && ac_dir=.
3230- tmp_nm="$ac_dir/$lt_tmp_nm"
3231- if test -f "$tmp_nm" || test -f "$tmp_nm$ac_exeext" ; then
3232- # Check to see if the nm accepts a BSD-compat flag.
3233- # Adding the `sed 1q' prevents false positives on HP-UX, which says:
3234- # nm: unknown option "B" ignored
3235- # Tru64's nm complains that /dev/null is an invalid object file
3236- case `"$tmp_nm" -B /dev/null 2>&1 | sed '1q'` in
3237- */dev/null* | *'Invalid file or object type'*)
3238- lt_cv_path_NM="$tmp_nm -B"
3239- break
3240- ;;
3241- *)
3242- case `"$tmp_nm" -p /dev/null 2>&1 | sed '1q'` in
3243- */dev/null*)
3244- lt_cv_path_NM="$tmp_nm -p"
3245- break
3246- ;;
3247- *)
3248- lt_cv_path_NM=${lt_cv_path_NM="$tmp_nm"} # keep the first match, but
3249- continue # so that we can try to find one that supports BSD flags
3250- ;;
3251- esac
3252- ;;
3253- esac
3254- fi
3255- done
3256- IFS="$lt_save_ifs"
3257- done
3258- : ${lt_cv_path_NM=no}
3259-fi])
3260-if test "$lt_cv_path_NM" != "no"; then
3261- NM="$lt_cv_path_NM"
3262-else
3263- # Didn't find any BSD compatible name lister, look for dumpbin.
3264- AC_CHECK_TOOLS(DUMPBIN, ["dumpbin -symbols" "link -dump -symbols"], :)
3265- AC_SUBST([DUMPBIN])
3266- if test "$DUMPBIN" != ":"; then
3267- NM="$DUMPBIN"
3268- fi
3269-fi
3270-test -z "$NM" && NM=nm
3271-AC_SUBST([NM])
3272-_LT_DECL([], [NM], [1], [A BSD- or MS-compatible name lister])dnl
3273-
3274-AC_CACHE_CHECK([the name lister ($NM) interface], [lt_cv_nm_interface],
3275- [lt_cv_nm_interface="BSD nm"
3276- echo "int some_variable = 0;" > conftest.$ac_ext
3277- (eval echo "\"\$as_me:__oline__: $ac_compile\"" >&AS_MESSAGE_LOG_FD)
3278- (eval "$ac_compile" 2>conftest.err)
3279- cat conftest.err >&AS_MESSAGE_LOG_FD
3280- (eval echo "\"\$as_me:__oline__: $NM \\\"conftest.$ac_objext\\\"\"" >&AS_MESSAGE_LOG_FD)
3281- (eval "$NM \"conftest.$ac_objext\"" 2>conftest.err > conftest.out)
3282- cat conftest.err >&AS_MESSAGE_LOG_FD
3283- (eval echo "\"\$as_me:__oline__: output\"" >&AS_MESSAGE_LOG_FD)
3284- cat conftest.out >&AS_MESSAGE_LOG_FD
3285- if $GREP 'External.*some_variable' conftest.out > /dev/null; then
3286- lt_cv_nm_interface="MS dumpbin"
3287- fi
3288- rm -f conftest*])
3289-])# LT_PATH_NM
3290-
3291-# Old names:
3292-AU_ALIAS([AM_PROG_NM], [LT_PATH_NM])
3293-AU_ALIAS([AC_PROG_NM], [LT_PATH_NM])
3294-dnl aclocal-1.4 backwards compatibility:
3295-dnl AC_DEFUN([AM_PROG_NM], [])
3296-dnl AC_DEFUN([AC_PROG_NM], [])
3297-
3298-
3299-# LT_LIB_M
3300-# --------
3301-# check for math library
3302-AC_DEFUN([LT_LIB_M],
3303-[AC_REQUIRE([AC_CANONICAL_HOST])dnl
3304-LIBM=
3305-case $host in
3306-*-*-beos* | *-*-cygwin* | *-*-pw32* | *-*-darwin*)
3307- # These system don't have libm, or don't need it
3308- ;;
3309-*-ncr-sysv4.3*)
3310- AC_CHECK_LIB(mw, _mwvalidcheckl, LIBM="-lmw")
3311- AC_CHECK_LIB(m, cos, LIBM="$LIBM -lm")
3312- ;;
3313-*)
3314- AC_CHECK_LIB(m, cos, LIBM="-lm")
3315- ;;
3316-esac
3317-AC_SUBST([LIBM])
3318-])# LT_LIB_M
3319-
3320-# Old name:
3321-AU_ALIAS([AC_CHECK_LIBM], [LT_LIB_M])
3322-dnl aclocal-1.4 backwards compatibility:
3323-dnl AC_DEFUN([AC_CHECK_LIBM], [])
3324-
3325-
3326-# _LT_COMPILER_NO_RTTI([TAGNAME])
3327-# -------------------------------
3328-m4_defun([_LT_COMPILER_NO_RTTI],
3329-[m4_require([_LT_TAG_COMPILER])dnl
3330-
3331-_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=
3332-
3333-if test "$GCC" = yes; then
3334- _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -fno-builtin'
3335-
3336- _LT_COMPILER_OPTION([if $compiler supports -fno-rtti -fno-exceptions],
3337- lt_cv_prog_compiler_rtti_exceptions,
3338- [-fno-rtti -fno-exceptions], [],
3339- [_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)="$_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1) -fno-rtti -fno-exceptions"])
3340-fi
3341-_LT_TAGDECL([no_builtin_flag], [lt_prog_compiler_no_builtin_flag], [1],
3342- [Compiler flag to turn off builtin functions])
3343-])# _LT_COMPILER_NO_RTTI
3344-
3345-
3346-# _LT_CMD_GLOBAL_SYMBOLS
3347-# ----------------------
3348-m4_defun([_LT_CMD_GLOBAL_SYMBOLS],
3349-[AC_REQUIRE([AC_CANONICAL_HOST])dnl
3350-AC_REQUIRE([AC_PROG_CC])dnl
3351-AC_REQUIRE([LT_PATH_NM])dnl
3352-AC_REQUIRE([LT_PATH_LD])dnl
3353-m4_require([_LT_DECL_SED])dnl
3354-m4_require([_LT_DECL_EGREP])dnl
3355-m4_require([_LT_TAG_COMPILER])dnl
3356-
3357-# Check for command to grab the raw symbol name followed by C symbol from nm.
3358-AC_MSG_CHECKING([command to parse $NM output from $compiler object])
3359-AC_CACHE_VAL([lt_cv_sys_global_symbol_pipe],
3360-[
3361-# These are sane defaults that work on at least a few old systems.
3362-# [They come from Ultrix. What could be older than Ultrix?!! ;)]
3363-
3364-# Character class describing NM global symbol codes.
3365-symcode='[[BCDEGRST]]'
3366-
3367-# Regexp to match symbols that can be accessed directly from C.
3368-sympat='\([[_A-Za-z]][[_A-Za-z0-9]]*\)'
3369-
3370-# Define system-specific variables.
3371-case $host_os in
3372-aix*)
3373- symcode='[[BCDT]]'
3374- ;;
3375-cygwin* | mingw* | pw32* | cegcc*)
3376- symcode='[[ABCDGISTW]]'
3377- ;;
3378-hpux*)
3379- if test "$host_cpu" = ia64; then
3380- symcode='[[ABCDEGRST]]'
3381- fi
3382- ;;
3383-irix* | nonstopux*)
3384- symcode='[[BCDEGRST]]'
3385- ;;
3386-osf*)
3387- symcode='[[BCDEGQRST]]'
3388- ;;
3389-solaris*)
3390- symcode='[[BDRT]]'
3391- ;;
3392-sco3.2v5*)
3393- symcode='[[DT]]'
3394- ;;
3395-sysv4.2uw2*)
3396- symcode='[[DT]]'
3397- ;;
3398-sysv5* | sco5v6* | unixware* | OpenUNIX*)
3399- symcode='[[ABDT]]'
3400- ;;
3401-sysv4)
3402- symcode='[[DFNSTU]]'
3403- ;;
3404-esac
3405-
3406-# If we're using GNU nm, then use its standard symbol codes.
3407-case `$NM -V 2>&1` in
3408-*GNU* | *'with BFD'*)
3409- symcode='[[ABCDGIRSTW]]' ;;
3410-esac
3411-
3412-# Transform an extracted symbol line into a proper C declaration.
3413-# Some systems (esp. on ia64) link data and code symbols differently,
3414-# so use this general approach.
3415-lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'"
3416-
3417-# Transform an extracted symbol line into symbol name and symbol address
3418-lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([[^ ]]*\) $/ {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([[^ ]]*\) \([[^ ]]*\)$/ {\"\2\", (void *) \&\2},/p'"
3419-lt_cv_sys_global_symbol_to_c_name_address_lib_prefix="sed -n -e 's/^: \([[^ ]]*\) $/ {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([[^ ]]*\) \(lib[[^ ]]*\)$/ {\"\2\", (void *) \&\2},/p' -e 's/^$symcode* \([[^ ]]*\) \([[^ ]]*\)$/ {\"lib\2\", (void *) \&\2},/p'"
3420-
3421-# Handle CRLF in mingw tool chain
3422-opt_cr=
3423-case $build_os in
3424-mingw*)
3425- opt_cr=`$ECHO 'x\{0,1\}' | tr x '\015'` # option cr in regexp
3426- ;;
3427-esac
3428-
3429-# Try without a prefix underscore, then with it.
3430-for ac_symprfx in "" "_"; do
3431-
3432- # Transform symcode, sympat, and symprfx into a raw symbol and a C symbol.
3433- symxfrm="\\1 $ac_symprfx\\2 \\2"
3434-
3435- # Write the raw and C identifiers.
3436- if test "$lt_cv_nm_interface" = "MS dumpbin"; then
3437- # Fake it for dumpbin and say T for any non-static function
3438- # and D for any global variable.
3439- # Also find C++ and __fastcall symbols from MSVC++,
3440- # which start with @ or ?.
3441- lt_cv_sys_global_symbol_pipe="$AWK ['"\
3442-" {last_section=section; section=\$ 3};"\
3443-" /Section length .*#relocs.*(pick any)/{hide[last_section]=1};"\
3444-" \$ 0!~/External *\|/{next};"\
3445-" / 0+ UNDEF /{next}; / UNDEF \([^|]\)*()/{next};"\
3446-" {if(hide[section]) next};"\
3447-" {f=0}; \$ 0~/\(\).*\|/{f=1}; {printf f ? \"T \" : \"D \"};"\
3448-" {split(\$ 0, a, /\||\r/); split(a[2], s)};"\
3449-" s[1]~/^[@?]/{print s[1], s[1]; next};"\
3450-" s[1]~prfx {split(s[1],t,\"@\"); print t[1], substr(t[1],length(prfx))}"\
3451-" ' prfx=^$ac_symprfx]"
3452- else
3453- lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[[ ]]\($symcode$symcode*\)[[ ]][[ ]]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'"
3454- fi
3455-
3456- # Check to see that the pipe works correctly.
3457- pipe_works=no
3458-
3459- rm -f conftest*
3460- cat > conftest.$ac_ext <<_LT_EOF
3461-#ifdef __cplusplus
3462-extern "C" {
3463-#endif
3464-char nm_test_var;
3465-void nm_test_func(void);
3466-void nm_test_func(void){}
3467-#ifdef __cplusplus
3468-}
3469-#endif
3470-int main(){nm_test_var='a';nm_test_func();return(0);}
3471-_LT_EOF
3472-
3473- if AC_TRY_EVAL(ac_compile); then
3474- # Now try to grab the symbols.
3475- nlist=conftest.nm
3476- if AC_TRY_EVAL(NM conftest.$ac_objext \| $lt_cv_sys_global_symbol_pipe \> $nlist) && test -s "$nlist"; then
3477- # Try sorting and uniquifying the output.
3478- if sort "$nlist" | uniq > "$nlist"T; then
3479- mv -f "$nlist"T "$nlist"
3480- else
3481- rm -f "$nlist"T
3482- fi
3483-
3484- # Make sure that we snagged all the symbols we need.
3485- if $GREP ' nm_test_var$' "$nlist" >/dev/null; then
3486- if $GREP ' nm_test_func$' "$nlist" >/dev/null; then
3487- cat <<_LT_EOF > conftest.$ac_ext
3488-#ifdef __cplusplus
3489-extern "C" {
3490-#endif
3491-
3492-_LT_EOF
3493- # Now generate the symbol file.
3494- eval "$lt_cv_sys_global_symbol_to_cdecl"' < "$nlist" | $GREP -v main >> conftest.$ac_ext'
3495-
3496- cat <<_LT_EOF >> conftest.$ac_ext
3497-
3498-/* The mapping between symbol names and symbols. */
3499-const struct {
3500- const char *name;
3501- void *address;
3502-}
3503-lt__PROGRAM__LTX_preloaded_symbols[[]] =
3504-{
3505- { "@PROGRAM@", (void *) 0 },
3506-_LT_EOF
3507- $SED "s/^$symcode$symcode* \(.*\) \(.*\)$/ {\"\2\", (void *) \&\2},/" < "$nlist" | $GREP -v main >> conftest.$ac_ext
3508- cat <<\_LT_EOF >> conftest.$ac_ext
3509- {0, (void *) 0}
3510-};
3511-
3512-/* This works around a problem in FreeBSD linker */
3513-#ifdef FREEBSD_WORKAROUND
3514-static const void *lt_preloaded_setup() {
3515- return lt__PROGRAM__LTX_preloaded_symbols;
3516-}
3517-#endif
3518-
3519-#ifdef __cplusplus
3520-}
3521-#endif
3522-_LT_EOF
3523- # Now try linking the two files.
3524- mv conftest.$ac_objext conftstm.$ac_objext
3525- lt_save_LIBS="$LIBS"
3526- lt_save_CFLAGS="$CFLAGS"
3527- LIBS="conftstm.$ac_objext"
3528- CFLAGS="$CFLAGS$_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)"
3529- if AC_TRY_EVAL(ac_link) && test -s conftest${ac_exeext}; then
3530- pipe_works=yes
3531- fi
3532- LIBS="$lt_save_LIBS"
3533- CFLAGS="$lt_save_CFLAGS"
3534- else
3535- echo "cannot find nm_test_func in $nlist" >&AS_MESSAGE_LOG_FD
3536- fi
3537- else
3538- echo "cannot find nm_test_var in $nlist" >&AS_MESSAGE_LOG_FD
3539- fi
3540- else
3541- echo "cannot run $lt_cv_sys_global_symbol_pipe" >&AS_MESSAGE_LOG_FD
3542- fi
3543- else
3544- echo "$progname: failed program was:" >&AS_MESSAGE_LOG_FD
3545- cat conftest.$ac_ext >&5
3546- fi
3547- rm -rf conftest* conftst*
3548-
3549- # Do not use the global_symbol_pipe unless it works.
3550- if test "$pipe_works" = yes; then
3551- break
3552- else
3553- lt_cv_sys_global_symbol_pipe=
3554- fi
3555-done
3556-])
3557-if test -z "$lt_cv_sys_global_symbol_pipe"; then
3558- lt_cv_sys_global_symbol_to_cdecl=
3559-fi
3560-if test -z "$lt_cv_sys_global_symbol_pipe$lt_cv_sys_global_symbol_to_cdecl"; then
3561- AC_MSG_RESULT(failed)
3562-else
3563- AC_MSG_RESULT(ok)
3564-fi
3565-
3566-_LT_DECL([global_symbol_pipe], [lt_cv_sys_global_symbol_pipe], [1],
3567- [Take the output of nm and produce a listing of raw symbols and C names])
3568-_LT_DECL([global_symbol_to_cdecl], [lt_cv_sys_global_symbol_to_cdecl], [1],
3569- [Transform the output of nm in a proper C declaration])
3570-_LT_DECL([global_symbol_to_c_name_address],
3571- [lt_cv_sys_global_symbol_to_c_name_address], [1],
3572- [Transform the output of nm in a C name address pair])
3573-_LT_DECL([global_symbol_to_c_name_address_lib_prefix],
3574- [lt_cv_sys_global_symbol_to_c_name_address_lib_prefix], [1],
3575- [Transform the output of nm in a C name address pair when lib prefix is needed])
3576-]) # _LT_CMD_GLOBAL_SYMBOLS
3577-
3578-
3579-# _LT_COMPILER_PIC([TAGNAME])
3580-# ---------------------------
3581-m4_defun([_LT_COMPILER_PIC],
3582-[m4_require([_LT_TAG_COMPILER])dnl
3583-_LT_TAGVAR(lt_prog_compiler_wl, $1)=
3584-_LT_TAGVAR(lt_prog_compiler_pic, $1)=
3585-_LT_TAGVAR(lt_prog_compiler_static, $1)=
3586-
3587-AC_MSG_CHECKING([for $compiler option to produce PIC])
3588-m4_if([$1], [CXX], [
3589- # C++ specific cases for pic, static, wl, etc.
3590- if test "$GXX" = yes; then
3591- _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
3592- _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
3593-
3594- case $host_os in
3595- aix*)
3596- # All AIX code is PIC.
3597- if test "$host_cpu" = ia64; then
3598- # AIX 5 now supports IA64 processor
3599- _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
3600- fi
3601- ;;
3602-
3603- amigaos*)
3604- case $host_cpu in
3605- powerpc)
3606- # see comment about AmigaOS4 .so support
3607- _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
3608- ;;
3609- m68k)
3610- # FIXME: we need at least 68020 code to build shared libraries, but
3611- # adding the `-m68020' flag to GCC prevents building anything better,
3612- # like `-m68040'.
3613- _LT_TAGVAR(lt_prog_compiler_pic, $1)='-m68020 -resident32 -malways-restore-a4'
3614- ;;
3615- esac
3616- ;;
3617-
3618- beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*)
3619- # PIC is the default for these OSes.
3620- ;;
3621- mingw* | cygwin* | os2* | pw32* | cegcc*)
3622- # This hack is so that the source file can tell whether it is being
3623- # built for inclusion in a dll (and should export symbols for example).
3624- # Although the cygwin gcc ignores -fPIC, still need this for old-style
3625- # (--disable-auto-import) libraries
3626- m4_if([$1], [GCJ], [],
3627- [_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT'])
3628- ;;
3629- darwin* | rhapsody*)
3630- # PIC is the default on this platform
3631- # Common symbols not allowed in MH_DYLIB files
3632- _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common'
3633- ;;
3634- *djgpp*)
3635- # DJGPP does not support shared libraries at all
3636- _LT_TAGVAR(lt_prog_compiler_pic, $1)=
3637- ;;
3638- interix[[3-9]]*)
3639- # Interix 3.x gcc -fpic/-fPIC options generate broken code.
3640- # Instead, we relocate shared libraries at runtime.
3641- ;;
3642- sysv4*MP*)
3643- if test -d /usr/nec; then
3644- _LT_TAGVAR(lt_prog_compiler_pic, $1)=-Kconform_pic
3645- fi
3646- ;;
3647- hpux*)
3648- # PIC is the default for 64-bit PA HP-UX, but not for 32-bit
3649- # PA HP-UX. On IA64 HP-UX, PIC is the default but the pic flag
3650- # sets the default TLS model and affects inlining.
3651- case $host_cpu in
3652- hppa*64*)
3653- ;;
3654- *)
3655- _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
3656- ;;
3657- esac
3658- ;;
3659- *qnx* | *nto*)
3660- # QNX uses GNU C++, but need to define -shared option too, otherwise
3661- # it will coredump.
3662- _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared'
3663- ;;
3664- *)
3665- _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
3666- ;;
3667- esac
3668- else
3669- case $host_os in
3670- aix[[4-9]]*)
3671- # All AIX code is PIC.
3672- if test "$host_cpu" = ia64; then
3673- # AIX 5 now supports IA64 processor
3674- _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
3675- else
3676- _LT_TAGVAR(lt_prog_compiler_static, $1)='-bnso -bI:/lib/syscalls.exp'
3677- fi
3678- ;;
3679- chorus*)
3680- case $cc_basename in
3681- cxch68*)
3682- # Green Hills C++ Compiler
3683- # _LT_TAGVAR(lt_prog_compiler_static, $1)="--no_auto_instantiation -u __main -u __premain -u _abort -r $COOL_DIR/lib/libOrb.a $MVME_DIR/lib/CC/libC.a $MVME_DIR/lib/classix/libcx.s.a"
3684- ;;
3685- esac
3686- ;;
3687- dgux*)
3688- case $cc_basename in
3689- ec++*)
3690- _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
3691- ;;
3692- ghcx*)
3693- # Green Hills C++ Compiler
3694- _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
3695- ;;
3696- *)
3697- ;;
3698- esac
3699- ;;
3700- freebsd* | dragonfly*)
3701- # FreeBSD uses GNU C++
3702- ;;
3703- hpux9* | hpux10* | hpux11*)
3704- case $cc_basename in
3705- CC*)
3706- _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
3707- _LT_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive'
3708- if test "$host_cpu" != ia64; then
3709- _LT_TAGVAR(lt_prog_compiler_pic, $1)='+Z'
3710- fi
3711- ;;
3712- aCC*)
3713- _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
3714- _LT_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive'
3715- case $host_cpu in
3716- hppa*64*|ia64*)
3717- # +Z the default
3718- ;;
3719- *)
3720- _LT_TAGVAR(lt_prog_compiler_pic, $1)='+Z'
3721- ;;
3722- esac
3723- ;;
3724- *)
3725- ;;
3726- esac
3727- ;;
3728- interix*)
3729- # This is c89, which is MS Visual C++ (no shared libs)
3730- # Anyone wants to do a port?
3731- ;;
3732- irix5* | irix6* | nonstopux*)
3733- case $cc_basename in
3734- CC*)
3735- _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
3736- _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
3737- # CC pic flag -KPIC is the default.
3738- ;;
3739- *)
3740- ;;
3741- esac
3742- ;;
3743- linux* | k*bsd*-gnu)
3744- case $cc_basename in
3745- KCC*)
3746- # KAI C++ Compiler
3747- _LT_TAGVAR(lt_prog_compiler_wl, $1)='--backend -Wl,'
3748- _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
3749- ;;
3750- ecpc* )
3751- # old Intel C++ for x86_64 which still supported -KPIC.
3752- _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
3753- _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
3754- _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
3755- ;;
3756- icpc* )
3757- # Intel C++, used to be incompatible with GCC.
3758- # ICC 10 doesn't accept -KPIC any more.
3759- _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
3760- _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
3761- _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
3762- ;;
3763- pgCC* | pgcpp*)
3764- # Portland Group C++ compiler
3765- _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
3766- _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fpic'
3767- _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
3768- ;;
3769- cxx*)
3770- # Compaq C++
3771- # Make sure the PIC flag is empty. It appears that all Alpha
3772- # Linux and Compaq Tru64 Unix objects are PIC.
3773- _LT_TAGVAR(lt_prog_compiler_pic, $1)=
3774- _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
3775- ;;
3776- xlc* | xlC*)
3777- # IBM XL 8.0 on PPC
3778- _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
3779- _LT_TAGVAR(lt_prog_compiler_pic, $1)='-qpic'
3780- _LT_TAGVAR(lt_prog_compiler_static, $1)='-qstaticlink'
3781- ;;
3782- *)
3783- case `$CC -V 2>&1 | sed 5q` in
3784- *Sun\ C*)
3785- # Sun C++ 5.9
3786- _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
3787- _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
3788- _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld '
3789- ;;
3790- esac
3791- ;;
3792- esac
3793- ;;
3794- lynxos*)
3795- ;;
3796- m88k*)
3797- ;;
3798- mvs*)
3799- case $cc_basename in
3800- cxx*)
3801- _LT_TAGVAR(lt_prog_compiler_pic, $1)='-W c,exportall'
3802- ;;
3803- *)
3804- ;;
3805- esac
3806- ;;
3807- netbsd*)
3808- ;;
3809- *qnx* | *nto*)
3810- # QNX uses GNU C++, but need to define -shared option too, otherwise
3811- # it will coredump.
3812- _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared'
3813- ;;
3814- osf3* | osf4* | osf5*)
3815- case $cc_basename in
3816- KCC*)
3817- _LT_TAGVAR(lt_prog_compiler_wl, $1)='--backend -Wl,'
3818- ;;
3819- RCC*)
3820- # Rational C++ 2.4.1
3821- _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
3822- ;;
3823- cxx*)
3824- # Digital/Compaq C++
3825- _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
3826- # Make sure the PIC flag is empty. It appears that all Alpha
3827- # Linux and Compaq Tru64 Unix objects are PIC.
3828- _LT_TAGVAR(lt_prog_compiler_pic, $1)=
3829- _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
3830- ;;
3831- *)
3832- ;;
3833- esac
3834- ;;
3835- psos*)
3836- ;;
3837- solaris*)
3838- case $cc_basename in
3839- CC*)
3840- # Sun C++ 4.2, 5.x and Centerline C++
3841- _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
3842- _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
3843- _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld '
3844- ;;
3845- gcx*)
3846- # Green Hills C++ Compiler
3847- _LT_TAGVAR(lt_prog_compiler_pic, $1)='-PIC'
3848- ;;
3849- *)
3850- ;;
3851- esac
3852- ;;
3853- sunos4*)
3854- case $cc_basename in
3855- CC*)
3856- # Sun C++ 4.x
3857- _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
3858- _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
3859- ;;
3860- lcc*)
3861- # Lucid
3862- _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
3863- ;;
3864- *)
3865- ;;
3866- esac
3867- ;;
3868- sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*)
3869- case $cc_basename in
3870- CC*)
3871- _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
3872- _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
3873- _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
3874- ;;
3875- esac
3876- ;;
3877- tandem*)
3878- case $cc_basename in
3879- NCC*)
3880- # NonStop-UX NCC 3.20
3881- _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
3882- ;;
3883- *)
3884- ;;
3885- esac
3886- ;;
3887- vxworks*)
3888- ;;
3889- *)
3890- _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no
3891- ;;
3892- esac
3893- fi
3894-],
3895-[
3896- if test "$GCC" = yes; then
3897- _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
3898- _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
3899-
3900- case $host_os in
3901- aix*)
3902- # All AIX code is PIC.
3903- if test "$host_cpu" = ia64; then
3904- # AIX 5 now supports IA64 processor
3905- _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
3906- fi
3907- ;;
3908-
3909- amigaos*)
3910- case $host_cpu in
3911- powerpc)
3912- # see comment about AmigaOS4 .so support
3913- _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
3914- ;;
3915- m68k)
3916- # FIXME: we need at least 68020 code to build shared libraries, but
3917- # adding the `-m68020' flag to GCC prevents building anything better,
3918- # like `-m68040'.
3919- _LT_TAGVAR(lt_prog_compiler_pic, $1)='-m68020 -resident32 -malways-restore-a4'
3920- ;;
3921- esac
3922- ;;
3923-
3924- beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*)
3925- # PIC is the default for these OSes.
3926- ;;
3927-
3928- mingw* | cygwin* | pw32* | os2* | cegcc*)
3929- # This hack is so that the source file can tell whether it is being
3930- # built for inclusion in a dll (and should export symbols for example).
3931- # Although the cygwin gcc ignores -fPIC, still need this for old-style
3932- # (--disable-auto-import) libraries
3933- m4_if([$1], [GCJ], [],
3934- [_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT'])
3935- ;;
3936-
3937- darwin* | rhapsody*)
3938- # PIC is the default on this platform
3939- # Common symbols not allowed in MH_DYLIB files
3940- _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common'
3941- ;;
3942-
3943- hpux*)
3944- # PIC is the default for 64-bit PA HP-UX, but not for 32-bit
3945- # PA HP-UX. On IA64 HP-UX, PIC is the default but the pic flag
3946- # sets the default TLS model and affects inlining.
3947- case $host_cpu in
3948- hppa*64*)
3949- # +Z the default
3950- ;;
3951- *)
3952- _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
3953- ;;
3954- esac
3955- ;;
3956-
3957- interix[[3-9]]*)
3958- # Interix 3.x gcc -fpic/-fPIC options generate broken code.
3959- # Instead, we relocate shared libraries at runtime.
3960- ;;
3961-
3962- msdosdjgpp*)
3963- # Just because we use GCC doesn't mean we suddenly get shared libraries
3964- # on systems that don't support them.
3965- _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no
3966- enable_shared=no
3967- ;;
3968-
3969- *nto* | *qnx*)
3970- # QNX uses GNU C++, but need to define -shared option too, otherwise
3971- # it will coredump.
3972- _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared'
3973- ;;
3974-
3975- sysv4*MP*)
3976- if test -d /usr/nec; then
3977- _LT_TAGVAR(lt_prog_compiler_pic, $1)=-Kconform_pic
3978- fi
3979- ;;
3980-
3981- *)
3982- _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
3983- ;;
3984- esac
3985- else
3986- # PORTME Check for flag to pass linker flags through the system compiler.
3987- case $host_os in
3988- aix*)
3989- _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
3990- if test "$host_cpu" = ia64; then
3991- # AIX 5 now supports IA64 processor
3992- _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
3993- else
3994- _LT_TAGVAR(lt_prog_compiler_static, $1)='-bnso -bI:/lib/syscalls.exp'
3995- fi
3996- ;;
3997-
3998- mingw* | cygwin* | pw32* | os2* | cegcc*)
3999- # This hack is so that the source file can tell whether it is being
4000- # built for inclusion in a dll (and should export symbols for example).
4001- m4_if([$1], [GCJ], [],
4002- [_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT'])
4003- ;;
4004-
4005- hpux9* | hpux10* | hpux11*)
4006- _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4007- # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but
4008- # not for PA HP-UX.
4009- case $host_cpu in
4010- hppa*64*|ia64*)
4011- # +Z the default
4012- ;;
4013- *)
4014- _LT_TAGVAR(lt_prog_compiler_pic, $1)='+Z'
4015- ;;
4016- esac
4017- # Is there a better lt_prog_compiler_static that works with the bundled CC?
4018- _LT_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive'
4019- ;;
4020-
4021- irix5* | irix6* | nonstopux*)
4022- _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4023- # PIC (with -KPIC) is the default.
4024- _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
4025- ;;
4026-
4027- linux* | k*bsd*-gnu)
4028- case $cc_basename in
4029- # old Intel for x86_64 which still supported -KPIC.
4030- ecc*)
4031- _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4032- _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
4033- _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
4034- ;;
4035- # icc used to be incompatible with GCC.
4036- # ICC 10 doesn't accept -KPIC any more.
4037- icc* | ifort*)
4038- _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4039- _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
4040- _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
4041- ;;
4042- # Lahey Fortran 8.1.
4043- lf95*)
4044- _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4045- _LT_TAGVAR(lt_prog_compiler_pic, $1)='--shared'
4046- _LT_TAGVAR(lt_prog_compiler_static, $1)='--static'
4047- ;;
4048- pgcc* | pgf77* | pgf90* | pgf95*)
4049- # Portland Group compilers (*not* the Pentium gcc compiler,
4050- # which looks to be a dead project)
4051- _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4052- _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fpic'
4053- _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
4054- ;;
4055- ccc*)
4056- _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4057- # All Alpha code is PIC.
4058- _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
4059- ;;
4060- xl*)
4061- # IBM XL C 8.0/Fortran 10.1 on PPC
4062- _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4063- _LT_TAGVAR(lt_prog_compiler_pic, $1)='-qpic'
4064- _LT_TAGVAR(lt_prog_compiler_static, $1)='-qstaticlink'
4065- ;;
4066- *)
4067- case `$CC -V 2>&1 | sed 5q` in
4068- *Sun\ C*)
4069- # Sun C 5.9
4070- _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
4071- _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
4072- _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4073- ;;
4074- *Sun\ F*)
4075- # Sun Fortran 8.3 passes all unrecognized flags to the linker
4076- _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
4077- _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
4078- _LT_TAGVAR(lt_prog_compiler_wl, $1)=''
4079- ;;
4080- esac
4081- ;;
4082- esac
4083- ;;
4084-
4085- newsos6)
4086- _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
4087- _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
4088- ;;
4089-
4090- *nto* | *qnx*)
4091- # QNX uses GNU C++, but need to define -shared option too, otherwise
4092- # it will coredump.
4093- _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared'
4094- ;;
4095-
4096- osf3* | osf4* | osf5*)
4097- _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4098- # All OSF/1 code is PIC.
4099- _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
4100- ;;
4101-
4102- rdos*)
4103- _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
4104- ;;
4105-
4106- solaris*)
4107- _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
4108- _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
4109- case $cc_basename in
4110- f77* | f90* | f95*)
4111- _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ';;
4112- *)
4113- _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,';;
4114- esac
4115- ;;
4116-
4117- sunos4*)
4118- _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld '
4119- _LT_TAGVAR(lt_prog_compiler_pic, $1)='-PIC'
4120- _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
4121- ;;
4122-
4123- sysv4 | sysv4.2uw2* | sysv4.3*)
4124- _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4125- _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
4126- _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
4127- ;;
4128-
4129- sysv4*MP*)
4130- if test -d /usr/nec ;then
4131- _LT_TAGVAR(lt_prog_compiler_pic, $1)='-Kconform_pic'
4132- _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
4133- fi
4134- ;;
4135-
4136- sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*)
4137- _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4138- _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
4139- _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
4140- ;;
4141-
4142- unicos*)
4143- _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
4144- _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no
4145- ;;
4146-
4147- uts4*)
4148- _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
4149- _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
4150- ;;
4151-
4152- *)
4153- _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no
4154- ;;
4155- esac
4156- fi
4157-])
4158-case $host_os in
4159- # For platforms which do not support PIC, -DPIC is meaningless:
4160- *djgpp*)
4161- _LT_TAGVAR(lt_prog_compiler_pic, $1)=
4162- ;;
4163- *)
4164- _LT_TAGVAR(lt_prog_compiler_pic, $1)="$_LT_TAGVAR(lt_prog_compiler_pic, $1)@&t@m4_if([$1],[],[ -DPIC],[m4_if([$1],[CXX],[ -DPIC],[])])"
4165- ;;
4166-esac
4167-AC_MSG_RESULT([$_LT_TAGVAR(lt_prog_compiler_pic, $1)])
4168-_LT_TAGDECL([wl], [lt_prog_compiler_wl], [1],
4169- [How to pass a linker flag through the compiler])
4170-
4171-#
4172-# Check to make sure the PIC flag actually works.
4173-#
4174-if test -n "$_LT_TAGVAR(lt_prog_compiler_pic, $1)"; then
4175- _LT_COMPILER_OPTION([if $compiler PIC flag $_LT_TAGVAR(lt_prog_compiler_pic, $1) works],
4176- [_LT_TAGVAR(lt_cv_prog_compiler_pic_works, $1)],
4177- [$_LT_TAGVAR(lt_prog_compiler_pic, $1)@&t@m4_if([$1],[],[ -DPIC],[m4_if([$1],[CXX],[ -DPIC],[])])], [],
4178- [case $_LT_TAGVAR(lt_prog_compiler_pic, $1) in
4179- "" | " "*) ;;
4180- *) _LT_TAGVAR(lt_prog_compiler_pic, $1)=" $_LT_TAGVAR(lt_prog_compiler_pic, $1)" ;;
4181- esac],
4182- [_LT_TAGVAR(lt_prog_compiler_pic, $1)=
4183- _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no])
4184-fi
4185-_LT_TAGDECL([pic_flag], [lt_prog_compiler_pic], [1],
4186- [Additional compiler flags for building library objects])
4187-
4188-#
4189-# Check to make sure the static flag actually works.
4190-#
4191-wl=$_LT_TAGVAR(lt_prog_compiler_wl, $1) eval lt_tmp_static_flag=\"$_LT_TAGVAR(lt_prog_compiler_static, $1)\"
4192-_LT_LINKER_OPTION([if $compiler static flag $lt_tmp_static_flag works],
4193- _LT_TAGVAR(lt_cv_prog_compiler_static_works, $1),
4194- $lt_tmp_static_flag,
4195- [],
4196- [_LT_TAGVAR(lt_prog_compiler_static, $1)=])
4197-_LT_TAGDECL([link_static_flag], [lt_prog_compiler_static], [1],
4198- [Compiler flag to prevent dynamic linking])
4199-])# _LT_COMPILER_PIC
4200-
4201-
4202-# _LT_LINKER_SHLIBS([TAGNAME])
4203-# ----------------------------
4204-# See if the linker supports building shared libraries.
4205-m4_defun([_LT_LINKER_SHLIBS],
4206-[AC_REQUIRE([LT_PATH_LD])dnl
4207-AC_REQUIRE([LT_PATH_NM])dnl
4208-m4_require([_LT_FILEUTILS_DEFAULTS])dnl
4209-m4_require([_LT_DECL_EGREP])dnl
4210-m4_require([_LT_DECL_SED])dnl
4211-m4_require([_LT_CMD_GLOBAL_SYMBOLS])dnl
4212-m4_require([_LT_TAG_COMPILER])dnl
4213-AC_MSG_CHECKING([whether the $compiler linker ($LD) supports shared libraries])
4214-m4_if([$1], [CXX], [
4215- _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
4216- case $host_os in
4217- aix[[4-9]]*)
4218- # If we're using GNU nm, then we don't want the "-C" option.
4219- # -C means demangle to AIX nm, but means don't demangle with GNU nm
4220- if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then
4221- _LT_TAGVAR(export_symbols_cmds, $1)='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && ([substr](\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols'
4222- else
4223- _LT_TAGVAR(export_symbols_cmds, $1)='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && ([substr](\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols'
4224- fi
4225- ;;
4226- pw32*)
4227- _LT_TAGVAR(export_symbols_cmds, $1)="$ltdll_cmds"
4228- ;;
4229- cygwin* | mingw* | cegcc*)
4230- _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]][[ ]]/s/.*[[ ]]\([[^ ]]*\)/\1 DATA/;/^.*[[ ]]__nm__/s/^.*[[ ]]__nm__\([[^ ]]*\)[[ ]][[^ ]]*/\1 DATA/;/^I[[ ]]/d;/^[[AITW]][[ ]]/s/.* //'\'' | sort | uniq > $export_symbols'
4231- ;;
4232- *)
4233- _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
4234- ;;
4235- esac
4236- _LT_TAGVAR(exclude_expsyms, $1)=['_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*']
4237-], [
4238- runpath_var=
4239- _LT_TAGVAR(allow_undefined_flag, $1)=
4240- _LT_TAGVAR(always_export_symbols, $1)=no
4241- _LT_TAGVAR(archive_cmds, $1)=
4242- _LT_TAGVAR(archive_expsym_cmds, $1)=
4243- _LT_TAGVAR(compiler_needs_object, $1)=no
4244- _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no
4245- _LT_TAGVAR(export_dynamic_flag_spec, $1)=
4246- _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
4247- _LT_TAGVAR(hardcode_automatic, $1)=no
4248- _LT_TAGVAR(hardcode_direct, $1)=no
4249- _LT_TAGVAR(hardcode_direct_absolute, $1)=no
4250- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
4251- _LT_TAGVAR(hardcode_libdir_flag_spec_ld, $1)=
4252- _LT_TAGVAR(hardcode_libdir_separator, $1)=
4253- _LT_TAGVAR(hardcode_minus_L, $1)=no
4254- _LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported
4255- _LT_TAGVAR(inherit_rpath, $1)=no
4256- _LT_TAGVAR(link_all_deplibs, $1)=unknown
4257- _LT_TAGVAR(module_cmds, $1)=
4258- _LT_TAGVAR(module_expsym_cmds, $1)=
4259- _LT_TAGVAR(old_archive_from_new_cmds, $1)=
4260- _LT_TAGVAR(old_archive_from_expsyms_cmds, $1)=
4261- _LT_TAGVAR(thread_safe_flag_spec, $1)=
4262- _LT_TAGVAR(whole_archive_flag_spec, $1)=
4263- # include_expsyms should be a list of space-separated symbols to be *always*
4264- # included in the symbol list
4265- _LT_TAGVAR(include_expsyms, $1)=
4266- # exclude_expsyms can be an extended regexp of symbols to exclude
4267- # it will be wrapped by ` (' and `)$', so one must not match beginning or
4268- # end of line. Example: `a|bc|.*d.*' will exclude the symbols `a' and `bc',
4269- # as well as any symbol that contains `d'.
4270- _LT_TAGVAR(exclude_expsyms, $1)=['_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*']
4271- # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out
4272- # platforms (ab)use it in PIC code, but their linkers get confused if
4273- # the symbol is explicitly referenced. Since portable code cannot
4274- # rely on this symbol name, it's probably fine to never include it in
4275- # preloaded symbol tables.
4276- # Exclude shared library initialization/finalization symbols.
4277-dnl Note also adjust exclude_expsyms for C++ above.
4278- extract_expsyms_cmds=
4279-
4280- case $host_os in
4281- cygwin* | mingw* | pw32* | cegcc*)
4282- # FIXME: the MSVC++ port hasn't been tested in a loooong time
4283- # When not using gcc, we currently assume that we are using
4284- # Microsoft Visual C++.
4285- if test "$GCC" != yes; then
4286- with_gnu_ld=no
4287- fi
4288- ;;
4289- interix*)
4290- # we just hope/assume this is gcc and not c89 (= MSVC++)
4291- with_gnu_ld=yes
4292- ;;
4293- openbsd*)
4294- with_gnu_ld=no
4295- ;;
4296- esac
4297-
4298- _LT_TAGVAR(ld_shlibs, $1)=yes
4299- if test "$with_gnu_ld" = yes; then
4300- # If archive_cmds runs LD, not CC, wlarc should be empty
4301- wlarc='${wl}'
4302-
4303- # Set some defaults for GNU ld with shared library support. These
4304- # are reset later if shared libraries are not supported. Putting them
4305- # here allows them to be overridden if necessary.
4306- runpath_var=LD_RUN_PATH
4307- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
4308- _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
4309- # ancient GNU ld didn't support --whole-archive et. al.
4310- if $LD --help 2>&1 | $GREP 'no-whole-archive' > /dev/null; then
4311- _LT_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
4312- else
4313- _LT_TAGVAR(whole_archive_flag_spec, $1)=
4314- fi
4315- supports_anon_versioning=no
4316- case `$LD -v 2>&1` in
4317- *\ [[01]].* | *\ 2.[[0-9]].* | *\ 2.10.*) ;; # catch versions < 2.11
4318- *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ...
4319- *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ...
4320- *\ 2.11.*) ;; # other 2.11 versions
4321- *) supports_anon_versioning=yes ;;
4322- esac
4323-
4324- # See if GNU ld supports shared libraries.
4325- case $host_os in
4326- aix[[3-9]]*)
4327- # On AIX/PPC, the GNU linker is very broken
4328- if test "$host_cpu" != ia64; then
4329- _LT_TAGVAR(ld_shlibs, $1)=no
4330- cat <<_LT_EOF 1>&2
4331-
4332-*** Warning: the GNU linker, at least up to release 2.9.1, is reported
4333-*** to be unable to reliably create shared libraries on AIX.
4334-*** Therefore, libtool is disabling shared libraries support. If you
4335-*** really care for shared libraries, you may want to modify your PATH
4336-*** so that a non-GNU linker is found, and then restart.
4337-
4338-_LT_EOF
4339- fi
4340- ;;
4341-
4342- amigaos*)
4343- case $host_cpu in
4344- powerpc)
4345- # see comment about AmigaOS4 .so support
4346- _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
4347- _LT_TAGVAR(archive_expsym_cmds, $1)=''
4348- ;;
4349- m68k)
4350- _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/a2ixlibrary.data~$ECHO "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$ECHO "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$ECHO "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$ECHO "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)'
4351- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
4352- _LT_TAGVAR(hardcode_minus_L, $1)=yes
4353- ;;
4354- esac
4355- ;;
4356-
4357- beos*)
4358- if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
4359- _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
4360- # Joseph Beckenbach <jrb3@best.com> says some releases of gcc
4361- # support --undefined. This deserves some investigation. FIXME
4362- _LT_TAGVAR(archive_cmds, $1)='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
4363- else
4364- _LT_TAGVAR(ld_shlibs, $1)=no
4365- fi
4366- ;;
4367-
4368- cygwin* | mingw* | pw32* | cegcc*)
4369- # _LT_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless,
4370- # as there is no search path for DLLs.
4371- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
4372- _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
4373- _LT_TAGVAR(always_export_symbols, $1)=no
4374- _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
4375- _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]][[ ]]/s/.*[[ ]]\([[^ ]]*\)/\1 DATA/'\'' | $SED -e '\''/^[[AITW]][[ ]]/s/.*[[ ]]//'\'' | sort | uniq > $export_symbols'
4376-
4377- if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then
4378- _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
4379- # If the export-symbols file already is a .def file (1st line
4380- # is EXPORTS), use it as is; otherwise, prepend...
4381- _LT_TAGVAR(archive_expsym_cmds, $1)='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then
4382- cp $export_symbols $output_objdir/$soname.def;
4383- else
4384- echo EXPORTS > $output_objdir/$soname.def;
4385- cat $export_symbols >> $output_objdir/$soname.def;
4386- fi~
4387- $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
4388- else
4389- _LT_TAGVAR(ld_shlibs, $1)=no
4390- fi
4391- ;;
4392-
4393- interix[[3-9]]*)
4394- _LT_TAGVAR(hardcode_direct, $1)=no
4395- _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
4396- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
4397- _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
4398- # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc.
4399- # Instead, shared libraries are loaded at an image base (0x10000000 by
4400- # default) and relocated if they conflict, which is a slow very memory
4401- # consuming and fragmenting process. To avoid this, we pick a random,
4402- # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link
4403- # time. Moving up from 0x10000000 also allows more sbrk(2) space.
4404- _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
4405- _LT_TAGVAR(archive_expsym_cmds, $1)='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
4406- ;;
4407-
4408- gnu* | linux* | tpf* | k*bsd*-gnu)
4409- tmp_diet=no
4410- if test "$host_os" = linux-dietlibc; then
4411- case $cc_basename in
4412- diet\ *) tmp_diet=yes;; # linux-dietlibc with static linking (!diet-dyn)
4413- esac
4414- fi
4415- if $LD --help 2>&1 | $EGREP ': supported targets:.* elf' > /dev/null \
4416- && test "$tmp_diet" = no
4417- then
4418- tmp_addflag=
4419- tmp_sharedflag='-shared'
4420- case $cc_basename,$host_cpu in
4421- pgcc*) # Portland Group C compiler
4422- _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $ECHO \"$new_convenience\"` ${wl}--no-whole-archive'
4423- tmp_addflag=' $pic_flag'
4424- ;;
4425- pgf77* | pgf90* | pgf95*) # Portland Group f77 and f90 compilers
4426- _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $ECHO \"$new_convenience\"` ${wl}--no-whole-archive'
4427- tmp_addflag=' $pic_flag -Mnomain' ;;
4428- ecc*,ia64* | icc*,ia64*) # Intel C compiler on ia64
4429- tmp_addflag=' -i_dynamic' ;;
4430- efc*,ia64* | ifort*,ia64*) # Intel Fortran compiler on ia64
4431- tmp_addflag=' -i_dynamic -nofor_main' ;;
4432- ifc* | ifort*) # Intel Fortran compiler
4433- tmp_addflag=' -nofor_main' ;;
4434- lf95*) # Lahey Fortran 8.1
4435- _LT_TAGVAR(whole_archive_flag_spec, $1)=
4436- tmp_sharedflag='--shared' ;;
4437- xl[[cC]]*) # IBM XL C 8.0 on PPC (deal with xlf below)
4438- tmp_sharedflag='-qmkshrobj'
4439- tmp_addflag= ;;
4440- esac
4441- case `$CC -V 2>&1 | sed 5q` in
4442- *Sun\ C*) # Sun C 5.9
4443- _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; $ECHO \"$new_convenience\"` ${wl}--no-whole-archive'
4444- _LT_TAGVAR(compiler_needs_object, $1)=yes
4445- tmp_sharedflag='-G' ;;
4446- *Sun\ F*) # Sun Fortran 8.3
4447- tmp_sharedflag='-G' ;;
4448- esac
4449- _LT_TAGVAR(archive_cmds, $1)='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
4450-
4451- if test "x$supports_anon_versioning" = xyes; then
4452- _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~
4453- cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
4454- echo "local: *; };" >> $output_objdir/$libname.ver~
4455- $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib'
4456- fi
4457-
4458- case $cc_basename in
4459- xlf*)
4460- # IBM XL Fortran 10.1 on PPC cannot create shared libs itself
4461- _LT_TAGVAR(whole_archive_flag_spec, $1)='--whole-archive$convenience --no-whole-archive'
4462- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
4463- _LT_TAGVAR(hardcode_libdir_flag_spec_ld, $1)='-rpath $libdir'
4464- _LT_TAGVAR(archive_cmds, $1)='$LD -shared $libobjs $deplibs $compiler_flags -soname $soname -o $lib'
4465- if test "x$supports_anon_versioning" = xyes; then
4466- _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~
4467- cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
4468- echo "local: *; };" >> $output_objdir/$libname.ver~
4469- $LD -shared $libobjs $deplibs $compiler_flags -soname $soname -version-script $output_objdir/$libname.ver -o $lib'
4470- fi
4471- ;;
4472- esac
4473- else
4474- _LT_TAGVAR(ld_shlibs, $1)=no
4475- fi
4476- ;;
4477-
4478- netbsd*)
4479- if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
4480- _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib'
4481- wlarc=
4482- else
4483- _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
4484- _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
4485- fi
4486- ;;
4487-
4488- solaris*)
4489- if $LD -v 2>&1 | $GREP 'BFD 2\.8' > /dev/null; then
4490- _LT_TAGVAR(ld_shlibs, $1)=no
4491- cat <<_LT_EOF 1>&2
4492-
4493-*** Warning: The releases 2.8.* of the GNU linker cannot reliably
4494-*** create shared libraries on Solaris systems. Therefore, libtool
4495-*** is disabling shared libraries support. We urge you to upgrade GNU
4496-*** binutils to release 2.9.1 or newer. Another option is to modify
4497-*** your PATH or compiler configuration so that the native linker is
4498-*** used, and then restart.
4499-
4500-_LT_EOF
4501- elif $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
4502- _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
4503- _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
4504- else
4505- _LT_TAGVAR(ld_shlibs, $1)=no
4506- fi
4507- ;;
4508-
4509- sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*)
4510- case `$LD -v 2>&1` in
4511- *\ [[01]].* | *\ 2.[[0-9]].* | *\ 2.1[[0-5]].*)
4512- _LT_TAGVAR(ld_shlibs, $1)=no
4513- cat <<_LT_EOF 1>&2
4514-
4515-*** Warning: Releases of the GNU linker prior to 2.16.91.0.3 can not
4516-*** reliably create shared libraries on SCO systems. Therefore, libtool
4517-*** is disabling shared libraries support. We urge you to upgrade GNU
4518-*** binutils to release 2.16.91.0.3 or newer. Another option is to modify
4519-*** your PATH or compiler configuration so that the native linker is
4520-*** used, and then restart.
4521-
4522-_LT_EOF
4523- ;;
4524- *)
4525- # For security reasons, it is highly recommended that you always
4526- # use absolute paths for naming shared libraries, and exclude the
4527- # DT_RUNPATH tag from executables and libraries. But doing so
4528- # requires that you compile everything twice, which is a pain.
4529- if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
4530- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
4531- _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
4532- _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
4533- else
4534- _LT_TAGVAR(ld_shlibs, $1)=no
4535- fi
4536- ;;
4537- esac
4538- ;;
4539-
4540- sunos4*)
4541- _LT_TAGVAR(archive_cmds, $1)='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags'
4542- wlarc=
4543- _LT_TAGVAR(hardcode_direct, $1)=yes
4544- _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
4545- ;;
4546-
4547- *)
4548- if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
4549- _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
4550- _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
4551- else
4552- _LT_TAGVAR(ld_shlibs, $1)=no
4553- fi
4554- ;;
4555- esac
4556-
4557- if test "$_LT_TAGVAR(ld_shlibs, $1)" = no; then
4558- runpath_var=
4559- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
4560- _LT_TAGVAR(export_dynamic_flag_spec, $1)=
4561- _LT_TAGVAR(whole_archive_flag_spec, $1)=
4562- fi
4563- else
4564- # PORTME fill in a description of your system's linker (not GNU ld)
4565- case $host_os in
4566- aix3*)
4567- _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
4568- _LT_TAGVAR(always_export_symbols, $1)=yes
4569- _LT_TAGVAR(archive_expsym_cmds, $1)='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname'
4570- # Note: this linker hardcodes the directories in LIBPATH if there
4571- # are no directories specified by -L.
4572- _LT_TAGVAR(hardcode_minus_L, $1)=yes
4573- if test "$GCC" = yes && test -z "$lt_prog_compiler_static"; then
4574- # Neither direct hardcoding nor static linking is supported with a
4575- # broken collect2.
4576- _LT_TAGVAR(hardcode_direct, $1)=unsupported
4577- fi
4578- ;;
4579-
4580- aix[[4-9]]*)
4581- if test "$host_cpu" = ia64; then
4582- # On IA64, the linker does run time linking by default, so we don't
4583- # have to do anything special.
4584- aix_use_runtimelinking=no
4585- exp_sym_flag='-Bexport'
4586- no_entry_flag=""
4587- else
4588- # If we're using GNU nm, then we don't want the "-C" option.
4589- # -C means demangle to AIX nm, but means don't demangle with GNU nm
4590- if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then
4591- _LT_TAGVAR(export_symbols_cmds, $1)='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && ([substr](\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols'
4592- else
4593- _LT_TAGVAR(export_symbols_cmds, $1)='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && ([substr](\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols'
4594- fi
4595- aix_use_runtimelinking=no
4596-
4597- # Test if we are trying to use run time linking or normal
4598- # AIX style linking. If -brtl is somewhere in LDFLAGS, we
4599- # need to do runtime linking.
4600- case $host_os in aix4.[[23]]|aix4.[[23]].*|aix[[5-9]]*)
4601- for ld_flag in $LDFLAGS; do
4602- if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then
4603- aix_use_runtimelinking=yes
4604- break
4605- fi
4606- done
4607- ;;
4608- esac
4609-
4610- exp_sym_flag='-bexport'
4611- no_entry_flag='-bnoentry'
4612- fi
4613-
4614- # When large executables or shared objects are built, AIX ld can
4615- # have problems creating the table of contents. If linking a library
4616- # or program results in "error TOC overflow" add -mminimal-toc to
4617- # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not
4618- # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS.
4619-
4620- _LT_TAGVAR(archive_cmds, $1)=''
4621- _LT_TAGVAR(hardcode_direct, $1)=yes
4622- _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
4623- _LT_TAGVAR(hardcode_libdir_separator, $1)=':'
4624- _LT_TAGVAR(link_all_deplibs, $1)=yes
4625- _LT_TAGVAR(file_list_spec, $1)='${wl}-f,'
4626-
4627- if test "$GCC" = yes; then
4628- case $host_os in aix4.[[012]]|aix4.[[012]].*)
4629- # We only want to do this on AIX 4.2 and lower, the check
4630- # below for broken collect2 doesn't work under 4.3+
4631- collect2name=`${CC} -print-prog-name=collect2`
4632- if test -f "$collect2name" &&
4633- strings "$collect2name" | $GREP resolve_lib_name >/dev/null
4634- then
4635- # We have reworked collect2
4636- :
4637- else
4638- # We have old collect2
4639- _LT_TAGVAR(hardcode_direct, $1)=unsupported
4640- # It fails to find uninstalled libraries when the uninstalled
4641- # path is not listed in the libpath. Setting hardcode_minus_L
4642- # to unsupported forces relinking
4643- _LT_TAGVAR(hardcode_minus_L, $1)=yes
4644- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
4645- _LT_TAGVAR(hardcode_libdir_separator, $1)=
4646- fi
4647- ;;
4648- esac
4649- shared_flag='-shared'
4650- if test "$aix_use_runtimelinking" = yes; then
4651- shared_flag="$shared_flag "'${wl}-G'
4652- fi
4653- else
4654- # not using gcc
4655- if test "$host_cpu" = ia64; then
4656- # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release
4657- # chokes on -Wl,-G. The following line is correct:
4658- shared_flag='-G'
4659- else
4660- if test "$aix_use_runtimelinking" = yes; then
4661- shared_flag='${wl}-G'
4662- else
4663- shared_flag='${wl}-bM:SRE'
4664- fi
4665- fi
4666- fi
4667-
4668- _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-bexpall'
4669- # It seems that -bexpall does not export symbols beginning with
4670- # underscore (_), so it is better to generate a list of symbols to export.
4671- _LT_TAGVAR(always_export_symbols, $1)=yes
4672- if test "$aix_use_runtimelinking" = yes; then
4673- # Warning - without using the other runtime loading flags (-brtl),
4674- # -berok will link without error, but may produce a broken library.
4675- _LT_TAGVAR(allow_undefined_flag, $1)='-berok'
4676- # Determine the default libpath from the value encoded in an
4677- # empty executable.
4678- _LT_SYS_MODULE_PATH_AIX
4679- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath"
4680- _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then $ECHO "X${wl}${allow_undefined_flag}" | $Xsed; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag"
4681- else
4682- if test "$host_cpu" = ia64; then
4683- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $libdir:/usr/lib:/lib'
4684- _LT_TAGVAR(allow_undefined_flag, $1)="-z nodefs"
4685- _LT_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols"
4686- else
4687- # Determine the default libpath from the value encoded in an
4688- # empty executable.
4689- _LT_SYS_MODULE_PATH_AIX
4690- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath"
4691- # Warning - without using the other run time loading flags,
4692- # -berok will link without error, but may produce a broken library.
4693- _LT_TAGVAR(no_undefined_flag, $1)=' ${wl}-bernotok'
4694- _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-berok'
4695- # Exported symbols can be pulled into shared objects from archives
4696- _LT_TAGVAR(whole_archive_flag_spec, $1)='$convenience'
4697- _LT_TAGVAR(archive_cmds_need_lc, $1)=yes
4698- # This is similar to how AIX traditionally builds its shared libraries.
4699- _LT_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname'
4700- fi
4701- fi
4702- ;;
4703-
4704- amigaos*)
4705- case $host_cpu in
4706- powerpc)
4707- # see comment about AmigaOS4 .so support
4708- _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
4709- _LT_TAGVAR(archive_expsym_cmds, $1)=''
4710- ;;
4711- m68k)
4712- _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/a2ixlibrary.data~$ECHO "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$ECHO "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$ECHO "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$ECHO "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)'
4713- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
4714- _LT_TAGVAR(hardcode_minus_L, $1)=yes
4715- ;;
4716- esac
4717- ;;
4718-
4719- bsdi[[45]]*)
4720- _LT_TAGVAR(export_dynamic_flag_spec, $1)=-rdynamic
4721- ;;
4722-
4723- cygwin* | mingw* | pw32* | cegcc*)
4724- # When not using gcc, we currently assume that we are using
4725- # Microsoft Visual C++.
4726- # hardcode_libdir_flag_spec is actually meaningless, as there is
4727- # no search path for DLLs.
4728- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=' '
4729- _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
4730- # Tell ltmain to make .lib files, not .a files.
4731- libext=lib
4732- # Tell ltmain to make .dll files, not .so files.
4733- shrext_cmds=".dll"
4734- # FIXME: Setting linknames here is a bad hack.
4735- _LT_TAGVAR(archive_cmds, $1)='$CC -o $lib $libobjs $compiler_flags `$ECHO "X$deplibs" | $Xsed -e '\''s/ -lc$//'\''` -link -dll~linknames='
4736- # The linker will automatically build a .lib file if we build a DLL.
4737- _LT_TAGVAR(old_archive_from_new_cmds, $1)='true'
4738- # FIXME: Should let the user specify the lib program.
4739- _LT_TAGVAR(old_archive_cmds, $1)='lib -OUT:$oldlib$oldobjs$old_deplibs'
4740- _LT_TAGVAR(fix_srcfile_path, $1)='`cygpath -w "$srcfile"`'
4741- _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
4742- ;;
4743-
4744- darwin* | rhapsody*)
4745- _LT_DARWIN_LINKER_FEATURES($1)
4746- ;;
4747-
4748- dgux*)
4749- _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
4750- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
4751- _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
4752- ;;
4753-
4754- freebsd1*)
4755- _LT_TAGVAR(ld_shlibs, $1)=no
4756- ;;
4757-
4758- # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor
4759- # support. Future versions do this automatically, but an explicit c++rt0.o
4760- # does not break anything, and helps significantly (at the cost of a little
4761- # extra space).
4762- freebsd2.2*)
4763- _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o'
4764- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
4765- _LT_TAGVAR(hardcode_direct, $1)=yes
4766- _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
4767- ;;
4768-
4769- # Unfortunately, older versions of FreeBSD 2 do not have this feature.
4770- freebsd2*)
4771- _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
4772- _LT_TAGVAR(hardcode_direct, $1)=yes
4773- _LT_TAGVAR(hardcode_minus_L, $1)=yes
4774- _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
4775- ;;
4776-
4777- # FreeBSD 3 and greater uses gcc -shared to do shared libraries.
4778- freebsd* | dragonfly*)
4779- _LT_TAGVAR(archive_cmds, $1)='$CC -shared -o $lib $libobjs $deplibs $compiler_flags'
4780- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
4781- _LT_TAGVAR(hardcode_direct, $1)=yes
4782- _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
4783- ;;
4784-
4785- hpux9*)
4786- if test "$GCC" = yes; then
4787- _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$CC -shared -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
4788- else
4789- _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
4790- fi
4791- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
4792- _LT_TAGVAR(hardcode_libdir_separator, $1)=:
4793- _LT_TAGVAR(hardcode_direct, $1)=yes
4794-
4795- # hardcode_minus_L: Not really in the search PATH,
4796- # but as the default location of the library.
4797- _LT_TAGVAR(hardcode_minus_L, $1)=yes
4798- _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
4799- ;;
4800-
4801- hpux10*)
4802- if test "$GCC" = yes -a "$with_gnu_ld" = no; then
4803- _LT_TAGVAR(archive_cmds, $1)='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
4804- else
4805- _LT_TAGVAR(archive_cmds, $1)='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags'
4806- fi
4807- if test "$with_gnu_ld" = no; then
4808- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
4809- _LT_TAGVAR(hardcode_libdir_flag_spec_ld, $1)='+b $libdir'
4810- _LT_TAGVAR(hardcode_libdir_separator, $1)=:
4811- _LT_TAGVAR(hardcode_direct, $1)=yes
4812- _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
4813- _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
4814- # hardcode_minus_L: Not really in the search PATH,
4815- # but as the default location of the library.
4816- _LT_TAGVAR(hardcode_minus_L, $1)=yes
4817- fi
4818- ;;
4819-
4820- hpux11*)
4821- if test "$GCC" = yes -a "$with_gnu_ld" = no; then
4822- case $host_cpu in
4823- hppa*64*)
4824- _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
4825- ;;
4826- ia64*)
4827- _LT_TAGVAR(archive_cmds, $1)='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
4828- ;;
4829- *)
4830- _LT_TAGVAR(archive_cmds, $1)='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
4831- ;;
4832- esac
4833- else
4834- case $host_cpu in
4835- hppa*64*)
4836- _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
4837- ;;
4838- ia64*)
4839- _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
4840- ;;
4841- *)
4842- _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
4843- ;;
4844- esac
4845- fi
4846- if test "$with_gnu_ld" = no; then
4847- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
4848- _LT_TAGVAR(hardcode_libdir_separator, $1)=:
4849-
4850- case $host_cpu in
4851- hppa*64*|ia64*)
4852- _LT_TAGVAR(hardcode_direct, $1)=no
4853- _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
4854- ;;
4855- *)
4856- _LT_TAGVAR(hardcode_direct, $1)=yes
4857- _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
4858- _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
4859-
4860- # hardcode_minus_L: Not really in the search PATH,
4861- # but as the default location of the library.
4862- _LT_TAGVAR(hardcode_minus_L, $1)=yes
4863- ;;
4864- esac
4865- fi
4866- ;;
4867-
4868- irix5* | irix6* | nonstopux*)
4869- if test "$GCC" = yes; then
4870- _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
4871- # Try to use the -exported_symbol ld option, if it does not
4872- # work, assume that -exports_file does not work either and
4873- # implicitly export all symbols.
4874- save_LDFLAGS="$LDFLAGS"
4875- LDFLAGS="$LDFLAGS -shared ${wl}-exported_symbol ${wl}foo ${wl}-update_registry ${wl}/dev/null"
4876- AC_LINK_IFELSE(int foo(void) {},
4877- _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations ${wl}-exports_file ${wl}$export_symbols -o $lib'
4878- )
4879- LDFLAGS="$save_LDFLAGS"
4880- else
4881- _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib'
4882- _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -exports_file $export_symbols -o $lib'
4883- fi
4884- _LT_TAGVAR(archive_cmds_need_lc, $1)='no'
4885- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
4886- _LT_TAGVAR(hardcode_libdir_separator, $1)=:
4887- _LT_TAGVAR(inherit_rpath, $1)=yes
4888- _LT_TAGVAR(link_all_deplibs, $1)=yes
4889- ;;
4890-
4891- netbsd*)
4892- if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
4893- _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out
4894- else
4895- _LT_TAGVAR(archive_cmds, $1)='$LD -shared -o $lib $libobjs $deplibs $linker_flags' # ELF
4896- fi
4897- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
4898- _LT_TAGVAR(hardcode_direct, $1)=yes
4899- _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
4900- ;;
4901-
4902- newsos6)
4903- _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
4904- _LT_TAGVAR(hardcode_direct, $1)=yes
4905- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
4906- _LT_TAGVAR(hardcode_libdir_separator, $1)=:
4907- _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
4908- ;;
4909-
4910- *nto* | *qnx*)
4911- ;;
4912-
4913- openbsd*)
4914- if test -f /usr/libexec/ld.so; then
4915- _LT_TAGVAR(hardcode_direct, $1)=yes
4916- _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
4917- _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
4918- if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
4919- _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
4920- _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols'
4921- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
4922- _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
4923- else
4924- case $host_os in
4925- openbsd[[01]].* | openbsd2.[[0-7]] | openbsd2.[[0-7]].*)
4926- _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
4927- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
4928- ;;
4929- *)
4930- _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
4931- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
4932- ;;
4933- esac
4934- fi
4935- else
4936- _LT_TAGVAR(ld_shlibs, $1)=no
4937- fi
4938- ;;
4939-
4940- os2*)
4941- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
4942- _LT_TAGVAR(hardcode_minus_L, $1)=yes
4943- _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
4944- _LT_TAGVAR(archive_cmds, $1)='$ECHO "LIBRARY $libname INITINSTANCE" > $output_objdir/$libname.def~$ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~$ECHO DATA >> $output_objdir/$libname.def~$ECHO " SINGLE NONSHARED" >> $output_objdir/$libname.def~$ECHO EXPORTS >> $output_objdir/$libname.def~emxexp $libobjs >> $output_objdir/$libname.def~$CC -Zdll -Zcrtdll -o $lib $libobjs $deplibs $compiler_flags $output_objdir/$libname.def'
4945- _LT_TAGVAR(old_archive_from_new_cmds, $1)='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def'
4946- ;;
4947-
4948- osf3*)
4949- if test "$GCC" = yes; then
4950- _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*'
4951- _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
4952- else
4953- _LT_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*'
4954- _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib'
4955- fi
4956- _LT_TAGVAR(archive_cmds_need_lc, $1)='no'
4957- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
4958- _LT_TAGVAR(hardcode_libdir_separator, $1)=:
4959- ;;
4960-
4961- osf4* | osf5*) # as osf3* with the addition of -msym flag
4962- if test "$GCC" = yes; then
4963- _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*'
4964- _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
4965- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
4966- else
4967- _LT_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*'
4968- _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags -msym -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib'
4969- _LT_TAGVAR(archive_expsym_cmds, $1)='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; printf "%s\\n" "-hidden">> $lib.exp~
4970- $CC -shared${allow_undefined_flag} ${wl}-input ${wl}$lib.exp $compiler_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib~$RM $lib.exp'
4971-
4972- # Both c and cxx compiler support -rpath directly
4973- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir'
4974- fi
4975- _LT_TAGVAR(archive_cmds_need_lc, $1)='no'
4976- _LT_TAGVAR(hardcode_libdir_separator, $1)=:
4977- ;;
4978-
4979- solaris*)
4980- _LT_TAGVAR(no_undefined_flag, $1)=' -z defs'
4981- if test "$GCC" = yes; then
4982- wlarc='${wl}'
4983- _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-z ${wl}text ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
4984- _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
4985- $CC -shared ${wl}-z ${wl}text ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp'
4986- else
4987- case `$CC -V 2>&1` in
4988- *"Compilers 5.0"*)
4989- wlarc=''
4990- _LT_TAGVAR(archive_cmds, $1)='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags'
4991- _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
4992- $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$RM $lib.exp'
4993- ;;
4994- *)
4995- wlarc='${wl}'
4996- _LT_TAGVAR(archive_cmds, $1)='$CC -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $compiler_flags'
4997- _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
4998- $CC -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp'
4999- ;;
5000- esac
5001- fi
5002- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
5003- _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
5004- case $host_os in
5005- solaris2.[[0-5]] | solaris2.[[0-5]].*) ;;
5006- *)
5007- # The compiler driver will combine and reorder linker options,
5008- # but understands `-z linker_flag'. GCC discards it without `$wl',
5009- # but is careful enough not to reorder.
5010- # Supported since Solaris 2.6 (maybe 2.5.1?)
5011- if test "$GCC" = yes; then
5012- _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract'
5013- else
5014- _LT_TAGVAR(whole_archive_flag_spec, $1)='-z allextract$convenience -z defaultextract'
5015- fi
5016- ;;
5017- esac
5018- _LT_TAGVAR(link_all_deplibs, $1)=yes
5019- ;;
5020-
5021- sunos4*)
5022- if test "x$host_vendor" = xsequent; then
5023- # Use $CC to link under sequent, because it throws in some extra .o
5024- # files that make .init and .fini sections work.
5025- _LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h $soname -o $lib $libobjs $deplibs $compiler_flags'
5026- else
5027- _LT_TAGVAR(archive_cmds, $1)='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags'
5028- fi
5029- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
5030- _LT_TAGVAR(hardcode_direct, $1)=yes
5031- _LT_TAGVAR(hardcode_minus_L, $1)=yes
5032- _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
5033- ;;
5034-
5035- sysv4)
5036- case $host_vendor in
5037- sni)
5038- _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
5039- _LT_TAGVAR(hardcode_direct, $1)=yes # is this really true???
5040- ;;
5041- siemens)
5042- ## LD is ld it makes a PLAMLIB
5043- ## CC just makes a GrossModule.
5044- _LT_TAGVAR(archive_cmds, $1)='$LD -G -o $lib $libobjs $deplibs $linker_flags'
5045- _LT_TAGVAR(reload_cmds, $1)='$CC -r -o $output$reload_objs'
5046- _LT_TAGVAR(hardcode_direct, $1)=no
5047- ;;
5048- motorola)
5049- _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
5050- _LT_TAGVAR(hardcode_direct, $1)=no #Motorola manual says yes, but my tests say they lie
5051- ;;
5052- esac
5053- runpath_var='LD_RUN_PATH'
5054- _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
5055- ;;
5056-
5057- sysv4.3*)
5058- _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
5059- _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
5060- _LT_TAGVAR(export_dynamic_flag_spec, $1)='-Bexport'
5061- ;;
5062-
5063- sysv4*MP*)
5064- if test -d /usr/nec; then
5065- _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
5066- _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
5067- runpath_var=LD_RUN_PATH
5068- hardcode_runpath_var=yes
5069- _LT_TAGVAR(ld_shlibs, $1)=yes
5070- fi
5071- ;;
5072-
5073- sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[[01]].[[10]]* | unixware7* | sco3.2v5.0.[[024]]*)
5074- _LT_TAGVAR(no_undefined_flag, $1)='${wl}-z,text'
5075- _LT_TAGVAR(archive_cmds_need_lc, $1)=no
5076- _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
5077- runpath_var='LD_RUN_PATH'
5078-
5079- if test "$GCC" = yes; then
5080- _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
5081- _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
5082- else
5083- _LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
5084- _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
5085- fi
5086- ;;
5087-
5088- sysv5* | sco3.2v5* | sco5v6*)
5089- # Note: We can NOT use -z defs as we might desire, because we do not
5090- # link with -lc, and that would cause any symbols used from libc to
5091- # always be unresolved, which means just about no library would
5092- # ever link correctly. If we're not using GNU ld we use -z text
5093- # though, which does catch some bad symbols but isn't as heavy-handed
5094- # as -z defs.
5095- _LT_TAGVAR(no_undefined_flag, $1)='${wl}-z,text'
5096- _LT_TAGVAR(allow_undefined_flag, $1)='${wl}-z,nodefs'
5097- _LT_TAGVAR(archive_cmds_need_lc, $1)=no
5098- _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
5099- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R,$libdir'
5100- _LT_TAGVAR(hardcode_libdir_separator, $1)=':'
5101- _LT_TAGVAR(link_all_deplibs, $1)=yes
5102- _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-Bexport'
5103- runpath_var='LD_RUN_PATH'
5104-
5105- if test "$GCC" = yes; then
5106- _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
5107- _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
5108- else
5109- _LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
5110- _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
5111- fi
5112- ;;
5113-
5114- uts4*)
5115- _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
5116- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
5117- _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
5118- ;;
5119-
5120- *)
5121- _LT_TAGVAR(ld_shlibs, $1)=no
5122- ;;
5123- esac
5124-
5125- if test x$host_vendor = xsni; then
5126- case $host in
5127- sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*)
5128- _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-Blargedynsym'
5129- ;;
5130- esac
5131- fi
5132- fi
5133-])
5134-AC_MSG_RESULT([$_LT_TAGVAR(ld_shlibs, $1)])
5135-test "$_LT_TAGVAR(ld_shlibs, $1)" = no && can_build_shared=no
5136-
5137-_LT_TAGVAR(with_gnu_ld, $1)=$with_gnu_ld
5138-
5139-_LT_DECL([], [libext], [0], [Old archive suffix (normally "a")])dnl
5140-_LT_DECL([], [shrext_cmds], [1], [Shared library suffix (normally ".so")])dnl
5141-_LT_DECL([], [extract_expsyms_cmds], [2],
5142- [The commands to extract the exported symbol list from a shared archive])
5143-
5144-#
5145-# Do we need to explicitly link libc?
5146-#
5147-case "x$_LT_TAGVAR(archive_cmds_need_lc, $1)" in
5148-x|xyes)
5149- # Assume -lc should be added
5150- _LT_TAGVAR(archive_cmds_need_lc, $1)=yes
5151-
5152- if test "$enable_shared" = yes && test "$GCC" = yes; then
5153- case $_LT_TAGVAR(archive_cmds, $1) in
5154- *'~'*)
5155- # FIXME: we may have to deal with multi-command sequences.
5156- ;;
5157- '$CC '*)
5158- # Test whether the compiler implicitly links with -lc since on some
5159- # systems, -lgcc has to come before -lc. If gcc already passes -lc
5160- # to ld, don't add -lc before -lgcc.
5161- AC_MSG_CHECKING([whether -lc should be explicitly linked in])
5162- $RM conftest*
5163- echo "$lt_simple_compile_test_code" > conftest.$ac_ext
5164-
5165- if AC_TRY_EVAL(ac_compile) 2>conftest.err; then
5166- soname=conftest
5167- lib=conftest
5168- libobjs=conftest.$ac_objext
5169- deplibs=
5170- wl=$_LT_TAGVAR(lt_prog_compiler_wl, $1)
5171- pic_flag=$_LT_TAGVAR(lt_prog_compiler_pic, $1)
5172- compiler_flags=-v
5173- linker_flags=-v
5174- verstring=
5175- output_objdir=.
5176- libname=conftest
5177- lt_save_allow_undefined_flag=$_LT_TAGVAR(allow_undefined_flag, $1)
5178- _LT_TAGVAR(allow_undefined_flag, $1)=
5179- if AC_TRY_EVAL(_LT_TAGVAR(archive_cmds, $1) 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1)
5180- then
5181- _LT_TAGVAR(archive_cmds_need_lc, $1)=no
5182- else
5183- _LT_TAGVAR(archive_cmds_need_lc, $1)=yes
5184- fi
5185- _LT_TAGVAR(allow_undefined_flag, $1)=$lt_save_allow_undefined_flag
5186- else
5187- cat conftest.err 1>&5
5188- fi
5189- $RM conftest*
5190- AC_MSG_RESULT([$_LT_TAGVAR(archive_cmds_need_lc, $1)])
5191- ;;
5192- esac
5193- fi
5194- ;;
5195-esac
5196-
5197-_LT_TAGDECL([build_libtool_need_lc], [archive_cmds_need_lc], [0],
5198- [Whether or not to add -lc for building shared libraries])
5199-_LT_TAGDECL([allow_libtool_libs_with_static_runtimes],
5200- [enable_shared_with_static_runtimes], [0],
5201- [Whether or not to disallow shared libs when runtime libs are static])
5202-_LT_TAGDECL([], [export_dynamic_flag_spec], [1],
5203- [Compiler flag to allow reflexive dlopens])
5204-_LT_TAGDECL([], [whole_archive_flag_spec], [1],
5205- [Compiler flag to generate shared objects directly from archives])
5206-_LT_TAGDECL([], [compiler_needs_object], [1],
5207- [Whether the compiler copes with passing no objects directly])
5208-_LT_TAGDECL([], [old_archive_from_new_cmds], [2],
5209- [Create an old-style archive from a shared archive])
5210-_LT_TAGDECL([], [old_archive_from_expsyms_cmds], [2],
5211- [Create a temporary old-style archive to link instead of a shared archive])
5212-_LT_TAGDECL([], [archive_cmds], [2], [Commands used to build a shared archive])
5213-_LT_TAGDECL([], [archive_expsym_cmds], [2])
5214-_LT_TAGDECL([], [module_cmds], [2],
5215- [Commands used to build a loadable module if different from building
5216- a shared archive.])
5217-_LT_TAGDECL([], [module_expsym_cmds], [2])
5218-_LT_TAGDECL([], [with_gnu_ld], [1],
5219- [Whether we are building with GNU ld or not])
5220-_LT_TAGDECL([], [allow_undefined_flag], [1],
5221- [Flag that allows shared libraries with undefined symbols to be built])
5222-_LT_TAGDECL([], [no_undefined_flag], [1],
5223- [Flag that enforces no undefined symbols])
5224-_LT_TAGDECL([], [hardcode_libdir_flag_spec], [1],
5225- [Flag to hardcode $libdir into a binary during linking.
5226- This must work even if $libdir does not exist])
5227-_LT_TAGDECL([], [hardcode_libdir_flag_spec_ld], [1],
5228- [[If ld is used when linking, flag to hardcode $libdir into a binary
5229- during linking. This must work even if $libdir does not exist]])
5230-_LT_TAGDECL([], [hardcode_libdir_separator], [1],
5231- [Whether we need a single "-rpath" flag with a separated argument])
5232-_LT_TAGDECL([], [hardcode_direct], [0],
5233- [Set to "yes" if using DIR/libNAME${shared_ext} during linking hardcodes
5234- DIR into the resulting binary])
5235-_LT_TAGDECL([], [hardcode_direct_absolute], [0],
5236- [Set to "yes" if using DIR/libNAME${shared_ext} during linking hardcodes
5237- DIR into the resulting binary and the resulting library dependency is
5238- "absolute", i.e impossible to change by setting ${shlibpath_var} if the
5239- library is relocated])
5240-_LT_TAGDECL([], [hardcode_minus_L], [0],
5241- [Set to "yes" if using the -LDIR flag during linking hardcodes DIR
5242- into the resulting binary])
5243-_LT_TAGDECL([], [hardcode_shlibpath_var], [0],
5244- [Set to "yes" if using SHLIBPATH_VAR=DIR during linking hardcodes DIR
5245- into the resulting binary])
5246-_LT_TAGDECL([], [hardcode_automatic], [0],
5247- [Set to "yes" if building a shared library automatically hardcodes DIR
5248- into the library and all subsequent libraries and executables linked
5249- against it])
5250-_LT_TAGDECL([], [inherit_rpath], [0],
5251- [Set to yes if linker adds runtime paths of dependent libraries
5252- to runtime path list])
5253-_LT_TAGDECL([], [link_all_deplibs], [0],
5254- [Whether libtool must link a program against all its dependency libraries])
5255-_LT_TAGDECL([], [fix_srcfile_path], [1],
5256- [Fix the shell variable $srcfile for the compiler])
5257-_LT_TAGDECL([], [always_export_symbols], [0],
5258- [Set to "yes" if exported symbols are required])
5259-_LT_TAGDECL([], [export_symbols_cmds], [2],
5260- [The commands to list exported symbols])
5261-_LT_TAGDECL([], [exclude_expsyms], [1],
5262- [Symbols that should not be listed in the preloaded symbols])
5263-_LT_TAGDECL([], [include_expsyms], [1],
5264- [Symbols that must always be exported])
5265-_LT_TAGDECL([], [prelink_cmds], [2],
5266- [Commands necessary for linking programs (against libraries) with templates])
5267-_LT_TAGDECL([], [file_list_spec], [1],
5268- [Specify filename containing input files])
5269-dnl FIXME: Not yet implemented
5270-dnl _LT_TAGDECL([], [thread_safe_flag_spec], [1],
5271-dnl [Compiler flag to generate thread safe objects])
5272-])# _LT_LINKER_SHLIBS
5273-
5274-
5275-# _LT_LANG_C_CONFIG([TAG])
5276-# ------------------------
5277-# Ensure that the configuration variables for a C compiler are suitably
5278-# defined. These variables are subsequently used by _LT_CONFIG to write
5279-# the compiler configuration to `libtool'.
5280-m4_defun([_LT_LANG_C_CONFIG],
5281-[m4_require([_LT_DECL_EGREP])dnl
5282-lt_save_CC="$CC"
5283-AC_LANG_PUSH(C)
5284-
5285-# Source file extension for C test sources.
5286-ac_ext=c
5287-
5288-# Object file extension for compiled C test sources.
5289-objext=o
5290-_LT_TAGVAR(objext, $1)=$objext
5291-
5292-# Code to be used in simple compile tests
5293-lt_simple_compile_test_code="int some_variable = 0;"
5294-
5295-# Code to be used in simple link tests
5296-lt_simple_link_test_code='int main(){return(0);}'
5297-
5298-_LT_TAG_COMPILER
5299-# Save the default compiler, since it gets overwritten when the other
5300-# tags are being tested, and _LT_TAGVAR(compiler, []) is a NOP.
5301-compiler_DEFAULT=$CC
5302-
5303-# save warnings/boilerplate of simple test code
5304-_LT_COMPILER_BOILERPLATE
5305-_LT_LINKER_BOILERPLATE
5306-
5307-## CAVEAT EMPTOR:
5308-## There is no encapsulation within the following macros, do not change
5309-## the running order or otherwise move them around unless you know exactly
5310-## what you are doing...
5311-if test -n "$compiler"; then
5312- _LT_COMPILER_NO_RTTI($1)
5313- _LT_COMPILER_PIC($1)
5314- _LT_COMPILER_C_O($1)
5315- _LT_COMPILER_FILE_LOCKS($1)
5316- _LT_LINKER_SHLIBS($1)
5317- _LT_SYS_DYNAMIC_LINKER($1)
5318- _LT_LINKER_HARDCODE_LIBPATH($1)
5319- LT_SYS_DLOPEN_SELF
5320- _LT_CMD_STRIPLIB
5321-
5322- # Report which library types will actually be built
5323- AC_MSG_CHECKING([if libtool supports shared libraries])
5324- AC_MSG_RESULT([$can_build_shared])
5325-
5326- AC_MSG_CHECKING([whether to build shared libraries])
5327- test "$can_build_shared" = "no" && enable_shared=no
5328-
5329- # On AIX, shared libraries and static libraries use the same namespace, and
5330- # are all built from PIC.
5331- case $host_os in
5332- aix3*)
5333- test "$enable_shared" = yes && enable_static=no
5334- if test -n "$RANLIB"; then
5335- archive_cmds="$archive_cmds~\$RANLIB \$lib"
5336- postinstall_cmds='$RANLIB $lib'
5337- fi
5338- ;;
5339-
5340- aix[[4-9]]*)
5341- if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then
5342- test "$enable_shared" = yes && enable_static=no
5343- fi
5344- ;;
5345- esac
5346- AC_MSG_RESULT([$enable_shared])
5347-
5348- AC_MSG_CHECKING([whether to build static libraries])
5349- # Make sure either enable_shared or enable_static is yes.
5350- test "$enable_shared" = yes || enable_static=yes
5351- AC_MSG_RESULT([$enable_static])
5352-
5353- _LT_CONFIG($1)
5354-fi
5355-AC_LANG_POP
5356-CC="$lt_save_CC"
5357-])# _LT_LANG_C_CONFIG
5358-
5359-
5360-# _LT_PROG_CXX
5361-# ------------
5362-# Since AC_PROG_CXX is broken, in that it returns g++ if there is no c++
5363-# compiler, we have our own version here.
5364-m4_defun([_LT_PROG_CXX],
5365-[
5366-pushdef([AC_MSG_ERROR], [_lt_caught_CXX_error=yes])
5367-AC_PROG_CXX
5368-if test -n "$CXX" && ( test "X$CXX" != "Xno" &&
5369- ( (test "X$CXX" = "Xg++" && `g++ -v >/dev/null 2>&1` ) ||
5370- (test "X$CXX" != "Xg++"))) ; then
5371- AC_PROG_CXXCPP
5372-else
5373- _lt_caught_CXX_error=yes
5374-fi
5375-popdef([AC_MSG_ERROR])
5376-])# _LT_PROG_CXX
5377-
5378-dnl aclocal-1.4 backwards compatibility:
5379-dnl AC_DEFUN([_LT_PROG_CXX], [])
5380-
5381-
5382-# _LT_LANG_CXX_CONFIG([TAG])
5383-# --------------------------
5384-# Ensure that the configuration variables for a C++ compiler are suitably
5385-# defined. These variables are subsequently used by _LT_CONFIG to write
5386-# the compiler configuration to `libtool'.
5387-m4_defun([_LT_LANG_CXX_CONFIG],
5388-[AC_REQUIRE([_LT_PROG_CXX])dnl
5389-m4_require([_LT_FILEUTILS_DEFAULTS])dnl
5390-m4_require([_LT_DECL_EGREP])dnl
5391-
5392-AC_LANG_PUSH(C++)
5393-_LT_TAGVAR(archive_cmds_need_lc, $1)=no
5394-_LT_TAGVAR(allow_undefined_flag, $1)=
5395-_LT_TAGVAR(always_export_symbols, $1)=no
5396-_LT_TAGVAR(archive_expsym_cmds, $1)=
5397-_LT_TAGVAR(compiler_needs_object, $1)=no
5398-_LT_TAGVAR(export_dynamic_flag_spec, $1)=
5399-_LT_TAGVAR(hardcode_direct, $1)=no
5400-_LT_TAGVAR(hardcode_direct_absolute, $1)=no
5401-_LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
5402-_LT_TAGVAR(hardcode_libdir_flag_spec_ld, $1)=
5403-_LT_TAGVAR(hardcode_libdir_separator, $1)=
5404-_LT_TAGVAR(hardcode_minus_L, $1)=no
5405-_LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported
5406-_LT_TAGVAR(hardcode_automatic, $1)=no
5407-_LT_TAGVAR(inherit_rpath, $1)=no
5408-_LT_TAGVAR(module_cmds, $1)=
5409-_LT_TAGVAR(module_expsym_cmds, $1)=
5410-_LT_TAGVAR(link_all_deplibs, $1)=unknown
5411-_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds
5412-_LT_TAGVAR(no_undefined_flag, $1)=
5413-_LT_TAGVAR(whole_archive_flag_spec, $1)=
5414-_LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no
5415-
5416-# Source file extension for C++ test sources.
5417-ac_ext=cpp
5418-
5419-# Object file extension for compiled C++ test sources.
5420-objext=o
5421-_LT_TAGVAR(objext, $1)=$objext
5422-
5423-# No sense in running all these tests if we already determined that
5424-# the CXX compiler isn't working. Some variables (like enable_shared)
5425-# are currently assumed to apply to all compilers on this platform,
5426-# and will be corrupted by setting them based on a non-working compiler.
5427-if test "$_lt_caught_CXX_error" != yes; then
5428- # Code to be used in simple compile tests
5429- lt_simple_compile_test_code="int some_variable = 0;"
5430-
5431- # Code to be used in simple link tests
5432- lt_simple_link_test_code='int main(int, char *[[]]) { return(0); }'
5433-
5434- # ltmain only uses $CC for tagged configurations so make sure $CC is set.
5435- _LT_TAG_COMPILER
5436-
5437- # save warnings/boilerplate of simple test code
5438- _LT_COMPILER_BOILERPLATE
5439- _LT_LINKER_BOILERPLATE
5440-
5441- # Allow CC to be a program name with arguments.
5442- lt_save_CC=$CC
5443- lt_save_LD=$LD
5444- lt_save_GCC=$GCC
5445- GCC=$GXX
5446- lt_save_with_gnu_ld=$with_gnu_ld
5447- lt_save_path_LD=$lt_cv_path_LD
5448- if test -n "${lt_cv_prog_gnu_ldcxx+set}"; then
5449- lt_cv_prog_gnu_ld=$lt_cv_prog_gnu_ldcxx
5450- else
5451- $as_unset lt_cv_prog_gnu_ld
5452- fi
5453- if test -n "${lt_cv_path_LDCXX+set}"; then
5454- lt_cv_path_LD=$lt_cv_path_LDCXX
5455- else
5456- $as_unset lt_cv_path_LD
5457- fi
5458- test -z "${LDCXX+set}" || LD=$LDCXX
5459- CC=${CXX-"c++"}
5460- compiler=$CC
5461- _LT_TAGVAR(compiler, $1)=$CC
5462- _LT_CC_BASENAME([$compiler])
5463-
5464- if test -n "$compiler"; then
5465- # We don't want -fno-exception when compiling C++ code, so set the
5466- # no_builtin_flag separately
5467- if test "$GXX" = yes; then
5468- _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -fno-builtin'
5469- else
5470- _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=
5471- fi
5472-
5473- if test "$GXX" = yes; then
5474- # Set up default GNU C++ configuration
5475-
5476- LT_PATH_LD
5477-
5478- # Check if GNU C++ uses GNU ld as the underlying linker, since the
5479- # archiving commands below assume that GNU ld is being used.
5480- if test "$with_gnu_ld" = yes; then
5481- _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib'
5482- _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
5483-
5484- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
5485- _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
5486-
5487- # If archive_cmds runs LD, not CC, wlarc should be empty
5488- # XXX I think wlarc can be eliminated in ltcf-cxx, but I need to
5489- # investigate it a little bit more. (MM)
5490- wlarc='${wl}'
5491-
5492- # ancient GNU ld didn't support --whole-archive et. al.
5493- if eval "`$CC -print-prog-name=ld` --help 2>&1" |
5494- $GREP 'no-whole-archive' > /dev/null; then
5495- _LT_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
5496- else
5497- _LT_TAGVAR(whole_archive_flag_spec, $1)=
5498- fi
5499- else
5500- with_gnu_ld=no
5501- wlarc=
5502-
5503- # A generic and very simple default shared library creation
5504- # command for GNU C++ for the case where it uses the native
5505- # linker, instead of GNU ld. If possible, this setting should
5506- # overridden to take advantage of the native linker features on
5507- # the platform it is being used on.
5508- _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib'
5509- fi
5510-
5511- # Commands to make compiler produce verbose output that lists
5512- # what "hidden" libraries, object files and flags are used when
5513- # linking a shared library.
5514- output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "\-L"'
5515-
5516- else
5517- GXX=no
5518- with_gnu_ld=no
5519- wlarc=
5520- fi
5521-
5522- # PORTME: fill in a description of your system's C++ link characteristics
5523- AC_MSG_CHECKING([whether the $compiler linker ($LD) supports shared libraries])
5524- _LT_TAGVAR(ld_shlibs, $1)=yes
5525- case $host_os in
5526- aix3*)
5527- # FIXME: insert proper C++ library support
5528- _LT_TAGVAR(ld_shlibs, $1)=no
5529- ;;
5530- aix[[4-9]]*)
5531- if test "$host_cpu" = ia64; then
5532- # On IA64, the linker does run time linking by default, so we don't
5533- # have to do anything special.
5534- aix_use_runtimelinking=no
5535- exp_sym_flag='-Bexport'
5536- no_entry_flag=""
5537- else
5538- aix_use_runtimelinking=no
5539-
5540- # Test if we are trying to use run time linking or normal
5541- # AIX style linking. If -brtl is somewhere in LDFLAGS, we
5542- # need to do runtime linking.
5543- case $host_os in aix4.[[23]]|aix4.[[23]].*|aix[[5-9]]*)
5544- for ld_flag in $LDFLAGS; do
5545- case $ld_flag in
5546- *-brtl*)
5547- aix_use_runtimelinking=yes
5548- break
5549- ;;
5550- esac
5551- done
5552- ;;
5553- esac
5554-
5555- exp_sym_flag='-bexport'
5556- no_entry_flag='-bnoentry'
5557- fi
5558-
5559- # When large executables or shared objects are built, AIX ld can
5560- # have problems creating the table of contents. If linking a library
5561- # or program results in "error TOC overflow" add -mminimal-toc to
5562- # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not
5563- # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS.
5564-
5565- _LT_TAGVAR(archive_cmds, $1)=''
5566- _LT_TAGVAR(hardcode_direct, $1)=yes
5567- _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
5568- _LT_TAGVAR(hardcode_libdir_separator, $1)=':'
5569- _LT_TAGVAR(link_all_deplibs, $1)=yes
5570- _LT_TAGVAR(file_list_spec, $1)='${wl}-f,'
5571-
5572- if test "$GXX" = yes; then
5573- case $host_os in aix4.[[012]]|aix4.[[012]].*)
5574- # We only want to do this on AIX 4.2 and lower, the check
5575- # below for broken collect2 doesn't work under 4.3+
5576- collect2name=`${CC} -print-prog-name=collect2`
5577- if test -f "$collect2name" &&
5578- strings "$collect2name" | $GREP resolve_lib_name >/dev/null
5579- then
5580- # We have reworked collect2
5581- :
5582- else
5583- # We have old collect2
5584- _LT_TAGVAR(hardcode_direct, $1)=unsupported
5585- # It fails to find uninstalled libraries when the uninstalled
5586- # path is not listed in the libpath. Setting hardcode_minus_L
5587- # to unsupported forces relinking
5588- _LT_TAGVAR(hardcode_minus_L, $1)=yes
5589- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
5590- _LT_TAGVAR(hardcode_libdir_separator, $1)=
5591- fi
5592- esac
5593- shared_flag='-shared'
5594- if test "$aix_use_runtimelinking" = yes; then
5595- shared_flag="$shared_flag "'${wl}-G'
5596- fi
5597- else
5598- # not using gcc
5599- if test "$host_cpu" = ia64; then
5600- # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release
5601- # chokes on -Wl,-G. The following line is correct:
5602- shared_flag='-G'
5603- else
5604- if test "$aix_use_runtimelinking" = yes; then
5605- shared_flag='${wl}-G'
5606- else
5607- shared_flag='${wl}-bM:SRE'
5608- fi
5609- fi
5610- fi
5611-
5612- _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-bexpall'
5613- # It seems that -bexpall does not export symbols beginning with
5614- # underscore (_), so it is better to generate a list of symbols to
5615- # export.
5616- _LT_TAGVAR(always_export_symbols, $1)=yes
5617- if test "$aix_use_runtimelinking" = yes; then
5618- # Warning - without using the other runtime loading flags (-brtl),
5619- # -berok will link without error, but may produce a broken library.
5620- _LT_TAGVAR(allow_undefined_flag, $1)='-berok'
5621- # Determine the default libpath from the value encoded in an empty
5622- # executable.
5623- _LT_SYS_MODULE_PATH_AIX
5624- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath"
5625-
5626- _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then $ECHO "X${wl}${allow_undefined_flag}" | $Xsed; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag"
5627- else
5628- if test "$host_cpu" = ia64; then
5629- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $libdir:/usr/lib:/lib'
5630- _LT_TAGVAR(allow_undefined_flag, $1)="-z nodefs"
5631- _LT_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols"
5632- else
5633- # Determine the default libpath from the value encoded in an
5634- # empty executable.
5635- _LT_SYS_MODULE_PATH_AIX
5636- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath"
5637- # Warning - without using the other run time loading flags,
5638- # -berok will link without error, but may produce a broken library.
5639- _LT_TAGVAR(no_undefined_flag, $1)=' ${wl}-bernotok'
5640- _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-berok'
5641- # Exported symbols can be pulled into shared objects from archives
5642- _LT_TAGVAR(whole_archive_flag_spec, $1)='$convenience'
5643- _LT_TAGVAR(archive_cmds_need_lc, $1)=yes
5644- # This is similar to how AIX traditionally builds its shared
5645- # libraries.
5646- _LT_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname'
5647- fi
5648- fi
5649- ;;
5650-
5651- beos*)
5652- if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
5653- _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
5654- # Joseph Beckenbach <jrb3@best.com> says some releases of gcc
5655- # support --undefined. This deserves some investigation. FIXME
5656- _LT_TAGVAR(archive_cmds, $1)='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
5657- else
5658- _LT_TAGVAR(ld_shlibs, $1)=no
5659- fi
5660- ;;
5661-
5662- chorus*)
5663- case $cc_basename in
5664- *)
5665- # FIXME: insert proper C++ library support
5666- _LT_TAGVAR(ld_shlibs, $1)=no
5667- ;;
5668- esac
5669- ;;
5670-
5671- cygwin* | mingw* | pw32* | cegcc*)
5672- # _LT_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless,
5673- # as there is no search path for DLLs.
5674- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
5675- _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
5676- _LT_TAGVAR(always_export_symbols, $1)=no
5677- _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
5678-
5679- if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then
5680- _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
5681- # If the export-symbols file already is a .def file (1st line
5682- # is EXPORTS), use it as is; otherwise, prepend...
5683- _LT_TAGVAR(archive_expsym_cmds, $1)='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then
5684- cp $export_symbols $output_objdir/$soname.def;
5685- else
5686- echo EXPORTS > $output_objdir/$soname.def;
5687- cat $export_symbols >> $output_objdir/$soname.def;
5688- fi~
5689- $CC -shared -nostdlib $output_objdir/$soname.def $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
5690- else
5691- _LT_TAGVAR(ld_shlibs, $1)=no
5692- fi
5693- ;;
5694- darwin* | rhapsody*)
5695- _LT_DARWIN_LINKER_FEATURES($1)
5696- ;;
5697-
5698- dgux*)
5699- case $cc_basename in
5700- ec++*)
5701- # FIXME: insert proper C++ library support
5702- _LT_TAGVAR(ld_shlibs, $1)=no
5703- ;;
5704- ghcx*)
5705- # Green Hills C++ Compiler
5706- # FIXME: insert proper C++ library support
5707- _LT_TAGVAR(ld_shlibs, $1)=no
5708- ;;
5709- *)
5710- # FIXME: insert proper C++ library support
5711- _LT_TAGVAR(ld_shlibs, $1)=no
5712- ;;
5713- esac
5714- ;;
5715-
5716- freebsd[[12]]*)
5717- # C++ shared libraries reported to be fairly broken before
5718- # switch to ELF
5719- _LT_TAGVAR(ld_shlibs, $1)=no
5720- ;;
5721-
5722- freebsd-elf*)
5723- _LT_TAGVAR(archive_cmds_need_lc, $1)=no
5724- ;;
5725-
5726- freebsd* | dragonfly*)
5727- # FreeBSD 3 and later use GNU C++ and GNU ld with standard ELF
5728- # conventions
5729- _LT_TAGVAR(ld_shlibs, $1)=yes
5730- ;;
5731-
5732- gnu*)
5733- ;;
5734-
5735- hpux9*)
5736- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
5737- _LT_TAGVAR(hardcode_libdir_separator, $1)=:
5738- _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
5739- _LT_TAGVAR(hardcode_direct, $1)=yes
5740- _LT_TAGVAR(hardcode_minus_L, $1)=yes # Not in the search PATH,
5741- # but as the default
5742- # location of the library.
5743-
5744- case $cc_basename in
5745- CC*)
5746- # FIXME: insert proper C++ library support
5747- _LT_TAGVAR(ld_shlibs, $1)=no
5748- ;;
5749- aCC*)
5750- _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$CC -b ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
5751- # Commands to make compiler produce verbose output that lists
5752- # what "hidden" libraries, object files and flags are used when
5753- # linking a shared library.
5754- #
5755- # There doesn't appear to be a way to prevent this compiler from
5756- # explicitly linking system object files so we need to strip them
5757- # from the output so that they don't get included in the library
5758- # dependencies.
5759- output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $EGREP "\-L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; $ECHO "X$list" | $Xsed'
5760- ;;
5761- *)
5762- if test "$GXX" = yes; then
5763- _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$CC -shared -nostdlib -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
5764- else
5765- # FIXME: insert proper C++ library support
5766- _LT_TAGVAR(ld_shlibs, $1)=no
5767- fi
5768- ;;
5769- esac
5770- ;;
5771-
5772- hpux10*|hpux11*)
5773- if test $with_gnu_ld = no; then
5774- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
5775- _LT_TAGVAR(hardcode_libdir_separator, $1)=:
5776-
5777- case $host_cpu in
5778- hppa*64*|ia64*)
5779- ;;
5780- *)
5781- _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
5782- ;;
5783- esac
5784- fi
5785- case $host_cpu in
5786- hppa*64*|ia64*)
5787- _LT_TAGVAR(hardcode_direct, $1)=no
5788- _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
5789- ;;
5790- *)
5791- _LT_TAGVAR(hardcode_direct, $1)=yes
5792- _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
5793- _LT_TAGVAR(hardcode_minus_L, $1)=yes # Not in the search PATH,
5794- # but as the default
5795- # location of the library.
5796- ;;
5797- esac
5798-
5799- case $cc_basename in
5800- CC*)
5801- # FIXME: insert proper C++ library support
5802- _LT_TAGVAR(ld_shlibs, $1)=no
5803- ;;
5804- aCC*)
5805- case $host_cpu in
5806- hppa*64*)
5807- _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
5808- ;;
5809- ia64*)
5810- _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
5811- ;;
5812- *)
5813- _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
5814- ;;
5815- esac
5816- # Commands to make compiler produce verbose output that lists
5817- # what "hidden" libraries, object files and flags are used when
5818- # linking a shared library.
5819- #
5820- # There doesn't appear to be a way to prevent this compiler from
5821- # explicitly linking system object files so we need to strip them
5822- # from the output so that they don't get included in the library
5823- # dependencies.
5824- output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $GREP "\-L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; $ECHO "X$list" | $Xsed'
5825- ;;
5826- *)
5827- if test "$GXX" = yes; then
5828- if test $with_gnu_ld = no; then
5829- case $host_cpu in
5830- hppa*64*)
5831- _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
5832- ;;
5833- ia64*)
5834- _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
5835- ;;
5836- *)
5837- _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
5838- ;;
5839- esac
5840- fi
5841- else
5842- # FIXME: insert proper C++ library support
5843- _LT_TAGVAR(ld_shlibs, $1)=no
5844- fi
5845- ;;
5846- esac
5847- ;;
5848-
5849- interix[[3-9]]*)
5850- _LT_TAGVAR(hardcode_direct, $1)=no
5851- _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
5852- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
5853- _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
5854- # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc.
5855- # Instead, shared libraries are loaded at an image base (0x10000000 by
5856- # default) and relocated if they conflict, which is a slow very memory
5857- # consuming and fragmenting process. To avoid this, we pick a random,
5858- # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link
5859- # time. Moving up from 0x10000000 also allows more sbrk(2) space.
5860- _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
5861- _LT_TAGVAR(archive_expsym_cmds, $1)='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
5862- ;;
5863- irix5* | irix6*)
5864- case $cc_basename in
5865- CC*)
5866- # SGI C++
5867- _LT_TAGVAR(archive_cmds, $1)='$CC -shared -all -multigot $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib'
5868-
5869- # Archives containing C++ object files must be created using
5870- # "CC -ar", where "CC" is the IRIX C++ compiler. This is
5871- # necessary to make sure instantiated templates are included
5872- # in the archive.
5873- _LT_TAGVAR(old_archive_cmds, $1)='$CC -ar -WR,-u -o $oldlib $oldobjs'
5874- ;;
5875- *)
5876- if test "$GXX" = yes; then
5877- if test "$with_gnu_ld" = no; then
5878- _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
5879- else
5880- _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` -o $lib'
5881- fi
5882- fi
5883- _LT_TAGVAR(link_all_deplibs, $1)=yes
5884- ;;
5885- esac
5886- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
5887- _LT_TAGVAR(hardcode_libdir_separator, $1)=:
5888- _LT_TAGVAR(inherit_rpath, $1)=yes
5889- ;;
5890-
5891- linux* | k*bsd*-gnu)
5892- case $cc_basename in
5893- KCC*)
5894- # Kuck and Associates, Inc. (KAI) C++ Compiler
5895-
5896- # KCC will only create a shared library if the output file
5897- # ends with ".so" (or ".sl" for HP-UX), so rename the library
5898- # to its proper name (with version) after linking.
5899- _LT_TAGVAR(archive_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib'
5900- _LT_TAGVAR(archive_expsym_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib ${wl}-retain-symbols-file,$export_symbols; mv \$templib $lib'
5901- # Commands to make compiler produce verbose output that lists
5902- # what "hidden" libraries, object files and flags are used when
5903- # linking a shared library.
5904- #
5905- # There doesn't appear to be a way to prevent this compiler from
5906- # explicitly linking system object files so we need to strip them
5907- # from the output so that they don't get included in the library
5908- # dependencies.
5909- output_verbose_link_cmd='templist=`$CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1 | $GREP "ld"`; rm -f libconftest$shared_ext; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; $ECHO "X$list" | $Xsed'
5910-
5911- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
5912- _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
5913-
5914- # Archives containing C++ object files must be created using
5915- # "CC -Bstatic", where "CC" is the KAI C++ compiler.
5916- _LT_TAGVAR(old_archive_cmds, $1)='$CC -Bstatic -o $oldlib $oldobjs'
5917- ;;
5918- icpc* | ecpc* )
5919- # Intel C++
5920- with_gnu_ld=yes
5921- # version 8.0 and above of icpc choke on multiply defined symbols
5922- # if we add $predep_objects and $postdep_objects, however 7.1 and
5923- # earlier do not add the objects themselves.
5924- case `$CC -V 2>&1` in
5925- *"Version 7."*)
5926- _LT_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib'
5927- _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
5928- ;;
5929- *) # Version 8.0 or newer
5930- tmp_idyn=
5931- case $host_cpu in
5932- ia64*) tmp_idyn=' -i_dynamic';;
5933- esac
5934- _LT_TAGVAR(archive_cmds, $1)='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
5935- _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
5936- ;;
5937- esac
5938- _LT_TAGVAR(archive_cmds_need_lc, $1)=no
5939- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
5940- _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
5941- _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive$convenience ${wl}--no-whole-archive'
5942- ;;
5943- pgCC* | pgcpp*)
5944- # Portland Group C++ compiler
5945- case `$CC -V` in
5946- *pgCC\ [[1-5]]* | *pgcpp\ [[1-5]]*)
5947- _LT_TAGVAR(prelink_cmds, $1)='tpldir=Template.dir~
5948- rm -rf $tpldir~
5949- $CC --prelink_objects --instantiation_dir $tpldir $objs $libobjs $compile_deplibs~
5950- compile_command="$compile_command `find $tpldir -name \*.o | $NL2SP`"'
5951- _LT_TAGVAR(old_archive_cmds, $1)='tpldir=Template.dir~
5952- rm -rf $tpldir~
5953- $CC --prelink_objects --instantiation_dir $tpldir $oldobjs$old_deplibs~
5954- $AR $AR_FLAGS $oldlib$oldobjs$old_deplibs `find $tpldir -name \*.o | $NL2SP`~
5955- $RANLIB $oldlib'
5956- _LT_TAGVAR(archive_cmds, $1)='tpldir=Template.dir~
5957- rm -rf $tpldir~
5958- $CC --prelink_objects --instantiation_dir $tpldir $predep_objects $libobjs $deplibs $convenience $postdep_objects~
5959- $CC -shared $pic_flag $predep_objects $libobjs $deplibs `find $tpldir -name \*.o | $NL2SP` $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib'
5960- _LT_TAGVAR(archive_expsym_cmds, $1)='tpldir=Template.dir~
5961- rm -rf $tpldir~
5962- $CC --prelink_objects --instantiation_dir $tpldir $predep_objects $libobjs $deplibs $convenience $postdep_objects~
5963- $CC -shared $pic_flag $predep_objects $libobjs $deplibs `find $tpldir -name \*.o | $NL2SP` $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname ${wl}-retain-symbols-file ${wl}$export_symbols -o $lib'
5964- ;;
5965- *) # Version 6 will use weak symbols
5966- _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib'
5967- _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname ${wl}-retain-symbols-file ${wl}$export_symbols -o $lib'
5968- ;;
5969- esac
5970-
5971- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}--rpath ${wl}$libdir'
5972- _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
5973- _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $ECHO \"$new_convenience\"` ${wl}--no-whole-archive'
5974- ;;
5975- cxx*)
5976- # Compaq C++
5977- _LT_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib'
5978- _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib ${wl}-retain-symbols-file $wl$export_symbols'
5979-
5980- runpath_var=LD_RUN_PATH
5981- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir'
5982- _LT_TAGVAR(hardcode_libdir_separator, $1)=:
5983-
5984- # Commands to make compiler produce verbose output that lists
5985- # what "hidden" libraries, object files and flags are used when
5986- # linking a shared library.
5987- #
5988- # There doesn't appear to be a way to prevent this compiler from
5989- # explicitly linking system object files so we need to strip them
5990- # from the output so that they don't get included in the library
5991- # dependencies.
5992- output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "ld"`; templist=`$ECHO "X$templist" | $Xsed -e "s/\(^.*ld.*\)\( .*ld .*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; $ECHO "X$list" | $Xsed'
5993- ;;
5994- xl*)
5995- # IBM XL 8.0 on PPC, with GNU ld
5996- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
5997- _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
5998- _LT_TAGVAR(archive_cmds, $1)='$CC -qmkshrobj $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
5999- if test "x$supports_anon_versioning" = xyes; then
6000- _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~
6001- cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
6002- echo "local: *; };" >> $output_objdir/$libname.ver~
6003- $CC -qmkshrobj $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib'
6004- fi
6005- ;;
6006- *)
6007- case `$CC -V 2>&1 | sed 5q` in
6008- *Sun\ C*)
6009- # Sun C++ 5.9
6010- _LT_TAGVAR(no_undefined_flag, $1)=' -zdefs'
6011- _LT_TAGVAR(archive_cmds, $1)='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
6012- _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-retain-symbols-file ${wl}$export_symbols'
6013- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
6014- _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; $ECHO \"$new_convenience\"` ${wl}--no-whole-archive'
6015- _LT_TAGVAR(compiler_needs_object, $1)=yes
6016-
6017- # Not sure whether something based on
6018- # $CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1
6019- # would be better.
6020- output_verbose_link_cmd='echo'
6021-
6022- # Archives containing C++ object files must be created using
6023- # "CC -xar", where "CC" is the Sun C++ compiler. This is
6024- # necessary to make sure instantiated templates are included
6025- # in the archive.
6026- _LT_TAGVAR(old_archive_cmds, $1)='$CC -xar -o $oldlib $oldobjs'
6027- ;;
6028- esac
6029- ;;
6030- esac
6031- ;;
6032-
6033- lynxos*)
6034- # FIXME: insert proper C++ library support
6035- _LT_TAGVAR(ld_shlibs, $1)=no
6036- ;;
6037-
6038- m88k*)
6039- # FIXME: insert proper C++ library support
6040- _LT_TAGVAR(ld_shlibs, $1)=no
6041- ;;
6042-
6043- mvs*)
6044- case $cc_basename in
6045- cxx*)
6046- # FIXME: insert proper C++ library support
6047- _LT_TAGVAR(ld_shlibs, $1)=no
6048- ;;
6049- *)
6050- # FIXME: insert proper C++ library support
6051- _LT_TAGVAR(ld_shlibs, $1)=no
6052- ;;
6053- esac
6054- ;;
6055-
6056- netbsd*)
6057- if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
6058- _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $predep_objects $libobjs $deplibs $postdep_objects $linker_flags'
6059- wlarc=
6060- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
6061- _LT_TAGVAR(hardcode_direct, $1)=yes
6062- _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
6063- fi
6064- # Workaround some broken pre-1.5 toolchains
6065- output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP conftest.$objext | $SED -e "s:-lgcc -lc -lgcc::"'
6066- ;;
6067-
6068- *nto* | *qnx*)
6069- _LT_TAGVAR(ld_shlibs, $1)=yes
6070- ;;
6071-
6072- openbsd2*)
6073- # C++ shared libraries are fairly broken
6074- _LT_TAGVAR(ld_shlibs, $1)=no
6075- ;;
6076-
6077- openbsd*)
6078- if test -f /usr/libexec/ld.so; then
6079- _LT_TAGVAR(hardcode_direct, $1)=yes
6080- _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
6081- _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
6082- _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib'
6083- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
6084- if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
6085- _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-retain-symbols-file,$export_symbols -o $lib'
6086- _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
6087- _LT_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
6088- fi
6089- output_verbose_link_cmd=echo
6090- else
6091- _LT_TAGVAR(ld_shlibs, $1)=no
6092- fi
6093- ;;
6094-
6095- osf3* | osf4* | osf5*)
6096- case $cc_basename in
6097- KCC*)
6098- # Kuck and Associates, Inc. (KAI) C++ Compiler
6099-
6100- # KCC will only create a shared library if the output file
6101- # ends with ".so" (or ".sl" for HP-UX), so rename the library
6102- # to its proper name (with version) after linking.
6103- _LT_TAGVAR(archive_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo "$lib" | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib'
6104-
6105- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
6106- _LT_TAGVAR(hardcode_libdir_separator, $1)=:
6107-
6108- # Archives containing C++ object files must be created using
6109- # the KAI C++ compiler.
6110- case $host in
6111- osf3*) _LT_TAGVAR(old_archive_cmds, $1)='$CC -Bstatic -o $oldlib $oldobjs' ;;
6112- *) _LT_TAGVAR(old_archive_cmds, $1)='$CC -o $oldlib $oldobjs' ;;
6113- esac
6114- ;;
6115- RCC*)
6116- # Rational C++ 2.4.1
6117- # FIXME: insert proper C++ library support
6118- _LT_TAGVAR(ld_shlibs, $1)=no
6119- ;;
6120- cxx*)
6121- case $host in
6122- osf3*)
6123- _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*'
6124- _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $soname `test -n "$verstring" && $ECHO "X${wl}-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib'
6125- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
6126- ;;
6127- *)
6128- _LT_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*'
6129- _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib'
6130- _LT_TAGVAR(archive_expsym_cmds, $1)='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done~
6131- echo "-hidden">> $lib.exp~
6132- $CC -shared$allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname ${wl}-input ${wl}$lib.exp `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib~
6133- $RM $lib.exp'
6134- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir'
6135- ;;
6136- esac
6137-
6138- _LT_TAGVAR(hardcode_libdir_separator, $1)=:
6139-
6140- # Commands to make compiler produce verbose output that lists
6141- # what "hidden" libraries, object files and flags are used when
6142- # linking a shared library.
6143- #
6144- # There doesn't appear to be a way to prevent this compiler from
6145- # explicitly linking system object files so we need to strip them
6146- # from the output so that they don't get included in the library
6147- # dependencies.
6148- output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "ld" | $GREP -v "ld:"`; templist=`$ECHO "X$templist" | $Xsed -e "s/\(^.*ld.*\)\( .*ld.*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; $ECHO "X$list" | $Xsed'
6149- ;;
6150- *)
6151- if test "$GXX" = yes && test "$with_gnu_ld" = no; then
6152- _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*'
6153- case $host in
6154- osf3*)
6155- _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
6156- ;;
6157- *)
6158- _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
6159- ;;
6160- esac
6161-
6162- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
6163- _LT_TAGVAR(hardcode_libdir_separator, $1)=:
6164-
6165- # Commands to make compiler produce verbose output that lists
6166- # what "hidden" libraries, object files and flags are used when
6167- # linking a shared library.
6168- output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "\-L"'
6169-
6170- else
6171- # FIXME: insert proper C++ library support
6172- _LT_TAGVAR(ld_shlibs, $1)=no
6173- fi
6174- ;;
6175- esac
6176- ;;
6177-
6178- psos*)
6179- # FIXME: insert proper C++ library support
6180- _LT_TAGVAR(ld_shlibs, $1)=no
6181- ;;
6182-
6183- sunos4*)
6184- case $cc_basename in
6185- CC*)
6186- # Sun C++ 4.x
6187- # FIXME: insert proper C++ library support
6188- _LT_TAGVAR(ld_shlibs, $1)=no
6189- ;;
6190- lcc*)
6191- # Lucid
6192- # FIXME: insert proper C++ library support
6193- _LT_TAGVAR(ld_shlibs, $1)=no
6194- ;;
6195- *)
6196- # FIXME: insert proper C++ library support
6197- _LT_TAGVAR(ld_shlibs, $1)=no
6198- ;;
6199- esac
6200- ;;
6201-
6202- solaris*)
6203- case $cc_basename in
6204- CC*)
6205- # Sun C++ 4.2, 5.x and Centerline C++
6206- _LT_TAGVAR(archive_cmds_need_lc,$1)=yes
6207- _LT_TAGVAR(no_undefined_flag, $1)=' -zdefs'
6208- _LT_TAGVAR(archive_cmds, $1)='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
6209- _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
6210- $CC -G${allow_undefined_flag} ${wl}-M ${wl}$lib.exp -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp'
6211-
6212- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
6213- _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
6214- case $host_os in
6215- solaris2.[[0-5]] | solaris2.[[0-5]].*) ;;
6216- *)
6217- # The compiler driver will combine and reorder linker options,
6218- # but understands `-z linker_flag'.
6219- # Supported since Solaris 2.6 (maybe 2.5.1?)
6220- _LT_TAGVAR(whole_archive_flag_spec, $1)='-z allextract$convenience -z defaultextract'
6221- ;;
6222- esac
6223- _LT_TAGVAR(link_all_deplibs, $1)=yes
6224-
6225- output_verbose_link_cmd='echo'
6226-
6227- # Archives containing C++ object files must be created using
6228- # "CC -xar", where "CC" is the Sun C++ compiler. This is
6229- # necessary to make sure instantiated templates are included
6230- # in the archive.
6231- _LT_TAGVAR(old_archive_cmds, $1)='$CC -xar -o $oldlib $oldobjs'
6232- ;;
6233- gcx*)
6234- # Green Hills C++ Compiler
6235- _LT_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib'
6236-
6237- # The C++ compiler must be used to create the archive.
6238- _LT_TAGVAR(old_archive_cmds, $1)='$CC $LDFLAGS -archive -o $oldlib $oldobjs'
6239- ;;
6240- *)
6241- # GNU C++ compiler with Solaris linker
6242- if test "$GXX" = yes && test "$with_gnu_ld" = no; then
6243- _LT_TAGVAR(no_undefined_flag, $1)=' ${wl}-z ${wl}defs'
6244- if $CC --version | $GREP -v '^2\.7' > /dev/null; then
6245- _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib'
6246- _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
6247- $CC -shared -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp'
6248-
6249- # Commands to make compiler produce verbose output that lists
6250- # what "hidden" libraries, object files and flags are used when
6251- # linking a shared library.
6252- output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "\-L"'
6253- else
6254- # g++ 2.7 appears to require `-G' NOT `-shared' on this
6255- # platform.
6256- _LT_TAGVAR(archive_cmds, $1)='$CC -G -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib'
6257- _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
6258- $CC -G -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp'
6259-
6260- # Commands to make compiler produce verbose output that lists
6261- # what "hidden" libraries, object files and flags are used when
6262- # linking a shared library.
6263- output_verbose_link_cmd='$CC -G $CFLAGS -v conftest.$objext 2>&1 | $GREP "\-L"'
6264- fi
6265-
6266- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $wl$libdir'
6267- case $host_os in
6268- solaris2.[[0-5]] | solaris2.[[0-5]].*) ;;
6269- *)
6270- _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract'
6271- ;;
6272- esac
6273- fi
6274- ;;
6275- esac
6276- ;;
6277-
6278- sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[[01]].[[10]]* | unixware7* | sco3.2v5.0.[[024]]*)
6279- _LT_TAGVAR(no_undefined_flag, $1)='${wl}-z,text'
6280- _LT_TAGVAR(archive_cmds_need_lc, $1)=no
6281- _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
6282- runpath_var='LD_RUN_PATH'
6283-
6284- case $cc_basename in
6285- CC*)
6286- _LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
6287- _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
6288- ;;
6289- *)
6290- _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
6291- _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
6292- ;;
6293- esac
6294- ;;
6295-
6296- sysv5* | sco3.2v5* | sco5v6*)
6297- # Note: We can NOT use -z defs as we might desire, because we do not
6298- # link with -lc, and that would cause any symbols used from libc to
6299- # always be unresolved, which means just about no library would
6300- # ever link correctly. If we're not using GNU ld we use -z text
6301- # though, which does catch some bad symbols but isn't as heavy-handed
6302- # as -z defs.
6303- _LT_TAGVAR(no_undefined_flag, $1)='${wl}-z,text'
6304- _LT_TAGVAR(allow_undefined_flag, $1)='${wl}-z,nodefs'
6305- _LT_TAGVAR(archive_cmds_need_lc, $1)=no
6306- _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
6307- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R,$libdir'
6308- _LT_TAGVAR(hardcode_libdir_separator, $1)=':'
6309- _LT_TAGVAR(link_all_deplibs, $1)=yes
6310- _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-Bexport'
6311- runpath_var='LD_RUN_PATH'
6312-
6313- case $cc_basename in
6314- CC*)
6315- _LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
6316- _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
6317- ;;
6318- *)
6319- _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
6320- _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
6321- ;;
6322- esac
6323- ;;
6324-
6325- tandem*)
6326- case $cc_basename in
6327- NCC*)
6328- # NonStop-UX NCC 3.20
6329- # FIXME: insert proper C++ library support
6330- _LT_TAGVAR(ld_shlibs, $1)=no
6331- ;;
6332- *)
6333- # FIXME: insert proper C++ library support
6334- _LT_TAGVAR(ld_shlibs, $1)=no
6335- ;;
6336- esac
6337- ;;
6338-
6339- vxworks*)
6340- # FIXME: insert proper C++ library support
6341- _LT_TAGVAR(ld_shlibs, $1)=no
6342- ;;
6343-
6344- *)
6345- # FIXME: insert proper C++ library support
6346- _LT_TAGVAR(ld_shlibs, $1)=no
6347- ;;
6348- esac
6349-
6350- AC_MSG_RESULT([$_LT_TAGVAR(ld_shlibs, $1)])
6351- test "$_LT_TAGVAR(ld_shlibs, $1)" = no && can_build_shared=no
6352-
6353- _LT_TAGVAR(GCC, $1)="$GXX"
6354- _LT_TAGVAR(LD, $1)="$LD"
6355-
6356- ## CAVEAT EMPTOR:
6357- ## There is no encapsulation within the following macros, do not change
6358- ## the running order or otherwise move them around unless you know exactly
6359- ## what you are doing...
6360- _LT_SYS_HIDDEN_LIBDEPS($1)
6361- _LT_COMPILER_PIC($1)
6362- _LT_COMPILER_C_O($1)
6363- _LT_COMPILER_FILE_LOCKS($1)
6364- _LT_LINKER_SHLIBS($1)
6365- _LT_SYS_DYNAMIC_LINKER($1)
6366- _LT_LINKER_HARDCODE_LIBPATH($1)
6367-
6368- _LT_CONFIG($1)
6369- fi # test -n "$compiler"
6370-
6371- CC=$lt_save_CC
6372- LDCXX=$LD
6373- LD=$lt_save_LD
6374- GCC=$lt_save_GCC
6375- with_gnu_ld=$lt_save_with_gnu_ld
6376- lt_cv_path_LDCXX=$lt_cv_path_LD
6377- lt_cv_path_LD=$lt_save_path_LD
6378- lt_cv_prog_gnu_ldcxx=$lt_cv_prog_gnu_ld
6379- lt_cv_prog_gnu_ld=$lt_save_with_gnu_ld
6380-fi # test "$_lt_caught_CXX_error" != yes
6381-
6382-AC_LANG_POP
6383-])# _LT_LANG_CXX_CONFIG
6384-
6385-
6386-# _LT_SYS_HIDDEN_LIBDEPS([TAGNAME])
6387-# ---------------------------------
6388-# Figure out "hidden" library dependencies from verbose
6389-# compiler output when linking a shared library.
6390-# Parse the compiler output and extract the necessary
6391-# objects, libraries and library flags.
6392-m4_defun([_LT_SYS_HIDDEN_LIBDEPS],
6393-[m4_require([_LT_FILEUTILS_DEFAULTS])dnl
6394-# Dependencies to place before and after the object being linked:
6395-_LT_TAGVAR(predep_objects, $1)=
6396-_LT_TAGVAR(postdep_objects, $1)=
6397-_LT_TAGVAR(predeps, $1)=
6398-_LT_TAGVAR(postdeps, $1)=
6399-_LT_TAGVAR(compiler_lib_search_path, $1)=
6400-
6401-dnl we can't use the lt_simple_compile_test_code here,
6402-dnl because it contains code intended for an executable,
6403-dnl not a library. It's possible we should let each
6404-dnl tag define a new lt_????_link_test_code variable,
6405-dnl but it's only used here...
6406-m4_if([$1], [], [cat > conftest.$ac_ext <<_LT_EOF
6407-int a;
6408-void foo (void) { a = 0; }
6409-_LT_EOF
6410-], [$1], [CXX], [cat > conftest.$ac_ext <<_LT_EOF
6411-class Foo
6412-{
6413-public:
6414- Foo (void) { a = 0; }
6415-private:
6416- int a;
6417-};
6418-_LT_EOF
6419-], [$1], [F77], [cat > conftest.$ac_ext <<_LT_EOF
6420- subroutine foo
6421- implicit none
6422- integer*4 a
6423- a=0
6424- return
6425- end
6426-_LT_EOF
6427-], [$1], [FC], [cat > conftest.$ac_ext <<_LT_EOF
6428- subroutine foo
6429- implicit none
6430- integer a
6431- a=0
6432- return
6433- end
6434-_LT_EOF
6435-], [$1], [GCJ], [cat > conftest.$ac_ext <<_LT_EOF
6436-public class foo {
6437- private int a;
6438- public void bar (void) {
6439- a = 0;
6440- }
6441-};
6442-_LT_EOF
6443-])
6444-dnl Parse the compiler output and extract the necessary
6445-dnl objects, libraries and library flags.
6446-if AC_TRY_EVAL(ac_compile); then
6447- # Parse the compiler output and extract the necessary
6448- # objects, libraries and library flags.
6449-
6450- # Sentinel used to keep track of whether or not we are before
6451- # the conftest object file.
6452- pre_test_object_deps_done=no
6453-
6454- for p in `eval "$output_verbose_link_cmd"`; do
6455- case $p in
6456-
6457- -L* | -R* | -l*)
6458- # Some compilers place space between "-{L,R}" and the path.
6459- # Remove the space.
6460- if test $p = "-L" ||
6461- test $p = "-R"; then
6462- prev=$p
6463- continue
6464- else
6465- prev=
6466- fi
6467-
6468- if test "$pre_test_object_deps_done" = no; then
6469- case $p in
6470- -L* | -R*)
6471- # Internal compiler library paths should come after those
6472- # provided the user. The postdeps already come after the
6473- # user supplied libs so there is no need to process them.
6474- if test -z "$_LT_TAGVAR(compiler_lib_search_path, $1)"; then
6475- _LT_TAGVAR(compiler_lib_search_path, $1)="${prev}${p}"
6476- else
6477- _LT_TAGVAR(compiler_lib_search_path, $1)="${_LT_TAGVAR(compiler_lib_search_path, $1)} ${prev}${p}"
6478- fi
6479- ;;
6480- # The "-l" case would never come before the object being
6481- # linked, so don't bother handling this case.
6482- esac
6483- else
6484- if test -z "$_LT_TAGVAR(postdeps, $1)"; then
6485- _LT_TAGVAR(postdeps, $1)="${prev}${p}"
6486- else
6487- _LT_TAGVAR(postdeps, $1)="${_LT_TAGVAR(postdeps, $1)} ${prev}${p}"
6488- fi
6489- fi
6490- ;;
6491-
6492- *.$objext)
6493- # This assumes that the test object file only shows up
6494- # once in the compiler output.
6495- if test "$p" = "conftest.$objext"; then
6496- pre_test_object_deps_done=yes
6497- continue
6498- fi
6499-
6500- if test "$pre_test_object_deps_done" = no; then
6501- if test -z "$_LT_TAGVAR(predep_objects, $1)"; then
6502- _LT_TAGVAR(predep_objects, $1)="$p"
6503- else
6504- _LT_TAGVAR(predep_objects, $1)="$_LT_TAGVAR(predep_objects, $1) $p"
6505- fi
6506- else
6507- if test -z "$_LT_TAGVAR(postdep_objects, $1)"; then
6508- _LT_TAGVAR(postdep_objects, $1)="$p"
6509- else
6510- _LT_TAGVAR(postdep_objects, $1)="$_LT_TAGVAR(postdep_objects, $1) $p"
6511- fi
6512- fi
6513- ;;
6514-
6515- *) ;; # Ignore the rest.
6516-
6517- esac
6518- done
6519-
6520- # Clean up.
6521- rm -f a.out a.exe
6522-else
6523- echo "libtool.m4: error: problem compiling $1 test program"
6524-fi
6525-
6526-$RM -f confest.$objext
6527-
6528-# PORTME: override above test on systems where it is broken
6529-m4_if([$1], [CXX],
6530-[case $host_os in
6531-interix[[3-9]]*)
6532- # Interix 3.5 installs completely hosed .la files for C++, so rather than
6533- # hack all around it, let's just trust "g++" to DTRT.
6534- _LT_TAGVAR(predep_objects,$1)=
6535- _LT_TAGVAR(postdep_objects,$1)=
6536- _LT_TAGVAR(postdeps,$1)=
6537- ;;
6538-
6539-linux*)
6540- case `$CC -V 2>&1 | sed 5q` in
6541- *Sun\ C*)
6542- # Sun C++ 5.9
6543-
6544- # The more standards-conforming stlport4 library is
6545- # incompatible with the Cstd library. Avoid specifying
6546- # it if it's in CXXFLAGS. Ignore libCrun as
6547- # -library=stlport4 depends on it.
6548- case " $CXX $CXXFLAGS " in
6549- *" -library=stlport4 "*)
6550- solaris_use_stlport4=yes
6551- ;;
6552- esac
6553-
6554- if test "$solaris_use_stlport4" != yes; then
6555- _LT_TAGVAR(postdeps,$1)='-library=Cstd -library=Crun'
6556- fi
6557- ;;
6558- esac
6559- ;;
6560-
6561-solaris*)
6562- case $cc_basename in
6563- CC*)
6564- # The more standards-conforming stlport4 library is
6565- # incompatible with the Cstd library. Avoid specifying
6566- # it if it's in CXXFLAGS. Ignore libCrun as
6567- # -library=stlport4 depends on it.
6568- case " $CXX $CXXFLAGS " in
6569- *" -library=stlport4 "*)
6570- solaris_use_stlport4=yes
6571- ;;
6572- esac
6573-
6574- # Adding this requires a known-good setup of shared libraries for
6575- # Sun compiler versions before 5.6, else PIC objects from an old
6576- # archive will be linked into the output, leading to subtle bugs.
6577- if test "$solaris_use_stlport4" != yes; then
6578- _LT_TAGVAR(postdeps,$1)='-library=Cstd -library=Crun'
6579- fi
6580- ;;
6581- esac
6582- ;;
6583-esac
6584-])
6585-
6586-case " $_LT_TAGVAR(postdeps, $1) " in
6587-*" -lc "*) _LT_TAGVAR(archive_cmds_need_lc, $1)=no ;;
6588-esac
6589- _LT_TAGVAR(compiler_lib_search_dirs, $1)=
6590-if test -n "${_LT_TAGVAR(compiler_lib_search_path, $1)}"; then
6591- _LT_TAGVAR(compiler_lib_search_dirs, $1)=`echo " ${_LT_TAGVAR(compiler_lib_search_path, $1)}" | ${SED} -e 's! -L! !g' -e 's!^ !!'`
6592-fi
6593-_LT_TAGDECL([], [compiler_lib_search_dirs], [1],
6594- [The directories searched by this compiler when creating a shared library])
6595-_LT_TAGDECL([], [predep_objects], [1],
6596- [Dependencies to place before and after the objects being linked to
6597- create a shared library])
6598-_LT_TAGDECL([], [postdep_objects], [1])
6599-_LT_TAGDECL([], [predeps], [1])
6600-_LT_TAGDECL([], [postdeps], [1])
6601-_LT_TAGDECL([], [compiler_lib_search_path], [1],
6602- [The library search path used internally by the compiler when linking
6603- a shared library])
6604-])# _LT_SYS_HIDDEN_LIBDEPS
6605-
6606-
6607-# _LT_PROG_F77
6608-# ------------
6609-# Since AC_PROG_F77 is broken, in that it returns the empty string
6610-# if there is no fortran compiler, we have our own version here.
6611-m4_defun([_LT_PROG_F77],
6612-[
6613-pushdef([AC_MSG_ERROR], [_lt_disable_F77=yes])
6614-AC_PROG_F77
6615-if test -z "$F77" || test "X$F77" = "Xno"; then
6616- _lt_disable_F77=yes
6617-fi
6618-popdef([AC_MSG_ERROR])
6619-])# _LT_PROG_F77
6620-
6621-dnl aclocal-1.4 backwards compatibility:
6622-dnl AC_DEFUN([_LT_PROG_F77], [])
6623-
6624-
6625-# _LT_LANG_F77_CONFIG([TAG])
6626-# --------------------------
6627-# Ensure that the configuration variables for a Fortran 77 compiler are
6628-# suitably defined. These variables are subsequently used by _LT_CONFIG
6629-# to write the compiler configuration to `libtool'.
6630-m4_defun([_LT_LANG_F77_CONFIG],
6631-[AC_REQUIRE([_LT_PROG_F77])dnl
6632-AC_LANG_PUSH(Fortran 77)
6633-
6634-_LT_TAGVAR(archive_cmds_need_lc, $1)=no
6635-_LT_TAGVAR(allow_undefined_flag, $1)=
6636-_LT_TAGVAR(always_export_symbols, $1)=no
6637-_LT_TAGVAR(archive_expsym_cmds, $1)=
6638-_LT_TAGVAR(export_dynamic_flag_spec, $1)=
6639-_LT_TAGVAR(hardcode_direct, $1)=no
6640-_LT_TAGVAR(hardcode_direct_absolute, $1)=no
6641-_LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
6642-_LT_TAGVAR(hardcode_libdir_flag_spec_ld, $1)=
6643-_LT_TAGVAR(hardcode_libdir_separator, $1)=
6644-_LT_TAGVAR(hardcode_minus_L, $1)=no
6645-_LT_TAGVAR(hardcode_automatic, $1)=no
6646-_LT_TAGVAR(inherit_rpath, $1)=no
6647-_LT_TAGVAR(module_cmds, $1)=
6648-_LT_TAGVAR(module_expsym_cmds, $1)=
6649-_LT_TAGVAR(link_all_deplibs, $1)=unknown
6650-_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds
6651-_LT_TAGVAR(no_undefined_flag, $1)=
6652-_LT_TAGVAR(whole_archive_flag_spec, $1)=
6653-_LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no
6654-
6655-# Source file extension for f77 test sources.
6656-ac_ext=f
6657-
6658-# Object file extension for compiled f77 test sources.
6659-objext=o
6660-_LT_TAGVAR(objext, $1)=$objext
6661-
6662-# No sense in running all these tests if we already determined that
6663-# the F77 compiler isn't working. Some variables (like enable_shared)
6664-# are currently assumed to apply to all compilers on this platform,
6665-# and will be corrupted by setting them based on a non-working compiler.
6666-if test "$_lt_disable_F77" != yes; then
6667- # Code to be used in simple compile tests
6668- lt_simple_compile_test_code="\
6669- subroutine t
6670- return
6671- end
6672-"
6673-
6674- # Code to be used in simple link tests
6675- lt_simple_link_test_code="\
6676- program t
6677- end
6678-"
6679-
6680- # ltmain only uses $CC for tagged configurations so make sure $CC is set.
6681- _LT_TAG_COMPILER
6682-
6683- # save warnings/boilerplate of simple test code
6684- _LT_COMPILER_BOILERPLATE
6685- _LT_LINKER_BOILERPLATE
6686-
6687- # Allow CC to be a program name with arguments.
6688- lt_save_CC="$CC"
6689- lt_save_GCC=$GCC
6690- CC=${F77-"f77"}
6691- compiler=$CC
6692- _LT_TAGVAR(compiler, $1)=$CC
6693- _LT_CC_BASENAME([$compiler])
6694- GCC=$G77
6695- if test -n "$compiler"; then
6696- AC_MSG_CHECKING([if libtool supports shared libraries])
6697- AC_MSG_RESULT([$can_build_shared])
6698-
6699- AC_MSG_CHECKING([whether to build shared libraries])
6700- test "$can_build_shared" = "no" && enable_shared=no
6701-
6702- # On AIX, shared libraries and static libraries use the same namespace, and
6703- # are all built from PIC.
6704- case $host_os in
6705- aix3*)
6706- test "$enable_shared" = yes && enable_static=no
6707- if test -n "$RANLIB"; then
6708- archive_cmds="$archive_cmds~\$RANLIB \$lib"
6709- postinstall_cmds='$RANLIB $lib'
6710- fi
6711- ;;
6712- aix[[4-9]]*)
6713- if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then
6714- test "$enable_shared" = yes && enable_static=no
6715- fi
6716- ;;
6717- esac
6718- AC_MSG_RESULT([$enable_shared])
6719-
6720- AC_MSG_CHECKING([whether to build static libraries])
6721- # Make sure either enable_shared or enable_static is yes.
6722- test "$enable_shared" = yes || enable_static=yes
6723- AC_MSG_RESULT([$enable_static])
6724-
6725- _LT_TAGVAR(GCC, $1)="$G77"
6726- _LT_TAGVAR(LD, $1)="$LD"
6727-
6728- ## CAVEAT EMPTOR:
6729- ## There is no encapsulation within the following macros, do not change
6730- ## the running order or otherwise move them around unless you know exactly
6731- ## what you are doing...
6732- _LT_COMPILER_PIC($1)
6733- _LT_COMPILER_C_O($1)
6734- _LT_COMPILER_FILE_LOCKS($1)
6735- _LT_LINKER_SHLIBS($1)
6736- _LT_SYS_DYNAMIC_LINKER($1)
6737- _LT_LINKER_HARDCODE_LIBPATH($1)
6738-
6739- _LT_CONFIG($1)
6740- fi # test -n "$compiler"
6741-
6742- GCC=$lt_save_GCC
6743- CC="$lt_save_CC"
6744-fi # test "$_lt_disable_F77" != yes
6745-
6746-AC_LANG_POP
6747-])# _LT_LANG_F77_CONFIG
6748-
6749-
6750-# _LT_PROG_FC
6751-# -----------
6752-# Since AC_PROG_FC is broken, in that it returns the empty string
6753-# if there is no fortran compiler, we have our own version here.
6754-m4_defun([_LT_PROG_FC],
6755-[
6756-pushdef([AC_MSG_ERROR], [_lt_disable_FC=yes])
6757-AC_PROG_FC
6758-if test -z "$FC" || test "X$FC" = "Xno"; then
6759- _lt_disable_FC=yes
6760-fi
6761-popdef([AC_MSG_ERROR])
6762-])# _LT_PROG_FC
6763-
6764-dnl aclocal-1.4 backwards compatibility:
6765-dnl AC_DEFUN([_LT_PROG_FC], [])
6766-
6767-
6768-# _LT_LANG_FC_CONFIG([TAG])
6769-# -------------------------
6770-# Ensure that the configuration variables for a Fortran compiler are
6771-# suitably defined. These variables are subsequently used by _LT_CONFIG
6772-# to write the compiler configuration to `libtool'.
6773-m4_defun([_LT_LANG_FC_CONFIG],
6774-[AC_REQUIRE([_LT_PROG_FC])dnl
6775-AC_LANG_PUSH(Fortran)
6776-
6777-_LT_TAGVAR(archive_cmds_need_lc, $1)=no
6778-_LT_TAGVAR(allow_undefined_flag, $1)=
6779-_LT_TAGVAR(always_export_symbols, $1)=no
6780-_LT_TAGVAR(archive_expsym_cmds, $1)=
6781-_LT_TAGVAR(export_dynamic_flag_spec, $1)=
6782-_LT_TAGVAR(hardcode_direct, $1)=no
6783-_LT_TAGVAR(hardcode_direct_absolute, $1)=no
6784-_LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
6785-_LT_TAGVAR(hardcode_libdir_flag_spec_ld, $1)=
6786-_LT_TAGVAR(hardcode_libdir_separator, $1)=
6787-_LT_TAGVAR(hardcode_minus_L, $1)=no
6788-_LT_TAGVAR(hardcode_automatic, $1)=no
6789-_LT_TAGVAR(inherit_rpath, $1)=no
6790-_LT_TAGVAR(module_cmds, $1)=
6791-_LT_TAGVAR(module_expsym_cmds, $1)=
6792-_LT_TAGVAR(link_all_deplibs, $1)=unknown
6793-_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds
6794-_LT_TAGVAR(no_undefined_flag, $1)=
6795-_LT_TAGVAR(whole_archive_flag_spec, $1)=
6796-_LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no
6797-
6798-# Source file extension for fc test sources.
6799-ac_ext=${ac_fc_srcext-f}
6800-
6801-# Object file extension for compiled fc test sources.
6802-objext=o
6803-_LT_TAGVAR(objext, $1)=$objext
6804-
6805-# No sense in running all these tests if we already determined that
6806-# the FC compiler isn't working. Some variables (like enable_shared)
6807-# are currently assumed to apply to all compilers on this platform,
6808-# and will be corrupted by setting them based on a non-working compiler.
6809-if test "$_lt_disable_FC" != yes; then
6810- # Code to be used in simple compile tests
6811- lt_simple_compile_test_code="\
6812- subroutine t
6813- return
6814- end
6815-"
6816-
6817- # Code to be used in simple link tests
6818- lt_simple_link_test_code="\
6819- program t
6820- end
6821-"
6822-
6823- # ltmain only uses $CC for tagged configurations so make sure $CC is set.
6824- _LT_TAG_COMPILER
6825-
6826- # save warnings/boilerplate of simple test code
6827- _LT_COMPILER_BOILERPLATE
6828- _LT_LINKER_BOILERPLATE
6829-
6830- # Allow CC to be a program name with arguments.
6831- lt_save_CC="$CC"
6832- lt_save_GCC=$GCC
6833- CC=${FC-"f95"}
6834- compiler=$CC
6835- GCC=$ac_cv_fc_compiler_gnu
6836-
6837- _LT_TAGVAR(compiler, $1)=$CC
6838- _LT_CC_BASENAME([$compiler])
6839-
6840- if test -n "$compiler"; then
6841- AC_MSG_CHECKING([if libtool supports shared libraries])
6842- AC_MSG_RESULT([$can_build_shared])
6843-
6844- AC_MSG_CHECKING([whether to build shared libraries])
6845- test "$can_build_shared" = "no" && enable_shared=no
6846-
6847- # On AIX, shared libraries and static libraries use the same namespace, and
6848- # are all built from PIC.
6849- case $host_os in
6850- aix3*)
6851- test "$enable_shared" = yes && enable_static=no
6852- if test -n "$RANLIB"; then
6853- archive_cmds="$archive_cmds~\$RANLIB \$lib"
6854- postinstall_cmds='$RANLIB $lib'
6855- fi
6856- ;;
6857- aix[[4-9]]*)
6858- if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then
6859- test "$enable_shared" = yes && enable_static=no
6860- fi
6861- ;;
6862- esac
6863- AC_MSG_RESULT([$enable_shared])
6864-
6865- AC_MSG_CHECKING([whether to build static libraries])
6866- # Make sure either enable_shared or enable_static is yes.
6867- test "$enable_shared" = yes || enable_static=yes
6868- AC_MSG_RESULT([$enable_static])
6869-
6870- _LT_TAGVAR(GCC, $1)="$ac_cv_fc_compiler_gnu"
6871- _LT_TAGVAR(LD, $1)="$LD"
6872-
6873- ## CAVEAT EMPTOR:
6874- ## There is no encapsulation within the following macros, do not change
6875- ## the running order or otherwise move them around unless you know exactly
6876- ## what you are doing...
6877- _LT_SYS_HIDDEN_LIBDEPS($1)
6878- _LT_COMPILER_PIC($1)
6879- _LT_COMPILER_C_O($1)
6880- _LT_COMPILER_FILE_LOCKS($1)
6881- _LT_LINKER_SHLIBS($1)
6882- _LT_SYS_DYNAMIC_LINKER($1)
6883- _LT_LINKER_HARDCODE_LIBPATH($1)
6884-
6885- _LT_CONFIG($1)
6886- fi # test -n "$compiler"
6887-
6888- GCC=$lt_save_GCC
6889- CC="$lt_save_CC"
6890-fi # test "$_lt_disable_FC" != yes
6891-
6892-AC_LANG_POP
6893-])# _LT_LANG_FC_CONFIG
6894-
6895-
6896-# _LT_LANG_GCJ_CONFIG([TAG])
6897-# --------------------------
6898-# Ensure that the configuration variables for the GNU Java Compiler compiler
6899-# are suitably defined. These variables are subsequently used by _LT_CONFIG
6900-# to write the compiler configuration to `libtool'.
6901-m4_defun([_LT_LANG_GCJ_CONFIG],
6902-[AC_REQUIRE([LT_PROG_GCJ])dnl
6903-AC_LANG_SAVE
6904-
6905-# Source file extension for Java test sources.
6906-ac_ext=java
6907-
6908-# Object file extension for compiled Java test sources.
6909-objext=o
6910-_LT_TAGVAR(objext, $1)=$objext
6911-
6912-# Code to be used in simple compile tests
6913-lt_simple_compile_test_code="class foo {}"
6914-
6915-# Code to be used in simple link tests
6916-lt_simple_link_test_code='public class conftest { public static void main(String[[]] argv) {}; }'
6917-
6918-# ltmain only uses $CC for tagged configurations so make sure $CC is set.
6919-_LT_TAG_COMPILER
6920-
6921-# save warnings/boilerplate of simple test code
6922-_LT_COMPILER_BOILERPLATE
6923-_LT_LINKER_BOILERPLATE
6924-
6925-# Allow CC to be a program name with arguments.
6926-lt_save_CC="$CC"
6927-lt_save_GCC=$GCC
6928-GCC=yes
6929-CC=${GCJ-"gcj"}
6930-compiler=$CC
6931-_LT_TAGVAR(compiler, $1)=$CC
6932-_LT_TAGVAR(LD, $1)="$LD"
6933-_LT_CC_BASENAME([$compiler])
6934-
6935-# GCJ did not exist at the time GCC didn't implicitly link libc in.
6936-_LT_TAGVAR(archive_cmds_need_lc, $1)=no
6937-
6938-_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds
6939-
6940-## CAVEAT EMPTOR:
6941-## There is no encapsulation within the following macros, do not change
6942-## the running order or otherwise move them around unless you know exactly
6943-## what you are doing...
6944-if test -n "$compiler"; then
6945- _LT_COMPILER_NO_RTTI($1)
6946- _LT_COMPILER_PIC($1)
6947- _LT_COMPILER_C_O($1)
6948- _LT_COMPILER_FILE_LOCKS($1)
6949- _LT_LINKER_SHLIBS($1)
6950- _LT_LINKER_HARDCODE_LIBPATH($1)
6951-
6952- _LT_CONFIG($1)
6953-fi
6954-
6955-AC_LANG_RESTORE
6956-
6957-GCC=$lt_save_GCC
6958-CC="$lt_save_CC"
6959-])# _LT_LANG_GCJ_CONFIG
6960-
6961-
6962-# _LT_LANG_RC_CONFIG([TAG])
6963-# -------------------------
6964-# Ensure that the configuration variables for the Windows resource compiler
6965-# are suitably defined. These variables are subsequently used by _LT_CONFIG
6966-# to write the compiler configuration to `libtool'.
6967-m4_defun([_LT_LANG_RC_CONFIG],
6968-[AC_REQUIRE([LT_PROG_RC])dnl
6969-AC_LANG_SAVE
6970-
6971-# Source file extension for RC test sources.
6972-ac_ext=rc
6973-
6974-# Object file extension for compiled RC test sources.
6975-objext=o
6976-_LT_TAGVAR(objext, $1)=$objext
6977-
6978-# Code to be used in simple compile tests
6979-lt_simple_compile_test_code='sample MENU { MENUITEM "&Soup", 100, CHECKED }'
6980-
6981-# Code to be used in simple link tests
6982-lt_simple_link_test_code="$lt_simple_compile_test_code"
6983-
6984-# ltmain only uses $CC for tagged configurations so make sure $CC is set.
6985-_LT_TAG_COMPILER
6986-
6987-# save warnings/boilerplate of simple test code
6988-_LT_COMPILER_BOILERPLATE
6989-_LT_LINKER_BOILERPLATE
6990-
6991-# Allow CC to be a program name with arguments.
6992-lt_save_CC="$CC"
6993-lt_save_GCC=$GCC
6994-GCC=
6995-CC=${RC-"windres"}
6996-compiler=$CC
6997-_LT_TAGVAR(compiler, $1)=$CC
6998-_LT_CC_BASENAME([$compiler])
6999-_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)=yes
7000-
7001-if test -n "$compiler"; then
7002- :
7003- _LT_CONFIG($1)
7004-fi
7005-
7006-GCC=$lt_save_GCC
7007-AC_LANG_RESTORE
7008-CC="$lt_save_CC"
7009-])# _LT_LANG_RC_CONFIG
7010-
7011-
7012-# LT_PROG_GCJ
7013-# -----------
7014-AC_DEFUN([LT_PROG_GCJ],
7015-[m4_ifdef([AC_PROG_GCJ], [AC_PROG_GCJ],
7016- [m4_ifdef([A][M_PROG_GCJ], [A][M_PROG_GCJ],
7017- [AC_CHECK_TOOL(GCJ, gcj,)
7018- test "x${GCJFLAGS+set}" = xset || GCJFLAGS="-g -O2"
7019- AC_SUBST(GCJFLAGS)])])[]dnl
7020-])
7021-
7022-# Old name:
7023-AU_ALIAS([LT_AC_PROG_GCJ], [LT_PROG_GCJ])
7024-dnl aclocal-1.4 backwards compatibility:
7025-dnl AC_DEFUN([LT_AC_PROG_GCJ], [])
7026-
7027-
7028-# LT_PROG_RC
7029-# ----------
7030-AC_DEFUN([LT_PROG_RC],
7031-[AC_CHECK_TOOL(RC, windres,)
7032-])
7033-
7034-# Old name:
7035-AU_ALIAS([LT_AC_PROG_RC], [LT_PROG_RC])
7036-dnl aclocal-1.4 backwards compatibility:
7037-dnl AC_DEFUN([LT_AC_PROG_RC], [])
7038-
7039-
7040-# _LT_DECL_EGREP
7041-# --------------
7042-# If we don't have a new enough Autoconf to choose the best grep
7043-# available, choose the one first in the user's PATH.
7044-m4_defun([_LT_DECL_EGREP],
7045-[AC_REQUIRE([AC_PROG_EGREP])dnl
7046-AC_REQUIRE([AC_PROG_FGREP])dnl
7047-test -z "$GREP" && GREP=grep
7048-_LT_DECL([], [GREP], [1], [A grep program that handles long lines])
7049-_LT_DECL([], [EGREP], [1], [An ERE matcher])
7050-_LT_DECL([], [FGREP], [1], [A literal string matcher])
7051-dnl Non-bleeding-edge autoconf doesn't subst GREP, so do it here too
7052-AC_SUBST([GREP])
7053-])
7054-
7055-
7056-# _LT_DECL_OBJDUMP
7057-# --------------
7058-# If we don't have a new enough Autoconf to choose the best objdump
7059-# available, choose the one first in the user's PATH.
7060-m4_defun([_LT_DECL_OBJDUMP],
7061-[AC_CHECK_TOOL(OBJDUMP, objdump, false)
7062-test -z "$OBJDUMP" && OBJDUMP=objdump
7063-_LT_DECL([], [OBJDUMP], [1], [An object symbol dumper])
7064-AC_SUBST([OBJDUMP])
7065-])
7066-
7067-
7068-# _LT_DECL_SED
7069-# ------------
7070-# Check for a fully-functional sed program, that truncates
7071-# as few characters as possible. Prefer GNU sed if found.
7072-m4_defun([_LT_DECL_SED],
7073-[AC_PROG_SED
7074-test -z "$SED" && SED=sed
7075-Xsed="$SED -e 1s/^X//"
7076-_LT_DECL([], [SED], [1], [A sed program that does not truncate output])
7077-_LT_DECL([], [Xsed], ["\$SED -e 1s/^X//"],
7078- [Sed that helps us avoid accidentally triggering echo(1) options like -n])
7079-])# _LT_DECL_SED
7080-
7081-m4_ifndef([AC_PROG_SED], [
7082-############################################################
7083-# NOTE: This macro has been submitted for inclusion into #
7084-# GNU Autoconf as AC_PROG_SED. When it is available in #
7085-# a released version of Autoconf we should remove this #
7086-# macro and use it instead. #
7087-############################################################
7088-
7089-m4_defun([AC_PROG_SED],
7090-[AC_MSG_CHECKING([for a sed that does not truncate output])
7091-AC_CACHE_VAL(lt_cv_path_SED,
7092-[# Loop through the user's path and test for sed and gsed.
7093-# Then use that list of sed's as ones to test for truncation.
7094-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
7095-for as_dir in $PATH
7096-do
7097- IFS=$as_save_IFS
7098- test -z "$as_dir" && as_dir=.
7099- for lt_ac_prog in sed gsed; do
7100- for ac_exec_ext in '' $ac_executable_extensions; do
7101- if $as_executable_p "$as_dir/$lt_ac_prog$ac_exec_ext"; then
7102- lt_ac_sed_list="$lt_ac_sed_list $as_dir/$lt_ac_prog$ac_exec_ext"
7103- fi
7104- done
7105- done
7106-done
7107-IFS=$as_save_IFS
7108-lt_ac_max=0
7109-lt_ac_count=0
7110-# Add /usr/xpg4/bin/sed as it is typically found on Solaris
7111-# along with /bin/sed that truncates output.
7112-for lt_ac_sed in $lt_ac_sed_list /usr/xpg4/bin/sed; do
7113- test ! -f $lt_ac_sed && continue
7114- cat /dev/null > conftest.in
7115- lt_ac_count=0
7116- echo $ECHO_N "0123456789$ECHO_C" >conftest.in
7117- # Check for GNU sed and select it if it is found.
7118- if "$lt_ac_sed" --version 2>&1 < /dev/null | grep 'GNU' > /dev/null; then
7119- lt_cv_path_SED=$lt_ac_sed
7120- break
7121- fi
7122- while true; do
7123- cat conftest.in conftest.in >conftest.tmp
7124- mv conftest.tmp conftest.in
7125- cp conftest.in conftest.nl
7126- echo >>conftest.nl
7127- $lt_ac_sed -e 's/a$//' < conftest.nl >conftest.out || break
7128- cmp -s conftest.out conftest.nl || break
7129- # 10000 chars as input seems more than enough
7130- test $lt_ac_count -gt 10 && break
7131- lt_ac_count=`expr $lt_ac_count + 1`
7132- if test $lt_ac_count -gt $lt_ac_max; then
7133- lt_ac_max=$lt_ac_count
7134- lt_cv_path_SED=$lt_ac_sed
7135- fi
7136- done
7137-done
7138-])
7139-SED=$lt_cv_path_SED
7140-AC_SUBST([SED])
7141-AC_MSG_RESULT([$SED])
7142-])#AC_PROG_SED
7143-])#m4_ifndef
7144-
7145-# Old name:
7146-AU_ALIAS([LT_AC_PROG_SED], [AC_PROG_SED])
7147-dnl aclocal-1.4 backwards compatibility:
7148-dnl AC_DEFUN([LT_AC_PROG_SED], [])
7149-
7150-
7151-# _LT_CHECK_SHELL_FEATURES
7152-# ------------------------
7153-# Find out whether the shell is Bourne or XSI compatible,
7154-# or has some other useful features.
7155-m4_defun([_LT_CHECK_SHELL_FEATURES],
7156-[AC_MSG_CHECKING([whether the shell understands some XSI constructs])
7157-# Try some XSI features
7158-xsi_shell=no
7159-( _lt_dummy="a/b/c"
7160- test "${_lt_dummy##*/},${_lt_dummy%/*},"${_lt_dummy%"$_lt_dummy"}, \
7161- = c,a/b,, \
7162- && eval 'test $(( 1 + 1 )) -eq 2 \
7163- && test "${#_lt_dummy}" -eq 5' ) >/dev/null 2>&1 \
7164- && xsi_shell=yes
7165-AC_MSG_RESULT([$xsi_shell])
7166-_LT_CONFIG_LIBTOOL_INIT([xsi_shell='$xsi_shell'])
7167-
7168-AC_MSG_CHECKING([whether the shell understands "+="])
7169-lt_shell_append=no
7170-( foo=bar; set foo baz; eval "$[1]+=\$[2]" && test "$foo" = barbaz ) \
7171- >/dev/null 2>&1 \
7172- && lt_shell_append=yes
7173-AC_MSG_RESULT([$lt_shell_append])
7174-_LT_CONFIG_LIBTOOL_INIT([lt_shell_append='$lt_shell_append'])
7175-
7176-if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then
7177- lt_unset=unset
7178-else
7179- lt_unset=false
7180-fi
7181-_LT_DECL([], [lt_unset], [0], [whether the shell understands "unset"])dnl
7182-
7183-# test EBCDIC or ASCII
7184-case `echo X|tr X '\101'` in
7185- A) # ASCII based system
7186- # \n is not interpreted correctly by Solaris 8 /usr/ucb/tr
7187- lt_SP2NL='tr \040 \012'
7188- lt_NL2SP='tr \015\012 \040\040'
7189- ;;
7190- *) # EBCDIC based system
7191- lt_SP2NL='tr \100 \n'
7192- lt_NL2SP='tr \r\n \100\100'
7193- ;;
7194-esac
7195-_LT_DECL([SP2NL], [lt_SP2NL], [1], [turn spaces into newlines])dnl
7196-_LT_DECL([NL2SP], [lt_NL2SP], [1], [turn newlines into spaces])dnl
7197-])# _LT_CHECK_SHELL_FEATURES
7198-
7199-
7200-# _LT_PROG_XSI_SHELLFNS
7201-# ---------------------
7202-# Bourne and XSI compatible variants of some useful shell functions.
7203-m4_defun([_LT_PROG_XSI_SHELLFNS],
7204-[case $xsi_shell in
7205- yes)
7206- cat << \_LT_EOF >> "$cfgfile"
7207-
7208-# func_dirname file append nondir_replacement
7209-# Compute the dirname of FILE. If nonempty, add APPEND to the result,
7210-# otherwise set result to NONDIR_REPLACEMENT.
7211-func_dirname ()
7212-{
7213- case ${1} in
7214- */*) func_dirname_result="${1%/*}${2}" ;;
7215- * ) func_dirname_result="${3}" ;;
7216- esac
7217-}
7218-
7219-# func_basename file
7220-func_basename ()
7221-{
7222- func_basename_result="${1##*/}"
7223-}
7224-
7225-# func_dirname_and_basename file append nondir_replacement
7226-# perform func_basename and func_dirname in a single function
7227-# call:
7228-# dirname: Compute the dirname of FILE. If nonempty,
7229-# add APPEND to the result, otherwise set result
7230-# to NONDIR_REPLACEMENT.
7231-# value returned in "$func_dirname_result"
7232-# basename: Compute filename of FILE.
7233-# value retuned in "$func_basename_result"
7234-# Implementation must be kept synchronized with func_dirname
7235-# and func_basename. For efficiency, we do not delegate to
7236-# those functions but instead duplicate the functionality here.
7237-func_dirname_and_basename ()
7238-{
7239- case ${1} in
7240- */*) func_dirname_result="${1%/*}${2}" ;;
7241- * ) func_dirname_result="${3}" ;;
7242- esac
7243- func_basename_result="${1##*/}"
7244-}
7245-
7246-# func_stripname prefix suffix name
7247-# strip PREFIX and SUFFIX off of NAME.
7248-# PREFIX and SUFFIX must not contain globbing or regex special
7249-# characters, hashes, percent signs, but SUFFIX may contain a leading
7250-# dot (in which case that matches only a dot).
7251-func_stripname ()
7252-{
7253- # pdksh 5.2.14 does not do ${X%$Y} correctly if both X and Y are
7254- # positional parameters, so assign one to ordinary parameter first.
7255- func_stripname_result=${3}
7256- func_stripname_result=${func_stripname_result#"${1}"}
7257- func_stripname_result=${func_stripname_result%"${2}"}
7258-}
7259-
7260-# func_opt_split
7261-func_opt_split ()
7262-{
7263- func_opt_split_opt=${1%%=*}
7264- func_opt_split_arg=${1#*=}
7265-}
7266-
7267-# func_lo2o object
7268-func_lo2o ()
7269-{
7270- case ${1} in
7271- *.lo) func_lo2o_result=${1%.lo}.${objext} ;;
7272- *) func_lo2o_result=${1} ;;
7273- esac
7274-}
7275-
7276-# func_xform libobj-or-source
7277-func_xform ()
7278-{
7279- func_xform_result=${1%.*}.lo
7280-}
7281-
7282-# func_arith arithmetic-term...
7283-func_arith ()
7284-{
7285- func_arith_result=$(( $[*] ))
7286-}
7287-
7288-# func_len string
7289-# STRING may not start with a hyphen.
7290-func_len ()
7291-{
7292- func_len_result=${#1}
7293-}
7294-
7295-_LT_EOF
7296- ;;
7297- *) # Bourne compatible functions.
7298- cat << \_LT_EOF >> "$cfgfile"
7299-
7300-# func_dirname file append nondir_replacement
7301-# Compute the dirname of FILE. If nonempty, add APPEND to the result,
7302-# otherwise set result to NONDIR_REPLACEMENT.
7303-func_dirname ()
7304-{
7305- # Extract subdirectory from the argument.
7306- func_dirname_result=`$ECHO "X${1}" | $Xsed -e "$dirname"`
7307- if test "X$func_dirname_result" = "X${1}"; then
7308- func_dirname_result="${3}"
7309- else
7310- func_dirname_result="$func_dirname_result${2}"
7311- fi
7312-}
7313-
7314-# func_basename file
7315-func_basename ()
7316-{
7317- func_basename_result=`$ECHO "X${1}" | $Xsed -e "$basename"`
7318-}
7319-
7320-dnl func_dirname_and_basename
7321-dnl A portable version of this function is already defined in general.m4sh
7322-dnl so there is no need for it here.
7323-
7324-# func_stripname prefix suffix name
7325-# strip PREFIX and SUFFIX off of NAME.
7326-# PREFIX and SUFFIX must not contain globbing or regex special
7327-# characters, hashes, percent signs, but SUFFIX may contain a leading
7328-# dot (in which case that matches only a dot).
7329-# func_strip_suffix prefix name
7330-func_stripname ()
7331-{
7332- case ${2} in
7333- .*) func_stripname_result=`$ECHO "X${3}" \
7334- | $Xsed -e "s%^${1}%%" -e "s%\\\\${2}\$%%"`;;
7335- *) func_stripname_result=`$ECHO "X${3}" \
7336- | $Xsed -e "s%^${1}%%" -e "s%${2}\$%%"`;;
7337- esac
7338-}
7339-
7340-# sed scripts:
7341-my_sed_long_opt='1s/^\(-[[^=]]*\)=.*/\1/;q'
7342-my_sed_long_arg='1s/^-[[^=]]*=//'
7343-
7344-# func_opt_split
7345-func_opt_split ()
7346-{
7347- func_opt_split_opt=`$ECHO "X${1}" | $Xsed -e "$my_sed_long_opt"`
7348- func_opt_split_arg=`$ECHO "X${1}" | $Xsed -e "$my_sed_long_arg"`
7349-}
7350-
7351-# func_lo2o object
7352-func_lo2o ()
7353-{
7354- func_lo2o_result=`$ECHO "X${1}" | $Xsed -e "$lo2o"`
7355-}
7356-
7357-# func_xform libobj-or-source
7358-func_xform ()
7359-{
7360- func_xform_result=`$ECHO "X${1}" | $Xsed -e 's/\.[[^.]]*$/.lo/'`
7361-}
7362-
7363-# func_arith arithmetic-term...
7364-func_arith ()
7365-{
7366- func_arith_result=`expr "$[@]"`
7367-}
7368-
7369-# func_len string
7370-# STRING may not start with a hyphen.
7371-func_len ()
7372-{
7373- func_len_result=`expr "$[1]" : ".*" 2>/dev/null || echo $max_cmd_len`
7374-}
7375-
7376-_LT_EOF
7377-esac
7378-
7379-case $lt_shell_append in
7380- yes)
7381- cat << \_LT_EOF >> "$cfgfile"
7382-
7383-# func_append var value
7384-# Append VALUE to the end of shell variable VAR.
7385-func_append ()
7386-{
7387- eval "$[1]+=\$[2]"
7388-}
7389-_LT_EOF
7390- ;;
7391- *)
7392- cat << \_LT_EOF >> "$cfgfile"
7393-
7394-# func_append var value
7395-# Append VALUE to the end of shell variable VAR.
7396-func_append ()
7397-{
7398- eval "$[1]=\$$[1]\$[2]"
7399-}
7400-
7401-_LT_EOF
7402- ;;
7403- esac
7404-])
7405Index: libiconv-1.13.1/libcharset/m4/ltoptions.m4
7406===================================================================
7407--- libiconv-1.13.1.orig/libcharset/m4/ltoptions.m4
7408+++ /dev/null
7409@@ -1,368 +0,0 @@
7410-# Helper functions for option handling. -*- Autoconf -*-
7411-#
7412-# Copyright (C) 2004, 2005, 2007, 2008 Free Software Foundation, Inc.
7413-# Written by Gary V. Vaughan, 2004
7414-#
7415-# This file is free software; the Free Software Foundation gives
7416-# unlimited permission to copy and/or distribute it, with or without
7417-# modifications, as long as this notice is preserved.
7418-
7419-# serial 6 ltoptions.m4
7420-
7421-# This is to help aclocal find these macros, as it can't see m4_define.
7422-AC_DEFUN([LTOPTIONS_VERSION], [m4_if([1])])
7423-
7424-
7425-# _LT_MANGLE_OPTION(MACRO-NAME, OPTION-NAME)
7426-# ------------------------------------------
7427-m4_define([_LT_MANGLE_OPTION],
7428-[[_LT_OPTION_]m4_bpatsubst($1__$2, [[^a-zA-Z0-9_]], [_])])
7429-
7430-
7431-# _LT_SET_OPTION(MACRO-NAME, OPTION-NAME)
7432-# ---------------------------------------
7433-# Set option OPTION-NAME for macro MACRO-NAME, and if there is a
7434-# matching handler defined, dispatch to it. Other OPTION-NAMEs are
7435-# saved as a flag.
7436-m4_define([_LT_SET_OPTION],
7437-[m4_define(_LT_MANGLE_OPTION([$1], [$2]))dnl
7438-m4_ifdef(_LT_MANGLE_DEFUN([$1], [$2]),
7439- _LT_MANGLE_DEFUN([$1], [$2]),
7440- [m4_warning([Unknown $1 option `$2'])])[]dnl
7441-])
7442-
7443-
7444-# _LT_IF_OPTION(MACRO-NAME, OPTION-NAME, IF-SET, [IF-NOT-SET])
7445-# ------------------------------------------------------------
7446-# Execute IF-SET if OPTION is set, IF-NOT-SET otherwise.
7447-m4_define([_LT_IF_OPTION],
7448-[m4_ifdef(_LT_MANGLE_OPTION([$1], [$2]), [$3], [$4])])
7449-
7450-
7451-# _LT_UNLESS_OPTIONS(MACRO-NAME, OPTION-LIST, IF-NOT-SET)
7452-# -------------------------------------------------------
7453-# Execute IF-NOT-SET unless all options in OPTION-LIST for MACRO-NAME
7454-# are set.
7455-m4_define([_LT_UNLESS_OPTIONS],
7456-[m4_foreach([_LT_Option], m4_split(m4_normalize([$2])),
7457- [m4_ifdef(_LT_MANGLE_OPTION([$1], _LT_Option),
7458- [m4_define([$0_found])])])[]dnl
7459-m4_ifdef([$0_found], [m4_undefine([$0_found])], [$3
7460-])[]dnl
7461-])
7462-
7463-
7464-# _LT_SET_OPTIONS(MACRO-NAME, OPTION-LIST)
7465-# ----------------------------------------
7466-# OPTION-LIST is a space-separated list of Libtool options associated
7467-# with MACRO-NAME. If any OPTION has a matching handler declared with
7468-# LT_OPTION_DEFINE, dispatch to that macro; otherwise complain about
7469-# the unknown option and exit.
7470-m4_defun([_LT_SET_OPTIONS],
7471-[# Set options
7472-m4_foreach([_LT_Option], m4_split(m4_normalize([$2])),
7473- [_LT_SET_OPTION([$1], _LT_Option)])
7474-
7475-m4_if([$1],[LT_INIT],[
7476- dnl
7477- dnl Simply set some default values (i.e off) if boolean options were not
7478- dnl specified:
7479- _LT_UNLESS_OPTIONS([LT_INIT], [dlopen], [enable_dlopen=no
7480- ])
7481- _LT_UNLESS_OPTIONS([LT_INIT], [win32-dll], [enable_win32_dll=no
7482- ])
7483- dnl
7484- dnl If no reference was made to various pairs of opposing options, then
7485- dnl we run the default mode handler for the pair. For example, if neither
7486- dnl `shared' nor `disable-shared' was passed, we enable building of shared
7487- dnl archives by default:
7488- _LT_UNLESS_OPTIONS([LT_INIT], [shared disable-shared], [_LT_ENABLE_SHARED])
7489- _LT_UNLESS_OPTIONS([LT_INIT], [static disable-static], [_LT_ENABLE_STATIC])
7490- _LT_UNLESS_OPTIONS([LT_INIT], [pic-only no-pic], [_LT_WITH_PIC])
7491- _LT_UNLESS_OPTIONS([LT_INIT], [fast-install disable-fast-install],
7492- [_LT_ENABLE_FAST_INSTALL])
7493- ])
7494-])# _LT_SET_OPTIONS
7495-
7496-
7497-## --------------------------------- ##
7498-## Macros to handle LT_INIT options. ##
7499-## --------------------------------- ##
7500-
7501-# _LT_MANGLE_DEFUN(MACRO-NAME, OPTION-NAME)
7502-# -----------------------------------------
7503-m4_define([_LT_MANGLE_DEFUN],
7504-[[_LT_OPTION_DEFUN_]m4_bpatsubst(m4_toupper([$1__$2]), [[^A-Z0-9_]], [_])])
7505-
7506-
7507-# LT_OPTION_DEFINE(MACRO-NAME, OPTION-NAME, CODE)
7508-# -----------------------------------------------
7509-m4_define([LT_OPTION_DEFINE],
7510-[m4_define(_LT_MANGLE_DEFUN([$1], [$2]), [$3])[]dnl
7511-])# LT_OPTION_DEFINE
7512-
7513-
7514-# dlopen
7515-# ------
7516-LT_OPTION_DEFINE([LT_INIT], [dlopen], [enable_dlopen=yes
7517-])
7518-
7519-AU_DEFUN([AC_LIBTOOL_DLOPEN],
7520-[_LT_SET_OPTION([LT_INIT], [dlopen])
7521-AC_DIAGNOSE([obsolete],
7522-[$0: Remove this warning and the call to _LT_SET_OPTION when you
7523-put the `dlopen' option into LT_INIT's first parameter.])
7524-])
7525-
7526-dnl aclocal-1.4 backwards compatibility:
7527-dnl AC_DEFUN([AC_LIBTOOL_DLOPEN], [])
7528-
7529-
7530-# win32-dll
7531-# ---------
7532-# Declare package support for building win32 dll's.
7533-LT_OPTION_DEFINE([LT_INIT], [win32-dll],
7534-[enable_win32_dll=yes
7535-
7536-case $host in
7537-*-*-cygwin* | *-*-mingw* | *-*-pw32* | *-cegcc*)
7538- AC_CHECK_TOOL(AS, as, false)
7539- AC_CHECK_TOOL(DLLTOOL, dlltool, false)
7540- AC_CHECK_TOOL(OBJDUMP, objdump, false)
7541- ;;
7542-esac
7543-
7544-test -z "$AS" && AS=as
7545-_LT_DECL([], [AS], [0], [Assembler program])dnl
7546-
7547-test -z "$DLLTOOL" && DLLTOOL=dlltool
7548-_LT_DECL([], [DLLTOOL], [0], [DLL creation program])dnl
7549-
7550-test -z "$OBJDUMP" && OBJDUMP=objdump
7551-_LT_DECL([], [OBJDUMP], [0], [Object dumper program])dnl
7552-])# win32-dll
7553-
7554-AU_DEFUN([AC_LIBTOOL_WIN32_DLL],
7555-[AC_REQUIRE([AC_CANONICAL_HOST])dnl
7556-_LT_SET_OPTION([LT_INIT], [win32-dll])
7557-AC_DIAGNOSE([obsolete],
7558-[$0: Remove this warning and the call to _LT_SET_OPTION when you
7559-put the `win32-dll' option into LT_INIT's first parameter.])
7560-])
7561-
7562-dnl aclocal-1.4 backwards compatibility:
7563-dnl AC_DEFUN([AC_LIBTOOL_WIN32_DLL], [])
7564-
7565-
7566-# _LT_ENABLE_SHARED([DEFAULT])
7567-# ----------------------------
7568-# implement the --enable-shared flag, and supports the `shared' and
7569-# `disable-shared' LT_INIT options.
7570-# DEFAULT is either `yes' or `no'. If omitted, it defaults to `yes'.
7571-m4_define([_LT_ENABLE_SHARED],
7572-[m4_define([_LT_ENABLE_SHARED_DEFAULT], [m4_if($1, no, no, yes)])dnl
7573-AC_ARG_ENABLE([shared],
7574- [AS_HELP_STRING([--enable-shared@<:@=PKGS@:>@],
7575- [build shared libraries @<:@default=]_LT_ENABLE_SHARED_DEFAULT[@:>@])],
7576- [p=${PACKAGE-default}
7577- case $enableval in
7578- yes) enable_shared=yes ;;
7579- no) enable_shared=no ;;
7580- *)
7581- enable_shared=no
7582- # Look at the argument we got. We use all the common list separators.
7583- lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
7584- for pkg in $enableval; do
7585- IFS="$lt_save_ifs"
7586- if test "X$pkg" = "X$p"; then
7587- enable_shared=yes
7588- fi
7589- done
7590- IFS="$lt_save_ifs"
7591- ;;
7592- esac],
7593- [enable_shared=]_LT_ENABLE_SHARED_DEFAULT)
7594-
7595- _LT_DECL([build_libtool_libs], [enable_shared], [0],
7596- [Whether or not to build shared libraries])
7597-])# _LT_ENABLE_SHARED
7598-
7599-LT_OPTION_DEFINE([LT_INIT], [shared], [_LT_ENABLE_SHARED([yes])])
7600-LT_OPTION_DEFINE([LT_INIT], [disable-shared], [_LT_ENABLE_SHARED([no])])
7601-
7602-# Old names:
7603-AC_DEFUN([AC_ENABLE_SHARED],
7604-[_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[shared])
7605-])
7606-
7607-AC_DEFUN([AC_DISABLE_SHARED],
7608-[_LT_SET_OPTION([LT_INIT], [disable-shared])
7609-])
7610-
7611-AU_DEFUN([AM_ENABLE_SHARED], [AC_ENABLE_SHARED($@)])
7612-AU_DEFUN([AM_DISABLE_SHARED], [AC_DISABLE_SHARED($@)])
7613-
7614-dnl aclocal-1.4 backwards compatibility:
7615-dnl AC_DEFUN([AM_ENABLE_SHARED], [])
7616-dnl AC_DEFUN([AM_DISABLE_SHARED], [])
7617-
7618-
7619-
7620-# _LT_ENABLE_STATIC([DEFAULT])
7621-# ----------------------------
7622-# implement the --enable-static flag, and support the `static' and
7623-# `disable-static' LT_INIT options.
7624-# DEFAULT is either `yes' or `no'. If omitted, it defaults to `yes'.
7625-m4_define([_LT_ENABLE_STATIC],
7626-[m4_define([_LT_ENABLE_STATIC_DEFAULT], [m4_if($1, no, no, yes)])dnl
7627-AC_ARG_ENABLE([static],
7628- [AS_HELP_STRING([--enable-static@<:@=PKGS@:>@],
7629- [build static libraries @<:@default=]_LT_ENABLE_STATIC_DEFAULT[@:>@])],
7630- [p=${PACKAGE-default}
7631- case $enableval in
7632- yes) enable_static=yes ;;
7633- no) enable_static=no ;;
7634- *)
7635- enable_static=no
7636- # Look at the argument we got. We use all the common list separators.
7637- lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
7638- for pkg in $enableval; do
7639- IFS="$lt_save_ifs"
7640- if test "X$pkg" = "X$p"; then
7641- enable_static=yes
7642- fi
7643- done
7644- IFS="$lt_save_ifs"
7645- ;;
7646- esac],
7647- [enable_static=]_LT_ENABLE_STATIC_DEFAULT)
7648-
7649- _LT_DECL([build_old_libs], [enable_static], [0],
7650- [Whether or not to build static libraries])
7651-])# _LT_ENABLE_STATIC
7652-
7653-LT_OPTION_DEFINE([LT_INIT], [static], [_LT_ENABLE_STATIC([yes])])
7654-LT_OPTION_DEFINE([LT_INIT], [disable-static], [_LT_ENABLE_STATIC([no])])
7655-
7656-# Old names:
7657-AC_DEFUN([AC_ENABLE_STATIC],
7658-[_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[static])
7659-])
7660-
7661-AC_DEFUN([AC_DISABLE_STATIC],
7662-[_LT_SET_OPTION([LT_INIT], [disable-static])
7663-])
7664-
7665-AU_DEFUN([AM_ENABLE_STATIC], [AC_ENABLE_STATIC($@)])
7666-AU_DEFUN([AM_DISABLE_STATIC], [AC_DISABLE_STATIC($@)])
7667-
7668-dnl aclocal-1.4 backwards compatibility:
7669-dnl AC_DEFUN([AM_ENABLE_STATIC], [])
7670-dnl AC_DEFUN([AM_DISABLE_STATIC], [])
7671-
7672-
7673-
7674-# _LT_ENABLE_FAST_INSTALL([DEFAULT])
7675-# ----------------------------------
7676-# implement the --enable-fast-install flag, and support the `fast-install'
7677-# and `disable-fast-install' LT_INIT options.
7678-# DEFAULT is either `yes' or `no'. If omitted, it defaults to `yes'.
7679-m4_define([_LT_ENABLE_FAST_INSTALL],
7680-[m4_define([_LT_ENABLE_FAST_INSTALL_DEFAULT], [m4_if($1, no, no, yes)])dnl
7681-AC_ARG_ENABLE([fast-install],
7682- [AS_HELP_STRING([--enable-fast-install@<:@=PKGS@:>@],
7683- [optimize for fast installation @<:@default=]_LT_ENABLE_FAST_INSTALL_DEFAULT[@:>@])],
7684- [p=${PACKAGE-default}
7685- case $enableval in
7686- yes) enable_fast_install=yes ;;
7687- no) enable_fast_install=no ;;
7688- *)
7689- enable_fast_install=no
7690- # Look at the argument we got. We use all the common list separators.
7691- lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
7692- for pkg in $enableval; do
7693- IFS="$lt_save_ifs"
7694- if test "X$pkg" = "X$p"; then
7695- enable_fast_install=yes
7696- fi
7697- done
7698- IFS="$lt_save_ifs"
7699- ;;
7700- esac],
7701- [enable_fast_install=]_LT_ENABLE_FAST_INSTALL_DEFAULT)
7702-
7703-_LT_DECL([fast_install], [enable_fast_install], [0],
7704- [Whether or not to optimize for fast installation])dnl
7705-])# _LT_ENABLE_FAST_INSTALL
7706-
7707-LT_OPTION_DEFINE([LT_INIT], [fast-install], [_LT_ENABLE_FAST_INSTALL([yes])])
7708-LT_OPTION_DEFINE([LT_INIT], [disable-fast-install], [_LT_ENABLE_FAST_INSTALL([no])])
7709-
7710-# Old names:
7711-AU_DEFUN([AC_ENABLE_FAST_INSTALL],
7712-[_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[fast-install])
7713-AC_DIAGNOSE([obsolete],
7714-[$0: Remove this warning and the call to _LT_SET_OPTION when you put
7715-the `fast-install' option into LT_INIT's first parameter.])
7716-])
7717-
7718-AU_DEFUN([AC_DISABLE_FAST_INSTALL],
7719-[_LT_SET_OPTION([LT_INIT], [disable-fast-install])
7720-AC_DIAGNOSE([obsolete],
7721-[$0: Remove this warning and the call to _LT_SET_OPTION when you put
7722-the `disable-fast-install' option into LT_INIT's first parameter.])
7723-])
7724-
7725-dnl aclocal-1.4 backwards compatibility:
7726-dnl AC_DEFUN([AC_ENABLE_FAST_INSTALL], [])
7727-dnl AC_DEFUN([AM_DISABLE_FAST_INSTALL], [])
7728-
7729-
7730-# _LT_WITH_PIC([MODE])
7731-# --------------------
7732-# implement the --with-pic flag, and support the `pic-only' and `no-pic'
7733-# LT_INIT options.
7734-# MODE is either `yes' or `no'. If omitted, it defaults to `both'.
7735-m4_define([_LT_WITH_PIC],
7736-[AC_ARG_WITH([pic],
7737- [AS_HELP_STRING([--with-pic],
7738- [try to use only PIC/non-PIC objects @<:@default=use both@:>@])],
7739- [pic_mode="$withval"],
7740- [pic_mode=default])
7741-
7742-test -z "$pic_mode" && pic_mode=m4_default([$1], [default])
7743-
7744-_LT_DECL([], [pic_mode], [0], [What type of objects to build])dnl
7745-])# _LT_WITH_PIC
7746-
7747-LT_OPTION_DEFINE([LT_INIT], [pic-only], [_LT_WITH_PIC([yes])])
7748-LT_OPTION_DEFINE([LT_INIT], [no-pic], [_LT_WITH_PIC([no])])
7749-
7750-# Old name:
7751-AU_DEFUN([AC_LIBTOOL_PICMODE],
7752-[_LT_SET_OPTION([LT_INIT], [pic-only])
7753-AC_DIAGNOSE([obsolete],
7754-[$0: Remove this warning and the call to _LT_SET_OPTION when you
7755-put the `pic-only' option into LT_INIT's first parameter.])
7756-])
7757-
7758-dnl aclocal-1.4 backwards compatibility:
7759-dnl AC_DEFUN([AC_LIBTOOL_PICMODE], [])
7760-
7761-## ----------------- ##
7762-## LTDL_INIT Options ##
7763-## ----------------- ##
7764-
7765-m4_define([_LTDL_MODE], [])
7766-LT_OPTION_DEFINE([LTDL_INIT], [nonrecursive],
7767- [m4_define([_LTDL_MODE], [nonrecursive])])
7768-LT_OPTION_DEFINE([LTDL_INIT], [recursive],
7769- [m4_define([_LTDL_MODE], [recursive])])
7770-LT_OPTION_DEFINE([LTDL_INIT], [subproject],
7771- [m4_define([_LTDL_MODE], [subproject])])
7772-
7773-m4_define([_LTDL_TYPE], [])
7774-LT_OPTION_DEFINE([LTDL_INIT], [installable],
7775- [m4_define([_LTDL_TYPE], [installable])])
7776-LT_OPTION_DEFINE([LTDL_INIT], [convenience],
7777- [m4_define([_LTDL_TYPE], [convenience])])
7778Index: libiconv-1.13.1/libcharset/m4/ltsugar.m4
7779===================================================================
7780--- libiconv-1.13.1.orig/libcharset/m4/ltsugar.m4
7781+++ /dev/null
7782@@ -1,123 +0,0 @@
7783-# ltsugar.m4 -- libtool m4 base layer. -*-Autoconf-*-
7784-#
7785-# Copyright (C) 2004, 2005, 2007, 2008 Free Software Foundation, Inc.
7786-# Written by Gary V. Vaughan, 2004
7787-#
7788-# This file is free software; the Free Software Foundation gives
7789-# unlimited permission to copy and/or distribute it, with or without
7790-# modifications, as long as this notice is preserved.
7791-
7792-# serial 6 ltsugar.m4
7793-
7794-# This is to help aclocal find these macros, as it can't see m4_define.
7795-AC_DEFUN([LTSUGAR_VERSION], [m4_if([0.1])])
7796-
7797-
7798-# lt_join(SEP, ARG1, [ARG2...])
7799-# -----------------------------
7800-# Produce ARG1SEPARG2...SEPARGn, omitting [] arguments and their
7801-# associated separator.
7802-# Needed until we can rely on m4_join from Autoconf 2.62, since all earlier
7803-# versions in m4sugar had bugs.
7804-m4_define([lt_join],
7805-[m4_if([$#], [1], [],
7806- [$#], [2], [[$2]],
7807- [m4_if([$2], [], [], [[$2]_])$0([$1], m4_shift(m4_shift($@)))])])
7808-m4_define([_lt_join],
7809-[m4_if([$#$2], [2], [],
7810- [m4_if([$2], [], [], [[$1$2]])$0([$1], m4_shift(m4_shift($@)))])])
7811-
7812-
7813-# lt_car(LIST)
7814-# lt_cdr(LIST)
7815-# ------------
7816-# Manipulate m4 lists.
7817-# These macros are necessary as long as will still need to support
7818-# Autoconf-2.59 which quotes differently.
7819-m4_define([lt_car], [[$1]])
7820-m4_define([lt_cdr],
7821-[m4_if([$#], 0, [m4_fatal([$0: cannot be called without arguments])],
7822- [$#], 1, [],
7823- [m4_dquote(m4_shift($@))])])
7824-m4_define([lt_unquote], $1)
7825-
7826-
7827-# lt_append(MACRO-NAME, STRING, [SEPARATOR])
7828-# ------------------------------------------
7829-# Redefine MACRO-NAME to hold its former content plus `SEPARATOR'`STRING'.
7830-# Note that neither SEPARATOR nor STRING are expanded; they are appended
7831-# to MACRO-NAME as is (leaving the expansion for when MACRO-NAME is invoked).
7832-# No SEPARATOR is output if MACRO-NAME was previously undefined (different
7833-# than defined and empty).
7834-#
7835-# This macro is needed until we can rely on Autoconf 2.62, since earlier
7836-# versions of m4sugar mistakenly expanded SEPARATOR but not STRING.
7837-m4_define([lt_append],
7838-[m4_define([$1],
7839- m4_ifdef([$1], [m4_defn([$1])[$3]])[$2])])
7840-
7841-
7842-
7843-# lt_combine(SEP, PREFIX-LIST, INFIX, SUFFIX1, [SUFFIX2...])
7844-# ----------------------------------------------------------
7845-# Produce a SEP delimited list of all paired combinations of elements of
7846-# PREFIX-LIST with SUFFIX1 through SUFFIXn. Each element of the list
7847-# has the form PREFIXmINFIXSUFFIXn.
7848-# Needed until we can rely on m4_combine added in Autoconf 2.62.
7849-m4_define([lt_combine],
7850-[m4_if(m4_eval([$# > 3]), [1],
7851- [m4_pushdef([_Lt_sep], [m4_define([_Lt_sep], m4_defn([lt_car]))])]]dnl
7852-[[m4_foreach([_Lt_prefix], [$2],
7853- [m4_foreach([_Lt_suffix],
7854- ]m4_dquote(m4_dquote(m4_shift(m4_shift(m4_shift($@)))))[,
7855- [_Lt_sep([$1])[]m4_defn([_Lt_prefix])[$3]m4_defn([_Lt_suffix])])])])])
7856-
7857-
7858-# lt_if_append_uniq(MACRO-NAME, VARNAME, [SEPARATOR], [UNIQ], [NOT-UNIQ])
7859-# -----------------------------------------------------------------------
7860-# Iff MACRO-NAME does not yet contain VARNAME, then append it (delimited
7861-# by SEPARATOR if supplied) and expand UNIQ, else NOT-UNIQ.
7862-m4_define([lt_if_append_uniq],
7863-[m4_ifdef([$1],
7864- [m4_if(m4_index([$3]m4_defn([$1])[$3], [$3$2$3]), [-1],
7865- [lt_append([$1], [$2], [$3])$4],
7866- [$5])],
7867- [lt_append([$1], [$2], [$3])$4])])
7868-
7869-
7870-# lt_dict_add(DICT, KEY, VALUE)
7871-# -----------------------------
7872-m4_define([lt_dict_add],
7873-[m4_define([$1($2)], [$3])])
7874-
7875-
7876-# lt_dict_add_subkey(DICT, KEY, SUBKEY, VALUE)
7877-# --------------------------------------------
7878-m4_define([lt_dict_add_subkey],
7879-[m4_define([$1($2:$3)], [$4])])
7880-
7881-
7882-# lt_dict_fetch(DICT, KEY, [SUBKEY])
7883-# ----------------------------------
7884-m4_define([lt_dict_fetch],
7885-[m4_ifval([$3],
7886- m4_ifdef([$1($2:$3)], [m4_defn([$1($2:$3)])]),
7887- m4_ifdef([$1($2)], [m4_defn([$1($2)])]))])
7888-
7889-
7890-# lt_if_dict_fetch(DICT, KEY, [SUBKEY], VALUE, IF-TRUE, [IF-FALSE])
7891-# -----------------------------------------------------------------
7892-m4_define([lt_if_dict_fetch],
7893-[m4_if(lt_dict_fetch([$1], [$2], [$3]), [$4],
7894- [$5],
7895- [$6])])
7896-
7897-
7898-# lt_dict_filter(DICT, [SUBKEY], VALUE, [SEPARATOR], KEY, [...])
7899-# --------------------------------------------------------------
7900-m4_define([lt_dict_filter],
7901-[m4_if([$5], [], [],
7902- [lt_join(m4_quote(m4_default([$4], [[, ]])),
7903- lt_unquote(m4_split(m4_normalize(m4_foreach(_Lt_key, lt_car([m4_shiftn(4, $@)]),
7904- [lt_if_dict_fetch([$1], _Lt_key, [$2], [$3], [_Lt_key ])])))))])[]dnl
7905-])
7906Index: libiconv-1.13.1/libcharset/m4/ltversion.m4
7907===================================================================
7908--- libiconv-1.13.1.orig/libcharset/m4/ltversion.m4
7909+++ /dev/null
7910@@ -1,23 +0,0 @@
7911-# ltversion.m4 -- version numbers -*- Autoconf -*-
7912-#
7913-# Copyright (C) 2004 Free Software Foundation, Inc.
7914-# Written by Scott James Remnant, 2004
7915-#
7916-# This file is free software; the Free Software Foundation gives
7917-# unlimited permission to copy and/or distribute it, with or without
7918-# modifications, as long as this notice is preserved.
7919-
7920-# Generated from ltversion.in.
7921-
7922-# serial 3012 ltversion.m4
7923-# This file is part of GNU Libtool
7924-
7925-m4_define([LT_PACKAGE_VERSION], [2.2.6])
7926-m4_define([LT_PACKAGE_REVISION], [1.3012])
7927-
7928-AC_DEFUN([LTVERSION_VERSION],
7929-[macro_version='2.2.6'
7930-macro_revision='1.3012'
7931-_LT_DECL(, macro_version, 0, [Which release of libtool.m4 was used?])
7932-_LT_DECL(, macro_revision, 0)
7933-])
7934Index: libiconv-1.13.1/libcharset/m4/lt~obsolete.m4
7935===================================================================
7936--- libiconv-1.13.1.orig/libcharset/m4/lt~obsolete.m4
7937+++ /dev/null
7938@@ -1,92 +0,0 @@
7939-# lt~obsolete.m4 -- aclocal satisfying obsolete definitions. -*-Autoconf-*-
7940-#
7941-# Copyright (C) 2004, 2005, 2007 Free Software Foundation, Inc.
7942-# Written by Scott James Remnant, 2004.
7943-#
7944-# This file is free software; the Free Software Foundation gives
7945-# unlimited permission to copy and/or distribute it, with or without
7946-# modifications, as long as this notice is preserved.
7947-
7948-# serial 4 lt~obsolete.m4
7949-
7950-# These exist entirely to fool aclocal when bootstrapping libtool.
7951-#
7952-# In the past libtool.m4 has provided macros via AC_DEFUN (or AU_DEFUN)
7953-# which have later been changed to m4_define as they aren't part of the
7954-# exported API, or moved to Autoconf or Automake where they belong.
7955-#
7956-# The trouble is, aclocal is a bit thick. It'll see the old AC_DEFUN
7957-# in /usr/share/aclocal/libtool.m4 and remember it, then when it sees us
7958-# using a macro with the same name in our local m4/libtool.m4 it'll
7959-# pull the old libtool.m4 in (it doesn't see our shiny new m4_define
7960-# and doesn't know about Autoconf macros at all.)
7961-#
7962-# So we provide this file, which has a silly filename so it's always
7963-# included after everything else. This provides aclocal with the
7964-# AC_DEFUNs it wants, but when m4 processes it, it doesn't do anything
7965-# because those macros already exist, or will be overwritten later.
7966-# We use AC_DEFUN over AU_DEFUN for compatibility with aclocal-1.6.
7967-#
7968-# Anytime we withdraw an AC_DEFUN or AU_DEFUN, remember to add it here.
7969-# Yes, that means every name once taken will need to remain here until
7970-# we give up compatibility with versions before 1.7, at which point
7971-# we need to keep only those names which we still refer to.
7972-
7973-# This is to help aclocal find these macros, as it can't see m4_define.
7974-AC_DEFUN([LTOBSOLETE_VERSION], [m4_if([1])])
7975-
7976-m4_ifndef([AC_LIBTOOL_LINKER_OPTION], [AC_DEFUN([AC_LIBTOOL_LINKER_OPTION])])
7977-m4_ifndef([AC_PROG_EGREP], [AC_DEFUN([AC_PROG_EGREP])])
7978-m4_ifndef([_LT_AC_PROG_ECHO_BACKSLASH], [AC_DEFUN([_LT_AC_PROG_ECHO_BACKSLASH])])
7979-m4_ifndef([_LT_AC_SHELL_INIT], [AC_DEFUN([_LT_AC_SHELL_INIT])])
7980-m4_ifndef([_LT_AC_SYS_LIBPATH_AIX], [AC_DEFUN([_LT_AC_SYS_LIBPATH_AIX])])
7981-m4_ifndef([_LT_PROG_LTMAIN], [AC_DEFUN([_LT_PROG_LTMAIN])])
7982-m4_ifndef([_LT_AC_TAGVAR], [AC_DEFUN([_LT_AC_TAGVAR])])
7983-m4_ifndef([AC_LTDL_ENABLE_INSTALL], [AC_DEFUN([AC_LTDL_ENABLE_INSTALL])])
7984-m4_ifndef([AC_LTDL_PREOPEN], [AC_DEFUN([AC_LTDL_PREOPEN])])
7985-m4_ifndef([_LT_AC_SYS_COMPILER], [AC_DEFUN([_LT_AC_SYS_COMPILER])])
7986-m4_ifndef([_LT_AC_LOCK], [AC_DEFUN([_LT_AC_LOCK])])
7987-m4_ifndef([AC_LIBTOOL_SYS_OLD_ARCHIVE], [AC_DEFUN([AC_LIBTOOL_SYS_OLD_ARCHIVE])])
7988-m4_ifndef([_LT_AC_TRY_DLOPEN_SELF], [AC_DEFUN([_LT_AC_TRY_DLOPEN_SELF])])
7989-m4_ifndef([AC_LIBTOOL_PROG_CC_C_O], [AC_DEFUN([AC_LIBTOOL_PROG_CC_C_O])])
7990-m4_ifndef([AC_LIBTOOL_SYS_HARD_LINK_LOCKS], [AC_DEFUN([AC_LIBTOOL_SYS_HARD_LINK_LOCKS])])
7991-m4_ifndef([AC_LIBTOOL_OBJDIR], [AC_DEFUN([AC_LIBTOOL_OBJDIR])])
7992-m4_ifndef([AC_LTDL_OBJDIR], [AC_DEFUN([AC_LTDL_OBJDIR])])
7993-m4_ifndef([AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH], [AC_DEFUN([AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH])])
7994-m4_ifndef([AC_LIBTOOL_SYS_LIB_STRIP], [AC_DEFUN([AC_LIBTOOL_SYS_LIB_STRIP])])
7995-m4_ifndef([AC_PATH_MAGIC], [AC_DEFUN([AC_PATH_MAGIC])])
7996-m4_ifndef([AC_PROG_LD_GNU], [AC_DEFUN([AC_PROG_LD_GNU])])
7997-m4_ifndef([AC_PROG_LD_RELOAD_FLAG], [AC_DEFUN([AC_PROG_LD_RELOAD_FLAG])])
7998-m4_ifndef([AC_DEPLIBS_CHECK_METHOD], [AC_DEFUN([AC_DEPLIBS_CHECK_METHOD])])
7999-m4_ifndef([AC_LIBTOOL_PROG_COMPILER_NO_RTTI], [AC_DEFUN([AC_LIBTOOL_PROG_COMPILER_NO_RTTI])])
8000-m4_ifndef([AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE], [AC_DEFUN([AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE])])
8001-m4_ifndef([AC_LIBTOOL_PROG_COMPILER_PIC], [AC_DEFUN([AC_LIBTOOL_PROG_COMPILER_PIC])])
8002-m4_ifndef([AC_LIBTOOL_PROG_LD_SHLIBS], [AC_DEFUN([AC_LIBTOOL_PROG_LD_SHLIBS])])
8003-m4_ifndef([AC_LIBTOOL_POSTDEP_PREDEP], [AC_DEFUN([AC_LIBTOOL_POSTDEP_PREDEP])])
8004-m4_ifndef([LT_AC_PROG_EGREP], [AC_DEFUN([LT_AC_PROG_EGREP])])
8005-m4_ifndef([LT_AC_PROG_SED], [AC_DEFUN([LT_AC_PROG_SED])])
8006-m4_ifndef([_LT_CC_BASENAME], [AC_DEFUN([_LT_CC_BASENAME])])
8007-m4_ifndef([_LT_COMPILER_BOILERPLATE], [AC_DEFUN([_LT_COMPILER_BOILERPLATE])])
8008-m4_ifndef([_LT_LINKER_BOILERPLATE], [AC_DEFUN([_LT_LINKER_BOILERPLATE])])
8009-m4_ifndef([_AC_PROG_LIBTOOL], [AC_DEFUN([_AC_PROG_LIBTOOL])])
8010-m4_ifndef([AC_LIBTOOL_SETUP], [AC_DEFUN([AC_LIBTOOL_SETUP])])
8011-m4_ifndef([_LT_AC_CHECK_DLFCN], [AC_DEFUN([_LT_AC_CHECK_DLFCN])])
8012-m4_ifndef([AC_LIBTOOL_SYS_DYNAMIC_LINKER], [AC_DEFUN([AC_LIBTOOL_SYS_DYNAMIC_LINKER])])
8013-m4_ifndef([_LT_AC_TAGCONFIG], [AC_DEFUN([_LT_AC_TAGCONFIG])])
8014-m4_ifndef([AC_DISABLE_FAST_INSTALL], [AC_DEFUN([AC_DISABLE_FAST_INSTALL])])
8015-m4_ifndef([_LT_AC_LANG_CXX], [AC_DEFUN([_LT_AC_LANG_CXX])])
8016-m4_ifndef([_LT_AC_LANG_F77], [AC_DEFUN([_LT_AC_LANG_F77])])
8017-m4_ifndef([_LT_AC_LANG_GCJ], [AC_DEFUN([_LT_AC_LANG_GCJ])])
8018-m4_ifndef([AC_LIBTOOL_RC], [AC_DEFUN([AC_LIBTOOL_RC])])
8019-m4_ifndef([AC_LIBTOOL_LANG_C_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_C_CONFIG])])
8020-m4_ifndef([_LT_AC_LANG_C_CONFIG], [AC_DEFUN([_LT_AC_LANG_C_CONFIG])])
8021-m4_ifndef([AC_LIBTOOL_LANG_CXX_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_CXX_CONFIG])])
8022-m4_ifndef([_LT_AC_LANG_CXX_CONFIG], [AC_DEFUN([_LT_AC_LANG_CXX_CONFIG])])
8023-m4_ifndef([AC_LIBTOOL_LANG_F77_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_F77_CONFIG])])
8024-m4_ifndef([_LT_AC_LANG_F77_CONFIG], [AC_DEFUN([_LT_AC_LANG_F77_CONFIG])])
8025-m4_ifndef([AC_LIBTOOL_LANG_GCJ_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_GCJ_CONFIG])])
8026-m4_ifndef([_LT_AC_LANG_GCJ_CONFIG], [AC_DEFUN([_LT_AC_LANG_GCJ_CONFIG])])
8027-m4_ifndef([AC_LIBTOOL_LANG_RC_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_RC_CONFIG])])
8028-m4_ifndef([_LT_AC_LANG_RC_CONFIG], [AC_DEFUN([_LT_AC_LANG_RC_CONFIG])])
8029-m4_ifndef([AC_LIBTOOL_CONFIG], [AC_DEFUN([AC_LIBTOOL_CONFIG])])
8030-m4_ifndef([_LT_AC_FILE_LTDLL_C], [AC_DEFUN([_LT_AC_FILE_LTDLL_C])])
8031Index: libiconv-1.13.1/m4/libtool.m4
8032===================================================================
8033--- libiconv-1.13.1.orig/m4/libtool.m4
8034+++ /dev/null
8035@@ -1,7357 +0,0 @@
8036-# libtool.m4 - Configure libtool for the host system. -*-Autoconf-*-
8037-#
8038-# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005,
8039-# 2006, 2007, 2008 Free Software Foundation, Inc.
8040-# Written by Gordon Matzigkeit, 1996
8041-#
8042-# This file is free software; the Free Software Foundation gives
8043-# unlimited permission to copy and/or distribute it, with or without
8044-# modifications, as long as this notice is preserved.
8045-
8046-m4_define([_LT_COPYING], [dnl
8047-# Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005,
8048-# 2006, 2007, 2008 Free Software Foundation, Inc.
8049-# Written by Gordon Matzigkeit, 1996
8050-#
8051-# This file is part of GNU Libtool.
8052-#
8053-# GNU Libtool is free software; you can redistribute it and/or
8054-# modify it under the terms of the GNU General Public License as
8055-# published by the Free Software Foundation; either version 2 of
8056-# the License, or (at your option) any later version.
8057-#
8058-# As a special exception to the GNU General Public License,
8059-# if you distribute this file as part of a program or library that
8060-# is built using GNU Libtool, you may include this file under the
8061-# same distribution terms that you use for the rest of that program.
8062-#
8063-# GNU Libtool is distributed in the hope that it will be useful,
8064-# but WITHOUT ANY WARRANTY; without even the implied warranty of
8065-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
8066-# GNU General Public License for more details.
8067-#
8068-# You should have received a copy of the GNU General Public License
8069-# along with GNU Libtool; see the file COPYING. If not, a copy
8070-# can be downloaded from http://www.gnu.org/licenses/gpl.html, or
8071-# obtained by writing to the Free Software Foundation, Inc.,
8072-# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
8073-])
8074-
8075-# serial 56 LT_INIT
8076-
8077-
8078-# LT_PREREQ(VERSION)
8079-# ------------------
8080-# Complain and exit if this libtool version is less that VERSION.
8081-m4_defun([LT_PREREQ],
8082-[m4_if(m4_version_compare(m4_defn([LT_PACKAGE_VERSION]), [$1]), -1,
8083- [m4_default([$3],
8084- [m4_fatal([Libtool version $1 or higher is required],
8085- 63)])],
8086- [$2])])
8087-
8088-
8089-# _LT_CHECK_BUILDDIR
8090-# ------------------
8091-# Complain if the absolute build directory name contains unusual characters
8092-m4_defun([_LT_CHECK_BUILDDIR],
8093-[case `pwd` in
8094- *\ * | *\ *)
8095- AC_MSG_WARN([Libtool does not cope well with whitespace in `pwd`]) ;;
8096-esac
8097-])
8098-
8099-
8100-# LT_INIT([OPTIONS])
8101-# ------------------
8102-AC_DEFUN([LT_INIT],
8103-[AC_PREREQ([2.58])dnl We use AC_INCLUDES_DEFAULT
8104-AC_BEFORE([$0], [LT_LANG])dnl
8105-AC_BEFORE([$0], [LT_OUTPUT])dnl
8106-AC_BEFORE([$0], [LTDL_INIT])dnl
8107-m4_require([_LT_CHECK_BUILDDIR])dnl
8108-
8109-dnl Autoconf doesn't catch unexpanded LT_ macros by default:
8110-m4_pattern_forbid([^_?LT_[A-Z_]+$])dnl
8111-m4_pattern_allow([^(_LT_EOF|LT_DLGLOBAL|LT_DLLAZY_OR_NOW|LT_MULTI_MODULE)$])dnl
8112-dnl aclocal doesn't pull ltoptions.m4, ltsugar.m4, or ltversion.m4
8113-dnl unless we require an AC_DEFUNed macro:
8114-AC_REQUIRE([LTOPTIONS_VERSION])dnl
8115-AC_REQUIRE([LTSUGAR_VERSION])dnl
8116-AC_REQUIRE([LTVERSION_VERSION])dnl
8117-AC_REQUIRE([LTOBSOLETE_VERSION])dnl
8118-m4_require([_LT_PROG_LTMAIN])dnl
8119-
8120-dnl Parse OPTIONS
8121-_LT_SET_OPTIONS([$0], [$1])
8122-
8123-# This can be used to rebuild libtool when needed
8124-LIBTOOL_DEPS="$ltmain"
8125-
8126-# Always use our own libtool.
8127-LIBTOOL="${CONFIG_SHELL-$SHELL} "'$(top_builddir)/libtool'
8128-AC_SUBST(LIBTOOL)dnl
8129-
8130-_LT_SETUP
8131-
8132-# Only expand once:
8133-m4_define([LT_INIT])
8134-])# LT_INIT
8135-
8136-# Old names:
8137-AU_ALIAS([AC_PROG_LIBTOOL], [LT_INIT])
8138-AU_ALIAS([AM_PROG_LIBTOOL], [LT_INIT])
8139-dnl aclocal-1.4 backwards compatibility:
8140-dnl AC_DEFUN([AC_PROG_LIBTOOL], [])
8141-dnl AC_DEFUN([AM_PROG_LIBTOOL], [])
8142-
8143-
8144-# _LT_CC_BASENAME(CC)
8145-# -------------------
8146-# Calculate cc_basename. Skip known compiler wrappers and cross-prefix.
8147-m4_defun([_LT_CC_BASENAME],
8148-[for cc_temp in $1""; do
8149- case $cc_temp in
8150- compile | *[[\\/]]compile | ccache | *[[\\/]]ccache ) ;;
8151- distcc | *[[\\/]]distcc | purify | *[[\\/]]purify ) ;;
8152- \-*) ;;
8153- *) break;;
8154- esac
8155-done
8156-cc_basename=`$ECHO "X$cc_temp" | $Xsed -e 's%.*/%%' -e "s%^$host_alias-%%"`
8157-])
8158-
8159-
8160-# _LT_FILEUTILS_DEFAULTS
8161-# ----------------------
8162-# It is okay to use these file commands and assume they have been set
8163-# sensibly after `m4_require([_LT_FILEUTILS_DEFAULTS])'.
8164-m4_defun([_LT_FILEUTILS_DEFAULTS],
8165-[: ${CP="cp -f"}
8166-: ${MV="mv -f"}
8167-: ${RM="rm -f"}
8168-])# _LT_FILEUTILS_DEFAULTS
8169-
8170-
8171-# _LT_SETUP
8172-# ---------
8173-m4_defun([_LT_SETUP],
8174-[AC_REQUIRE([AC_CANONICAL_HOST])dnl
8175-AC_REQUIRE([AC_CANONICAL_BUILD])dnl
8176-_LT_DECL([], [host_alias], [0], [The host system])dnl
8177-_LT_DECL([], [host], [0])dnl
8178-_LT_DECL([], [host_os], [0])dnl
8179-dnl
8180-_LT_DECL([], [build_alias], [0], [The build system])dnl
8181-_LT_DECL([], [build], [0])dnl
8182-_LT_DECL([], [build_os], [0])dnl
8183-dnl
8184-AC_REQUIRE([AC_PROG_CC])dnl
8185-AC_REQUIRE([LT_PATH_LD])dnl
8186-AC_REQUIRE([LT_PATH_NM])dnl
8187-dnl
8188-AC_REQUIRE([AC_PROG_LN_S])dnl
8189-test -z "$LN_S" && LN_S="ln -s"
8190-_LT_DECL([], [LN_S], [1], [Whether we need soft or hard links])dnl
8191-dnl
8192-AC_REQUIRE([LT_CMD_MAX_LEN])dnl
8193-_LT_DECL([objext], [ac_objext], [0], [Object file suffix (normally "o")])dnl
8194-_LT_DECL([], [exeext], [0], [Executable file suffix (normally "")])dnl
8195-dnl
8196-m4_require([_LT_FILEUTILS_DEFAULTS])dnl
8197-m4_require([_LT_CHECK_SHELL_FEATURES])dnl
8198-m4_require([_LT_CMD_RELOAD])dnl
8199-m4_require([_LT_CHECK_MAGIC_METHOD])dnl
8200-m4_require([_LT_CMD_OLD_ARCHIVE])dnl
8201-m4_require([_LT_CMD_GLOBAL_SYMBOLS])dnl
8202-
8203-_LT_CONFIG_LIBTOOL_INIT([
8204-# See if we are running on zsh, and set the options which allow our
8205-# commands through without removal of \ escapes INIT.
8206-if test -n "\${ZSH_VERSION+set}" ; then
8207- setopt NO_GLOB_SUBST
8208-fi
8209-])
8210-if test -n "${ZSH_VERSION+set}" ; then
8211- setopt NO_GLOB_SUBST
8212-fi
8213-
8214-_LT_CHECK_OBJDIR
8215-
8216-m4_require([_LT_TAG_COMPILER])dnl
8217-_LT_PROG_ECHO_BACKSLASH
8218-
8219-case $host_os in
8220-aix3*)
8221- # AIX sometimes has problems with the GCC collect2 program. For some
8222- # reason, if we set the COLLECT_NAMES environment variable, the problems
8223- # vanish in a puff of smoke.
8224- if test "X${COLLECT_NAMES+set}" != Xset; then
8225- COLLECT_NAMES=
8226- export COLLECT_NAMES
8227- fi
8228- ;;
8229-esac
8230-
8231-# Sed substitution that helps us do robust quoting. It backslashifies
8232-# metacharacters that are still active within double-quoted strings.
8233-sed_quote_subst='s/\([["`$\\]]\)/\\\1/g'
8234-
8235-# Same as above, but do not quote variable references.
8236-double_quote_subst='s/\([["`\\]]\)/\\\1/g'
8237-
8238-# Sed substitution to delay expansion of an escaped shell variable in a
8239-# double_quote_subst'ed string.
8240-delay_variable_subst='s/\\\\\\\\\\\$/\\\\\\$/g'
8241-
8242-# Sed substitution to delay expansion of an escaped single quote.
8243-delay_single_quote_subst='s/'\''/'\'\\\\\\\'\''/g'
8244-
8245-# Sed substitution to avoid accidental globbing in evaled expressions
8246-no_glob_subst='s/\*/\\\*/g'
8247-
8248-# Global variables:
8249-ofile=libtool
8250-can_build_shared=yes
8251-
8252-# All known linkers require a `.a' archive for static linking (except MSVC,
8253-# which needs '.lib').
8254-libext=a
8255-
8256-with_gnu_ld="$lt_cv_prog_gnu_ld"
8257-
8258-old_CC="$CC"
8259-old_CFLAGS="$CFLAGS"
8260-
8261-# Set sane defaults for various variables
8262-test -z "$CC" && CC=cc
8263-test -z "$LTCC" && LTCC=$CC
8264-test -z "$LTCFLAGS" && LTCFLAGS=$CFLAGS
8265-test -z "$LD" && LD=ld
8266-test -z "$ac_objext" && ac_objext=o
8267-
8268-_LT_CC_BASENAME([$compiler])
8269-
8270-# Only perform the check for file, if the check method requires it
8271-test -z "$MAGIC_CMD" && MAGIC_CMD=file
8272-case $deplibs_check_method in
8273-file_magic*)
8274- if test "$file_magic_cmd" = '$MAGIC_CMD'; then
8275- _LT_PATH_MAGIC
8276- fi
8277- ;;
8278-esac
8279-
8280-# Use C for the default configuration in the libtool script
8281-LT_SUPPORTED_TAG([CC])
8282-_LT_LANG_C_CONFIG
8283-_LT_LANG_DEFAULT_CONFIG
8284-_LT_CONFIG_COMMANDS
8285-])# _LT_SETUP
8286-
8287-
8288-# _LT_PROG_LTMAIN
8289-# ---------------
8290-# Note that this code is called both from `configure', and `config.status'
8291-# now that we use AC_CONFIG_COMMANDS to generate libtool. Notably,
8292-# `config.status' has no value for ac_aux_dir unless we are using Automake,
8293-# so we pass a copy along to make sure it has a sensible value anyway.
8294-m4_defun([_LT_PROG_LTMAIN],
8295-[m4_ifdef([AC_REQUIRE_AUX_FILE], [AC_REQUIRE_AUX_FILE([ltmain.sh])])dnl
8296-_LT_CONFIG_LIBTOOL_INIT([ac_aux_dir='$ac_aux_dir'])
8297-ltmain="$ac_aux_dir/ltmain.sh"
8298-])# _LT_PROG_LTMAIN
8299-
8300-
8301-## ------------------------------------- ##
8302-## Accumulate code for creating libtool. ##
8303-## ------------------------------------- ##
8304-
8305-# So that we can recreate a full libtool script including additional
8306-# tags, we accumulate the chunks of code to send to AC_CONFIG_COMMANDS
8307-# in macros and then make a single call at the end using the `libtool'
8308-# label.
8309-
8310-
8311-# _LT_CONFIG_LIBTOOL_INIT([INIT-COMMANDS])
8312-# ----------------------------------------
8313-# Register INIT-COMMANDS to be passed to AC_CONFIG_COMMANDS later.
8314-m4_define([_LT_CONFIG_LIBTOOL_INIT],
8315-[m4_ifval([$1],
8316- [m4_append([_LT_OUTPUT_LIBTOOL_INIT],
8317- [$1
8318-])])])
8319-
8320-# Initialize.
8321-m4_define([_LT_OUTPUT_LIBTOOL_INIT])
8322-
8323-
8324-# _LT_CONFIG_LIBTOOL([COMMANDS])
8325-# ------------------------------
8326-# Register COMMANDS to be passed to AC_CONFIG_COMMANDS later.
8327-m4_define([_LT_CONFIG_LIBTOOL],
8328-[m4_ifval([$1],
8329- [m4_append([_LT_OUTPUT_LIBTOOL_COMMANDS],
8330- [$1
8331-])])])
8332-
8333-# Initialize.
8334-m4_define([_LT_OUTPUT_LIBTOOL_COMMANDS])
8335-
8336-
8337-# _LT_CONFIG_SAVE_COMMANDS([COMMANDS], [INIT_COMMANDS])
8338-# -----------------------------------------------------
8339-m4_defun([_LT_CONFIG_SAVE_COMMANDS],
8340-[_LT_CONFIG_LIBTOOL([$1])
8341-_LT_CONFIG_LIBTOOL_INIT([$2])
8342-])
8343-
8344-
8345-# _LT_FORMAT_COMMENT([COMMENT])
8346-# -----------------------------
8347-# Add leading comment marks to the start of each line, and a trailing
8348-# full-stop to the whole comment if one is not present already.
8349-m4_define([_LT_FORMAT_COMMENT],
8350-[m4_ifval([$1], [
8351-m4_bpatsubst([m4_bpatsubst([$1], [^ *], [# ])],
8352- [['`$\]], [\\\&])]m4_bmatch([$1], [[!?.]$], [], [.])
8353-)])
8354-
8355-
8356-
8357-## ------------------------ ##
8358-## FIXME: Eliminate VARNAME ##
8359-## ------------------------ ##
8360-
8361-
8362-# _LT_DECL([CONFIGNAME], VARNAME, VALUE, [DESCRIPTION], [IS-TAGGED?])
8363-# -------------------------------------------------------------------
8364-# CONFIGNAME is the name given to the value in the libtool script.
8365-# VARNAME is the (base) name used in the configure script.
8366-# VALUE may be 0, 1 or 2 for a computed quote escaped value based on
8367-# VARNAME. Any other value will be used directly.
8368-m4_define([_LT_DECL],
8369-[lt_if_append_uniq([lt_decl_varnames], [$2], [, ],
8370- [lt_dict_add_subkey([lt_decl_dict], [$2], [libtool_name],
8371- [m4_ifval([$1], [$1], [$2])])
8372- lt_dict_add_subkey([lt_decl_dict], [$2], [value], [$3])
8373- m4_ifval([$4],
8374- [lt_dict_add_subkey([lt_decl_dict], [$2], [description], [$4])])
8375- lt_dict_add_subkey([lt_decl_dict], [$2],
8376- [tagged?], [m4_ifval([$5], [yes], [no])])])
8377-])
8378-
8379-
8380-# _LT_TAGDECL([CONFIGNAME], VARNAME, VALUE, [DESCRIPTION])
8381-# --------------------------------------------------------
8382-m4_define([_LT_TAGDECL], [_LT_DECL([$1], [$2], [$3], [$4], [yes])])
8383-
8384-
8385-# lt_decl_tag_varnames([SEPARATOR], [VARNAME1...])
8386-# ------------------------------------------------
8387-m4_define([lt_decl_tag_varnames],
8388-[_lt_decl_filter([tagged?], [yes], $@)])
8389-
8390-
8391-# _lt_decl_filter(SUBKEY, VALUE, [SEPARATOR], [VARNAME1..])
8392-# ---------------------------------------------------------
8393-m4_define([_lt_decl_filter],
8394-[m4_case([$#],
8395- [0], [m4_fatal([$0: too few arguments: $#])],
8396- [1], [m4_fatal([$0: too few arguments: $#: $1])],
8397- [2], [lt_dict_filter([lt_decl_dict], [$1], [$2], [], lt_decl_varnames)],
8398- [3], [lt_dict_filter([lt_decl_dict], [$1], [$2], [$3], lt_decl_varnames)],
8399- [lt_dict_filter([lt_decl_dict], $@)])[]dnl
8400-])
8401-
8402-
8403-# lt_decl_quote_varnames([SEPARATOR], [VARNAME1...])
8404-# --------------------------------------------------
8405-m4_define([lt_decl_quote_varnames],
8406-[_lt_decl_filter([value], [1], $@)])
8407-
8408-
8409-# lt_decl_dquote_varnames([SEPARATOR], [VARNAME1...])
8410-# ---------------------------------------------------
8411-m4_define([lt_decl_dquote_varnames],
8412-[_lt_decl_filter([value], [2], $@)])
8413-
8414-
8415-# lt_decl_varnames_tagged([SEPARATOR], [VARNAME1...])
8416-# ---------------------------------------------------
8417-m4_define([lt_decl_varnames_tagged],
8418-[m4_assert([$# <= 2])dnl
8419-_$0(m4_quote(m4_default([$1], [[, ]])),
8420- m4_ifval([$2], [[$2]], [m4_dquote(lt_decl_tag_varnames)]),
8421- m4_split(m4_normalize(m4_quote(_LT_TAGS)), [ ]))])
8422-m4_define([_lt_decl_varnames_tagged],
8423-[m4_ifval([$3], [lt_combine([$1], [$2], [_], $3)])])
8424-
8425-
8426-# lt_decl_all_varnames([SEPARATOR], [VARNAME1...])
8427-# ------------------------------------------------
8428-m4_define([lt_decl_all_varnames],
8429-[_$0(m4_quote(m4_default([$1], [[, ]])),
8430- m4_if([$2], [],
8431- m4_quote(lt_decl_varnames),
8432- m4_quote(m4_shift($@))))[]dnl
8433-])
8434-m4_define([_lt_decl_all_varnames],
8435-[lt_join($@, lt_decl_varnames_tagged([$1],
8436- lt_decl_tag_varnames([[, ]], m4_shift($@))))dnl
8437-])
8438-
8439-
8440-# _LT_CONFIG_STATUS_DECLARE([VARNAME])
8441-# ------------------------------------
8442-# Quote a variable value, and forward it to `config.status' so that its
8443-# declaration there will have the same value as in `configure'. VARNAME
8444-# must have a single quote delimited value for this to work.
8445-m4_define([_LT_CONFIG_STATUS_DECLARE],
8446-[$1='`$ECHO "X$][$1" | $Xsed -e "$delay_single_quote_subst"`'])
8447-
8448-
8449-# _LT_CONFIG_STATUS_DECLARATIONS
8450-# ------------------------------
8451-# We delimit libtool config variables with single quotes, so when
8452-# we write them to config.status, we have to be sure to quote all
8453-# embedded single quotes properly. In configure, this macro expands
8454-# each variable declared with _LT_DECL (and _LT_TAGDECL) into:
8455-#
8456-# <var>='`$ECHO "X$<var>" | $Xsed -e "$delay_single_quote_subst"`'
8457-m4_defun([_LT_CONFIG_STATUS_DECLARATIONS],
8458-[m4_foreach([_lt_var], m4_quote(lt_decl_all_varnames),
8459- [m4_n([_LT_CONFIG_STATUS_DECLARE(_lt_var)])])])
8460-
8461-
8462-# _LT_LIBTOOL_TAGS
8463-# ----------------
8464-# Output comment and list of tags supported by the script
8465-m4_defun([_LT_LIBTOOL_TAGS],
8466-[_LT_FORMAT_COMMENT([The names of the tagged configurations supported by this script])dnl
8467-available_tags="_LT_TAGS"dnl
8468-])
8469-
8470-
8471-# _LT_LIBTOOL_DECLARE(VARNAME, [TAG])
8472-# -----------------------------------
8473-# Extract the dictionary values for VARNAME (optionally with TAG) and
8474-# expand to a commented shell variable setting:
8475-#
8476-# # Some comment about what VAR is for.
8477-# visible_name=$lt_internal_name
8478-m4_define([_LT_LIBTOOL_DECLARE],
8479-[_LT_FORMAT_COMMENT(m4_quote(lt_dict_fetch([lt_decl_dict], [$1],
8480- [description])))[]dnl
8481-m4_pushdef([_libtool_name],
8482- m4_quote(lt_dict_fetch([lt_decl_dict], [$1], [libtool_name])))[]dnl
8483-m4_case(m4_quote(lt_dict_fetch([lt_decl_dict], [$1], [value])),
8484- [0], [_libtool_name=[$]$1],
8485- [1], [_libtool_name=$lt_[]$1],
8486- [2], [_libtool_name=$lt_[]$1],
8487- [_libtool_name=lt_dict_fetch([lt_decl_dict], [$1], [value])])[]dnl
8488-m4_ifval([$2], [_$2])[]m4_popdef([_libtool_name])[]dnl
8489-])
8490-
8491-
8492-# _LT_LIBTOOL_CONFIG_VARS
8493-# -----------------------
8494-# Produce commented declarations of non-tagged libtool config variables
8495-# suitable for insertion in the LIBTOOL CONFIG section of the `libtool'
8496-# script. Tagged libtool config variables (even for the LIBTOOL CONFIG
8497-# section) are produced by _LT_LIBTOOL_TAG_VARS.
8498-m4_defun([_LT_LIBTOOL_CONFIG_VARS],
8499-[m4_foreach([_lt_var],
8500- m4_quote(_lt_decl_filter([tagged?], [no], [], lt_decl_varnames)),
8501- [m4_n([_LT_LIBTOOL_DECLARE(_lt_var)])])])
8502-
8503-
8504-# _LT_LIBTOOL_TAG_VARS(TAG)
8505-# -------------------------
8506-m4_define([_LT_LIBTOOL_TAG_VARS],
8507-[m4_foreach([_lt_var], m4_quote(lt_decl_tag_varnames),
8508- [m4_n([_LT_LIBTOOL_DECLARE(_lt_var, [$1])])])])
8509-
8510-
8511-# _LT_TAGVAR(VARNAME, [TAGNAME])
8512-# ------------------------------
8513-m4_define([_LT_TAGVAR], [m4_ifval([$2], [$1_$2], [$1])])
8514-
8515-
8516-# _LT_CONFIG_COMMANDS
8517-# -------------------
8518-# Send accumulated output to $CONFIG_STATUS. Thanks to the lists of
8519-# variables for single and double quote escaping we saved from calls
8520-# to _LT_DECL, we can put quote escaped variables declarations
8521-# into `config.status', and then the shell code to quote escape them in
8522-# for loops in `config.status'. Finally, any additional code accumulated
8523-# from calls to _LT_CONFIG_LIBTOOL_INIT is expanded.
8524-m4_defun([_LT_CONFIG_COMMANDS],
8525-[AC_PROVIDE_IFELSE([LT_OUTPUT],
8526- dnl If the libtool generation code has been placed in $CONFIG_LT,
8527- dnl instead of duplicating it all over again into config.status,
8528- dnl then we will have config.status run $CONFIG_LT later, so it
8529- dnl needs to know what name is stored there:
8530- [AC_CONFIG_COMMANDS([libtool],
8531- [$SHELL $CONFIG_LT || AS_EXIT(1)], [CONFIG_LT='$CONFIG_LT'])],
8532- dnl If the libtool generation code is destined for config.status,
8533- dnl expand the accumulated commands and init code now:
8534- [AC_CONFIG_COMMANDS([libtool],
8535- [_LT_OUTPUT_LIBTOOL_COMMANDS], [_LT_OUTPUT_LIBTOOL_COMMANDS_INIT])])
8536-])#_LT_CONFIG_COMMANDS
8537-
8538-
8539-# Initialize.
8540-m4_define([_LT_OUTPUT_LIBTOOL_COMMANDS_INIT],
8541-[
8542-
8543-# The HP-UX ksh and POSIX shell print the target directory to stdout
8544-# if CDPATH is set.
8545-(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
8546-
8547-sed_quote_subst='$sed_quote_subst'
8548-double_quote_subst='$double_quote_subst'
8549-delay_variable_subst='$delay_variable_subst'
8550-_LT_CONFIG_STATUS_DECLARATIONS
8551-LTCC='$LTCC'
8552-LTCFLAGS='$LTCFLAGS'
8553-compiler='$compiler_DEFAULT'
8554-
8555-# Quote evaled strings.
8556-for var in lt_decl_all_varnames([[ \
8557-]], lt_decl_quote_varnames); do
8558- case \`eval \\\\\$ECHO "X\\\\\$\$var"\` in
8559- *[[\\\\\\\`\\"\\\$]]*)
8560- eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"X\\\$\$var\\" | \\\$Xsed -e \\"\\\$sed_quote_subst\\"\\\`\\\\\\""
8561- ;;
8562- *)
8563- eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\""
8564- ;;
8565- esac
8566-done
8567-
8568-# Double-quote double-evaled strings.
8569-for var in lt_decl_all_varnames([[ \
8570-]], lt_decl_dquote_varnames); do
8571- case \`eval \\\\\$ECHO "X\\\\\$\$var"\` in
8572- *[[\\\\\\\`\\"\\\$]]*)
8573- eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"X\\\$\$var\\" | \\\$Xsed -e \\"\\\$double_quote_subst\\" -e \\"\\\$sed_quote_subst\\" -e \\"\\\$delay_variable_subst\\"\\\`\\\\\\""
8574- ;;
8575- *)
8576- eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\""
8577- ;;
8578- esac
8579-done
8580-
8581-# Fix-up fallback echo if it was mangled by the above quoting rules.
8582-case \$lt_ECHO in
8583-*'\\\[$]0 --fallback-echo"')dnl "
8584- lt_ECHO=\`\$ECHO "X\$lt_ECHO" | \$Xsed -e 's/\\\\\\\\\\\\\\\[$]0 --fallback-echo"\[$]/\[$]0 --fallback-echo"/'\`
8585- ;;
8586-esac
8587-
8588-_LT_OUTPUT_LIBTOOL_INIT
8589-])
8590-
8591-
8592-# LT_OUTPUT
8593-# ---------
8594-# This macro allows early generation of the libtool script (before
8595-# AC_OUTPUT is called), incase it is used in configure for compilation
8596-# tests.
8597-AC_DEFUN([LT_OUTPUT],
8598-[: ${CONFIG_LT=./config.lt}
8599-AC_MSG_NOTICE([creating $CONFIG_LT])
8600-cat >"$CONFIG_LT" <<_LTEOF
8601-#! $SHELL
8602-# Generated by $as_me.
8603-# Run this file to recreate a libtool stub with the current configuration.
8604-
8605-lt_cl_silent=false
8606-SHELL=\${CONFIG_SHELL-$SHELL}
8607-_LTEOF
8608-
8609-cat >>"$CONFIG_LT" <<\_LTEOF
8610-AS_SHELL_SANITIZE
8611-_AS_PREPARE
8612-
8613-exec AS_MESSAGE_FD>&1
8614-exec AS_MESSAGE_LOG_FD>>config.log
8615-{
8616- echo
8617- AS_BOX([Running $as_me.])
8618-} >&AS_MESSAGE_LOG_FD
8619-
8620-lt_cl_help="\
8621-\`$as_me' creates a local libtool stub from the current configuration,
8622-for use in further configure time tests before the real libtool is
8623-generated.
8624-
8625-Usage: $[0] [[OPTIONS]]
8626-
8627- -h, --help print this help, then exit
8628- -V, --version print version number, then exit
8629- -q, --quiet do not print progress messages
8630- -d, --debug don't remove temporary files
8631-
8632-Report bugs to <bug-libtool@gnu.org>."
8633-
8634-lt_cl_version="\
8635-m4_ifset([AC_PACKAGE_NAME], [AC_PACKAGE_NAME ])config.lt[]dnl
8636-m4_ifset([AC_PACKAGE_VERSION], [ AC_PACKAGE_VERSION])
8637-configured by $[0], generated by m4_PACKAGE_STRING.
8638-
8639-Copyright (C) 2008 Free Software Foundation, Inc.
8640-This config.lt script is free software; the Free Software Foundation
8641-gives unlimited permision to copy, distribute and modify it."
8642-
8643-while test $[#] != 0
8644-do
8645- case $[1] in
8646- --version | --v* | -V )
8647- echo "$lt_cl_version"; exit 0 ;;
8648- --help | --h* | -h )
8649- echo "$lt_cl_help"; exit 0 ;;
8650- --debug | --d* | -d )
8651- debug=: ;;
8652- --quiet | --q* | --silent | --s* | -q )
8653- lt_cl_silent=: ;;
8654-
8655- -*) AC_MSG_ERROR([unrecognized option: $[1]
8656-Try \`$[0] --help' for more information.]) ;;
8657-
8658- *) AC_MSG_ERROR([unrecognized argument: $[1]
8659-Try \`$[0] --help' for more information.]) ;;
8660- esac
8661- shift
8662-done
8663-
8664-if $lt_cl_silent; then
8665- exec AS_MESSAGE_FD>/dev/null
8666-fi
8667-_LTEOF
8668-
8669-cat >>"$CONFIG_LT" <<_LTEOF
8670-_LT_OUTPUT_LIBTOOL_COMMANDS_INIT
8671-_LTEOF
8672-
8673-cat >>"$CONFIG_LT" <<\_LTEOF
8674-AC_MSG_NOTICE([creating $ofile])
8675-_LT_OUTPUT_LIBTOOL_COMMANDS
8676-AS_EXIT(0)
8677-_LTEOF
8678-chmod +x "$CONFIG_LT"
8679-
8680-# configure is writing to config.log, but config.lt does its own redirection,
8681-# appending to config.log, which fails on DOS, as config.log is still kept
8682-# open by configure. Here we exec the FD to /dev/null, effectively closing
8683-# config.log, so it can be properly (re)opened and appended to by config.lt.
8684-if test "$no_create" != yes; then
8685- lt_cl_success=:
8686- test "$silent" = yes &&
8687- lt_config_lt_args="$lt_config_lt_args --quiet"
8688- exec AS_MESSAGE_LOG_FD>/dev/null
8689- $SHELL "$CONFIG_LT" $lt_config_lt_args || lt_cl_success=false
8690- exec AS_MESSAGE_LOG_FD>>config.log
8691- $lt_cl_success || AS_EXIT(1)
8692-fi
8693-])# LT_OUTPUT
8694-
8695-
8696-# _LT_CONFIG(TAG)
8697-# ---------------
8698-# If TAG is the built-in tag, create an initial libtool script with a
8699-# default configuration from the untagged config vars. Otherwise add code
8700-# to config.status for appending the configuration named by TAG from the
8701-# matching tagged config vars.
8702-m4_defun([_LT_CONFIG],
8703-[m4_require([_LT_FILEUTILS_DEFAULTS])dnl
8704-_LT_CONFIG_SAVE_COMMANDS([
8705- m4_define([_LT_TAG], m4_if([$1], [], [C], [$1]))dnl
8706- m4_if(_LT_TAG, [C], [
8707- # See if we are running on zsh, and set the options which allow our
8708- # commands through without removal of \ escapes.
8709- if test -n "${ZSH_VERSION+set}" ; then
8710- setopt NO_GLOB_SUBST
8711- fi
8712-
8713- cfgfile="${ofile}T"
8714- trap "$RM \"$cfgfile\"; exit 1" 1 2 15
8715- $RM "$cfgfile"
8716-
8717- cat <<_LT_EOF >> "$cfgfile"
8718-#! $SHELL
8719-
8720-# `$ECHO "$ofile" | sed 's%^.*/%%'` - Provide generalized library-building support services.
8721-# Generated automatically by $as_me ($PACKAGE$TIMESTAMP) $VERSION
8722-# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`:
8723-# NOTE: Changes made to this file will be lost: look at ltmain.sh.
8724-#
8725-_LT_COPYING
8726-_LT_LIBTOOL_TAGS
8727-
8728-# ### BEGIN LIBTOOL CONFIG
8729-_LT_LIBTOOL_CONFIG_VARS
8730-_LT_LIBTOOL_TAG_VARS
8731-# ### END LIBTOOL CONFIG
8732-
8733-_LT_EOF
8734-
8735- case $host_os in
8736- aix3*)
8737- cat <<\_LT_EOF >> "$cfgfile"
8738-# AIX sometimes has problems with the GCC collect2 program. For some
8739-# reason, if we set the COLLECT_NAMES environment variable, the problems
8740-# vanish in a puff of smoke.
8741-if test "X${COLLECT_NAMES+set}" != Xset; then
8742- COLLECT_NAMES=
8743- export COLLECT_NAMES
8744-fi
8745-_LT_EOF
8746- ;;
8747- esac
8748-
8749- _LT_PROG_LTMAIN
8750-
8751- # We use sed instead of cat because bash on DJGPP gets confused if
8752- # if finds mixed CR/LF and LF-only lines. Since sed operates in
8753- # text mode, it properly converts lines to CR/LF. This bash problem
8754- # is reportedly fixed, but why not run on old versions too?
8755- sed '/^# Generated shell functions inserted here/q' "$ltmain" >> "$cfgfile" \
8756- || (rm -f "$cfgfile"; exit 1)
8757-
8758- _LT_PROG_XSI_SHELLFNS
8759-
8760- sed -n '/^# Generated shell functions inserted here/,$p' "$ltmain" >> "$cfgfile" \
8761- || (rm -f "$cfgfile"; exit 1)
8762-
8763- mv -f "$cfgfile" "$ofile" ||
8764- (rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile")
8765- chmod +x "$ofile"
8766-],
8767-[cat <<_LT_EOF >> "$ofile"
8768-
8769-dnl Unfortunately we have to use $1 here, since _LT_TAG is not expanded
8770-dnl in a comment (ie after a #).
8771-# ### BEGIN LIBTOOL TAG CONFIG: $1
8772-_LT_LIBTOOL_TAG_VARS(_LT_TAG)
8773-# ### END LIBTOOL TAG CONFIG: $1
8774-_LT_EOF
8775-])dnl /m4_if
8776-],
8777-[m4_if([$1], [], [
8778- PACKAGE='$PACKAGE'
8779- VERSION='$VERSION'
8780- TIMESTAMP='$TIMESTAMP'
8781- RM='$RM'
8782- ofile='$ofile'], [])
8783-])dnl /_LT_CONFIG_SAVE_COMMANDS
8784-])# _LT_CONFIG
8785-
8786-
8787-# LT_SUPPORTED_TAG(TAG)
8788-# ---------------------
8789-# Trace this macro to discover what tags are supported by the libtool
8790-# --tag option, using:
8791-# autoconf --trace 'LT_SUPPORTED_TAG:$1'
8792-AC_DEFUN([LT_SUPPORTED_TAG], [])
8793-
8794-
8795-# C support is built-in for now
8796-m4_define([_LT_LANG_C_enabled], [])
8797-m4_define([_LT_TAGS], [])
8798-
8799-
8800-# LT_LANG(LANG)
8801-# -------------
8802-# Enable libtool support for the given language if not already enabled.
8803-AC_DEFUN([LT_LANG],
8804-[AC_BEFORE([$0], [LT_OUTPUT])dnl
8805-m4_case([$1],
8806- [C], [_LT_LANG(C)],
8807- [C++], [_LT_LANG(CXX)],
8808- [Java], [_LT_LANG(GCJ)],
8809- [Fortran 77], [_LT_LANG(F77)],
8810- [Fortran], [_LT_LANG(FC)],
8811- [Windows Resource], [_LT_LANG(RC)],
8812- [m4_ifdef([_LT_LANG_]$1[_CONFIG],
8813- [_LT_LANG($1)],
8814- [m4_fatal([$0: unsupported language: "$1"])])])dnl
8815-])# LT_LANG
8816-
8817-
8818-# _LT_LANG(LANGNAME)
8819-# ------------------
8820-m4_defun([_LT_LANG],
8821-[m4_ifdef([_LT_LANG_]$1[_enabled], [],
8822- [LT_SUPPORTED_TAG([$1])dnl
8823- m4_append([_LT_TAGS], [$1 ])dnl
8824- m4_define([_LT_LANG_]$1[_enabled], [])dnl
8825- _LT_LANG_$1_CONFIG($1)])dnl
8826-])# _LT_LANG
8827-
8828-
8829-# _LT_LANG_DEFAULT_CONFIG
8830-# -----------------------
8831-m4_defun([_LT_LANG_DEFAULT_CONFIG],
8832-[AC_PROVIDE_IFELSE([AC_PROG_CXX],
8833- [LT_LANG(CXX)],
8834- [m4_define([AC_PROG_CXX], defn([AC_PROG_CXX])[LT_LANG(CXX)])])
8835-
8836-AC_PROVIDE_IFELSE([AC_PROG_F77],
8837- [LT_LANG(F77)],
8838- [m4_define([AC_PROG_F77], defn([AC_PROG_F77])[LT_LANG(F77)])])
8839-
8840-AC_PROVIDE_IFELSE([AC_PROG_FC],
8841- [LT_LANG(FC)],
8842- [m4_define([AC_PROG_FC], defn([AC_PROG_FC])[LT_LANG(FC)])])
8843-
8844-dnl The call to [A][M_PROG_GCJ] is quoted like that to stop aclocal
8845-dnl pulling things in needlessly.
8846-AC_PROVIDE_IFELSE([AC_PROG_GCJ],
8847- [LT_LANG(GCJ)],
8848- [AC_PROVIDE_IFELSE([A][M_PROG_GCJ],
8849- [LT_LANG(GCJ)],
8850- [AC_PROVIDE_IFELSE([LT_PROG_GCJ],
8851- [LT_LANG(GCJ)],
8852- [m4_ifdef([AC_PROG_GCJ],
8853- [m4_define([AC_PROG_GCJ], defn([AC_PROG_GCJ])[LT_LANG(GCJ)])])
8854- m4_ifdef([A][M_PROG_GCJ],
8855- [m4_define([A][M_PROG_GCJ], defn([A][M_PROG_GCJ])[LT_LANG(GCJ)])])
8856- m4_ifdef([LT_PROG_GCJ],
8857- [m4_define([LT_PROG_GCJ], defn([LT_PROG_GCJ])[LT_LANG(GCJ)])])])])])
8858-
8859-AC_PROVIDE_IFELSE([LT_PROG_RC],
8860- [LT_LANG(RC)],
8861- [m4_define([LT_PROG_RC], defn([LT_PROG_RC])[LT_LANG(RC)])])
8862-])# _LT_LANG_DEFAULT_CONFIG
8863-
8864-# Obsolete macros:
8865-AU_DEFUN([AC_LIBTOOL_CXX], [LT_LANG(C++)])
8866-AU_DEFUN([AC_LIBTOOL_F77], [LT_LANG(Fortran 77)])
8867-AU_DEFUN([AC_LIBTOOL_FC], [LT_LANG(Fortran)])
8868-AU_DEFUN([AC_LIBTOOL_GCJ], [LT_LANG(Java)])
8869-dnl aclocal-1.4 backwards compatibility:
8870-dnl AC_DEFUN([AC_LIBTOOL_CXX], [])
8871-dnl AC_DEFUN([AC_LIBTOOL_F77], [])
8872-dnl AC_DEFUN([AC_LIBTOOL_FC], [])
8873-dnl AC_DEFUN([AC_LIBTOOL_GCJ], [])
8874-
8875-
8876-# _LT_TAG_COMPILER
8877-# ----------------
8878-m4_defun([_LT_TAG_COMPILER],
8879-[AC_REQUIRE([AC_PROG_CC])dnl
8880-
8881-_LT_DECL([LTCC], [CC], [1], [A C compiler])dnl
8882-_LT_DECL([LTCFLAGS], [CFLAGS], [1], [LTCC compiler flags])dnl
8883-_LT_TAGDECL([CC], [compiler], [1], [A language specific compiler])dnl
8884-_LT_TAGDECL([with_gcc], [GCC], [0], [Is the compiler the GNU compiler?])dnl
8885-
8886-# If no C compiler was specified, use CC.
8887-LTCC=${LTCC-"$CC"}
8888-
8889-# If no C compiler flags were specified, use CFLAGS.
8890-LTCFLAGS=${LTCFLAGS-"$CFLAGS"}
8891-
8892-# Allow CC to be a program name with arguments.
8893-compiler=$CC
8894-])# _LT_TAG_COMPILER
8895-
8896-
8897-# _LT_COMPILER_BOILERPLATE
8898-# ------------------------
8899-# Check for compiler boilerplate output or warnings with
8900-# the simple compiler test code.
8901-m4_defun([_LT_COMPILER_BOILERPLATE],
8902-[m4_require([_LT_DECL_SED])dnl
8903-ac_outfile=conftest.$ac_objext
8904-echo "$lt_simple_compile_test_code" >conftest.$ac_ext
8905-eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
8906-_lt_compiler_boilerplate=`cat conftest.err`
8907-$RM conftest*
8908-])# _LT_COMPILER_BOILERPLATE
8909-
8910-
8911-# _LT_LINKER_BOILERPLATE
8912-# ----------------------
8913-# Check for linker boilerplate output or warnings with
8914-# the simple link test code.
8915-m4_defun([_LT_LINKER_BOILERPLATE],
8916-[m4_require([_LT_DECL_SED])dnl
8917-ac_outfile=conftest.$ac_objext
8918-echo "$lt_simple_link_test_code" >conftest.$ac_ext
8919-eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
8920-_lt_linker_boilerplate=`cat conftest.err`
8921-$RM -r conftest*
8922-])# _LT_LINKER_BOILERPLATE
8923-
8924-# _LT_REQUIRED_DARWIN_CHECKS
8925-# -------------------------
8926-m4_defun_once([_LT_REQUIRED_DARWIN_CHECKS],[
8927- case $host_os in
8928- rhapsody* | darwin*)
8929- AC_CHECK_TOOL([DSYMUTIL], [dsymutil], [:])
8930- AC_CHECK_TOOL([NMEDIT], [nmedit], [:])
8931- AC_CHECK_TOOL([LIPO], [lipo], [:])
8932- AC_CHECK_TOOL([OTOOL], [otool], [:])
8933- AC_CHECK_TOOL([OTOOL64], [otool64], [:])
8934- _LT_DECL([], [DSYMUTIL], [1],
8935- [Tool to manipulate archived DWARF debug symbol files on Mac OS X])
8936- _LT_DECL([], [NMEDIT], [1],
8937- [Tool to change global to local symbols on Mac OS X])
8938- _LT_DECL([], [LIPO], [1],
8939- [Tool to manipulate fat objects and archives on Mac OS X])
8940- _LT_DECL([], [OTOOL], [1],
8941- [ldd/readelf like tool for Mach-O binaries on Mac OS X])
8942- _LT_DECL([], [OTOOL64], [1],
8943- [ldd/readelf like tool for 64 bit Mach-O binaries on Mac OS X 10.4])
8944-
8945- AC_CACHE_CHECK([for -single_module linker flag],[lt_cv_apple_cc_single_mod],
8946- [lt_cv_apple_cc_single_mod=no
8947- if test -z "${LT_MULTI_MODULE}"; then
8948- # By default we will add the -single_module flag. You can override
8949- # by either setting the environment variable LT_MULTI_MODULE
8950- # non-empty at configure time, or by adding -multi_module to the
8951- # link flags.
8952- rm -rf libconftest.dylib*
8953- echo "int foo(void){return 1;}" > conftest.c
8954- echo "$LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \
8955--dynamiclib -Wl,-single_module conftest.c" >&AS_MESSAGE_LOG_FD
8956- $LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \
8957- -dynamiclib -Wl,-single_module conftest.c 2>conftest.err
8958- _lt_result=$?
8959- if test -f libconftest.dylib && test ! -s conftest.err && test $_lt_result = 0; then
8960- lt_cv_apple_cc_single_mod=yes
8961- else
8962- cat conftest.err >&AS_MESSAGE_LOG_FD
8963- fi
8964- rm -rf libconftest.dylib*
8965- rm -f conftest.*
8966- fi])
8967- AC_CACHE_CHECK([for -exported_symbols_list linker flag],
8968- [lt_cv_ld_exported_symbols_list],
8969- [lt_cv_ld_exported_symbols_list=no
8970- save_LDFLAGS=$LDFLAGS
8971- echo "_main" > conftest.sym
8972- LDFLAGS="$LDFLAGS -Wl,-exported_symbols_list,conftest.sym"
8973- AC_LINK_IFELSE([AC_LANG_PROGRAM([],[])],
8974- [lt_cv_ld_exported_symbols_list=yes],
8975- [lt_cv_ld_exported_symbols_list=no])
8976- LDFLAGS="$save_LDFLAGS"
8977- ])
8978- case $host_os in
8979- rhapsody* | darwin1.[[012]])
8980- _lt_dar_allow_undefined='${wl}-undefined ${wl}suppress' ;;
8981- darwin1.*)
8982- _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;;
8983- darwin*) # darwin 5.x on
8984- # if running on 10.5 or later, the deployment target defaults
8985- # to the OS version, if on x86, and 10.4, the deployment
8986- # target defaults to 10.4. Don't you love it?
8987- case ${MACOSX_DEPLOYMENT_TARGET-10.0},$host in
8988- 10.0,*86*-darwin8*|10.0,*-darwin[[91]]*)
8989- _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;;
8990- 10.[[012]]*)
8991- _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;;
8992- 10.*)
8993- _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;;
8994- esac
8995- ;;
8996- esac
8997- if test "$lt_cv_apple_cc_single_mod" = "yes"; then
8998- _lt_dar_single_mod='$single_module'
8999- fi
9000- if test "$lt_cv_ld_exported_symbols_list" = "yes"; then
9001- _lt_dar_export_syms=' ${wl}-exported_symbols_list,$output_objdir/${libname}-symbols.expsym'
9002- else
9003- _lt_dar_export_syms='~$NMEDIT -s $output_objdir/${libname}-symbols.expsym ${lib}'
9004- fi
9005- if test "$DSYMUTIL" != ":"; then
9006- _lt_dsymutil='~$DSYMUTIL $lib || :'
9007- else
9008- _lt_dsymutil=
9009- fi
9010- ;;
9011- esac
9012-])
9013-
9014-
9015-# _LT_DARWIN_LINKER_FEATURES
9016-# --------------------------
9017-# Checks for linker and compiler features on darwin
9018-m4_defun([_LT_DARWIN_LINKER_FEATURES],
9019-[
9020- m4_require([_LT_REQUIRED_DARWIN_CHECKS])
9021- _LT_TAGVAR(archive_cmds_need_lc, $1)=no
9022- _LT_TAGVAR(hardcode_direct, $1)=no
9023- _LT_TAGVAR(hardcode_automatic, $1)=yes
9024- _LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported
9025- _LT_TAGVAR(whole_archive_flag_spec, $1)=''
9026- _LT_TAGVAR(link_all_deplibs, $1)=yes
9027- _LT_TAGVAR(allow_undefined_flag, $1)="$_lt_dar_allow_undefined"
9028- case $cc_basename in
9029- ifort*) _lt_dar_can_shared=yes ;;
9030- *) _lt_dar_can_shared=$GCC ;;
9031- esac
9032- if test "$_lt_dar_can_shared" = "yes"; then
9033- output_verbose_link_cmd=echo
9034- _LT_TAGVAR(archive_cmds, $1)="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod${_lt_dsymutil}"
9035- _LT_TAGVAR(module_cmds, $1)="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}"
9036- _LT_TAGVAR(archive_expsym_cmds, $1)="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring ${_lt_dar_single_mod}${_lt_dar_export_syms}${_lt_dsymutil}"
9037- _LT_TAGVAR(module_expsym_cmds, $1)="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}"
9038- m4_if([$1], [CXX],
9039-[ if test "$lt_cv_apple_cc_single_mod" != "yes"; then
9040- _LT_TAGVAR(archive_cmds, $1)="\$CC -r -keep_private_externs -nostdlib -o \${lib}-master.o \$libobjs~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \${lib}-master.o \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring${_lt_dsymutil}"
9041- _LT_TAGVAR(archive_expsym_cmds, $1)="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -r -keep_private_externs -nostdlib -o \${lib}-master.o \$libobjs~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \${lib}-master.o \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring${_lt_dar_export_syms}${_lt_dsymutil}"
9042- fi
9043-],[])
9044- else
9045- _LT_TAGVAR(ld_shlibs, $1)=no
9046- fi
9047-])
9048-
9049-# _LT_SYS_MODULE_PATH_AIX
9050-# -----------------------
9051-# Links a minimal program and checks the executable
9052-# for the system default hardcoded library path. In most cases,
9053-# this is /usr/lib:/lib, but when the MPI compilers are used
9054-# the location of the communication and MPI libs are included too.
9055-# If we don't find anything, use the default library path according
9056-# to the aix ld manual.
9057-m4_defun([_LT_SYS_MODULE_PATH_AIX],
9058-[m4_require([_LT_DECL_SED])dnl
9059-AC_LINK_IFELSE(AC_LANG_PROGRAM,[
9060-lt_aix_libpath_sed='
9061- /Import File Strings/,/^$/ {
9062- /^0/ {
9063- s/^0 *\(.*\)$/\1/
9064- p
9065- }
9066- }'
9067-aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
9068-# Check for a 64-bit object if we didn't find anything.
9069-if test -z "$aix_libpath"; then
9070- aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
9071-fi],[])
9072-if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
9073-])# _LT_SYS_MODULE_PATH_AIX
9074-
9075-
9076-# _LT_SHELL_INIT(ARG)
9077-# -------------------
9078-m4_define([_LT_SHELL_INIT],
9079-[ifdef([AC_DIVERSION_NOTICE],
9080- [AC_DIVERT_PUSH(AC_DIVERSION_NOTICE)],
9081- [AC_DIVERT_PUSH(NOTICE)])
9082-$1
9083-AC_DIVERT_POP
9084-])# _LT_SHELL_INIT
9085-
9086-
9087-# _LT_PROG_ECHO_BACKSLASH
9088-# -----------------------
9089-# Add some code to the start of the generated configure script which
9090-# will find an echo command which doesn't interpret backslashes.
9091-m4_defun([_LT_PROG_ECHO_BACKSLASH],
9092-[_LT_SHELL_INIT([
9093-# Check that we are running under the correct shell.
9094-SHELL=${CONFIG_SHELL-/bin/sh}
9095-
9096-case X$lt_ECHO in
9097-X*--fallback-echo)
9098- # Remove one level of quotation (which was required for Make).
9099- ECHO=`echo "$lt_ECHO" | sed 's,\\\\\[$]\\[$]0,'[$]0','`
9100- ;;
9101-esac
9102-
9103-ECHO=${lt_ECHO-echo}
9104-if test "X[$]1" = X--no-reexec; then
9105- # Discard the --no-reexec flag, and continue.
9106- shift
9107-elif test "X[$]1" = X--fallback-echo; then
9108- # Avoid inline document here, it may be left over
9109- :
9110-elif test "X`{ $ECHO '\t'; } 2>/dev/null`" = 'X\t' ; then
9111- # Yippee, $ECHO works!
9112- :
9113-else
9114- # Restart under the correct shell.
9115- exec $SHELL "[$]0" --no-reexec ${1+"[$]@"}
9116-fi
9117-
9118-if test "X[$]1" = X--fallback-echo; then
9119- # used as fallback echo
9120- shift
9121- cat <<_LT_EOF
9122-[$]*
9123-_LT_EOF
9124- exit 0
9125-fi
9126-
9127-# The HP-UX ksh and POSIX shell print the target directory to stdout
9128-# if CDPATH is set.
9129-(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
9130-
9131-if test -z "$lt_ECHO"; then
9132- if test "X${echo_test_string+set}" != Xset; then
9133- # find a string as large as possible, as long as the shell can cope with it
9134- for cmd in 'sed 50q "[$]0"' 'sed 20q "[$]0"' 'sed 10q "[$]0"' 'sed 2q "[$]0"' 'echo test'; do
9135- # expected sizes: less than 2Kb, 1Kb, 512 bytes, 16 bytes, ...
9136- if { echo_test_string=`eval $cmd`; } 2>/dev/null &&
9137- { test "X$echo_test_string" = "X$echo_test_string"; } 2>/dev/null
9138- then
9139- break
9140- fi
9141- done
9142- fi
9143-
9144- if test "X`{ $ECHO '\t'; } 2>/dev/null`" = 'X\t' &&
9145- echo_testing_string=`{ $ECHO "$echo_test_string"; } 2>/dev/null` &&
9146- test "X$echo_testing_string" = "X$echo_test_string"; then
9147- :
9148- else
9149- # The Solaris, AIX, and Digital Unix default echo programs unquote
9150- # backslashes. This makes it impossible to quote backslashes using
9151- # echo "$something" | sed 's/\\/\\\\/g'
9152- #
9153- # So, first we look for a working echo in the user's PATH.
9154-
9155- lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
9156- for dir in $PATH /usr/ucb; do
9157- IFS="$lt_save_ifs"
9158- if (test -f $dir/echo || test -f $dir/echo$ac_exeext) &&
9159- test "X`($dir/echo '\t') 2>/dev/null`" = 'X\t' &&
9160- echo_testing_string=`($dir/echo "$echo_test_string") 2>/dev/null` &&
9161- test "X$echo_testing_string" = "X$echo_test_string"; then
9162- ECHO="$dir/echo"
9163- break
9164- fi
9165- done
9166- IFS="$lt_save_ifs"
9167-
9168- if test "X$ECHO" = Xecho; then
9169- # We didn't find a better echo, so look for alternatives.
9170- if test "X`{ print -r '\t'; } 2>/dev/null`" = 'X\t' &&
9171- echo_testing_string=`{ print -r "$echo_test_string"; } 2>/dev/null` &&
9172- test "X$echo_testing_string" = "X$echo_test_string"; then
9173- # This shell has a builtin print -r that does the trick.
9174- ECHO='print -r'
9175- elif { test -f /bin/ksh || test -f /bin/ksh$ac_exeext; } &&
9176- test "X$CONFIG_SHELL" != X/bin/ksh; then
9177- # If we have ksh, try running configure again with it.
9178- ORIGINAL_CONFIG_SHELL=${CONFIG_SHELL-/bin/sh}
9179- export ORIGINAL_CONFIG_SHELL
9180- CONFIG_SHELL=/bin/ksh
9181- export CONFIG_SHELL
9182- exec $CONFIG_SHELL "[$]0" --no-reexec ${1+"[$]@"}
9183- else
9184- # Try using printf.
9185- ECHO='printf %s\n'
9186- if test "X`{ $ECHO '\t'; } 2>/dev/null`" = 'X\t' &&
9187- echo_testing_string=`{ $ECHO "$echo_test_string"; } 2>/dev/null` &&
9188- test "X$echo_testing_string" = "X$echo_test_string"; then
9189- # Cool, printf works
9190- :
9191- elif echo_testing_string=`($ORIGINAL_CONFIG_SHELL "[$]0" --fallback-echo '\t') 2>/dev/null` &&
9192- test "X$echo_testing_string" = 'X\t' &&
9193- echo_testing_string=`($ORIGINAL_CONFIG_SHELL "[$]0" --fallback-echo "$echo_test_string") 2>/dev/null` &&
9194- test "X$echo_testing_string" = "X$echo_test_string"; then
9195- CONFIG_SHELL=$ORIGINAL_CONFIG_SHELL
9196- export CONFIG_SHELL
9197- SHELL="$CONFIG_SHELL"
9198- export SHELL
9199- ECHO="$CONFIG_SHELL [$]0 --fallback-echo"
9200- elif echo_testing_string=`($CONFIG_SHELL "[$]0" --fallback-echo '\t') 2>/dev/null` &&
9201- test "X$echo_testing_string" = 'X\t' &&
9202- echo_testing_string=`($CONFIG_SHELL "[$]0" --fallback-echo "$echo_test_string") 2>/dev/null` &&
9203- test "X$echo_testing_string" = "X$echo_test_string"; then
9204- ECHO="$CONFIG_SHELL [$]0 --fallback-echo"
9205- else
9206- # maybe with a smaller string...
9207- prev=:
9208-
9209- for cmd in 'echo test' 'sed 2q "[$]0"' 'sed 10q "[$]0"' 'sed 20q "[$]0"' 'sed 50q "[$]0"'; do
9210- if { test "X$echo_test_string" = "X`eval $cmd`"; } 2>/dev/null
9211- then
9212- break
9213- fi
9214- prev="$cmd"
9215- done
9216-
9217- if test "$prev" != 'sed 50q "[$]0"'; then
9218- echo_test_string=`eval $prev`
9219- export echo_test_string
9220- exec ${ORIGINAL_CONFIG_SHELL-${CONFIG_SHELL-/bin/sh}} "[$]0" ${1+"[$]@"}
9221- else
9222- # Oops. We lost completely, so just stick with echo.
9223- ECHO=echo
9224- fi
9225- fi
9226- fi
9227- fi
9228- fi
9229-fi
9230-
9231-# Copy echo and quote the copy suitably for passing to libtool from
9232-# the Makefile, instead of quoting the original, which is used later.
9233-lt_ECHO=$ECHO
9234-if test "X$lt_ECHO" = "X$CONFIG_SHELL [$]0 --fallback-echo"; then
9235- lt_ECHO="$CONFIG_SHELL \\\$\[$]0 --fallback-echo"
9236-fi
9237-
9238-AC_SUBST(lt_ECHO)
9239-])
9240-_LT_DECL([], [SHELL], [1], [Shell to use when invoking shell scripts])
9241-_LT_DECL([], [ECHO], [1],
9242- [An echo program that does not interpret backslashes])
9243-])# _LT_PROG_ECHO_BACKSLASH
9244-
9245-
9246-# _LT_ENABLE_LOCK
9247-# ---------------
9248-m4_defun([_LT_ENABLE_LOCK],
9249-[AC_ARG_ENABLE([libtool-lock],
9250- [AS_HELP_STRING([--disable-libtool-lock],
9251- [avoid locking (might break parallel builds)])])
9252-test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes
9253-
9254-# Some flags need to be propagated to the compiler or linker for good
9255-# libtool support.
9256-case $host in
9257-ia64-*-hpux*)
9258- # Find out which ABI we are using.
9259- echo 'int i;' > conftest.$ac_ext
9260- if AC_TRY_EVAL(ac_compile); then
9261- case `/usr/bin/file conftest.$ac_objext` in
9262- *ELF-32*)
9263- HPUX_IA64_MODE="32"
9264- ;;
9265- *ELF-64*)
9266- HPUX_IA64_MODE="64"
9267- ;;
9268- esac
9269- fi
9270- rm -rf conftest*
9271- ;;
9272-*-*-irix6*)
9273- # Find out which ABI we are using.
9274- echo '[#]line __oline__ "configure"' > conftest.$ac_ext
9275- if AC_TRY_EVAL(ac_compile); then
9276- if test "$lt_cv_prog_gnu_ld" = yes; then
9277- case `/usr/bin/file conftest.$ac_objext` in
9278- *32-bit*)
9279- LD="${LD-ld} -melf32bsmip"
9280- ;;
9281- *N32*)
9282- LD="${LD-ld} -melf32bmipn32"
9283- ;;
9284- *64-bit*)
9285- LD="${LD-ld} -melf64bmip"
9286- ;;
9287- esac
9288- else
9289- case `/usr/bin/file conftest.$ac_objext` in
9290- *32-bit*)
9291- LD="${LD-ld} -32"
9292- ;;
9293- *N32*)
9294- LD="${LD-ld} -n32"
9295- ;;
9296- *64-bit*)
9297- LD="${LD-ld} -64"
9298- ;;
9299- esac
9300- fi
9301- fi
9302- rm -rf conftest*
9303- ;;
9304-
9305-x86_64-*kfreebsd*-gnu|x86_64-*linux*|ppc*-*linux*|powerpc*-*linux*| \
9306-s390*-*linux*|s390*-*tpf*|sparc*-*linux*)
9307- # Find out which ABI we are using.
9308- echo 'int i;' > conftest.$ac_ext
9309- if AC_TRY_EVAL(ac_compile); then
9310- case `/usr/bin/file conftest.o` in
9311- *32-bit*)
9312- case $host in
9313- x86_64-*kfreebsd*-gnu)
9314- LD="${LD-ld} -m elf_i386_fbsd"
9315- ;;
9316- x86_64-*linux*)
9317- LD="${LD-ld} -m elf_i386"
9318- ;;
9319- ppc64-*linux*|powerpc64-*linux*)
9320- LD="${LD-ld} -m elf32ppclinux"
9321- ;;
9322- s390x-*linux*)
9323- LD="${LD-ld} -m elf_s390"
9324- ;;
9325- sparc64-*linux*)
9326- LD="${LD-ld} -m elf32_sparc"
9327- ;;
9328- esac
9329- ;;
9330- *64-bit*)
9331- case $host in
9332- x86_64-*kfreebsd*-gnu)
9333- LD="${LD-ld} -m elf_x86_64_fbsd"
9334- ;;
9335- x86_64-*linux*)
9336- LD="${LD-ld} -m elf_x86_64"
9337- ;;
9338- ppc*-*linux*|powerpc*-*linux*)
9339- LD="${LD-ld} -m elf64ppc"
9340- ;;
9341- s390*-*linux*|s390*-*tpf*)
9342- LD="${LD-ld} -m elf64_s390"
9343- ;;
9344- sparc*-*linux*)
9345- LD="${LD-ld} -m elf64_sparc"
9346- ;;
9347- esac
9348- ;;
9349- esac
9350- fi
9351- rm -rf conftest*
9352- ;;
9353-
9354-*-*-sco3.2v5*)
9355- # On SCO OpenServer 5, we need -belf to get full-featured binaries.
9356- SAVE_CFLAGS="$CFLAGS"
9357- CFLAGS="$CFLAGS -belf"
9358- AC_CACHE_CHECK([whether the C compiler needs -belf], lt_cv_cc_needs_belf,
9359- [AC_LANG_PUSH(C)
9360- AC_LINK_IFELSE([AC_LANG_PROGRAM([[]],[[]])],[lt_cv_cc_needs_belf=yes],[lt_cv_cc_needs_belf=no])
9361- AC_LANG_POP])
9362- if test x"$lt_cv_cc_needs_belf" != x"yes"; then
9363- # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf
9364- CFLAGS="$SAVE_CFLAGS"
9365- fi
9366- ;;
9367-sparc*-*solaris*)
9368- # Find out which ABI we are using.
9369- echo 'int i;' > conftest.$ac_ext
9370- if AC_TRY_EVAL(ac_compile); then
9371- case `/usr/bin/file conftest.o` in
9372- *64-bit*)
9373- case $lt_cv_prog_gnu_ld in
9374- yes*) LD="${LD-ld} -m elf64_sparc" ;;
9375- *)
9376- if ${LD-ld} -64 -r -o conftest2.o conftest.o >/dev/null 2>&1; then
9377- LD="${LD-ld} -64"
9378- fi
9379- ;;
9380- esac
9381- ;;
9382- esac
9383- fi
9384- rm -rf conftest*
9385- ;;
9386-esac
9387-
9388-need_locks="$enable_libtool_lock"
9389-])# _LT_ENABLE_LOCK
9390-
9391-
9392-# _LT_CMD_OLD_ARCHIVE
9393-# -------------------
9394-m4_defun([_LT_CMD_OLD_ARCHIVE],
9395-[AC_CHECK_TOOL(AR, ar, false)
9396-test -z "$AR" && AR=ar
9397-test -z "$AR_FLAGS" && AR_FLAGS=cru
9398-_LT_DECL([], [AR], [1], [The archiver])
9399-_LT_DECL([], [AR_FLAGS], [1])
9400-
9401-AC_CHECK_TOOL(STRIP, strip, :)
9402-test -z "$STRIP" && STRIP=:
9403-_LT_DECL([], [STRIP], [1], [A symbol stripping program])
9404-
9405-AC_CHECK_TOOL(RANLIB, ranlib, :)
9406-test -z "$RANLIB" && RANLIB=:
9407-_LT_DECL([], [RANLIB], [1],
9408- [Commands used to install an old-style archive])
9409-
9410-# Determine commands to create old-style static archives.
9411-old_archive_cmds='$AR $AR_FLAGS $oldlib$oldobjs'
9412-old_postinstall_cmds='chmod 644 $oldlib'
9413-old_postuninstall_cmds=
9414-
9415-if test -n "$RANLIB"; then
9416- case $host_os in
9417- openbsd*)
9418- old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$oldlib"
9419- ;;
9420- *)
9421- old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$oldlib"
9422- ;;
9423- esac
9424- old_archive_cmds="$old_archive_cmds~\$RANLIB \$oldlib"
9425-fi
9426-_LT_DECL([], [old_postinstall_cmds], [2])
9427-_LT_DECL([], [old_postuninstall_cmds], [2])
9428-_LT_TAGDECL([], [old_archive_cmds], [2],
9429- [Commands used to build an old-style archive])
9430-])# _LT_CMD_OLD_ARCHIVE
9431-
9432-
9433-# _LT_COMPILER_OPTION(MESSAGE, VARIABLE-NAME, FLAGS,
9434-# [OUTPUT-FILE], [ACTION-SUCCESS], [ACTION-FAILURE])
9435-# ----------------------------------------------------------------
9436-# Check whether the given compiler option works
9437-AC_DEFUN([_LT_COMPILER_OPTION],
9438-[m4_require([_LT_FILEUTILS_DEFAULTS])dnl
9439-m4_require([_LT_DECL_SED])dnl
9440-AC_CACHE_CHECK([$1], [$2],
9441- [$2=no
9442- m4_if([$4], , [ac_outfile=conftest.$ac_objext], [ac_outfile=$4])
9443- echo "$lt_simple_compile_test_code" > conftest.$ac_ext
9444- lt_compiler_flag="$3"
9445- # Insert the option either (1) after the last *FLAGS variable, or
9446- # (2) before a word containing "conftest.", or (3) at the end.
9447- # Note that $ac_compile itself does not contain backslashes and begins
9448- # with a dollar sign (not a hyphen), so the echo should work correctly.
9449- # The option is referenced via a variable to avoid confusing sed.
9450- lt_compile=`echo "$ac_compile" | $SED \
9451- -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
9452- -e 's: [[^ ]]*conftest\.: $lt_compiler_flag&:; t' \
9453- -e 's:$: $lt_compiler_flag:'`
9454- (eval echo "\"\$as_me:__oline__: $lt_compile\"" >&AS_MESSAGE_LOG_FD)
9455- (eval "$lt_compile" 2>conftest.err)
9456- ac_status=$?
9457- cat conftest.err >&AS_MESSAGE_LOG_FD
9458- echo "$as_me:__oline__: \$? = $ac_status" >&AS_MESSAGE_LOG_FD
9459- if (exit $ac_status) && test -s "$ac_outfile"; then
9460- # The compiler can only warn and ignore the option if not recognized
9461- # So say no if there are warnings other than the usual output.
9462- $ECHO "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' >conftest.exp
9463- $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
9464- if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then
9465- $2=yes
9466- fi
9467- fi
9468- $RM conftest*
9469-])
9470-
9471-if test x"[$]$2" = xyes; then
9472- m4_if([$5], , :, [$5])
9473-else
9474- m4_if([$6], , :, [$6])
9475-fi
9476-])# _LT_COMPILER_OPTION
9477-
9478-# Old name:
9479-AU_ALIAS([AC_LIBTOOL_COMPILER_OPTION], [_LT_COMPILER_OPTION])
9480-dnl aclocal-1.4 backwards compatibility:
9481-dnl AC_DEFUN([AC_LIBTOOL_COMPILER_OPTION], [])
9482-
9483-
9484-# _LT_LINKER_OPTION(MESSAGE, VARIABLE-NAME, FLAGS,
9485-# [ACTION-SUCCESS], [ACTION-FAILURE])
9486-# ----------------------------------------------------
9487-# Check whether the given linker option works
9488-AC_DEFUN([_LT_LINKER_OPTION],
9489-[m4_require([_LT_FILEUTILS_DEFAULTS])dnl
9490-m4_require([_LT_DECL_SED])dnl
9491-AC_CACHE_CHECK([$1], [$2],
9492- [$2=no
9493- save_LDFLAGS="$LDFLAGS"
9494- LDFLAGS="$LDFLAGS $3"
9495- echo "$lt_simple_link_test_code" > conftest.$ac_ext
9496- if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then
9497- # The linker can only warn and ignore the option if not recognized
9498- # So say no if there are warnings
9499- if test -s conftest.err; then
9500- # Append any errors to the config.log.
9501- cat conftest.err 1>&AS_MESSAGE_LOG_FD
9502- $ECHO "X$_lt_linker_boilerplate" | $Xsed -e '/^$/d' > conftest.exp
9503- $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
9504- if diff conftest.exp conftest.er2 >/dev/null; then
9505- $2=yes
9506- fi
9507- else
9508- $2=yes
9509- fi
9510- fi
9511- $RM -r conftest*
9512- LDFLAGS="$save_LDFLAGS"
9513-])
9514-
9515-if test x"[$]$2" = xyes; then
9516- m4_if([$4], , :, [$4])
9517-else
9518- m4_if([$5], , :, [$5])
9519-fi
9520-])# _LT_LINKER_OPTION
9521-
9522-# Old name:
9523-AU_ALIAS([AC_LIBTOOL_LINKER_OPTION], [_LT_LINKER_OPTION])
9524-dnl aclocal-1.4 backwards compatibility:
9525-dnl AC_DEFUN([AC_LIBTOOL_LINKER_OPTION], [])
9526-
9527-
9528-# LT_CMD_MAX_LEN
9529-#---------------
9530-AC_DEFUN([LT_CMD_MAX_LEN],
9531-[AC_REQUIRE([AC_CANONICAL_HOST])dnl
9532-# find the maximum length of command line arguments
9533-AC_MSG_CHECKING([the maximum length of command line arguments])
9534-AC_CACHE_VAL([lt_cv_sys_max_cmd_len], [dnl
9535- i=0
9536- teststring="ABCD"
9537-
9538- case $build_os in
9539- msdosdjgpp*)
9540- # On DJGPP, this test can blow up pretty badly due to problems in libc
9541- # (any single argument exceeding 2000 bytes causes a buffer overrun
9542- # during glob expansion). Even if it were fixed, the result of this
9543- # check would be larger than it should be.
9544- lt_cv_sys_max_cmd_len=12288; # 12K is about right
9545- ;;
9546-
9547- gnu*)
9548- # Under GNU Hurd, this test is not required because there is
9549- # no limit to the length of command line arguments.
9550- # Libtool will interpret -1 as no limit whatsoever
9551- lt_cv_sys_max_cmd_len=-1;
9552- ;;
9553-
9554- cygwin* | mingw* | cegcc*)
9555- # On Win9x/ME, this test blows up -- it succeeds, but takes
9556- # about 5 minutes as the teststring grows exponentially.
9557- # Worse, since 9x/ME are not pre-emptively multitasking,
9558- # you end up with a "frozen" computer, even though with patience
9559- # the test eventually succeeds (with a max line length of 256k).
9560- # Instead, let's just punt: use the minimum linelength reported by
9561- # all of the supported platforms: 8192 (on NT/2K/XP).
9562- lt_cv_sys_max_cmd_len=8192;
9563- ;;
9564-
9565- amigaos*)
9566- # On AmigaOS with pdksh, this test takes hours, literally.
9567- # So we just punt and use a minimum line length of 8192.
9568- lt_cv_sys_max_cmd_len=8192;
9569- ;;
9570-
9571- netbsd* | freebsd* | openbsd* | darwin* | dragonfly*)
9572- # This has been around since 386BSD, at least. Likely further.
9573- if test -x /sbin/sysctl; then
9574- lt_cv_sys_max_cmd_len=`/sbin/sysctl -n kern.argmax`
9575- elif test -x /usr/sbin/sysctl; then
9576- lt_cv_sys_max_cmd_len=`/usr/sbin/sysctl -n kern.argmax`
9577- else
9578- lt_cv_sys_max_cmd_len=65536 # usable default for all BSDs
9579- fi
9580- # And add a safety zone
9581- lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4`
9582- lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3`
9583- ;;
9584-
9585- interix*)
9586- # We know the value 262144 and hardcode it with a safety zone (like BSD)
9587- lt_cv_sys_max_cmd_len=196608
9588- ;;
9589-
9590- osf*)
9591- # Dr. Hans Ekkehard Plesser reports seeing a kernel panic running configure
9592- # due to this test when exec_disable_arg_limit is 1 on Tru64. It is not
9593- # nice to cause kernel panics so lets avoid the loop below.
9594- # First set a reasonable default.
9595- lt_cv_sys_max_cmd_len=16384
9596- #
9597- if test -x /sbin/sysconfig; then
9598- case `/sbin/sysconfig -q proc exec_disable_arg_limit` in
9599- *1*) lt_cv_sys_max_cmd_len=-1 ;;
9600- esac
9601- fi
9602- ;;
9603- sco3.2v5*)
9604- lt_cv_sys_max_cmd_len=102400
9605- ;;
9606- sysv5* | sco5v6* | sysv4.2uw2*)
9607- kargmax=`grep ARG_MAX /etc/conf/cf.d/stune 2>/dev/null`
9608- if test -n "$kargmax"; then
9609- lt_cv_sys_max_cmd_len=`echo $kargmax | sed 's/.*[[ ]]//'`
9610- else
9611- lt_cv_sys_max_cmd_len=32768
9612- fi
9613- ;;
9614- *)
9615- lt_cv_sys_max_cmd_len=`(getconf ARG_MAX) 2> /dev/null`
9616- if test -n "$lt_cv_sys_max_cmd_len"; then
9617- lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4`
9618- lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3`
9619- else
9620- # Make teststring a little bigger before we do anything with it.
9621- # a 1K string should be a reasonable start.
9622- for i in 1 2 3 4 5 6 7 8 ; do
9623- teststring=$teststring$teststring
9624- done
9625- SHELL=${SHELL-${CONFIG_SHELL-/bin/sh}}
9626- # If test is not a shell built-in, we'll probably end up computing a
9627- # maximum length that is only half of the actual maximum length, but
9628- # we can't tell.
9629- while { test "X"`$SHELL [$]0 --fallback-echo "X$teststring$teststring" 2>/dev/null` \
9630- = "XX$teststring$teststring"; } >/dev/null 2>&1 &&
9631- test $i != 17 # 1/2 MB should be enough
9632- do
9633- i=`expr $i + 1`
9634- teststring=$teststring$teststring
9635- done
9636- # Only check the string length outside the loop.
9637- lt_cv_sys_max_cmd_len=`expr "X$teststring" : ".*" 2>&1`
9638- teststring=
9639- # Add a significant safety factor because C++ compilers can tack on
9640- # massive amounts of additional arguments before passing them to the
9641- # linker. It appears as though 1/2 is a usable value.
9642- lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 2`
9643- fi
9644- ;;
9645- esac
9646-])
9647-if test -n $lt_cv_sys_max_cmd_len ; then
9648- AC_MSG_RESULT($lt_cv_sys_max_cmd_len)
9649-else
9650- AC_MSG_RESULT(none)
9651-fi
9652-max_cmd_len=$lt_cv_sys_max_cmd_len
9653-_LT_DECL([], [max_cmd_len], [0],
9654- [What is the maximum length of a command?])
9655-])# LT_CMD_MAX_LEN
9656-
9657-# Old name:
9658-AU_ALIAS([AC_LIBTOOL_SYS_MAX_CMD_LEN], [LT_CMD_MAX_LEN])
9659-dnl aclocal-1.4 backwards compatibility:
9660-dnl AC_DEFUN([AC_LIBTOOL_SYS_MAX_CMD_LEN], [])
9661-
9662-
9663-# _LT_HEADER_DLFCN
9664-# ----------------
9665-m4_defun([_LT_HEADER_DLFCN],
9666-[AC_CHECK_HEADERS([dlfcn.h], [], [], [AC_INCLUDES_DEFAULT])dnl
9667-])# _LT_HEADER_DLFCN
9668-
9669-
9670-# _LT_TRY_DLOPEN_SELF (ACTION-IF-TRUE, ACTION-IF-TRUE-W-USCORE,
9671-# ACTION-IF-FALSE, ACTION-IF-CROSS-COMPILING)
9672-# ----------------------------------------------------------------
9673-m4_defun([_LT_TRY_DLOPEN_SELF],
9674-[m4_require([_LT_HEADER_DLFCN])dnl
9675-if test "$cross_compiling" = yes; then :
9676- [$4]
9677-else
9678- lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
9679- lt_status=$lt_dlunknown
9680- cat > conftest.$ac_ext <<_LT_EOF
9681-[#line __oline__ "configure"
9682-#include "confdefs.h"
9683-
9684-#if HAVE_DLFCN_H
9685-#include <dlfcn.h>
9686-#endif
9687-
9688-#include <stdio.h>
9689-
9690-#ifdef RTLD_GLOBAL
9691-# define LT_DLGLOBAL RTLD_GLOBAL
9692-#else
9693-# ifdef DL_GLOBAL
9694-# define LT_DLGLOBAL DL_GLOBAL
9695-# else
9696-# define LT_DLGLOBAL 0
9697-# endif
9698-#endif
9699-
9700-/* We may have to define LT_DLLAZY_OR_NOW in the command line if we
9701- find out it does not work in some platform. */
9702-#ifndef LT_DLLAZY_OR_NOW
9703-# ifdef RTLD_LAZY
9704-# define LT_DLLAZY_OR_NOW RTLD_LAZY
9705-# else
9706-# ifdef DL_LAZY
9707-# define LT_DLLAZY_OR_NOW DL_LAZY
9708-# else
9709-# ifdef RTLD_NOW
9710-# define LT_DLLAZY_OR_NOW RTLD_NOW
9711-# else
9712-# ifdef DL_NOW
9713-# define LT_DLLAZY_OR_NOW DL_NOW
9714-# else
9715-# define LT_DLLAZY_OR_NOW 0
9716-# endif
9717-# endif
9718-# endif
9719-# endif
9720-#endif
9721-
9722-void fnord() { int i=42;}
9723-int main ()
9724-{
9725- void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW);
9726- int status = $lt_dlunknown;
9727-
9728- if (self)
9729- {
9730- if (dlsym (self,"fnord")) status = $lt_dlno_uscore;
9731- else if (dlsym( self,"_fnord")) status = $lt_dlneed_uscore;
9732- /* dlclose (self); */
9733- }
9734- else
9735- puts (dlerror ());
9736-
9737- return status;
9738-}]
9739-_LT_EOF
9740- if AC_TRY_EVAL(ac_link) && test -s conftest${ac_exeext} 2>/dev/null; then
9741- (./conftest; exit; ) >&AS_MESSAGE_LOG_FD 2>/dev/null
9742- lt_status=$?
9743- case x$lt_status in
9744- x$lt_dlno_uscore) $1 ;;
9745- x$lt_dlneed_uscore) $2 ;;
9746- x$lt_dlunknown|x*) $3 ;;
9747- esac
9748- else :
9749- # compilation failed
9750- $3
9751- fi
9752-fi
9753-rm -fr conftest*
9754-])# _LT_TRY_DLOPEN_SELF
9755-
9756-
9757-# LT_SYS_DLOPEN_SELF
9758-# ------------------
9759-AC_DEFUN([LT_SYS_DLOPEN_SELF],
9760-[m4_require([_LT_HEADER_DLFCN])dnl
9761-if test "x$enable_dlopen" != xyes; then
9762- enable_dlopen=unknown
9763- enable_dlopen_self=unknown
9764- enable_dlopen_self_static=unknown
9765-else
9766- lt_cv_dlopen=no
9767- lt_cv_dlopen_libs=
9768-
9769- case $host_os in
9770- beos*)
9771- lt_cv_dlopen="load_add_on"
9772- lt_cv_dlopen_libs=
9773- lt_cv_dlopen_self=yes
9774- ;;
9775-
9776- mingw* | pw32* | cegcc*)
9777- lt_cv_dlopen="LoadLibrary"
9778- lt_cv_dlopen_libs=
9779- ;;
9780-
9781- cygwin*)
9782- lt_cv_dlopen="dlopen"
9783- lt_cv_dlopen_libs=
9784- ;;
9785-
9786- darwin*)
9787- # if libdl is installed we need to link against it
9788- AC_CHECK_LIB([dl], [dlopen],
9789- [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"],[
9790- lt_cv_dlopen="dyld"
9791- lt_cv_dlopen_libs=
9792- lt_cv_dlopen_self=yes
9793- ])
9794- ;;
9795-
9796- *)
9797- AC_CHECK_FUNC([shl_load],
9798- [lt_cv_dlopen="shl_load"],
9799- [AC_CHECK_LIB([dld], [shl_load],
9800- [lt_cv_dlopen="shl_load" lt_cv_dlopen_libs="-ldld"],
9801- [AC_CHECK_FUNC([dlopen],
9802- [lt_cv_dlopen="dlopen"],
9803- [AC_CHECK_LIB([dl], [dlopen],
9804- [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"],
9805- [AC_CHECK_LIB([svld], [dlopen],
9806- [lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-lsvld"],
9807- [AC_CHECK_LIB([dld], [dld_link],
9808- [lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-ldld"])
9809- ])
9810- ])
9811- ])
9812- ])
9813- ])
9814- ;;
9815- esac
9816-
9817- if test "x$lt_cv_dlopen" != xno; then
9818- enable_dlopen=yes
9819- else
9820- enable_dlopen=no
9821- fi
9822-
9823- case $lt_cv_dlopen in
9824- dlopen)
9825- save_CPPFLAGS="$CPPFLAGS"
9826- test "x$ac_cv_header_dlfcn_h" = xyes && CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H"
9827-
9828- save_LDFLAGS="$LDFLAGS"
9829- wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\"
9830-
9831- save_LIBS="$LIBS"
9832- LIBS="$lt_cv_dlopen_libs $LIBS"
9833-
9834- AC_CACHE_CHECK([whether a program can dlopen itself],
9835- lt_cv_dlopen_self, [dnl
9836- _LT_TRY_DLOPEN_SELF(
9837- lt_cv_dlopen_self=yes, lt_cv_dlopen_self=yes,
9838- lt_cv_dlopen_self=no, lt_cv_dlopen_self=cross)
9839- ])
9840-
9841- if test "x$lt_cv_dlopen_self" = xyes; then
9842- wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $lt_prog_compiler_static\"
9843- AC_CACHE_CHECK([whether a statically linked program can dlopen itself],
9844- lt_cv_dlopen_self_static, [dnl
9845- _LT_TRY_DLOPEN_SELF(
9846- lt_cv_dlopen_self_static=yes, lt_cv_dlopen_self_static=yes,
9847- lt_cv_dlopen_self_static=no, lt_cv_dlopen_self_static=cross)
9848- ])
9849- fi
9850-
9851- CPPFLAGS="$save_CPPFLAGS"
9852- LDFLAGS="$save_LDFLAGS"
9853- LIBS="$save_LIBS"
9854- ;;
9855- esac
9856-
9857- case $lt_cv_dlopen_self in
9858- yes|no) enable_dlopen_self=$lt_cv_dlopen_self ;;
9859- *) enable_dlopen_self=unknown ;;
9860- esac
9861-
9862- case $lt_cv_dlopen_self_static in
9863- yes|no) enable_dlopen_self_static=$lt_cv_dlopen_self_static ;;
9864- *) enable_dlopen_self_static=unknown ;;
9865- esac
9866-fi
9867-_LT_DECL([dlopen_support], [enable_dlopen], [0],
9868- [Whether dlopen is supported])
9869-_LT_DECL([dlopen_self], [enable_dlopen_self], [0],
9870- [Whether dlopen of programs is supported])
9871-_LT_DECL([dlopen_self_static], [enable_dlopen_self_static], [0],
9872- [Whether dlopen of statically linked programs is supported])
9873-])# LT_SYS_DLOPEN_SELF
9874-
9875-# Old name:
9876-AU_ALIAS([AC_LIBTOOL_DLOPEN_SELF], [LT_SYS_DLOPEN_SELF])
9877-dnl aclocal-1.4 backwards compatibility:
9878-dnl AC_DEFUN([AC_LIBTOOL_DLOPEN_SELF], [])
9879-
9880-
9881-# _LT_COMPILER_C_O([TAGNAME])
9882-# ---------------------------
9883-# Check to see if options -c and -o are simultaneously supported by compiler.
9884-# This macro does not hard code the compiler like AC_PROG_CC_C_O.
9885-m4_defun([_LT_COMPILER_C_O],
9886-[m4_require([_LT_DECL_SED])dnl
9887-m4_require([_LT_FILEUTILS_DEFAULTS])dnl
9888-m4_require([_LT_TAG_COMPILER])dnl
9889-AC_CACHE_CHECK([if $compiler supports -c -o file.$ac_objext],
9890- [_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)],
9891- [_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)=no
9892- $RM -r conftest 2>/dev/null
9893- mkdir conftest
9894- cd conftest
9895- mkdir out
9896- echo "$lt_simple_compile_test_code" > conftest.$ac_ext
9897-
9898- lt_compiler_flag="-o out/conftest2.$ac_objext"
9899- # Insert the option either (1) after the last *FLAGS variable, or
9900- # (2) before a word containing "conftest.", or (3) at the end.
9901- # Note that $ac_compile itself does not contain backslashes and begins
9902- # with a dollar sign (not a hyphen), so the echo should work correctly.
9903- lt_compile=`echo "$ac_compile" | $SED \
9904- -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
9905- -e 's: [[^ ]]*conftest\.: $lt_compiler_flag&:; t' \
9906- -e 's:$: $lt_compiler_flag:'`
9907- (eval echo "\"\$as_me:__oline__: $lt_compile\"" >&AS_MESSAGE_LOG_FD)
9908- (eval "$lt_compile" 2>out/conftest.err)
9909- ac_status=$?
9910- cat out/conftest.err >&AS_MESSAGE_LOG_FD
9911- echo "$as_me:__oline__: \$? = $ac_status" >&AS_MESSAGE_LOG_FD
9912- if (exit $ac_status) && test -s out/conftest2.$ac_objext
9913- then
9914- # The compiler can only warn and ignore the option if not recognized
9915- # So say no if there are warnings
9916- $ECHO "X$_lt_compiler_boilerplate" | $Xsed -e '/^$/d' > out/conftest.exp
9917- $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2
9918- if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then
9919- _LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)=yes
9920- fi
9921- fi
9922- chmod u+w . 2>&AS_MESSAGE_LOG_FD
9923- $RM conftest*
9924- # SGI C++ compiler will create directory out/ii_files/ for
9925- # template instantiation
9926- test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files
9927- $RM out/* && rmdir out
9928- cd ..
9929- $RM -r conftest
9930- $RM conftest*
9931-])
9932-_LT_TAGDECL([compiler_c_o], [lt_cv_prog_compiler_c_o], [1],
9933- [Does compiler simultaneously support -c and -o options?])
9934-])# _LT_COMPILER_C_O
9935-
9936-
9937-# _LT_COMPILER_FILE_LOCKS([TAGNAME])
9938-# ----------------------------------
9939-# Check to see if we can do hard links to lock some files if needed
9940-m4_defun([_LT_COMPILER_FILE_LOCKS],
9941-[m4_require([_LT_ENABLE_LOCK])dnl
9942-m4_require([_LT_FILEUTILS_DEFAULTS])dnl
9943-_LT_COMPILER_C_O([$1])
9944-
9945-hard_links="nottested"
9946-if test "$_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)" = no && test "$need_locks" != no; then
9947- # do not overwrite the value of need_locks provided by the user
9948- AC_MSG_CHECKING([if we can lock with hard links])
9949- hard_links=yes
9950- $RM conftest*
9951- ln conftest.a conftest.b 2>/dev/null && hard_links=no
9952- touch conftest.a
9953- ln conftest.a conftest.b 2>&5 || hard_links=no
9954- ln conftest.a conftest.b 2>/dev/null && hard_links=no
9955- AC_MSG_RESULT([$hard_links])
9956- if test "$hard_links" = no; then
9957- AC_MSG_WARN([`$CC' does not support `-c -o', so `make -j' may be unsafe])
9958- need_locks=warn
9959- fi
9960-else
9961- need_locks=no
9962-fi
9963-_LT_DECL([], [need_locks], [1], [Must we lock files when doing compilation?])
9964-])# _LT_COMPILER_FILE_LOCKS
9965-
9966-
9967-# _LT_CHECK_OBJDIR
9968-# ----------------
9969-m4_defun([_LT_CHECK_OBJDIR],
9970-[AC_CACHE_CHECK([for objdir], [lt_cv_objdir],
9971-[rm -f .libs 2>/dev/null
9972-mkdir .libs 2>/dev/null
9973-if test -d .libs; then
9974- lt_cv_objdir=.libs
9975-else
9976- # MS-DOS does not allow filenames that begin with a dot.
9977- lt_cv_objdir=_libs
9978-fi
9979-rmdir .libs 2>/dev/null])
9980-objdir=$lt_cv_objdir
9981-_LT_DECL([], [objdir], [0],
9982- [The name of the directory that contains temporary libtool files])dnl
9983-m4_pattern_allow([LT_OBJDIR])dnl
9984-AC_DEFINE_UNQUOTED(LT_OBJDIR, "$lt_cv_objdir/",
9985- [Define to the sub-directory in which libtool stores uninstalled libraries.])
9986-])# _LT_CHECK_OBJDIR
9987-
9988-
9989-# _LT_LINKER_HARDCODE_LIBPATH([TAGNAME])
9990-# --------------------------------------
9991-# Check hardcoding attributes.
9992-m4_defun([_LT_LINKER_HARDCODE_LIBPATH],
9993-[AC_MSG_CHECKING([how to hardcode library paths into programs])
9994-_LT_TAGVAR(hardcode_action, $1)=
9995-if test -n "$_LT_TAGVAR(hardcode_libdir_flag_spec, $1)" ||
9996- test -n "$_LT_TAGVAR(runpath_var, $1)" ||
9997- test "X$_LT_TAGVAR(hardcode_automatic, $1)" = "Xyes" ; then
9998-
9999- # We can hardcode non-existent directories.
10000- if test "$_LT_TAGVAR(hardcode_direct, $1)" != no &&
10001- # If the only mechanism to avoid hardcoding is shlibpath_var, we
10002- # have to relink, otherwise we might link with an installed library
10003- # when we should be linking with a yet-to-be-installed one
10004- ## test "$_LT_TAGVAR(hardcode_shlibpath_var, $1)" != no &&
10005- test "$_LT_TAGVAR(hardcode_minus_L, $1)" != no; then
10006- # Linking always hardcodes the temporary library directory.
10007- _LT_TAGVAR(hardcode_action, $1)=relink
10008- else
10009- # We can link without hardcoding, and we can hardcode nonexisting dirs.
10010- _LT_TAGVAR(hardcode_action, $1)=immediate
10011- fi
10012-else
10013- # We cannot hardcode anything, or else we can only hardcode existing
10014- # directories.
10015- _LT_TAGVAR(hardcode_action, $1)=unsupported
10016-fi
10017-AC_MSG_RESULT([$_LT_TAGVAR(hardcode_action, $1)])
10018-
10019-if test "$_LT_TAGVAR(hardcode_action, $1)" = relink ||
10020- test "$_LT_TAGVAR(inherit_rpath, $1)" = yes; then
10021- # Fast installation is not supported
10022- enable_fast_install=no
10023-elif test "$shlibpath_overrides_runpath" = yes ||
10024- test "$enable_shared" = no; then
10025- # Fast installation is not necessary
10026- enable_fast_install=needless
10027-fi
10028-_LT_TAGDECL([], [hardcode_action], [0],
10029- [How to hardcode a shared library path into an executable])
10030-])# _LT_LINKER_HARDCODE_LIBPATH
10031-
10032-
10033-# _LT_CMD_STRIPLIB
10034-# ----------------
10035-m4_defun([_LT_CMD_STRIPLIB],
10036-[m4_require([_LT_DECL_EGREP])
10037-striplib=
10038-old_striplib=
10039-AC_MSG_CHECKING([whether stripping libraries is possible])
10040-if test -n "$STRIP" && $STRIP -V 2>&1 | $GREP "GNU strip" >/dev/null; then
10041- test -z "$old_striplib" && old_striplib="$STRIP --strip-debug"
10042- test -z "$striplib" && striplib="$STRIP --strip-unneeded"
10043- AC_MSG_RESULT([yes])
10044-else
10045-# FIXME - insert some real tests, host_os isn't really good enough
10046- case $host_os in
10047- darwin*)
10048- if test -n "$STRIP" ; then
10049- striplib="$STRIP -x"
10050- old_striplib="$STRIP -S"
10051- AC_MSG_RESULT([yes])
10052- else
10053- AC_MSG_RESULT([no])
10054- fi
10055- ;;
10056- *)
10057- AC_MSG_RESULT([no])
10058- ;;
10059- esac
10060-fi
10061-_LT_DECL([], [old_striplib], [1], [Commands to strip libraries])
10062-_LT_DECL([], [striplib], [1])
10063-])# _LT_CMD_STRIPLIB
10064-
10065-
10066-# _LT_SYS_DYNAMIC_LINKER([TAG])
10067-# -----------------------------
10068-# PORTME Fill in your ld.so characteristics
10069-m4_defun([_LT_SYS_DYNAMIC_LINKER],
10070-[AC_REQUIRE([AC_CANONICAL_HOST])dnl
10071-m4_require([_LT_DECL_EGREP])dnl
10072-m4_require([_LT_FILEUTILS_DEFAULTS])dnl
10073-m4_require([_LT_DECL_OBJDUMP])dnl
10074-m4_require([_LT_DECL_SED])dnl
10075-AC_MSG_CHECKING([dynamic linker characteristics])
10076-m4_if([$1],
10077- [], [
10078-if test "$GCC" = yes; then
10079- case $host_os in
10080- darwin*) lt_awk_arg="/^libraries:/,/LR/" ;;
10081- *) lt_awk_arg="/^libraries:/" ;;
10082- esac
10083- lt_search_path_spec=`$CC -print-search-dirs | awk $lt_awk_arg | $SED -e "s/^libraries://" -e "s,=/,/,g"`
10084- if $ECHO "$lt_search_path_spec" | $GREP ';' >/dev/null ; then
10085- # if the path contains ";" then we assume it to be the separator
10086- # otherwise default to the standard path separator (i.e. ":") - it is
10087- # assumed that no part of a normal pathname contains ";" but that should
10088- # okay in the real world where ";" in dirpaths is itself problematic.
10089- lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED -e 's/;/ /g'`
10090- else
10091- lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"`
10092- fi
10093- # Ok, now we have the path, separated by spaces, we can step through it
10094- # and add multilib dir if necessary.
10095- lt_tmp_lt_search_path_spec=
10096- lt_multi_os_dir=`$CC $CPPFLAGS $CFLAGS $LDFLAGS -print-multi-os-directory 2>/dev/null`
10097- for lt_sys_path in $lt_search_path_spec; do
10098- if test -d "$lt_sys_path/$lt_multi_os_dir"; then
10099- lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path/$lt_multi_os_dir"
10100- else
10101- test -d "$lt_sys_path" && \
10102- lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path"
10103- fi
10104- done
10105- lt_search_path_spec=`$ECHO $lt_tmp_lt_search_path_spec | awk '
10106-BEGIN {RS=" "; FS="/|\n";} {
10107- lt_foo="";
10108- lt_count=0;
10109- for (lt_i = NF; lt_i > 0; lt_i--) {
10110- if ($lt_i != "" && $lt_i != ".") {
10111- if ($lt_i == "..") {
10112- lt_count++;
10113- } else {
10114- if (lt_count == 0) {
10115- lt_foo="/" $lt_i lt_foo;
10116- } else {
10117- lt_count--;
10118- }
10119- }
10120- }
10121- }
10122- if (lt_foo != "") { lt_freq[[lt_foo]]++; }
10123- if (lt_freq[[lt_foo]] == 1) { print lt_foo; }
10124-}'`
10125- sys_lib_search_path_spec=`$ECHO $lt_search_path_spec`
10126-else
10127- sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib"
10128-fi])
10129-library_names_spec=
10130-libname_spec='lib$name'
10131-soname_spec=
10132-shrext_cmds=".so"
10133-postinstall_cmds=
10134-postuninstall_cmds=
10135-finish_cmds=
10136-finish_eval=
10137-shlibpath_var=
10138-shlibpath_overrides_runpath=unknown
10139-version_type=none
10140-dynamic_linker="$host_os ld.so"
10141-sys_lib_dlsearch_path_spec="/lib /usr/lib"
10142-need_lib_prefix=unknown
10143-hardcode_into_libs=no
10144-
10145-# when you set need_version to no, make sure it does not cause -set_version
10146-# flags to be left without arguments
10147-need_version=unknown
10148-
10149-case $host_os in
10150-aix3*)
10151- version_type=linux
10152- library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a'
10153- shlibpath_var=LIBPATH
10154-
10155- # AIX 3 has no versioning support, so we append a major version to the name.
10156- soname_spec='${libname}${release}${shared_ext}$major'
10157- ;;
10158-
10159-aix[[4-9]]*)
10160- version_type=linux
10161- need_lib_prefix=no
10162- need_version=no
10163- hardcode_into_libs=yes
10164- if test "$host_cpu" = ia64; then
10165- # AIX 5 supports IA64
10166- library_names_spec='${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext}$versuffix $libname${shared_ext}'
10167- shlibpath_var=LD_LIBRARY_PATH
10168- else
10169- # With GCC up to 2.95.x, collect2 would create an import file
10170- # for dependence libraries. The import file would start with
10171- # the line `#! .'. This would cause the generated library to
10172- # depend on `.', always an invalid library. This was fixed in
10173- # development snapshots of GCC prior to 3.0.
10174- case $host_os in
10175- aix4 | aix4.[[01]] | aix4.[[01]].*)
10176- if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)'
10177- echo ' yes '
10178- echo '#endif'; } | ${CC} -E - | $GREP yes > /dev/null; then
10179- :
10180- else
10181- can_build_shared=no
10182- fi
10183- ;;
10184- esac
10185- # AIX (on Power*) has no versioning support, so currently we can not hardcode correct
10186- # soname into executable. Probably we can add versioning support to
10187- # collect2, so additional links can be useful in future.
10188- if test "$aix_use_runtimelinking" = yes; then
10189- # If using run time linking (on AIX 4.2 or later) use lib<name>.so
10190- # instead of lib<name>.a to let people know that these are not
10191- # typical AIX shared libraries.
10192- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
10193- else
10194- # We preserve .a as extension for shared libraries through AIX4.2
10195- # and later when we are not doing run time linking.
10196- library_names_spec='${libname}${release}.a $libname.a'
10197- soname_spec='${libname}${release}${shared_ext}$major'
10198- fi
10199- shlibpath_var=LIBPATH
10200- fi
10201- ;;
10202-
10203-amigaos*)
10204- case $host_cpu in
10205- powerpc)
10206- # Since July 2007 AmigaOS4 officially supports .so libraries.
10207- # When compiling the executable, add -use-dynld -Lsobjs: to the compileline.
10208- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
10209- ;;
10210- m68k)
10211- library_names_spec='$libname.ixlibrary $libname.a'
10212- # Create ${libname}_ixlibrary.a entries in /sys/libs.
10213- finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`$ECHO "X$lib" | $Xsed -e '\''s%^.*/\([[^/]]*\)\.ixlibrary$%\1%'\''`; test $RM /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done'
10214- ;;
10215- esac
10216- ;;
10217-
10218-beos*)
10219- library_names_spec='${libname}${shared_ext}'
10220- dynamic_linker="$host_os ld.so"
10221- shlibpath_var=LIBRARY_PATH
10222- ;;
10223-
10224-bsdi[[45]]*)
10225- version_type=linux
10226- need_version=no
10227- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
10228- soname_spec='${libname}${release}${shared_ext}$major'
10229- finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir'
10230- shlibpath_var=LD_LIBRARY_PATH
10231- sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib"
10232- sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib"
10233- # the default ld.so.conf also contains /usr/contrib/lib and
10234- # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow
10235- # libtool to hard-code these into programs
10236- ;;
10237-
10238-cygwin* | mingw* | pw32* | cegcc*)
10239- version_type=windows
10240- shrext_cmds=".dll"
10241- need_version=no
10242- need_lib_prefix=no
10243-
10244- case $GCC,$host_os in
10245- yes,cygwin* | yes,mingw* | yes,pw32* | yes,cegcc*)
10246- library_names_spec='$libname.dll.a'
10247- # DLL is installed to $(libdir)/../bin by postinstall_cmds
10248- postinstall_cmds='base_file=`basename \${file}`~
10249- dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i; echo \$dlname'\''`~
10250- dldir=$destdir/`dirname \$dlpath`~
10251- test -d \$dldir || mkdir -p \$dldir~
10252- $install_prog $dir/$dlname \$dldir/$dlname~
10253- chmod a+x \$dldir/$dlname~
10254- if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then
10255- eval '\''$striplib \$dldir/$dlname'\'' || exit \$?;
10256- fi'
10257- postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~
10258- dlpath=$dir/\$dldll~
10259- $RM \$dlpath'
10260- shlibpath_overrides_runpath=yes
10261-
10262- case $host_os in
10263- cygwin*)
10264- # Cygwin DLLs use 'cyg' prefix rather than 'lib'
10265- soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}'
10266- sys_lib_search_path_spec="/usr/lib /lib/w32api /lib /usr/local/lib"
10267- ;;
10268- mingw* | cegcc*)
10269- # MinGW DLLs use traditional 'lib' prefix
10270- soname_spec='${libname}`echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}'
10271- sys_lib_search_path_spec=`$CC -print-search-dirs | $GREP "^libraries:" | $SED -e "s/^libraries://" -e "s,=/,/,g"`
10272- if $ECHO "$sys_lib_search_path_spec" | [$GREP ';[c-zC-Z]:/' >/dev/null]; then
10273- # It is most probably a Windows format PATH printed by
10274- # mingw gcc, but we are running on Cygwin. Gcc prints its search
10275- # path with ; separators, and with drive letters. We can handle the
10276- # drive letters (cygwin fileutils understands them), so leave them,
10277- # especially as we might pass files found there to a mingw objdump,
10278- # which wouldn't understand a cygwinified path. Ahh.
10279- sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e 's/;/ /g'`
10280- else
10281- sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e "s/$PATH_SEPARATOR/ /g"`
10282- fi
10283- ;;
10284- pw32*)
10285- # pw32 DLLs use 'pw' prefix rather than 'lib'
10286- library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext}'
10287- ;;
10288- esac
10289- ;;
10290-
10291- *)
10292- library_names_spec='${libname}`echo ${release} | $SED -e 's/[[.]]/-/g'`${versuffix}${shared_ext} $libname.lib'
10293- ;;
10294- esac
10295- dynamic_linker='Win32 ld.exe'
10296- # FIXME: first we should search . and the directory the executable is in
10297- shlibpath_var=PATH
10298- ;;
10299-
10300-darwin* | rhapsody*)
10301- dynamic_linker="$host_os dyld"
10302- version_type=darwin
10303- need_lib_prefix=no
10304- need_version=no
10305- library_names_spec='${libname}${release}${major}$shared_ext ${libname}$shared_ext'
10306- soname_spec='${libname}${release}${major}$shared_ext'
10307- shlibpath_overrides_runpath=yes
10308- shlibpath_var=DYLD_LIBRARY_PATH
10309- shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`'
10310-m4_if([$1], [],[
10311- sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/local/lib"])
10312- sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib'
10313- ;;
10314-
10315-dgux*)
10316- version_type=linux
10317- need_lib_prefix=no
10318- need_version=no
10319- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext'
10320- soname_spec='${libname}${release}${shared_ext}$major'
10321- shlibpath_var=LD_LIBRARY_PATH
10322- ;;
10323-
10324-freebsd1*)
10325- dynamic_linker=no
10326- ;;
10327-
10328-freebsd* | dragonfly*)
10329- # DragonFly does not have aout. When/if they implement a new
10330- # versioning mechanism, adjust this.
10331- if test -x /usr/bin/objformat; then
10332- objformat=`/usr/bin/objformat`
10333- else
10334- case $host_os in
10335- freebsd[[123]]*) objformat=aout ;;
10336- *) objformat=elf ;;
10337- esac
10338- fi
10339- version_type=freebsd-$objformat
10340- case $version_type in
10341- freebsd-elf*)
10342- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}'
10343- need_version=no
10344- need_lib_prefix=no
10345- ;;
10346- freebsd-*)
10347- library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix'
10348- need_version=yes
10349- ;;
10350- esac
10351- shlibpath_var=LD_LIBRARY_PATH
10352- case $host_os in
10353- freebsd2*)
10354- shlibpath_overrides_runpath=yes
10355- ;;
10356- freebsd3.[[01]]* | freebsdelf3.[[01]]*)
10357- shlibpath_overrides_runpath=yes
10358- hardcode_into_libs=yes
10359- ;;
10360- freebsd3.[[2-9]]* | freebsdelf3.[[2-9]]* | \
10361- freebsd4.[[0-5]] | freebsdelf4.[[0-5]] | freebsd4.1.1 | freebsdelf4.1.1)
10362- shlibpath_overrides_runpath=no
10363- hardcode_into_libs=yes
10364- ;;
10365- *) # from 4.6 on, and DragonFly
10366- shlibpath_overrides_runpath=yes
10367- hardcode_into_libs=yes
10368- ;;
10369- esac
10370- ;;
10371-
10372-gnu*)
10373- version_type=linux
10374- need_lib_prefix=no
10375- need_version=no
10376- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}'
10377- soname_spec='${libname}${release}${shared_ext}$major'
10378- shlibpath_var=LD_LIBRARY_PATH
10379- hardcode_into_libs=yes
10380- ;;
10381-
10382-hpux9* | hpux10* | hpux11*)
10383- # Give a soname corresponding to the major version so that dld.sl refuses to
10384- # link against other versions.
10385- version_type=sunos
10386- need_lib_prefix=no
10387- need_version=no
10388- case $host_cpu in
10389- ia64*)
10390- shrext_cmds='.so'
10391- hardcode_into_libs=yes
10392- dynamic_linker="$host_os dld.so"
10393- shlibpath_var=LD_LIBRARY_PATH
10394- shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
10395- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
10396- soname_spec='${libname}${release}${shared_ext}$major'
10397- if test "X$HPUX_IA64_MODE" = X32; then
10398- sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib"
10399- else
10400- sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64"
10401- fi
10402- sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
10403- ;;
10404- hppa*64*)
10405- shrext_cmds='.sl'
10406- hardcode_into_libs=yes
10407- dynamic_linker="$host_os dld.sl"
10408- shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH
10409- shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
10410- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
10411- soname_spec='${libname}${release}${shared_ext}$major'
10412- sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64"
10413- sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
10414- ;;
10415- *)
10416- shrext_cmds='.sl'
10417- dynamic_linker="$host_os dld.sl"
10418- shlibpath_var=SHLIB_PATH
10419- shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH
10420- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
10421- soname_spec='${libname}${release}${shared_ext}$major'
10422- ;;
10423- esac
10424- # HP-UX runs *really* slowly unless shared libraries are mode 555.
10425- postinstall_cmds='chmod 555 $lib'
10426- ;;
10427-
10428-interix[[3-9]]*)
10429- version_type=linux
10430- need_lib_prefix=no
10431- need_version=no
10432- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
10433- soname_spec='${libname}${release}${shared_ext}$major'
10434- dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)'
10435- shlibpath_var=LD_LIBRARY_PATH
10436- shlibpath_overrides_runpath=no
10437- hardcode_into_libs=yes
10438- ;;
10439-
10440-irix5* | irix6* | nonstopux*)
10441- case $host_os in
10442- nonstopux*) version_type=nonstopux ;;
10443- *)
10444- if test "$lt_cv_prog_gnu_ld" = yes; then
10445- version_type=linux
10446- else
10447- version_type=irix
10448- fi ;;
10449- esac
10450- need_lib_prefix=no
10451- need_version=no
10452- soname_spec='${libname}${release}${shared_ext}$major'
10453- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} $libname${shared_ext}'
10454- case $host_os in
10455- irix5* | nonstopux*)
10456- libsuff= shlibsuff=
10457- ;;
10458- *)
10459- case $LD in # libtool.m4 will add one of these switches to LD
10460- *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ")
10461- libsuff= shlibsuff= libmagic=32-bit;;
10462- *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ")
10463- libsuff=32 shlibsuff=N32 libmagic=N32;;
10464- *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ")
10465- libsuff=64 shlibsuff=64 libmagic=64-bit;;
10466- *) libsuff= shlibsuff= libmagic=never-match;;
10467- esac
10468- ;;
10469- esac
10470- shlibpath_var=LD_LIBRARY${shlibsuff}_PATH
10471- shlibpath_overrides_runpath=no
10472- sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}"
10473- sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}"
10474- hardcode_into_libs=yes
10475- ;;
10476-
10477-# No shared lib support for Linux oldld, aout, or coff.
10478-linux*oldld* | linux*aout* | linux*coff*)
10479- dynamic_linker=no
10480- ;;
10481-
10482-# This must be Linux ELF.
10483-linux* | k*bsd*-gnu)
10484- version_type=linux
10485- need_lib_prefix=no
10486- need_version=no
10487- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
10488- soname_spec='${libname}${release}${shared_ext}$major'
10489- finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir'
10490- shlibpath_var=LD_LIBRARY_PATH
10491- shlibpath_overrides_runpath=no
10492- # Some binutils ld are patched to set DT_RUNPATH
10493- save_LDFLAGS=$LDFLAGS
10494- save_libdir=$libdir
10495- eval "libdir=/foo; wl=\"$_LT_TAGVAR(lt_prog_compiler_wl, $1)\"; \
10496- LDFLAGS=\"\$LDFLAGS $_LT_TAGVAR(hardcode_libdir_flag_spec, $1)\""
10497- AC_LINK_IFELSE([AC_LANG_PROGRAM([],[])],
10498- [AS_IF([ ($OBJDUMP -p conftest$ac_exeext) 2>/dev/null | grep "RUNPATH.*$libdir" >/dev/null],
10499- [shlibpath_overrides_runpath=yes])])
10500- LDFLAGS=$save_LDFLAGS
10501- libdir=$save_libdir
10502-
10503- # This implies no fast_install, which is unacceptable.
10504- # Some rework will be needed to allow for fast_install
10505- # before this can be enabled.
10506- hardcode_into_libs=yes
10507-
10508- # Append ld.so.conf contents to the search path
10509- if test -f /etc/ld.so.conf; then
10510- lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \[$]2)); skip = 1; } { if (!skip) print \[$]0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[ ]*hwcap[ ]/d;s/[:, ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;/^$/d' | tr '\n' ' '`
10511- sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra"
10512- fi
10513-
10514- # We used to test for /lib/ld.so.1 and disable shared libraries on
10515- # powerpc, because MkLinux only supported shared libraries with the
10516- # GNU dynamic linker. Since this was broken with cross compilers,
10517- # most powerpc-linux boxes support dynamic linking these days and
10518- # people can always --disable-shared, the test was removed, and we
10519- # assume the GNU/Linux dynamic linker is in use.
10520- dynamic_linker='GNU/Linux ld.so'
10521- ;;
10522-
10523-netbsd*)
10524- version_type=sunos
10525- need_lib_prefix=no
10526- need_version=no
10527- if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
10528- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
10529- finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
10530- dynamic_linker='NetBSD (a.out) ld.so'
10531- else
10532- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
10533- soname_spec='${libname}${release}${shared_ext}$major'
10534- dynamic_linker='NetBSD ld.elf_so'
10535- fi
10536- shlibpath_var=LD_LIBRARY_PATH
10537- shlibpath_overrides_runpath=yes
10538- hardcode_into_libs=yes
10539- ;;
10540-
10541-newsos6)
10542- version_type=linux
10543- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
10544- shlibpath_var=LD_LIBRARY_PATH
10545- shlibpath_overrides_runpath=yes
10546- ;;
10547-
10548-*nto* | *qnx*)
10549- version_type=qnx
10550- need_lib_prefix=no
10551- need_version=no
10552- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
10553- soname_spec='${libname}${release}${shared_ext}$major'
10554- shlibpath_var=LD_LIBRARY_PATH
10555- shlibpath_overrides_runpath=no
10556- hardcode_into_libs=yes
10557- dynamic_linker='ldqnx.so'
10558- ;;
10559-
10560-openbsd*)
10561- version_type=sunos
10562- sys_lib_dlsearch_path_spec="/usr/lib"
10563- need_lib_prefix=no
10564- # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs.
10565- case $host_os in
10566- openbsd3.3 | openbsd3.3.*) need_version=yes ;;
10567- *) need_version=no ;;
10568- esac
10569- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
10570- finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
10571- shlibpath_var=LD_LIBRARY_PATH
10572- if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
10573- case $host_os in
10574- openbsd2.[[89]] | openbsd2.[[89]].*)
10575- shlibpath_overrides_runpath=no
10576- ;;
10577- *)
10578- shlibpath_overrides_runpath=yes
10579- ;;
10580- esac
10581- else
10582- shlibpath_overrides_runpath=yes
10583- fi
10584- ;;
10585-
10586-os2*)
10587- libname_spec='$name'
10588- shrext_cmds=".dll"
10589- need_lib_prefix=no
10590- library_names_spec='$libname${shared_ext} $libname.a'
10591- dynamic_linker='OS/2 ld.exe'
10592- shlibpath_var=LIBPATH
10593- ;;
10594-
10595-osf3* | osf4* | osf5*)
10596- version_type=osf
10597- need_lib_prefix=no
10598- need_version=no
10599- soname_spec='${libname}${release}${shared_ext}$major'
10600- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
10601- shlibpath_var=LD_LIBRARY_PATH
10602- sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib"
10603- sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec"
10604- ;;
10605-
10606-rdos*)
10607- dynamic_linker=no
10608- ;;
10609-
10610-solaris*)
10611- version_type=linux
10612- need_lib_prefix=no
10613- need_version=no
10614- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
10615- soname_spec='${libname}${release}${shared_ext}$major'
10616- shlibpath_var=LD_LIBRARY_PATH
10617- shlibpath_overrides_runpath=yes
10618- hardcode_into_libs=yes
10619- # ldd complains unless libraries are executable
10620- postinstall_cmds='chmod +x $lib'
10621- ;;
10622-
10623-sunos4*)
10624- version_type=sunos
10625- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
10626- finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir'
10627- shlibpath_var=LD_LIBRARY_PATH
10628- shlibpath_overrides_runpath=yes
10629- if test "$with_gnu_ld" = yes; then
10630- need_lib_prefix=no
10631- fi
10632- need_version=yes
10633- ;;
10634-
10635-sysv4 | sysv4.3*)
10636- version_type=linux
10637- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
10638- soname_spec='${libname}${release}${shared_ext}$major'
10639- shlibpath_var=LD_LIBRARY_PATH
10640- case $host_vendor in
10641- sni)
10642- shlibpath_overrides_runpath=no
10643- need_lib_prefix=no
10644- runpath_var=LD_RUN_PATH
10645- ;;
10646- siemens)
10647- need_lib_prefix=no
10648- ;;
10649- motorola)
10650- need_lib_prefix=no
10651- need_version=no
10652- shlibpath_overrides_runpath=no
10653- sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib'
10654- ;;
10655- esac
10656- ;;
10657-
10658-sysv4*MP*)
10659- if test -d /usr/nec ;then
10660- version_type=linux
10661- library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}'
10662- soname_spec='$libname${shared_ext}.$major'
10663- shlibpath_var=LD_LIBRARY_PATH
10664- fi
10665- ;;
10666-
10667-sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
10668- version_type=freebsd-elf
10669- need_lib_prefix=no
10670- need_version=no
10671- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}'
10672- soname_spec='${libname}${release}${shared_ext}$major'
10673- shlibpath_var=LD_LIBRARY_PATH
10674- shlibpath_overrides_runpath=yes
10675- hardcode_into_libs=yes
10676- if test "$with_gnu_ld" = yes; then
10677- sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib'
10678- else
10679- sys_lib_search_path_spec='/usr/ccs/lib /usr/lib'
10680- case $host_os in
10681- sco3.2v5*)
10682- sys_lib_search_path_spec="$sys_lib_search_path_spec /lib"
10683- ;;
10684- esac
10685- fi
10686- sys_lib_dlsearch_path_spec='/usr/lib'
10687- ;;
10688-
10689-tpf*)
10690- # TPF is a cross-target only. Preferred cross-host = GNU/Linux.
10691- version_type=linux
10692- need_lib_prefix=no
10693- need_version=no
10694- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
10695- shlibpath_var=LD_LIBRARY_PATH
10696- shlibpath_overrides_runpath=no
10697- hardcode_into_libs=yes
10698- ;;
10699-
10700-uts4*)
10701- version_type=linux
10702- library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
10703- soname_spec='${libname}${release}${shared_ext}$major'
10704- shlibpath_var=LD_LIBRARY_PATH
10705- ;;
10706-
10707-*)
10708- dynamic_linker=no
10709- ;;
10710-esac
10711-AC_MSG_RESULT([$dynamic_linker])
10712-test "$dynamic_linker" = no && can_build_shared=no
10713-
10714-variables_saved_for_relink="PATH $shlibpath_var $runpath_var"
10715-if test "$GCC" = yes; then
10716- variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH"
10717-fi
10718-
10719-if test "${lt_cv_sys_lib_search_path_spec+set}" = set; then
10720- sys_lib_search_path_spec="$lt_cv_sys_lib_search_path_spec"
10721-fi
10722-if test "${lt_cv_sys_lib_dlsearch_path_spec+set}" = set; then
10723- sys_lib_dlsearch_path_spec="$lt_cv_sys_lib_dlsearch_path_spec"
10724-fi
10725-
10726-_LT_DECL([], [variables_saved_for_relink], [1],
10727- [Variables whose values should be saved in libtool wrapper scripts and
10728- restored at link time])
10729-_LT_DECL([], [need_lib_prefix], [0],
10730- [Do we need the "lib" prefix for modules?])
10731-_LT_DECL([], [need_version], [0], [Do we need a version for libraries?])
10732-_LT_DECL([], [version_type], [0], [Library versioning type])
10733-_LT_DECL([], [runpath_var], [0], [Shared library runtime path variable])
10734-_LT_DECL([], [shlibpath_var], [0],[Shared library path variable])
10735-_LT_DECL([], [shlibpath_overrides_runpath], [0],
10736- [Is shlibpath searched before the hard-coded library search path?])
10737-_LT_DECL([], [libname_spec], [1], [Format of library name prefix])
10738-_LT_DECL([], [library_names_spec], [1],
10739- [[List of archive names. First name is the real one, the rest are links.
10740- The last name is the one that the linker finds with -lNAME]])
10741-_LT_DECL([], [soname_spec], [1],
10742- [[The coded name of the library, if different from the real name]])
10743-_LT_DECL([], [postinstall_cmds], [2],
10744- [Command to use after installation of a shared archive])
10745-_LT_DECL([], [postuninstall_cmds], [2],
10746- [Command to use after uninstallation of a shared archive])
10747-_LT_DECL([], [finish_cmds], [2],
10748- [Commands used to finish a libtool library installation in a directory])
10749-_LT_DECL([], [finish_eval], [1],
10750- [[As "finish_cmds", except a single script fragment to be evaled but
10751- not shown]])
10752-_LT_DECL([], [hardcode_into_libs], [0],
10753- [Whether we should hardcode library paths into libraries])
10754-_LT_DECL([], [sys_lib_search_path_spec], [2],
10755- [Compile-time system search path for libraries])
10756-_LT_DECL([], [sys_lib_dlsearch_path_spec], [2],
10757- [Run-time system search path for libraries])
10758-])# _LT_SYS_DYNAMIC_LINKER
10759-
10760-
10761-# _LT_PATH_TOOL_PREFIX(TOOL)
10762-# --------------------------
10763-# find a file program which can recognize shared library
10764-AC_DEFUN([_LT_PATH_TOOL_PREFIX],
10765-[m4_require([_LT_DECL_EGREP])dnl
10766-AC_MSG_CHECKING([for $1])
10767-AC_CACHE_VAL(lt_cv_path_MAGIC_CMD,
10768-[case $MAGIC_CMD in
10769-[[\\/*] | ?:[\\/]*])
10770- lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path.
10771- ;;
10772-*)
10773- lt_save_MAGIC_CMD="$MAGIC_CMD"
10774- lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
10775-dnl $ac_dummy forces splitting on constant user-supplied paths.
10776-dnl POSIX.2 word splitting is done only on the output of word expansions,
10777-dnl not every word. This closes a longstanding sh security hole.
10778- ac_dummy="m4_if([$2], , $PATH, [$2])"
10779- for ac_dir in $ac_dummy; do
10780- IFS="$lt_save_ifs"
10781- test -z "$ac_dir" && ac_dir=.
10782- if test -f $ac_dir/$1; then
10783- lt_cv_path_MAGIC_CMD="$ac_dir/$1"
10784- if test -n "$file_magic_test_file"; then
10785- case $deplibs_check_method in
10786- "file_magic "*)
10787- file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"`
10788- MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
10789- if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null |
10790- $EGREP "$file_magic_regex" > /dev/null; then
10791- :
10792- else
10793- cat <<_LT_EOF 1>&2
10794-
10795-*** Warning: the command libtool uses to detect shared libraries,
10796-*** $file_magic_cmd, produces output that libtool cannot recognize.
10797-*** The result is that libtool may fail to recognize shared libraries
10798-*** as such. This will affect the creation of libtool libraries that
10799-*** depend on shared libraries, but programs linked with such libtool
10800-*** libraries will work regardless of this problem. Nevertheless, you
10801-*** may want to report the problem to your system manager and/or to
10802-*** bug-libtool@gnu.org
10803-
10804-_LT_EOF
10805- fi ;;
10806- esac
10807- fi
10808- break
10809- fi
10810- done
10811- IFS="$lt_save_ifs"
10812- MAGIC_CMD="$lt_save_MAGIC_CMD"
10813- ;;
10814-esac])
10815-MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
10816-if test -n "$MAGIC_CMD"; then
10817- AC_MSG_RESULT($MAGIC_CMD)
10818-else
10819- AC_MSG_RESULT(no)
10820-fi
10821-_LT_DECL([], [MAGIC_CMD], [0],
10822- [Used to examine libraries when file_magic_cmd begins with "file"])dnl
10823-])# _LT_PATH_TOOL_PREFIX
10824-
10825-# Old name:
10826-AU_ALIAS([AC_PATH_TOOL_PREFIX], [_LT_PATH_TOOL_PREFIX])
10827-dnl aclocal-1.4 backwards compatibility:
10828-dnl AC_DEFUN([AC_PATH_TOOL_PREFIX], [])
10829-
10830-
10831-# _LT_PATH_MAGIC
10832-# --------------
10833-# find a file program which can recognize a shared library
10834-m4_defun([_LT_PATH_MAGIC],
10835-[_LT_PATH_TOOL_PREFIX(${ac_tool_prefix}file, /usr/bin$PATH_SEPARATOR$PATH)
10836-if test -z "$lt_cv_path_MAGIC_CMD"; then
10837- if test -n "$ac_tool_prefix"; then
10838- _LT_PATH_TOOL_PREFIX(file, /usr/bin$PATH_SEPARATOR$PATH)
10839- else
10840- MAGIC_CMD=:
10841- fi
10842-fi
10843-])# _LT_PATH_MAGIC
10844-
10845-
10846-# LT_PATH_LD
10847-# ----------
10848-# find the pathname to the GNU or non-GNU linker
10849-AC_DEFUN([LT_PATH_LD],
10850-[AC_REQUIRE([AC_PROG_CC])dnl
10851-AC_REQUIRE([AC_CANONICAL_HOST])dnl
10852-AC_REQUIRE([AC_CANONICAL_BUILD])dnl
10853-m4_require([_LT_DECL_SED])dnl
10854-m4_require([_LT_DECL_EGREP])dnl
10855-
10856-AC_ARG_WITH([gnu-ld],
10857- [AS_HELP_STRING([--with-gnu-ld],
10858- [assume the C compiler uses GNU ld @<:@default=no@:>@])],
10859- [test "$withval" = no || with_gnu_ld=yes],
10860- [with_gnu_ld=no])dnl
10861-
10862-ac_prog=ld
10863-if test "$GCC" = yes; then
10864- # Check if gcc -print-prog-name=ld gives a path.
10865- AC_MSG_CHECKING([for ld used by $CC])
10866- case $host in
10867- *-*-mingw*)
10868- # gcc leaves a trailing carriage return which upsets mingw
10869- ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;;
10870- *)
10871- ac_prog=`($CC -print-prog-name=ld) 2>&5` ;;
10872- esac
10873- case $ac_prog in
10874- # Accept absolute paths.
10875- [[\\/]]* | ?:[[\\/]]*)
10876- re_direlt='/[[^/]][[^/]]*/\.\./'
10877- # Canonicalize the pathname of ld
10878- ac_prog=`$ECHO "$ac_prog"| $SED 's%\\\\%/%g'`
10879- while $ECHO "$ac_prog" | $GREP "$re_direlt" > /dev/null 2>&1; do
10880- ac_prog=`$ECHO $ac_prog| $SED "s%$re_direlt%/%"`
10881- done
10882- test -z "$LD" && LD="$ac_prog"
10883- ;;
10884- "")
10885- # If it fails, then pretend we aren't using GCC.
10886- ac_prog=ld
10887- ;;
10888- *)
10889- # If it is relative, then search for the first ld in PATH.
10890- with_gnu_ld=unknown
10891- ;;
10892- esac
10893-elif test "$with_gnu_ld" = yes; then
10894- AC_MSG_CHECKING([for GNU ld])
10895-else
10896- AC_MSG_CHECKING([for non-GNU ld])
10897-fi
10898-AC_CACHE_VAL(lt_cv_path_LD,
10899-[if test -z "$LD"; then
10900- lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
10901- for ac_dir in $PATH; do
10902- IFS="$lt_save_ifs"
10903- test -z "$ac_dir" && ac_dir=.
10904- if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then
10905- lt_cv_path_LD="$ac_dir/$ac_prog"
10906- # Check to see if the program is GNU ld. I'd rather use --version,
10907- # but apparently some variants of GNU ld only accept -v.
10908- # Break only if it was the GNU/non-GNU ld that we prefer.
10909- case `"$lt_cv_path_LD" -v 2>&1 </dev/null` in
10910- *GNU* | *'with BFD'*)
10911- test "$with_gnu_ld" != no && break
10912- ;;
10913- *)
10914- test "$with_gnu_ld" != yes && break
10915- ;;
10916- esac
10917- fi
10918- done
10919- IFS="$lt_save_ifs"
10920-else
10921- lt_cv_path_LD="$LD" # Let the user override the test with a path.
10922-fi])
10923-LD="$lt_cv_path_LD"
10924-if test -n "$LD"; then
10925- AC_MSG_RESULT($LD)
10926-else
10927- AC_MSG_RESULT(no)
10928-fi
10929-test -z "$LD" && AC_MSG_ERROR([no acceptable ld found in \$PATH])
10930-_LT_PATH_LD_GNU
10931-AC_SUBST([LD])
10932-
10933-_LT_TAGDECL([], [LD], [1], [The linker used to build libraries])
10934-])# LT_PATH_LD
10935-
10936-# Old names:
10937-AU_ALIAS([AM_PROG_LD], [LT_PATH_LD])
10938-AU_ALIAS([AC_PROG_LD], [LT_PATH_LD])
10939-dnl aclocal-1.4 backwards compatibility:
10940-dnl AC_DEFUN([AM_PROG_LD], [])
10941-dnl AC_DEFUN([AC_PROG_LD], [])
10942-
10943-
10944-# _LT_PATH_LD_GNU
10945-#- --------------
10946-m4_defun([_LT_PATH_LD_GNU],
10947-[AC_CACHE_CHECK([if the linker ($LD) is GNU ld], lt_cv_prog_gnu_ld,
10948-[# I'd rather use --version here, but apparently some GNU lds only accept -v.
10949-case `$LD -v 2>&1 </dev/null` in
10950-*GNU* | *'with BFD'*)
10951- lt_cv_prog_gnu_ld=yes
10952- ;;
10953-*)
10954- lt_cv_prog_gnu_ld=no
10955- ;;
10956-esac])
10957-with_gnu_ld=$lt_cv_prog_gnu_ld
10958-])# _LT_PATH_LD_GNU
10959-
10960-
10961-# _LT_CMD_RELOAD
10962-# --------------
10963-# find reload flag for linker
10964-# -- PORTME Some linkers may need a different reload flag.
10965-m4_defun([_LT_CMD_RELOAD],
10966-[AC_CACHE_CHECK([for $LD option to reload object files],
10967- lt_cv_ld_reload_flag,
10968- [lt_cv_ld_reload_flag='-r'])
10969-reload_flag=$lt_cv_ld_reload_flag
10970-case $reload_flag in
10971-"" | " "*) ;;
10972-*) reload_flag=" $reload_flag" ;;
10973-esac
10974-reload_cmds='$LD$reload_flag -o $output$reload_objs'
10975-case $host_os in
10976- darwin*)
10977- if test "$GCC" = yes; then
10978- reload_cmds='$LTCC $LTCFLAGS -nostdlib ${wl}-r -o $output$reload_objs'
10979- else
10980- reload_cmds='$LD$reload_flag -o $output$reload_objs'
10981- fi
10982- ;;
10983-esac
10984-_LT_DECL([], [reload_flag], [1], [How to create reloadable object files])dnl
10985-_LT_DECL([], [reload_cmds], [2])dnl
10986-])# _LT_CMD_RELOAD
10987-
10988-
10989-# _LT_CHECK_MAGIC_METHOD
10990-# ----------------------
10991-# how to check for library dependencies
10992-# -- PORTME fill in with the dynamic library characteristics
10993-m4_defun([_LT_CHECK_MAGIC_METHOD],
10994-[m4_require([_LT_DECL_EGREP])
10995-m4_require([_LT_DECL_OBJDUMP])
10996-AC_CACHE_CHECK([how to recognize dependent libraries],
10997-lt_cv_deplibs_check_method,
10998-[lt_cv_file_magic_cmd='$MAGIC_CMD'
10999-lt_cv_file_magic_test_file=
11000-lt_cv_deplibs_check_method='unknown'
11001-# Need to set the preceding variable on all platforms that support
11002-# interlibrary dependencies.
11003-# 'none' -- dependencies not supported.
11004-# `unknown' -- same as none, but documents that we really don't know.
11005-# 'pass_all' -- all dependencies passed with no checks.
11006-# 'test_compile' -- check by making test program.
11007-# 'file_magic [[regex]]' -- check by looking for files in library path
11008-# which responds to the $file_magic_cmd with a given extended regex.
11009-# If you have `file' or equivalent on your system and you're not sure
11010-# whether `pass_all' will *always* work, you probably want this one.
11011-
11012-case $host_os in
11013-aix[[4-9]]*)
11014- lt_cv_deplibs_check_method=pass_all
11015- ;;
11016-
11017-beos*)
11018- lt_cv_deplibs_check_method=pass_all
11019- ;;
11020-
11021-bsdi[[45]]*)
11022- lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (shared object|dynamic lib)'
11023- lt_cv_file_magic_cmd='/usr/bin/file -L'
11024- lt_cv_file_magic_test_file=/shlib/libc.so
11025- ;;
11026-
11027-cygwin*)
11028- # func_win32_libid is a shell function defined in ltmain.sh
11029- lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL'
11030- lt_cv_file_magic_cmd='func_win32_libid'
11031- ;;
11032-
11033-mingw* | pw32*)
11034- # Base MSYS/MinGW do not provide the 'file' command needed by
11035- # func_win32_libid shell function, so use a weaker test based on 'objdump',
11036- # unless we find 'file', for example because we are cross-compiling.
11037- if ( file / ) >/dev/null 2>&1; then
11038- lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL'
11039- lt_cv_file_magic_cmd='func_win32_libid'
11040- else
11041- lt_cv_deplibs_check_method='file_magic file format pei*-i386(.*architecture: i386)?'
11042- lt_cv_file_magic_cmd='$OBJDUMP -f'
11043- fi
11044- ;;
11045-
11046-cegcc)
11047- # use the weaker test based on 'objdump'. See mingw*.
11048- lt_cv_deplibs_check_method='file_magic file format pe-arm-.*little(.*architecture: arm)?'
11049- lt_cv_file_magic_cmd='$OBJDUMP -f'
11050- ;;
11051-
11052-darwin* | rhapsody*)
11053- lt_cv_deplibs_check_method=pass_all
11054- ;;
11055-
11056-freebsd* | dragonfly*)
11057- if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then
11058- case $host_cpu in
11059- i*86 )
11060- # Not sure whether the presence of OpenBSD here was a mistake.
11061- # Let's accept both of them until this is cleared up.
11062- lt_cv_deplibs_check_method='file_magic (FreeBSD|OpenBSD|DragonFly)/i[[3-9]]86 (compact )?demand paged shared library'
11063- lt_cv_file_magic_cmd=/usr/bin/file
11064- lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*`
11065- ;;
11066- esac
11067- else
11068- lt_cv_deplibs_check_method=pass_all
11069- fi
11070- ;;
11071-
11072-gnu*)
11073- lt_cv_deplibs_check_method=pass_all
11074- ;;
11075-
11076-hpux10.20* | hpux11*)
11077- lt_cv_file_magic_cmd=/usr/bin/file
11078- case $host_cpu in
11079- ia64*)
11080- lt_cv_deplibs_check_method='file_magic (s[[0-9]][[0-9]][[0-9]]|ELF-[[0-9]][[0-9]]) shared object file - IA64'
11081- lt_cv_file_magic_test_file=/usr/lib/hpux32/libc.so
11082- ;;
11083- hppa*64*)
11084- [lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF-[0-9][0-9]) shared object file - PA-RISC [0-9].[0-9]']
11085- lt_cv_file_magic_test_file=/usr/lib/pa20_64/libc.sl
11086- ;;
11087- *)
11088- lt_cv_deplibs_check_method='file_magic (s[[0-9]][[0-9]][[0-9]]|PA-RISC[[0-9]].[[0-9]]) shared library'
11089- lt_cv_file_magic_test_file=/usr/lib/libc.sl
11090- ;;
11091- esac
11092- ;;
11093-
11094-interix[[3-9]]*)
11095- # PIC code is broken on Interix 3.x, that's why |\.a not |_pic\.a here
11096- lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so|\.a)$'
11097- ;;
11098-
11099-irix5* | irix6* | nonstopux*)
11100- case $LD in
11101- *-32|*"-32 ") libmagic=32-bit;;
11102- *-n32|*"-n32 ") libmagic=N32;;
11103- *-64|*"-64 ") libmagic=64-bit;;
11104- *) libmagic=never-match;;
11105- esac
11106- lt_cv_deplibs_check_method=pass_all
11107- ;;
11108-
11109-# This must be Linux ELF.
11110-linux* | k*bsd*-gnu)
11111- lt_cv_deplibs_check_method=pass_all
11112- ;;
11113-
11114-netbsd*)
11115- if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then
11116- lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|_pic\.a)$'
11117- else
11118- lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so|_pic\.a)$'
11119- fi
11120- ;;
11121-
11122-newos6*)
11123- lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (executable|dynamic lib)'
11124- lt_cv_file_magic_cmd=/usr/bin/file
11125- lt_cv_file_magic_test_file=/usr/lib/libnls.so
11126- ;;
11127-
11128-*nto* | *qnx*)
11129- lt_cv_deplibs_check_method=pass_all
11130- ;;
11131-
11132-openbsd*)
11133- if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
11134- lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|\.so|_pic\.a)$'
11135- else
11136- lt_cv_deplibs_check_method='match_pattern /lib[[^/]]+(\.so\.[[0-9]]+\.[[0-9]]+|_pic\.a)$'
11137- fi
11138- ;;
11139-
11140-osf3* | osf4* | osf5*)
11141- lt_cv_deplibs_check_method=pass_all
11142- ;;
11143-
11144-rdos*)
11145- lt_cv_deplibs_check_method=pass_all
11146- ;;
11147-
11148-solaris*)
11149- lt_cv_deplibs_check_method=pass_all
11150- ;;
11151-
11152-sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
11153- lt_cv_deplibs_check_method=pass_all
11154- ;;
11155-
11156-sysv4 | sysv4.3*)
11157- case $host_vendor in
11158- motorola)
11159- lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (shared object|dynamic lib) M[[0-9]][[0-9]]* Version [[0-9]]'
11160- lt_cv_file_magic_test_file=`echo /usr/lib/libc.so*`
11161- ;;
11162- ncr)
11163- lt_cv_deplibs_check_method=pass_all
11164- ;;
11165- sequent)
11166- lt_cv_file_magic_cmd='/bin/file'
11167- lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB (shared object|dynamic lib )'
11168- ;;
11169- sni)
11170- lt_cv_file_magic_cmd='/bin/file'
11171- lt_cv_deplibs_check_method="file_magic ELF [[0-9]][[0-9]]*-bit [[LM]]SB dynamic lib"
11172- lt_cv_file_magic_test_file=/lib/libc.so
11173- ;;
11174- siemens)
11175- lt_cv_deplibs_check_method=pass_all
11176- ;;
11177- pc)
11178- lt_cv_deplibs_check_method=pass_all
11179- ;;
11180- esac
11181- ;;
11182-
11183-tpf*)
11184- lt_cv_deplibs_check_method=pass_all
11185- ;;
11186-esac
11187-])
11188-file_magic_cmd=$lt_cv_file_magic_cmd
11189-deplibs_check_method=$lt_cv_deplibs_check_method
11190-test -z "$deplibs_check_method" && deplibs_check_method=unknown
11191-
11192-_LT_DECL([], [deplibs_check_method], [1],
11193- [Method to check whether dependent libraries are shared objects])
11194-_LT_DECL([], [file_magic_cmd], [1],
11195- [Command to use when deplibs_check_method == "file_magic"])
11196-])# _LT_CHECK_MAGIC_METHOD
11197-
11198-
11199-# LT_PATH_NM
11200-# ----------
11201-# find the pathname to a BSD- or MS-compatible name lister
11202-AC_DEFUN([LT_PATH_NM],
11203-[AC_REQUIRE([AC_PROG_CC])dnl
11204-AC_CACHE_CHECK([for BSD- or MS-compatible name lister (nm)], lt_cv_path_NM,
11205-[if test -n "$NM"; then
11206- # Let the user override the test.
11207- lt_cv_path_NM="$NM"
11208-else
11209- lt_nm_to_check="${ac_tool_prefix}nm"
11210- if test -n "$ac_tool_prefix" && test "$build" = "$host"; then
11211- lt_nm_to_check="$lt_nm_to_check nm"
11212- fi
11213- for lt_tmp_nm in $lt_nm_to_check; do
11214- lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
11215- for ac_dir in $PATH /usr/ccs/bin/elf /usr/ccs/bin /usr/ucb /bin; do
11216- IFS="$lt_save_ifs"
11217- test -z "$ac_dir" && ac_dir=.
11218- tmp_nm="$ac_dir/$lt_tmp_nm"
11219- if test -f "$tmp_nm" || test -f "$tmp_nm$ac_exeext" ; then
11220- # Check to see if the nm accepts a BSD-compat flag.
11221- # Adding the `sed 1q' prevents false positives on HP-UX, which says:
11222- # nm: unknown option "B" ignored
11223- # Tru64's nm complains that /dev/null is an invalid object file
11224- case `"$tmp_nm" -B /dev/null 2>&1 | sed '1q'` in
11225- */dev/null* | *'Invalid file or object type'*)
11226- lt_cv_path_NM="$tmp_nm -B"
11227- break
11228- ;;
11229- *)
11230- case `"$tmp_nm" -p /dev/null 2>&1 | sed '1q'` in
11231- */dev/null*)
11232- lt_cv_path_NM="$tmp_nm -p"
11233- break
11234- ;;
11235- *)
11236- lt_cv_path_NM=${lt_cv_path_NM="$tmp_nm"} # keep the first match, but
11237- continue # so that we can try to find one that supports BSD flags
11238- ;;
11239- esac
11240- ;;
11241- esac
11242- fi
11243- done
11244- IFS="$lt_save_ifs"
11245- done
11246- : ${lt_cv_path_NM=no}
11247-fi])
11248-if test "$lt_cv_path_NM" != "no"; then
11249- NM="$lt_cv_path_NM"
11250-else
11251- # Didn't find any BSD compatible name lister, look for dumpbin.
11252- AC_CHECK_TOOLS(DUMPBIN, ["dumpbin -symbols" "link -dump -symbols"], :)
11253- AC_SUBST([DUMPBIN])
11254- if test "$DUMPBIN" != ":"; then
11255- NM="$DUMPBIN"
11256- fi
11257-fi
11258-test -z "$NM" && NM=nm
11259-AC_SUBST([NM])
11260-_LT_DECL([], [NM], [1], [A BSD- or MS-compatible name lister])dnl
11261-
11262-AC_CACHE_CHECK([the name lister ($NM) interface], [lt_cv_nm_interface],
11263- [lt_cv_nm_interface="BSD nm"
11264- echo "int some_variable = 0;" > conftest.$ac_ext
11265- (eval echo "\"\$as_me:__oline__: $ac_compile\"" >&AS_MESSAGE_LOG_FD)
11266- (eval "$ac_compile" 2>conftest.err)
11267- cat conftest.err >&AS_MESSAGE_LOG_FD
11268- (eval echo "\"\$as_me:__oline__: $NM \\\"conftest.$ac_objext\\\"\"" >&AS_MESSAGE_LOG_FD)
11269- (eval "$NM \"conftest.$ac_objext\"" 2>conftest.err > conftest.out)
11270- cat conftest.err >&AS_MESSAGE_LOG_FD
11271- (eval echo "\"\$as_me:__oline__: output\"" >&AS_MESSAGE_LOG_FD)
11272- cat conftest.out >&AS_MESSAGE_LOG_FD
11273- if $GREP 'External.*some_variable' conftest.out > /dev/null; then
11274- lt_cv_nm_interface="MS dumpbin"
11275- fi
11276- rm -f conftest*])
11277-])# LT_PATH_NM
11278-
11279-# Old names:
11280-AU_ALIAS([AM_PROG_NM], [LT_PATH_NM])
11281-AU_ALIAS([AC_PROG_NM], [LT_PATH_NM])
11282-dnl aclocal-1.4 backwards compatibility:
11283-dnl AC_DEFUN([AM_PROG_NM], [])
11284-dnl AC_DEFUN([AC_PROG_NM], [])
11285-
11286-
11287-# LT_LIB_M
11288-# --------
11289-# check for math library
11290-AC_DEFUN([LT_LIB_M],
11291-[AC_REQUIRE([AC_CANONICAL_HOST])dnl
11292-LIBM=
11293-case $host in
11294-*-*-beos* | *-*-cygwin* | *-*-pw32* | *-*-darwin*)
11295- # These system don't have libm, or don't need it
11296- ;;
11297-*-ncr-sysv4.3*)
11298- AC_CHECK_LIB(mw, _mwvalidcheckl, LIBM="-lmw")
11299- AC_CHECK_LIB(m, cos, LIBM="$LIBM -lm")
11300- ;;
11301-*)
11302- AC_CHECK_LIB(m, cos, LIBM="-lm")
11303- ;;
11304-esac
11305-AC_SUBST([LIBM])
11306-])# LT_LIB_M
11307-
11308-# Old name:
11309-AU_ALIAS([AC_CHECK_LIBM], [LT_LIB_M])
11310-dnl aclocal-1.4 backwards compatibility:
11311-dnl AC_DEFUN([AC_CHECK_LIBM], [])
11312-
11313-
11314-# _LT_COMPILER_NO_RTTI([TAGNAME])
11315-# -------------------------------
11316-m4_defun([_LT_COMPILER_NO_RTTI],
11317-[m4_require([_LT_TAG_COMPILER])dnl
11318-
11319-_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=
11320-
11321-if test "$GCC" = yes; then
11322- _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -fno-builtin'
11323-
11324- _LT_COMPILER_OPTION([if $compiler supports -fno-rtti -fno-exceptions],
11325- lt_cv_prog_compiler_rtti_exceptions,
11326- [-fno-rtti -fno-exceptions], [],
11327- [_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)="$_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1) -fno-rtti -fno-exceptions"])
11328-fi
11329-_LT_TAGDECL([no_builtin_flag], [lt_prog_compiler_no_builtin_flag], [1],
11330- [Compiler flag to turn off builtin functions])
11331-])# _LT_COMPILER_NO_RTTI
11332-
11333-
11334-# _LT_CMD_GLOBAL_SYMBOLS
11335-# ----------------------
11336-m4_defun([_LT_CMD_GLOBAL_SYMBOLS],
11337-[AC_REQUIRE([AC_CANONICAL_HOST])dnl
11338-AC_REQUIRE([AC_PROG_CC])dnl
11339-AC_REQUIRE([LT_PATH_NM])dnl
11340-AC_REQUIRE([LT_PATH_LD])dnl
11341-m4_require([_LT_DECL_SED])dnl
11342-m4_require([_LT_DECL_EGREP])dnl
11343-m4_require([_LT_TAG_COMPILER])dnl
11344-
11345-# Check for command to grab the raw symbol name followed by C symbol from nm.
11346-AC_MSG_CHECKING([command to parse $NM output from $compiler object])
11347-AC_CACHE_VAL([lt_cv_sys_global_symbol_pipe],
11348-[
11349-# These are sane defaults that work on at least a few old systems.
11350-# [They come from Ultrix. What could be older than Ultrix?!! ;)]
11351-
11352-# Character class describing NM global symbol codes.
11353-symcode='[[BCDEGRST]]'
11354-
11355-# Regexp to match symbols that can be accessed directly from C.
11356-sympat='\([[_A-Za-z]][[_A-Za-z0-9]]*\)'
11357-
11358-# Define system-specific variables.
11359-case $host_os in
11360-aix*)
11361- symcode='[[BCDT]]'
11362- ;;
11363-cygwin* | mingw* | pw32* | cegcc*)
11364- symcode='[[ABCDGISTW]]'
11365- ;;
11366-hpux*)
11367- if test "$host_cpu" = ia64; then
11368- symcode='[[ABCDEGRST]]'
11369- fi
11370- ;;
11371-irix* | nonstopux*)
11372- symcode='[[BCDEGRST]]'
11373- ;;
11374-osf*)
11375- symcode='[[BCDEGQRST]]'
11376- ;;
11377-solaris*)
11378- symcode='[[BDRT]]'
11379- ;;
11380-sco3.2v5*)
11381- symcode='[[DT]]'
11382- ;;
11383-sysv4.2uw2*)
11384- symcode='[[DT]]'
11385- ;;
11386-sysv5* | sco5v6* | unixware* | OpenUNIX*)
11387- symcode='[[ABDT]]'
11388- ;;
11389-sysv4)
11390- symcode='[[DFNSTU]]'
11391- ;;
11392-esac
11393-
11394-# If we're using GNU nm, then use its standard symbol codes.
11395-case `$NM -V 2>&1` in
11396-*GNU* | *'with BFD'*)
11397- symcode='[[ABCDGIRSTW]]' ;;
11398-esac
11399-
11400-# Transform an extracted symbol line into a proper C declaration.
11401-# Some systems (esp. on ia64) link data and code symbols differently,
11402-# so use this general approach.
11403-lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'"
11404-
11405-# Transform an extracted symbol line into symbol name and symbol address
11406-lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([[^ ]]*\) $/ {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([[^ ]]*\) \([[^ ]]*\)$/ {\"\2\", (void *) \&\2},/p'"
11407-lt_cv_sys_global_symbol_to_c_name_address_lib_prefix="sed -n -e 's/^: \([[^ ]]*\) $/ {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([[^ ]]*\) \(lib[[^ ]]*\)$/ {\"\2\", (void *) \&\2},/p' -e 's/^$symcode* \([[^ ]]*\) \([[^ ]]*\)$/ {\"lib\2\", (void *) \&\2},/p'"
11408-
11409-# Handle CRLF in mingw tool chain
11410-opt_cr=
11411-case $build_os in
11412-mingw*)
11413- opt_cr=`$ECHO 'x\{0,1\}' | tr x '\015'` # option cr in regexp
11414- ;;
11415-esac
11416-
11417-# Try without a prefix underscore, then with it.
11418-for ac_symprfx in "" "_"; do
11419-
11420- # Transform symcode, sympat, and symprfx into a raw symbol and a C symbol.
11421- symxfrm="\\1 $ac_symprfx\\2 \\2"
11422-
11423- # Write the raw and C identifiers.
11424- if test "$lt_cv_nm_interface" = "MS dumpbin"; then
11425- # Fake it for dumpbin and say T for any non-static function
11426- # and D for any global variable.
11427- # Also find C++ and __fastcall symbols from MSVC++,
11428- # which start with @ or ?.
11429- lt_cv_sys_global_symbol_pipe="$AWK ['"\
11430-" {last_section=section; section=\$ 3};"\
11431-" /Section length .*#relocs.*(pick any)/{hide[last_section]=1};"\
11432-" \$ 0!~/External *\|/{next};"\
11433-" / 0+ UNDEF /{next}; / UNDEF \([^|]\)*()/{next};"\
11434-" {if(hide[section]) next};"\
11435-" {f=0}; \$ 0~/\(\).*\|/{f=1}; {printf f ? \"T \" : \"D \"};"\
11436-" {split(\$ 0, a, /\||\r/); split(a[2], s)};"\
11437-" s[1]~/^[@?]/{print s[1], s[1]; next};"\
11438-" s[1]~prfx {split(s[1],t,\"@\"); print t[1], substr(t[1],length(prfx))}"\
11439-" ' prfx=^$ac_symprfx]"
11440- else
11441- lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[[ ]]\($symcode$symcode*\)[[ ]][[ ]]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'"
11442- fi
11443-
11444- # Check to see that the pipe works correctly.
11445- pipe_works=no
11446-
11447- rm -f conftest*
11448- cat > conftest.$ac_ext <<_LT_EOF
11449-#ifdef __cplusplus
11450-extern "C" {
11451-#endif
11452-char nm_test_var;
11453-void nm_test_func(void);
11454-void nm_test_func(void){}
11455-#ifdef __cplusplus
11456-}
11457-#endif
11458-int main(){nm_test_var='a';nm_test_func();return(0);}
11459-_LT_EOF
11460-
11461- if AC_TRY_EVAL(ac_compile); then
11462- # Now try to grab the symbols.
11463- nlist=conftest.nm
11464- if AC_TRY_EVAL(NM conftest.$ac_objext \| $lt_cv_sys_global_symbol_pipe \> $nlist) && test -s "$nlist"; then
11465- # Try sorting and uniquifying the output.
11466- if sort "$nlist" | uniq > "$nlist"T; then
11467- mv -f "$nlist"T "$nlist"
11468- else
11469- rm -f "$nlist"T
11470- fi
11471-
11472- # Make sure that we snagged all the symbols we need.
11473- if $GREP ' nm_test_var$' "$nlist" >/dev/null; then
11474- if $GREP ' nm_test_func$' "$nlist" >/dev/null; then
11475- cat <<_LT_EOF > conftest.$ac_ext
11476-#ifdef __cplusplus
11477-extern "C" {
11478-#endif
11479-
11480-_LT_EOF
11481- # Now generate the symbol file.
11482- eval "$lt_cv_sys_global_symbol_to_cdecl"' < "$nlist" | $GREP -v main >> conftest.$ac_ext'
11483-
11484- cat <<_LT_EOF >> conftest.$ac_ext
11485-
11486-/* The mapping between symbol names and symbols. */
11487-const struct {
11488- const char *name;
11489- void *address;
11490-}
11491-lt__PROGRAM__LTX_preloaded_symbols[[]] =
11492-{
11493- { "@PROGRAM@", (void *) 0 },
11494-_LT_EOF
11495- $SED "s/^$symcode$symcode* \(.*\) \(.*\)$/ {\"\2\", (void *) \&\2},/" < "$nlist" | $GREP -v main >> conftest.$ac_ext
11496- cat <<\_LT_EOF >> conftest.$ac_ext
11497- {0, (void *) 0}
11498-};
11499-
11500-/* This works around a problem in FreeBSD linker */
11501-#ifdef FREEBSD_WORKAROUND
11502-static const void *lt_preloaded_setup() {
11503- return lt__PROGRAM__LTX_preloaded_symbols;
11504-}
11505-#endif
11506-
11507-#ifdef __cplusplus
11508-}
11509-#endif
11510-_LT_EOF
11511- # Now try linking the two files.
11512- mv conftest.$ac_objext conftstm.$ac_objext
11513- lt_save_LIBS="$LIBS"
11514- lt_save_CFLAGS="$CFLAGS"
11515- LIBS="conftstm.$ac_objext"
11516- CFLAGS="$CFLAGS$_LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)"
11517- if AC_TRY_EVAL(ac_link) && test -s conftest${ac_exeext}; then
11518- pipe_works=yes
11519- fi
11520- LIBS="$lt_save_LIBS"
11521- CFLAGS="$lt_save_CFLAGS"
11522- else
11523- echo "cannot find nm_test_func in $nlist" >&AS_MESSAGE_LOG_FD
11524- fi
11525- else
11526- echo "cannot find nm_test_var in $nlist" >&AS_MESSAGE_LOG_FD
11527- fi
11528- else
11529- echo "cannot run $lt_cv_sys_global_symbol_pipe" >&AS_MESSAGE_LOG_FD
11530- fi
11531- else
11532- echo "$progname: failed program was:" >&AS_MESSAGE_LOG_FD
11533- cat conftest.$ac_ext >&5
11534- fi
11535- rm -rf conftest* conftst*
11536-
11537- # Do not use the global_symbol_pipe unless it works.
11538- if test "$pipe_works" = yes; then
11539- break
11540- else
11541- lt_cv_sys_global_symbol_pipe=
11542- fi
11543-done
11544-])
11545-if test -z "$lt_cv_sys_global_symbol_pipe"; then
11546- lt_cv_sys_global_symbol_to_cdecl=
11547-fi
11548-if test -z "$lt_cv_sys_global_symbol_pipe$lt_cv_sys_global_symbol_to_cdecl"; then
11549- AC_MSG_RESULT(failed)
11550-else
11551- AC_MSG_RESULT(ok)
11552-fi
11553-
11554-_LT_DECL([global_symbol_pipe], [lt_cv_sys_global_symbol_pipe], [1],
11555- [Take the output of nm and produce a listing of raw symbols and C names])
11556-_LT_DECL([global_symbol_to_cdecl], [lt_cv_sys_global_symbol_to_cdecl], [1],
11557- [Transform the output of nm in a proper C declaration])
11558-_LT_DECL([global_symbol_to_c_name_address],
11559- [lt_cv_sys_global_symbol_to_c_name_address], [1],
11560- [Transform the output of nm in a C name address pair])
11561-_LT_DECL([global_symbol_to_c_name_address_lib_prefix],
11562- [lt_cv_sys_global_symbol_to_c_name_address_lib_prefix], [1],
11563- [Transform the output of nm in a C name address pair when lib prefix is needed])
11564-]) # _LT_CMD_GLOBAL_SYMBOLS
11565-
11566-
11567-# _LT_COMPILER_PIC([TAGNAME])
11568-# ---------------------------
11569-m4_defun([_LT_COMPILER_PIC],
11570-[m4_require([_LT_TAG_COMPILER])dnl
11571-_LT_TAGVAR(lt_prog_compiler_wl, $1)=
11572-_LT_TAGVAR(lt_prog_compiler_pic, $1)=
11573-_LT_TAGVAR(lt_prog_compiler_static, $1)=
11574-
11575-AC_MSG_CHECKING([for $compiler option to produce PIC])
11576-m4_if([$1], [CXX], [
11577- # C++ specific cases for pic, static, wl, etc.
11578- if test "$GXX" = yes; then
11579- _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
11580- _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
11581-
11582- case $host_os in
11583- aix*)
11584- # All AIX code is PIC.
11585- if test "$host_cpu" = ia64; then
11586- # AIX 5 now supports IA64 processor
11587- _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
11588- fi
11589- ;;
11590-
11591- amigaos*)
11592- case $host_cpu in
11593- powerpc)
11594- # see comment about AmigaOS4 .so support
11595- _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
11596- ;;
11597- m68k)
11598- # FIXME: we need at least 68020 code to build shared libraries, but
11599- # adding the `-m68020' flag to GCC prevents building anything better,
11600- # like `-m68040'.
11601- _LT_TAGVAR(lt_prog_compiler_pic, $1)='-m68020 -resident32 -malways-restore-a4'
11602- ;;
11603- esac
11604- ;;
11605-
11606- beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*)
11607- # PIC is the default for these OSes.
11608- ;;
11609- mingw* | cygwin* | os2* | pw32* | cegcc*)
11610- # This hack is so that the source file can tell whether it is being
11611- # built for inclusion in a dll (and should export symbols for example).
11612- # Although the cygwin gcc ignores -fPIC, still need this for old-style
11613- # (--disable-auto-import) libraries
11614- m4_if([$1], [GCJ], [],
11615- [_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT'])
11616- ;;
11617- darwin* | rhapsody*)
11618- # PIC is the default on this platform
11619- # Common symbols not allowed in MH_DYLIB files
11620- _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common'
11621- ;;
11622- *djgpp*)
11623- # DJGPP does not support shared libraries at all
11624- _LT_TAGVAR(lt_prog_compiler_pic, $1)=
11625- ;;
11626- interix[[3-9]]*)
11627- # Interix 3.x gcc -fpic/-fPIC options generate broken code.
11628- # Instead, we relocate shared libraries at runtime.
11629- ;;
11630- sysv4*MP*)
11631- if test -d /usr/nec; then
11632- _LT_TAGVAR(lt_prog_compiler_pic, $1)=-Kconform_pic
11633- fi
11634- ;;
11635- hpux*)
11636- # PIC is the default for 64-bit PA HP-UX, but not for 32-bit
11637- # PA HP-UX. On IA64 HP-UX, PIC is the default but the pic flag
11638- # sets the default TLS model and affects inlining.
11639- case $host_cpu in
11640- hppa*64*)
11641- ;;
11642- *)
11643- _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
11644- ;;
11645- esac
11646- ;;
11647- *qnx* | *nto*)
11648- # QNX uses GNU C++, but need to define -shared option too, otherwise
11649- # it will coredump.
11650- _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared'
11651- ;;
11652- *)
11653- _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
11654- ;;
11655- esac
11656- else
11657- case $host_os in
11658- aix[[4-9]]*)
11659- # All AIX code is PIC.
11660- if test "$host_cpu" = ia64; then
11661- # AIX 5 now supports IA64 processor
11662- _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
11663- else
11664- _LT_TAGVAR(lt_prog_compiler_static, $1)='-bnso -bI:/lib/syscalls.exp'
11665- fi
11666- ;;
11667- chorus*)
11668- case $cc_basename in
11669- cxch68*)
11670- # Green Hills C++ Compiler
11671- # _LT_TAGVAR(lt_prog_compiler_static, $1)="--no_auto_instantiation -u __main -u __premain -u _abort -r $COOL_DIR/lib/libOrb.a $MVME_DIR/lib/CC/libC.a $MVME_DIR/lib/classix/libcx.s.a"
11672- ;;
11673- esac
11674- ;;
11675- dgux*)
11676- case $cc_basename in
11677- ec++*)
11678- _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
11679- ;;
11680- ghcx*)
11681- # Green Hills C++ Compiler
11682- _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
11683- ;;
11684- *)
11685- ;;
11686- esac
11687- ;;
11688- freebsd* | dragonfly*)
11689- # FreeBSD uses GNU C++
11690- ;;
11691- hpux9* | hpux10* | hpux11*)
11692- case $cc_basename in
11693- CC*)
11694- _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
11695- _LT_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive'
11696- if test "$host_cpu" != ia64; then
11697- _LT_TAGVAR(lt_prog_compiler_pic, $1)='+Z'
11698- fi
11699- ;;
11700- aCC*)
11701- _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
11702- _LT_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive'
11703- case $host_cpu in
11704- hppa*64*|ia64*)
11705- # +Z the default
11706- ;;
11707- *)
11708- _LT_TAGVAR(lt_prog_compiler_pic, $1)='+Z'
11709- ;;
11710- esac
11711- ;;
11712- *)
11713- ;;
11714- esac
11715- ;;
11716- interix*)
11717- # This is c89, which is MS Visual C++ (no shared libs)
11718- # Anyone wants to do a port?
11719- ;;
11720- irix5* | irix6* | nonstopux*)
11721- case $cc_basename in
11722- CC*)
11723- _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
11724- _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
11725- # CC pic flag -KPIC is the default.
11726- ;;
11727- *)
11728- ;;
11729- esac
11730- ;;
11731- linux* | k*bsd*-gnu)
11732- case $cc_basename in
11733- KCC*)
11734- # KAI C++ Compiler
11735- _LT_TAGVAR(lt_prog_compiler_wl, $1)='--backend -Wl,'
11736- _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
11737- ;;
11738- ecpc* )
11739- # old Intel C++ for x86_64 which still supported -KPIC.
11740- _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
11741- _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
11742- _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
11743- ;;
11744- icpc* )
11745- # Intel C++, used to be incompatible with GCC.
11746- # ICC 10 doesn't accept -KPIC any more.
11747- _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
11748- _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
11749- _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
11750- ;;
11751- pgCC* | pgcpp*)
11752- # Portland Group C++ compiler
11753- _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
11754- _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fpic'
11755- _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
11756- ;;
11757- cxx*)
11758- # Compaq C++
11759- # Make sure the PIC flag is empty. It appears that all Alpha
11760- # Linux and Compaq Tru64 Unix objects are PIC.
11761- _LT_TAGVAR(lt_prog_compiler_pic, $1)=
11762- _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
11763- ;;
11764- xlc* | xlC*)
11765- # IBM XL 8.0 on PPC
11766- _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
11767- _LT_TAGVAR(lt_prog_compiler_pic, $1)='-qpic'
11768- _LT_TAGVAR(lt_prog_compiler_static, $1)='-qstaticlink'
11769- ;;
11770- *)
11771- case `$CC -V 2>&1 | sed 5q` in
11772- *Sun\ C*)
11773- # Sun C++ 5.9
11774- _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
11775- _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
11776- _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld '
11777- ;;
11778- esac
11779- ;;
11780- esac
11781- ;;
11782- lynxos*)
11783- ;;
11784- m88k*)
11785- ;;
11786- mvs*)
11787- case $cc_basename in
11788- cxx*)
11789- _LT_TAGVAR(lt_prog_compiler_pic, $1)='-W c,exportall'
11790- ;;
11791- *)
11792- ;;
11793- esac
11794- ;;
11795- netbsd*)
11796- ;;
11797- *qnx* | *nto*)
11798- # QNX uses GNU C++, but need to define -shared option too, otherwise
11799- # it will coredump.
11800- _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared'
11801- ;;
11802- osf3* | osf4* | osf5*)
11803- case $cc_basename in
11804- KCC*)
11805- _LT_TAGVAR(lt_prog_compiler_wl, $1)='--backend -Wl,'
11806- ;;
11807- RCC*)
11808- # Rational C++ 2.4.1
11809- _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
11810- ;;
11811- cxx*)
11812- # Digital/Compaq C++
11813- _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
11814- # Make sure the PIC flag is empty. It appears that all Alpha
11815- # Linux and Compaq Tru64 Unix objects are PIC.
11816- _LT_TAGVAR(lt_prog_compiler_pic, $1)=
11817- _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
11818- ;;
11819- *)
11820- ;;
11821- esac
11822- ;;
11823- psos*)
11824- ;;
11825- solaris*)
11826- case $cc_basename in
11827- CC*)
11828- # Sun C++ 4.2, 5.x and Centerline C++
11829- _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
11830- _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
11831- _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld '
11832- ;;
11833- gcx*)
11834- # Green Hills C++ Compiler
11835- _LT_TAGVAR(lt_prog_compiler_pic, $1)='-PIC'
11836- ;;
11837- *)
11838- ;;
11839- esac
11840- ;;
11841- sunos4*)
11842- case $cc_basename in
11843- CC*)
11844- # Sun C++ 4.x
11845- _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
11846- _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
11847- ;;
11848- lcc*)
11849- # Lucid
11850- _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
11851- ;;
11852- *)
11853- ;;
11854- esac
11855- ;;
11856- sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*)
11857- case $cc_basename in
11858- CC*)
11859- _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
11860- _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
11861- _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
11862- ;;
11863- esac
11864- ;;
11865- tandem*)
11866- case $cc_basename in
11867- NCC*)
11868- # NonStop-UX NCC 3.20
11869- _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
11870- ;;
11871- *)
11872- ;;
11873- esac
11874- ;;
11875- vxworks*)
11876- ;;
11877- *)
11878- _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no
11879- ;;
11880- esac
11881- fi
11882-],
11883-[
11884- if test "$GCC" = yes; then
11885- _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
11886- _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
11887-
11888- case $host_os in
11889- aix*)
11890- # All AIX code is PIC.
11891- if test "$host_cpu" = ia64; then
11892- # AIX 5 now supports IA64 processor
11893- _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
11894- fi
11895- ;;
11896-
11897- amigaos*)
11898- case $host_cpu in
11899- powerpc)
11900- # see comment about AmigaOS4 .so support
11901- _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
11902- ;;
11903- m68k)
11904- # FIXME: we need at least 68020 code to build shared libraries, but
11905- # adding the `-m68020' flag to GCC prevents building anything better,
11906- # like `-m68040'.
11907- _LT_TAGVAR(lt_prog_compiler_pic, $1)='-m68020 -resident32 -malways-restore-a4'
11908- ;;
11909- esac
11910- ;;
11911-
11912- beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*)
11913- # PIC is the default for these OSes.
11914- ;;
11915-
11916- mingw* | cygwin* | pw32* | os2* | cegcc*)
11917- # This hack is so that the source file can tell whether it is being
11918- # built for inclusion in a dll (and should export symbols for example).
11919- # Although the cygwin gcc ignores -fPIC, still need this for old-style
11920- # (--disable-auto-import) libraries
11921- m4_if([$1], [GCJ], [],
11922- [_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT'])
11923- ;;
11924-
11925- darwin* | rhapsody*)
11926- # PIC is the default on this platform
11927- # Common symbols not allowed in MH_DYLIB files
11928- _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fno-common'
11929- ;;
11930-
11931- hpux*)
11932- # PIC is the default for 64-bit PA HP-UX, but not for 32-bit
11933- # PA HP-UX. On IA64 HP-UX, PIC is the default but the pic flag
11934- # sets the default TLS model and affects inlining.
11935- case $host_cpu in
11936- hppa*64*)
11937- # +Z the default
11938- ;;
11939- *)
11940- _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
11941- ;;
11942- esac
11943- ;;
11944-
11945- interix[[3-9]]*)
11946- # Interix 3.x gcc -fpic/-fPIC options generate broken code.
11947- # Instead, we relocate shared libraries at runtime.
11948- ;;
11949-
11950- msdosdjgpp*)
11951- # Just because we use GCC doesn't mean we suddenly get shared libraries
11952- # on systems that don't support them.
11953- _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no
11954- enable_shared=no
11955- ;;
11956-
11957- *nto* | *qnx*)
11958- # QNX uses GNU C++, but need to define -shared option too, otherwise
11959- # it will coredump.
11960- _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared'
11961- ;;
11962-
11963- sysv4*MP*)
11964- if test -d /usr/nec; then
11965- _LT_TAGVAR(lt_prog_compiler_pic, $1)=-Kconform_pic
11966- fi
11967- ;;
11968-
11969- *)
11970- _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
11971- ;;
11972- esac
11973- else
11974- # PORTME Check for flag to pass linker flags through the system compiler.
11975- case $host_os in
11976- aix*)
11977- _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
11978- if test "$host_cpu" = ia64; then
11979- # AIX 5 now supports IA64 processor
11980- _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
11981- else
11982- _LT_TAGVAR(lt_prog_compiler_static, $1)='-bnso -bI:/lib/syscalls.exp'
11983- fi
11984- ;;
11985-
11986- mingw* | cygwin* | pw32* | os2* | cegcc*)
11987- # This hack is so that the source file can tell whether it is being
11988- # built for inclusion in a dll (and should export symbols for example).
11989- m4_if([$1], [GCJ], [],
11990- [_LT_TAGVAR(lt_prog_compiler_pic, $1)='-DDLL_EXPORT'])
11991- ;;
11992-
11993- hpux9* | hpux10* | hpux11*)
11994- _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
11995- # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but
11996- # not for PA HP-UX.
11997- case $host_cpu in
11998- hppa*64*|ia64*)
11999- # +Z the default
12000- ;;
12001- *)
12002- _LT_TAGVAR(lt_prog_compiler_pic, $1)='+Z'
12003- ;;
12004- esac
12005- # Is there a better lt_prog_compiler_static that works with the bundled CC?
12006- _LT_TAGVAR(lt_prog_compiler_static, $1)='${wl}-a ${wl}archive'
12007- ;;
12008-
12009- irix5* | irix6* | nonstopux*)
12010- _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
12011- # PIC (with -KPIC) is the default.
12012- _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
12013- ;;
12014-
12015- linux* | k*bsd*-gnu)
12016- case $cc_basename in
12017- # old Intel for x86_64 which still supported -KPIC.
12018- ecc*)
12019- _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
12020- _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
12021- _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
12022- ;;
12023- # icc used to be incompatible with GCC.
12024- # ICC 10 doesn't accept -KPIC any more.
12025- icc* | ifort*)
12026- _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
12027- _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC'
12028- _LT_TAGVAR(lt_prog_compiler_static, $1)='-static'
12029- ;;
12030- # Lahey Fortran 8.1.
12031- lf95*)
12032- _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
12033- _LT_TAGVAR(lt_prog_compiler_pic, $1)='--shared'
12034- _LT_TAGVAR(lt_prog_compiler_static, $1)='--static'
12035- ;;
12036- pgcc* | pgf77* | pgf90* | pgf95*)
12037- # Portland Group compilers (*not* the Pentium gcc compiler,
12038- # which looks to be a dead project)
12039- _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
12040- _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fpic'
12041- _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
12042- ;;
12043- ccc*)
12044- _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
12045- # All Alpha code is PIC.
12046- _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
12047- ;;
12048- xl*)
12049- # IBM XL C 8.0/Fortran 10.1 on PPC
12050- _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
12051- _LT_TAGVAR(lt_prog_compiler_pic, $1)='-qpic'
12052- _LT_TAGVAR(lt_prog_compiler_static, $1)='-qstaticlink'
12053- ;;
12054- *)
12055- case `$CC -V 2>&1 | sed 5q` in
12056- *Sun\ C*)
12057- # Sun C 5.9
12058- _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
12059- _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
12060- _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
12061- ;;
12062- *Sun\ F*)
12063- # Sun Fortran 8.3 passes all unrecognized flags to the linker
12064- _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
12065- _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
12066- _LT_TAGVAR(lt_prog_compiler_wl, $1)=''
12067- ;;
12068- esac
12069- ;;
12070- esac
12071- ;;
12072-
12073- newsos6)
12074- _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
12075- _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
12076- ;;
12077-
12078- *nto* | *qnx*)
12079- # QNX uses GNU C++, but need to define -shared option too, otherwise
12080- # it will coredump.
12081- _LT_TAGVAR(lt_prog_compiler_pic, $1)='-fPIC -shared'
12082- ;;
12083-
12084- osf3* | osf4* | osf5*)
12085- _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
12086- # All OSF/1 code is PIC.
12087- _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
12088- ;;
12089-
12090- rdos*)
12091- _LT_TAGVAR(lt_prog_compiler_static, $1)='-non_shared'
12092- ;;
12093-
12094- solaris*)
12095- _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
12096- _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
12097- case $cc_basename in
12098- f77* | f90* | f95*)
12099- _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld ';;
12100- *)
12101- _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,';;
12102- esac
12103- ;;
12104-
12105- sunos4*)
12106- _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Qoption ld '
12107- _LT_TAGVAR(lt_prog_compiler_pic, $1)='-PIC'
12108- _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
12109- ;;
12110-
12111- sysv4 | sysv4.2uw2* | sysv4.3*)
12112- _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
12113- _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
12114- _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
12115- ;;
12116-
12117- sysv4*MP*)
12118- if test -d /usr/nec ;then
12119- _LT_TAGVAR(lt_prog_compiler_pic, $1)='-Kconform_pic'
12120- _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
12121- fi
12122- ;;
12123-
12124- sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*)
12125- _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
12126- _LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
12127- _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
12128- ;;
12129-
12130- unicos*)
12131- _LT_TAGVAR(lt_prog_compiler_wl, $1)='-Wl,'
12132- _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no
12133- ;;
12134-
12135- uts4*)
12136- _LT_TAGVAR(lt_prog_compiler_pic, $1)='-pic'
12137- _LT_TAGVAR(lt_prog_compiler_static, $1)='-Bstatic'
12138- ;;
12139-
12140- *)
12141- _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no
12142- ;;
12143- esac
12144- fi
12145-])
12146-case $host_os in
12147- # For platforms which do not support PIC, -DPIC is meaningless:
12148- *djgpp*)
12149- _LT_TAGVAR(lt_prog_compiler_pic, $1)=
12150- ;;
12151- *)
12152- _LT_TAGVAR(lt_prog_compiler_pic, $1)="$_LT_TAGVAR(lt_prog_compiler_pic, $1)@&t@m4_if([$1],[],[ -DPIC],[m4_if([$1],[CXX],[ -DPIC],[])])"
12153- ;;
12154-esac
12155-AC_MSG_RESULT([$_LT_TAGVAR(lt_prog_compiler_pic, $1)])
12156-_LT_TAGDECL([wl], [lt_prog_compiler_wl], [1],
12157- [How to pass a linker flag through the compiler])
12158-
12159-#
12160-# Check to make sure the PIC flag actually works.
12161-#
12162-if test -n "$_LT_TAGVAR(lt_prog_compiler_pic, $1)"; then
12163- _LT_COMPILER_OPTION([if $compiler PIC flag $_LT_TAGVAR(lt_prog_compiler_pic, $1) works],
12164- [_LT_TAGVAR(lt_cv_prog_compiler_pic_works, $1)],
12165- [$_LT_TAGVAR(lt_prog_compiler_pic, $1)@&t@m4_if([$1],[],[ -DPIC],[m4_if([$1],[CXX],[ -DPIC],[])])], [],
12166- [case $_LT_TAGVAR(lt_prog_compiler_pic, $1) in
12167- "" | " "*) ;;
12168- *) _LT_TAGVAR(lt_prog_compiler_pic, $1)=" $_LT_TAGVAR(lt_prog_compiler_pic, $1)" ;;
12169- esac],
12170- [_LT_TAGVAR(lt_prog_compiler_pic, $1)=
12171- _LT_TAGVAR(lt_prog_compiler_can_build_shared, $1)=no])
12172-fi
12173-_LT_TAGDECL([pic_flag], [lt_prog_compiler_pic], [1],
12174- [Additional compiler flags for building library objects])
12175-
12176-#
12177-# Check to make sure the static flag actually works.
12178-#
12179-wl=$_LT_TAGVAR(lt_prog_compiler_wl, $1) eval lt_tmp_static_flag=\"$_LT_TAGVAR(lt_prog_compiler_static, $1)\"
12180-_LT_LINKER_OPTION([if $compiler static flag $lt_tmp_static_flag works],
12181- _LT_TAGVAR(lt_cv_prog_compiler_static_works, $1),
12182- $lt_tmp_static_flag,
12183- [],
12184- [_LT_TAGVAR(lt_prog_compiler_static, $1)=])
12185-_LT_TAGDECL([link_static_flag], [lt_prog_compiler_static], [1],
12186- [Compiler flag to prevent dynamic linking])
12187-])# _LT_COMPILER_PIC
12188-
12189-
12190-# _LT_LINKER_SHLIBS([TAGNAME])
12191-# ----------------------------
12192-# See if the linker supports building shared libraries.
12193-m4_defun([_LT_LINKER_SHLIBS],
12194-[AC_REQUIRE([LT_PATH_LD])dnl
12195-AC_REQUIRE([LT_PATH_NM])dnl
12196-m4_require([_LT_FILEUTILS_DEFAULTS])dnl
12197-m4_require([_LT_DECL_EGREP])dnl
12198-m4_require([_LT_DECL_SED])dnl
12199-m4_require([_LT_CMD_GLOBAL_SYMBOLS])dnl
12200-m4_require([_LT_TAG_COMPILER])dnl
12201-AC_MSG_CHECKING([whether the $compiler linker ($LD) supports shared libraries])
12202-m4_if([$1], [CXX], [
12203- _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
12204- case $host_os in
12205- aix[[4-9]]*)
12206- # If we're using GNU nm, then we don't want the "-C" option.
12207- # -C means demangle to AIX nm, but means don't demangle with GNU nm
12208- if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then
12209- _LT_TAGVAR(export_symbols_cmds, $1)='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && ([substr](\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols'
12210- else
12211- _LT_TAGVAR(export_symbols_cmds, $1)='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && ([substr](\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols'
12212- fi
12213- ;;
12214- pw32*)
12215- _LT_TAGVAR(export_symbols_cmds, $1)="$ltdll_cmds"
12216- ;;
12217- cygwin* | mingw* | cegcc*)
12218- _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]][[ ]]/s/.*[[ ]]\([[^ ]]*\)/\1 DATA/;/^.*[[ ]]__nm__/s/^.*[[ ]]__nm__\([[^ ]]*\)[[ ]][[^ ]]*/\1 DATA/;/^I[[ ]]/d;/^[[AITW]][[ ]]/s/.* //'\'' | sort | uniq > $export_symbols'
12219- ;;
12220- *)
12221- _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
12222- ;;
12223- esac
12224- _LT_TAGVAR(exclude_expsyms, $1)=['_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*']
12225-], [
12226- runpath_var=
12227- _LT_TAGVAR(allow_undefined_flag, $1)=
12228- _LT_TAGVAR(always_export_symbols, $1)=no
12229- _LT_TAGVAR(archive_cmds, $1)=
12230- _LT_TAGVAR(archive_expsym_cmds, $1)=
12231- _LT_TAGVAR(compiler_needs_object, $1)=no
12232- _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no
12233- _LT_TAGVAR(export_dynamic_flag_spec, $1)=
12234- _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
12235- _LT_TAGVAR(hardcode_automatic, $1)=no
12236- _LT_TAGVAR(hardcode_direct, $1)=no
12237- _LT_TAGVAR(hardcode_direct_absolute, $1)=no
12238- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
12239- _LT_TAGVAR(hardcode_libdir_flag_spec_ld, $1)=
12240- _LT_TAGVAR(hardcode_libdir_separator, $1)=
12241- _LT_TAGVAR(hardcode_minus_L, $1)=no
12242- _LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported
12243- _LT_TAGVAR(inherit_rpath, $1)=no
12244- _LT_TAGVAR(link_all_deplibs, $1)=unknown
12245- _LT_TAGVAR(module_cmds, $1)=
12246- _LT_TAGVAR(module_expsym_cmds, $1)=
12247- _LT_TAGVAR(old_archive_from_new_cmds, $1)=
12248- _LT_TAGVAR(old_archive_from_expsyms_cmds, $1)=
12249- _LT_TAGVAR(thread_safe_flag_spec, $1)=
12250- _LT_TAGVAR(whole_archive_flag_spec, $1)=
12251- # include_expsyms should be a list of space-separated symbols to be *always*
12252- # included in the symbol list
12253- _LT_TAGVAR(include_expsyms, $1)=
12254- # exclude_expsyms can be an extended regexp of symbols to exclude
12255- # it will be wrapped by ` (' and `)$', so one must not match beginning or
12256- # end of line. Example: `a|bc|.*d.*' will exclude the symbols `a' and `bc',
12257- # as well as any symbol that contains `d'.
12258- _LT_TAGVAR(exclude_expsyms, $1)=['_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*']
12259- # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out
12260- # platforms (ab)use it in PIC code, but their linkers get confused if
12261- # the symbol is explicitly referenced. Since portable code cannot
12262- # rely on this symbol name, it's probably fine to never include it in
12263- # preloaded symbol tables.
12264- # Exclude shared library initialization/finalization symbols.
12265-dnl Note also adjust exclude_expsyms for C++ above.
12266- extract_expsyms_cmds=
12267-
12268- case $host_os in
12269- cygwin* | mingw* | pw32* | cegcc*)
12270- # FIXME: the MSVC++ port hasn't been tested in a loooong time
12271- # When not using gcc, we currently assume that we are using
12272- # Microsoft Visual C++.
12273- if test "$GCC" != yes; then
12274- with_gnu_ld=no
12275- fi
12276- ;;
12277- interix*)
12278- # we just hope/assume this is gcc and not c89 (= MSVC++)
12279- with_gnu_ld=yes
12280- ;;
12281- openbsd*)
12282- with_gnu_ld=no
12283- ;;
12284- esac
12285-
12286- _LT_TAGVAR(ld_shlibs, $1)=yes
12287- if test "$with_gnu_ld" = yes; then
12288- # If archive_cmds runs LD, not CC, wlarc should be empty
12289- wlarc='${wl}'
12290-
12291- # Set some defaults for GNU ld with shared library support. These
12292- # are reset later if shared libraries are not supported. Putting them
12293- # here allows them to be overridden if necessary.
12294- runpath_var=LD_RUN_PATH
12295- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
12296- _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
12297- # ancient GNU ld didn't support --whole-archive et. al.
12298- if $LD --help 2>&1 | $GREP 'no-whole-archive' > /dev/null; then
12299- _LT_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
12300- else
12301- _LT_TAGVAR(whole_archive_flag_spec, $1)=
12302- fi
12303- supports_anon_versioning=no
12304- case `$LD -v 2>&1` in
12305- *\ [[01]].* | *\ 2.[[0-9]].* | *\ 2.10.*) ;; # catch versions < 2.11
12306- *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ...
12307- *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ...
12308- *\ 2.11.*) ;; # other 2.11 versions
12309- *) supports_anon_versioning=yes ;;
12310- esac
12311-
12312- # See if GNU ld supports shared libraries.
12313- case $host_os in
12314- aix[[3-9]]*)
12315- # On AIX/PPC, the GNU linker is very broken
12316- if test "$host_cpu" != ia64; then
12317- _LT_TAGVAR(ld_shlibs, $1)=no
12318- cat <<_LT_EOF 1>&2
12319-
12320-*** Warning: the GNU linker, at least up to release 2.9.1, is reported
12321-*** to be unable to reliably create shared libraries on AIX.
12322-*** Therefore, libtool is disabling shared libraries support. If you
12323-*** really care for shared libraries, you may want to modify your PATH
12324-*** so that a non-GNU linker is found, and then restart.
12325-
12326-_LT_EOF
12327- fi
12328- ;;
12329-
12330- amigaos*)
12331- case $host_cpu in
12332- powerpc)
12333- # see comment about AmigaOS4 .so support
12334- _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
12335- _LT_TAGVAR(archive_expsym_cmds, $1)=''
12336- ;;
12337- m68k)
12338- _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/a2ixlibrary.data~$ECHO "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$ECHO "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$ECHO "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$ECHO "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)'
12339- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
12340- _LT_TAGVAR(hardcode_minus_L, $1)=yes
12341- ;;
12342- esac
12343- ;;
12344-
12345- beos*)
12346- if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
12347- _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
12348- # Joseph Beckenbach <jrb3@best.com> says some releases of gcc
12349- # support --undefined. This deserves some investigation. FIXME
12350- _LT_TAGVAR(archive_cmds, $1)='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
12351- else
12352- _LT_TAGVAR(ld_shlibs, $1)=no
12353- fi
12354- ;;
12355-
12356- cygwin* | mingw* | pw32* | cegcc*)
12357- # _LT_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless,
12358- # as there is no search path for DLLs.
12359- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
12360- _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
12361- _LT_TAGVAR(always_export_symbols, $1)=no
12362- _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
12363- _LT_TAGVAR(export_symbols_cmds, $1)='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[[BCDGRS]][[ ]]/s/.*[[ ]]\([[^ ]]*\)/\1 DATA/'\'' | $SED -e '\''/^[[AITW]][[ ]]/s/.*[[ ]]//'\'' | sort | uniq > $export_symbols'
12364-
12365- if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then
12366- _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
12367- # If the export-symbols file already is a .def file (1st line
12368- # is EXPORTS), use it as is; otherwise, prepend...
12369- _LT_TAGVAR(archive_expsym_cmds, $1)='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then
12370- cp $export_symbols $output_objdir/$soname.def;
12371- else
12372- echo EXPORTS > $output_objdir/$soname.def;
12373- cat $export_symbols >> $output_objdir/$soname.def;
12374- fi~
12375- $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
12376- else
12377- _LT_TAGVAR(ld_shlibs, $1)=no
12378- fi
12379- ;;
12380-
12381- interix[[3-9]]*)
12382- _LT_TAGVAR(hardcode_direct, $1)=no
12383- _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
12384- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
12385- _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
12386- # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc.
12387- # Instead, shared libraries are loaded at an image base (0x10000000 by
12388- # default) and relocated if they conflict, which is a slow very memory
12389- # consuming and fragmenting process. To avoid this, we pick a random,
12390- # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link
12391- # time. Moving up from 0x10000000 also allows more sbrk(2) space.
12392- _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
12393- _LT_TAGVAR(archive_expsym_cmds, $1)='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
12394- ;;
12395-
12396- gnu* | linux* | tpf* | k*bsd*-gnu)
12397- tmp_diet=no
12398- if test "$host_os" = linux-dietlibc; then
12399- case $cc_basename in
12400- diet\ *) tmp_diet=yes;; # linux-dietlibc with static linking (!diet-dyn)
12401- esac
12402- fi
12403- if $LD --help 2>&1 | $EGREP ': supported targets:.* elf' > /dev/null \
12404- && test "$tmp_diet" = no
12405- then
12406- tmp_addflag=
12407- tmp_sharedflag='-shared'
12408- case $cc_basename,$host_cpu in
12409- pgcc*) # Portland Group C compiler
12410- _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $ECHO \"$new_convenience\"` ${wl}--no-whole-archive'
12411- tmp_addflag=' $pic_flag'
12412- ;;
12413- pgf77* | pgf90* | pgf95*) # Portland Group f77 and f90 compilers
12414- _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $ECHO \"$new_convenience\"` ${wl}--no-whole-archive'
12415- tmp_addflag=' $pic_flag -Mnomain' ;;
12416- ecc*,ia64* | icc*,ia64*) # Intel C compiler on ia64
12417- tmp_addflag=' -i_dynamic' ;;
12418- efc*,ia64* | ifort*,ia64*) # Intel Fortran compiler on ia64
12419- tmp_addflag=' -i_dynamic -nofor_main' ;;
12420- ifc* | ifort*) # Intel Fortran compiler
12421- tmp_addflag=' -nofor_main' ;;
12422- lf95*) # Lahey Fortran 8.1
12423- _LT_TAGVAR(whole_archive_flag_spec, $1)=
12424- tmp_sharedflag='--shared' ;;
12425- xl[[cC]]*) # IBM XL C 8.0 on PPC (deal with xlf below)
12426- tmp_sharedflag='-qmkshrobj'
12427- tmp_addflag= ;;
12428- esac
12429- case `$CC -V 2>&1 | sed 5q` in
12430- *Sun\ C*) # Sun C 5.9
12431- _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; $ECHO \"$new_convenience\"` ${wl}--no-whole-archive'
12432- _LT_TAGVAR(compiler_needs_object, $1)=yes
12433- tmp_sharedflag='-G' ;;
12434- *Sun\ F*) # Sun Fortran 8.3
12435- tmp_sharedflag='-G' ;;
12436- esac
12437- _LT_TAGVAR(archive_cmds, $1)='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
12438-
12439- if test "x$supports_anon_versioning" = xyes; then
12440- _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~
12441- cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
12442- echo "local: *; };" >> $output_objdir/$libname.ver~
12443- $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib'
12444- fi
12445-
12446- case $cc_basename in
12447- xlf*)
12448- # IBM XL Fortran 10.1 on PPC cannot create shared libs itself
12449- _LT_TAGVAR(whole_archive_flag_spec, $1)='--whole-archive$convenience --no-whole-archive'
12450- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
12451- _LT_TAGVAR(hardcode_libdir_flag_spec_ld, $1)='-rpath $libdir'
12452- _LT_TAGVAR(archive_cmds, $1)='$LD -shared $libobjs $deplibs $compiler_flags -soname $soname -o $lib'
12453- if test "x$supports_anon_versioning" = xyes; then
12454- _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~
12455- cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
12456- echo "local: *; };" >> $output_objdir/$libname.ver~
12457- $LD -shared $libobjs $deplibs $compiler_flags -soname $soname -version-script $output_objdir/$libname.ver -o $lib'
12458- fi
12459- ;;
12460- esac
12461- else
12462- _LT_TAGVAR(ld_shlibs, $1)=no
12463- fi
12464- ;;
12465-
12466- netbsd*)
12467- if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
12468- _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib'
12469- wlarc=
12470- else
12471- _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
12472- _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
12473- fi
12474- ;;
12475-
12476- solaris*)
12477- if $LD -v 2>&1 | $GREP 'BFD 2\.8' > /dev/null; then
12478- _LT_TAGVAR(ld_shlibs, $1)=no
12479- cat <<_LT_EOF 1>&2
12480-
12481-*** Warning: The releases 2.8.* of the GNU linker cannot reliably
12482-*** create shared libraries on Solaris systems. Therefore, libtool
12483-*** is disabling shared libraries support. We urge you to upgrade GNU
12484-*** binutils to release 2.9.1 or newer. Another option is to modify
12485-*** your PATH or compiler configuration so that the native linker is
12486-*** used, and then restart.
12487-
12488-_LT_EOF
12489- elif $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
12490- _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
12491- _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
12492- else
12493- _LT_TAGVAR(ld_shlibs, $1)=no
12494- fi
12495- ;;
12496-
12497- sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*)
12498- case `$LD -v 2>&1` in
12499- *\ [[01]].* | *\ 2.[[0-9]].* | *\ 2.1[[0-5]].*)
12500- _LT_TAGVAR(ld_shlibs, $1)=no
12501- cat <<_LT_EOF 1>&2
12502-
12503-*** Warning: Releases of the GNU linker prior to 2.16.91.0.3 can not
12504-*** reliably create shared libraries on SCO systems. Therefore, libtool
12505-*** is disabling shared libraries support. We urge you to upgrade GNU
12506-*** binutils to release 2.16.91.0.3 or newer. Another option is to modify
12507-*** your PATH or compiler configuration so that the native linker is
12508-*** used, and then restart.
12509-
12510-_LT_EOF
12511- ;;
12512- *)
12513- # For security reasons, it is highly recommended that you always
12514- # use absolute paths for naming shared libraries, and exclude the
12515- # DT_RUNPATH tag from executables and libraries. But doing so
12516- # requires that you compile everything twice, which is a pain.
12517- if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
12518- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
12519- _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
12520- _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
12521- else
12522- _LT_TAGVAR(ld_shlibs, $1)=no
12523- fi
12524- ;;
12525- esac
12526- ;;
12527-
12528- sunos4*)
12529- _LT_TAGVAR(archive_cmds, $1)='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags'
12530- wlarc=
12531- _LT_TAGVAR(hardcode_direct, $1)=yes
12532- _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
12533- ;;
12534-
12535- *)
12536- if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
12537- _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
12538- _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
12539- else
12540- _LT_TAGVAR(ld_shlibs, $1)=no
12541- fi
12542- ;;
12543- esac
12544-
12545- if test "$_LT_TAGVAR(ld_shlibs, $1)" = no; then
12546- runpath_var=
12547- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
12548- _LT_TAGVAR(export_dynamic_flag_spec, $1)=
12549- _LT_TAGVAR(whole_archive_flag_spec, $1)=
12550- fi
12551- else
12552- # PORTME fill in a description of your system's linker (not GNU ld)
12553- case $host_os in
12554- aix3*)
12555- _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
12556- _LT_TAGVAR(always_export_symbols, $1)=yes
12557- _LT_TAGVAR(archive_expsym_cmds, $1)='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname'
12558- # Note: this linker hardcodes the directories in LIBPATH if there
12559- # are no directories specified by -L.
12560- _LT_TAGVAR(hardcode_minus_L, $1)=yes
12561- if test "$GCC" = yes && test -z "$lt_prog_compiler_static"; then
12562- # Neither direct hardcoding nor static linking is supported with a
12563- # broken collect2.
12564- _LT_TAGVAR(hardcode_direct, $1)=unsupported
12565- fi
12566- ;;
12567-
12568- aix[[4-9]]*)
12569- if test "$host_cpu" = ia64; then
12570- # On IA64, the linker does run time linking by default, so we don't
12571- # have to do anything special.
12572- aix_use_runtimelinking=no
12573- exp_sym_flag='-Bexport'
12574- no_entry_flag=""
12575- else
12576- # If we're using GNU nm, then we don't want the "-C" option.
12577- # -C means demangle to AIX nm, but means don't demangle with GNU nm
12578- if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then
12579- _LT_TAGVAR(export_symbols_cmds, $1)='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && ([substr](\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols'
12580- else
12581- _LT_TAGVAR(export_symbols_cmds, $1)='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B")) && ([substr](\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols'
12582- fi
12583- aix_use_runtimelinking=no
12584-
12585- # Test if we are trying to use run time linking or normal
12586- # AIX style linking. If -brtl is somewhere in LDFLAGS, we
12587- # need to do runtime linking.
12588- case $host_os in aix4.[[23]]|aix4.[[23]].*|aix[[5-9]]*)
12589- for ld_flag in $LDFLAGS; do
12590- if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then
12591- aix_use_runtimelinking=yes
12592- break
12593- fi
12594- done
12595- ;;
12596- esac
12597-
12598- exp_sym_flag='-bexport'
12599- no_entry_flag='-bnoentry'
12600- fi
12601-
12602- # When large executables or shared objects are built, AIX ld can
12603- # have problems creating the table of contents. If linking a library
12604- # or program results in "error TOC overflow" add -mminimal-toc to
12605- # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not
12606- # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS.
12607-
12608- _LT_TAGVAR(archive_cmds, $1)=''
12609- _LT_TAGVAR(hardcode_direct, $1)=yes
12610- _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
12611- _LT_TAGVAR(hardcode_libdir_separator, $1)=':'
12612- _LT_TAGVAR(link_all_deplibs, $1)=yes
12613- _LT_TAGVAR(file_list_spec, $1)='${wl}-f,'
12614-
12615- if test "$GCC" = yes; then
12616- case $host_os in aix4.[[012]]|aix4.[[012]].*)
12617- # We only want to do this on AIX 4.2 and lower, the check
12618- # below for broken collect2 doesn't work under 4.3+
12619- collect2name=`${CC} -print-prog-name=collect2`
12620- if test -f "$collect2name" &&
12621- strings "$collect2name" | $GREP resolve_lib_name >/dev/null
12622- then
12623- # We have reworked collect2
12624- :
12625- else
12626- # We have old collect2
12627- _LT_TAGVAR(hardcode_direct, $1)=unsupported
12628- # It fails to find uninstalled libraries when the uninstalled
12629- # path is not listed in the libpath. Setting hardcode_minus_L
12630- # to unsupported forces relinking
12631- _LT_TAGVAR(hardcode_minus_L, $1)=yes
12632- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
12633- _LT_TAGVAR(hardcode_libdir_separator, $1)=
12634- fi
12635- ;;
12636- esac
12637- shared_flag='-shared'
12638- if test "$aix_use_runtimelinking" = yes; then
12639- shared_flag="$shared_flag "'${wl}-G'
12640- fi
12641- else
12642- # not using gcc
12643- if test "$host_cpu" = ia64; then
12644- # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release
12645- # chokes on -Wl,-G. The following line is correct:
12646- shared_flag='-G'
12647- else
12648- if test "$aix_use_runtimelinking" = yes; then
12649- shared_flag='${wl}-G'
12650- else
12651- shared_flag='${wl}-bM:SRE'
12652- fi
12653- fi
12654- fi
12655-
12656- _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-bexpall'
12657- # It seems that -bexpall does not export symbols beginning with
12658- # underscore (_), so it is better to generate a list of symbols to export.
12659- _LT_TAGVAR(always_export_symbols, $1)=yes
12660- if test "$aix_use_runtimelinking" = yes; then
12661- # Warning - without using the other runtime loading flags (-brtl),
12662- # -berok will link without error, but may produce a broken library.
12663- _LT_TAGVAR(allow_undefined_flag, $1)='-berok'
12664- # Determine the default libpath from the value encoded in an
12665- # empty executable.
12666- _LT_SYS_MODULE_PATH_AIX
12667- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath"
12668- _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then $ECHO "X${wl}${allow_undefined_flag}" | $Xsed; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag"
12669- else
12670- if test "$host_cpu" = ia64; then
12671- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $libdir:/usr/lib:/lib'
12672- _LT_TAGVAR(allow_undefined_flag, $1)="-z nodefs"
12673- _LT_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols"
12674- else
12675- # Determine the default libpath from the value encoded in an
12676- # empty executable.
12677- _LT_SYS_MODULE_PATH_AIX
12678- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath"
12679- # Warning - without using the other run time loading flags,
12680- # -berok will link without error, but may produce a broken library.
12681- _LT_TAGVAR(no_undefined_flag, $1)=' ${wl}-bernotok'
12682- _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-berok'
12683- # Exported symbols can be pulled into shared objects from archives
12684- _LT_TAGVAR(whole_archive_flag_spec, $1)='$convenience'
12685- _LT_TAGVAR(archive_cmds_need_lc, $1)=yes
12686- # This is similar to how AIX traditionally builds its shared libraries.
12687- _LT_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname'
12688- fi
12689- fi
12690- ;;
12691-
12692- amigaos*)
12693- case $host_cpu in
12694- powerpc)
12695- # see comment about AmigaOS4 .so support
12696- _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
12697- _LT_TAGVAR(archive_expsym_cmds, $1)=''
12698- ;;
12699- m68k)
12700- _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/a2ixlibrary.data~$ECHO "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$ECHO "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$ECHO "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$ECHO "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)'
12701- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
12702- _LT_TAGVAR(hardcode_minus_L, $1)=yes
12703- ;;
12704- esac
12705- ;;
12706-
12707- bsdi[[45]]*)
12708- _LT_TAGVAR(export_dynamic_flag_spec, $1)=-rdynamic
12709- ;;
12710-
12711- cygwin* | mingw* | pw32* | cegcc*)
12712- # When not using gcc, we currently assume that we are using
12713- # Microsoft Visual C++.
12714- # hardcode_libdir_flag_spec is actually meaningless, as there is
12715- # no search path for DLLs.
12716- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)=' '
12717- _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
12718- # Tell ltmain to make .lib files, not .a files.
12719- libext=lib
12720- # Tell ltmain to make .dll files, not .so files.
12721- shrext_cmds=".dll"
12722- # FIXME: Setting linknames here is a bad hack.
12723- _LT_TAGVAR(archive_cmds, $1)='$CC -o $lib $libobjs $compiler_flags `$ECHO "X$deplibs" | $Xsed -e '\''s/ -lc$//'\''` -link -dll~linknames='
12724- # The linker will automatically build a .lib file if we build a DLL.
12725- _LT_TAGVAR(old_archive_from_new_cmds, $1)='true'
12726- # FIXME: Should let the user specify the lib program.
12727- _LT_TAGVAR(old_archive_cmds, $1)='lib -OUT:$oldlib$oldobjs$old_deplibs'
12728- _LT_TAGVAR(fix_srcfile_path, $1)='`cygpath -w "$srcfile"`'
12729- _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
12730- ;;
12731-
12732- darwin* | rhapsody*)
12733- _LT_DARWIN_LINKER_FEATURES($1)
12734- ;;
12735-
12736- dgux*)
12737- _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
12738- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
12739- _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
12740- ;;
12741-
12742- freebsd1*)
12743- _LT_TAGVAR(ld_shlibs, $1)=no
12744- ;;
12745-
12746- # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor
12747- # support. Future versions do this automatically, but an explicit c++rt0.o
12748- # does not break anything, and helps significantly (at the cost of a little
12749- # extra space).
12750- freebsd2.2*)
12751- _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o'
12752- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
12753- _LT_TAGVAR(hardcode_direct, $1)=yes
12754- _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
12755- ;;
12756-
12757- # Unfortunately, older versions of FreeBSD 2 do not have this feature.
12758- freebsd2*)
12759- _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
12760- _LT_TAGVAR(hardcode_direct, $1)=yes
12761- _LT_TAGVAR(hardcode_minus_L, $1)=yes
12762- _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
12763- ;;
12764-
12765- # FreeBSD 3 and greater uses gcc -shared to do shared libraries.
12766- freebsd* | dragonfly*)
12767- _LT_TAGVAR(archive_cmds, $1)='$CC -shared -o $lib $libobjs $deplibs $compiler_flags'
12768- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
12769- _LT_TAGVAR(hardcode_direct, $1)=yes
12770- _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
12771- ;;
12772-
12773- hpux9*)
12774- if test "$GCC" = yes; then
12775- _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$CC -shared -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
12776- else
12777- _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
12778- fi
12779- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
12780- _LT_TAGVAR(hardcode_libdir_separator, $1)=:
12781- _LT_TAGVAR(hardcode_direct, $1)=yes
12782-
12783- # hardcode_minus_L: Not really in the search PATH,
12784- # but as the default location of the library.
12785- _LT_TAGVAR(hardcode_minus_L, $1)=yes
12786- _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
12787- ;;
12788-
12789- hpux10*)
12790- if test "$GCC" = yes -a "$with_gnu_ld" = no; then
12791- _LT_TAGVAR(archive_cmds, $1)='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
12792- else
12793- _LT_TAGVAR(archive_cmds, $1)='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags'
12794- fi
12795- if test "$with_gnu_ld" = no; then
12796- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
12797- _LT_TAGVAR(hardcode_libdir_flag_spec_ld, $1)='+b $libdir'
12798- _LT_TAGVAR(hardcode_libdir_separator, $1)=:
12799- _LT_TAGVAR(hardcode_direct, $1)=yes
12800- _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
12801- _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
12802- # hardcode_minus_L: Not really in the search PATH,
12803- # but as the default location of the library.
12804- _LT_TAGVAR(hardcode_minus_L, $1)=yes
12805- fi
12806- ;;
12807-
12808- hpux11*)
12809- if test "$GCC" = yes -a "$with_gnu_ld" = no; then
12810- case $host_cpu in
12811- hppa*64*)
12812- _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
12813- ;;
12814- ia64*)
12815- _LT_TAGVAR(archive_cmds, $1)='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
12816- ;;
12817- *)
12818- _LT_TAGVAR(archive_cmds, $1)='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
12819- ;;
12820- esac
12821- else
12822- case $host_cpu in
12823- hppa*64*)
12824- _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
12825- ;;
12826- ia64*)
12827- _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
12828- ;;
12829- *)
12830- _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
12831- ;;
12832- esac
12833- fi
12834- if test "$with_gnu_ld" = no; then
12835- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
12836- _LT_TAGVAR(hardcode_libdir_separator, $1)=:
12837-
12838- case $host_cpu in
12839- hppa*64*|ia64*)
12840- _LT_TAGVAR(hardcode_direct, $1)=no
12841- _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
12842- ;;
12843- *)
12844- _LT_TAGVAR(hardcode_direct, $1)=yes
12845- _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
12846- _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
12847-
12848- # hardcode_minus_L: Not really in the search PATH,
12849- # but as the default location of the library.
12850- _LT_TAGVAR(hardcode_minus_L, $1)=yes
12851- ;;
12852- esac
12853- fi
12854- ;;
12855-
12856- irix5* | irix6* | nonstopux*)
12857- if test "$GCC" = yes; then
12858- _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
12859- # Try to use the -exported_symbol ld option, if it does not
12860- # work, assume that -exports_file does not work either and
12861- # implicitly export all symbols.
12862- save_LDFLAGS="$LDFLAGS"
12863- LDFLAGS="$LDFLAGS -shared ${wl}-exported_symbol ${wl}foo ${wl}-update_registry ${wl}/dev/null"
12864- AC_LINK_IFELSE(int foo(void) {},
12865- _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations ${wl}-exports_file ${wl}$export_symbols -o $lib'
12866- )
12867- LDFLAGS="$save_LDFLAGS"
12868- else
12869- _LT_TAGVAR(archive_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib'
12870- _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -exports_file $export_symbols -o $lib'
12871- fi
12872- _LT_TAGVAR(archive_cmds_need_lc, $1)='no'
12873- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
12874- _LT_TAGVAR(hardcode_libdir_separator, $1)=:
12875- _LT_TAGVAR(inherit_rpath, $1)=yes
12876- _LT_TAGVAR(link_all_deplibs, $1)=yes
12877- ;;
12878-
12879- netbsd*)
12880- if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
12881- _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags' # a.out
12882- else
12883- _LT_TAGVAR(archive_cmds, $1)='$LD -shared -o $lib $libobjs $deplibs $linker_flags' # ELF
12884- fi
12885- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
12886- _LT_TAGVAR(hardcode_direct, $1)=yes
12887- _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
12888- ;;
12889-
12890- newsos6)
12891- _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
12892- _LT_TAGVAR(hardcode_direct, $1)=yes
12893- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
12894- _LT_TAGVAR(hardcode_libdir_separator, $1)=:
12895- _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
12896- ;;
12897-
12898- *nto* | *qnx*)
12899- ;;
12900-
12901- openbsd*)
12902- if test -f /usr/libexec/ld.so; then
12903- _LT_TAGVAR(hardcode_direct, $1)=yes
12904- _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
12905- _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
12906- if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
12907- _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
12908- _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols'
12909- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
12910- _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
12911- else
12912- case $host_os in
12913- openbsd[[01]].* | openbsd2.[[0-7]] | openbsd2.[[0-7]].*)
12914- _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
12915- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
12916- ;;
12917- *)
12918- _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
12919- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
12920- ;;
12921- esac
12922- fi
12923- else
12924- _LT_TAGVAR(ld_shlibs, $1)=no
12925- fi
12926- ;;
12927-
12928- os2*)
12929- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
12930- _LT_TAGVAR(hardcode_minus_L, $1)=yes
12931- _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
12932- _LT_TAGVAR(archive_cmds, $1)='$ECHO "LIBRARY $libname INITINSTANCE" > $output_objdir/$libname.def~$ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~$ECHO DATA >> $output_objdir/$libname.def~$ECHO " SINGLE NONSHARED" >> $output_objdir/$libname.def~$ECHO EXPORTS >> $output_objdir/$libname.def~emxexp $libobjs >> $output_objdir/$libname.def~$CC -Zdll -Zcrtdll -o $lib $libobjs $deplibs $compiler_flags $output_objdir/$libname.def'
12933- _LT_TAGVAR(old_archive_from_new_cmds, $1)='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def'
12934- ;;
12935-
12936- osf3*)
12937- if test "$GCC" = yes; then
12938- _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*'
12939- _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
12940- else
12941- _LT_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*'
12942- _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib'
12943- fi
12944- _LT_TAGVAR(archive_cmds_need_lc, $1)='no'
12945- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
12946- _LT_TAGVAR(hardcode_libdir_separator, $1)=:
12947- ;;
12948-
12949- osf4* | osf5*) # as osf3* with the addition of -msym flag
12950- if test "$GCC" = yes; then
12951- _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*'
12952- _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
12953- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
12954- else
12955- _LT_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*'
12956- _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags -msym -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib'
12957- _LT_TAGVAR(archive_expsym_cmds, $1)='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; printf "%s\\n" "-hidden">> $lib.exp~
12958- $CC -shared${allow_undefined_flag} ${wl}-input ${wl}$lib.exp $compiler_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib~$RM $lib.exp'
12959-
12960- # Both c and cxx compiler support -rpath directly
12961- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir'
12962- fi
12963- _LT_TAGVAR(archive_cmds_need_lc, $1)='no'
12964- _LT_TAGVAR(hardcode_libdir_separator, $1)=:
12965- ;;
12966-
12967- solaris*)
12968- _LT_TAGVAR(no_undefined_flag, $1)=' -z defs'
12969- if test "$GCC" = yes; then
12970- wlarc='${wl}'
12971- _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-z ${wl}text ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
12972- _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
12973- $CC -shared ${wl}-z ${wl}text ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp'
12974- else
12975- case `$CC -V 2>&1` in
12976- *"Compilers 5.0"*)
12977- wlarc=''
12978- _LT_TAGVAR(archive_cmds, $1)='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags'
12979- _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
12980- $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$RM $lib.exp'
12981- ;;
12982- *)
12983- wlarc='${wl}'
12984- _LT_TAGVAR(archive_cmds, $1)='$CC -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $compiler_flags'
12985- _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
12986- $CC -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp'
12987- ;;
12988- esac
12989- fi
12990- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
12991- _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
12992- case $host_os in
12993- solaris2.[[0-5]] | solaris2.[[0-5]].*) ;;
12994- *)
12995- # The compiler driver will combine and reorder linker options,
12996- # but understands `-z linker_flag'. GCC discards it without `$wl',
12997- # but is careful enough not to reorder.
12998- # Supported since Solaris 2.6 (maybe 2.5.1?)
12999- if test "$GCC" = yes; then
13000- _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract'
13001- else
13002- _LT_TAGVAR(whole_archive_flag_spec, $1)='-z allextract$convenience -z defaultextract'
13003- fi
13004- ;;
13005- esac
13006- _LT_TAGVAR(link_all_deplibs, $1)=yes
13007- ;;
13008-
13009- sunos4*)
13010- if test "x$host_vendor" = xsequent; then
13011- # Use $CC to link under sequent, because it throws in some extra .o
13012- # files that make .init and .fini sections work.
13013- _LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h $soname -o $lib $libobjs $deplibs $compiler_flags'
13014- else
13015- _LT_TAGVAR(archive_cmds, $1)='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags'
13016- fi
13017- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
13018- _LT_TAGVAR(hardcode_direct, $1)=yes
13019- _LT_TAGVAR(hardcode_minus_L, $1)=yes
13020- _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
13021- ;;
13022-
13023- sysv4)
13024- case $host_vendor in
13025- sni)
13026- _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
13027- _LT_TAGVAR(hardcode_direct, $1)=yes # is this really true???
13028- ;;
13029- siemens)
13030- ## LD is ld it makes a PLAMLIB
13031- ## CC just makes a GrossModule.
13032- _LT_TAGVAR(archive_cmds, $1)='$LD -G -o $lib $libobjs $deplibs $linker_flags'
13033- _LT_TAGVAR(reload_cmds, $1)='$CC -r -o $output$reload_objs'
13034- _LT_TAGVAR(hardcode_direct, $1)=no
13035- ;;
13036- motorola)
13037- _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
13038- _LT_TAGVAR(hardcode_direct, $1)=no #Motorola manual says yes, but my tests say they lie
13039- ;;
13040- esac
13041- runpath_var='LD_RUN_PATH'
13042- _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
13043- ;;
13044-
13045- sysv4.3*)
13046- _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
13047- _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
13048- _LT_TAGVAR(export_dynamic_flag_spec, $1)='-Bexport'
13049- ;;
13050-
13051- sysv4*MP*)
13052- if test -d /usr/nec; then
13053- _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
13054- _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
13055- runpath_var=LD_RUN_PATH
13056- hardcode_runpath_var=yes
13057- _LT_TAGVAR(ld_shlibs, $1)=yes
13058- fi
13059- ;;
13060-
13061- sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[[01]].[[10]]* | unixware7* | sco3.2v5.0.[[024]]*)
13062- _LT_TAGVAR(no_undefined_flag, $1)='${wl}-z,text'
13063- _LT_TAGVAR(archive_cmds_need_lc, $1)=no
13064- _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
13065- runpath_var='LD_RUN_PATH'
13066-
13067- if test "$GCC" = yes; then
13068- _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
13069- _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
13070- else
13071- _LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
13072- _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
13073- fi
13074- ;;
13075-
13076- sysv5* | sco3.2v5* | sco5v6*)
13077- # Note: We can NOT use -z defs as we might desire, because we do not
13078- # link with -lc, and that would cause any symbols used from libc to
13079- # always be unresolved, which means just about no library would
13080- # ever link correctly. If we're not using GNU ld we use -z text
13081- # though, which does catch some bad symbols but isn't as heavy-handed
13082- # as -z defs.
13083- _LT_TAGVAR(no_undefined_flag, $1)='${wl}-z,text'
13084- _LT_TAGVAR(allow_undefined_flag, $1)='${wl}-z,nodefs'
13085- _LT_TAGVAR(archive_cmds_need_lc, $1)=no
13086- _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
13087- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R,$libdir'
13088- _LT_TAGVAR(hardcode_libdir_separator, $1)=':'
13089- _LT_TAGVAR(link_all_deplibs, $1)=yes
13090- _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-Bexport'
13091- runpath_var='LD_RUN_PATH'
13092-
13093- if test "$GCC" = yes; then
13094- _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
13095- _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
13096- else
13097- _LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
13098- _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
13099- fi
13100- ;;
13101-
13102- uts4*)
13103- _LT_TAGVAR(archive_cmds, $1)='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
13104- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
13105- _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
13106- ;;
13107-
13108- *)
13109- _LT_TAGVAR(ld_shlibs, $1)=no
13110- ;;
13111- esac
13112-
13113- if test x$host_vendor = xsni; then
13114- case $host in
13115- sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*)
13116- _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-Blargedynsym'
13117- ;;
13118- esac
13119- fi
13120- fi
13121-])
13122-AC_MSG_RESULT([$_LT_TAGVAR(ld_shlibs, $1)])
13123-test "$_LT_TAGVAR(ld_shlibs, $1)" = no && can_build_shared=no
13124-
13125-_LT_TAGVAR(with_gnu_ld, $1)=$with_gnu_ld
13126-
13127-_LT_DECL([], [libext], [0], [Old archive suffix (normally "a")])dnl
13128-_LT_DECL([], [shrext_cmds], [1], [Shared library suffix (normally ".so")])dnl
13129-_LT_DECL([], [extract_expsyms_cmds], [2],
13130- [The commands to extract the exported symbol list from a shared archive])
13131-
13132-#
13133-# Do we need to explicitly link libc?
13134-#
13135-case "x$_LT_TAGVAR(archive_cmds_need_lc, $1)" in
13136-x|xyes)
13137- # Assume -lc should be added
13138- _LT_TAGVAR(archive_cmds_need_lc, $1)=yes
13139-
13140- if test "$enable_shared" = yes && test "$GCC" = yes; then
13141- case $_LT_TAGVAR(archive_cmds, $1) in
13142- *'~'*)
13143- # FIXME: we may have to deal with multi-command sequences.
13144- ;;
13145- '$CC '*)
13146- # Test whether the compiler implicitly links with -lc since on some
13147- # systems, -lgcc has to come before -lc. If gcc already passes -lc
13148- # to ld, don't add -lc before -lgcc.
13149- AC_MSG_CHECKING([whether -lc should be explicitly linked in])
13150- $RM conftest*
13151- echo "$lt_simple_compile_test_code" > conftest.$ac_ext
13152-
13153- if AC_TRY_EVAL(ac_compile) 2>conftest.err; then
13154- soname=conftest
13155- lib=conftest
13156- libobjs=conftest.$ac_objext
13157- deplibs=
13158- wl=$_LT_TAGVAR(lt_prog_compiler_wl, $1)
13159- pic_flag=$_LT_TAGVAR(lt_prog_compiler_pic, $1)
13160- compiler_flags=-v
13161- linker_flags=-v
13162- verstring=
13163- output_objdir=.
13164- libname=conftest
13165- lt_save_allow_undefined_flag=$_LT_TAGVAR(allow_undefined_flag, $1)
13166- _LT_TAGVAR(allow_undefined_flag, $1)=
13167- if AC_TRY_EVAL(_LT_TAGVAR(archive_cmds, $1) 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1)
13168- then
13169- _LT_TAGVAR(archive_cmds_need_lc, $1)=no
13170- else
13171- _LT_TAGVAR(archive_cmds_need_lc, $1)=yes
13172- fi
13173- _LT_TAGVAR(allow_undefined_flag, $1)=$lt_save_allow_undefined_flag
13174- else
13175- cat conftest.err 1>&5
13176- fi
13177- $RM conftest*
13178- AC_MSG_RESULT([$_LT_TAGVAR(archive_cmds_need_lc, $1)])
13179- ;;
13180- esac
13181- fi
13182- ;;
13183-esac
13184-
13185-_LT_TAGDECL([build_libtool_need_lc], [archive_cmds_need_lc], [0],
13186- [Whether or not to add -lc for building shared libraries])
13187-_LT_TAGDECL([allow_libtool_libs_with_static_runtimes],
13188- [enable_shared_with_static_runtimes], [0],
13189- [Whether or not to disallow shared libs when runtime libs are static])
13190-_LT_TAGDECL([], [export_dynamic_flag_spec], [1],
13191- [Compiler flag to allow reflexive dlopens])
13192-_LT_TAGDECL([], [whole_archive_flag_spec], [1],
13193- [Compiler flag to generate shared objects directly from archives])
13194-_LT_TAGDECL([], [compiler_needs_object], [1],
13195- [Whether the compiler copes with passing no objects directly])
13196-_LT_TAGDECL([], [old_archive_from_new_cmds], [2],
13197- [Create an old-style archive from a shared archive])
13198-_LT_TAGDECL([], [old_archive_from_expsyms_cmds], [2],
13199- [Create a temporary old-style archive to link instead of a shared archive])
13200-_LT_TAGDECL([], [archive_cmds], [2], [Commands used to build a shared archive])
13201-_LT_TAGDECL([], [archive_expsym_cmds], [2])
13202-_LT_TAGDECL([], [module_cmds], [2],
13203- [Commands used to build a loadable module if different from building
13204- a shared archive.])
13205-_LT_TAGDECL([], [module_expsym_cmds], [2])
13206-_LT_TAGDECL([], [with_gnu_ld], [1],
13207- [Whether we are building with GNU ld or not])
13208-_LT_TAGDECL([], [allow_undefined_flag], [1],
13209- [Flag that allows shared libraries with undefined symbols to be built])
13210-_LT_TAGDECL([], [no_undefined_flag], [1],
13211- [Flag that enforces no undefined symbols])
13212-_LT_TAGDECL([], [hardcode_libdir_flag_spec], [1],
13213- [Flag to hardcode $libdir into a binary during linking.
13214- This must work even if $libdir does not exist])
13215-_LT_TAGDECL([], [hardcode_libdir_flag_spec_ld], [1],
13216- [[If ld is used when linking, flag to hardcode $libdir into a binary
13217- during linking. This must work even if $libdir does not exist]])
13218-_LT_TAGDECL([], [hardcode_libdir_separator], [1],
13219- [Whether we need a single "-rpath" flag with a separated argument])
13220-_LT_TAGDECL([], [hardcode_direct], [0],
13221- [Set to "yes" if using DIR/libNAME${shared_ext} during linking hardcodes
13222- DIR into the resulting binary])
13223-_LT_TAGDECL([], [hardcode_direct_absolute], [0],
13224- [Set to "yes" if using DIR/libNAME${shared_ext} during linking hardcodes
13225- DIR into the resulting binary and the resulting library dependency is
13226- "absolute", i.e impossible to change by setting ${shlibpath_var} if the
13227- library is relocated])
13228-_LT_TAGDECL([], [hardcode_minus_L], [0],
13229- [Set to "yes" if using the -LDIR flag during linking hardcodes DIR
13230- into the resulting binary])
13231-_LT_TAGDECL([], [hardcode_shlibpath_var], [0],
13232- [Set to "yes" if using SHLIBPATH_VAR=DIR during linking hardcodes DIR
13233- into the resulting binary])
13234-_LT_TAGDECL([], [hardcode_automatic], [0],
13235- [Set to "yes" if building a shared library automatically hardcodes DIR
13236- into the library and all subsequent libraries and executables linked
13237- against it])
13238-_LT_TAGDECL([], [inherit_rpath], [0],
13239- [Set to yes if linker adds runtime paths of dependent libraries
13240- to runtime path list])
13241-_LT_TAGDECL([], [link_all_deplibs], [0],
13242- [Whether libtool must link a program against all its dependency libraries])
13243-_LT_TAGDECL([], [fix_srcfile_path], [1],
13244- [Fix the shell variable $srcfile for the compiler])
13245-_LT_TAGDECL([], [always_export_symbols], [0],
13246- [Set to "yes" if exported symbols are required])
13247-_LT_TAGDECL([], [export_symbols_cmds], [2],
13248- [The commands to list exported symbols])
13249-_LT_TAGDECL([], [exclude_expsyms], [1],
13250- [Symbols that should not be listed in the preloaded symbols])
13251-_LT_TAGDECL([], [include_expsyms], [1],
13252- [Symbols that must always be exported])
13253-_LT_TAGDECL([], [prelink_cmds], [2],
13254- [Commands necessary for linking programs (against libraries) with templates])
13255-_LT_TAGDECL([], [file_list_spec], [1],
13256- [Specify filename containing input files])
13257-dnl FIXME: Not yet implemented
13258-dnl _LT_TAGDECL([], [thread_safe_flag_spec], [1],
13259-dnl [Compiler flag to generate thread safe objects])
13260-])# _LT_LINKER_SHLIBS
13261-
13262-
13263-# _LT_LANG_C_CONFIG([TAG])
13264-# ------------------------
13265-# Ensure that the configuration variables for a C compiler are suitably
13266-# defined. These variables are subsequently used by _LT_CONFIG to write
13267-# the compiler configuration to `libtool'.
13268-m4_defun([_LT_LANG_C_CONFIG],
13269-[m4_require([_LT_DECL_EGREP])dnl
13270-lt_save_CC="$CC"
13271-AC_LANG_PUSH(C)
13272-
13273-# Source file extension for C test sources.
13274-ac_ext=c
13275-
13276-# Object file extension for compiled C test sources.
13277-objext=o
13278-_LT_TAGVAR(objext, $1)=$objext
13279-
13280-# Code to be used in simple compile tests
13281-lt_simple_compile_test_code="int some_variable = 0;"
13282-
13283-# Code to be used in simple link tests
13284-lt_simple_link_test_code='int main(){return(0);}'
13285-
13286-_LT_TAG_COMPILER
13287-# Save the default compiler, since it gets overwritten when the other
13288-# tags are being tested, and _LT_TAGVAR(compiler, []) is a NOP.
13289-compiler_DEFAULT=$CC
13290-
13291-# save warnings/boilerplate of simple test code
13292-_LT_COMPILER_BOILERPLATE
13293-_LT_LINKER_BOILERPLATE
13294-
13295-## CAVEAT EMPTOR:
13296-## There is no encapsulation within the following macros, do not change
13297-## the running order or otherwise move them around unless you know exactly
13298-## what you are doing...
13299-if test -n "$compiler"; then
13300- _LT_COMPILER_NO_RTTI($1)
13301- _LT_COMPILER_PIC($1)
13302- _LT_COMPILER_C_O($1)
13303- _LT_COMPILER_FILE_LOCKS($1)
13304- _LT_LINKER_SHLIBS($1)
13305- _LT_SYS_DYNAMIC_LINKER($1)
13306- _LT_LINKER_HARDCODE_LIBPATH($1)
13307- LT_SYS_DLOPEN_SELF
13308- _LT_CMD_STRIPLIB
13309-
13310- # Report which library types will actually be built
13311- AC_MSG_CHECKING([if libtool supports shared libraries])
13312- AC_MSG_RESULT([$can_build_shared])
13313-
13314- AC_MSG_CHECKING([whether to build shared libraries])
13315- test "$can_build_shared" = "no" && enable_shared=no
13316-
13317- # On AIX, shared libraries and static libraries use the same namespace, and
13318- # are all built from PIC.
13319- case $host_os in
13320- aix3*)
13321- test "$enable_shared" = yes && enable_static=no
13322- if test -n "$RANLIB"; then
13323- archive_cmds="$archive_cmds~\$RANLIB \$lib"
13324- postinstall_cmds='$RANLIB $lib'
13325- fi
13326- ;;
13327-
13328- aix[[4-9]]*)
13329- if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then
13330- test "$enable_shared" = yes && enable_static=no
13331- fi
13332- ;;
13333- esac
13334- AC_MSG_RESULT([$enable_shared])
13335-
13336- AC_MSG_CHECKING([whether to build static libraries])
13337- # Make sure either enable_shared or enable_static is yes.
13338- test "$enable_shared" = yes || enable_static=yes
13339- AC_MSG_RESULT([$enable_static])
13340-
13341- _LT_CONFIG($1)
13342-fi
13343-AC_LANG_POP
13344-CC="$lt_save_CC"
13345-])# _LT_LANG_C_CONFIG
13346-
13347-
13348-# _LT_PROG_CXX
13349-# ------------
13350-# Since AC_PROG_CXX is broken, in that it returns g++ if there is no c++
13351-# compiler, we have our own version here.
13352-m4_defun([_LT_PROG_CXX],
13353-[
13354-pushdef([AC_MSG_ERROR], [_lt_caught_CXX_error=yes])
13355-AC_PROG_CXX
13356-if test -n "$CXX" && ( test "X$CXX" != "Xno" &&
13357- ( (test "X$CXX" = "Xg++" && `g++ -v >/dev/null 2>&1` ) ||
13358- (test "X$CXX" != "Xg++"))) ; then
13359- AC_PROG_CXXCPP
13360-else
13361- _lt_caught_CXX_error=yes
13362-fi
13363-popdef([AC_MSG_ERROR])
13364-])# _LT_PROG_CXX
13365-
13366-dnl aclocal-1.4 backwards compatibility:
13367-dnl AC_DEFUN([_LT_PROG_CXX], [])
13368-
13369-
13370-# _LT_LANG_CXX_CONFIG([TAG])
13371-# --------------------------
13372-# Ensure that the configuration variables for a C++ compiler are suitably
13373-# defined. These variables are subsequently used by _LT_CONFIG to write
13374-# the compiler configuration to `libtool'.
13375-m4_defun([_LT_LANG_CXX_CONFIG],
13376-[AC_REQUIRE([_LT_PROG_CXX])dnl
13377-m4_require([_LT_FILEUTILS_DEFAULTS])dnl
13378-m4_require([_LT_DECL_EGREP])dnl
13379-
13380-AC_LANG_PUSH(C++)
13381-_LT_TAGVAR(archive_cmds_need_lc, $1)=no
13382-_LT_TAGVAR(allow_undefined_flag, $1)=
13383-_LT_TAGVAR(always_export_symbols, $1)=no
13384-_LT_TAGVAR(archive_expsym_cmds, $1)=
13385-_LT_TAGVAR(compiler_needs_object, $1)=no
13386-_LT_TAGVAR(export_dynamic_flag_spec, $1)=
13387-_LT_TAGVAR(hardcode_direct, $1)=no
13388-_LT_TAGVAR(hardcode_direct_absolute, $1)=no
13389-_LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
13390-_LT_TAGVAR(hardcode_libdir_flag_spec_ld, $1)=
13391-_LT_TAGVAR(hardcode_libdir_separator, $1)=
13392-_LT_TAGVAR(hardcode_minus_L, $1)=no
13393-_LT_TAGVAR(hardcode_shlibpath_var, $1)=unsupported
13394-_LT_TAGVAR(hardcode_automatic, $1)=no
13395-_LT_TAGVAR(inherit_rpath, $1)=no
13396-_LT_TAGVAR(module_cmds, $1)=
13397-_LT_TAGVAR(module_expsym_cmds, $1)=
13398-_LT_TAGVAR(link_all_deplibs, $1)=unknown
13399-_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds
13400-_LT_TAGVAR(no_undefined_flag, $1)=
13401-_LT_TAGVAR(whole_archive_flag_spec, $1)=
13402-_LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no
13403-
13404-# Source file extension for C++ test sources.
13405-ac_ext=cpp
13406-
13407-# Object file extension for compiled C++ test sources.
13408-objext=o
13409-_LT_TAGVAR(objext, $1)=$objext
13410-
13411-# No sense in running all these tests if we already determined that
13412-# the CXX compiler isn't working. Some variables (like enable_shared)
13413-# are currently assumed to apply to all compilers on this platform,
13414-# and will be corrupted by setting them based on a non-working compiler.
13415-if test "$_lt_caught_CXX_error" != yes; then
13416- # Code to be used in simple compile tests
13417- lt_simple_compile_test_code="int some_variable = 0;"
13418-
13419- # Code to be used in simple link tests
13420- lt_simple_link_test_code='int main(int, char *[[]]) { return(0); }'
13421-
13422- # ltmain only uses $CC for tagged configurations so make sure $CC is set.
13423- _LT_TAG_COMPILER
13424-
13425- # save warnings/boilerplate of simple test code
13426- _LT_COMPILER_BOILERPLATE
13427- _LT_LINKER_BOILERPLATE
13428-
13429- # Allow CC to be a program name with arguments.
13430- lt_save_CC=$CC
13431- lt_save_LD=$LD
13432- lt_save_GCC=$GCC
13433- GCC=$GXX
13434- lt_save_with_gnu_ld=$with_gnu_ld
13435- lt_save_path_LD=$lt_cv_path_LD
13436- if test -n "${lt_cv_prog_gnu_ldcxx+set}"; then
13437- lt_cv_prog_gnu_ld=$lt_cv_prog_gnu_ldcxx
13438- else
13439- $as_unset lt_cv_prog_gnu_ld
13440- fi
13441- if test -n "${lt_cv_path_LDCXX+set}"; then
13442- lt_cv_path_LD=$lt_cv_path_LDCXX
13443- else
13444- $as_unset lt_cv_path_LD
13445- fi
13446- test -z "${LDCXX+set}" || LD=$LDCXX
13447- CC=${CXX-"c++"}
13448- compiler=$CC
13449- _LT_TAGVAR(compiler, $1)=$CC
13450- _LT_CC_BASENAME([$compiler])
13451-
13452- if test -n "$compiler"; then
13453- # We don't want -fno-exception when compiling C++ code, so set the
13454- # no_builtin_flag separately
13455- if test "$GXX" = yes; then
13456- _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=' -fno-builtin'
13457- else
13458- _LT_TAGVAR(lt_prog_compiler_no_builtin_flag, $1)=
13459- fi
13460-
13461- if test "$GXX" = yes; then
13462- # Set up default GNU C++ configuration
13463-
13464- LT_PATH_LD
13465-
13466- # Check if GNU C++ uses GNU ld as the underlying linker, since the
13467- # archiving commands below assume that GNU ld is being used.
13468- if test "$with_gnu_ld" = yes; then
13469- _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib'
13470- _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
13471-
13472- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
13473- _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
13474-
13475- # If archive_cmds runs LD, not CC, wlarc should be empty
13476- # XXX I think wlarc can be eliminated in ltcf-cxx, but I need to
13477- # investigate it a little bit more. (MM)
13478- wlarc='${wl}'
13479-
13480- # ancient GNU ld didn't support --whole-archive et. al.
13481- if eval "`$CC -print-prog-name=ld` --help 2>&1" |
13482- $GREP 'no-whole-archive' > /dev/null; then
13483- _LT_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
13484- else
13485- _LT_TAGVAR(whole_archive_flag_spec, $1)=
13486- fi
13487- else
13488- with_gnu_ld=no
13489- wlarc=
13490-
13491- # A generic and very simple default shared library creation
13492- # command for GNU C++ for the case where it uses the native
13493- # linker, instead of GNU ld. If possible, this setting should
13494- # overridden to take advantage of the native linker features on
13495- # the platform it is being used on.
13496- _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib'
13497- fi
13498-
13499- # Commands to make compiler produce verbose output that lists
13500- # what "hidden" libraries, object files and flags are used when
13501- # linking a shared library.
13502- output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "\-L"'
13503-
13504- else
13505- GXX=no
13506- with_gnu_ld=no
13507- wlarc=
13508- fi
13509-
13510- # PORTME: fill in a description of your system's C++ link characteristics
13511- AC_MSG_CHECKING([whether the $compiler linker ($LD) supports shared libraries])
13512- _LT_TAGVAR(ld_shlibs, $1)=yes
13513- case $host_os in
13514- aix3*)
13515- # FIXME: insert proper C++ library support
13516- _LT_TAGVAR(ld_shlibs, $1)=no
13517- ;;
13518- aix[[4-9]]*)
13519- if test "$host_cpu" = ia64; then
13520- # On IA64, the linker does run time linking by default, so we don't
13521- # have to do anything special.
13522- aix_use_runtimelinking=no
13523- exp_sym_flag='-Bexport'
13524- no_entry_flag=""
13525- else
13526- aix_use_runtimelinking=no
13527-
13528- # Test if we are trying to use run time linking or normal
13529- # AIX style linking. If -brtl is somewhere in LDFLAGS, we
13530- # need to do runtime linking.
13531- case $host_os in aix4.[[23]]|aix4.[[23]].*|aix[[5-9]]*)
13532- for ld_flag in $LDFLAGS; do
13533- case $ld_flag in
13534- *-brtl*)
13535- aix_use_runtimelinking=yes
13536- break
13537- ;;
13538- esac
13539- done
13540- ;;
13541- esac
13542-
13543- exp_sym_flag='-bexport'
13544- no_entry_flag='-bnoentry'
13545- fi
13546-
13547- # When large executables or shared objects are built, AIX ld can
13548- # have problems creating the table of contents. If linking a library
13549- # or program results in "error TOC overflow" add -mminimal-toc to
13550- # CXXFLAGS/CFLAGS for g++/gcc. In the cases where that is not
13551- # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS.
13552-
13553- _LT_TAGVAR(archive_cmds, $1)=''
13554- _LT_TAGVAR(hardcode_direct, $1)=yes
13555- _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
13556- _LT_TAGVAR(hardcode_libdir_separator, $1)=':'
13557- _LT_TAGVAR(link_all_deplibs, $1)=yes
13558- _LT_TAGVAR(file_list_spec, $1)='${wl}-f,'
13559-
13560- if test "$GXX" = yes; then
13561- case $host_os in aix4.[[012]]|aix4.[[012]].*)
13562- # We only want to do this on AIX 4.2 and lower, the check
13563- # below for broken collect2 doesn't work under 4.3+
13564- collect2name=`${CC} -print-prog-name=collect2`
13565- if test -f "$collect2name" &&
13566- strings "$collect2name" | $GREP resolve_lib_name >/dev/null
13567- then
13568- # We have reworked collect2
13569- :
13570- else
13571- # We have old collect2
13572- _LT_TAGVAR(hardcode_direct, $1)=unsupported
13573- # It fails to find uninstalled libraries when the uninstalled
13574- # path is not listed in the libpath. Setting hardcode_minus_L
13575- # to unsupported forces relinking
13576- _LT_TAGVAR(hardcode_minus_L, $1)=yes
13577- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
13578- _LT_TAGVAR(hardcode_libdir_separator, $1)=
13579- fi
13580- esac
13581- shared_flag='-shared'
13582- if test "$aix_use_runtimelinking" = yes; then
13583- shared_flag="$shared_flag "'${wl}-G'
13584- fi
13585- else
13586- # not using gcc
13587- if test "$host_cpu" = ia64; then
13588- # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release
13589- # chokes on -Wl,-G. The following line is correct:
13590- shared_flag='-G'
13591- else
13592- if test "$aix_use_runtimelinking" = yes; then
13593- shared_flag='${wl}-G'
13594- else
13595- shared_flag='${wl}-bM:SRE'
13596- fi
13597- fi
13598- fi
13599-
13600- _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-bexpall'
13601- # It seems that -bexpall does not export symbols beginning with
13602- # underscore (_), so it is better to generate a list of symbols to
13603- # export.
13604- _LT_TAGVAR(always_export_symbols, $1)=yes
13605- if test "$aix_use_runtimelinking" = yes; then
13606- # Warning - without using the other runtime loading flags (-brtl),
13607- # -berok will link without error, but may produce a broken library.
13608- _LT_TAGVAR(allow_undefined_flag, $1)='-berok'
13609- # Determine the default libpath from the value encoded in an empty
13610- # executable.
13611- _LT_SYS_MODULE_PATH_AIX
13612- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath"
13613-
13614- _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then $ECHO "X${wl}${allow_undefined_flag}" | $Xsed; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag"
13615- else
13616- if test "$host_cpu" = ia64; then
13617- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $libdir:/usr/lib:/lib'
13618- _LT_TAGVAR(allow_undefined_flag, $1)="-z nodefs"
13619- _LT_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols"
13620- else
13621- # Determine the default libpath from the value encoded in an
13622- # empty executable.
13623- _LT_SYS_MODULE_PATH_AIX
13624- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-blibpath:$libdir:'"$aix_libpath"
13625- # Warning - without using the other run time loading flags,
13626- # -berok will link without error, but may produce a broken library.
13627- _LT_TAGVAR(no_undefined_flag, $1)=' ${wl}-bernotok'
13628- _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-berok'
13629- # Exported symbols can be pulled into shared objects from archives
13630- _LT_TAGVAR(whole_archive_flag_spec, $1)='$convenience'
13631- _LT_TAGVAR(archive_cmds_need_lc, $1)=yes
13632- # This is similar to how AIX traditionally builds its shared
13633- # libraries.
13634- _LT_TAGVAR(archive_expsym_cmds, $1)="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname'
13635- fi
13636- fi
13637- ;;
13638-
13639- beos*)
13640- if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
13641- _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
13642- # Joseph Beckenbach <jrb3@best.com> says some releases of gcc
13643- # support --undefined. This deserves some investigation. FIXME
13644- _LT_TAGVAR(archive_cmds, $1)='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
13645- else
13646- _LT_TAGVAR(ld_shlibs, $1)=no
13647- fi
13648- ;;
13649-
13650- chorus*)
13651- case $cc_basename in
13652- *)
13653- # FIXME: insert proper C++ library support
13654- _LT_TAGVAR(ld_shlibs, $1)=no
13655- ;;
13656- esac
13657- ;;
13658-
13659- cygwin* | mingw* | pw32* | cegcc*)
13660- # _LT_TAGVAR(hardcode_libdir_flag_spec, $1) is actually meaningless,
13661- # as there is no search path for DLLs.
13662- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-L$libdir'
13663- _LT_TAGVAR(allow_undefined_flag, $1)=unsupported
13664- _LT_TAGVAR(always_export_symbols, $1)=no
13665- _LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
13666-
13667- if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then
13668- _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
13669- # If the export-symbols file already is a .def file (1st line
13670- # is EXPORTS), use it as is; otherwise, prepend...
13671- _LT_TAGVAR(archive_expsym_cmds, $1)='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then
13672- cp $export_symbols $output_objdir/$soname.def;
13673- else
13674- echo EXPORTS > $output_objdir/$soname.def;
13675- cat $export_symbols >> $output_objdir/$soname.def;
13676- fi~
13677- $CC -shared -nostdlib $output_objdir/$soname.def $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
13678- else
13679- _LT_TAGVAR(ld_shlibs, $1)=no
13680- fi
13681- ;;
13682- darwin* | rhapsody*)
13683- _LT_DARWIN_LINKER_FEATURES($1)
13684- ;;
13685-
13686- dgux*)
13687- case $cc_basename in
13688- ec++*)
13689- # FIXME: insert proper C++ library support
13690- _LT_TAGVAR(ld_shlibs, $1)=no
13691- ;;
13692- ghcx*)
13693- # Green Hills C++ Compiler
13694- # FIXME: insert proper C++ library support
13695- _LT_TAGVAR(ld_shlibs, $1)=no
13696- ;;
13697- *)
13698- # FIXME: insert proper C++ library support
13699- _LT_TAGVAR(ld_shlibs, $1)=no
13700- ;;
13701- esac
13702- ;;
13703-
13704- freebsd[[12]]*)
13705- # C++ shared libraries reported to be fairly broken before
13706- # switch to ELF
13707- _LT_TAGVAR(ld_shlibs, $1)=no
13708- ;;
13709-
13710- freebsd-elf*)
13711- _LT_TAGVAR(archive_cmds_need_lc, $1)=no
13712- ;;
13713-
13714- freebsd* | dragonfly*)
13715- # FreeBSD 3 and later use GNU C++ and GNU ld with standard ELF
13716- # conventions
13717- _LT_TAGVAR(ld_shlibs, $1)=yes
13718- ;;
13719-
13720- gnu*)
13721- ;;
13722-
13723- hpux9*)
13724- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
13725- _LT_TAGVAR(hardcode_libdir_separator, $1)=:
13726- _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
13727- _LT_TAGVAR(hardcode_direct, $1)=yes
13728- _LT_TAGVAR(hardcode_minus_L, $1)=yes # Not in the search PATH,
13729- # but as the default
13730- # location of the library.
13731-
13732- case $cc_basename in
13733- CC*)
13734- # FIXME: insert proper C++ library support
13735- _LT_TAGVAR(ld_shlibs, $1)=no
13736- ;;
13737- aCC*)
13738- _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$CC -b ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
13739- # Commands to make compiler produce verbose output that lists
13740- # what "hidden" libraries, object files and flags are used when
13741- # linking a shared library.
13742- #
13743- # There doesn't appear to be a way to prevent this compiler from
13744- # explicitly linking system object files so we need to strip them
13745- # from the output so that they don't get included in the library
13746- # dependencies.
13747- output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $EGREP "\-L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; $ECHO "X$list" | $Xsed'
13748- ;;
13749- *)
13750- if test "$GXX" = yes; then
13751- _LT_TAGVAR(archive_cmds, $1)='$RM $output_objdir/$soname~$CC -shared -nostdlib -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
13752- else
13753- # FIXME: insert proper C++ library support
13754- _LT_TAGVAR(ld_shlibs, $1)=no
13755- fi
13756- ;;
13757- esac
13758- ;;
13759-
13760- hpux10*|hpux11*)
13761- if test $with_gnu_ld = no; then
13762- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}+b ${wl}$libdir'
13763- _LT_TAGVAR(hardcode_libdir_separator, $1)=:
13764-
13765- case $host_cpu in
13766- hppa*64*|ia64*)
13767- ;;
13768- *)
13769- _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
13770- ;;
13771- esac
13772- fi
13773- case $host_cpu in
13774- hppa*64*|ia64*)
13775- _LT_TAGVAR(hardcode_direct, $1)=no
13776- _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
13777- ;;
13778- *)
13779- _LT_TAGVAR(hardcode_direct, $1)=yes
13780- _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
13781- _LT_TAGVAR(hardcode_minus_L, $1)=yes # Not in the search PATH,
13782- # but as the default
13783- # location of the library.
13784- ;;
13785- esac
13786-
13787- case $cc_basename in
13788- CC*)
13789- # FIXME: insert proper C++ library support
13790- _LT_TAGVAR(ld_shlibs, $1)=no
13791- ;;
13792- aCC*)
13793- case $host_cpu in
13794- hppa*64*)
13795- _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
13796- ;;
13797- ia64*)
13798- _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
13799- ;;
13800- *)
13801- _LT_TAGVAR(archive_cmds, $1)='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
13802- ;;
13803- esac
13804- # Commands to make compiler produce verbose output that lists
13805- # what "hidden" libraries, object files and flags are used when
13806- # linking a shared library.
13807- #
13808- # There doesn't appear to be a way to prevent this compiler from
13809- # explicitly linking system object files so we need to strip them
13810- # from the output so that they don't get included in the library
13811- # dependencies.
13812- output_verbose_link_cmd='templist=`($CC -b $CFLAGS -v conftest.$objext 2>&1) | $GREP "\-L"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; $ECHO "X$list" | $Xsed'
13813- ;;
13814- *)
13815- if test "$GXX" = yes; then
13816- if test $with_gnu_ld = no; then
13817- case $host_cpu in
13818- hppa*64*)
13819- _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
13820- ;;
13821- ia64*)
13822- _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
13823- ;;
13824- *)
13825- _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
13826- ;;
13827- esac
13828- fi
13829- else
13830- # FIXME: insert proper C++ library support
13831- _LT_TAGVAR(ld_shlibs, $1)=no
13832- fi
13833- ;;
13834- esac
13835- ;;
13836-
13837- interix[[3-9]]*)
13838- _LT_TAGVAR(hardcode_direct, $1)=no
13839- _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
13840- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
13841- _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
13842- # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc.
13843- # Instead, shared libraries are loaded at an image base (0x10000000 by
13844- # default) and relocated if they conflict, which is a slow very memory
13845- # consuming and fragmenting process. To avoid this, we pick a random,
13846- # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link
13847- # time. Moving up from 0x10000000 also allows more sbrk(2) space.
13848- _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
13849- _LT_TAGVAR(archive_expsym_cmds, $1)='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
13850- ;;
13851- irix5* | irix6*)
13852- case $cc_basename in
13853- CC*)
13854- # SGI C++
13855- _LT_TAGVAR(archive_cmds, $1)='$CC -shared -all -multigot $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib'
13856-
13857- # Archives containing C++ object files must be created using
13858- # "CC -ar", where "CC" is the IRIX C++ compiler. This is
13859- # necessary to make sure instantiated templates are included
13860- # in the archive.
13861- _LT_TAGVAR(old_archive_cmds, $1)='$CC -ar -WR,-u -o $oldlib $oldobjs'
13862- ;;
13863- *)
13864- if test "$GXX" = yes; then
13865- if test "$with_gnu_ld" = no; then
13866- _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
13867- else
13868- _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` -o $lib'
13869- fi
13870- fi
13871- _LT_TAGVAR(link_all_deplibs, $1)=yes
13872- ;;
13873- esac
13874- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
13875- _LT_TAGVAR(hardcode_libdir_separator, $1)=:
13876- _LT_TAGVAR(inherit_rpath, $1)=yes
13877- ;;
13878-
13879- linux* | k*bsd*-gnu)
13880- case $cc_basename in
13881- KCC*)
13882- # Kuck and Associates, Inc. (KAI) C++ Compiler
13883-
13884- # KCC will only create a shared library if the output file
13885- # ends with ".so" (or ".sl" for HP-UX), so rename the library
13886- # to its proper name (with version) after linking.
13887- _LT_TAGVAR(archive_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib'
13888- _LT_TAGVAR(archive_expsym_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo $lib | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib ${wl}-retain-symbols-file,$export_symbols; mv \$templib $lib'
13889- # Commands to make compiler produce verbose output that lists
13890- # what "hidden" libraries, object files and flags are used when
13891- # linking a shared library.
13892- #
13893- # There doesn't appear to be a way to prevent this compiler from
13894- # explicitly linking system object files so we need to strip them
13895- # from the output so that they don't get included in the library
13896- # dependencies.
13897- output_verbose_link_cmd='templist=`$CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1 | $GREP "ld"`; rm -f libconftest$shared_ext; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; $ECHO "X$list" | $Xsed'
13898-
13899- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
13900- _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
13901-
13902- # Archives containing C++ object files must be created using
13903- # "CC -Bstatic", where "CC" is the KAI C++ compiler.
13904- _LT_TAGVAR(old_archive_cmds, $1)='$CC -Bstatic -o $oldlib $oldobjs'
13905- ;;
13906- icpc* | ecpc* )
13907- # Intel C++
13908- with_gnu_ld=yes
13909- # version 8.0 and above of icpc choke on multiply defined symbols
13910- # if we add $predep_objects and $postdep_objects, however 7.1 and
13911- # earlier do not add the objects themselves.
13912- case `$CC -V 2>&1` in
13913- *"Version 7."*)
13914- _LT_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib'
13915- _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
13916- ;;
13917- *) # Version 8.0 or newer
13918- tmp_idyn=
13919- case $host_cpu in
13920- ia64*) tmp_idyn=' -i_dynamic';;
13921- esac
13922- _LT_TAGVAR(archive_cmds, $1)='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
13923- _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared'"$tmp_idyn"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
13924- ;;
13925- esac
13926- _LT_TAGVAR(archive_cmds_need_lc, $1)=no
13927- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
13928- _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
13929- _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive$convenience ${wl}--no-whole-archive'
13930- ;;
13931- pgCC* | pgcpp*)
13932- # Portland Group C++ compiler
13933- case `$CC -V` in
13934- *pgCC\ [[1-5]]* | *pgcpp\ [[1-5]]*)
13935- _LT_TAGVAR(prelink_cmds, $1)='tpldir=Template.dir~
13936- rm -rf $tpldir~
13937- $CC --prelink_objects --instantiation_dir $tpldir $objs $libobjs $compile_deplibs~
13938- compile_command="$compile_command `find $tpldir -name \*.o | $NL2SP`"'
13939- _LT_TAGVAR(old_archive_cmds, $1)='tpldir=Template.dir~
13940- rm -rf $tpldir~
13941- $CC --prelink_objects --instantiation_dir $tpldir $oldobjs$old_deplibs~
13942- $AR $AR_FLAGS $oldlib$oldobjs$old_deplibs `find $tpldir -name \*.o | $NL2SP`~
13943- $RANLIB $oldlib'
13944- _LT_TAGVAR(archive_cmds, $1)='tpldir=Template.dir~
13945- rm -rf $tpldir~
13946- $CC --prelink_objects --instantiation_dir $tpldir $predep_objects $libobjs $deplibs $convenience $postdep_objects~
13947- $CC -shared $pic_flag $predep_objects $libobjs $deplibs `find $tpldir -name \*.o | $NL2SP` $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib'
13948- _LT_TAGVAR(archive_expsym_cmds, $1)='tpldir=Template.dir~
13949- rm -rf $tpldir~
13950- $CC --prelink_objects --instantiation_dir $tpldir $predep_objects $libobjs $deplibs $convenience $postdep_objects~
13951- $CC -shared $pic_flag $predep_objects $libobjs $deplibs `find $tpldir -name \*.o | $NL2SP` $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname ${wl}-retain-symbols-file ${wl}$export_symbols -o $lib'
13952- ;;
13953- *) # Version 6 will use weak symbols
13954- _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname -o $lib'
13955- _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname ${wl}-retain-symbols-file ${wl}$export_symbols -o $lib'
13956- ;;
13957- esac
13958-
13959- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}--rpath ${wl}$libdir'
13960- _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
13961- _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`for conv in $convenience\"\"; do test -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; $ECHO \"$new_convenience\"` ${wl}--no-whole-archive'
13962- ;;
13963- cxx*)
13964- # Compaq C++
13965- _LT_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib'
13966- _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $wl$soname -o $lib ${wl}-retain-symbols-file $wl$export_symbols'
13967-
13968- runpath_var=LD_RUN_PATH
13969- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir'
13970- _LT_TAGVAR(hardcode_libdir_separator, $1)=:
13971-
13972- # Commands to make compiler produce verbose output that lists
13973- # what "hidden" libraries, object files and flags are used when
13974- # linking a shared library.
13975- #
13976- # There doesn't appear to be a way to prevent this compiler from
13977- # explicitly linking system object files so we need to strip them
13978- # from the output so that they don't get included in the library
13979- # dependencies.
13980- output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "ld"`; templist=`$ECHO "X$templist" | $Xsed -e "s/\(^.*ld.*\)\( .*ld .*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; $ECHO "X$list" | $Xsed'
13981- ;;
13982- xl*)
13983- # IBM XL 8.0 on PPC, with GNU ld
13984- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
13985- _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}--export-dynamic'
13986- _LT_TAGVAR(archive_cmds, $1)='$CC -qmkshrobj $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
13987- if test "x$supports_anon_versioning" = xyes; then
13988- _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~
13989- cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
13990- echo "local: *; };" >> $output_objdir/$libname.ver~
13991- $CC -qmkshrobj $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib'
13992- fi
13993- ;;
13994- *)
13995- case `$CC -V 2>&1 | sed 5q` in
13996- *Sun\ C*)
13997- # Sun C++ 5.9
13998- _LT_TAGVAR(no_undefined_flag, $1)=' -zdefs'
13999- _LT_TAGVAR(archive_cmds, $1)='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
14000- _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-retain-symbols-file ${wl}$export_symbols'
14001- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
14002- _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; $ECHO \"$new_convenience\"` ${wl}--no-whole-archive'
14003- _LT_TAGVAR(compiler_needs_object, $1)=yes
14004-
14005- # Not sure whether something based on
14006- # $CC $CFLAGS -v conftest.$objext -o libconftest$shared_ext 2>&1
14007- # would be better.
14008- output_verbose_link_cmd='echo'
14009-
14010- # Archives containing C++ object files must be created using
14011- # "CC -xar", where "CC" is the Sun C++ compiler. This is
14012- # necessary to make sure instantiated templates are included
14013- # in the archive.
14014- _LT_TAGVAR(old_archive_cmds, $1)='$CC -xar -o $oldlib $oldobjs'
14015- ;;
14016- esac
14017- ;;
14018- esac
14019- ;;
14020-
14021- lynxos*)
14022- # FIXME: insert proper C++ library support
14023- _LT_TAGVAR(ld_shlibs, $1)=no
14024- ;;
14025-
14026- m88k*)
14027- # FIXME: insert proper C++ library support
14028- _LT_TAGVAR(ld_shlibs, $1)=no
14029- ;;
14030-
14031- mvs*)
14032- case $cc_basename in
14033- cxx*)
14034- # FIXME: insert proper C++ library support
14035- _LT_TAGVAR(ld_shlibs, $1)=no
14036- ;;
14037- *)
14038- # FIXME: insert proper C++ library support
14039- _LT_TAGVAR(ld_shlibs, $1)=no
14040- ;;
14041- esac
14042- ;;
14043-
14044- netbsd*)
14045- if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
14046- _LT_TAGVAR(archive_cmds, $1)='$LD -Bshareable -o $lib $predep_objects $libobjs $deplibs $postdep_objects $linker_flags'
14047- wlarc=
14048- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
14049- _LT_TAGVAR(hardcode_direct, $1)=yes
14050- _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
14051- fi
14052- # Workaround some broken pre-1.5 toolchains
14053- output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP conftest.$objext | $SED -e "s:-lgcc -lc -lgcc::"'
14054- ;;
14055-
14056- *nto* | *qnx*)
14057- _LT_TAGVAR(ld_shlibs, $1)=yes
14058- ;;
14059-
14060- openbsd2*)
14061- # C++ shared libraries are fairly broken
14062- _LT_TAGVAR(ld_shlibs, $1)=no
14063- ;;
14064-
14065- openbsd*)
14066- if test -f /usr/libexec/ld.so; then
14067- _LT_TAGVAR(hardcode_direct, $1)=yes
14068- _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
14069- _LT_TAGVAR(hardcode_direct_absolute, $1)=yes
14070- _LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -o $lib'
14071- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
14072- if test -z "`echo __ELF__ | $CC -E - | grep __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
14073- _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared $pic_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-retain-symbols-file,$export_symbols -o $lib'
14074- _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-E'
14075- _LT_TAGVAR(whole_archive_flag_spec, $1)="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
14076- fi
14077- output_verbose_link_cmd=echo
14078- else
14079- _LT_TAGVAR(ld_shlibs, $1)=no
14080- fi
14081- ;;
14082-
14083- osf3* | osf4* | osf5*)
14084- case $cc_basename in
14085- KCC*)
14086- # Kuck and Associates, Inc. (KAI) C++ Compiler
14087-
14088- # KCC will only create a shared library if the output file
14089- # ends with ".so" (or ".sl" for HP-UX), so rename the library
14090- # to its proper name (with version) after linking.
14091- _LT_TAGVAR(archive_cmds, $1)='tempext=`echo $shared_ext | $SED -e '\''s/\([[^()0-9A-Za-z{}]]\)/\\\\\1/g'\''`; templib=`echo "$lib" | $SED -e "s/\${tempext}\..*/.so/"`; $CC $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags --soname $soname -o \$templib; mv \$templib $lib'
14092-
14093- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath,$libdir'
14094- _LT_TAGVAR(hardcode_libdir_separator, $1)=:
14095-
14096- # Archives containing C++ object files must be created using
14097- # the KAI C++ compiler.
14098- case $host in
14099- osf3*) _LT_TAGVAR(old_archive_cmds, $1)='$CC -Bstatic -o $oldlib $oldobjs' ;;
14100- *) _LT_TAGVAR(old_archive_cmds, $1)='$CC -o $oldlib $oldobjs' ;;
14101- esac
14102- ;;
14103- RCC*)
14104- # Rational C++ 2.4.1
14105- # FIXME: insert proper C++ library support
14106- _LT_TAGVAR(ld_shlibs, $1)=no
14107- ;;
14108- cxx*)
14109- case $host in
14110- osf3*)
14111- _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*'
14112- _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname $soname `test -n "$verstring" && $ECHO "X${wl}-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib'
14113- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
14114- ;;
14115- *)
14116- _LT_TAGVAR(allow_undefined_flag, $1)=' -expect_unresolved \*'
14117- _LT_TAGVAR(archive_cmds, $1)='$CC -shared${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib'
14118- _LT_TAGVAR(archive_expsym_cmds, $1)='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done~
14119- echo "-hidden">> $lib.exp~
14120- $CC -shared$allow_undefined_flag $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags -msym -soname $soname ${wl}-input ${wl}$lib.exp `test -n "$verstring" && $ECHO "X-set_version $verstring" | $Xsed` -update_registry ${output_objdir}/so_locations -o $lib~
14121- $RM $lib.exp'
14122- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-rpath $libdir'
14123- ;;
14124- esac
14125-
14126- _LT_TAGVAR(hardcode_libdir_separator, $1)=:
14127-
14128- # Commands to make compiler produce verbose output that lists
14129- # what "hidden" libraries, object files and flags are used when
14130- # linking a shared library.
14131- #
14132- # There doesn't appear to be a way to prevent this compiler from
14133- # explicitly linking system object files so we need to strip them
14134- # from the output so that they don't get included in the library
14135- # dependencies.
14136- output_verbose_link_cmd='templist=`$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "ld" | $GREP -v "ld:"`; templist=`$ECHO "X$templist" | $Xsed -e "s/\(^.*ld.*\)\( .*ld.*$\)/\1/"`; list=""; for z in $templist; do case $z in conftest.$objext) list="$list $z";; *.$objext);; *) list="$list $z";;esac; done; $ECHO "X$list" | $Xsed'
14137- ;;
14138- *)
14139- if test "$GXX" = yes && test "$with_gnu_ld" = no; then
14140- _LT_TAGVAR(allow_undefined_flag, $1)=' ${wl}-expect_unresolved ${wl}\*'
14141- case $host in
14142- osf3*)
14143- _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "X${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
14144- ;;
14145- *)
14146- _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib ${allow_undefined_flag} $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && $ECHO "${wl}-set_version ${wl}$verstring" | $Xsed` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
14147- ;;
14148- esac
14149-
14150- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-rpath ${wl}$libdir'
14151- _LT_TAGVAR(hardcode_libdir_separator, $1)=:
14152-
14153- # Commands to make compiler produce verbose output that lists
14154- # what "hidden" libraries, object files and flags are used when
14155- # linking a shared library.
14156- output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "\-L"'
14157-
14158- else
14159- # FIXME: insert proper C++ library support
14160- _LT_TAGVAR(ld_shlibs, $1)=no
14161- fi
14162- ;;
14163- esac
14164- ;;
14165-
14166- psos*)
14167- # FIXME: insert proper C++ library support
14168- _LT_TAGVAR(ld_shlibs, $1)=no
14169- ;;
14170-
14171- sunos4*)
14172- case $cc_basename in
14173- CC*)
14174- # Sun C++ 4.x
14175- # FIXME: insert proper C++ library support
14176- _LT_TAGVAR(ld_shlibs, $1)=no
14177- ;;
14178- lcc*)
14179- # Lucid
14180- # FIXME: insert proper C++ library support
14181- _LT_TAGVAR(ld_shlibs, $1)=no
14182- ;;
14183- *)
14184- # FIXME: insert proper C++ library support
14185- _LT_TAGVAR(ld_shlibs, $1)=no
14186- ;;
14187- esac
14188- ;;
14189-
14190- solaris*)
14191- case $cc_basename in
14192- CC*)
14193- # Sun C++ 4.2, 5.x and Centerline C++
14194- _LT_TAGVAR(archive_cmds_need_lc,$1)=yes
14195- _LT_TAGVAR(no_undefined_flag, $1)=' -zdefs'
14196- _LT_TAGVAR(archive_cmds, $1)='$CC -G${allow_undefined_flag} -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags'
14197- _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
14198- $CC -G${allow_undefined_flag} ${wl}-M ${wl}$lib.exp -h$soname -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp'
14199-
14200- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
14201- _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
14202- case $host_os in
14203- solaris2.[[0-5]] | solaris2.[[0-5]].*) ;;
14204- *)
14205- # The compiler driver will combine and reorder linker options,
14206- # but understands `-z linker_flag'.
14207- # Supported since Solaris 2.6 (maybe 2.5.1?)
14208- _LT_TAGVAR(whole_archive_flag_spec, $1)='-z allextract$convenience -z defaultextract'
14209- ;;
14210- esac
14211- _LT_TAGVAR(link_all_deplibs, $1)=yes
14212-
14213- output_verbose_link_cmd='echo'
14214-
14215- # Archives containing C++ object files must be created using
14216- # "CC -xar", where "CC" is the Sun C++ compiler. This is
14217- # necessary to make sure instantiated templates are included
14218- # in the archive.
14219- _LT_TAGVAR(old_archive_cmds, $1)='$CC -xar -o $oldlib $oldobjs'
14220- ;;
14221- gcx*)
14222- # Green Hills C++ Compiler
14223- _LT_TAGVAR(archive_cmds, $1)='$CC -shared $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib'
14224-
14225- # The C++ compiler must be used to create the archive.
14226- _LT_TAGVAR(old_archive_cmds, $1)='$CC $LDFLAGS -archive -o $oldlib $oldobjs'
14227- ;;
14228- *)
14229- # GNU C++ compiler with Solaris linker
14230- if test "$GXX" = yes && test "$with_gnu_ld" = no; then
14231- _LT_TAGVAR(no_undefined_flag, $1)=' ${wl}-z ${wl}defs'
14232- if $CC --version | $GREP -v '^2\.7' > /dev/null; then
14233- _LT_TAGVAR(archive_cmds, $1)='$CC -shared -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib'
14234- _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
14235- $CC -shared -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp'
14236-
14237- # Commands to make compiler produce verbose output that lists
14238- # what "hidden" libraries, object files and flags are used when
14239- # linking a shared library.
14240- output_verbose_link_cmd='$CC -shared $CFLAGS -v conftest.$objext 2>&1 | $GREP "\-L"'
14241- else
14242- # g++ 2.7 appears to require `-G' NOT `-shared' on this
14243- # platform.
14244- _LT_TAGVAR(archive_cmds, $1)='$CC -G -nostdlib $LDFLAGS $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags ${wl}-h $wl$soname -o $lib'
14245- _LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
14246- $CC -G -nostdlib ${wl}-M $wl$lib.exp -o $lib $predep_objects $libobjs $deplibs $postdep_objects $compiler_flags~$RM $lib.exp'
14247-
14248- # Commands to make compiler produce verbose output that lists
14249- # what "hidden" libraries, object files and flags are used when
14250- # linking a shared library.
14251- output_verbose_link_cmd='$CC -G $CFLAGS -v conftest.$objext 2>&1 | $GREP "\-L"'
14252- fi
14253-
14254- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R $wl$libdir'
14255- case $host_os in
14256- solaris2.[[0-5]] | solaris2.[[0-5]].*) ;;
14257- *)
14258- _LT_TAGVAR(whole_archive_flag_spec, $1)='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract'
14259- ;;
14260- esac
14261- fi
14262- ;;
14263- esac
14264- ;;
14265-
14266- sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[[01]].[[10]]* | unixware7* | sco3.2v5.0.[[024]]*)
14267- _LT_TAGVAR(no_undefined_flag, $1)='${wl}-z,text'
14268- _LT_TAGVAR(archive_cmds_need_lc, $1)=no
14269- _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
14270- runpath_var='LD_RUN_PATH'
14271-
14272- case $cc_basename in
14273- CC*)
14274- _LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
14275- _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
14276- ;;
14277- *)
14278- _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
14279- _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
14280- ;;
14281- esac
14282- ;;
14283-
14284- sysv5* | sco3.2v5* | sco5v6*)
14285- # Note: We can NOT use -z defs as we might desire, because we do not
14286- # link with -lc, and that would cause any symbols used from libc to
14287- # always be unresolved, which means just about no library would
14288- # ever link correctly. If we're not using GNU ld we use -z text
14289- # though, which does catch some bad symbols but isn't as heavy-handed
14290- # as -z defs.
14291- _LT_TAGVAR(no_undefined_flag, $1)='${wl}-z,text'
14292- _LT_TAGVAR(allow_undefined_flag, $1)='${wl}-z,nodefs'
14293- _LT_TAGVAR(archive_cmds_need_lc, $1)=no
14294- _LT_TAGVAR(hardcode_shlibpath_var, $1)=no
14295- _LT_TAGVAR(hardcode_libdir_flag_spec, $1)='${wl}-R,$libdir'
14296- _LT_TAGVAR(hardcode_libdir_separator, $1)=':'
14297- _LT_TAGVAR(link_all_deplibs, $1)=yes
14298- _LT_TAGVAR(export_dynamic_flag_spec, $1)='${wl}-Bexport'
14299- runpath_var='LD_RUN_PATH'
14300-
14301- case $cc_basename in
14302- CC*)
14303- _LT_TAGVAR(archive_cmds, $1)='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
14304- _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
14305- ;;
14306- *)
14307- _LT_TAGVAR(archive_cmds, $1)='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
14308- _LT_TAGVAR(archive_expsym_cmds, $1)='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
14309- ;;
14310- esac
14311- ;;
14312-
14313- tandem*)
14314- case $cc_basename in
14315- NCC*)
14316- # NonStop-UX NCC 3.20
14317- # FIXME: insert proper C++ library support
14318- _LT_TAGVAR(ld_shlibs, $1)=no
14319- ;;
14320- *)
14321- # FIXME: insert proper C++ library support
14322- _LT_TAGVAR(ld_shlibs, $1)=no
14323- ;;
14324- esac
14325- ;;
14326-
14327- vxworks*)
14328- # FIXME: insert proper C++ library support
14329- _LT_TAGVAR(ld_shlibs, $1)=no
14330- ;;
14331-
14332- *)
14333- # FIXME: insert proper C++ library support
14334- _LT_TAGVAR(ld_shlibs, $1)=no
14335- ;;
14336- esac
14337-
14338- AC_MSG_RESULT([$_LT_TAGVAR(ld_shlibs, $1)])
14339- test "$_LT_TAGVAR(ld_shlibs, $1)" = no && can_build_shared=no
14340-
14341- _LT_TAGVAR(GCC, $1)="$GXX"
14342- _LT_TAGVAR(LD, $1)="$LD"
14343-
14344- ## CAVEAT EMPTOR:
14345- ## There is no encapsulation within the following macros, do not change
14346- ## the running order or otherwise move them around unless you know exactly
14347- ## what you are doing...
14348- _LT_SYS_HIDDEN_LIBDEPS($1)
14349- _LT_COMPILER_PIC($1)
14350- _LT_COMPILER_C_O($1)
14351- _LT_COMPILER_FILE_LOCKS($1)
14352- _LT_LINKER_SHLIBS($1)
14353- _LT_SYS_DYNAMIC_LINKER($1)
14354- _LT_LINKER_HARDCODE_LIBPATH($1)
14355-
14356- _LT_CONFIG($1)
14357- fi # test -n "$compiler"
14358-
14359- CC=$lt_save_CC
14360- LDCXX=$LD
14361- LD=$lt_save_LD
14362- GCC=$lt_save_GCC
14363- with_gnu_ld=$lt_save_with_gnu_ld
14364- lt_cv_path_LDCXX=$lt_cv_path_LD
14365- lt_cv_path_LD=$lt_save_path_LD
14366- lt_cv_prog_gnu_ldcxx=$lt_cv_prog_gnu_ld
14367- lt_cv_prog_gnu_ld=$lt_save_with_gnu_ld
14368-fi # test "$_lt_caught_CXX_error" != yes
14369-
14370-AC_LANG_POP
14371-])# _LT_LANG_CXX_CONFIG
14372-
14373-
14374-# _LT_SYS_HIDDEN_LIBDEPS([TAGNAME])
14375-# ---------------------------------
14376-# Figure out "hidden" library dependencies from verbose
14377-# compiler output when linking a shared library.
14378-# Parse the compiler output and extract the necessary
14379-# objects, libraries and library flags.
14380-m4_defun([_LT_SYS_HIDDEN_LIBDEPS],
14381-[m4_require([_LT_FILEUTILS_DEFAULTS])dnl
14382-# Dependencies to place before and after the object being linked:
14383-_LT_TAGVAR(predep_objects, $1)=
14384-_LT_TAGVAR(postdep_objects, $1)=
14385-_LT_TAGVAR(predeps, $1)=
14386-_LT_TAGVAR(postdeps, $1)=
14387-_LT_TAGVAR(compiler_lib_search_path, $1)=
14388-
14389-dnl we can't use the lt_simple_compile_test_code here,
14390-dnl because it contains code intended for an executable,
14391-dnl not a library. It's possible we should let each
14392-dnl tag define a new lt_????_link_test_code variable,
14393-dnl but it's only used here...
14394-m4_if([$1], [], [cat > conftest.$ac_ext <<_LT_EOF
14395-int a;
14396-void foo (void) { a = 0; }
14397-_LT_EOF
14398-], [$1], [CXX], [cat > conftest.$ac_ext <<_LT_EOF
14399-class Foo
14400-{
14401-public:
14402- Foo (void) { a = 0; }
14403-private:
14404- int a;
14405-};
14406-_LT_EOF
14407-], [$1], [F77], [cat > conftest.$ac_ext <<_LT_EOF
14408- subroutine foo
14409- implicit none
14410- integer*4 a
14411- a=0
14412- return
14413- end
14414-_LT_EOF
14415-], [$1], [FC], [cat > conftest.$ac_ext <<_LT_EOF
14416- subroutine foo
14417- implicit none
14418- integer a
14419- a=0
14420- return
14421- end
14422-_LT_EOF
14423-], [$1], [GCJ], [cat > conftest.$ac_ext <<_LT_EOF
14424-public class foo {
14425- private int a;
14426- public void bar (void) {
14427- a = 0;
14428- }
14429-};
14430-_LT_EOF
14431-])
14432-dnl Parse the compiler output and extract the necessary
14433-dnl objects, libraries and library flags.
14434-if AC_TRY_EVAL(ac_compile); then
14435- # Parse the compiler output and extract the necessary
14436- # objects, libraries and library flags.
14437-
14438- # Sentinel used to keep track of whether or not we are before
14439- # the conftest object file.
14440- pre_test_object_deps_done=no
14441-
14442- for p in `eval "$output_verbose_link_cmd"`; do
14443- case $p in
14444-
14445- -L* | -R* | -l*)
14446- # Some compilers place space between "-{L,R}" and the path.
14447- # Remove the space.
14448- if test $p = "-L" ||
14449- test $p = "-R"; then
14450- prev=$p
14451- continue
14452- else
14453- prev=
14454- fi
14455-
14456- if test "$pre_test_object_deps_done" = no; then
14457- case $p in
14458- -L* | -R*)
14459- # Internal compiler library paths should come after those
14460- # provided the user. The postdeps already come after the
14461- # user supplied libs so there is no need to process them.
14462- if test -z "$_LT_TAGVAR(compiler_lib_search_path, $1)"; then
14463- _LT_TAGVAR(compiler_lib_search_path, $1)="${prev}${p}"
14464- else
14465- _LT_TAGVAR(compiler_lib_search_path, $1)="${_LT_TAGVAR(compiler_lib_search_path, $1)} ${prev}${p}"
14466- fi
14467- ;;
14468- # The "-l" case would never come before the object being
14469- # linked, so don't bother handling this case.
14470- esac
14471- else
14472- if test -z "$_LT_TAGVAR(postdeps, $1)"; then
14473- _LT_TAGVAR(postdeps, $1)="${prev}${p}"
14474- else
14475- _LT_TAGVAR(postdeps, $1)="${_LT_TAGVAR(postdeps, $1)} ${prev}${p}"
14476- fi
14477- fi
14478- ;;
14479-
14480- *.$objext)
14481- # This assumes that the test object file only shows up
14482- # once in the compiler output.
14483- if test "$p" = "conftest.$objext"; then
14484- pre_test_object_deps_done=yes
14485- continue
14486- fi
14487-
14488- if test "$pre_test_object_deps_done" = no; then
14489- if test -z "$_LT_TAGVAR(predep_objects, $1)"; then
14490- _LT_TAGVAR(predep_objects, $1)="$p"
14491- else
14492- _LT_TAGVAR(predep_objects, $1)="$_LT_TAGVAR(predep_objects, $1) $p"
14493- fi
14494- else
14495- if test -z "$_LT_TAGVAR(postdep_objects, $1)"; then
14496- _LT_TAGVAR(postdep_objects, $1)="$p"
14497- else
14498- _LT_TAGVAR(postdep_objects, $1)="$_LT_TAGVAR(postdep_objects, $1) $p"
14499- fi
14500- fi
14501- ;;
14502-
14503- *) ;; # Ignore the rest.
14504-
14505- esac
14506- done
14507-
14508- # Clean up.
14509- rm -f a.out a.exe
14510-else
14511- echo "libtool.m4: error: problem compiling $1 test program"
14512-fi
14513-
14514-$RM -f confest.$objext
14515-
14516-# PORTME: override above test on systems where it is broken
14517-m4_if([$1], [CXX],
14518-[case $host_os in
14519-interix[[3-9]]*)
14520- # Interix 3.5 installs completely hosed .la files for C++, so rather than
14521- # hack all around it, let's just trust "g++" to DTRT.
14522- _LT_TAGVAR(predep_objects,$1)=
14523- _LT_TAGVAR(postdep_objects,$1)=
14524- _LT_TAGVAR(postdeps,$1)=
14525- ;;
14526-
14527-linux*)
14528- case `$CC -V 2>&1 | sed 5q` in
14529- *Sun\ C*)
14530- # Sun C++ 5.9
14531-
14532- # The more standards-conforming stlport4 library is
14533- # incompatible with the Cstd library. Avoid specifying
14534- # it if it's in CXXFLAGS. Ignore libCrun as
14535- # -library=stlport4 depends on it.
14536- case " $CXX $CXXFLAGS " in
14537- *" -library=stlport4 "*)
14538- solaris_use_stlport4=yes
14539- ;;
14540- esac
14541-
14542- if test "$solaris_use_stlport4" != yes; then
14543- _LT_TAGVAR(postdeps,$1)='-library=Cstd -library=Crun'
14544- fi
14545- ;;
14546- esac
14547- ;;
14548-
14549-solaris*)
14550- case $cc_basename in
14551- CC*)
14552- # The more standards-conforming stlport4 library is
14553- # incompatible with the Cstd library. Avoid specifying
14554- # it if it's in CXXFLAGS. Ignore libCrun as
14555- # -library=stlport4 depends on it.
14556- case " $CXX $CXXFLAGS " in
14557- *" -library=stlport4 "*)
14558- solaris_use_stlport4=yes
14559- ;;
14560- esac
14561-
14562- # Adding this requires a known-good setup of shared libraries for
14563- # Sun compiler versions before 5.6, else PIC objects from an old
14564- # archive will be linked into the output, leading to subtle bugs.
14565- if test "$solaris_use_stlport4" != yes; then
14566- _LT_TAGVAR(postdeps,$1)='-library=Cstd -library=Crun'
14567- fi
14568- ;;
14569- esac
14570- ;;
14571-esac
14572-])
14573-
14574-case " $_LT_TAGVAR(postdeps, $1) " in
14575-*" -lc "*) _LT_TAGVAR(archive_cmds_need_lc, $1)=no ;;
14576-esac
14577- _LT_TAGVAR(compiler_lib_search_dirs, $1)=
14578-if test -n "${_LT_TAGVAR(compiler_lib_search_path, $1)}"; then
14579- _LT_TAGVAR(compiler_lib_search_dirs, $1)=`echo " ${_LT_TAGVAR(compiler_lib_search_path, $1)}" | ${SED} -e 's! -L! !g' -e 's!^ !!'`
14580-fi
14581-_LT_TAGDECL([], [compiler_lib_search_dirs], [1],
14582- [The directories searched by this compiler when creating a shared library])
14583-_LT_TAGDECL([], [predep_objects], [1],
14584- [Dependencies to place before and after the objects being linked to
14585- create a shared library])
14586-_LT_TAGDECL([], [postdep_objects], [1])
14587-_LT_TAGDECL([], [predeps], [1])
14588-_LT_TAGDECL([], [postdeps], [1])
14589-_LT_TAGDECL([], [compiler_lib_search_path], [1],
14590- [The library search path used internally by the compiler when linking
14591- a shared library])
14592-])# _LT_SYS_HIDDEN_LIBDEPS
14593-
14594-
14595-# _LT_PROG_F77
14596-# ------------
14597-# Since AC_PROG_F77 is broken, in that it returns the empty string
14598-# if there is no fortran compiler, we have our own version here.
14599-m4_defun([_LT_PROG_F77],
14600-[
14601-pushdef([AC_MSG_ERROR], [_lt_disable_F77=yes])
14602-AC_PROG_F77
14603-if test -z "$F77" || test "X$F77" = "Xno"; then
14604- _lt_disable_F77=yes
14605-fi
14606-popdef([AC_MSG_ERROR])
14607-])# _LT_PROG_F77
14608-
14609-dnl aclocal-1.4 backwards compatibility:
14610-dnl AC_DEFUN([_LT_PROG_F77], [])
14611-
14612-
14613-# _LT_LANG_F77_CONFIG([TAG])
14614-# --------------------------
14615-# Ensure that the configuration variables for a Fortran 77 compiler are
14616-# suitably defined. These variables are subsequently used by _LT_CONFIG
14617-# to write the compiler configuration to `libtool'.
14618-m4_defun([_LT_LANG_F77_CONFIG],
14619-[AC_REQUIRE([_LT_PROG_F77])dnl
14620-AC_LANG_PUSH(Fortran 77)
14621-
14622-_LT_TAGVAR(archive_cmds_need_lc, $1)=no
14623-_LT_TAGVAR(allow_undefined_flag, $1)=
14624-_LT_TAGVAR(always_export_symbols, $1)=no
14625-_LT_TAGVAR(archive_expsym_cmds, $1)=
14626-_LT_TAGVAR(export_dynamic_flag_spec, $1)=
14627-_LT_TAGVAR(hardcode_direct, $1)=no
14628-_LT_TAGVAR(hardcode_direct_absolute, $1)=no
14629-_LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
14630-_LT_TAGVAR(hardcode_libdir_flag_spec_ld, $1)=
14631-_LT_TAGVAR(hardcode_libdir_separator, $1)=
14632-_LT_TAGVAR(hardcode_minus_L, $1)=no
14633-_LT_TAGVAR(hardcode_automatic, $1)=no
14634-_LT_TAGVAR(inherit_rpath, $1)=no
14635-_LT_TAGVAR(module_cmds, $1)=
14636-_LT_TAGVAR(module_expsym_cmds, $1)=
14637-_LT_TAGVAR(link_all_deplibs, $1)=unknown
14638-_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds
14639-_LT_TAGVAR(no_undefined_flag, $1)=
14640-_LT_TAGVAR(whole_archive_flag_spec, $1)=
14641-_LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no
14642-
14643-# Source file extension for f77 test sources.
14644-ac_ext=f
14645-
14646-# Object file extension for compiled f77 test sources.
14647-objext=o
14648-_LT_TAGVAR(objext, $1)=$objext
14649-
14650-# No sense in running all these tests if we already determined that
14651-# the F77 compiler isn't working. Some variables (like enable_shared)
14652-# are currently assumed to apply to all compilers on this platform,
14653-# and will be corrupted by setting them based on a non-working compiler.
14654-if test "$_lt_disable_F77" != yes; then
14655- # Code to be used in simple compile tests
14656- lt_simple_compile_test_code="\
14657- subroutine t
14658- return
14659- end
14660-"
14661-
14662- # Code to be used in simple link tests
14663- lt_simple_link_test_code="\
14664- program t
14665- end
14666-"
14667-
14668- # ltmain only uses $CC for tagged configurations so make sure $CC is set.
14669- _LT_TAG_COMPILER
14670-
14671- # save warnings/boilerplate of simple test code
14672- _LT_COMPILER_BOILERPLATE
14673- _LT_LINKER_BOILERPLATE
14674-
14675- # Allow CC to be a program name with arguments.
14676- lt_save_CC="$CC"
14677- lt_save_GCC=$GCC
14678- CC=${F77-"f77"}
14679- compiler=$CC
14680- _LT_TAGVAR(compiler, $1)=$CC
14681- _LT_CC_BASENAME([$compiler])
14682- GCC=$G77
14683- if test -n "$compiler"; then
14684- AC_MSG_CHECKING([if libtool supports shared libraries])
14685- AC_MSG_RESULT([$can_build_shared])
14686-
14687- AC_MSG_CHECKING([whether to build shared libraries])
14688- test "$can_build_shared" = "no" && enable_shared=no
14689-
14690- # On AIX, shared libraries and static libraries use the same namespace, and
14691- # are all built from PIC.
14692- case $host_os in
14693- aix3*)
14694- test "$enable_shared" = yes && enable_static=no
14695- if test -n "$RANLIB"; then
14696- archive_cmds="$archive_cmds~\$RANLIB \$lib"
14697- postinstall_cmds='$RANLIB $lib'
14698- fi
14699- ;;
14700- aix[[4-9]]*)
14701- if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then
14702- test "$enable_shared" = yes && enable_static=no
14703- fi
14704- ;;
14705- esac
14706- AC_MSG_RESULT([$enable_shared])
14707-
14708- AC_MSG_CHECKING([whether to build static libraries])
14709- # Make sure either enable_shared or enable_static is yes.
14710- test "$enable_shared" = yes || enable_static=yes
14711- AC_MSG_RESULT([$enable_static])
14712-
14713- _LT_TAGVAR(GCC, $1)="$G77"
14714- _LT_TAGVAR(LD, $1)="$LD"
14715-
14716- ## CAVEAT EMPTOR:
14717- ## There is no encapsulation within the following macros, do not change
14718- ## the running order or otherwise move them around unless you know exactly
14719- ## what you are doing...
14720- _LT_COMPILER_PIC($1)
14721- _LT_COMPILER_C_O($1)
14722- _LT_COMPILER_FILE_LOCKS($1)
14723- _LT_LINKER_SHLIBS($1)
14724- _LT_SYS_DYNAMIC_LINKER($1)
14725- _LT_LINKER_HARDCODE_LIBPATH($1)
14726-
14727- _LT_CONFIG($1)
14728- fi # test -n "$compiler"
14729-
14730- GCC=$lt_save_GCC
14731- CC="$lt_save_CC"
14732-fi # test "$_lt_disable_F77" != yes
14733-
14734-AC_LANG_POP
14735-])# _LT_LANG_F77_CONFIG
14736-
14737-
14738-# _LT_PROG_FC
14739-# -----------
14740-# Since AC_PROG_FC is broken, in that it returns the empty string
14741-# if there is no fortran compiler, we have our own version here.
14742-m4_defun([_LT_PROG_FC],
14743-[
14744-pushdef([AC_MSG_ERROR], [_lt_disable_FC=yes])
14745-AC_PROG_FC
14746-if test -z "$FC" || test "X$FC" = "Xno"; then
14747- _lt_disable_FC=yes
14748-fi
14749-popdef([AC_MSG_ERROR])
14750-])# _LT_PROG_FC
14751-
14752-dnl aclocal-1.4 backwards compatibility:
14753-dnl AC_DEFUN([_LT_PROG_FC], [])
14754-
14755-
14756-# _LT_LANG_FC_CONFIG([TAG])
14757-# -------------------------
14758-# Ensure that the configuration variables for a Fortran compiler are
14759-# suitably defined. These variables are subsequently used by _LT_CONFIG
14760-# to write the compiler configuration to `libtool'.
14761-m4_defun([_LT_LANG_FC_CONFIG],
14762-[AC_REQUIRE([_LT_PROG_FC])dnl
14763-AC_LANG_PUSH(Fortran)
14764-
14765-_LT_TAGVAR(archive_cmds_need_lc, $1)=no
14766-_LT_TAGVAR(allow_undefined_flag, $1)=
14767-_LT_TAGVAR(always_export_symbols, $1)=no
14768-_LT_TAGVAR(archive_expsym_cmds, $1)=
14769-_LT_TAGVAR(export_dynamic_flag_spec, $1)=
14770-_LT_TAGVAR(hardcode_direct, $1)=no
14771-_LT_TAGVAR(hardcode_direct_absolute, $1)=no
14772-_LT_TAGVAR(hardcode_libdir_flag_spec, $1)=
14773-_LT_TAGVAR(hardcode_libdir_flag_spec_ld, $1)=
14774-_LT_TAGVAR(hardcode_libdir_separator, $1)=
14775-_LT_TAGVAR(hardcode_minus_L, $1)=no
14776-_LT_TAGVAR(hardcode_automatic, $1)=no
14777-_LT_TAGVAR(inherit_rpath, $1)=no
14778-_LT_TAGVAR(module_cmds, $1)=
14779-_LT_TAGVAR(module_expsym_cmds, $1)=
14780-_LT_TAGVAR(link_all_deplibs, $1)=unknown
14781-_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds
14782-_LT_TAGVAR(no_undefined_flag, $1)=
14783-_LT_TAGVAR(whole_archive_flag_spec, $1)=
14784-_LT_TAGVAR(enable_shared_with_static_runtimes, $1)=no
14785-
14786-# Source file extension for fc test sources.
14787-ac_ext=${ac_fc_srcext-f}
14788-
14789-# Object file extension for compiled fc test sources.
14790-objext=o
14791-_LT_TAGVAR(objext, $1)=$objext
14792-
14793-# No sense in running all these tests if we already determined that
14794-# the FC compiler isn't working. Some variables (like enable_shared)
14795-# are currently assumed to apply to all compilers on this platform,
14796-# and will be corrupted by setting them based on a non-working compiler.
14797-if test "$_lt_disable_FC" != yes; then
14798- # Code to be used in simple compile tests
14799- lt_simple_compile_test_code="\
14800- subroutine t
14801- return
14802- end
14803-"
14804-
14805- # Code to be used in simple link tests
14806- lt_simple_link_test_code="\
14807- program t
14808- end
14809-"
14810-
14811- # ltmain only uses $CC for tagged configurations so make sure $CC is set.
14812- _LT_TAG_COMPILER
14813-
14814- # save warnings/boilerplate of simple test code
14815- _LT_COMPILER_BOILERPLATE
14816- _LT_LINKER_BOILERPLATE
14817-
14818- # Allow CC to be a program name with arguments.
14819- lt_save_CC="$CC"
14820- lt_save_GCC=$GCC
14821- CC=${FC-"f95"}
14822- compiler=$CC
14823- GCC=$ac_cv_fc_compiler_gnu
14824-
14825- _LT_TAGVAR(compiler, $1)=$CC
14826- _LT_CC_BASENAME([$compiler])
14827-
14828- if test -n "$compiler"; then
14829- AC_MSG_CHECKING([if libtool supports shared libraries])
14830- AC_MSG_RESULT([$can_build_shared])
14831-
14832- AC_MSG_CHECKING([whether to build shared libraries])
14833- test "$can_build_shared" = "no" && enable_shared=no
14834-
14835- # On AIX, shared libraries and static libraries use the same namespace, and
14836- # are all built from PIC.
14837- case $host_os in
14838- aix3*)
14839- test "$enable_shared" = yes && enable_static=no
14840- if test -n "$RANLIB"; then
14841- archive_cmds="$archive_cmds~\$RANLIB \$lib"
14842- postinstall_cmds='$RANLIB $lib'
14843- fi
14844- ;;
14845- aix[[4-9]]*)
14846- if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then
14847- test "$enable_shared" = yes && enable_static=no
14848- fi
14849- ;;
14850- esac
14851- AC_MSG_RESULT([$enable_shared])
14852-
14853- AC_MSG_CHECKING([whether to build static libraries])
14854- # Make sure either enable_shared or enable_static is yes.
14855- test "$enable_shared" = yes || enable_static=yes
14856- AC_MSG_RESULT([$enable_static])
14857-
14858- _LT_TAGVAR(GCC, $1)="$ac_cv_fc_compiler_gnu"
14859- _LT_TAGVAR(LD, $1)="$LD"
14860-
14861- ## CAVEAT EMPTOR:
14862- ## There is no encapsulation within the following macros, do not change
14863- ## the running order or otherwise move them around unless you know exactly
14864- ## what you are doing...
14865- _LT_SYS_HIDDEN_LIBDEPS($1)
14866- _LT_COMPILER_PIC($1)
14867- _LT_COMPILER_C_O($1)
14868- _LT_COMPILER_FILE_LOCKS($1)
14869- _LT_LINKER_SHLIBS($1)
14870- _LT_SYS_DYNAMIC_LINKER($1)
14871- _LT_LINKER_HARDCODE_LIBPATH($1)
14872-
14873- _LT_CONFIG($1)
14874- fi # test -n "$compiler"
14875-
14876- GCC=$lt_save_GCC
14877- CC="$lt_save_CC"
14878-fi # test "$_lt_disable_FC" != yes
14879-
14880-AC_LANG_POP
14881-])# _LT_LANG_FC_CONFIG
14882-
14883-
14884-# _LT_LANG_GCJ_CONFIG([TAG])
14885-# --------------------------
14886-# Ensure that the configuration variables for the GNU Java Compiler compiler
14887-# are suitably defined. These variables are subsequently used by _LT_CONFIG
14888-# to write the compiler configuration to `libtool'.
14889-m4_defun([_LT_LANG_GCJ_CONFIG],
14890-[AC_REQUIRE([LT_PROG_GCJ])dnl
14891-AC_LANG_SAVE
14892-
14893-# Source file extension for Java test sources.
14894-ac_ext=java
14895-
14896-# Object file extension for compiled Java test sources.
14897-objext=o
14898-_LT_TAGVAR(objext, $1)=$objext
14899-
14900-# Code to be used in simple compile tests
14901-lt_simple_compile_test_code="class foo {}"
14902-
14903-# Code to be used in simple link tests
14904-lt_simple_link_test_code='public class conftest { public static void main(String[[]] argv) {}; }'
14905-
14906-# ltmain only uses $CC for tagged configurations so make sure $CC is set.
14907-_LT_TAG_COMPILER
14908-
14909-# save warnings/boilerplate of simple test code
14910-_LT_COMPILER_BOILERPLATE
14911-_LT_LINKER_BOILERPLATE
14912-
14913-# Allow CC to be a program name with arguments.
14914-lt_save_CC="$CC"
14915-lt_save_GCC=$GCC
14916-GCC=yes
14917-CC=${GCJ-"gcj"}
14918-compiler=$CC
14919-_LT_TAGVAR(compiler, $1)=$CC
14920-_LT_TAGVAR(LD, $1)="$LD"
14921-_LT_CC_BASENAME([$compiler])
14922-
14923-# GCJ did not exist at the time GCC didn't implicitly link libc in.
14924-_LT_TAGVAR(archive_cmds_need_lc, $1)=no
14925-
14926-_LT_TAGVAR(old_archive_cmds, $1)=$old_archive_cmds
14927-
14928-## CAVEAT EMPTOR:
14929-## There is no encapsulation within the following macros, do not change
14930-## the running order or otherwise move them around unless you know exactly
14931-## what you are doing...
14932-if test -n "$compiler"; then
14933- _LT_COMPILER_NO_RTTI($1)
14934- _LT_COMPILER_PIC($1)
14935- _LT_COMPILER_C_O($1)
14936- _LT_COMPILER_FILE_LOCKS($1)
14937- _LT_LINKER_SHLIBS($1)
14938- _LT_LINKER_HARDCODE_LIBPATH($1)
14939-
14940- _LT_CONFIG($1)
14941-fi
14942-
14943-AC_LANG_RESTORE
14944-
14945-GCC=$lt_save_GCC
14946-CC="$lt_save_CC"
14947-])# _LT_LANG_GCJ_CONFIG
14948-
14949-
14950-# _LT_LANG_RC_CONFIG([TAG])
14951-# -------------------------
14952-# Ensure that the configuration variables for the Windows resource compiler
14953-# are suitably defined. These variables are subsequently used by _LT_CONFIG
14954-# to write the compiler configuration to `libtool'.
14955-m4_defun([_LT_LANG_RC_CONFIG],
14956-[AC_REQUIRE([LT_PROG_RC])dnl
14957-AC_LANG_SAVE
14958-
14959-# Source file extension for RC test sources.
14960-ac_ext=rc
14961-
14962-# Object file extension for compiled RC test sources.
14963-objext=o
14964-_LT_TAGVAR(objext, $1)=$objext
14965-
14966-# Code to be used in simple compile tests
14967-lt_simple_compile_test_code='sample MENU { MENUITEM "&Soup", 100, CHECKED }'
14968-
14969-# Code to be used in simple link tests
14970-lt_simple_link_test_code="$lt_simple_compile_test_code"
14971-
14972-# ltmain only uses $CC for tagged configurations so make sure $CC is set.
14973-_LT_TAG_COMPILER
14974-
14975-# save warnings/boilerplate of simple test code
14976-_LT_COMPILER_BOILERPLATE
14977-_LT_LINKER_BOILERPLATE
14978-
14979-# Allow CC to be a program name with arguments.
14980-lt_save_CC="$CC"
14981-lt_save_GCC=$GCC
14982-GCC=
14983-CC=${RC-"windres"}
14984-compiler=$CC
14985-_LT_TAGVAR(compiler, $1)=$CC
14986-_LT_CC_BASENAME([$compiler])
14987-_LT_TAGVAR(lt_cv_prog_compiler_c_o, $1)=yes
14988-
14989-if test -n "$compiler"; then
14990- :
14991- _LT_CONFIG($1)
14992-fi
14993-
14994-GCC=$lt_save_GCC
14995-AC_LANG_RESTORE
14996-CC="$lt_save_CC"
14997-])# _LT_LANG_RC_CONFIG
14998-
14999-
15000-# LT_PROG_GCJ
15001-# -----------
15002-AC_DEFUN([LT_PROG_GCJ],
15003-[m4_ifdef([AC_PROG_GCJ], [AC_PROG_GCJ],
15004- [m4_ifdef([A][M_PROG_GCJ], [A][M_PROG_GCJ],
15005- [AC_CHECK_TOOL(GCJ, gcj,)
15006- test "x${GCJFLAGS+set}" = xset || GCJFLAGS="-g -O2"
15007- AC_SUBST(GCJFLAGS)])])[]dnl
15008-])
15009-
15010-# Old name:
15011-AU_ALIAS([LT_AC_PROG_GCJ], [LT_PROG_GCJ])
15012-dnl aclocal-1.4 backwards compatibility:
15013-dnl AC_DEFUN([LT_AC_PROG_GCJ], [])
15014-
15015-
15016-# LT_PROG_RC
15017-# ----------
15018-AC_DEFUN([LT_PROG_RC],
15019-[AC_CHECK_TOOL(RC, windres,)
15020-])
15021-
15022-# Old name:
15023-AU_ALIAS([LT_AC_PROG_RC], [LT_PROG_RC])
15024-dnl aclocal-1.4 backwards compatibility:
15025-dnl AC_DEFUN([LT_AC_PROG_RC], [])
15026-
15027-
15028-# _LT_DECL_EGREP
15029-# --------------
15030-# If we don't have a new enough Autoconf to choose the best grep
15031-# available, choose the one first in the user's PATH.
15032-m4_defun([_LT_DECL_EGREP],
15033-[AC_REQUIRE([AC_PROG_EGREP])dnl
15034-AC_REQUIRE([AC_PROG_FGREP])dnl
15035-test -z "$GREP" && GREP=grep
15036-_LT_DECL([], [GREP], [1], [A grep program that handles long lines])
15037-_LT_DECL([], [EGREP], [1], [An ERE matcher])
15038-_LT_DECL([], [FGREP], [1], [A literal string matcher])
15039-dnl Non-bleeding-edge autoconf doesn't subst GREP, so do it here too
15040-AC_SUBST([GREP])
15041-])
15042-
15043-
15044-# _LT_DECL_OBJDUMP
15045-# --------------
15046-# If we don't have a new enough Autoconf to choose the best objdump
15047-# available, choose the one first in the user's PATH.
15048-m4_defun([_LT_DECL_OBJDUMP],
15049-[AC_CHECK_TOOL(OBJDUMP, objdump, false)
15050-test -z "$OBJDUMP" && OBJDUMP=objdump
15051-_LT_DECL([], [OBJDUMP], [1], [An object symbol dumper])
15052-AC_SUBST([OBJDUMP])
15053-])
15054-
15055-
15056-# _LT_DECL_SED
15057-# ------------
15058-# Check for a fully-functional sed program, that truncates
15059-# as few characters as possible. Prefer GNU sed if found.
15060-m4_defun([_LT_DECL_SED],
15061-[AC_PROG_SED
15062-test -z "$SED" && SED=sed
15063-Xsed="$SED -e 1s/^X//"
15064-_LT_DECL([], [SED], [1], [A sed program that does not truncate output])
15065-_LT_DECL([], [Xsed], ["\$SED -e 1s/^X//"],
15066- [Sed that helps us avoid accidentally triggering echo(1) options like -n])
15067-])# _LT_DECL_SED
15068-
15069-m4_ifndef([AC_PROG_SED], [
15070-############################################################
15071-# NOTE: This macro has been submitted for inclusion into #
15072-# GNU Autoconf as AC_PROG_SED. When it is available in #
15073-# a released version of Autoconf we should remove this #
15074-# macro and use it instead. #
15075-############################################################
15076-
15077-m4_defun([AC_PROG_SED],
15078-[AC_MSG_CHECKING([for a sed that does not truncate output])
15079-AC_CACHE_VAL(lt_cv_path_SED,
15080-[# Loop through the user's path and test for sed and gsed.
15081-# Then use that list of sed's as ones to test for truncation.
15082-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
15083-for as_dir in $PATH
15084-do
15085- IFS=$as_save_IFS
15086- test -z "$as_dir" && as_dir=.
15087- for lt_ac_prog in sed gsed; do
15088- for ac_exec_ext in '' $ac_executable_extensions; do
15089- if $as_executable_p "$as_dir/$lt_ac_prog$ac_exec_ext"; then
15090- lt_ac_sed_list="$lt_ac_sed_list $as_dir/$lt_ac_prog$ac_exec_ext"
15091- fi
15092- done
15093- done
15094-done
15095-IFS=$as_save_IFS
15096-lt_ac_max=0
15097-lt_ac_count=0
15098-# Add /usr/xpg4/bin/sed as it is typically found on Solaris
15099-# along with /bin/sed that truncates output.
15100-for lt_ac_sed in $lt_ac_sed_list /usr/xpg4/bin/sed; do
15101- test ! -f $lt_ac_sed && continue
15102- cat /dev/null > conftest.in
15103- lt_ac_count=0
15104- echo $ECHO_N "0123456789$ECHO_C" >conftest.in
15105- # Check for GNU sed and select it if it is found.
15106- if "$lt_ac_sed" --version 2>&1 < /dev/null | grep 'GNU' > /dev/null; then
15107- lt_cv_path_SED=$lt_ac_sed
15108- break
15109- fi
15110- while true; do
15111- cat conftest.in conftest.in >conftest.tmp
15112- mv conftest.tmp conftest.in
15113- cp conftest.in conftest.nl
15114- echo >>conftest.nl
15115- $lt_ac_sed -e 's/a$//' < conftest.nl >conftest.out || break
15116- cmp -s conftest.out conftest.nl || break
15117- # 10000 chars as input seems more than enough
15118- test $lt_ac_count -gt 10 && break
15119- lt_ac_count=`expr $lt_ac_count + 1`
15120- if test $lt_ac_count -gt $lt_ac_max; then
15121- lt_ac_max=$lt_ac_count
15122- lt_cv_path_SED=$lt_ac_sed
15123- fi
15124- done
15125-done
15126-])
15127-SED=$lt_cv_path_SED
15128-AC_SUBST([SED])
15129-AC_MSG_RESULT([$SED])
15130-])#AC_PROG_SED
15131-])#m4_ifndef
15132-
15133-# Old name:
15134-AU_ALIAS([LT_AC_PROG_SED], [AC_PROG_SED])
15135-dnl aclocal-1.4 backwards compatibility:
15136-dnl AC_DEFUN([LT_AC_PROG_SED], [])
15137-
15138-
15139-# _LT_CHECK_SHELL_FEATURES
15140-# ------------------------
15141-# Find out whether the shell is Bourne or XSI compatible,
15142-# or has some other useful features.
15143-m4_defun([_LT_CHECK_SHELL_FEATURES],
15144-[AC_MSG_CHECKING([whether the shell understands some XSI constructs])
15145-# Try some XSI features
15146-xsi_shell=no
15147-( _lt_dummy="a/b/c"
15148- test "${_lt_dummy##*/},${_lt_dummy%/*},"${_lt_dummy%"$_lt_dummy"}, \
15149- = c,a/b,, \
15150- && eval 'test $(( 1 + 1 )) -eq 2 \
15151- && test "${#_lt_dummy}" -eq 5' ) >/dev/null 2>&1 \
15152- && xsi_shell=yes
15153-AC_MSG_RESULT([$xsi_shell])
15154-_LT_CONFIG_LIBTOOL_INIT([xsi_shell='$xsi_shell'])
15155-
15156-AC_MSG_CHECKING([whether the shell understands "+="])
15157-lt_shell_append=no
15158-( foo=bar; set foo baz; eval "$[1]+=\$[2]" && test "$foo" = barbaz ) \
15159- >/dev/null 2>&1 \
15160- && lt_shell_append=yes
15161-AC_MSG_RESULT([$lt_shell_append])
15162-_LT_CONFIG_LIBTOOL_INIT([lt_shell_append='$lt_shell_append'])
15163-
15164-if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then
15165- lt_unset=unset
15166-else
15167- lt_unset=false
15168-fi
15169-_LT_DECL([], [lt_unset], [0], [whether the shell understands "unset"])dnl
15170-
15171-# test EBCDIC or ASCII
15172-case `echo X|tr X '\101'` in
15173- A) # ASCII based system
15174- # \n is not interpreted correctly by Solaris 8 /usr/ucb/tr
15175- lt_SP2NL='tr \040 \012'
15176- lt_NL2SP='tr \015\012 \040\040'
15177- ;;
15178- *) # EBCDIC based system
15179- lt_SP2NL='tr \100 \n'
15180- lt_NL2SP='tr \r\n \100\100'
15181- ;;
15182-esac
15183-_LT_DECL([SP2NL], [lt_SP2NL], [1], [turn spaces into newlines])dnl
15184-_LT_DECL([NL2SP], [lt_NL2SP], [1], [turn newlines into spaces])dnl
15185-])# _LT_CHECK_SHELL_FEATURES
15186-
15187-
15188-# _LT_PROG_XSI_SHELLFNS
15189-# ---------------------
15190-# Bourne and XSI compatible variants of some useful shell functions.
15191-m4_defun([_LT_PROG_XSI_SHELLFNS],
15192-[case $xsi_shell in
15193- yes)
15194- cat << \_LT_EOF >> "$cfgfile"
15195-
15196-# func_dirname file append nondir_replacement
15197-# Compute the dirname of FILE. If nonempty, add APPEND to the result,
15198-# otherwise set result to NONDIR_REPLACEMENT.
15199-func_dirname ()
15200-{
15201- case ${1} in
15202- */*) func_dirname_result="${1%/*}${2}" ;;
15203- * ) func_dirname_result="${3}" ;;
15204- esac
15205-}
15206-
15207-# func_basename file
15208-func_basename ()
15209-{
15210- func_basename_result="${1##*/}"
15211-}
15212-
15213-# func_dirname_and_basename file append nondir_replacement
15214-# perform func_basename and func_dirname in a single function
15215-# call:
15216-# dirname: Compute the dirname of FILE. If nonempty,
15217-# add APPEND to the result, otherwise set result
15218-# to NONDIR_REPLACEMENT.
15219-# value returned in "$func_dirname_result"
15220-# basename: Compute filename of FILE.
15221-# value retuned in "$func_basename_result"
15222-# Implementation must be kept synchronized with func_dirname
15223-# and func_basename. For efficiency, we do not delegate to
15224-# those functions but instead duplicate the functionality here.
15225-func_dirname_and_basename ()
15226-{
15227- case ${1} in
15228- */*) func_dirname_result="${1%/*}${2}" ;;
15229- * ) func_dirname_result="${3}" ;;
15230- esac
15231- func_basename_result="${1##*/}"
15232-}
15233-
15234-# func_stripname prefix suffix name
15235-# strip PREFIX and SUFFIX off of NAME.
15236-# PREFIX and SUFFIX must not contain globbing or regex special
15237-# characters, hashes, percent signs, but SUFFIX may contain a leading
15238-# dot (in which case that matches only a dot).
15239-func_stripname ()
15240-{
15241- # pdksh 5.2.14 does not do ${X%$Y} correctly if both X and Y are
15242- # positional parameters, so assign one to ordinary parameter first.
15243- func_stripname_result=${3}
15244- func_stripname_result=${func_stripname_result#"${1}"}
15245- func_stripname_result=${func_stripname_result%"${2}"}
15246-}
15247-
15248-# func_opt_split
15249-func_opt_split ()
15250-{
15251- func_opt_split_opt=${1%%=*}
15252- func_opt_split_arg=${1#*=}
15253-}
15254-
15255-# func_lo2o object
15256-func_lo2o ()
15257-{
15258- case ${1} in
15259- *.lo) func_lo2o_result=${1%.lo}.${objext} ;;
15260- *) func_lo2o_result=${1} ;;
15261- esac
15262-}
15263-
15264-# func_xform libobj-or-source
15265-func_xform ()
15266-{
15267- func_xform_result=${1%.*}.lo
15268-}
15269-
15270-# func_arith arithmetic-term...
15271-func_arith ()
15272-{
15273- func_arith_result=$(( $[*] ))
15274-}
15275-
15276-# func_len string
15277-# STRING may not start with a hyphen.
15278-func_len ()
15279-{
15280- func_len_result=${#1}
15281-}
15282-
15283-_LT_EOF
15284- ;;
15285- *) # Bourne compatible functions.
15286- cat << \_LT_EOF >> "$cfgfile"
15287-
15288-# func_dirname file append nondir_replacement
15289-# Compute the dirname of FILE. If nonempty, add APPEND to the result,
15290-# otherwise set result to NONDIR_REPLACEMENT.
15291-func_dirname ()
15292-{
15293- # Extract subdirectory from the argument.
15294- func_dirname_result=`$ECHO "X${1}" | $Xsed -e "$dirname"`
15295- if test "X$func_dirname_result" = "X${1}"; then
15296- func_dirname_result="${3}"
15297- else
15298- func_dirname_result="$func_dirname_result${2}"
15299- fi
15300-}
15301-
15302-# func_basename file
15303-func_basename ()
15304-{
15305- func_basename_result=`$ECHO "X${1}" | $Xsed -e "$basename"`
15306-}
15307-
15308-dnl func_dirname_and_basename
15309-dnl A portable version of this function is already defined in general.m4sh
15310-dnl so there is no need for it here.
15311-
15312-# func_stripname prefix suffix name
15313-# strip PREFIX and SUFFIX off of NAME.
15314-# PREFIX and SUFFIX must not contain globbing or regex special
15315-# characters, hashes, percent signs, but SUFFIX may contain a leading
15316-# dot (in which case that matches only a dot).
15317-# func_strip_suffix prefix name
15318-func_stripname ()
15319-{
15320- case ${2} in
15321- .*) func_stripname_result=`$ECHO "X${3}" \
15322- | $Xsed -e "s%^${1}%%" -e "s%\\\\${2}\$%%"`;;
15323- *) func_stripname_result=`$ECHO "X${3}" \
15324- | $Xsed -e "s%^${1}%%" -e "s%${2}\$%%"`;;
15325- esac
15326-}
15327-
15328-# sed scripts:
15329-my_sed_long_opt='1s/^\(-[[^=]]*\)=.*/\1/;q'
15330-my_sed_long_arg='1s/^-[[^=]]*=//'
15331-
15332-# func_opt_split
15333-func_opt_split ()
15334-{
15335- func_opt_split_opt=`$ECHO "X${1}" | $Xsed -e "$my_sed_long_opt"`
15336- func_opt_split_arg=`$ECHO "X${1}" | $Xsed -e "$my_sed_long_arg"`
15337-}
15338-
15339-# func_lo2o object
15340-func_lo2o ()
15341-{
15342- func_lo2o_result=`$ECHO "X${1}" | $Xsed -e "$lo2o"`
15343-}
15344-
15345-# func_xform libobj-or-source
15346-func_xform ()
15347-{
15348- func_xform_result=`$ECHO "X${1}" | $Xsed -e 's/\.[[^.]]*$/.lo/'`
15349-}
15350-
15351-# func_arith arithmetic-term...
15352-func_arith ()
15353-{
15354- func_arith_result=`expr "$[@]"`
15355-}
15356-
15357-# func_len string
15358-# STRING may not start with a hyphen.
15359-func_len ()
15360-{
15361- func_len_result=`expr "$[1]" : ".*" 2>/dev/null || echo $max_cmd_len`
15362-}
15363-
15364-_LT_EOF
15365-esac
15366-
15367-case $lt_shell_append in
15368- yes)
15369- cat << \_LT_EOF >> "$cfgfile"
15370-
15371-# func_append var value
15372-# Append VALUE to the end of shell variable VAR.
15373-func_append ()
15374-{
15375- eval "$[1]+=\$[2]"
15376-}
15377-_LT_EOF
15378- ;;
15379- *)
15380- cat << \_LT_EOF >> "$cfgfile"
15381-
15382-# func_append var value
15383-# Append VALUE to the end of shell variable VAR.
15384-func_append ()
15385-{
15386- eval "$[1]=\$$[1]\$[2]"
15387-}
15388-
15389-_LT_EOF
15390- ;;
15391- esac
15392-])
15393Index: libiconv-1.13.1/m4/ltoptions.m4
15394===================================================================
15395--- libiconv-1.13.1.orig/m4/ltoptions.m4
15396+++ /dev/null
15397@@ -1,368 +0,0 @@
15398-# Helper functions for option handling. -*- Autoconf -*-
15399-#
15400-# Copyright (C) 2004, 2005, 2007, 2008 Free Software Foundation, Inc.
15401-# Written by Gary V. Vaughan, 2004
15402-#
15403-# This file is free software; the Free Software Foundation gives
15404-# unlimited permission to copy and/or distribute it, with or without
15405-# modifications, as long as this notice is preserved.
15406-
15407-# serial 6 ltoptions.m4
15408-
15409-# This is to help aclocal find these macros, as it can't see m4_define.
15410-AC_DEFUN([LTOPTIONS_VERSION], [m4_if([1])])
15411-
15412-
15413-# _LT_MANGLE_OPTION(MACRO-NAME, OPTION-NAME)
15414-# ------------------------------------------
15415-m4_define([_LT_MANGLE_OPTION],
15416-[[_LT_OPTION_]m4_bpatsubst($1__$2, [[^a-zA-Z0-9_]], [_])])
15417-
15418-
15419-# _LT_SET_OPTION(MACRO-NAME, OPTION-NAME)
15420-# ---------------------------------------
15421-# Set option OPTION-NAME for macro MACRO-NAME, and if there is a
15422-# matching handler defined, dispatch to it. Other OPTION-NAMEs are
15423-# saved as a flag.
15424-m4_define([_LT_SET_OPTION],
15425-[m4_define(_LT_MANGLE_OPTION([$1], [$2]))dnl
15426-m4_ifdef(_LT_MANGLE_DEFUN([$1], [$2]),
15427- _LT_MANGLE_DEFUN([$1], [$2]),
15428- [m4_warning([Unknown $1 option `$2'])])[]dnl
15429-])
15430-
15431-
15432-# _LT_IF_OPTION(MACRO-NAME, OPTION-NAME, IF-SET, [IF-NOT-SET])
15433-# ------------------------------------------------------------
15434-# Execute IF-SET if OPTION is set, IF-NOT-SET otherwise.
15435-m4_define([_LT_IF_OPTION],
15436-[m4_ifdef(_LT_MANGLE_OPTION([$1], [$2]), [$3], [$4])])
15437-
15438-
15439-# _LT_UNLESS_OPTIONS(MACRO-NAME, OPTION-LIST, IF-NOT-SET)
15440-# -------------------------------------------------------
15441-# Execute IF-NOT-SET unless all options in OPTION-LIST for MACRO-NAME
15442-# are set.
15443-m4_define([_LT_UNLESS_OPTIONS],
15444-[m4_foreach([_LT_Option], m4_split(m4_normalize([$2])),
15445- [m4_ifdef(_LT_MANGLE_OPTION([$1], _LT_Option),
15446- [m4_define([$0_found])])])[]dnl
15447-m4_ifdef([$0_found], [m4_undefine([$0_found])], [$3
15448-])[]dnl
15449-])
15450-
15451-
15452-# _LT_SET_OPTIONS(MACRO-NAME, OPTION-LIST)
15453-# ----------------------------------------
15454-# OPTION-LIST is a space-separated list of Libtool options associated
15455-# with MACRO-NAME. If any OPTION has a matching handler declared with
15456-# LT_OPTION_DEFINE, dispatch to that macro; otherwise complain about
15457-# the unknown option and exit.
15458-m4_defun([_LT_SET_OPTIONS],
15459-[# Set options
15460-m4_foreach([_LT_Option], m4_split(m4_normalize([$2])),
15461- [_LT_SET_OPTION([$1], _LT_Option)])
15462-
15463-m4_if([$1],[LT_INIT],[
15464- dnl
15465- dnl Simply set some default values (i.e off) if boolean options were not
15466- dnl specified:
15467- _LT_UNLESS_OPTIONS([LT_INIT], [dlopen], [enable_dlopen=no
15468- ])
15469- _LT_UNLESS_OPTIONS([LT_INIT], [win32-dll], [enable_win32_dll=no
15470- ])
15471- dnl
15472- dnl If no reference was made to various pairs of opposing options, then
15473- dnl we run the default mode handler for the pair. For example, if neither
15474- dnl `shared' nor `disable-shared' was passed, we enable building of shared
15475- dnl archives by default:
15476- _LT_UNLESS_OPTIONS([LT_INIT], [shared disable-shared], [_LT_ENABLE_SHARED])
15477- _LT_UNLESS_OPTIONS([LT_INIT], [static disable-static], [_LT_ENABLE_STATIC])
15478- _LT_UNLESS_OPTIONS([LT_INIT], [pic-only no-pic], [_LT_WITH_PIC])
15479- _LT_UNLESS_OPTIONS([LT_INIT], [fast-install disable-fast-install],
15480- [_LT_ENABLE_FAST_INSTALL])
15481- ])
15482-])# _LT_SET_OPTIONS
15483-
15484-
15485-## --------------------------------- ##
15486-## Macros to handle LT_INIT options. ##
15487-## --------------------------------- ##
15488-
15489-# _LT_MANGLE_DEFUN(MACRO-NAME, OPTION-NAME)
15490-# -----------------------------------------
15491-m4_define([_LT_MANGLE_DEFUN],
15492-[[_LT_OPTION_DEFUN_]m4_bpatsubst(m4_toupper([$1__$2]), [[^A-Z0-9_]], [_])])
15493-
15494-
15495-# LT_OPTION_DEFINE(MACRO-NAME, OPTION-NAME, CODE)
15496-# -----------------------------------------------
15497-m4_define([LT_OPTION_DEFINE],
15498-[m4_define(_LT_MANGLE_DEFUN([$1], [$2]), [$3])[]dnl
15499-])# LT_OPTION_DEFINE
15500-
15501-
15502-# dlopen
15503-# ------
15504-LT_OPTION_DEFINE([LT_INIT], [dlopen], [enable_dlopen=yes
15505-])
15506-
15507-AU_DEFUN([AC_LIBTOOL_DLOPEN],
15508-[_LT_SET_OPTION([LT_INIT], [dlopen])
15509-AC_DIAGNOSE([obsolete],
15510-[$0: Remove this warning and the call to _LT_SET_OPTION when you
15511-put the `dlopen' option into LT_INIT's first parameter.])
15512-])
15513-
15514-dnl aclocal-1.4 backwards compatibility:
15515-dnl AC_DEFUN([AC_LIBTOOL_DLOPEN], [])
15516-
15517-
15518-# win32-dll
15519-# ---------
15520-# Declare package support for building win32 dll's.
15521-LT_OPTION_DEFINE([LT_INIT], [win32-dll],
15522-[enable_win32_dll=yes
15523-
15524-case $host in
15525-*-*-cygwin* | *-*-mingw* | *-*-pw32* | *-cegcc*)
15526- AC_CHECK_TOOL(AS, as, false)
15527- AC_CHECK_TOOL(DLLTOOL, dlltool, false)
15528- AC_CHECK_TOOL(OBJDUMP, objdump, false)
15529- ;;
15530-esac
15531-
15532-test -z "$AS" && AS=as
15533-_LT_DECL([], [AS], [0], [Assembler program])dnl
15534-
15535-test -z "$DLLTOOL" && DLLTOOL=dlltool
15536-_LT_DECL([], [DLLTOOL], [0], [DLL creation program])dnl
15537-
15538-test -z "$OBJDUMP" && OBJDUMP=objdump
15539-_LT_DECL([], [OBJDUMP], [0], [Object dumper program])dnl
15540-])# win32-dll
15541-
15542-AU_DEFUN([AC_LIBTOOL_WIN32_DLL],
15543-[AC_REQUIRE([AC_CANONICAL_HOST])dnl
15544-_LT_SET_OPTION([LT_INIT], [win32-dll])
15545-AC_DIAGNOSE([obsolete],
15546-[$0: Remove this warning and the call to _LT_SET_OPTION when you
15547-put the `win32-dll' option into LT_INIT's first parameter.])
15548-])
15549-
15550-dnl aclocal-1.4 backwards compatibility:
15551-dnl AC_DEFUN([AC_LIBTOOL_WIN32_DLL], [])
15552-
15553-
15554-# _LT_ENABLE_SHARED([DEFAULT])
15555-# ----------------------------
15556-# implement the --enable-shared flag, and supports the `shared' and
15557-# `disable-shared' LT_INIT options.
15558-# DEFAULT is either `yes' or `no'. If omitted, it defaults to `yes'.
15559-m4_define([_LT_ENABLE_SHARED],
15560-[m4_define([_LT_ENABLE_SHARED_DEFAULT], [m4_if($1, no, no, yes)])dnl
15561-AC_ARG_ENABLE([shared],
15562- [AS_HELP_STRING([--enable-shared@<:@=PKGS@:>@],
15563- [build shared libraries @<:@default=]_LT_ENABLE_SHARED_DEFAULT[@:>@])],
15564- [p=${PACKAGE-default}
15565- case $enableval in
15566- yes) enable_shared=yes ;;
15567- no) enable_shared=no ;;
15568- *)
15569- enable_shared=no
15570- # Look at the argument we got. We use all the common list separators.
15571- lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
15572- for pkg in $enableval; do
15573- IFS="$lt_save_ifs"
15574- if test "X$pkg" = "X$p"; then
15575- enable_shared=yes
15576- fi
15577- done
15578- IFS="$lt_save_ifs"
15579- ;;
15580- esac],
15581- [enable_shared=]_LT_ENABLE_SHARED_DEFAULT)
15582-
15583- _LT_DECL([build_libtool_libs], [enable_shared], [0],
15584- [Whether or not to build shared libraries])
15585-])# _LT_ENABLE_SHARED
15586-
15587-LT_OPTION_DEFINE([LT_INIT], [shared], [_LT_ENABLE_SHARED([yes])])
15588-LT_OPTION_DEFINE([LT_INIT], [disable-shared], [_LT_ENABLE_SHARED([no])])
15589-
15590-# Old names:
15591-AC_DEFUN([AC_ENABLE_SHARED],
15592-[_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[shared])
15593-])
15594-
15595-AC_DEFUN([AC_DISABLE_SHARED],
15596-[_LT_SET_OPTION([LT_INIT], [disable-shared])
15597-])
15598-
15599-AU_DEFUN([AM_ENABLE_SHARED], [AC_ENABLE_SHARED($@)])
15600-AU_DEFUN([AM_DISABLE_SHARED], [AC_DISABLE_SHARED($@)])
15601-
15602-dnl aclocal-1.4 backwards compatibility:
15603-dnl AC_DEFUN([AM_ENABLE_SHARED], [])
15604-dnl AC_DEFUN([AM_DISABLE_SHARED], [])
15605-
15606-
15607-
15608-# _LT_ENABLE_STATIC([DEFAULT])
15609-# ----------------------------
15610-# implement the --enable-static flag, and support the `static' and
15611-# `disable-static' LT_INIT options.
15612-# DEFAULT is either `yes' or `no'. If omitted, it defaults to `yes'.
15613-m4_define([_LT_ENABLE_STATIC],
15614-[m4_define([_LT_ENABLE_STATIC_DEFAULT], [m4_if($1, no, no, yes)])dnl
15615-AC_ARG_ENABLE([static],
15616- [AS_HELP_STRING([--enable-static@<:@=PKGS@:>@],
15617- [build static libraries @<:@default=]_LT_ENABLE_STATIC_DEFAULT[@:>@])],
15618- [p=${PACKAGE-default}
15619- case $enableval in
15620- yes) enable_static=yes ;;
15621- no) enable_static=no ;;
15622- *)
15623- enable_static=no
15624- # Look at the argument we got. We use all the common list separators.
15625- lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
15626- for pkg in $enableval; do
15627- IFS="$lt_save_ifs"
15628- if test "X$pkg" = "X$p"; then
15629- enable_static=yes
15630- fi
15631- done
15632- IFS="$lt_save_ifs"
15633- ;;
15634- esac],
15635- [enable_static=]_LT_ENABLE_STATIC_DEFAULT)
15636-
15637- _LT_DECL([build_old_libs], [enable_static], [0],
15638- [Whether or not to build static libraries])
15639-])# _LT_ENABLE_STATIC
15640-
15641-LT_OPTION_DEFINE([LT_INIT], [static], [_LT_ENABLE_STATIC([yes])])
15642-LT_OPTION_DEFINE([LT_INIT], [disable-static], [_LT_ENABLE_STATIC([no])])
15643-
15644-# Old names:
15645-AC_DEFUN([AC_ENABLE_STATIC],
15646-[_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[static])
15647-])
15648-
15649-AC_DEFUN([AC_DISABLE_STATIC],
15650-[_LT_SET_OPTION([LT_INIT], [disable-static])
15651-])
15652-
15653-AU_DEFUN([AM_ENABLE_STATIC], [AC_ENABLE_STATIC($@)])
15654-AU_DEFUN([AM_DISABLE_STATIC], [AC_DISABLE_STATIC($@)])
15655-
15656-dnl aclocal-1.4 backwards compatibility:
15657-dnl AC_DEFUN([AM_ENABLE_STATIC], [])
15658-dnl AC_DEFUN([AM_DISABLE_STATIC], [])
15659-
15660-
15661-
15662-# _LT_ENABLE_FAST_INSTALL([DEFAULT])
15663-# ----------------------------------
15664-# implement the --enable-fast-install flag, and support the `fast-install'
15665-# and `disable-fast-install' LT_INIT options.
15666-# DEFAULT is either `yes' or `no'. If omitted, it defaults to `yes'.
15667-m4_define([_LT_ENABLE_FAST_INSTALL],
15668-[m4_define([_LT_ENABLE_FAST_INSTALL_DEFAULT], [m4_if($1, no, no, yes)])dnl
15669-AC_ARG_ENABLE([fast-install],
15670- [AS_HELP_STRING([--enable-fast-install@<:@=PKGS@:>@],
15671- [optimize for fast installation @<:@default=]_LT_ENABLE_FAST_INSTALL_DEFAULT[@:>@])],
15672- [p=${PACKAGE-default}
15673- case $enableval in
15674- yes) enable_fast_install=yes ;;
15675- no) enable_fast_install=no ;;
15676- *)
15677- enable_fast_install=no
15678- # Look at the argument we got. We use all the common list separators.
15679- lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
15680- for pkg in $enableval; do
15681- IFS="$lt_save_ifs"
15682- if test "X$pkg" = "X$p"; then
15683- enable_fast_install=yes
15684- fi
15685- done
15686- IFS="$lt_save_ifs"
15687- ;;
15688- esac],
15689- [enable_fast_install=]_LT_ENABLE_FAST_INSTALL_DEFAULT)
15690-
15691-_LT_DECL([fast_install], [enable_fast_install], [0],
15692- [Whether or not to optimize for fast installation])dnl
15693-])# _LT_ENABLE_FAST_INSTALL
15694-
15695-LT_OPTION_DEFINE([LT_INIT], [fast-install], [_LT_ENABLE_FAST_INSTALL([yes])])
15696-LT_OPTION_DEFINE([LT_INIT], [disable-fast-install], [_LT_ENABLE_FAST_INSTALL([no])])
15697-
15698-# Old names:
15699-AU_DEFUN([AC_ENABLE_FAST_INSTALL],
15700-[_LT_SET_OPTION([LT_INIT], m4_if([$1], [no], [disable-])[fast-install])
15701-AC_DIAGNOSE([obsolete],
15702-[$0: Remove this warning and the call to _LT_SET_OPTION when you put
15703-the `fast-install' option into LT_INIT's first parameter.])
15704-])
15705-
15706-AU_DEFUN([AC_DISABLE_FAST_INSTALL],
15707-[_LT_SET_OPTION([LT_INIT], [disable-fast-install])
15708-AC_DIAGNOSE([obsolete],
15709-[$0: Remove this warning and the call to _LT_SET_OPTION when you put
15710-the `disable-fast-install' option into LT_INIT's first parameter.])
15711-])
15712-
15713-dnl aclocal-1.4 backwards compatibility:
15714-dnl AC_DEFUN([AC_ENABLE_FAST_INSTALL], [])
15715-dnl AC_DEFUN([AM_DISABLE_FAST_INSTALL], [])
15716-
15717-
15718-# _LT_WITH_PIC([MODE])
15719-# --------------------
15720-# implement the --with-pic flag, and support the `pic-only' and `no-pic'
15721-# LT_INIT options.
15722-# MODE is either `yes' or `no'. If omitted, it defaults to `both'.
15723-m4_define([_LT_WITH_PIC],
15724-[AC_ARG_WITH([pic],
15725- [AS_HELP_STRING([--with-pic],
15726- [try to use only PIC/non-PIC objects @<:@default=use both@:>@])],
15727- [pic_mode="$withval"],
15728- [pic_mode=default])
15729-
15730-test -z "$pic_mode" && pic_mode=m4_default([$1], [default])
15731-
15732-_LT_DECL([], [pic_mode], [0], [What type of objects to build])dnl
15733-])# _LT_WITH_PIC
15734-
15735-LT_OPTION_DEFINE([LT_INIT], [pic-only], [_LT_WITH_PIC([yes])])
15736-LT_OPTION_DEFINE([LT_INIT], [no-pic], [_LT_WITH_PIC([no])])
15737-
15738-# Old name:
15739-AU_DEFUN([AC_LIBTOOL_PICMODE],
15740-[_LT_SET_OPTION([LT_INIT], [pic-only])
15741-AC_DIAGNOSE([obsolete],
15742-[$0: Remove this warning and the call to _LT_SET_OPTION when you
15743-put the `pic-only' option into LT_INIT's first parameter.])
15744-])
15745-
15746-dnl aclocal-1.4 backwards compatibility:
15747-dnl AC_DEFUN([AC_LIBTOOL_PICMODE], [])
15748-
15749-## ----------------- ##
15750-## LTDL_INIT Options ##
15751-## ----------------- ##
15752-
15753-m4_define([_LTDL_MODE], [])
15754-LT_OPTION_DEFINE([LTDL_INIT], [nonrecursive],
15755- [m4_define([_LTDL_MODE], [nonrecursive])])
15756-LT_OPTION_DEFINE([LTDL_INIT], [recursive],
15757- [m4_define([_LTDL_MODE], [recursive])])
15758-LT_OPTION_DEFINE([LTDL_INIT], [subproject],
15759- [m4_define([_LTDL_MODE], [subproject])])
15760-
15761-m4_define([_LTDL_TYPE], [])
15762-LT_OPTION_DEFINE([LTDL_INIT], [installable],
15763- [m4_define([_LTDL_TYPE], [installable])])
15764-LT_OPTION_DEFINE([LTDL_INIT], [convenience],
15765- [m4_define([_LTDL_TYPE], [convenience])])
15766Index: libiconv-1.13.1/m4/ltsugar.m4
15767===================================================================
15768--- libiconv-1.13.1.orig/m4/ltsugar.m4
15769+++ /dev/null
15770@@ -1,123 +0,0 @@
15771-# ltsugar.m4 -- libtool m4 base layer. -*-Autoconf-*-
15772-#
15773-# Copyright (C) 2004, 2005, 2007, 2008 Free Software Foundation, Inc.
15774-# Written by Gary V. Vaughan, 2004
15775-#
15776-# This file is free software; the Free Software Foundation gives
15777-# unlimited permission to copy and/or distribute it, with or without
15778-# modifications, as long as this notice is preserved.
15779-
15780-# serial 6 ltsugar.m4
15781-
15782-# This is to help aclocal find these macros, as it can't see m4_define.
15783-AC_DEFUN([LTSUGAR_VERSION], [m4_if([0.1])])
15784-
15785-
15786-# lt_join(SEP, ARG1, [ARG2...])
15787-# -----------------------------
15788-# Produce ARG1SEPARG2...SEPARGn, omitting [] arguments and their
15789-# associated separator.
15790-# Needed until we can rely on m4_join from Autoconf 2.62, since all earlier
15791-# versions in m4sugar had bugs.
15792-m4_define([lt_join],
15793-[m4_if([$#], [1], [],
15794- [$#], [2], [[$2]],
15795- [m4_if([$2], [], [], [[$2]_])$0([$1], m4_shift(m4_shift($@)))])])
15796-m4_define([_lt_join],
15797-[m4_if([$#$2], [2], [],
15798- [m4_if([$2], [], [], [[$1$2]])$0([$1], m4_shift(m4_shift($@)))])])
15799-
15800-
15801-# lt_car(LIST)
15802-# lt_cdr(LIST)
15803-# ------------
15804-# Manipulate m4 lists.
15805-# These macros are necessary as long as will still need to support
15806-# Autoconf-2.59 which quotes differently.
15807-m4_define([lt_car], [[$1]])
15808-m4_define([lt_cdr],
15809-[m4_if([$#], 0, [m4_fatal([$0: cannot be called without arguments])],
15810- [$#], 1, [],
15811- [m4_dquote(m4_shift($@))])])
15812-m4_define([lt_unquote], $1)
15813-
15814-
15815-# lt_append(MACRO-NAME, STRING, [SEPARATOR])
15816-# ------------------------------------------
15817-# Redefine MACRO-NAME to hold its former content plus `SEPARATOR'`STRING'.
15818-# Note that neither SEPARATOR nor STRING are expanded; they are appended
15819-# to MACRO-NAME as is (leaving the expansion for when MACRO-NAME is invoked).
15820-# No SEPARATOR is output if MACRO-NAME was previously undefined (different
15821-# than defined and empty).
15822-#
15823-# This macro is needed until we can rely on Autoconf 2.62, since earlier
15824-# versions of m4sugar mistakenly expanded SEPARATOR but not STRING.
15825-m4_define([lt_append],
15826-[m4_define([$1],
15827- m4_ifdef([$1], [m4_defn([$1])[$3]])[$2])])
15828-
15829-
15830-
15831-# lt_combine(SEP, PREFIX-LIST, INFIX, SUFFIX1, [SUFFIX2...])
15832-# ----------------------------------------------------------
15833-# Produce a SEP delimited list of all paired combinations of elements of
15834-# PREFIX-LIST with SUFFIX1 through SUFFIXn. Each element of the list
15835-# has the form PREFIXmINFIXSUFFIXn.
15836-# Needed until we can rely on m4_combine added in Autoconf 2.62.
15837-m4_define([lt_combine],
15838-[m4_if(m4_eval([$# > 3]), [1],
15839- [m4_pushdef([_Lt_sep], [m4_define([_Lt_sep], m4_defn([lt_car]))])]]dnl
15840-[[m4_foreach([_Lt_prefix], [$2],
15841- [m4_foreach([_Lt_suffix],
15842- ]m4_dquote(m4_dquote(m4_shift(m4_shift(m4_shift($@)))))[,
15843- [_Lt_sep([$1])[]m4_defn([_Lt_prefix])[$3]m4_defn([_Lt_suffix])])])])])
15844-
15845-
15846-# lt_if_append_uniq(MACRO-NAME, VARNAME, [SEPARATOR], [UNIQ], [NOT-UNIQ])
15847-# -----------------------------------------------------------------------
15848-# Iff MACRO-NAME does not yet contain VARNAME, then append it (delimited
15849-# by SEPARATOR if supplied) and expand UNIQ, else NOT-UNIQ.
15850-m4_define([lt_if_append_uniq],
15851-[m4_ifdef([$1],
15852- [m4_if(m4_index([$3]m4_defn([$1])[$3], [$3$2$3]), [-1],
15853- [lt_append([$1], [$2], [$3])$4],
15854- [$5])],
15855- [lt_append([$1], [$2], [$3])$4])])
15856-
15857-
15858-# lt_dict_add(DICT, KEY, VALUE)
15859-# -----------------------------
15860-m4_define([lt_dict_add],
15861-[m4_define([$1($2)], [$3])])
15862-
15863-
15864-# lt_dict_add_subkey(DICT, KEY, SUBKEY, VALUE)
15865-# --------------------------------------------
15866-m4_define([lt_dict_add_subkey],
15867-[m4_define([$1($2:$3)], [$4])])
15868-
15869-
15870-# lt_dict_fetch(DICT, KEY, [SUBKEY])
15871-# ----------------------------------
15872-m4_define([lt_dict_fetch],
15873-[m4_ifval([$3],
15874- m4_ifdef([$1($2:$3)], [m4_defn([$1($2:$3)])]),
15875- m4_ifdef([$1($2)], [m4_defn([$1($2)])]))])
15876-
15877-
15878-# lt_if_dict_fetch(DICT, KEY, [SUBKEY], VALUE, IF-TRUE, [IF-FALSE])
15879-# -----------------------------------------------------------------
15880-m4_define([lt_if_dict_fetch],
15881-[m4_if(lt_dict_fetch([$1], [$2], [$3]), [$4],
15882- [$5],
15883- [$6])])
15884-
15885-
15886-# lt_dict_filter(DICT, [SUBKEY], VALUE, [SEPARATOR], KEY, [...])
15887-# --------------------------------------------------------------
15888-m4_define([lt_dict_filter],
15889-[m4_if([$5], [], [],
15890- [lt_join(m4_quote(m4_default([$4], [[, ]])),
15891- lt_unquote(m4_split(m4_normalize(m4_foreach(_Lt_key, lt_car([m4_shiftn(4, $@)]),
15892- [lt_if_dict_fetch([$1], _Lt_key, [$2], [$3], [_Lt_key ])])))))])[]dnl
15893-])
15894Index: libiconv-1.13.1/m4/ltversion.m4
15895===================================================================
15896--- libiconv-1.13.1.orig/m4/ltversion.m4
15897+++ /dev/null
15898@@ -1,23 +0,0 @@
15899-# ltversion.m4 -- version numbers -*- Autoconf -*-
15900-#
15901-# Copyright (C) 2004 Free Software Foundation, Inc.
15902-# Written by Scott James Remnant, 2004
15903-#
15904-# This file is free software; the Free Software Foundation gives
15905-# unlimited permission to copy and/or distribute it, with or without
15906-# modifications, as long as this notice is preserved.
15907-
15908-# Generated from ltversion.in.
15909-
15910-# serial 3012 ltversion.m4
15911-# This file is part of GNU Libtool
15912-
15913-m4_define([LT_PACKAGE_VERSION], [2.2.6])
15914-m4_define([LT_PACKAGE_REVISION], [1.3012])
15915-
15916-AC_DEFUN([LTVERSION_VERSION],
15917-[macro_version='2.2.6'
15918-macro_revision='1.3012'
15919-_LT_DECL(, macro_version, 0, [Which release of libtool.m4 was used?])
15920-_LT_DECL(, macro_revision, 0)
15921-])
15922Index: libiconv-1.13.1/m4/lt~obsolete.m4
15923===================================================================
15924--- libiconv-1.13.1.orig/m4/lt~obsolete.m4
15925+++ /dev/null
15926@@ -1,92 +0,0 @@
15927-# lt~obsolete.m4 -- aclocal satisfying obsolete definitions. -*-Autoconf-*-
15928-#
15929-# Copyright (C) 2004, 2005, 2007 Free Software Foundation, Inc.
15930-# Written by Scott James Remnant, 2004.
15931-#
15932-# This file is free software; the Free Software Foundation gives
15933-# unlimited permission to copy and/or distribute it, with or without
15934-# modifications, as long as this notice is preserved.
15935-
15936-# serial 4 lt~obsolete.m4
15937-
15938-# These exist entirely to fool aclocal when bootstrapping libtool.
15939-#
15940-# In the past libtool.m4 has provided macros via AC_DEFUN (or AU_DEFUN)
15941-# which have later been changed to m4_define as they aren't part of the
15942-# exported API, or moved to Autoconf or Automake where they belong.
15943-#
15944-# The trouble is, aclocal is a bit thick. It'll see the old AC_DEFUN
15945-# in /usr/share/aclocal/libtool.m4 and remember it, then when it sees us
15946-# using a macro with the same name in our local m4/libtool.m4 it'll
15947-# pull the old libtool.m4 in (it doesn't see our shiny new m4_define
15948-# and doesn't know about Autoconf macros at all.)
15949-#
15950-# So we provide this file, which has a silly filename so it's always
15951-# included after everything else. This provides aclocal with the
15952-# AC_DEFUNs it wants, but when m4 processes it, it doesn't do anything
15953-# because those macros already exist, or will be overwritten later.
15954-# We use AC_DEFUN over AU_DEFUN for compatibility with aclocal-1.6.
15955-#
15956-# Anytime we withdraw an AC_DEFUN or AU_DEFUN, remember to add it here.
15957-# Yes, that means every name once taken will need to remain here until
15958-# we give up compatibility with versions before 1.7, at which point
15959-# we need to keep only those names which we still refer to.
15960-
15961-# This is to help aclocal find these macros, as it can't see m4_define.
15962-AC_DEFUN([LTOBSOLETE_VERSION], [m4_if([1])])
15963-
15964-m4_ifndef([AC_LIBTOOL_LINKER_OPTION], [AC_DEFUN([AC_LIBTOOL_LINKER_OPTION])])
15965-m4_ifndef([AC_PROG_EGREP], [AC_DEFUN([AC_PROG_EGREP])])
15966-m4_ifndef([_LT_AC_PROG_ECHO_BACKSLASH], [AC_DEFUN([_LT_AC_PROG_ECHO_BACKSLASH])])
15967-m4_ifndef([_LT_AC_SHELL_INIT], [AC_DEFUN([_LT_AC_SHELL_INIT])])
15968-m4_ifndef([_LT_AC_SYS_LIBPATH_AIX], [AC_DEFUN([_LT_AC_SYS_LIBPATH_AIX])])
15969-m4_ifndef([_LT_PROG_LTMAIN], [AC_DEFUN([_LT_PROG_LTMAIN])])
15970-m4_ifndef([_LT_AC_TAGVAR], [AC_DEFUN([_LT_AC_TAGVAR])])
15971-m4_ifndef([AC_LTDL_ENABLE_INSTALL], [AC_DEFUN([AC_LTDL_ENABLE_INSTALL])])
15972-m4_ifndef([AC_LTDL_PREOPEN], [AC_DEFUN([AC_LTDL_PREOPEN])])
15973-m4_ifndef([_LT_AC_SYS_COMPILER], [AC_DEFUN([_LT_AC_SYS_COMPILER])])
15974-m4_ifndef([_LT_AC_LOCK], [AC_DEFUN([_LT_AC_LOCK])])
15975-m4_ifndef([AC_LIBTOOL_SYS_OLD_ARCHIVE], [AC_DEFUN([AC_LIBTOOL_SYS_OLD_ARCHIVE])])
15976-m4_ifndef([_LT_AC_TRY_DLOPEN_SELF], [AC_DEFUN([_LT_AC_TRY_DLOPEN_SELF])])
15977-m4_ifndef([AC_LIBTOOL_PROG_CC_C_O], [AC_DEFUN([AC_LIBTOOL_PROG_CC_C_O])])
15978-m4_ifndef([AC_LIBTOOL_SYS_HARD_LINK_LOCKS], [AC_DEFUN([AC_LIBTOOL_SYS_HARD_LINK_LOCKS])])
15979-m4_ifndef([AC_LIBTOOL_OBJDIR], [AC_DEFUN([AC_LIBTOOL_OBJDIR])])
15980-m4_ifndef([AC_LTDL_OBJDIR], [AC_DEFUN([AC_LTDL_OBJDIR])])
15981-m4_ifndef([AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH], [AC_DEFUN([AC_LIBTOOL_PROG_LD_HARDCODE_LIBPATH])])
15982-m4_ifndef([AC_LIBTOOL_SYS_LIB_STRIP], [AC_DEFUN([AC_LIBTOOL_SYS_LIB_STRIP])])
15983-m4_ifndef([AC_PATH_MAGIC], [AC_DEFUN([AC_PATH_MAGIC])])
15984-m4_ifndef([AC_PROG_LD_GNU], [AC_DEFUN([AC_PROG_LD_GNU])])
15985-m4_ifndef([AC_PROG_LD_RELOAD_FLAG], [AC_DEFUN([AC_PROG_LD_RELOAD_FLAG])])
15986-m4_ifndef([AC_DEPLIBS_CHECK_METHOD], [AC_DEFUN([AC_DEPLIBS_CHECK_METHOD])])
15987-m4_ifndef([AC_LIBTOOL_PROG_COMPILER_NO_RTTI], [AC_DEFUN([AC_LIBTOOL_PROG_COMPILER_NO_RTTI])])
15988-m4_ifndef([AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE], [AC_DEFUN([AC_LIBTOOL_SYS_GLOBAL_SYMBOL_PIPE])])
15989-m4_ifndef([AC_LIBTOOL_PROG_COMPILER_PIC], [AC_DEFUN([AC_LIBTOOL_PROG_COMPILER_PIC])])
15990-m4_ifndef([AC_LIBTOOL_PROG_LD_SHLIBS], [AC_DEFUN([AC_LIBTOOL_PROG_LD_SHLIBS])])
15991-m4_ifndef([AC_LIBTOOL_POSTDEP_PREDEP], [AC_DEFUN([AC_LIBTOOL_POSTDEP_PREDEP])])
15992-m4_ifndef([LT_AC_PROG_EGREP], [AC_DEFUN([LT_AC_PROG_EGREP])])
15993-m4_ifndef([LT_AC_PROG_SED], [AC_DEFUN([LT_AC_PROG_SED])])
15994-m4_ifndef([_LT_CC_BASENAME], [AC_DEFUN([_LT_CC_BASENAME])])
15995-m4_ifndef([_LT_COMPILER_BOILERPLATE], [AC_DEFUN([_LT_COMPILER_BOILERPLATE])])
15996-m4_ifndef([_LT_LINKER_BOILERPLATE], [AC_DEFUN([_LT_LINKER_BOILERPLATE])])
15997-m4_ifndef([_AC_PROG_LIBTOOL], [AC_DEFUN([_AC_PROG_LIBTOOL])])
15998-m4_ifndef([AC_LIBTOOL_SETUP], [AC_DEFUN([AC_LIBTOOL_SETUP])])
15999-m4_ifndef([_LT_AC_CHECK_DLFCN], [AC_DEFUN([_LT_AC_CHECK_DLFCN])])
16000-m4_ifndef([AC_LIBTOOL_SYS_DYNAMIC_LINKER], [AC_DEFUN([AC_LIBTOOL_SYS_DYNAMIC_LINKER])])
16001-m4_ifndef([_LT_AC_TAGCONFIG], [AC_DEFUN([_LT_AC_TAGCONFIG])])
16002-m4_ifndef([AC_DISABLE_FAST_INSTALL], [AC_DEFUN([AC_DISABLE_FAST_INSTALL])])
16003-m4_ifndef([_LT_AC_LANG_CXX], [AC_DEFUN([_LT_AC_LANG_CXX])])
16004-m4_ifndef([_LT_AC_LANG_F77], [AC_DEFUN([_LT_AC_LANG_F77])])
16005-m4_ifndef([_LT_AC_LANG_GCJ], [AC_DEFUN([_LT_AC_LANG_GCJ])])
16006-m4_ifndef([AC_LIBTOOL_RC], [AC_DEFUN([AC_LIBTOOL_RC])])
16007-m4_ifndef([AC_LIBTOOL_LANG_C_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_C_CONFIG])])
16008-m4_ifndef([_LT_AC_LANG_C_CONFIG], [AC_DEFUN([_LT_AC_LANG_C_CONFIG])])
16009-m4_ifndef([AC_LIBTOOL_LANG_CXX_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_CXX_CONFIG])])
16010-m4_ifndef([_LT_AC_LANG_CXX_CONFIG], [AC_DEFUN([_LT_AC_LANG_CXX_CONFIG])])
16011-m4_ifndef([AC_LIBTOOL_LANG_F77_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_F77_CONFIG])])
16012-m4_ifndef([_LT_AC_LANG_F77_CONFIG], [AC_DEFUN([_LT_AC_LANG_F77_CONFIG])])
16013-m4_ifndef([AC_LIBTOOL_LANG_GCJ_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_GCJ_CONFIG])])
16014-m4_ifndef([_LT_AC_LANG_GCJ_CONFIG], [AC_DEFUN([_LT_AC_LANG_GCJ_CONFIG])])
16015-m4_ifndef([AC_LIBTOOL_LANG_RC_CONFIG], [AC_DEFUN([AC_LIBTOOL_LANG_RC_CONFIG])])
16016-m4_ifndef([_LT_AC_LANG_RC_CONFIG], [AC_DEFUN([_LT_AC_LANG_RC_CONFIG])])
16017-m4_ifndef([AC_LIBTOOL_CONFIG], [AC_DEFUN([AC_LIBTOOL_CONFIG])])
16018-m4_ifndef([_LT_AC_FILE_LTDLL_C], [AC_DEFUN([_LT_AC_FILE_LTDLL_C])])
diff --git a/meta-oe/recipes-support/libiconv/libiconv.inc b/meta-oe/recipes-support/libiconv/libiconv.inc
new file mode 100644
index 000000000..11dfaf2f4
--- /dev/null
+++ b/meta-oe/recipes-support/libiconv/libiconv.inc
@@ -0,0 +1,15 @@
1DESCRIPTION = "GNU libiconv - libiconv is for you if your application needs to support \
2multiple character encodings, but that support lacks from your system."
3HOMEPAGE = "http://www.gnu.org/software/libiconv"
4SECTION = "libs"
5PRIORITY = "optional"
6NOTES = "Needs to be stripped down to: ascii iso8859-1 eucjp iso-2022jp gb utf8"
7
8SRC_URI = "ftp://ftp.gnu.org/pub/gnu/libiconv/libiconv-${PV}.tar.gz \
9 "
10
11S = "${WORKDIR}/libiconv-${PV}"
12
13inherit autotools gettext
14
15EXTRA_OECONF += "--enable-shared --enable-static --enable-relocatable"
diff --git a/meta-oe/recipes-support/libiconv/libiconv_1.13.1.bb b/meta-oe/recipes-support/libiconv/libiconv_1.13.1.bb
new file mode 100644
index 000000000..bdfb898a3
--- /dev/null
+++ b/meta-oe/recipes-support/libiconv/libiconv_1.13.1.bb
@@ -0,0 +1,25 @@
1require libiconv.inc
2LICENSE = "GPLv3 LGPLv2"
3BBCLASSEXTEND = "native nativesdk"
4
5PROVIDES = "virtual/libiconv"
6PR = "r1"
7
8#gettext.class cant be inherit here so use this hack
9DEPENDS = "${@['','gettext-native'][bb.data.getVar('USE_NLS', d, 1) == 'yes']}"
10
11EXTRA_OECONF += "${@['--disable-nls','--enable-nls'][bb.data.getVar('USE_NLS', d, 1) == 'yes']}"
12
13SRC_URI += "file://autoconf.patch"
14
15do_configure_append () {
16 # Fix stupid libtool... handling.
17 # rpath handling can't be disabled and the Makefile's can't be regenerated..
18 # (GNU sed required)
19 sed -i s/^hardcode_libdir_flag_spec/#hardcode_libdir_flag_spec/ ${S}/*-libtool
20}
21
22LEAD_SONAME = "libiconv.so"
23SRC_URI[md5sum] = "7ab33ebd26687c744a37264a330bbe9a"
24SRC_URI[sha256sum] = "55a36168306089009d054ccdd9d013041bfc3ab26be7033d107821f1c4949a49"
25
diff --git a/meta-oe/recipes-support/libnl/libnl.inc b/meta-oe/recipes-support/libnl/libnl.inc
new file mode 100644
index 000000000..6f502b101
--- /dev/null
+++ b/meta-oe/recipes-support/libnl/libnl.inc
@@ -0,0 +1,9 @@
1DESCRIPTION = "libnl is a library for applications dealing with netlink sockets"
2SECTION = "libs/network"
3LICENSE = "LGPL"
4HOMEPAGE = "http://www.infradead.org/~tgr/libnl/"
5
6INC_PR = "r5"
7
8inherit autotools pkgconfig
9
diff --git a/meta-oe/recipes-support/libnl/libnl/fix-pc-file.patch b/meta-oe/recipes-support/libnl/libnl/fix-pc-file.patch
new file mode 100644
index 000000000..17666fbad
--- /dev/null
+++ b/meta-oe/recipes-support/libnl/libnl/fix-pc-file.patch
@@ -0,0 +1,11 @@
1Index: libnl-2.0/libnl-2.0.pc.in
2===================================================================
3--- libnl-2.0.orig/libnl-2.0.pc.in
4+++ libnl-2.0/libnl-2.0.pc.in
5@@ -6,5 +6,5 @@
6 Name: libnl
7 Description: Convenience library for netlink sockets
8 Version: @PACKAGE_VERSION@
9-Libs: -L${libdir} -lnl
10+Libs: -L${libdir} -lnl -lnl-genl -lnl-nf -lnl-route
11 Cflags: -I${includedir}
diff --git a/meta-oe/recipes-support/libnl/libnl/fix-pktloc-dep-race.patch b/meta-oe/recipes-support/libnl/libnl/fix-pktloc-dep-race.patch
new file mode 100644
index 000000000..ee217441b
--- /dev/null
+++ b/meta-oe/recipes-support/libnl/libnl/fix-pktloc-dep-race.patch
@@ -0,0 +1,20 @@
1Index: libnl-2.0/lib/Makefile.am
2===================================================================
3--- libnl-2.0.orig/lib/Makefile.am
4+++ libnl-2.0/lib/Makefile.am
5@@ -27,11 +27,15 @@ CLEANFILES = \
6 route/pktloc_grammar.c route/pktloc_grammar.h \
7 route/pktloc_syntax.c route/pktloc_syntax.h
8
9+BUILT_SOURCES = route/pktloc_syntax.h route/pktloc_grammar.h
10+
11 # Hack to avoid using ylwrap. It does not function correctly in combination
12 # with --header-file=
13+route/pktloc_grammar.h: route/pktloc_grammar.c
14 route/pktloc_grammar.c: route/pktloc_grammar.l
15 $(LEX) --header-file=route/pktloc_grammar.h $(LFLAGS) -o $@ $^
16
17+route/pktloc_syntax.h: route/pktloc_syntax.c
18 route/pktloc_syntax.c: route/pktloc_syntax.y
19 $(YACC) -d $(YFLAGS) -o $@ $^
20
diff --git a/meta-oe/recipes-support/libnl/libnl_2.0.bb b/meta-oe/recipes-support/libnl/libnl_2.0.bb
new file mode 100644
index 000000000..e646e3d0e
--- /dev/null
+++ b/meta-oe/recipes-support/libnl/libnl_2.0.bb
@@ -0,0 +1,23 @@
1require libnl.inc
2PE = "1"
3PR = "${INC_PR}.0"
4
5LICENSE = "LGPLv2.1"
6LIC_FILES_CHKSUM = "file://COPYING;md5=2b41e13261a330ee784153ecbb6a82bc"
7
8DEPENDS = "flex-native bison-native"
9
10SRC_URI = "\
11 http://www.infradead.org/~tgr/libnl/files/libnl-${PV}.tar.gz \
12 file://fix-pc-file.patch \
13 file://fix-pktloc-dep-race.patch \
14"
15
16SRC_URI[md5sum] = "6aaf1e9802a17a7d702bb0638044ffa7"
17SRC_URI[sha256sum] = "5a40dc903d3ca1074da7424b908bec8ff16936484798c7e46e53e9db8bc87a9c"
18
19PACKAGES =+ "${PN}-route ${PN}-nf ${PN}-genl ${PN}-cli"
20FILES_${PN}-route = "${libdir}/libnl-route.so.*"
21FILES_${PN}-nf = "${libdir}/libnl-nf.so.*"
22FILES_${PN}-genl = "${libdir}/libnl-genl.so.*"
23FILES_${PN}-cli = "${libdir}/libnl-cli.so.*"
diff --git a/meta-oe/recipes-support/libnl/libnl_git.bb b/meta-oe/recipes-support/libnl/libnl_git.bb
new file mode 100644
index 000000000..a4a37a8b1
--- /dev/null
+++ b/meta-oe/recipes-support/libnl/libnl_git.bb
@@ -0,0 +1,20 @@
1require libnl.inc
2
3PE = "1"
4PV = "1.9+gitr${SRCPV}"
5PR = "${INC_PR}.0"
6
7DEPENDS = "flex-native bison-native"
8
9S = "${WORKDIR}/git"
10SRCREV = "d378220c96c3c8b6f27dca33e7d8ba03318f9c2d"
11SRC_URI = "\
12 git://git.kernel.org/pub/scm/libs/netlink/libnl.git;protocol=git \
13 file://fix-pc-file.patch \
14"
15
16PACKAGES =+ "${PN}-route ${PN}-nf ${PN}-genl ${PN}-cli"
17FILES_${PN}-route = "${libdir}/libnl-route.so.*"
18FILES_${PN}-nf = "${libdir}/libnl-nf.so.*"
19FILES_${PN}-genl = "${libdir}/libnl-genl.so.*"
20FILES_${PN}-cli = "${libdir}/libnl-cli.so.*"
diff --git a/meta-oe/recipes-support/libsdl-ttf/libsdl-ttf-2.0.10/configure.patch b/meta-oe/recipes-support/libsdl-ttf/libsdl-ttf-2.0.10/configure.patch
new file mode 100644
index 000000000..2069644f9
--- /dev/null
+++ b/meta-oe/recipes-support/libsdl-ttf/libsdl-ttf-2.0.10/configure.patch
@@ -0,0 +1,13 @@
1Index: SDL_ttf-2.0.10/configure.in
2===================================================================
3--- SDL_ttf-2.0.10.orig/configure.in 2010-10-15 10:54:51.392730531 +0200
4+++ SDL_ttf-2.0.10/configure.in 2010-10-15 10:55:06.382727473 +0200
5@@ -25,6 +25,8 @@
6 AC_SUBST(BINARY_AGE)
7 AC_SUBST(VERSION)
8
9+AC_CONFIG_MACRO_DIR([acinclude])
10+
11 # libtool versioning
12 LT_INIT([win32-dll])
13
diff --git a/meta-oe/recipes-support/libsdl-ttf/libsdl-ttf_2.0.10.bb b/meta-oe/recipes-support/libsdl-ttf/libsdl-ttf_2.0.10.bb
new file mode 100644
index 000000000..f02c8f65e
--- /dev/null
+++ b/meta-oe/recipes-support/libsdl-ttf/libsdl-ttf_2.0.10.bb
@@ -0,0 +1,30 @@
1DESCRIPTION = "Simple DirectMedia Layer truetype font library."
2SECTION = "libs"
3PRIORITY = "optional"
4DEPENDS = "virtual/libsdl freetype"
5LICENSE = "LGPL"
6PR = "r1"
7
8SRC_URI = "http://www.libsdl.org/projects/SDL_ttf/release/SDL_ttf-${PV}.tar.gz \
9 file://configure.patch \
10 "
11
12S = "${WORKDIR}/SDL_ttf-${PV}"
13EXTRA_OECONF += "SDL_CONFIG=${STAGING_BINDIR_CROSS}/sdl-config "
14
15inherit autotools
16
17TARGET_CC_ARCH += "${LDFLAGS}"
18
19do_configure_prepend() {
20
21 MACROS="libtool.m4 lt~obsolete.m4 ltoptions.m4 ltsugar.m4 ltversion.m4"
22
23 for i in ${MACROS}; do
24 rm acinclude/$i
25 done
26
27}
28
29SRC_URI[md5sum] = "814e6e17e8879254208d23b3b7e0354b"
30SRC_URI[sha256sum] = "7d38704bcc7c34029c2dcb73b2d4857e8ad76341c6e0faed279eb9f743c66c6a"
diff --git a/meta-oe/recipes-support/libyaml/libyaml_0.1.3.bb b/meta-oe/recipes-support/libyaml/libyaml_0.1.3.bb
new file mode 100644
index 000000000..702ed55e8
--- /dev/null
+++ b/meta-oe/recipes-support/libyaml/libyaml_0.1.3.bb
@@ -0,0 +1,14 @@
1DESCRIPTION = "LibYAML is a YAML parser and emitter written in C."
2HOMEPAGE = "http://pyyaml.org/wiki/LibYAML"
3SECTION = "libs/devel"
4LICENSE = "MIT"
5LIC_FILES_CHKSUM = "file://LICENSE;md5=6015f088759b10e0bc2bf64898d4ae17"
6PR="r0"
7
8SRC_URI = "http://pyyaml.org/download/libyaml/yaml-${PV}.tar.gz;name=libyaml"
9SRC_URI[libyaml.md5sum] = "b8ab9064e8e0330423fe640de76608cd"
10SRC_URI[libyaml.sha256sum] = "a8bbad7e5250b3735126b7e3bd9f6fce9db19d6be7cc13abad17a24b59ec144a"
11
12S = "${WORKDIR}/yaml-${PV}"
13
14inherit autotools
diff --git a/meta-oe/recipes-support/lzma/lzma-4.65/001-large_files.patch b/meta-oe/recipes-support/lzma/lzma-4.65/001-large_files.patch
new file mode 100644
index 000000000..b95fe9e90
--- /dev/null
+++ b/meta-oe/recipes-support/lzma/lzma-4.65/001-large_files.patch
@@ -0,0 +1,13 @@
1Index: lzma-4.65/CPP/7zip/Compress/LZMA_Alone/makefile.gcc
2===================================================================
3--- lzma-4.65.orig/CPP/7zip/Compress/LZMA_Alone/makefile.gcc 2009-05-15 23:33:51.000000000 +0200
4+++ lzma-4.65/CPP/7zip/Compress/LZMA_Alone/makefile.gcc 2009-06-01 22:00:54.000000000 +0200
5@@ -3,7 +3,7 @@
6 CXX_C = gcc -O2 -Wall
7 LIB = -lm
8 RM = rm -f
9-CFLAGS = -c
10+CFLAGS = -c -D_FILE_OFFSET_BITS=64
11
12 ifdef SystemDrive
13 IS_MINGW = 1
diff --git a/meta-oe/recipes-support/lzma/lzma-4.65/002-lzmp.patch b/meta-oe/recipes-support/lzma/lzma-4.65/002-lzmp.patch
new file mode 100644
index 000000000..72d881cdb
--- /dev/null
+++ b/meta-oe/recipes-support/lzma/lzma-4.65/002-lzmp.patch
@@ -0,0 +1,1059 @@
1Index: lzma-4.65/CPP/7zip/Compress/LZMA_Alone/lzmp.cpp
2===================================================================
3--- /dev/null 1970-01-01 00:00:00.000000000 +0000
4+++ lzma-4.65/CPP/7zip/Compress/LZMA_Alone/lzmp.cpp 2009-06-01 22:01:10.000000000 +0200
5@@ -0,0 +1,895 @@
6+/*
7+ * LZMA command line tool similar to gzip to encode and decode LZMA files.
8+ *
9+ * Copyright (C) 2005 Ville Koskinen
10+ *
11+ * This program is free software; you can redistribute it and/or
12+ * modify it under the terms of the GNU General Public License
13+ * as published by the Free Software Foundation; either version 2
14+ * of the License, or (at your option) any later version.
15+ *
16+ * This program is distributed in the hope that it will be useful,
17+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
18+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
19+ * GNU General Public License for more details.
20+ *
21+ * You should have received a copy of the GNU General Public License
22+ * along with this program; if not, write to the Free Software
23+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301,
24+ * USA.
25+ */
26+
27+#include "../../../Common/MyInitGuid.h"
28+
29+#include <iostream>
30+using std::cout;
31+using std::cerr;
32+using std::endl;
33+
34+#include <cstdio>
35+#include <cstdlib>
36+#include <cstring>
37+
38+#include <string>
39+using std::string;
40+#include <vector>
41+using std::vector;
42+typedef vector<string> stringVector;
43+
44+#include <unistd.h>
45+#include <getopt.h>
46+#include <signal.h>
47+
48+#include <sys/types.h>
49+#include <sys/stat.h>
50+#include <utime.h>
51+#include <sys/time.h> // futimes()
52+
53+// For Solaris
54+#ifndef HAVE_FUTIMES
55+//#define futimes(fd, tv) futimesat(fd, NULL, tv)
56+#endif
57+
58+#if defined(_WIN32) || defined(OS2) || defined(MSDOS)
59+#include <fcntl.h>
60+#include <io.h>
61+#define MY_SET_BINARY_MODE(file) setmode(fileno(file),O_BINARY)
62+#else
63+#define MY_SET_BINARY_MODE(file)
64+#endif
65+
66+#include "../../../7zip/Common/FileStreams.h"
67+
68+#include "../../../Common/Types.h"
69+
70+#include "../../../7zip/Compress/LzmaDecoder.h"
71+#include "../../../7zip/Compress/LzmaEncoder.h"
72+
73+#include "Exception.h"
74+
75+#include "lzma_version.h"
76+
77+namespace lzma {
78+
79+const char *PROGRAM_VERSION = PACKAGE_VERSION;
80+const char *PROGRAM_COPYRIGHT = "Copyright (C) 2006 Ville Koskinen";
81+
82+/* LZMA_Alone switches:
83+ -a{N}: set compression mode - [0, 2], default: 2 (max)
84+ -d{N}: set dictionary - [0,28], default: 23 (8MB)
85+ -fb{N}: set number of fast bytes - [5, 255], default: 128
86+ -lc{N}: set number of literal context bits - [0, 8], default: 3
87+ -lp{N}: set number of literal pos bits - [0, 4], default: 0
88+ -pb{N}: set number of pos bits - [0, 4], default: 2
89+ -mf{MF_ID}: set Match Finder: [bt2, bt3, bt4, bt4b, pat2r, pat2,
90+ pat2h, pat3h, pat4h, hc3, hc4], default: bt4
91+*/
92+
93+struct lzma_option {
94+ short compression_mode; // -a
95+ short dictionary; // -d
96+ short fast_bytes; // -fb
97+ wchar_t *match_finder; // -mf
98+ short literal_context_bits; // -lc
99+ short literal_pos_bits; // -lp
100+ short pos_bits; // -pb
101+};
102+
103+/* The following is a mapping from gzip/bzip2 style -1 .. -9 compression modes
104+ * to the corresponding LZMA compression modes. Thanks, Larhzu, for coining
105+ * these. */
106+const lzma_option option_mapping[] = {
107+ { 0, 0, 0, NULL, 0, 0, 0}, // -0 (needed for indexing)
108+ { 0, 16, 64, L"hc4", 3, 0, 2}, // -1
109+ { 0, 20, 64, L"hc4", 3, 0, 2}, // -2
110+ { 1, 19, 64, L"bt4", 3, 0, 2}, // -3
111+ { 2, 20, 64, L"bt4", 3, 0, 2}, // -4
112+ { 2, 21, 128, L"bt4", 3, 0, 2}, // -5
113+ { 2, 22, 128, L"bt4", 3, 0, 2}, // -6
114+ { 2, 23, 128, L"bt4", 3, 0, 2}, // -7
115+ { 2, 24, 255, L"bt4", 3, 0, 2}, // -8
116+ { 2, 25, 255, L"bt4", 3, 0, 2}, // -9
117+};
118+
119+struct extension_pair {
120+ char *from;
121+ char *to;
122+};
123+
124+const extension_pair known_extensions[] = {
125+ { ".lzma", "" },
126+ { ".tlz", ".tar" },
127+ { NULL, NULL }
128+};
129+
130+/* Sorry, I just happen to like enumerations. */
131+enum PROGRAM_MODE {
132+ PM_COMPRESS = 0,
133+ PM_DECOMPRESS,
134+ PM_TEST,
135+ PM_HELP,
136+ PM_LICENSE,
137+ PM_VERSION
138+};
139+
140+enum {
141+ STATUS_OK = 0,
142+ STATUS_ERROR = 1,
143+ STATUS_WARNING = 2
144+};
145+
146+/* getopt options. */
147+/* struct option { name, has_arg, flag, val } */
148+const struct option long_options[] = {
149+ { "stdout", 0, 0, 'c' },
150+ { "decompress", 0, 0, 'd' },
151+ { "compress", 0, 0, 'z' },
152+ { "keep", 0, 0, 'k' },
153+ { "force", 0, 0, 'f' },
154+ { "test", 0, 0, 't' },
155+ { "suffix", 1, 0, 'S' },
156+ { "quiet", 0, 0, 'q' },
157+ { "verbose", 0, 0, 'v' },
158+ { "help", 0, 0, 'h' },
159+ { "license", 0, 0, 'L' },
160+ { "version", 0, 0, 'V' },
161+ { "fast", 0, 0, '1' },
162+ { "best", 0, 0, '9' },
163+ { 0, 0, 0, 0 }
164+};
165+
166+/* getopt option string (for the above options). */
167+const char option_string[] = "cdzkftS:qvhLV123456789A:D:F:";
168+
169+/* Defaults. */
170+PROGRAM_MODE program_mode = PM_COMPRESS;
171+int verbosity = 0;
172+bool stdinput = false;
173+bool stdoutput = false;
174+bool keep = false;
175+bool force = false;
176+int compression_mode = 7;
177+//char *suffix = strdup(".lzma");
178+char *suffix = strdup(known_extensions[0].from);
179+lzma_option advanced_options = { -1, -1, -1, NULL, -1, -1, -1 };
180+
181+void print_help(const char *const argv0)
182+{
183+ // Help goes to stdout while other messages go to stderr.
184+ cout << "\nlzma " << PROGRAM_VERSION
185+ << " " << PROGRAM_COPYRIGHT << "\n"
186+ "Based on LZMA SDK " << LZMA_SDK_VERSION_STRING << " "
187+ << LZMA_SDK_COPYRIGHT_STRING
188+ << "\n\nUsage: " << argv0
189+ << " [flags and input files in any order]\n"
190+" -c --stdout output to standard output\n"
191+" -d --decompress force decompression\n"
192+" -z --compress force compression\n"
193+" -k --keep keep (don't delete) input files\n"
194+" -f --force force overwrite of output file and compress links\n"
195+" -t --test test compressed file integrity\n"
196+" -S .suf --suffix .suf use suffix .suf on compressed files\n"
197+" -q --quiet suppress error messages\n"
198+" -v --verbose be verbose\n"
199+" -h --help print this message\n"
200+" -L --license display the license information\n"
201+" -V --version display version numbers of LZMA SDK and lzma\n"
202+" -1 .. -2 fast compression\n"
203+" -3 .. -9 good to excellent compression. -7 is the default.\n"
204+" --fast alias for -1\n"
205+" --best alias for -9 (usually *not* what you want)\n\n"
206+" Memory usage depends a lot on the chosen compression mode -1 .. -9.\n"
207+" See the man page lzma(1) for details.\n\n";
208+}
209+
210+void print_license(void)
211+{
212+ cout << "\n LZMA command line tool " << PROGRAM_VERSION << " - "
213+ << PROGRAM_COPYRIGHT
214+ << "\n LZMA SDK " << LZMA_SDK_VERSION_STRING << " - "
215+ << LZMA_SDK_COPYRIGHT_STRING
216+ << "\n This program is a part of the LZMA utils package.\n"
217+ " http://tukaani.org/lzma/\n\n"
218+" This program is free software; you can redistribute it and/or\n"
219+" modify it under the terms of the GNU General Public License\n"
220+" as published by the Free Software Foundation; either version 2\n"
221+" of the License, or (at your option) any later version.\n"
222+"\n"
223+" This program is distributed in the hope that it will be useful,\n"
224+" but WITHOUT ANY WARRANTY; without even the implied warranty of\n"
225+" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n"
226+" GNU General Public License for more details.\n"
227+"\n";
228+}
229+
230+void print_version(void)
231+{
232+ cout << "LZMA command line tool " << PROGRAM_VERSION << "\n"
233+ << "LZMA SDK " << LZMA_SDK_VERSION_STRING << "\n";
234+}
235+
236+short str2int (const char *str, const int &min, const int &max)
237+{
238+ int value = -1;
239+ char *endptr = NULL;
240+ if (str == NULL || str[0] == '\0')
241+ throw ArgumentException("Invalid integer option");
242+ value = strtol (str, &endptr, 10);
243+ if (*endptr != '\0' || value < min || value > max)
244+ throw ArgumentException("Invalid integer option");
245+ return value;
246+}
247+
248+void parse_options(int argc, char **argv, stringVector &filenames)
249+{
250+ /* Snatched from getopt(3). */
251+ int c;
252+
253+ /* Check how we were called */
254+ {
255+ char *p = strrchr (argv[0], '/'); // Remove path prefix, if any
256+ if (p++ == NULL)
257+ p = argv[0];
258+ if (strstr (p, "un") != NULL) {
259+ program_mode = PM_DECOMPRESS;
260+ } else if (strstr (p, "cat") != NULL) {
261+ program_mode = PM_DECOMPRESS;
262+ stdoutput = true;
263+ }
264+ }
265+
266+ while (-1 != (c = getopt_long(argc, argv, option_string,
267+ long_options, NULL))) {
268+ switch (c) {
269+ // stdout
270+ case 'c':
271+ stdoutput = true;
272+ break;
273+
274+ // decompress
275+ case 'd':
276+ program_mode = PM_DECOMPRESS;
277+ break;
278+
279+ // compress
280+ case 'z':
281+ program_mode = PM_COMPRESS;
282+ break;
283+
284+ // keep
285+ case 'k':
286+ keep = true;
287+ break;
288+
289+ // force
290+ case 'f':
291+ force = true;
292+ break;
293+
294+ // test
295+ case 't':
296+ program_mode = PM_TEST;
297+ break;
298+
299+ // suffix
300+ case 'S':
301+ if (optarg) {
302+ free(suffix);
303+ suffix = strdup(optarg);
304+ }
305+ break;
306+
307+ // quiet
308+ case 'q':
309+ verbosity = 0;
310+ break;
311+
312+ // verbose
313+ case 'v':
314+ verbosity++;
315+ break;
316+
317+ // help
318+ case 'h':
319+ program_mode = PM_HELP;
320+ break;
321+
322+ // license
323+ case 'L':
324+ program_mode = PM_LICENSE;
325+ break;
326+
327+ // version
328+ case 'V':
329+ program_mode = PM_VERSION;
330+ break;
331+
332+ case '1': case '2': case '3': case '4': case '5':
333+ case '6': case '7': case '8': case '9':
334+ compression_mode = c - '0';
335+ break;
336+
337+ // Advanced options //
338+ // Compression mode
339+ case 'A':
340+ advanced_options.compression_mode =
341+ str2int (optarg, 0, 2);
342+ break;
343+
344+ // Dictionary size
345+ case 'D':
346+ advanced_options.dictionary =
347+ str2int (optarg, 0, 28);
348+ break;
349+
350+ // Fast bytes
351+ case 'F':
352+ advanced_options.fast_bytes =
353+ str2int (optarg, 0, 273);
354+ break;
355+
356+ default:
357+ throw ArgumentException("");
358+ break;
359+ } // switch(c)
360+ } // while(1)
361+
362+ for (int i = optind; i < argc; i++) {
363+ if (strcmp("-", argv[i]) == 0)
364+ continue;
365+ filenames.push_back(argv[i]);
366+ }
367+} // parse_options
368+
369+void set_encoder_properties(NCompress::NLzma::CEncoder *encoder,
370+ lzma_option &opt)
371+{
372+ /* Almost verbatim from LzmaAlone.cpp. */
373+ PROPID propIDs[] =
374+ {
375+ NCoderPropID::kDictionarySize,
376+ NCoderPropID::kPosStateBits,
377+ NCoderPropID::kLitContextBits,
378+ NCoderPropID::kLitPosBits,
379+ NCoderPropID::kAlgorithm,
380+ NCoderPropID::kNumFastBytes,
381+ NCoderPropID::kMatchFinder,
382+ NCoderPropID::kEndMarker
383+ };
384+ const int kNumProps = sizeof(propIDs) / sizeof(propIDs[0]);
385+#define VALUE(x) (advanced_options.x >= 0 ? advanced_options.x : opt.x)
386+ PROPVARIANT properties[kNumProps];
387+ for (int p = 0; p < 6; p++)
388+ properties[p].vt = VT_UI4;
389+ properties[0].ulVal = UInt32(1 << VALUE (dictionary));
390+ properties[1].ulVal = UInt32(VALUE (pos_bits));
391+ properties[2].ulVal = UInt32(VALUE (literal_context_bits));
392+ properties[3].ulVal = UInt32(VALUE (literal_pos_bits));
393+ properties[4].ulVal = UInt32(VALUE (compression_mode));
394+ properties[5].ulVal = UInt32(VALUE (fast_bytes));
395+#undef VALUE
396+
397+ properties[6].vt = VT_BSTR;
398+ properties[6].bstrVal = (BSTR)opt.match_finder;
399+
400+ properties[7].vt = VT_BOOL;
401+ properties[7].boolVal = stdinput ? VARIANT_TRUE : VARIANT_FALSE;
402+
403+ if (encoder->SetCoderProperties(propIDs, properties, kNumProps) != S_OK)
404+ throw Exception("SetCoderProperties() error");
405+}
406+
407+void encode(NCompress::NLzma::CEncoder *encoderSpec,
408+ CMyComPtr<ISequentialInStream> inStream,
409+ CMyComPtr<ISequentialOutStream> outStream,
410+ lzma_option encoder_options,
411+ UInt64 fileSize)
412+{
413+ set_encoder_properties(encoderSpec, encoder_options);
414+
415+ encoderSpec->WriteCoderProperties(outStream);
416+
417+ for (int i = 0; i < 8; i++)
418+ {
419+ Byte b = Byte(fileSize >> (8 * i));
420+ if (outStream->Write(&b, sizeof(b), 0) != S_OK)
421+ throw Exception("Write error while encoding");
422+ }
423+
424+ HRESULT result = encoderSpec->Code(inStream, outStream, 0, 0, 0);
425+
426+ if (result == E_OUTOFMEMORY)
427+ throw Exception("Cannot allocate memory");
428+ else if (result != S_OK) {
429+ char buffer[33];
430+ snprintf(buffer, 33, "%d", (unsigned int)result);
431+ throw Exception(string("Encoder error: ") + buffer);
432+ }
433+}
434+
435+void decode(NCompress::NLzma::CDecoder *decoderSpec,
436+ CMyComPtr<ISequentialInStream> inStream,
437+ CMyComPtr<ISequentialOutStream> outStream)
438+{
439+ const UInt32 kPropertiesSize = 5;
440+ Byte properties[kPropertiesSize];
441+ UInt32 processedSize;
442+ UInt64 fileSize = 0;
443+
444+ if (inStream->Read(properties, kPropertiesSize, &processedSize) != S_OK)
445+ throw Exception("Read error");
446+ if (processedSize != kPropertiesSize)
447+ throw Exception("Read error");
448+ if (decoderSpec->SetDecoderProperties2(properties, kPropertiesSize) != S_OK)
449+ throw Exception("SetDecoderProperties() error");
450+
451+ for (int i = 0; i < 8; i++)
452+ {
453+ Byte b;
454+
455+ if (inStream->Read(&b, sizeof(b), &processedSize) != S_OK)
456+ throw Exception("Read error");
457+ if (processedSize != 1)
458+ throw Exception("Read error");
459+
460+ fileSize |= ((UInt64)b) << (8 * i);
461+ }
462+
463+ if (decoderSpec->Code(inStream, outStream, 0, &fileSize, 0) != S_OK)
464+ throw Exception("Decoder error");
465+}
466+
467+int open_instream(const string infile,
468+ CMyComPtr<ISequentialInStream> &inStream,
469+ UInt64 &fileSize)
470+{
471+ CInFileStream *inStreamSpec = new CInFileStream;
472+ inStream = inStreamSpec;
473+ if (!inStreamSpec->Open(infile.c_str()))
474+ throw Exception("Cannot open input file " + infile);
475+
476+ inStreamSpec->File.GetLength(fileSize);
477+
478+ return inStreamSpec->File.GetHandle();
479+}
480+
481+int open_outstream(const string outfile,
482+ CMyComPtr<ISequentialOutStream> &outStream)
483+{
484+ COutFileStream *outStreamSpec = new COutFileStream;
485+ outStream = outStreamSpec;
486+
487+ bool open_by_force = (program_mode == PM_TEST) | force;
488+
489+ if (!outStreamSpec->Create(outfile.c_str(), open_by_force))
490+ throw Exception("Cannot open output file " + outfile);
491+
492+ return outStreamSpec->File.GetHandle();
493+}
494+
495+double get_ratio(int inhandle, int outhandle)
496+{
497+ struct stat in_stats, out_stats;
498+ fstat(inhandle, &in_stats);
499+ fstat(outhandle, &out_stats);
500+
501+ return (double)out_stats.st_size / (double)in_stats.st_size;
502+}
503+
504+mode_t get_file_mode(string filename)
505+{
506+ struct stat in_stat;
507+ lstat(filename.c_str(), &in_stat);
508+
509+ return in_stat.st_mode;
510+}
511+
512+bool string_ends_with(string str, string ending)
513+{
514+ return equal(ending.rbegin(), ending.rend(), str.rbegin());
515+}
516+
517+bool extension_is_known(string filename)
518+{
519+ bool known_format = false;
520+ extension_pair extension; int i = 1;
521+
522+ extension = known_extensions[0];
523+ while (extension.from != NULL) {
524+ if (string_ends_with(filename, extension.from)) {
525+ known_format = true;
526+ break;
527+ }
528+ extension = known_extensions[i];
529+ i++;
530+ }
531+
532+ if (!known_format) {
533+ if (!string_ends_with(filename, suffix)) {
534+ return false;
535+ }
536+ }
537+
538+ return true;
539+}
540+
541+string replace_extension(string filename)
542+{
543+ int suffix_starts_at = filename.length() - strlen (suffix);
544+ string from_suffix = filename.substr(suffix_starts_at, strlen (suffix));
545+ string ret = filename.substr(0, suffix_starts_at);
546+ extension_pair extension; int i = 1;
547+
548+ bool found_replacement = false;
549+ extension = known_extensions[0];
550+ while (extension.from != NULL) {
551+ if (from_suffix.compare(extension.from) == 0) {
552+ ret += extension.to;
553+ found_replacement = true;
554+ break;
555+ }
556+
557+ extension = known_extensions[i];
558+ i++;
559+ }
560+
561+ return ret;
562+}
563+
564+string pretty_print_status(string filename, string output_filename,
565+ string ratio)
566+{
567+ string ret = "";
568+
569+ ret += filename;
570+ ret += ":\t ";
571+
572+ if (program_mode == PM_TEST) {
573+ ret += "decoded succesfully";
574+
575+ return ret;
576+ }
577+
578+ if (!stdinput && !stdoutput) {
579+ ret += ratio;
580+ ret += " -- ";
581+ }
582+
583+ if (program_mode == PM_COMPRESS) {
584+ if (keep) {
585+ ret += "encoded succesfully";
586+
587+ return ret;
588+ }
589+
590+ ret += "replaced with ";
591+ ret += output_filename;
592+
593+ return ret;
594+ }
595+
596+ if (program_mode == PM_DECOMPRESS) {
597+ if (keep) {
598+ ret += "decoded succesfully";
599+
600+ return ret;
601+ }
602+
603+ ret += "replaced with ";
604+ ret += output_filename;
605+
606+ return ret;
607+ }
608+
609+ return ret;
610+}
611+
612+static string archive_name; // I know, it is crude, but I haven't found any other
613+ // way then making a global variable to transfer filename to handler
614+
615+void signal_handler (int signum)
616+{
617+ unlink (archive_name.c_str()); // deleting
618+ signal (signum, SIG_DFL); // we return the default function to used signal
619+ kill (getpid(), signum); // and then send this signal to the process again
620+}
621+
622+} // namespace lzma
623+
624+
625+int main(int argc, char **argv)
626+{
627+ using namespace lzma;
628+ using std::cerr;
629+
630+ stringVector filenames;
631+
632+ signal (SIGTERM,signal_handler);
633+ signal (SIGHUP,signal_handler);
634+ signal (SIGINT,signal_handler);
635+
636+ try {
637+ parse_options(argc, argv, filenames);
638+ }
639+ catch (...) {
640+ return STATUS_ERROR;
641+ }
642+
643+ if (program_mode == PM_HELP) {
644+ print_help(argv[0]);
645+ return STATUS_OK;
646+ }
647+ else if (program_mode == PM_LICENSE) {
648+ print_license();
649+ return STATUS_OK;
650+ }
651+ else if (program_mode == PM_VERSION) {
652+ print_version();
653+ return STATUS_OK;
654+ }
655+
656+ if (filenames.empty()) {
657+ stdinput = true;
658+ stdoutput = true;
659+
660+ /* FIXME: get rid of this */
661+ filenames.push_back("-");
662+ }
663+
664+ /* Protection: always create new files with 0600 in order to prevent
665+ * outsiders from reading incomplete data. */
666+ umask(0077);
667+
668+ bool warning = false;
669+
670+ for (int i = 0; i < filenames.size(); i++) {
671+ CMyComPtr<ISequentialInStream> inStream;
672+ CMyComPtr<ISequentialOutStream> outStream;
673+ UInt64 fileSize = 0;
674+ int inhandle = 0, outhandle = 0;
675+ string output_filename;
676+
677+ if (stdinput) {
678+ inStream = new CStdInFileStream;
679+ MY_SET_BINARY_MODE(stdin);
680+ fileSize = (UInt64)(Int64)-1;
681+
682+ inhandle = STDIN_FILENO;
683+
684+ outStream = new CStdOutFileStream;
685+ MY_SET_BINARY_MODE(stdout);
686+
687+ outhandle = STDOUT_FILENO;
688+ }
689+ else {
690+ mode_t infile_mode = get_file_mode(filenames[i]);
691+ if (!S_ISREG(infile_mode)) {
692+ if (S_ISDIR(infile_mode)) {
693+ warning = true;
694+ cerr << argv[0] << ": " << filenames[i] << ": "
695+ << "cowardly refusing to work on directory"
696+ << endl;
697+
698+ continue;
699+ }
700+ else if (S_ISLNK(infile_mode)) {
701+ if (!stdoutput && !force) {
702+ warning = true;
703+
704+ cerr << argv[0] << ": " << filenames[i] << ": "
705+ << "cowardly refusing to work on symbolic link "
706+ << "(use --force to force encoding or decoding)"
707+ << endl;
708+
709+ continue;
710+ }
711+ }
712+ else {
713+ warning = true;
714+
715+ cerr << argv[0] << ": " << filenames[i] << ": "
716+ << "doesn't exist or is not a regular file"
717+ << endl;
718+
719+ continue;
720+ }
721+ }
722+
723+ // Test if the file already ends with *suffix.
724+ if (program_mode == PM_COMPRESS && !force
725+ && string_ends_with(filenames[i],
726+ suffix)) {
727+ warning = true;
728+
729+ cerr << filenames[i] << " already has "
730+ << suffix << " suffix -- unchanged\n";
731+
732+ continue;
733+ }
734+
735+ // Test if the file extension is known.
736+ if (program_mode == PM_DECOMPRESS
737+ && !extension_is_known(filenames[i])) {
738+ warning = true;
739+
740+ cerr << filenames[i] << ": "
741+ << " unknown suffix -- unchanged"
742+ << endl;
743+
744+ continue;
745+ }
746+
747+ try {
748+ inhandle = open_instream(filenames[i], inStream, fileSize);
749+ }
750+ catch (Exception e) {
751+ cerr << argv[0] << ": " << e.what() << endl;
752+ return STATUS_ERROR;
753+ }
754+
755+ if (stdoutput) {
756+ outStream = new CStdOutFileStream;
757+ MY_SET_BINARY_MODE(stdout);
758+
759+ outhandle = STDOUT_FILENO;
760+ }
761+ else {
762+ /* Testing mode is nothing else but decoding
763+ * and throwing away the result. */
764+ if (program_mode == PM_TEST)
765+ output_filename = "/dev/null";
766+ else if (program_mode == PM_DECOMPRESS)
767+ output_filename = replace_extension(filenames[i]);
768+ else
769+ output_filename = filenames[i]
770+ + suffix;
771+ archive_name = output_filename;
772+
773+ try {
774+ outhandle = open_outstream(output_filename, outStream);
775+ }
776+ catch (Exception e) {
777+ cerr << argv[0] << ": " << e.what() << endl;
778+ return STATUS_ERROR;
779+ }
780+ }
781+
782+ }
783+
784+ // Unless --force is specified, do not read/write compressed
785+ // data from/to a terminal.
786+ if (!force) {
787+ if (program_mode == PM_COMPRESS && isatty(outhandle)) {
788+ cerr << argv[0] << ": compressed data not "
789+ "written to a terminal. Use "
790+ "-f to force compression.\n"
791+ << argv[0] << ": For help, type: "
792+ << argv[0] << " -h\n";
793+ return STATUS_ERROR;
794+ } else if (program_mode == PM_DECOMPRESS
795+ && isatty(inhandle)) {
796+ cerr << argv[0] << ": compressed data not "
797+ "read from a terminal. Use "
798+ "-f to force decompression.\n"
799+ << argv[0] << ": For help, type: "
800+ << argv[0] << " -h\n";
801+ return STATUS_ERROR;
802+ }
803+ }
804+
805+ if (program_mode == PM_COMPRESS) {
806+ NCompress::NLzma::CEncoder *encoderSpec =
807+ new NCompress::NLzma::CEncoder;
808+
809+ lzma_option options = option_mapping[compression_mode];
810+
811+ try {
812+ encode(encoderSpec, inStream, outStream, options, fileSize);
813+ }
814+ catch (Exception e) {
815+ cerr << argv[0] << ": " << e.what() << endl;
816+ unlink(output_filename.c_str());
817+ delete(encoderSpec);
818+
819+ return STATUS_ERROR;
820+ }
821+
822+ delete(encoderSpec);
823+ }
824+ else { // PM_DECOMPRESS | PM_TEST
825+ NCompress::NLzma::CDecoder *decoderSpec =
826+ new NCompress::NLzma::CDecoder;
827+
828+ try {
829+ decode(decoderSpec, inStream, outStream);
830+ }
831+ catch (Exception e) {
832+ cerr << argv[0] << ": " << e.what() << endl;
833+ unlink(output_filename.c_str());
834+ delete(decoderSpec);
835+
836+ return STATUS_ERROR;
837+ }
838+
839+ delete(decoderSpec);
840+ }
841+
842+ /* Set permissions and owners. */
843+ if ( (program_mode == PM_COMPRESS || program_mode == PM_DECOMPRESS )
844+ && (!stdinput && !stdoutput) ) {
845+
846+ int ret = 0;
847+ struct stat file_stats;
848+ ret = fstat(inhandle, &file_stats);
849+
850+ ret = fchmod(outhandle, file_stats.st_mode);
851+ ret = fchown(outhandle, file_stats.st_uid, file_stats.st_gid);
852+ // We need to call fchmod() again, since otherwise the SUID bits
853+ // are lost.
854+ ret = fchmod(outhandle, file_stats.st_mode);
855+
856+ struct timeval file_times[2];
857+ // Access time
858+ file_times[0].tv_sec = file_stats.st_atime;
859+ file_times[0].tv_usec = 0;
860+ // Modification time
861+ file_times[1].tv_sec = file_stats.st_mtime;
862+ file_times[1].tv_usec = 0;
863+
864+ ret = futimes(outhandle, file_times);
865+
866+ if (!keep)
867+ unlink(filenames[i].c_str());
868+ }
869+
870+ if (verbosity > 0) {
871+ if (stdoutput) {
872+ cerr << filenames[i] << ":\t ";
873+ cerr << "decoded succesfully"
874+ << endl;
875+ }
876+
877+ else {
878+ char buf[10] = { 0 };
879+
880+ if (program_mode == PM_DECOMPRESS)
881+ snprintf(buf, 10, "%.2f%%",
882+ (1 - get_ratio(outhandle, inhandle)) * 100);
883+ if (program_mode == PM_COMPRESS)
884+ snprintf(buf, 10, "%.2f%%",
885+ (1 - get_ratio(inhandle, outhandle)) * 100);
886+
887+ string ratio = buf;
888+ cerr << pretty_print_status(filenames[i], output_filename,
889+ ratio)
890+ << endl;
891+ }
892+ }
893+ }
894+
895+ if (warning)
896+ return STATUS_WARNING;
897+
898+ return STATUS_OK;
899+}
900+
901Index: lzma-4.65/CPP/7zip/Compress/LZMA_Alone/Exception.h
902===================================================================
903--- /dev/null 1970-01-01 00:00:00.000000000 +0000
904+++ lzma-4.65/CPP/7zip/Compress/LZMA_Alone/Exception.h 2009-06-01 22:01:10.000000000 +0200
905@@ -0,0 +1,45 @@
906+/* A couple of exceptions for lzmp.
907+ *
908+ * Copyright (C) 2005 Ville Koskinen
909+ *
910+ * This program is free software; you can redistribute it and/or
911+ * modify it under the terms of the GNU General Public License
912+ * as published by the Free Software Foundation; either version 2
913+ * of the License, or (at your option) any later version.
914+ *
915+ * This program is distributed in the hope that it will be useful,
916+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
917+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
918+ * GNU General Public License for more details.
919+ */
920+
921+#ifndef _EXCEPTION_H_
922+#define _EXCEPTION_H_
923+
924+#include <string>
925+using std::string;
926+
927+class Exception
928+{
929+private:
930+ string message;
931+public:
932+ Exception(char *what): message(what) { }
933+ Exception(string what): message(what) { }
934+
935+ ~Exception() { }
936+
937+ string what(void) { return message; }
938+};
939+
940+class ArgumentException: public Exception
941+{
942+public:
943+ ArgumentException(char *what): Exception(what) { }
944+ ArgumentException(string what): Exception(what) { }
945+
946+ ~ArgumentException() { }
947+};
948+
949+#endif
950+
951Index: lzma-4.65/CPP/7zip/Compress/LZMA_Alone/makefile.gcc
952===================================================================
953--- lzma-4.65.orig/CPP/7zip/Compress/LZMA_Alone/makefile.gcc 2009-06-01 22:00:54.000000000 +0200
954+++ lzma-4.65/CPP/7zip/Compress/LZMA_Alone/makefile.gcc 2009-06-01 22:06:13.000000000 +0200
955@@ -1,9 +1,10 @@
956-PROG = lzma
957+PROG = lzma_alone
958+PROG2 = lzma
959 CXX = g++ -O2 -Wall
960 CXX_C = gcc -O2 -Wall
961 LIB = -lm
962 RM = rm -f
963-CFLAGS = -c -D_FILE_OFFSET_BITS=64
964+CFLAGS = -c -I ../../../ -D_FILE_OFFSET_BITS=64 -DPACKAGE_VERSION="\"4.32.0beta3\""
965
966 ifdef SystemDrive
967 IS_MINGW = 1
968@@ -45,12 +46,35 @@
969 Lzma86Dec.o \
970 Lzma86Enc.o \
971
972+OBJS2 = \
973+ C_FileIO.o \
974+ CRC.o \
975+ Alloc.o \
976+ FileStreams.o \
977+ StreamUtils.o \
978+ InBuffer.o \
979+ OutBuffer.o \
980+ LzmaDecoder.o \
981+ StringConvert.o \
982+ StringToInt.o \
983+ LzmaEncoder.o \
984+ LzmaDec.o \
985+ LzmaEnc.o \
986+ LzFind.o \
987+ 7zCrc.o \
988+ lzmp.o
989
990-all: $(PROG)
991+all: $(PROG) $(PROG2)
992
993 $(PROG): $(OBJS)
994 $(CXX) -o $(PROG) $(LDFLAGS) $(OBJS) $(LIB) $(LIB2)
995
996+$(PROG2): $(OBJS2)
997+ $(CXX) -o $(PROG2) $(LDFLAGS) $(OBJS2) $(LIB)
998+
999+lzmp.o: lzmp.cpp
1000+ $(CXX) $(CFLAGS) lzmp.cpp
1001+
1002 LzmaAlone.o: LzmaAlone.cpp
1003 $(CXX) $(CFLAGS) LzmaAlone.cpp
1004
1005@@ -131,5 +153,5 @@
1006 $(CXX_C) $(CFLAGS) ../../../../C/LzmaUtil/Lzma86Enc.c
1007
1008 clean:
1009- -$(RM) $(PROG) $(OBJS)
1010+ -$(RM) $(PROG) $(PROG2) $(OBJS)
1011
1012Index: lzma-4.65/CPP/7zip/Compress/LZMA_Alone/lzma_version.h
1013===================================================================
1014--- /dev/null 1970-01-01 00:00:00.000000000 +0000
1015+++ lzma-4.65/CPP/7zip/Compress/LZMA_Alone/lzma_version.h 2009-06-01 22:01:10.000000000 +0200
1016@@ -0,0 +1,31 @@
1017+#ifndef LZMA_VERSION_H
1018+#define LZMA_VERSION_H
1019+
1020+/*
1021+ Version and copyright information used by LZMA utils.
1022+*/
1023+
1024+static const char *LZMA_SDK_VERSION_STRING = "4.43";
1025+
1026+static const char *LZMA_SDK_COPYRIGHT_STRING =
1027+ "Copyright (C) 1999-2006 Igor Pavlov";
1028+
1029+static const char *LZMA_SDK_COPYRIGHT_INFO =
1030+ " See http://7-zip.org/sdk.html or the documentation of LZMA SDK for\n"
1031+ " the license. For reference, the version 4.43 is free software\n"
1032+ " licensed under the GNU LGPL.";
1033+
1034+
1035+static const char *LZMA_UTILS_VERSION_STRING = PACKAGE_VERSION;
1036+
1037+static const char *LZMA_UTILS_COPYRIGHT_STRING =
1038+ "Copyright (C) 2006 Lasse Collin";
1039+
1040+static const char *LZMA_UTILS_COPYRIGHT_INFO =
1041+ "This program comes with ABSOLUTELY NO WARRANTY.\n"
1042+ "You may redistribute copies of this program\n"
1043+ "under the terms of the GNU General Public License.\n"
1044+ "For more information about these matters, see the file "
1045+ "named COPYING.\n";
1046+
1047+#endif /* ifndef LZMA_VERSION_H */
1048Index: lzma-4.65/CPP/Common/C_FileIO.h
1049===================================================================
1050--- lzma-4.65.orig/CPP/Common/C_FileIO.h 2009-05-15 23:33:51.000000000 +0200
1051+++ lzma-4.65/CPP/Common/C_FileIO.h 2009-06-01 22:06:56.000000000 +0200
1052@@ -24,6 +24,7 @@
1053 bool Close();
1054 bool GetLength(UInt64 &length) const;
1055 off_t Seek(off_t distanceToMove, int moveMethod) const;
1056+ int GetHandle() const { return _handle; }
1057 };
1058
1059 class CInFile: public CFileBase
diff --git a/meta-oe/recipes-support/lzma/lzma-4.65/003-compile_fixes.patch b/meta-oe/recipes-support/lzma/lzma-4.65/003-compile_fixes.patch
new file mode 100644
index 000000000..49ae66b9c
--- /dev/null
+++ b/meta-oe/recipes-support/lzma/lzma-4.65/003-compile_fixes.patch
@@ -0,0 +1,26 @@
1diff -urN lzma-4.65/CPP/7zip/Common/FileStreams.h lzma-4.65.new/CPP/7zip/Common/FileStreams.h
2--- lzma-4.65/CPP/7zip/Common/FileStreams.h 2009-05-15 23:33:51.000000000 +0200
3+++ lzma-4.65.new/CPP/7zip/Common/FileStreams.h 2009-06-01 22:30:01.000000000 +0200
4@@ -72,6 +72,7 @@
5 public IOutStream,
6 public CMyUnknownImp
7 {
8+public:
9 #ifdef USE_WIN_FILE
10 NWindows::NFile::NIO::COutFile File;
11 #else
12diff -urN lzma-4.65/CPP/Common/MyWindows.h lzma-4.65.new/CPP/Common/MyWindows.h
13--- lzma-4.65/CPP/Common/MyWindows.h 2009-05-15 23:33:51.000000000 +0200
14+++ lzma-4.65.new/CPP/Common/MyWindows.h 2009-06-01 22:29:26.000000000 +0200
15@@ -101,8 +101,11 @@
16
17 #ifdef __cplusplus
18
19+#ifndef INITGUID
20+#define INITGUID
21 DEFINE_GUID(IID_IUnknown,
22 0x00000000, 0x0000, 0x0000, 0xC0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46);
23+#endif
24 struct IUnknown
25 {
26 STDMETHOD(QueryInterface) (REFIID iid, void **outObject) PURE;
diff --git a/meta-oe/recipes-support/lzma/lzma-4.65/100-static_library.patch b/meta-oe/recipes-support/lzma/lzma-4.65/100-static_library.patch
new file mode 100644
index 000000000..15ab4e055
--- /dev/null
+++ b/meta-oe/recipes-support/lzma/lzma-4.65/100-static_library.patch
@@ -0,0 +1,70 @@
1--- a/C/LzmaUtil/makefile.gcc
2+++ b/C/LzmaUtil/makefile.gcc
3@@ -1,44 +1,53 @@
4 PROG = lzma
5-CXX = g++
6-LIB =
7+CC = gcc
8+LIB = liblzma.a
9 RM = rm -f
10 CFLAGS = -c -O2 -Wall
11+AR = ar
12+RANLIB = ranlib
13
14 OBJS = \
15- LzmaUtil.o \
16 Alloc.o \
17 LzFind.o \
18 LzmaDec.o \
19 LzmaEnc.o \
20+ LzmaLib.o \
21 7zFile.o \
22 7zStream.o \
23
24-
25 all: $(PROG)
26
27-$(PROG): $(OBJS)
28- $(CXX) -o $(PROG) $(LDFLAGS) $(OBJS) $(LIB) $(LIB2)
29+$(PROG): LzmaUtil.o $(LIB)
30+ $(CC) -o $(PROG) $(LDFLAGS) $< $(LIB)
31
32 LzmaUtil.o: LzmaUtil.c
33- $(CXX) $(CFLAGS) LzmaUtil.c
34+ $(CC) $(CFLAGS) LzmaUtil.c
35+
36+$(LIB): $(OBJS)
37+ rm -f $@
38+ $(AR) rcu $@ $(OBJS)
39+ $(RANLIB) $@
40
41 Alloc.o: ../Alloc.c
42- $(CXX) $(CFLAGS) ../Alloc.c
43+ $(CC) $(CFLAGS) ../Alloc.c
44
45 LzFind.o: ../LzFind.c
46- $(CXX) $(CFLAGS) ../LzFind.c
47+ $(CC) $(CFLAGS) ../LzFind.c
48
49 LzmaDec.o: ../LzmaDec.c
50- $(CXX) $(CFLAGS) ../LzmaDec.c
51+ $(CC) $(CFLAGS) ../LzmaDec.c
52
53 LzmaEnc.o: ../LzmaEnc.c
54- $(CXX) $(CFLAGS) ../LzmaEnc.c
55+ $(CC) $(CFLAGS) ../LzmaEnc.c
56+
57+LzmaLib.o: ../LzmaLib.c
58+ $(CC) $(CFLAGS) ../LzmaLib.c
59
60 7zFile.o: ../7zFile.c
61- $(CXX) $(CFLAGS) ../7zFile.c
62+ $(CC) $(CFLAGS) ../7zFile.c
63
64 7zStream.o: ../7zStream.c
65- $(CXX) $(CFLAGS) ../7zStream.c
66+ $(CC) $(CFLAGS) ../7zStream.c
67
68 clean:
69- -$(RM) $(PROG) $(OBJS)
70+ -$(RM) $(PROG) *.o *.a
diff --git a/meta-oe/recipes-support/lzma/lzma-4.65/makefile-cleanup.patch b/meta-oe/recipes-support/lzma/lzma-4.65/makefile-cleanup.patch
new file mode 100644
index 000000000..ccca4d9e8
--- /dev/null
+++ b/meta-oe/recipes-support/lzma/lzma-4.65/makefile-cleanup.patch
@@ -0,0 +1,18 @@
1Index: lzma-4.65/C/LzmaUtil/makefile.gcc
2===================================================================
3--- lzma-4.65.orig/C/LzmaUtil/makefile.gcc
4+++ lzma-4.65/C/LzmaUtil/makefile.gcc
5@@ -1,10 +1,10 @@
6 PROG = lzma
7-CC = gcc
8+CC ?= gcc
9 LIB = liblzma.a
10 RM = rm -f
11 CFLAGS = -c -O2 -Wall
12-AR = ar
13-RANLIB = ranlib
14+AR ?= ar
15+RANLIB ?= ranlib
16
17 OBJS = \
18 Alloc.o \
diff --git a/meta-oe/recipes-support/lzma/lzma.inc b/meta-oe/recipes-support/lzma/lzma.inc
new file mode 100644
index 000000000..72f5d47bb
--- /dev/null
+++ b/meta-oe/recipes-support/lzma/lzma.inc
@@ -0,0 +1,36 @@
1DESCRIPTION = "LZMA is a general compression method. LZMA provides high compression ratio and very fast decompression."
2HOMEPAGE = "http://www.7-zip.org/"
3LICENSE = "LGPL"
4LIC_FILES_CHKSUM = "file://lzma.txt;md5=20251cdc2e3793cceab11878d0aa11b1"
5INC_PR = "r6"
6
7SRC_URI = "http://downloads.sourceforge.net/sevenzip/lzma${@bb.data.getVar('PV',d,1).replace('.','')}.tar.bz2;subdir=${BPN}-${PV} \
8 file://001-large_files.patch \
9 file://002-lzmp.patch \
10 file://003-compile_fixes.patch \
11 file://100-static_library.patch \
12 file://makefile-cleanup.patch"
13
14EXTRA_OEMAKE = "-f makefile.gcc"
15
16do_unpack_append() {
17 import oe.process
18 # Replace MS-DOS line-endings with Unix style line-endings
19 oe.process.run("find . -type f -print0 | xargs -0 sed 's/\r$//' -i",
20 cwd=d.getVar("S", True))
21}
22
23do_compile() {
24 oe_runmake CFLAGS='${CFLAGS} -c' -C C/LzmaUtil
25 oe_runmake CXX_C='${CC} ${CFLAGS}' CXX='${CXX} ${CXXFLAGS}' \
26 -C CPP/7zip/Compress/LZMA_Alone
27}
28
29do_install() {
30 install -d ${D}${bindir} ${D}${libdir}
31 install -m 0755 CPP/7zip/Compress/LZMA_Alone/lzma ${D}${bindir}
32 oe_libinstall -a -C C/LzmaUtil liblzma ${D}${libdir}
33}
34
35NATIVE_INSTALL_WORKS = "1"
36BBCLASSEXTEND = "native"
diff --git a/meta-oe/recipes-support/lzma/lzma_4.65.bb b/meta-oe/recipes-support/lzma/lzma_4.65.bb
new file mode 100644
index 000000000..5295cd9a9
--- /dev/null
+++ b/meta-oe/recipes-support/lzma/lzma_4.65.bb
@@ -0,0 +1,5 @@
1require lzma.inc
2PR = "${INC_PR}.1"
3
4SRC_URI[md5sum] = "29d5ffd03a5a3e51aef6a74e9eafb759"
5SRC_URI[sha256sum] = "c935fd04dd8e0e8c688a3078f3675d699679a90be81c12686837e0880aa0fa1e"
diff --git a/meta-oe/recipes-support/mpfr/mpfr-3.0.0/long-long-thumb.patch b/meta-oe/recipes-support/mpfr/mpfr-3.0.0/long-long-thumb.patch
new file mode 100644
index 000000000..a4029d799
--- /dev/null
+++ b/meta-oe/recipes-support/mpfr/mpfr-3.0.0/long-long-thumb.patch
@@ -0,0 +1,11 @@
1--- mpfr-2.3.1/mpfr-longlong.h~ 2008-01-01 03:29:09.000000000 +0000
2+++ mpfr-2.3.1/mpfr-longlong.h 2008-10-27 21:46:44.000000000 +0000
3@@ -406,7 +406,7 @@
4 "rIJ" ((USItype) (bl)))
5 #endif
6
7-#if defined (__arm__) && W_TYPE_SIZE == 32
8+#if defined (__arm__) && W_TYPE_SIZE == 32 && !defined(__thumb__)
9 #define add_ssaaaa(sh, sl, ah, al, bh, bl) \
10 __asm__ ("adds\t%1, %4, %5\n\tadc\t%0, %2, %3" \
11 : "=r" (sh), "=&r" (sl) \
diff --git a/meta-oe/recipes-support/mpfr/mpfr-3.0.0/p4.patch b/meta-oe/recipes-support/mpfr/mpfr-3.0.0/p4.patch
new file mode 100644
index 000000000..743c07139
--- /dev/null
+++ b/meta-oe/recipes-support/mpfr/mpfr-3.0.0/p4.patch
@@ -0,0 +1,1752 @@
1diff -Naurd mpfr-3.0.0-a/PATCHES mpfr-3.0.0-b/PATCHES
2--- mpfr-3.0.0-a/PATCHES 2010-06-23 11:02:49.000000000 +0000
3+++ mpfr-3.0.0-b/PATCHES 2010-06-23 11:03:36.000000000 +0000
4@@ -0,0 +1 @@
5+mpfr_out_str
6diff -Naurd mpfr-3.0.0-a/VERSION mpfr-3.0.0-b/VERSION
7--- mpfr-3.0.0-a/VERSION 2010-06-10 11:00:14.000000000 +0000
8+++ mpfr-3.0.0-b/VERSION 2010-06-23 11:03:20.000000000 +0000
9@@ -1 +1 @@
10-3.0.0
11+3.0.0-p1
12diff -Naurd mpfr-3.0.0-a/mpfr.h mpfr-3.0.0-b/mpfr.h
13--- mpfr-3.0.0-a/mpfr.h 2010-06-10 11:00:14.000000000 +0000
14+++ mpfr-3.0.0-b/mpfr.h 2010-06-23 11:03:20.000000000 +0000
15@@ -27,7 +27,7 @@
16 #define MPFR_VERSION_MAJOR 3
17 #define MPFR_VERSION_MINOR 0
18 #define MPFR_VERSION_PATCHLEVEL 0
19-#define MPFR_VERSION_STRING "3.0.0"
20+#define MPFR_VERSION_STRING "3.0.0-p1"
21
22 /* Macros dealing with MPFR VERSION */
23 #define MPFR_VERSION_NUM(a,b,c) (((a) << 16L) | ((b) << 8) | (c))
24diff -Naurd mpfr-3.0.0-a/mpfr.texi mpfr-3.0.0-b/mpfr.texi
25--- mpfr-3.0.0-a/mpfr.texi 2010-06-10 11:00:14.000000000 +0000
26+++ mpfr-3.0.0-b/mpfr.texi 2010-06-23 11:03:12.000000000 +0000
27@@ -2050,7 +2050,7 @@
28 are printed. If @var{base} is greater than 10, @samp{@@} will be used
29 instead of @samp{e} as exponent delimiter.
30
31-Return the number of bytes written, or if an error occurred, return 0.
32+Return the number of characters written, or if an error occurred, return 0.
33 @end deftypefun
34
35 @deftypefun size_t mpfr_inp_str (mpfr_t @var{rop}, FILE *@var{stream}, int @var{base}, mpfr_rnd_t @var{rnd})
36diff -Naurd mpfr-3.0.0-a/out_str.c mpfr-3.0.0-b/out_str.c
37--- mpfr-3.0.0-a/out_str.c 2010-06-10 11:00:14.000000000 +0000
38+++ mpfr-3.0.0-b/out_str.c 2010-06-23 11:03:12.000000000 +0000
39@@ -22,6 +22,16 @@
40
41 #include "mpfr-impl.h"
42
43+/* Warning! S should not contain "%". */
44+#define OUT_STR_RET(S) \
45+ do \
46+ { \
47+ int r; \
48+ r = fprintf (stream, (S)); \
49+ return r < 0 ? 0 : r; \
50+ } \
51+ while (0)
52+
53 size_t
54 mpfr_out_str (FILE *stream, int base, size_t n_digits, mpfr_srcptr op,
55 mpfr_rnd_t rnd_mode)
56@@ -29,6 +39,7 @@
57 char *s, *s0;
58 size_t l;
59 mpfr_exp_t e;
60+ int err;
61
62 MPFR_ASSERTN (base >= 2 && base <= 62);
63
64@@ -36,37 +47,16 @@
65 if (stream == NULL)
66 stream = stdout;
67
68- if (MPFR_IS_NAN(op))
69- {
70- fprintf (stream, "@NaN@");
71- return 3;
72- }
73-
74- if (MPFR_IS_INF(op))
75- {
76- if (MPFR_SIGN(op) > 0)
77- {
78- fprintf (stream, "@Inf@");
79- return 3;
80- }
81- else
82- {
83- fprintf (stream, "-@Inf@");
84- return 4;
85- }
86- }
87-
88- if (MPFR_IS_ZERO(op))
89+ if (MPFR_UNLIKELY (MPFR_IS_SINGULAR (op)))
90 {
91- if (MPFR_SIGN(op) > 0)
92- {
93- fprintf(stream, "0");
94- return 1;
95- }
96+ if (MPFR_IS_NAN (op))
97+ OUT_STR_RET ("@NaN@");
98+ else if (MPFR_IS_INF (op))
99+ OUT_STR_RET (MPFR_IS_POS (op) ? "@Inf@" : "-@Inf@");
100 else
101 {
102- fprintf(stream, "-0");
103- return 2;
104+ MPFR_ASSERTD (MPFR_IS_ZERO (op));
105+ OUT_STR_RET (MPFR_IS_POS (op) ? "0" : "-0");
106 }
107 }
108
109@@ -77,21 +67,31 @@
110
111 l = strlen (s) + 1; /* size of allocated block returned by mpfr_get_str
112 - may be incorrect, as only an upper bound? */
113- if (*s == '-')
114- fputc (*s++, stream);
115
116- /* outputs mantissa */
117- fputc (*s++, stream); e--; /* leading digit */
118- fputc ((unsigned char) MPFR_DECIMAL_POINT, stream);
119- fputs (s, stream); /* rest of mantissa */
120+ /* outputs possible sign and significand */
121+ err = (*s == '-' && fputc (*s++, stream) == EOF)
122+ || fputc (*s++, stream) == EOF /* leading digit */
123+ || fputc ((unsigned char) MPFR_DECIMAL_POINT, stream) == EOF
124+ || fputs (s, stream) == EOF; /* trailing significand */
125 (*__gmp_free_func) (s0, l);
126+ if (MPFR_UNLIKELY (err))
127+ return 0;
128+
129+ e--; /* due to the leading digit */
130
131 /* outputs exponent */
132 if (e)
133 {
134+ int r;
135+
136 MPFR_ASSERTN(e >= LONG_MIN);
137 MPFR_ASSERTN(e <= LONG_MAX);
138- l += fprintf (stream, (base <= 10 ? "e%ld" : "@%ld"), (long) e);
139+
140+ r = fprintf (stream, (base <= 10 ? "e%ld" : "@%ld"), (long) e);
141+ if (MPFR_UNLIKELY (r < 0))
142+ return 0;
143+
144+ l += r;
145 }
146
147 return l;
148diff -Naurd mpfr-3.0.0-a/tests/tout_str.c mpfr-3.0.0-b/tests/tout_str.c
149--- mpfr-3.0.0-a/tests/tout_str.c 2010-06-10 11:00:13.000000000 +0000
150+++ mpfr-3.0.0-b/tests/tout_str.c 2010-06-23 11:03:12.000000000 +0000
151@@ -46,22 +46,54 @@
152 special (void)
153 {
154 mpfr_t x;
155+ unsigned int n;
156
157 mpfr_init (x);
158
159 mpfr_set_nan (x);
160- mpfr_out_str (fout, 10, 0, x, MPFR_RNDN);
161+ n = mpfr_out_str (fout, 10, 0, x, MPFR_RNDN);
162+ if (n != 5)
163+ {
164+ printf ("Error: mpfr_out_str (file, 10, 0, NaN, MPFR_RNDN) wrote %u "
165+ "characters instead of 5.\n", n);
166+ exit (1);
167+ }
168
169 mpfr_set_inf (x, 1);
170- mpfr_out_str (fout, 10, 0, x, MPFR_RNDN);
171+ n = mpfr_out_str (fout, 10, 0, x, MPFR_RNDN);
172+ if (n != 5)
173+ {
174+ printf ("Error: mpfr_out_str (file, 10, 0, +Inf, MPFR_RNDN) wrote %u "
175+ "characters instead of 5.\n", n);
176+ exit (1);
177+ }
178
179 mpfr_set_inf (x, -1);
180- mpfr_out_str (fout, 10, 0, x, MPFR_RNDN);
181+ n = mpfr_out_str (fout, 10, 0, x, MPFR_RNDN);
182+ if (n != 6)
183+ {
184+ printf ("Error: mpfr_out_str (file, 10, 0, -Inf, MPFR_RNDN) wrote %u "
185+ "characters instead of 6.\n", n);
186+ exit (1);
187+ }
188
189 mpfr_set_ui (x, 0, MPFR_RNDN);
190- mpfr_out_str (fout, 10, 0, x, MPFR_RNDN);
191+ n = mpfr_out_str (fout, 10, 0, x, MPFR_RNDN);
192+ if (n != 1)
193+ {
194+ printf ("Error: mpfr_out_str (file, 10, 0, +0, MPFR_RNDN) wrote %u "
195+ "characters instead of 1.\n", n);
196+ exit (1);
197+ }
198+
199 mpfr_neg (x, x, MPFR_RNDN);
200- mpfr_out_str (fout, 10, 0, x, MPFR_RNDN);
201+ n = mpfr_out_str (fout, 10, 0, x, MPFR_RNDN);
202+ if (n != 2)
203+ {
204+ printf ("Error: mpfr_out_str (file, 10, 0, -0, MPFR_RNDN) wrote %u "
205+ "characters instead of 2.\n", n);
206+ exit (1);
207+ }
208
209 mpfr_clear (x);
210 }
211diff -Naurd mpfr-3.0.0-a/version.c mpfr-3.0.0-b/version.c
212--- mpfr-3.0.0-a/version.c 2010-06-10 11:00:14.000000000 +0000
213+++ mpfr-3.0.0-b/version.c 2010-06-23 11:03:20.000000000 +0000
214@@ -25,5 +25,5 @@
215 const char *
216 mpfr_get_version (void)
217 {
218- return "3.0.0";
219+ return "3.0.0-p1";
220 }
221diff -Naurd mpfr-3.0.0-a/Makefile.in mpfr-3.0.0-b/Makefile.in
222--- mpfr-3.0.0-a/Makefile.in 2010-06-10 11:00:52.000000000 +0000
223+++ mpfr-3.0.0-b/Makefile.in 2010-06-10 11:00:52.000000000 +0000
224@@ -239,6 +239,7 @@
225 distuninstallcheck_listfiles = find . -type f -print
226 distcleancheck_listfiles = find . -type f -print
227 ACLOCAL = @ACLOCAL@
228+ALLOCA = @ALLOCA@
229 AMTAR = @AMTAR@
230 AR = @AR@
231 AS = @AS@
232diff -Naurd mpfr-3.0.0-a/PATCHES mpfr-3.0.0-b/PATCHES
233--- mpfr-3.0.0-a/PATCHES 2010-06-23 11:03:36.000000000 +0000
234+++ mpfr-3.0.0-b/PATCHES 2010-06-25 13:23:13.000000000 +0000
235@@ -0,0 +1 @@
236+alloca
237diff -Naurd mpfr-3.0.0-a/VERSION mpfr-3.0.0-b/VERSION
238--- mpfr-3.0.0-a/VERSION 2010-06-23 11:03:20.000000000 +0000
239+++ mpfr-3.0.0-b/VERSION 2010-06-25 13:23:13.000000000 +0000
240@@ -1 +1 @@
241-3.0.0-p1
242+3.0.0-p2
243diff -Naurd mpfr-3.0.0-a/acinclude.m4 mpfr-3.0.0-b/acinclude.m4
244--- mpfr-3.0.0-a/acinclude.m4 2010-06-10 11:00:14.000000000 +0000
245+++ mpfr-3.0.0-b/acinclude.m4 2010-06-10 11:00:14.000000000 +0000
246@@ -59,6 +59,9 @@
247 dnl sys/fpu.h - MIPS specific
248 AC_CHECK_HEADERS([sys/time.h sys/fpu.h])
249
250+dnl Check how to get `alloca'
251+AC_FUNC_ALLOCA
252+
253 dnl SIZE_MAX macro
254 gl_SIZE_MAX
255
256diff -Naurd mpfr-3.0.0-a/configure mpfr-3.0.0-b/configure
257--- mpfr-3.0.0-a/configure 2010-06-10 11:00:51.000000000 +0000
258+++ mpfr-3.0.0-b/configure 2010-06-25 13:23:05.000000000 +0000
259@@ -783,6 +783,7 @@
260 OBJDUMP
261 DLLTOOL
262 AS
263+ALLOCA
264 MPFR_LIBM
265 ANSI2KNR
266 U
267@@ -5622,6 +5623,197 @@
268 done
269
270
271+# The Ultrix 4.2 mips builtin alloca declared by alloca.h only works
272+# for constant arguments. Useless!
273+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for working alloca.h" >&5
274+$as_echo_n "checking for working alloca.h... " >&6; }
275+if test "${ac_cv_working_alloca_h+set}" = set; then :
276+ $as_echo_n "(cached) " >&6
277+else
278+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
279+/* end confdefs.h. */
280+#include <alloca.h>
281+int
282+main ()
283+{
284+char *p = (char *) alloca (2 * sizeof (int));
285+ if (p) return 0;
286+ ;
287+ return 0;
288+}
289+_ACEOF
290+if ac_fn_c_try_link "$LINENO"; then :
291+ ac_cv_working_alloca_h=yes
292+else
293+ ac_cv_working_alloca_h=no
294+fi
295+rm -f core conftest.err conftest.$ac_objext \
296+ conftest$ac_exeext conftest.$ac_ext
297+fi
298+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_working_alloca_h" >&5
299+$as_echo "$ac_cv_working_alloca_h" >&6; }
300+if test $ac_cv_working_alloca_h = yes; then
301+
302+$as_echo "#define HAVE_ALLOCA_H 1" >>confdefs.h
303+
304+fi
305+
306+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for alloca" >&5
307+$as_echo_n "checking for alloca... " >&6; }
308+if test "${ac_cv_func_alloca_works+set}" = set; then :
309+ $as_echo_n "(cached) " >&6
310+else
311+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
312+/* end confdefs.h. */
313+#ifdef __GNUC__
314+# define alloca __builtin_alloca
315+#else
316+# ifdef _MSC_VER
317+# include <malloc.h>
318+# define alloca _alloca
319+# else
320+# ifdef HAVE_ALLOCA_H
321+# include <alloca.h>
322+# else
323+# ifdef _AIX
324+ #pragma alloca
325+# else
326+# ifndef alloca /* predefined by HP cc +Olibcalls */
327+char *alloca ();
328+# endif
329+# endif
330+# endif
331+# endif
332+#endif
333+
334+int
335+main ()
336+{
337+char *p = (char *) alloca (1);
338+ if (p) return 0;
339+ ;
340+ return 0;
341+}
342+_ACEOF
343+if ac_fn_c_try_link "$LINENO"; then :
344+ ac_cv_func_alloca_works=yes
345+else
346+ ac_cv_func_alloca_works=no
347+fi
348+rm -f core conftest.err conftest.$ac_objext \
349+ conftest$ac_exeext conftest.$ac_ext
350+fi
351+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_func_alloca_works" >&5
352+$as_echo "$ac_cv_func_alloca_works" >&6; }
353+
354+if test $ac_cv_func_alloca_works = yes; then
355+
356+$as_echo "#define HAVE_ALLOCA 1" >>confdefs.h
357+
358+else
359+ # The SVR3 libPW and SVR4 libucb both contain incompatible functions
360+# that cause trouble. Some versions do not even contain alloca or
361+# contain a buggy version. If you still want to use their alloca,
362+# use ar to extract alloca.o from them instead of compiling alloca.c.
363+
364+ALLOCA=\${LIBOBJDIR}alloca.$ac_objext
365+
366+$as_echo "#define C_ALLOCA 1" >>confdefs.h
367+
368+
369+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether \`alloca.c' needs Cray hooks" >&5
370+$as_echo_n "checking whether \`alloca.c' needs Cray hooks... " >&6; }
371+if test "${ac_cv_os_cray+set}" = set; then :
372+ $as_echo_n "(cached) " >&6
373+else
374+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
375+/* end confdefs.h. */
376+#if defined CRAY && ! defined CRAY2
377+webecray
378+#else
379+wenotbecray
380+#endif
381+
382+_ACEOF
383+if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
384+ $EGREP "webecray" >/dev/null 2>&1; then :
385+ ac_cv_os_cray=yes
386+else
387+ ac_cv_os_cray=no
388+fi
389+rm -f conftest*
390+
391+fi
392+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_os_cray" >&5
393+$as_echo "$ac_cv_os_cray" >&6; }
394+if test $ac_cv_os_cray = yes; then
395+ for ac_func in _getb67 GETB67 getb67; do
396+ as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
397+ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
398+eval as_val=\$$as_ac_var
399+ if test "x$as_val" = x""yes; then :
400+
401+cat >>confdefs.h <<_ACEOF
402+#define CRAY_STACKSEG_END $ac_func
403+_ACEOF
404+
405+ break
406+fi
407+
408+ done
409+fi
410+
411+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking stack direction for C alloca" >&5
412+$as_echo_n "checking stack direction for C alloca... " >&6; }
413+if test "${ac_cv_c_stack_direction+set}" = set; then :
414+ $as_echo_n "(cached) " >&6
415+else
416+ if test "$cross_compiling" = yes; then :
417+ ac_cv_c_stack_direction=0
418+else
419+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
420+/* end confdefs.h. */
421+$ac_includes_default
422+int
423+find_stack_direction ()
424+{
425+ static char *addr = 0;
426+ auto char dummy;
427+ if (addr == 0)
428+ {
429+ addr = &dummy;
430+ return find_stack_direction ();
431+ }
432+ else
433+ return (&dummy > addr) ? 1 : -1;
434+}
435+
436+int
437+main ()
438+{
439+ return find_stack_direction () < 0;
440+}
441+_ACEOF
442+if ac_fn_c_try_run "$LINENO"; then :
443+ ac_cv_c_stack_direction=1
444+else
445+ ac_cv_c_stack_direction=-1
446+fi
447+rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
448+ conftest.$ac_objext conftest.beam conftest.$ac_ext
449+fi
450+
451+fi
452+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_stack_direction" >&5
453+$as_echo "$ac_cv_c_stack_direction" >&6; }
454+cat >>confdefs.h <<_ACEOF
455+#define STACK_DIRECTION $ac_cv_c_stack_direction
456+_ACEOF
457+
458+
459+fi
460+
461+
462
463 for ac_header in stdint.h
464 do :
465@@ -7564,13 +7756,13 @@
466 else
467 lt_cv_nm_interface="BSD nm"
468 echo "int some_variable = 0;" > conftest.$ac_ext
469- (eval echo "\"\$as_me:7567: $ac_compile\"" >&5)
470+ (eval echo "\"\$as_me:7759: $ac_compile\"" >&5)
471 (eval "$ac_compile" 2>conftest.err)
472 cat conftest.err >&5
473- (eval echo "\"\$as_me:7570: $NM \\\"conftest.$ac_objext\\\"\"" >&5)
474+ (eval echo "\"\$as_me:7762: $NM \\\"conftest.$ac_objext\\\"\"" >&5)
475 (eval "$NM \"conftest.$ac_objext\"" 2>conftest.err > conftest.out)
476 cat conftest.err >&5
477- (eval echo "\"\$as_me:7573: output\"" >&5)
478+ (eval echo "\"\$as_me:7765: output\"" >&5)
479 cat conftest.out >&5
480 if $GREP 'External.*some_variable' conftest.out > /dev/null; then
481 lt_cv_nm_interface="MS dumpbin"
482@@ -8772,7 +8964,7 @@
483 ;;
484 *-*-irix6*)
485 # Find out which ABI we are using.
486- echo '#line 8775 "configure"' > conftest.$ac_ext
487+ echo '#line 8967 "configure"' > conftest.$ac_ext
488 if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
489 (eval $ac_compile) 2>&5
490 ac_status=$?
491@@ -10032,11 +10224,11 @@
492 -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
493 -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
494 -e 's:$: $lt_compiler_flag:'`
495- (eval echo "\"\$as_me:10035: $lt_compile\"" >&5)
496+ (eval echo "\"\$as_me:10227: $lt_compile\"" >&5)
497 (eval "$lt_compile" 2>conftest.err)
498 ac_status=$?
499 cat conftest.err >&5
500- echo "$as_me:10039: \$? = $ac_status" >&5
501+ echo "$as_me:10231: \$? = $ac_status" >&5
502 if (exit $ac_status) && test -s "$ac_outfile"; then
503 # The compiler can only warn and ignore the option if not recognized
504 # So say no if there are warnings other than the usual output.
505@@ -10371,11 +10563,11 @@
506 -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
507 -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
508 -e 's:$: $lt_compiler_flag:'`
509- (eval echo "\"\$as_me:10374: $lt_compile\"" >&5)
510+ (eval echo "\"\$as_me:10566: $lt_compile\"" >&5)
511 (eval "$lt_compile" 2>conftest.err)
512 ac_status=$?
513 cat conftest.err >&5
514- echo "$as_me:10378: \$? = $ac_status" >&5
515+ echo "$as_me:10570: \$? = $ac_status" >&5
516 if (exit $ac_status) && test -s "$ac_outfile"; then
517 # The compiler can only warn and ignore the option if not recognized
518 # So say no if there are warnings other than the usual output.
519@@ -10476,11 +10668,11 @@
520 -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
521 -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
522 -e 's:$: $lt_compiler_flag:'`
523- (eval echo "\"\$as_me:10479: $lt_compile\"" >&5)
524+ (eval echo "\"\$as_me:10671: $lt_compile\"" >&5)
525 (eval "$lt_compile" 2>out/conftest.err)
526 ac_status=$?
527 cat out/conftest.err >&5
528- echo "$as_me:10483: \$? = $ac_status" >&5
529+ echo "$as_me:10675: \$? = $ac_status" >&5
530 if (exit $ac_status) && test -s out/conftest2.$ac_objext
531 then
532 # The compiler can only warn and ignore the option if not recognized
533@@ -10531,11 +10723,11 @@
534 -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
535 -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
536 -e 's:$: $lt_compiler_flag:'`
537- (eval echo "\"\$as_me:10534: $lt_compile\"" >&5)
538+ (eval echo "\"\$as_me:10726: $lt_compile\"" >&5)
539 (eval "$lt_compile" 2>out/conftest.err)
540 ac_status=$?
541 cat out/conftest.err >&5
542- echo "$as_me:10538: \$? = $ac_status" >&5
543+ echo "$as_me:10730: \$? = $ac_status" >&5
544 if (exit $ac_status) && test -s out/conftest2.$ac_objext
545 then
546 # The compiler can only warn and ignore the option if not recognized
547@@ -12915,7 +13107,7 @@
548 lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
549 lt_status=$lt_dlunknown
550 cat > conftest.$ac_ext <<_LT_EOF
551-#line 12918 "configure"
552+#line 13110 "configure"
553 #include "confdefs.h"
554
555 #if HAVE_DLFCN_H
556@@ -13011,7 +13203,7 @@
557 lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
558 lt_status=$lt_dlunknown
559 cat > conftest.$ac_ext <<_LT_EOF
560-#line 13014 "configure"
561+#line 13206 "configure"
562 #include "confdefs.h"
563
564 #if HAVE_DLFCN_H
565diff -Naurd mpfr-3.0.0-a/mpfr.h mpfr-3.0.0-b/mpfr.h
566--- mpfr-3.0.0-a/mpfr.h 2010-06-23 11:03:20.000000000 +0000
567+++ mpfr-3.0.0-b/mpfr.h 2010-06-25 13:23:13.000000000 +0000
568@@ -27,7 +27,7 @@
569 #define MPFR_VERSION_MAJOR 3
570 #define MPFR_VERSION_MINOR 0
571 #define MPFR_VERSION_PATCHLEVEL 0
572-#define MPFR_VERSION_STRING "3.0.0-p1"
573+#define MPFR_VERSION_STRING "3.0.0-p2"
574
575 /* Macros dealing with MPFR VERSION */
576 #define MPFR_VERSION_NUM(a,b,c) (((a) << 16L) | ((b) << 8) | (c))
577diff -Naurd mpfr-3.0.0-a/tests/Makefile.in mpfr-3.0.0-b/tests/Makefile.in
578--- mpfr-3.0.0-a/tests/Makefile.in 2010-06-10 11:00:52.000000000 +0000
579+++ mpfr-3.0.0-b/tests/Makefile.in 2010-06-10 11:00:52.000000000 +0000
580@@ -960,6 +960,7 @@
581 red=; grn=; lgn=; blu=; std=
582 DISTFILES = $(DIST_COMMON) $(DIST_SOURCES) $(TEXINFOS) $(EXTRA_DIST)
583 ACLOCAL = @ACLOCAL@
584+ALLOCA = @ALLOCA@
585 AMTAR = @AMTAR@
586 AR = @AR@
587 AS = @AS@
588diff -Naurd mpfr-3.0.0-a/version.c mpfr-3.0.0-b/version.c
589--- mpfr-3.0.0-a/version.c 2010-06-23 11:03:20.000000000 +0000
590+++ mpfr-3.0.0-b/version.c 2010-06-25 13:23:13.000000000 +0000
591@@ -25,5 +25,5 @@
592 const char *
593 mpfr_get_version (void)
594 {
595- return "3.0.0-p1";
596+ return "3.0.0-p2";
597 }
598diff -Naurd mpfr-3.0.0-a/PATCHES mpfr-3.0.0-b/PATCHES
599--- mpfr-3.0.0-a/PATCHES 2010-07-10 00:11:19.000000000 +0000
600+++ mpfr-3.0.0-b/PATCHES 2010-07-10 00:12:50.000000000 +0000
601@@ -0,0 +1 @@
602+gamma_underflow
603diff -Naurd mpfr-3.0.0-a/VERSION mpfr-3.0.0-b/VERSION
604--- mpfr-3.0.0-a/VERSION 2010-06-25 13:23:13.000000000 +0000
605+++ mpfr-3.0.0-b/VERSION 2010-07-10 00:11:53.000000000 +0000
606@@ -1 +1 @@
607-3.0.0-p2
608+3.0.0-p3
609diff -Naurd mpfr-3.0.0-a/gamma.c mpfr-3.0.0-b/gamma.c
610--- mpfr-3.0.0-a/gamma.c 2010-06-10 11:00:14.000000000 +0000
611+++ mpfr-3.0.0-b/gamma.c 2010-07-10 00:11:46.000000000 +0000
612@@ -274,7 +274,7 @@
613 /* we want an upper bound for x * [log(2-x)-1].
614 since x < 0, we need a lower bound on log(2-x) */
615 mpfr_ui_sub (xp, 2, x, MPFR_RNDD);
616- mpfr_log (xp, xp, MPFR_RNDD);
617+ mpfr_log2 (xp, xp, MPFR_RNDD);
618 mpfr_sub_ui (xp, xp, 1, MPFR_RNDD);
619 mpfr_mul (xp, xp, x, MPFR_RNDU);
620
621@@ -303,8 +303,8 @@
622 {
623 mpfr_sub (tmp, tmp, tmp2, MPFR_RNDZ); /* low bnd on |sin(Pi*(2-x))| */
624 mpfr_ui_div (tmp, 12, tmp, MPFR_RNDU); /* upper bound */
625- mpfr_log (tmp, tmp, MPFR_RNDU);
626- mpfr_add (tmp, tmp, xp, MPFR_RNDU);
627+ mpfr_log2 (tmp, tmp, MPFR_RNDU);
628+ mpfr_add (xp, tmp, xp, MPFR_RNDU);
629 underflow = mpfr_cmp_si (xp, expo.saved_emin - 2) <= 0;
630 }
631
632diff -Naurd mpfr-3.0.0-a/mpfr.h mpfr-3.0.0-b/mpfr.h
633--- mpfr-3.0.0-a/mpfr.h 2010-06-25 13:23:13.000000000 +0000
634+++ mpfr-3.0.0-b/mpfr.h 2010-07-10 00:11:53.000000000 +0000
635@@ -27,7 +27,7 @@
636 #define MPFR_VERSION_MAJOR 3
637 #define MPFR_VERSION_MINOR 0
638 #define MPFR_VERSION_PATCHLEVEL 0
639-#define MPFR_VERSION_STRING "3.0.0-p2"
640+#define MPFR_VERSION_STRING "3.0.0-p3"
641
642 /* Macros dealing with MPFR VERSION */
643 #define MPFR_VERSION_NUM(a,b,c) (((a) << 16L) | ((b) << 8) | (c))
644diff -Naurd mpfr-3.0.0-a/tests/tgamma.c mpfr-3.0.0-b/tests/tgamma.c
645--- mpfr-3.0.0-a/tests/tgamma.c 2010-06-10 11:00:13.000000000 +0000
646+++ mpfr-3.0.0-b/tests/tgamma.c 2010-07-10 00:11:46.000000000 +0000
647@@ -461,6 +461,20 @@
648 mpfr_clear (x);
649 }
650
651+/* bug found by Stathis, only occurs on 32-bit machines */
652+static void
653+test20100709 (void)
654+{
655+ mpfr_t x;
656+ int inex;
657+
658+ mpfr_init2 (x, 100);
659+ mpfr_set_str (x, "-4.6308260837372266e+07", 10, MPFR_RNDN);
660+ inex = mpfr_gamma (x, x, MPFR_RNDN);
661+ MPFR_ASSERTN(MPFR_IS_ZERO(x) && MPFR_IS_NEG(x) && inex > 0);
662+ mpfr_clear (x);
663+}
664+
665 int
666 main (int argc, char *argv[])
667 {
668@@ -471,6 +485,7 @@
669 test_generic (2, 100, 2);
670 gamma_integer ();
671 test20071231 ();
672+ test20100709 ();
673
674 data_check ("data/gamma", mpfr_gamma, "mpfr_gamma");
675
676diff -Naurd mpfr-3.0.0-a/version.c mpfr-3.0.0-b/version.c
677--- mpfr-3.0.0-a/version.c 2010-06-25 13:23:13.000000000 +0000
678+++ mpfr-3.0.0-b/version.c 2010-07-10 00:11:53.000000000 +0000
679@@ -25,5 +25,5 @@
680 const char *
681 mpfr_get_version (void)
682 {
683- return "3.0.0-p2";
684+ return "3.0.0-p3";
685 }
686diff -Naurd mpfr-3.0.0-a/PATCHES mpfr-3.0.0-b/PATCHES
687--- mpfr-3.0.0-a/PATCHES 2010-09-07 08:44:01.000000000 +0000
688+++ mpfr-3.0.0-b/PATCHES 2010-09-07 08:48:46.000000000 +0000
689@@ -0,0 +1 @@
690+mpfr_cmp/set_ui/si
691diff -Naurd mpfr-3.0.0-a/VERSION mpfr-3.0.0-b/VERSION
692--- mpfr-3.0.0-a/VERSION 2010-07-10 00:11:53.000000000 +0000
693+++ mpfr-3.0.0-b/VERSION 2010-09-07 08:46:06.000000000 +0000
694@@ -1 +1 @@
695-3.0.0-p3
696+3.0.0-p4
697diff -Naurd mpfr-3.0.0-a/mpfr.h mpfr-3.0.0-b/mpfr.h
698--- mpfr-3.0.0-a/mpfr.h 2010-07-10 00:11:53.000000000 +0000
699+++ mpfr-3.0.0-b/mpfr.h 2010-09-07 08:46:06.000000000 +0000
700@@ -27,7 +27,7 @@
701 #define MPFR_VERSION_MAJOR 3
702 #define MPFR_VERSION_MINOR 0
703 #define MPFR_VERSION_PATCHLEVEL 0
704-#define MPFR_VERSION_STRING "3.0.0-p3"
705+#define MPFR_VERSION_STRING "3.0.0-p4"
706
707 /* Macros dealing with MPFR VERSION */
708 #define MPFR_VERSION_NUM(a,b,c) (((a) << 16L) | ((b) << 8) | (c))
709@@ -798,35 +798,45 @@
710 anyway. Checking with other ICC versions is needed. Possibly detect
711 whether warnings are produced or not with a configure test.
712 + Remove C++ too, since it complains too much. */
713+/* Added casts to improve robustness in case of undefined behavior and
714+ compiler extensions based on UB (in particular -fwrapv). MPFR doesn't
715+ use such extensions, but these macros will be used by 3rd-party code,
716+ where such extensions may be required.
717+ Moreover casts to unsigned long have been added to avoid warnings in
718+ programs that use MPFR and are compiled with -Wconversion; such casts
719+ are OK since if X is a constant expression, then (unsigned long) X is
720+ also a constant expression, so that the optimizations still work. */
721 #if defined (__GNUC__) && !defined(__ICC) && !defined(__cplusplus)
722 #if (__GNUC__ >= 2)
723 #undef mpfr_cmp_ui
724-/* We use the fact that mpfr_sgn on NaN sets the erange flag and returns 0. */
725-#define mpfr_cmp_ui(_f,_u) \
726- (__builtin_constant_p (_u) && (_u) == 0 ? \
727- mpfr_sgn (_f) : \
728- mpfr_cmp_ui_2exp ((_f),(_u),0))
729+/* We use the fact that mpfr_sgn on NaN sets the erange flag and returns 0.
730+ But warning! mpfr_sgn is specified as a macro in the API, thus the macro
731+ mustn't be used if side effects are possible, like here. */
732+#define mpfr_cmp_ui(_f,_u) \
733+ (__builtin_constant_p (_u) && (unsigned long) (_u) == 0 ? \
734+ (mpfr_sgn) (_f) : \
735+ mpfr_cmp_ui_2exp ((_f), (unsigned long) (_u), 0))
736 #undef mpfr_cmp_si
737-#define mpfr_cmp_si(_f,_s) \
738- (__builtin_constant_p (_s) && (_s) >= 0 ? \
739- mpfr_cmp_ui ((_f), (_s)) : \
740- mpfr_cmp_si_2exp ((_f), (_s), 0))
741+#define mpfr_cmp_si(_f,_s) \
742+ (__builtin_constant_p (_s) && (long) (_s) >= 0 ? \
743+ mpfr_cmp_ui ((_f), (unsigned long) (long) (_s)) : \
744+ mpfr_cmp_si_2exp ((_f), (long) (_s), 0))
745 #if __GNUC__ > 2 || __GNUC_MINOR__ >= 95
746 #undef mpfr_set_ui
747-#define mpfr_set_ui(_f,_u,_r) \
748- (__builtin_constant_p (_u) && (_u) == 0 ? \
749- __extension__ ({ \
750- mpfr_ptr _p = (_f); \
751- _p->_mpfr_sign = 1; \
752- _p->_mpfr_exp = __MPFR_EXP_ZERO; \
753- (void) (_r); 0; }) : \
754- mpfr_set_ui_2exp ((_f), (_u), 0, (_r)))
755+#define mpfr_set_ui(_f,_u,_r) \
756+ (__builtin_constant_p (_u) && (unsigned long) (_u) == 0 ? \
757+ __extension__ ({ \
758+ mpfr_ptr _p = (_f); \
759+ _p->_mpfr_sign = 1; \
760+ _p->_mpfr_exp = __MPFR_EXP_ZERO; \
761+ (void) (_r); 0; }) : \
762+ mpfr_set_ui_2exp ((_f), (unsigned long) (_u), 0, (_r)))
763 #endif
764 #undef mpfr_set_si
765-#define mpfr_set_si(_f,_s,_r) \
766- (__builtin_constant_p (_s) && (_s) >= 0 ? \
767- mpfr_set_ui ((_f), (_s), (_r)) : \
768- mpfr_set_si_2exp ((_f), (_s), 0, (_r)))
769+#define mpfr_set_si(_f,_s,_r) \
770+ (__builtin_constant_p (_s) && (long) (_s) >= 0 ? \
771+ mpfr_set_ui ((_f), (unsigned long) (long) (_s), (_r)) : \
772+ mpfr_set_si_2exp ((_f), (long) (_s), 0, (_r)))
773 #endif
774 #endif
775
776diff -Naurd mpfr-3.0.0-a/tests/tcmp_ui.c mpfr-3.0.0-b/tests/tcmp_ui.c
777--- mpfr-3.0.0-a/tests/tcmp_ui.c 2010-06-10 11:00:13.000000000 +0000
778+++ mpfr-3.0.0-b/tests/tcmp_ui.c 2010-09-07 08:45:12.000000000 +0000
779@@ -88,6 +88,126 @@
780 mpfr_clear (x);
781 }
782
783+/* Since mpfr_cmp_ui and mpfr_cmp_si are also implemented by a macro
784+ with __builtin_constant_p for GCC, check that side effects are
785+ handled correctly. */
786+static void
787+check_macros (void)
788+{
789+ mpfr_t x;
790+ int c;
791+
792+ mpfr_init2 (x, 32);
793+
794+ c = 0;
795+ mpfr_set_ui (x, 17, MPFR_RNDN);
796+ if (mpfr_cmp_ui (x, 17) != 0)
797+ {
798+ printf ("Error 1 on mpfr_cmp_ui(x,17) in check_macros\n");
799+ exit (1);
800+ }
801+ if (mpfr_cmp_ui (x, (c++, 17)) != 0)
802+ {
803+ printf ("Error 2 on mpfr_cmp_ui(x,17) in check_macros\n");
804+ exit (1);
805+ }
806+ if (c != 1)
807+ {
808+ printf ("Error 3 on mpfr_cmp_ui(x,17) in check_macros\n"
809+ "(c = %d instead of 1)\n", c);
810+ exit (1);
811+ }
812+ if (mpfr_cmp_si (x, 17) != 0)
813+ {
814+ printf ("Error 1 on mpfr_cmp_si(x,17) in check_macros\n");
815+ exit (1);
816+ }
817+ if (mpfr_cmp_si (x, (c++, 17)) != 0)
818+ {
819+ printf ("Error 2 on mpfr_cmp_si(x,17) in check_macros\n");
820+ exit (1);
821+ }
822+ if (c != 2)
823+ {
824+ printf ("Error 3 on mpfr_cmp_si(x,17) in check_macros\n"
825+ "(c = %d instead of 2)\n", c);
826+ exit (1);
827+ }
828+
829+ c = 0;
830+ mpfr_set_ui (x, 0, MPFR_RNDN);
831+ if (mpfr_cmp_ui (x, 0) != 0)
832+ {
833+ printf ("Error 1 on mpfr_cmp_ui(x,0) in check_macros\n");
834+ exit (1);
835+ }
836+ if (mpfr_cmp_ui (x, (c++, 0)) != 0)
837+ {
838+ printf ("Error 2 on mpfr_cmp_ui(x,0) in check_macros\n");
839+ exit (1);
840+ }
841+ if (c != 1)
842+ {
843+ printf ("Error 3 on mpfr_cmp_ui(x,0) in check_macros\n"
844+ "(c = %d instead of 1)\n", c);
845+ exit (1);
846+ }
847+ if (mpfr_cmp_si (x, 0) != 0)
848+ {
849+ printf ("Error 1 on mpfr_cmp_si(x,0) in check_macros\n");
850+ exit (1);
851+ }
852+ if (mpfr_cmp_si (x, (c++, 0)) != 0)
853+ {
854+ printf ("Error 2 on mpfr_cmp_si(x,0) in check_macros\n");
855+ exit (1);
856+ }
857+ if (c != 2)
858+ {
859+ printf ("Error 3 on mpfr_cmp_si(x,0) in check_macros\n"
860+ "(c = %d instead of 2)\n", c);
861+ exit (1);
862+ }
863+
864+ mpfr_clear (x);
865+}
866+
867+/* Bug in r7114 */
868+static void
869+test_macros (void)
870+{
871+ mpfr_t x[3];
872+ mpfr_ptr p;
873+
874+ mpfr_inits (x[0], x[1], x[2], (mpfr_ptr) 0);
875+ mpfr_set_ui (x[0], 0, MPFR_RNDN);
876+ p = x[0];
877+ if (mpfr_cmp_ui (p++, 0) != 0)
878+ {
879+ printf ("Error in mpfr_cmp_ui macro: result should be 0.\n");
880+ exit (1);
881+ }
882+ if (p != x[1])
883+ {
884+ printf ("Error in mpfr_cmp_ui macro: p - x[0] = %d (expecting 1)\n",
885+ (int) (p - x[0]));
886+ exit (1);
887+ }
888+ p = x[0];
889+ if (mpfr_cmp_si (p++, 0) != 0)
890+ {
891+ printf ("Error in mpfr_cmp_si macro: result should be 0.\n");
892+ exit (1);
893+ }
894+ if (p != x[1])
895+ {
896+ printf ("Error in mpfr_cmp_si macro: p - x[0] = %d (expecting 1)\n",
897+ (int) (p - x[0]));
898+ exit (1);
899+ }
900+ mpfr_clears (x[0], x[1], x[2], (mpfr_ptr) 0);
901+}
902+
903 int
904 main (void)
905 {
906@@ -216,6 +336,8 @@
907 mpfr_clear (x);
908
909 check_nan ();
910+ check_macros ();
911+ test_macros ();
912
913 tests_end_mpfr ();
914 return 0;
915diff -Naurd mpfr-3.0.0-a/version.c mpfr-3.0.0-b/version.c
916--- mpfr-3.0.0-a/version.c 2010-07-10 00:11:53.000000000 +0000
917+++ mpfr-3.0.0-b/version.c 2010-09-07 08:46:06.000000000 +0000
918@@ -25,5 +25,5 @@
919 const char *
920 mpfr_get_version (void)
921 {
922- return "3.0.0-p3";
923+ return "3.0.0-p4";
924 }
925diff -Naurd mpfr-3.0.0-a/PATCHES mpfr-3.0.0-b/PATCHES
926--- mpfr-3.0.0-a/PATCHES 2010-10-21 20:28:38.000000000 +0000
927+++ mpfr-3.0.0-b/PATCHES 2010-10-21 20:28:38.000000000 +0000
928@@ -0,0 +1 @@
929+tcan_round
930diff -Naurd mpfr-3.0.0-a/VERSION mpfr-3.0.0-b/VERSION
931--- mpfr-3.0.0-a/VERSION 2010-09-07 08:46:06.000000000 +0000
932+++ mpfr-3.0.0-b/VERSION 2010-10-21 20:28:38.000000000 +0000
933@@ -1 +1 @@
934-3.0.0-p4
935+3.0.0-p5
936diff -Naurd mpfr-3.0.0-a/mpfr.h mpfr-3.0.0-b/mpfr.h
937--- mpfr-3.0.0-a/mpfr.h 2010-09-07 08:46:06.000000000 +0000
938+++ mpfr-3.0.0-b/mpfr.h 2010-10-21 20:28:38.000000000 +0000
939@@ -27,7 +27,7 @@
940 #define MPFR_VERSION_MAJOR 3
941 #define MPFR_VERSION_MINOR 0
942 #define MPFR_VERSION_PATCHLEVEL 0
943-#define MPFR_VERSION_STRING "3.0.0-p4"
944+#define MPFR_VERSION_STRING "3.0.0-p5"
945
946 /* Macros dealing with MPFR VERSION */
947 #define MPFR_VERSION_NUM(a,b,c) (((a) << 16L) | ((b) << 8) | (c))
948diff -Naurd mpfr-3.0.0-a/tests/tcan_round.c mpfr-3.0.0-b/tests/tcan_round.c
949--- mpfr-3.0.0-a/tests/tcan_round.c 2010-06-10 11:00:13.000000000 +0000
950+++ mpfr-3.0.0-b/tests/tcan_round.c 2010-10-21 20:28:38.000000000 +0000
951@@ -41,7 +41,7 @@
952 /* avoid mpn_random which leaks memory */
953 for (i = 0; i < n; i++)
954 buf[i] = randlimb ();
955- p = (mpfr_prec_t) randlimb() % ((n-1) * GMP_NUMB_BITS) + MPFR_PREC_MIN;
956+ p = randlimb() % ((n-1) * GMP_NUMB_BITS) + MPFR_PREC_MIN;
957 err = p + randlimb () % GMP_NUMB_BITS;
958 r1 = mpfr_round_p (buf, n, err, p);
959 r2 = mpfr_can_round_raw (buf, n, MPFR_SIGN_POS, err,
960diff -Naurd mpfr-3.0.0-a/version.c mpfr-3.0.0-b/version.c
961--- mpfr-3.0.0-a/version.c 2010-09-07 08:46:06.000000000 +0000
962+++ mpfr-3.0.0-b/version.c 2010-10-21 20:28:38.000000000 +0000
963@@ -25,5 +25,5 @@
964 const char *
965 mpfr_get_version (void)
966 {
967- return "3.0.0-p4";
968+ return "3.0.0-p5";
969 }
970diff -Naurd mpfr-3.0.0-a/PATCHES mpfr-3.0.0-b/PATCHES
971--- mpfr-3.0.0-a/PATCHES 2010-10-21 20:59:32.000000000 +0000
972+++ mpfr-3.0.0-b/PATCHES 2010-10-21 20:59:32.000000000 +0000
973@@ -0,0 +1 @@
974+mpfr_sub1
975diff -Naurd mpfr-3.0.0-a/VERSION mpfr-3.0.0-b/VERSION
976--- mpfr-3.0.0-a/VERSION 2010-10-21 20:28:38.000000000 +0000
977+++ mpfr-3.0.0-b/VERSION 2010-10-21 20:59:32.000000000 +0000
978@@ -1 +1 @@
979-3.0.0-p5
980+3.0.0-p6
981diff -Naurd mpfr-3.0.0-a/mpfr.h mpfr-3.0.0-b/mpfr.h
982--- mpfr-3.0.0-a/mpfr.h 2010-10-21 20:28:38.000000000 +0000
983+++ mpfr-3.0.0-b/mpfr.h 2010-10-21 20:59:32.000000000 +0000
984@@ -27,7 +27,7 @@
985 #define MPFR_VERSION_MAJOR 3
986 #define MPFR_VERSION_MINOR 0
987 #define MPFR_VERSION_PATCHLEVEL 0
988-#define MPFR_VERSION_STRING "3.0.0-p5"
989+#define MPFR_VERSION_STRING "3.0.0-p6"
990
991 /* Macros dealing with MPFR VERSION */
992 #define MPFR_VERSION_NUM(a,b,c) (((a) << 16L) | ((b) << 8) | (c))
993diff -Naurd mpfr-3.0.0-a/sub1.c mpfr-3.0.0-b/sub1.c
994--- mpfr-3.0.0-a/sub1.c 2010-06-10 11:00:14.000000000 +0000
995+++ mpfr-3.0.0-b/sub1.c 2010-10-21 20:59:32.000000000 +0000
996@@ -37,7 +37,9 @@
997 mp_size_t cancel2, an, bn, cn, cn0;
998 mp_limb_t *ap, *bp, *cp;
999 mp_limb_t carry, bb, cc, borrow = 0;
1000- int inexact, shift_b, shift_c, is_exact = 1, down = 0, add_exp = 0;
1001+ int inexact, shift_b, shift_c, add_exp = 0;
1002+ int cmp_low = 0; /* used for rounding to nearest: 0 if low(b) = low(c),
1003+ negative if low(b) < low(c), positive if low(b)>low(c) */
1004 int sh, k;
1005 MPFR_TMP_DECL(marker);
1006
1007@@ -196,7 +198,8 @@
1008 }
1009
1010 #ifdef DEBUG
1011- printf ("shift_b=%d shift_c=%d diffexp=%lu\n", shift_b, shift_c,
1012+ printf ("rnd=%s shift_b=%d shift_c=%d diffexp=%lu\n",
1013+ mpfr_print_rnd_mode (rnd_mode), shift_b, shift_c,
1014 (unsigned long) diff_exp);
1015 #endif
1016
1017@@ -307,17 +310,18 @@
1018 {
1019 if (MPFR_LIKELY(sh))
1020 {
1021- is_exact = (carry == 0);
1022 /* can decide except when carry = 2^(sh-1) [middle]
1023 or carry = 0 [truncate, but cannot decide inexact flag] */
1024- down = (carry < (MPFR_LIMB_ONE << (sh - 1)));
1025 if (carry > (MPFR_LIMB_ONE << (sh - 1)))
1026 goto add_one_ulp;
1027- else if ((0 < carry) && down)
1028+ else if ((0 < carry) && (carry < (MPFR_LIMB_ONE << (sh - 1))))
1029 {
1030 inexact = -1; /* result if smaller than exact value */
1031 goto truncate;
1032 }
1033+ /* now carry = 2^(sh-1), in which case cmp_low=2,
1034+ or carry = 0, in which case cmp_low=0 */
1035+ cmp_low = (carry == 0) ? 0 : 2;
1036 }
1037 }
1038 else /* directed rounding: set rnd_mode to RNDZ iff toward zero */
1039@@ -344,12 +348,32 @@
1040 cn -= (long int) an + cancel2;
1041
1042 #ifdef DEBUG
1043- printf ("last %d bits from a are %lu, bn=%ld, cn=%ld\n",
1044+ printf ("last sh=%d bits from a are %lu, bn=%ld, cn=%ld\n",
1045 sh, (unsigned long) carry, (long) bn, (long) cn);
1046 #endif
1047
1048+ /* for rounding to nearest, we couldn't conclude up to here in the following
1049+ cases:
1050+ 1. sh = 0, then cmp_low=0: we can either truncate, subtract one ulp
1051+ or add one ulp: -1 ulp < low(b)-low(c) < 1 ulp
1052+ 2. sh > 0 but the low sh bits from high(b)-high(c) equal 2^(sh-1):
1053+ -0.5 ulp <= -1/2^sh < low(b)-low(c)-0.5 < 1/2^sh <= 0.5 ulp
1054+ we can't decide the rounding, in that case cmp_low=2:
1055+ either we truncate and flag=-1, or we add one ulp and flag=1
1056+ 3. the low sh>0 bits from high(b)-high(c) equal 0: we know we have to
1057+ truncate but we can't decide the ternary value, here cmp_low=0:
1058+ -0.5 ulp <= -1/2^sh < low(b)-low(c) < 1/2^sh <= 0.5 ulp
1059+ we always truncate and inexact can be any of -1,0,1
1060+ */
1061+
1062+ /* note: here cn might exceed cn0, in which case we consider a zero limb */
1063 for (k = 0; (bn > 0) || (cn > 0); k = 1)
1064 {
1065+ /* if cmp_low < 0, we know low(b) - low(c) < 0
1066+ if cmp_low > 0, we know low(b) - low(c) > 0
1067+ (more precisely if cmp_low = 2, low(b) - low(c) = 0.5 ulp so far)
1068+ if cmp_low = 0, so far low(b) - low(c) = 0 */
1069+
1070 /* get next limbs */
1071 bb = (bn > 0) ? bp[--bn] : 0;
1072 if ((cn > 0) && (cn-- <= cn0))
1073@@ -357,76 +381,115 @@
1074 else
1075 cc = 0;
1076
1077- /* down is set when low(b) < low(c) */
1078- if (down == 0)
1079- down = (bb < cc);
1080+ /* cmp_low compares low(b) and low(c) */
1081+ if (cmp_low == 0) /* case 1 or 3 */
1082+ cmp_low = (bb < cc) ? -2+k : (bb > cc) ? 1 : 0;
1083+
1084+ /* Case 1 for k=0 splits into 7 subcases:
1085+ 1a: bb > cc + half
1086+ 1b: bb = cc + half
1087+ 1c: 0 < bb - cc < half
1088+ 1d: bb = cc
1089+ 1e: -half < bb - cc < 0
1090+ 1f: bb - cc = -half
1091+ 1g: bb - cc < -half
1092+
1093+ Case 2 splits into 3 subcases:
1094+ 2a: bb > cc
1095+ 2b: bb = cc
1096+ 2c: bb < cc
1097+
1098+ Case 3 splits into 3 subcases:
1099+ 3a: bb > cc
1100+ 3b: bb = cc
1101+ 3c: bb < cc
1102+ */
1103
1104 /* the case rounding to nearest with sh=0 is special since one couldn't
1105 subtract above 1/2 ulp in the trailing limb of the result */
1106- if ((rnd_mode == MPFR_RNDN) && sh == 0 && k == 0)
1107+ if (rnd_mode == MPFR_RNDN && sh == 0 && k == 0) /* case 1 for k=0 */
1108 {
1109 mp_limb_t half = MPFR_LIMB_HIGHBIT;
1110
1111- is_exact = (bb == cc);
1112-
1113 /* add one ulp if bb > cc + half
1114 truncate if cc - half < bb < cc + half
1115 sub one ulp if bb < cc - half
1116 */
1117
1118- if (down)
1119+ if (cmp_low < 0) /* bb < cc: -1 ulp < low(b) - low(c) < 0,
1120+ cases 1e, 1f and 1g */
1121 {
1122 if (cc >= half)
1123 cc -= half;
1124- else
1125+ else /* since bb < cc < half, bb+half < 2*half */
1126 bb += half;
1127+ /* now we have bb < cc + half:
1128+ we have to subtract one ulp if bb < cc,
1129+ and truncate if bb > cc */
1130 }
1131- else /* bb >= cc */
1132+ else if (cmp_low >= 0) /* bb >= cc, cases 1a to 1d */
1133 {
1134 if (cc < half)
1135 cc += half;
1136- else
1137+ else /* since bb >= cc >= half, bb - half >= 0 */
1138 bb -= half;
1139+ /* now we have bb > cc - half: we have to add one ulp if bb > cc,
1140+ and truncate if bb < cc */
1141+ if (cmp_low > 0)
1142+ cmp_low = 2;
1143 }
1144 }
1145
1146 #ifdef DEBUG
1147- printf (" bb=%lu cc=%lu down=%d is_exact=%d\n",
1148- (unsigned long) bb, (unsigned long) cc, down, is_exact);
1149+ printf ("k=%u bb=%lu cc=%lu cmp_low=%d\n", k,
1150+ (unsigned long) bb, (unsigned long) cc, cmp_low);
1151 #endif
1152- if (bb < cc)
1153+ if (cmp_low < 0) /* low(b) - low(c) < 0: either truncate or subtract
1154+ one ulp */
1155 {
1156 if (rnd_mode == MPFR_RNDZ)
1157- goto sub_one_ulp;
1158+ goto sub_one_ulp; /* set inexact=-1 */
1159 else if (rnd_mode != MPFR_RNDN) /* round away */
1160 {
1161 inexact = 1;
1162 goto truncate;
1163 }
1164- else /* round to nearest: special case here since for sh=k=0
1165- bb = bb0 - MPFR_LIMB_HIGHBIT */
1166+ else /* round to nearest */
1167 {
1168- if (is_exact && sh == 0)
1169- {
1170- /* For k=0 we can't decide exactness since it may depend
1171- from low order bits.
1172- For k=1, the first low limbs matched: low(b)-low(c)<0. */
1173- if (k)
1174- {
1175- inexact = 1;
1176- goto truncate;
1177- }
1178- }
1179- else if (down && sh == 0)
1180- goto sub_one_ulp;
1181- else
1182- {
1183- inexact = (is_exact) ? 1 : -1;
1184+ /* If cmp_low < 0 and bb > cc, then -0.5 ulp < low(b)-low(c) < 0,
1185+ whatever the value of sh.
1186+ If sh>0, then cmp_low < 0 implies that the initial neglected
1187+ sh bits were 0 (otherwise cmp_low=2 initially), thus the
1188+ weight of the new bits is less than 0.5 ulp too.
1189+ If k > 0 (and sh=0) this means that either the first neglected
1190+ limbs bb and cc were equal (thus cmp_low was 0 for k=0),
1191+ or we had bb - cc = -0.5 ulp or 0.5 ulp.
1192+ The last case is not possible here since we would have
1193+ cmp_low > 0 which is sticky.
1194+ In the first case (where we have cmp_low = -1), we truncate,
1195+ whereas in the 2nd case we have cmp_low = -2 and we subtract
1196+ one ulp.
1197+ */
1198+ if (bb > cc || sh > 0 || cmp_low == -1)
1199+ { /* -0.5 ulp < low(b)-low(c) < 0,
1200+ bb > cc corresponds to cases 1e and 1f1
1201+ sh > 0 corresponds to cases 3c and 3b3
1202+ cmp_low = -1 corresponds to case 1d3 (also 3b3) */
1203+ inexact = 1;
1204 goto truncate;
1205 }
1206+ else if (bb < cc) /* here sh = 0 and low(b)-low(c) < -0.5 ulp,
1207+ this corresponds to cases 1g and 1f3 */
1208+ goto sub_one_ulp;
1209+ /* the only case where we can't conclude is sh=0 and bb=cc,
1210+ i.e., we have low(b) - low(c) = -0.5 ulp (up to now), thus
1211+ we don't know if we must truncate or subtract one ulp.
1212+ Note: for sh=0 we can't have low(b) - low(c) = -0.5 ulp up to
1213+ now, since low(b) - low(c) > 1/2^sh */
1214 }
1215 }
1216- else if (bb > cc)
1217+ else if (cmp_low > 0) /* 0 < low(b) - low(c): either truncate or
1218+ add one ulp */
1219 {
1220 if (rnd_mode == MPFR_RNDZ)
1221 {
1222@@ -437,34 +500,70 @@
1223 goto add_one_ulp;
1224 else /* round to nearest */
1225 {
1226- if (is_exact)
1227+ if (bb > cc)
1228 {
1229- inexact = -1;
1230- goto truncate;
1231+ /* if sh=0, then bb>cc means that low(b)-low(c) > 0.5 ulp,
1232+ and similarly when cmp_low=2 */
1233+ if (cmp_low == 2) /* cases 1a, 1b1, 2a and 2b1 */
1234+ goto add_one_ulp;
1235+ /* sh > 0 and cmp_low > 0: this implies that the sh initial
1236+ neglected bits were 0, and the remaining low(b)-low(c)>0,
1237+ but its weight is less than 0.5 ulp */
1238+ else /* 0 < low(b) - low(c) < 0.5 ulp, this corresponds to
1239+ cases 3a, 1d1 and 3b1 */
1240+ {
1241+ inexact = -1;
1242+ goto truncate;
1243+ }
1244 }
1245- else if (down)
1246+ else if (bb < cc) /* 0 < low(b) - low(c) < 0.5 ulp, cases 1c,
1247+ 1b3, 2b3 and 2c */
1248 {
1249- inexact = 1;
1250+ inexact = -1;
1251 goto truncate;
1252 }
1253- else
1254- goto add_one_ulp;
1255+ /* the only case where we can't conclude is bb=cc, i.e.,
1256+ low(b) - low(c) = 0.5 ulp (up to now), thus we don't know
1257+ if we must truncate or add one ulp. */
1258 }
1259 }
1260+ /* after k=0, we cannot conclude in the following cases, we split them
1261+ according to the values of bb and cc for k=1:
1262+ 1b. sh=0 and cmp_low = 1 and bb-cc = half [around 0.5 ulp]
1263+ 1b1. bb > cc: add one ulp, inex = 1
1264+ 1b2: bb = cc: cannot conclude
1265+ 1b3: bb < cc: truncate, inex = -1
1266+ 1d. sh=0 and cmp_low = 0 and bb-cc = 0 [around 0]
1267+ 1d1: bb > cc: truncate, inex = -1
1268+ 1d2: bb = cc: cannot conclude
1269+ 1d3: bb < cc: truncate, inex = +1
1270+ 1f. sh=0 and cmp_low = -1 and bb-cc = -half [around -0.5 ulp]
1271+ 1f1: bb > cc: truncate, inex = +1
1272+ 1f2: bb = cc: cannot conclude
1273+ 1f3: bb < cc: sub one ulp, inex = -1
1274+ 2b. sh > 0 and cmp_low = 2 and bb=cc [around 0.5 ulp]
1275+ 2b1. bb > cc: add one ulp, inex = 1
1276+ 2b2: bb = cc: cannot conclude
1277+ 2b3: bb < cc: truncate, inex = -1
1278+ 3b. sh > 0 and cmp_low = 0 [around 0]
1279+ 3b1. bb > cc: truncate, inex = -1
1280+ 3b2: bb = cc: cannot conclude
1281+ 3b3: bb < cc: truncate, inex = +1
1282+ */
1283 }
1284
1285- if ((rnd_mode == MPFR_RNDN) && !is_exact)
1286+ if ((rnd_mode == MPFR_RNDN) && cmp_low != 0)
1287 {
1288 /* even rounding rule */
1289 if ((ap[0] >> sh) & 1)
1290 {
1291- if (down)
1292+ if (cmp_low < 0)
1293 goto sub_one_ulp;
1294 else
1295 goto add_one_ulp;
1296 }
1297 else
1298- inexact = (down) ? 1 : -1;
1299+ inexact = (cmp_low > 0) ? -1 : 1;
1300 }
1301 else
1302 inexact = 0;
1303diff -Naurd mpfr-3.0.0-a/tests/tfma.c mpfr-3.0.0-b/tests/tfma.c
1304--- mpfr-3.0.0-a/tests/tfma.c 2010-06-10 11:00:13.000000000 +0000
1305+++ mpfr-3.0.0-b/tests/tfma.c 2010-10-21 20:59:32.000000000 +0000
1306@@ -337,6 +337,94 @@
1307 mpfr_clears (x, y, z, r, (mpfr_ptr) 0);
1308 }
1309
1310+static void
1311+bug20101018 (void)
1312+{
1313+ mpfr_t x, y, z, t, u;
1314+ int i;
1315+
1316+ mpfr_init2 (x, 64);
1317+ mpfr_init2 (y, 64);
1318+ mpfr_init2 (z, 64);
1319+ mpfr_init2 (t, 64);
1320+ mpfr_init2 (u, 64);
1321+
1322+ mpfr_set_str (x, "0xf.fffffffffffffffp-14766", 16, MPFR_RNDN);
1323+ mpfr_set_str (y, "-0xf.fffffffffffffffp+317", 16, MPFR_RNDN);
1324+ mpfr_set_str (z, "0x8.3ffffffffffe3ffp-14443", 16, MPFR_RNDN);
1325+ mpfr_set_str (t, "0x8.7ffffffffffc7ffp-14444", 16, MPFR_RNDN);
1326+ i = mpfr_fma (u, x, y, z, MPFR_RNDN);
1327+ if (mpfr_cmp (u, t) != 0)
1328+ {
1329+ printf ("Wrong result in bug20101018 (a)\n");
1330+ printf ("Expected ");
1331+ mpfr_out_str (stdout, 16, 0, t, MPFR_RNDN);
1332+ printf ("\nGot ");
1333+ mpfr_out_str (stdout, 16, 0, u, MPFR_RNDN);
1334+ printf ("\n");
1335+ exit (1);
1336+ }
1337+ if (i <= 0)
1338+ {
1339+ printf ("Wrong ternary value in bug20101018 (a)\n");
1340+ printf ("Expected > 0\n");
1341+ printf ("Got %d\n", i);
1342+ exit (1);
1343+ }
1344+
1345+ mpfr_set_str (x, "-0xf.fffffffffffffffp-11420", 16, MPFR_RNDN);
1346+ mpfr_set_str (y, "0xf.fffffffffffffffp+9863", 16, MPFR_RNDN);
1347+ mpfr_set_str (z, "0x8.fffff80ffffffffp-1551", 16, MPFR_RNDN);
1348+ mpfr_set_str (t, "0x9.fffff01ffffffffp-1552", 16, MPFR_RNDN);
1349+ i = mpfr_fma (u, x, y, z, MPFR_RNDN);
1350+ if (mpfr_cmp (u, t) != 0)
1351+ {
1352+ printf ("Wrong result in bug20101018 (b)\n");
1353+ printf ("Expected ");
1354+ mpfr_out_str (stdout, 16, 0, t, MPFR_RNDN);
1355+ printf ("\nGot ");
1356+ mpfr_out_str (stdout, 16, 0, u, MPFR_RNDN);
1357+ printf ("\n");
1358+ exit (1);
1359+ }
1360+ if (i <= 0)
1361+ {
1362+ printf ("Wrong ternary value in bug20101018 (b)\n");
1363+ printf ("Expected > 0\n");
1364+ printf ("Got %d\n", i);
1365+ exit (1);
1366+ }
1367+
1368+ mpfr_set_str (x, "0xf.fffffffffffffffp-2125", 16, MPFR_RNDN);
1369+ mpfr_set_str (y, "-0xf.fffffffffffffffp-6000", 16, MPFR_RNDN);
1370+ mpfr_set_str (z, "0x8p-8119", 16, MPFR_RNDN);
1371+ mpfr_set_str (t, "0x8.000000000000001p-8120", 16, MPFR_RNDN);
1372+ i = mpfr_fma (u, x, y, z, MPFR_RNDN);
1373+ if (mpfr_cmp (u, t) != 0)
1374+ {
1375+ printf ("Wrong result in bug20101018 (c)\n");
1376+ printf ("Expected ");
1377+ mpfr_out_str (stdout, 16, 0, t, MPFR_RNDN);
1378+ printf ("\nGot ");
1379+ mpfr_out_str (stdout, 16, 0, u, MPFR_RNDN);
1380+ printf ("\n");
1381+ exit (1);
1382+ }
1383+ if (i <= 0)
1384+ {
1385+ printf ("Wrong ternary value in bug20101018 (c)\n");
1386+ printf ("Expected > 0\n");
1387+ printf ("Got %d\n", i);
1388+ exit (1);
1389+ }
1390+
1391+ mpfr_clear (x);
1392+ mpfr_clear (y);
1393+ mpfr_clear (z);
1394+ mpfr_clear (t);
1395+ mpfr_clear (u);
1396+}
1397+
1398 int
1399 main (int argc, char *argv[])
1400 {
1401@@ -345,6 +433,8 @@
1402
1403 tests_start_mpfr ();
1404
1405+ bug20101018 ();
1406+
1407 mpfr_init (x);
1408 mpfr_init (s);
1409 mpfr_init (y);
1410diff -Naurd mpfr-3.0.0-a/tests/tsub.c mpfr-3.0.0-b/tests/tsub.c
1411--- mpfr-3.0.0-a/tests/tsub.c 2010-06-10 11:00:13.000000000 +0000
1412+++ mpfr-3.0.0-b/tests/tsub.c 2010-10-21 20:59:32.000000000 +0000
1413@@ -201,6 +201,8 @@
1414 if (mpfr_cmp (z, x))
1415 {
1416 printf ("Error in mpfr_sub (2)\n");
1417+ printf ("Expected "); mpfr_print_binary (x); puts ("");
1418+ printf ("Got "); mpfr_print_binary (z); puts ("");
1419 exit (1);
1420 }
1421 mpfr_set_str_binary (x, "1.1110111011110001110111011111111111101000011001011100101100101101");
1422@@ -478,6 +480,156 @@
1423 mpfr_clear (u);
1424 }
1425
1426+/* Bug found by Jakub Jelinek
1427+ * http://bugzilla.redhat.com/643657
1428+ * https://gforge.inria.fr/tracker/index.php?func=detail&aid=11301
1429+ * The consequence can be either an assertion failure (i = 2 in the
1430+ * testcase below, in debug mode) or an incorrectly rounded value.
1431+ */
1432+static void
1433+bug20101017 (void)
1434+{
1435+ mpfr_t a, b, c;
1436+ int inex;
1437+ int i;
1438+
1439+ mpfr_init2 (a, GMP_NUMB_BITS * 2);
1440+ mpfr_init2 (b, GMP_NUMB_BITS);
1441+ mpfr_init2 (c, GMP_NUMB_BITS);
1442+
1443+ /* a = 2^(2N) + k.2^(2N-1) + 2^N and b = 1
1444+ with N = GMP_NUMB_BITS and k = 0 or 1.
1445+ c = a - b should round to the same value as a. */
1446+
1447+ for (i = 2; i <= 3; i++)
1448+ {
1449+ mpfr_set_ui_2exp (a, i, GMP_NUMB_BITS - 1, MPFR_RNDN);
1450+ mpfr_add_ui (a, a, 1, MPFR_RNDN);
1451+ mpfr_mul_2ui (a, a, GMP_NUMB_BITS, MPFR_RNDN);
1452+ mpfr_set_ui (b, 1, MPFR_RNDN);
1453+ inex = mpfr_sub (c, a, b, MPFR_RNDN);
1454+ mpfr_set (b, a, MPFR_RNDN);
1455+ if (! mpfr_equal_p (c, b))
1456+ {
1457+ printf ("Error in bug20101017 for i = %d.\n", i);
1458+ printf ("Expected ");
1459+ mpfr_out_str (stdout, 16, 0, b, MPFR_RNDN);
1460+ putchar ('\n');
1461+ printf ("Got ");
1462+ mpfr_out_str (stdout, 16, 0, c, MPFR_RNDN);
1463+ putchar ('\n');
1464+ exit (1);
1465+ }
1466+ if (inex >= 0)
1467+ {
1468+ printf ("Error in bug20101017 for i = %d: bad inex value.\n", i);
1469+ printf ("Expected negative, got %d.\n", inex);
1470+ exit (1);
1471+ }
1472+ }
1473+
1474+ mpfr_set_prec (a, 64);
1475+ mpfr_set_prec (b, 129);
1476+ mpfr_set_prec (c, 2);
1477+ mpfr_set_str_binary (b, "0.100000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001E65");
1478+ mpfr_set_str_binary (c, "0.10E1");
1479+ inex = mpfr_sub (a, b, c, MPFR_RNDN);
1480+ if (mpfr_cmp_ui_2exp (a, 1, 64) != 0 || inex >= 0)
1481+ {
1482+ printf ("Error in mpfr_sub for b-c for b=2^64+1+2^(-64), c=1\n");
1483+ printf ("Expected result 2^64 with inex < 0\n");
1484+ printf ("Got "); mpfr_print_binary (a);
1485+ printf (" with inex=%d\n", inex);
1486+ exit (1);
1487+ }
1488+
1489+ mpfr_clears (a, b, c, (mpfr_ptr) 0);
1490+}
1491+
1492+/* hard test of rounding */
1493+static void
1494+check_rounding (void)
1495+{
1496+ mpfr_t a, b, c, res;
1497+ mpfr_prec_t p;
1498+ long k, l;
1499+ int i;
1500+
1501+#define MAXKL (2 * GMP_NUMB_BITS)
1502+ for (p = MPFR_PREC_MIN; p <= GMP_NUMB_BITS; p++)
1503+ {
1504+ mpfr_init2 (a, p);
1505+ mpfr_init2 (res, p);
1506+ mpfr_init2 (b, p + 1 + MAXKL);
1507+ mpfr_init2 (c, MPFR_PREC_MIN);
1508+
1509+ /* b = 2^p + 1 + 2^(-k), c = 2^(-l) */
1510+ for (k = 0; k <= MAXKL; k++)
1511+ for (l = 0; l <= MAXKL; l++)
1512+ {
1513+ mpfr_set_ui_2exp (b, 1, p, MPFR_RNDN);
1514+ mpfr_add_ui (b, b, 1, MPFR_RNDN);
1515+ mpfr_mul_2ui (b, b, k, MPFR_RNDN);
1516+ mpfr_add_ui (b, b, 1, MPFR_RNDN);
1517+ mpfr_div_2ui (b, b, k, MPFR_RNDN);
1518+ mpfr_set_ui_2exp (c, 1, -l, MPFR_RNDN);
1519+ i = mpfr_sub (a, b, c, MPFR_RNDN);
1520+ /* b - c = 2^p + 1 + 2^(-k) - 2^(-l), should be rounded to
1521+ 2^p for l <= k, and 2^p+2 for l < k */
1522+ if (l <= k)
1523+ {
1524+ if (mpfr_cmp_ui_2exp (a, 1, p) != 0)
1525+ {
1526+ printf ("Wrong result in check_rounding\n");
1527+ printf ("p=%lu k=%ld l=%ld\n", p, k, l);
1528+ printf ("b="); mpfr_print_binary (b); puts ("");
1529+ printf ("c="); mpfr_print_binary (c); puts ("");
1530+ printf ("Expected 2^%lu\n", p);
1531+ printf ("Got "); mpfr_print_binary (a); puts ("");
1532+ exit (1);
1533+ }
1534+ if (i >= 0)
1535+ {
1536+ printf ("Wrong ternary value in check_rounding\n");
1537+ printf ("p=%lu k=%ld l=%ld\n", p, k, l);
1538+ printf ("b="); mpfr_print_binary (b); puts ("");
1539+ printf ("c="); mpfr_print_binary (c); puts ("");
1540+ printf ("a="); mpfr_print_binary (a); puts ("");
1541+ printf ("Expected < 0, got %d\n", i);
1542+ exit (1);
1543+ }
1544+ }
1545+ else /* l < k */
1546+ {
1547+ mpfr_set_ui_2exp (res, 1, p, MPFR_RNDN);
1548+ mpfr_add_ui (res, res, 2, MPFR_RNDN);
1549+ if (mpfr_cmp (a, res) != 0)
1550+ {
1551+ printf ("Wrong result in check_rounding\n");
1552+ printf ("b="); mpfr_print_binary (b); puts ("");
1553+ printf ("c="); mpfr_print_binary (c); puts ("");
1554+ printf ("Expected "); mpfr_print_binary (res); puts ("");
1555+ printf ("Got "); mpfr_print_binary (a); puts ("");
1556+ exit (1);
1557+ }
1558+ if (i <= 0)
1559+ {
1560+ printf ("Wrong ternary value in check_rounding\n");
1561+ printf ("b="); mpfr_print_binary (b); puts ("");
1562+ printf ("c="); mpfr_print_binary (c); puts ("");
1563+ printf ("Expected > 0, got %d\n", i);
1564+ exit (1);
1565+ }
1566+ }
1567+ }
1568+
1569+ mpfr_clear (a);
1570+ mpfr_clear (res);
1571+ mpfr_clear (b);
1572+ mpfr_clear (c);
1573+ }
1574+}
1575+
1576 #define TEST_FUNCTION test_sub
1577 #define TWO_ARGS
1578 #define RAND_FUNCTION(x) mpfr_random2(x, MPFR_LIMB_SIZE (x), randlimb () % 100, RANDS)
1579@@ -491,6 +643,8 @@
1580
1581 tests_start_mpfr ();
1582
1583+ bug20101017 ();
1584+ check_rounding ();
1585 check_diverse ();
1586 check_inexact ();
1587 bug_ddefour ();
1588diff -Naurd mpfr-3.0.0-a/version.c mpfr-3.0.0-b/version.c
1589--- mpfr-3.0.0-a/version.c 2010-10-21 20:28:38.000000000 +0000
1590+++ mpfr-3.0.0-b/version.c 2010-10-21 20:59:32.000000000 +0000
1591@@ -25,5 +25,5 @@
1592 const char *
1593 mpfr_get_version (void)
1594 {
1595- return "3.0.0-p5";
1596+ return "3.0.0-p6";
1597 }
1598diff -Naurd mpfr-3.0.0-a/PATCHES mpfr-3.0.0-b/PATCHES
1599--- mpfr-3.0.0-a/PATCHES 2010-10-21 21:18:26.000000000 +0000
1600+++ mpfr-3.0.0-b/PATCHES 2010-10-21 21:18:26.000000000 +0000
1601@@ -0,0 +1 @@
1602+mpfr_set_ld
1603diff -Naurd mpfr-3.0.0-a/VERSION mpfr-3.0.0-b/VERSION
1604--- mpfr-3.0.0-a/VERSION 2010-10-21 20:59:32.000000000 +0000
1605+++ mpfr-3.0.0-b/VERSION 2010-10-21 21:18:26.000000000 +0000
1606@@ -1 +1 @@
1607-3.0.0-p6
1608+3.0.0-p7
1609diff -Naurd mpfr-3.0.0-a/mpfr.h mpfr-3.0.0-b/mpfr.h
1610--- mpfr-3.0.0-a/mpfr.h 2010-10-21 20:59:32.000000000 +0000
1611+++ mpfr-3.0.0-b/mpfr.h 2010-10-21 21:18:26.000000000 +0000
1612@@ -27,7 +27,7 @@
1613 #define MPFR_VERSION_MAJOR 3
1614 #define MPFR_VERSION_MINOR 0
1615 #define MPFR_VERSION_PATCHLEVEL 0
1616-#define MPFR_VERSION_STRING "3.0.0-p6"
1617+#define MPFR_VERSION_STRING "3.0.0-p7"
1618
1619 /* Macros dealing with MPFR VERSION */
1620 #define MPFR_VERSION_NUM(a,b,c) (((a) << 16L) | ((b) << 8) | (c))
1621diff -Naurd mpfr-3.0.0-a/set_ld.c mpfr-3.0.0-b/set_ld.c
1622--- mpfr-3.0.0-a/set_ld.c 2010-06-10 11:00:14.000000000 +0000
1623+++ mpfr-3.0.0-b/set_ld.c 2010-10-21 21:18:26.000000000 +0000
1624@@ -102,21 +102,25 @@
1625 {
1626 x /= div13; /* exact */
1627 shift_exp += 8192;
1628+ mpfr_div_2si (t, t, 8192, MPFR_RNDZ);
1629 }
1630 if (ABS (x) >= div12)
1631 {
1632 x /= div12; /* exact */
1633 shift_exp += 4096;
1634+ mpfr_div_2si (t, t, 4096, MPFR_RNDZ);
1635 }
1636 if (ABS (x) >= div11)
1637 {
1638 x /= div11; /* exact */
1639 shift_exp += 2048;
1640+ mpfr_div_2si (t, t, 2048, MPFR_RNDZ);
1641 }
1642 if (ABS (x) >= div10)
1643 {
1644 x /= div10; /* exact */
1645 shift_exp += 1024;
1646+ mpfr_div_2si (t, t, 1024, MPFR_RNDZ);
1647 }
1648 /* warning: we may have DBL_MAX=2^1024*(1-2^(-53)) < x < 2^1024,
1649 therefore we have one extra exponent reduction step */
1650@@ -124,9 +128,10 @@
1651 {
1652 x /= div9; /* exact */
1653 shift_exp += 512;
1654+ mpfr_div_2si (t, t, 512, MPFR_RNDZ);
1655 }
1656 } /* Check overflow of double */
1657- else
1658+ else /* no overflow on double */
1659 {
1660 long double div9, div10, div11;
1661
1662@@ -149,29 +154,34 @@
1663 {
1664 x /= div13; /* exact */
1665 shift_exp -= 8192;
1666+ mpfr_mul_2si (t, t, 8192, MPFR_RNDZ);
1667 }
1668 if (ABS (x) <= div12)
1669 {
1670 x /= div12; /* exact */
1671 shift_exp -= 4096;
1672+ mpfr_mul_2si (t, t, 4096, MPFR_RNDZ);
1673 }
1674 if (ABS (x) <= div11)
1675 {
1676 x /= div11; /* exact */
1677 shift_exp -= 2048;
1678+ mpfr_mul_2si (t, t, 2048, MPFR_RNDZ);
1679 }
1680 if (ABS (x) <= div10)
1681 {
1682 x /= div10; /* exact */
1683 shift_exp -= 1024;
1684+ mpfr_mul_2si (t, t, 1024, MPFR_RNDZ);
1685 }
1686 if (ABS(x) <= div9)
1687 {
1688 x /= div9; /* exact */
1689 shift_exp -= 512;
1690+ mpfr_mul_2si (t, t, 512, MPFR_RNDZ);
1691 }
1692 }
1693- else
1694+ else /* no underflow */
1695 {
1696 inexact = mpfr_set_d (u, (double) x, MPFR_RNDZ);
1697 MPFR_ASSERTD (inexact == 0);
1698diff -Naurd mpfr-3.0.0-a/tests/tset_ld.c mpfr-3.0.0-b/tests/tset_ld.c
1699--- mpfr-3.0.0-a/tests/tset_ld.c 2010-06-10 11:00:13.000000000 +0000
1700+++ mpfr-3.0.0-b/tests/tset_ld.c 2010-10-21 21:18:26.000000000 +0000
1701@@ -147,12 +147,39 @@
1702 test_fixed_bugs (void)
1703 {
1704 mpfr_t x;
1705- long double d;
1706+ long double l, m;
1707
1708 /* bug found by Steve Kargl (2009-03-14) */
1709 mpfr_init2 (x, 64);
1710 mpfr_set_ui_2exp (x, 1, -16447, MPFR_RNDN);
1711- d = mpfr_get_ld (x, MPFR_RNDN); /* an assertion failed in init2.c:50 */
1712+ mpfr_get_ld (x, MPFR_RNDN); /* an assertion failed in init2.c:50 */
1713+
1714+ /* bug reported by Jakub Jelinek (2010-10-17)
1715+ https://gforge.inria.fr/tracker/?func=detail&aid=11300 */
1716+ mpfr_set_prec (x, MPFR_LDBL_MANT_DIG);
1717+ /* l = 0x1.23456789abcdef0123456789abcdp-914L; */
1718+ l = 8.215640181713713164092636634579e-276;
1719+ mpfr_set_ld (x, l, MPFR_RNDN);
1720+ m = mpfr_get_ld (x, MPFR_RNDN);
1721+ if (m != l)
1722+ {
1723+ printf ("Error in get_ld o set_ld for l=%Le\n", l);
1724+ printf ("Got m=%Le instead of l\n", m);
1725+ exit (1);
1726+ }
1727+
1728+ /* another similar test which failed with extended double precision and the
1729+ generic code for mpfr_set_ld */
1730+ /* l = 0x1.23456789abcdef0123456789abcdp-968L; */
1731+ l = 4.560596445887084662336528403703e-292;
1732+ mpfr_set_ld (x, l, MPFR_RNDN);
1733+ m = mpfr_get_ld (x, MPFR_RNDN);
1734+ if (m != l)
1735+ {
1736+ printf ("Error in get_ld o set_ld for l=%Le\n", l);
1737+ printf ("Got m=%Le instead of l\n", m);
1738+ exit (1);
1739+ }
1740
1741 mpfr_clear (x);
1742 }
1743diff -Naurd mpfr-3.0.0-a/version.c mpfr-3.0.0-b/version.c
1744--- mpfr-3.0.0-a/version.c 2010-10-21 20:59:32.000000000 +0000
1745+++ mpfr-3.0.0-b/version.c 2010-10-21 21:18:26.000000000 +0000
1746@@ -25,5 +25,5 @@
1747 const char *
1748 mpfr_get_version (void)
1749 {
1750- return "3.0.0-p6";
1751+ return "3.0.0-p7";
1752 }
diff --git a/meta-oe/recipes-support/mpfr/mpfr_3.0.0.bb b/meta-oe/recipes-support/mpfr/mpfr_3.0.0.bb
new file mode 100644
index 000000000..cb347c73a
--- /dev/null
+++ b/meta-oe/recipes-support/mpfr/mpfr_3.0.0.bb
@@ -0,0 +1,30 @@
1DESCRIPTION = "A C library for multiple-precision floating-point computations with exact rounding"
2HOMEPAGE = "http://www.mpfr.org/"
3LICENSE="GPLv3&LGPLv3"
4LIC_FILES_CHKSUM = "file://COPYING;md5=d32239bcb673463ab874e80d47fae504 \
5 file://COPYING.LESSER;md5=6a6a8e020838b23406c81b19c1d46df6"
6SECTION = "devel"
7BBCLASSEXTEND = "native nativesdk"
8DEPENDS = "gmp"
9
10inherit autotools
11
12do_fixup() {
13 rm ${S}/PATCHES || true
14}
15
16addtask fixup after do_unpack before do_patch
17
18NATIVE_INSTALL_WORKS = "1"
19PR = "r4"
20
21SRC_URI = "http://www.mpfr.org/${BP}/${BP}.tar.bz2 \
22 file://p4.patch"
23
24# fix build in thumb mode for armv4t
25SRC_URI_append_thumb = " file://long-long-thumb.patch"
26
27EXTRA_OECONF_append_virtclass-native = " --enable-static"
28
29SRC_URI[md5sum] = "f45bac3584922c8004a10060ab1a8f9f"
30SRC_URI[sha256sum] = "8f4e5f9c53536cb798a30455ac429b1f9fc75a0f8af32d6e0ac31ebf1024821f"
diff --git a/meta-oe/recipes-support/nano/nano-2.2.5/ncursesw.includedir.patch b/meta-oe/recipes-support/nano/nano-2.2.5/ncursesw.includedir.patch
new file mode 100644
index 000000000..0f224be39
--- /dev/null
+++ b/meta-oe/recipes-support/nano/nano-2.2.5/ncursesw.includedir.patch
@@ -0,0 +1,12 @@
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..2d52cab88
--- /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 = "r2"
12
13PV_MAJOR = "${@bb.data.getVar('PV',d,1).split('.')[0]}.${@bb.data.getVar('PV',d,1).split('.')[1]}"
14
15SRC_URI = "http://www.nano-editor.org/dist/v${PV_MAJOR}/nano-${PV}.tar.gz"
16
17inherit autotools gettext
18
19EXTRA_OECONF = "--enable-all"
diff --git a/meta-oe/recipes-support/nano/nano_2.2.5.bb b/meta-oe/recipes-support/nano/nano_2.2.5.bb
new file mode 100644
index 000000000..e656f46df
--- /dev/null
+++ b/meta-oe/recipes-support/nano/nano_2.2.5.bb
@@ -0,0 +1,8 @@
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/pidgin/pidgin.inc b/meta-oe/recipes-support/pidgin/pidgin.inc
new file mode 100644
index 000000000..96a2345a2
--- /dev/null
+++ b/meta-oe/recipes-support/pidgin/pidgin.inc
@@ -0,0 +1,88 @@
1DESCRIPTION = "multi-protocol instant messaging client"
2SECTION = "x11/network"
3LICENSE = "GPL"
4DEPENDS = "python startup-notification avahi gtk+ ncurses gnutls virtual/libintl gstreamer dbus"
5INC_PR = "r0"
6
7inherit autotools gettext pkgconfig gconf
8
9EXTRA_OECONF = " \
10 --enable-vv \
11 --disable-perl \
12 --disable-tcl \
13 --disable-gevolution \
14 --disable-schemas-install \
15 --x-includes=${STAGING_INCDIR} \
16 --x-libraries=${STAGING_LIBDIR} \
17 --enable-gnutls=yes \
18 --with-ncurses-headers=${STAGING_INCDIR} \
19 --with-gnutls-includes=${STAGING_INCDIR} \
20 --with-gnutls-libs=${STAGING_LIBDIR} \
21 "
22
23do_configure_prepend() {
24 touch ${S}/po/Makefile
25}
26
27OE_LT_RPATH_ALLOW=":${libdir}/purple-2:"
28OE_LT_RPATH_ALLOW[export]="1"
29
30PACKAGES =+ "libpurple-dbg libpurple-dev libpurple libgnt-dbg libgnt libgnt-dev finch-dbg finch finch-dev ${PN}-data"
31
32LEAD_SONAME = "libpurple.so.0"
33FILES_libpurple = "${libdir}/libpurple*.so.* ${libdir}/purple-2 ${bindir}/purple-* ${sysconfdir}/gconf/schemas/purple* ${datadir}/purple/ca-certs"
34FILES_libpurple-dev = "${libdir}/libpurple*.la \
35 ${libdir}/libpurple*.so \
36 ${libdir}/purple-2/*.la \
37 ${libdir}/purple-2/libjabber.so \
38 ${libdir}/purple-2/liboscar.so \
39 ${datadir}/aclocal"
40FILES_libpurple-dbg += "${libdir}/.debug/libpurple* \
41 ${libdir}/purple-2/.debug"
42FILES_libgnt = "${libdir}/libgnt.so.* ${libdir}/gnt/*.so"
43FILES_libgnt-dev = "${libdir}/gnt/*.la"
44FILES_libgnt-dbg = "${libdir}/gnt/.debug \
45FILES_finch = "${bindir}/finch"
46FILES_finch-dev = "${libdir}/finch/*.la"
47FILES_finch-dbg = "${bindir}/.debug/finch \
48 ${libdir}/finch/.debug"
49
50FILES_${PN} = "${bindir} ${datadir}/${PN} ${libdir}/${PN}/*.so \
51 ${datadir}/applications"
52RRECOMMENDS_${PN} = "${PN}-data libpurple-plugin-ssl-gnutls libpurple-protocol-irc libpurple-protocol-xmpp"
53
54FILES_${PN}-data = "${datadir}/pixmaps ${datadir}/sounds ${datadir}/icons"
55FILES_${PN}-dev += "${libdir}/${PN}/*.la"
56
57PACKAGES_DYNAMIC = "libpurple-protocol-* libpurple-plugin-* pidgin-plugin-* finch-plugin-*"
58
59python populate_packages_prepend () {
60 pidgroot = bb.data.expand('${libdir}/pidgin', d)
61 purple = bb.data.expand('${libdir}/purple-2', d)
62 finch = bb.data.expand('${libdir}/finch', d)
63
64 do_split_packages(d, pidgroot, '^([^l][^i][^b].*)\.so$',
65 output_pattern='pidgin-plugin-%s',
66 description='Pidgin plugin %s',
67 prepend=True, extra_depends='')
68
69 do_split_packages(d, purple, '^lib(.*)\.so$',
70 output_pattern='libpurple-protocol-%s',
71 description='Libpurple protocol plugin for %s',
72 prepend=True, extra_depends='')
73
74 do_split_packages(d, purple, '^(ssl-.*)\.so$',
75 output_pattern='libpurple-plugin-%s',
76 description='libpurple plugin %s',
77 prepend=True, extra_depends='libpurple-plugin-ssl')
78
79 do_split_packages(d, purple, '^([^l][^i][^b].*)\.so$',
80 output_pattern='libpurple-plugin-%s',
81 description='libpurple plugin %s',
82 prepend=True, extra_depends='')
83
84 do_split_packages(d, finch, '^([^l][^i][^b].*)\.so$',
85 output_pattern='finch-plugin-%s',
86 description='Finch plugin %s',
87 prepend=True, extra_depends='')
88}
diff --git a/meta-oe/recipes-support/pidgin/pidgin/pidgin-cross-python-265.patch b/meta-oe/recipes-support/pidgin/pidgin/pidgin-cross-python-265.patch
new file mode 100644
index 000000000..57c4c4681
--- /dev/null
+++ b/meta-oe/recipes-support/pidgin/pidgin/pidgin-cross-python-265.patch
@@ -0,0 +1,16 @@
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.7.9.bb b/meta-oe/recipes-support/pidgin/pidgin_2.7.9.bb
new file mode 100644
index 000000000..d5527ea91
--- /dev/null
+++ b/meta-oe/recipes-support/pidgin/pidgin_2.7.9.bb
@@ -0,0 +1,22 @@
1require pidgin.inc
2PR = "${INC_PR}.0"
3
4DEPENDS += "farsight2 libidn"
5
6SRC_URI = "\
7 ${SOURCEFORGE_MIRROR}/pidgin/pidgin-${PV}.tar.bz2 \
8 file://sanitize-configure.ac.patch \
9 file://pidgin.desktop-set-icon.patch \
10 file://purple-OE-branding-25.patch \
11 file://pidgin-cross-python-265.patch \
12"
13
14SRC_URI[md5sum] = "9bc6cf953ed7d383b215fa8487bf8829"
15SRC_URI[sha256sum] = "9722d7f199a6704e29900c80f270d9409d5c28caab77f495b68108d81ba3e19e"
16
17EXTRA_OECONF += "\
18 --disable-gtkspell \
19 --disable-meanwhile \
20 --disable-nm \
21 --disable-screensaver \
22"
diff --git a/meta-oe/recipes-support/poppler/poppler-data_0.4.0.bb b/meta-oe/recipes-support/poppler/poppler-data_0.4.0.bb
new file mode 100644
index 000000000..e3fd54b72
--- /dev/null
+++ b/meta-oe/recipes-support/poppler/poppler-data_0.4.0.bb
@@ -0,0 +1,24 @@
1DESCRIPTION = "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
8PR = "r1"
9
10SRC_URI = "http://poppler.freedesktop.org/${PN}-${PV}.tar.gz"
11
12do_compile() {
13}
14
15do_install() {
16 oe_runmake install DESTDIR=${D}
17}
18
19FILES_${PN} += "${datadir}"
20PACKAGE_ARCH = "all"
21
22
23SRC_URI[md5sum] = "6975bf8e9ea2cfb42b9ecdbcc257cf57"
24SRC_URI[sha256sum] = "5caf7e10b7b0c6a4e1e753af09be52224e88bb8fbcb47794ad72b99b9e24b109"
diff --git a/meta-oe/recipes-support/poppler/poppler-fpu.inc b/meta-oe/recipes-support/poppler/poppler-fpu.inc
new file mode 100644
index 000000000..a26273020
--- /dev/null
+++ b/meta-oe/recipes-support/poppler/poppler-fpu.inc
@@ -0,0 +1,6 @@
1
2def get_poppler_fpu_setting(bb, d):
3 if bb.data.getVar('TARGET_FPU', d, 1) in [ 'soft' ]:
4 return "--enable-fixedpoint"
5 return ""
6
diff --git a/meta-oe/recipes-support/poppler/poppler.inc b/meta-oe/recipes-support/poppler/poppler.inc
new file mode 100644
index 000000000..85c398316
--- /dev/null
+++ b/meta-oe/recipes-support/poppler/poppler.inc
@@ -0,0 +1,25 @@
1DESCRIPTION = "Poppler is a PDF rendering library based on the xpdf-3.0 code base."
2DEPENDS = "fontconfig jpeg zlib gtk+ cairo"
3LICENSE = "GPLv2"
4LIC_FILES_CHKSUM = "file://COPYING;md5=751419260aa954499f7abaabaa882bbe"
5
6SRC_URI = "http://poppler.freedesktop.org/${PN}-${PV}.tar.gz"
7
8inherit autotools pkgconfig
9
10EXTRA_OECONF = "\
11 --enable-xpdf-headers \
12 --disable-gtk-test \
13 --disable-poppler-qt \
14 --disable-poppler-qt4 \
15 --enable-zlib \
16"
17
18# check for TARGET_FPU=soft and inform configure of the result so it can disable some floating points
19require poppler-fpu.inc
20EXTRA_OECONF += "${@get_poppler_fpu_setting(bb, d)}"
21
22PACKAGES =+ "libpoppler libpoppler-glib"
23FILES_libpoppler = "${libdir}/libpoppler.so.*"
24FILES_libpoppler-glib = "${libdir}/libpoppler-glib.so.*"
25
diff --git a/meta-oe/recipes-support/poppler/poppler_0.12.3.bb b/meta-oe/recipes-support/poppler/poppler_0.12.3.bb
new file mode 100644
index 000000000..ce1952e1e
--- /dev/null
+++ b/meta-oe/recipes-support/poppler/poppler_0.12.3.bb
@@ -0,0 +1,10 @@
1require poppler.inc
2
3DEPENDS += "lcms"
4
5EXTRA_OECONF_append = " --disable-abiword-output "
6
7RDEPENDS_${PN} = "poppler-data"
8
9SRC_URI[md5sum] = "d0ca8344d8d94e27aaba6d432688365d"
10SRC_URI[sha256sum] = "7a4ffe6d2950c446c285700d3b2dc399540a27ce635dd712aff646f02f8dfbcc"
diff --git a/meta-oe/recipes-support/samsung-soc-utils/s3c24xx-gpio_svn.bb b/meta-oe/recipes-support/samsung-soc-utils/s3c24xx-gpio_svn.bb
new file mode 100644
index 000000000..b813f76b1
--- /dev/null
+++ b/meta-oe/recipes-support/samsung-soc-utils/s3c24xx-gpio_svn.bb
@@ -0,0 +1,19 @@
1DESCRIPTION = "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 = "GPL"
5SRCREV = "4949"
6PV = "1.0+svnr${SRCPV}"
7PR = "r2"
8
9SRC_URI = "svn://svn.openmoko.org/trunk/src/target;module=gpio;proto=http"
10S = "${WORKDIR}/gpio"
11
12do_compile() {
13 ${CC} ${CFLAGS} ${LDFLAGS} -static -o ${PN} gpio.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/s3c64xx-gpio_svn.bb b/meta-oe/recipes-support/samsung-soc-utils/s3c64xx-gpio_svn.bb
new file mode 100644
index 000000000..f8ca7947f
--- /dev/null
+++ b/meta-oe/recipes-support/samsung-soc-utils/s3c64xx-gpio_svn.bb
@@ -0,0 +1,19 @@
1DESCRIPTION = "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 = "GPL"
5SRCREV = "4949"
6PV = "1.0+svnr${SRCPV}"
7PR = "r0"
8
9SRC_URI = "svn://svn.openmoko.org/trunk/src/target;module=gpio;proto=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..b71231617
--- /dev/null
+++ b/meta-oe/recipes-support/samsung-soc-utils/sjf2410-linux-native_svn.bb
@@ -0,0 +1,34 @@
1DESCRIPTION = "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;proto=http"
11S = "${WORKDIR}/sjf2410-linux"
12
13inherit native deploy
14do_deploy[sstate-outputdirs] = "${DEPLOY_DIR_TOOLS}"
15
16CFLAGS += "-DLINUX_PPDEV"
17
18NATIVE_INSTALL_WORKS = "1"
19
20do_compile() {
21 oe_runmake
22}
23
24do_install() {
25 install -d ${D}/${bindir}
26 install -m 0755 sjf2410 ${D}/${bindir}
27}
28
29do_deploy() {
30 install -d ${DEPLOY_DIR_TOOLS}
31 install -m 0755 sjf2410 ${DEPLOY_DIR_TOOLS}/sjf2410-${PV}
32}
33
34addtask deploy before do_build after do_install
diff --git a/meta-oe/recipes-support/talloc/talloc_2.0.1.bb b/meta-oe/recipes-support/talloc/talloc_2.0.1.bb
new file mode 100644
index 000000000..a69bd401e
--- /dev/null
+++ b/meta-oe/recipes-support/talloc/talloc_2.0.1.bb
@@ -0,0 +1,27 @@
1DESCRIPTION = "Hierarchical, reference counted memory pool system with destructors"
2HOMEPAGE = "http://talloc.samba.org"
3LICENSE = "LGPL"
4LIC_FILES_CHKSUM = "file://NEWS;md5=5fe776b23a711c9153ee94bc87e47334"
5
6inherit autotools pkgconfig
7
8SRC_URI = "http://samba.org/ftp/${BPN}/${BPN}-${PV}.tar.gz"
9SRC_URI[md5sum] = "c6e736540145ca58cb3dcb42f91cf57b"
10SRC_URI[sha256sum] = "5b810527405f29d54f50efd78bf2c89e318f2cd8bed001f22f2a1412fd27c9b4"
11
12TARGET_CC_ARCH += "${LDFLAGS}"
13
14PR = "r1"
15
16# autoreconf doesn't work well while reconfiguring included libreplace
17do_configure () {
18 gnu-configize
19 oe_runconf
20}
21
22do_install_append() {
23 install -d ${D}${libdir}
24 ln -s libtalloc.so.2.0.1 ${D}${libdir}/libtalloc.so.2.0
25 ln -s libtalloc.so.2.0 ${D}${libdir}/libtalloc.so.2
26 ln -s libtalloc.so.2 ${D}${libdir}/libtalloc.so
27}
diff --git a/meta-oe/recipes-support/tangogps/tangogps.inc b/meta-oe/recipes-support/tangogps/tangogps.inc
new file mode 100644
index 000000000..436fe07db
--- /dev/null
+++ b/meta-oe/recipes-support/tangogps/tangogps.inc
@@ -0,0 +1,15 @@
1DESCRIPTION = "tangoGPS is a map and GPS application using Openstreetmap"
2AUTHOR = "Marcus Bauer <marcus.bauer@gmail.com>"
3HOMEPAGE = "http://tangogps.org/"
4SECTION = "x11/applications"
5LICENSE = "GPLv2"
6PRIORITY = "optional"
7DEPENDS = "curl gtk+ gconf sqlite3 libexif libsoup-2.4"
8
9SRC_URI = "http://www.tangogps.org/downloads/tangogps-${PV}.tar.gz;name=archive"
10S = "${WORKDIR}/tangogps-${PV}"
11
12inherit autotools pkgconfig
13
14RRECOMMENDS_${PN} = "gpsd"
15RRECOMMENDS_shr = "fso-gpsd"
diff --git a/meta-oe/recipes-support/tangogps/tangogps_0.99.4.bb b/meta-oe/recipes-support/tangogps/tangogps_0.99.4.bb
new file mode 100644
index 000000000..ab682f3cf
--- /dev/null
+++ b/meta-oe/recipes-support/tangogps/tangogps_0.99.4.bb
@@ -0,0 +1,4 @@
1require tangogps.inc
2
3SRC_URI[archive.md5sum] = "0f07ede94a21eb84f5e017fa88a1fc3d"
4SRC_URI[archive.sha256sum] = "660fdf89ef3c379f2fc0c2a9d0c9d3bfa5345835786b72bf9f513ba9ec2c812a"
diff --git a/meta-oe/recipes-support/usbpath/usbpath_svn.bb b/meta-oe/recipes-support/usbpath/usbpath_svn.bb
new file mode 100644
index 000000000..594126750
--- /dev/null
+++ b/meta-oe/recipes-support/usbpath/usbpath_svn.bb
@@ -0,0 +1,19 @@
1DESCRIPTION = "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;proto=http"
15
16S = "${WORKDIR}/usbpath"
17
18inherit autotools
19
diff --git a/meta-oe/recipes-support/vala-terminal/vala-terminal_git.bb b/meta-oe/recipes-support/vala-terminal/vala-terminal_git.bb
new file mode 100644
index 000000000..1900b6fcb
--- /dev/null
+++ b/meta-oe/recipes-support/vala-terminal/vala-terminal_git.bb
@@ -0,0 +1,18 @@
1DESCRIPTION = "A lightweight Terminal Emulator based on libvte, written in Vala."
2SECTION = "x11/applications"
3DEPENDS = "vala-native vte"
4SRCREV = "6cfb8bf8eb1a3812e39fac10a4810b6680fa066a"
5LICENSE = "GPLv2"
6LIC_FILES_CHKSUM = "file://COPYING;md5=59530bdf33659b29e73d4adb9f9f6552"
7PV = "1.1.1+gitr${SRCPV}"
8PE = "1"
9PR = "r1"
10
11inherit autotools
12
13SRC_URI = "${FREESMARTPHONE_GIT}/vala-terminal.git;protocol=git;branch=master"
14S = "${WORKDIR}/git"
15
16RDEPENDS_${PN} = "ttf-liberation-mono"
17RREPLACES_${PN} = "openmoko-terminal2"
18RPROVIDES_${PN} = "openmoko-terminal2"
diff --git a/meta-oe/recipes-support/wmiconfig/wmiconfig_svn.bb b/meta-oe/recipes-support/wmiconfig/wmiconfig_svn.bb
new file mode 100644
index 000000000..a1ee6718e
--- /dev/null
+++ b/meta-oe/recipes-support/wmiconfig/wmiconfig_svn.bb
@@ -0,0 +1,20 @@
1DESCRIPTION = "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 = "r1"
8
9SRC_URI = "svn://svn.openmoko.org/trunk/src/target;module=AR6kSDK.build_sw.18;proto=http"
10S = "${WORKDIR}/AR6kSDK.build_sw.18/host/tools/wmiconfig"
11
12export CC := "${CC}"
13
14TARGET_CC_ARCH += "${LDFLAGS}"
15
16do_install() {
17 install -d ${D}${bindir}
18 install -m 0755 wmiconfig ${D}${bindir}
19}
20